From f99f6731a2240bf9d85677ae502bfb8914ee35f3 Mon Sep 17 00:00:00 2001 From: root Date: Sun, 8 Oct 2023 17:44:34 +0800 Subject: [PATCH] Initial commit --- .gitignore | 2 + .idea/.gitignore | 8 + .idea/.name | 1 + .idea/compiler.xml | 13 + .idea/encodings.xml | 6 + .idea/jarRepositories.xml | 20 + .idea/misc.xml | 11 + .idea/modules.xml | 8 + .idea/vcs.xml | 6 + Chat.txt | 0 Dockerfile | 17 + ErrorCodes.txt | 134 + LICENSE.md | 7 + README.md | 1 + bin/classes/hibernate.cfg.xml | 44 + bin/classes/log4j.properties | 19 + .../net/swordie/ms/Server$ShutDownTask.class | Bin 0 -> 2353 bytes bin/classes/net/swordie/ms/Server.class | Bin 0 -> 16884 bytes bin/classes/net/swordie/ms/ServerConfig.class | Bin 0 -> 963 bytes .../net/swordie/ms/ServerConstants.class | Bin 0 -> 2446 bytes bin/classes/net/swordie/ms/ServerStatus.class | Bin 0 -> 1269 bytes .../net/swordie/ms/client/Account.class | Bin 0 -> 20044 bytes .../net/swordie/ms/client/Client.class | Bin 0 -> 7948 bytes .../net/swordie/ms/client/LinkSkill.class | Bin 0 -> 2226 bytes bin/classes/net/swordie/ms/client/User.class | Bin 0 -> 14429 bytes .../swordie/ms/client/alliance/Alliance.class | Bin 0 -> 7408 bytes .../ms/client/alliance/AllianceResult$1.class | Bin 0 -> 1690 bytes .../ms/client/alliance/AllianceResult.class | Bin 0 -> 6989 bytes .../ms/client/anticheat/Offense$Type.class | Bin 0 -> 1584 bytes .../swordie/ms/client/anticheat/Offense.class | Bin 0 -> 4121 bytes .../ms/client/anticheat/OffenseManager.class | Bin 0 -> 5861 bytes .../ms/client/character/BroadcastMsg$1.class | Bin 0 -> 1894 bytes .../ms/client/character/BroadcastMsg.class | Bin 0 -> 7933 bytes .../swordie/ms/client/character/Char$1.class | Bin 0 -> 2544 bytes .../swordie/ms/client/character/Char.class | Bin 0 -> 193639 bytes .../ms/client/character/CharacterStat.class | Bin 0 -> 16818 bytes .../ms/client/character/CoupleRecord.class | Bin 0 -> 2120 bytes .../ms/client/character/EventCoolDown.class | Bin 0 -> 1562 bytes .../ms/client/character/ExtendSP.class | Bin 0 -> 4851 bytes .../ms/client/character/FarmPotential.class | Bin 0 -> 1015 bytes .../ms/client/character/HyperTPRock.class | Bin 0 -> 1455 bytes .../swordie/ms/client/character/ItemPot.class | Bin 0 -> 481 bytes .../ms/client/character/LikePoint.class | Bin 0 -> 1602 bytes .../swordie/ms/client/character/Macro.class | Bin 0 -> 2299 bytes .../ms/client/character/MarriageRecord.class | Bin 0 -> 2615 bytes .../ms/client/character/MiniGameRecord.class | Bin 0 -> 2139 bytes .../ms/client/character/MiniRoom.class | Bin 0 -> 2792 bytes .../client/character/MonsterCollection.class | Bin 0 -> 12024 bytes .../MonsterCollectionExploration.class | Bin 0 -> 3606 bytes .../character/MonsterCollectionReward.class | Bin 0 -> 1218 bytes .../ms/client/character/MonsterPark.class | Bin 0 -> 4867 bytes .../character/NonCombatStatDayLimit.class | Bin 0 -> 3665 bytes .../ms/client/character/PortableChair.class | Bin 0 -> 6140 bytes .../swordie/ms/client/character/Ranking.class | Bin 0 -> 1614 bytes .../client/character/RunnerGameRecord.class | Bin 0 -> 2260 bytes .../swordie/ms/client/character/SPSet.class | Bin 0 -> 1373 bytes .../ms/client/character/TradeRoom.class | Bin 0 -> 6573 bytes .../client/character/avatar/AvatarData.class | Bin 0 -> 2759 bytes .../client/character/avatar/AvatarLook.class | Bin 0 -> 14605 bytes .../client/character/avatar/BeautyAlbum.class | Bin 0 -> 1779 bytes .../ms/client/character/b2body/B2Body.class | Bin 0 -> 3431 bytes .../character/cards/CharacterCard.class | Bin 0 -> 1922 bytes .../character/cards/MonsterBookInfo.class | Bin 0 -> 2351 bytes .../character/commands/AdminCommand.class | Bin 0 -> 550 bytes .../commands/AdminCommands$AmountOnline.class | Bin 0 -> 2798 bytes .../character/commands/AdminCommands$Ap.class | Bin 0 -> 1241 bytes .../commands/AdminCommands$ArcherEquips.class | Bin 0 -> 1482 bytes .../commands/AdminCommands$Atom.class | Bin 0 -> 2880 bytes .../commands/AdminCommands$Ban.class | Bin 0 -> 5021 bytes .../commands/AdminCommands$BannerNotice.class | Bin 0 -> 1536 bytes .../commands/AdminCommands$BossCd.class | Bin 0 -> 1096 bytes .../AdminCommands$BroadcastMessage.class | Bin 0 -> 2030 bytes .../AdminCommands$BypassSkillCD.class | Bin 0 -> 2605 bytes .../commands/AdminCommands$CheckGift.class | Bin 0 -> 1626 bytes .../commands/AdminCommands$CheckId.class | Bin 0 -> 1714 bytes .../commands/AdminCommands$CheckNXValue.class | Bin 0 -> 1694 bytes .../commands/AdminCommands$ChrPosition.class | Bin 0 -> 1552 bytes .../commands/AdminCommands$ClearDrops.class | Bin 0 -> 1793 bytes .../commands/AdminCommands$ClearInv.class | Bin 0 -> 2228 bytes .../commands/AdminCommands$CloseUI.class | Bin 0 -> 1342 bytes .../AdminCommands$CompleteQuest.class | Bin 0 -> 1247 bytes .../commands/AdminCommands$CtsCom.class | Bin 0 -> 2854 bytes .../commands/AdminCommands$CurrentHp.class | Bin 0 -> 1365 bytes .../commands/AdminCommands$CurrentMp.class | Bin 0 -> 1365 bytes .../commands/AdminCommands$DebugMode.class | Bin 0 -> 1722 bytes .../commands/AdminCommands$Dispose.class | Bin 0 -> 4112 bytes .../commands/AdminCommands$Done.class | Bin 0 -> 1412 bytes .../commands/AdminCommands$DpCommand.class | Bin 0 -> 1886 bytes .../commands/AdminCommands$DropItem.class | Bin 0 -> 1252 bytes .../AdminCommands$EnterSkillInfoMode.class | Bin 0 -> 1773 bytes .../commands/AdminCommands$EquipInfo.class | Bin 0 -> 3060 bytes .../commands/AdminCommands$FindPlayer.class | Bin 0 -> 2337 bytes .../commands/AdminCommands$FindPortal.class | Bin 0 -> 3276 bytes .../commands/AdminCommands$ForceChase.class | Bin 0 -> 1950 bytes .../commands/AdminCommands$FromHex.class | Bin 0 -> 2315 bytes .../commands/AdminCommands$FromHexBE.class | Bin 0 -> 2077 bytes .../commands/AdminCommands$GetItem.class | Bin 0 -> 5124 bytes .../commands/AdminCommands$GetNPCs.class | Bin 0 -> 2035 bytes ...AdminCommands$GetPhantomStolenSkills.class | Bin 0 -> 3157 bytes .../AdminCommands$GetProjectiles.class | Bin 0 -> 2189 bytes .../commands/AdminCommands$GetSkill.class | Bin 0 -> 1423 bytes .../commands/AdminCommands$GiftBox.class | Bin 0 -> 3477 bytes .../commands/AdminCommands$GoTo.class | Bin 0 -> 6383 bytes .../commands/AdminCommands$Godmode.class | Bin 0 -> 2607 bytes .../commands/AdminCommands$Heal.class | Bin 0 -> 1202 bytes .../commands/AdminCommands$Help.class | Bin 0 -> 2979 bytes .../commands/AdminCommands$Hide.class | Bin 0 -> 1324 bytes .../character/commands/AdminCommands$Hp.class | Bin 0 -> 1279 bytes .../commands/AdminCommands$HyperTP.class | Bin 0 -> 1955 bytes .../commands/AdminCommands$Job.class | Bin 0 -> 2588 bytes .../commands/AdminCommands$KillMobs.class | Bin 0 -> 1660 bytes .../character/commands/AdminCommands$LD.class | Bin 0 -> 2181 bytes .../commands/AdminCommands$Level.class | Bin 0 -> 1967 bytes .../commands/AdminCommands$LevelUntil.class | Bin 0 -> 2897 bytes .../AdminCommands$LookUpReactor.class | Bin 0 -> 2152 bytes .../commands/AdminCommands$Lookup.class | Bin 0 -> 9269 bytes .../commands/AdminCommands$MageEquips.class | Bin 0 -> 1470 bytes .../commands/AdminCommands$MaxSkills.class | Bin 0 -> 3588 bytes .../commands/AdminCommands$Mesos.class | Bin 0 -> 1095 bytes .../AdminCommands$MobController.class | Bin 0 -> 2269 bytes .../commands/AdminCommands$MobInfo.class | Bin 0 -> 4550 bytes .../commands/AdminCommands$MobStatTest.class | Bin 0 -> 2455 bytes .../commands/AdminCommands$Morph.class | Bin 0 -> 2179 bytes .../commands/AdminCommands$Mount.class | Bin 0 -> 2514 bytes .../character/commands/AdminCommands$Mp.class | Bin 0 -> 1279 bytes .../commands/AdminCommands$NPC.class | Bin 0 -> 2837 bytes .../AdminCommands$NearestPortal.class | Bin 0 -> 3331 bytes .../commands/AdminCommands$NpcInfo.class | Bin 0 -> 4006 bytes .../commands/AdminCommands$NxCommand.class | Bin 0 -> 1103 bytes .../commands/AdminCommands$OpenUI.class | Bin 0 -> 1344 bytes .../commands/AdminCommands$PNPC.class | Bin 0 -> 4072 bytes .../commands/AdminCommands$PirateEquips.class | Bin 0 -> 1493 bytes .../commands/AdminCommands$Players.class | Bin 0 -> 2699 bytes .../commands/AdminCommands$ProItem.class | Bin 0 -> 3010 bytes .../commands/AdminCommands$ReloadCS.class | Bin 0 -> 1039 bytes .../AdminCommands$RemoteEnterFieldTest.class | Bin 0 -> 4004 bytes .../commands/AdminCommands$RemoveDrops.class | Bin 0 -> 2199 bytes .../commands/AdminCommands$RemoveGift.class | Bin 0 -> 1862 bytes .../commands/AdminCommands$RemoveQuest.class | Bin 0 -> 1237 bytes .../commands/AdminCommands$RotateCamera.class | Bin 0 -> 1447 bytes .../commands/AdminCommands$SaveMap.class | Bin 0 -> 3809 bytes .../commands/AdminCommands$SendQRValue.class | Bin 0 -> 2928 bytes .../AdminCommands$SetArcaneForce.class | Bin 0 -> 1659 bytes .../AdminCommands$SetBonusPotential.class | Bin 0 -> 2011 bytes .../AdminCommands$SetController.class | Bin 0 -> 1949 bytes .../commands/AdminCommands$SetCurrentHp.class | Bin 0 -> 1289 bytes .../commands/AdminCommands$SetCurrentMp.class | Bin 0 -> 1289 bytes .../AdminCommands$SetDamageSkin.class | Bin 0 -> 2833 bytes .../commands/AdminCommands$SetFlame.class | Bin 0 -> 3867 bytes .../commands/AdminCommands$SetFlames.class | Bin 0 -> 2445 bytes .../commands/AdminCommands$SetGuildStat.class | Bin 0 -> 1868 bytes .../commands/AdminCommands$SetHonor.class | Bin 0 -> 1570 bytes .../commands/AdminCommands$SetMap.class | Bin 0 -> 2173 bytes .../commands/AdminCommands$SetPortal.class | Bin 0 -> 2026 bytes .../commands/AdminCommands$SetPotential.class | Bin 0 -> 1972 bytes .../commands/AdminCommands$SetStat.class | Bin 0 -> 1718 bytes .../commands/AdminCommands$Shop.class | Bin 0 -> 1120 bytes .../commands/AdminCommands$ShowBuffs.class | Bin 0 -> 3538 bytes .../AdminCommands$ShowDamageCalc.class | Bin 0 -> 1549 bytes .../AdminCommands$ShowFootholds.class | Bin 0 -> 2163 bytes .../commands/AdminCommands$ShowInvInfo.class | Bin 0 -> 2784 bytes .../character/commands/AdminCommands$Sp.class | Bin 0 -> 2143 bytes .../commands/AdminCommands$Spawn.class | Bin 0 -> 2907 bytes .../AdminCommands$StarForceEquip.class | Bin 0 -> 2385 bytes .../commands/AdminCommands$StartQuest.class | Bin 0 -> 2496 bytes .../AdminCommands$StartScriptTest.class | Bin 0 -> 2350 bytes .../commands/AdminCommands$Stats.class | Bin 0 -> 2921 bytes .../AdminCommands$StealSkillList.class | Bin 0 -> 3858 bytes .../commands/AdminCommands$Teleport.class | Bin 0 -> 1524 bytes .../AdminCommands$TestAffectedArea.class | Bin 0 -> 2124 bytes .../commands/AdminCommands$TestCTS.class | Bin 0 -> 3995 bytes .../commands/AdminCommands$TestDrop.class | Bin 0 -> 2470 bytes .../commands/AdminCommands$TestGift.class | Bin 0 -> 2400 bytes .../commands/AdminCommands$TestPacket.class | Bin 0 -> 1539 bytes .../commands/AdminCommands$TestParty.class | Bin 0 -> 1938 bytes .../commands/AdminCommands$TestTempStat.class | Bin 0 -> 2023 bytes .../commands/AdminCommands$ThiefEquips.class | Bin 0 -> 1476 bytes .../commands/AdminCommands$ToHex.class | Bin 0 -> 1290 bytes .../AdminCommands$ToggleDamageCap.class | Bin 0 -> 1105 bytes .../AdminCommands$UseBonusSkill.class | Bin 0 -> 1382 bytes .../AdminCommands$UseRandAreaSkill.class | Bin 0 -> 1724 bytes .../character/commands/AdminCommands$V.class | Bin 0 -> 1183 bytes .../commands/AdminCommands$VpCommand.class | Bin 0 -> 1253 bytes .../commands/AdminCommands$WarpHere.class | Bin 0 -> 1784 bytes .../commands/AdminCommands$WarpToPlayer.class | Bin 0 -> 3070 bytes .../AdminCommands$WarriorEquips.class | Bin 0 -> 1557 bytes .../character/commands/AdminCommands$dc.class | Bin 0 -> 1590 bytes .../commands/AdminCommands$giveNx.class | Bin 0 -> 1348 bytes .../commands/AdminCommands$givedp.class | Bin 0 -> 1339 bytes .../commands/AdminCommands$maplepoints.class | Bin 0 -> 1215 bytes .../commands/AdminCommands$maxskills2.class | Bin 0 -> 2224 bytes .../commands/AdminCommands$setPierce.class | Bin 0 -> 2188 bytes .../character/commands/AdminCommands.class | Bin 0 -> 12366 bytes .../client/character/commands/Command.class | Bin 0 -> 495 bytes .../client/character/commands/ICommand.class | Bin 0 -> 509 bytes .../character/commands/PlayerCommand.class | Bin 0 -> 553 bytes .../commands/PlayerCommands$FifthJob.class | Bin 0 -> 1415 bytes .../commands/PlayerCommands$Help.class | Bin 0 -> 2350 bytes .../commands/PlayerCommands$Instance.class | Bin 0 -> 1320 bytes .../commands/PlayerCommands$MobInfo.class | Bin 0 -> 4555 bytes .../PlayerCommands$OpenNodestone.class | Bin 0 -> 5410 bytes .../commands/PlayerCommands$SellItem.class | Bin 0 -> 1368 bytes .../commands/PlayerCommands$check.class | Bin 0 -> 2343 bytes .../commands/PlayerCommands$jobAdvance.class | Bin 0 -> 1307 bytes .../commands/PlayerCommands$marvel.class | Bin 0 -> 1275 bytes .../commands/PlayerCommands$save.class | Bin 0 -> 1699 bytes .../character/commands/PlayerCommands.class | Bin 0 -> 1502 bytes .../character/damage/DamageCalc$1.class | Bin 0 -> 2469 bytes .../client/character/damage/DamageCalc.class | Bin 0 -> 15834 bytes .../character/damage/DamageSkinSaveData.class | Bin 0 -> 2767 bytes .../character/damage/DamageSkinType.class | Bin 0 -> 3047 bytes .../ms/client/character/damage/Rand32.class | Bin 0 -> 1790 bytes .../character/info/ExpIncreaseInfo.class | Bin 0 -> 10273 bytes .../client/character/info/FarmUserInfo.class | Bin 0 -> 2918 bytes .../character/info/FreezeHotEventInfo.class | Bin 0 -> 1071 bytes .../ms/client/character/info/HitInfo.class | Bin 0 -> 2001 bytes .../ms/client/character/info/ZeroInfo.class | Bin 0 -> 5155 bytes .../ms/client/character/items/BodyPart.class | Bin 0 -> 10548 bytes .../ms/client/character/items/BossSoul.class | Bin 0 -> 1133 bytes .../client/character/items/DressUpInfo.class | Bin 0 -> 2170 bytes .../ms/client/character/items/Equip$1.class | Bin 0 -> 4713 bytes .../ms/client/character/items/Equip.class | Bin 0 -> 47451 bytes .../character/items/EquipAttribute.class | Bin 0 -> 2291 bytes .../client/character/items/EquipPrefix.class | Bin 0 -> 7129 bytes .../items/EquipSpecialAttribute.class | Bin 0 -> 2007 bytes .../character/items/ExpConsumeItem.class | Bin 0 -> 1583 bytes .../character/items/HotTimeReward.class | Bin 0 -> 3664 bytes .../ms/client/character/items/Inventory.class | Bin 0 -> 9907 bytes .../ms/client/character/items/Item$Type.class | Bin 0 -> 2871 bytes .../ms/client/character/items/Item.class | Bin 0 -> 8072 bytes .../client/character/items/ItemBuffs$1.class | Bin 0 -> 3967 bytes .../ms/client/character/items/ItemBuffs.class | Bin 0 -> 6475 bytes .../items/ItemOption$ItemOptionType.class | Bin 0 -> 1778 bytes .../client/character/items/ItemOption.class | Bin 0 -> 6210 bytes .../client/character/items/ItemPotSlot.class | Bin 0 -> 692 bytes .../ms/client/character/items/ItemSkill.class | Bin 0 -> 759 bytes .../ms/client/character/items/ItemState.class | Bin 0 -> 1942 bytes .../character/items/MemorialCubeInfo.class | Bin 0 -> 1799 bytes .../ms/client/character/items/PetItem.class | Bin 0 -> 6838 bytes .../client/character/items/RequiredJob.class | Bin 0 -> 1620 bytes .../character/items/ScrollUpgradeInfo$1.class | Bin 0 -> 882 bytes .../character/items/ScrollUpgradeInfo.class | Bin 0 -> 5927 bytes .../ms/client/character/keys/FuncKeyMap.class | Bin 0 -> 5266 bytes .../ms/client/character/keys/Keymapping.class | Bin 0 -> 1515 bytes .../monsterbattle/MonsterBattleLadder.class | Bin 0 -> 545 bytes .../monsterbattle/MonsterBattleMobInfo.class | Bin 0 -> 548 bytes .../monsterbattle/MonsterBattleRankInfo.class | Bin 0 -> 551 bytes .../potential/CharacterPotential.class | Bin 0 -> 3070 bytes .../potential/CharacterPotentialMan.class | Bin 0 -> 7020 bytes .../ms/client/character/quest/Quest.class | Bin 0 -> 13652 bytes .../ms/client/character/quest/QuestEx.class | Bin 0 -> 3509 bytes .../client/character/quest/QuestManager.class | Bin 0 -> 11216 bytes .../QuestProgressItemRequirement.class | Bin 0 -> 2219 bytes .../QuestProgressLevelRequirement.class | Bin 0 -> 1997 bytes .../QuestProgressMobRequirement.class | Bin 0 -> 2800 bytes .../QuestProgressMoneyRequirement.class | Bin 0 -> 2091 bytes .../progress/QuestProgressRequirement.class | Bin 0 -> 1511 bytes .../QuestProgressRequirementType$1.class | Bin 0 -> 1021 bytes .../QuestProgressRequirementType.class | Bin 0 -> 4443 bytes .../progress/QuestValueRequirement.class | Bin 0 -> 212 bytes .../QuestStartCompletionRequirement.class | Bin 0 -> 2711 bytes .../QuestStartItemRequirement.class | Bin 0 -> 1864 bytes .../QuestStartJobRequirement.class | Bin 0 -> 2215 bytes .../QuestStartMarriageRequirement.class | Bin 0 -> 1073 bytes .../QuestStartMaxLevelRequirement.class | Bin 0 -> 1492 bytes .../QuestStartMinStatRequirement.class | Bin 0 -> 2031 bytes .../requirement/QuestStartRequirement.class | Bin 0 -> 289 bytes .../QuestStartRequirementType$1.class | Bin 0 -> 1121 bytes .../QuestStartRequirementType.class | Bin 0 -> 4835 bytes .../quest/reward/QuestBuffItemReward.class | Bin 0 -> 2031 bytes .../quest/reward/QuestExpReward.class | Bin 0 -> 1472 bytes .../quest/reward/QuestItemReward.class | Bin 0 -> 3208 bytes .../quest/reward/QuestMoneyReward.class | Bin 0 -> 1486 bytes .../quest/reward/QuestPopReward.class | Bin 0 -> 1579 bytes .../character/quest/reward/QuestReward.class | Bin 0 -> 259 bytes .../quest/reward/QuestRewardType$1.class | Bin 0 -> 980 bytes .../quest/reward/QuestRewardType.class | Bin 0 -> 4327 bytes .../character/runestones/RuneStone$1.class | Bin 0 -> 1109 bytes .../runestones/RuneStone$EventType.class | Bin 0 -> 1536 bytes .../character/runestones/RuneStone.class | Bin 0 -> 11914 bytes .../runestones/RuneStoneAckType.class | Bin 0 -> 1489 bytes .../client/character/scene/EffectInfo.class | Bin 0 -> 1983 bytes .../ms/client/character/scene/Scene$1.class | Bin 0 -> 847 bytes .../ms/client/character/scene/Scene.class | Bin 0 -> 6858 bytes .../client/character/skills/ChosenSkill.class | Bin 0 -> 2126 bytes .../ms/client/character/skills/Core.class | Bin 0 -> 1045 bytes .../client/character/skills/ForceAtom$1.class | Bin 0 -> 1825 bytes .../client/character/skills/ForceAtom.class | Bin 0 -> 13367 bytes .../character/skills/GuidedBullet.class | Bin 0 -> 1222 bytes .../skills/LarknessManager$LarknessType.class | Bin 0 -> 1632 bytes .../character/skills/LarknessManager.class | Bin 0 -> 4581 bytes .../character/skills/MatrixRecord.class | Bin 0 -> 6035 bytes .../ms/client/character/skills/Option.class | Bin 0 -> 5187 bytes .../character/skills/PartyBooster.class | Bin 0 -> 1312 bytes .../client/character/skills/ProcessType.class | Bin 0 -> 1743 bytes .../client/character/skills/PsychicArea.class | Bin 0 -> 1289 bytes .../character/skills/PsychicLockBall.class | Bin 0 -> 1566 bytes .../client/character/skills/ShootObject.class | Bin 0 -> 4060 bytes .../ms/client/character/skills/Skill.class | Bin 0 -> 2591 bytes .../client/character/skills/SkillStat$1.class | Bin 0 -> 6948 bytes .../client/character/skills/SkillStat.class | Bin 0 -> 21095 bytes .../client/character/skills/StolenSkill.class | Bin 0 -> 3636 bytes .../character/skills/StopForceAtom.class | Bin 0 -> 2068 bytes .../client/character/skills/TownPortal.class | Bin 0 -> 5548 bytes .../character/skills/info/AttackInfo.class | Bin 0 -> 2735 bytes .../character/skills/info/ForceAtomInfo.class | Bin 0 -> 4553 bytes .../character/skills/info/MobAttackInfo.class | Bin 0 -> 2732 bytes .../character/skills/info/SkillInfo$1.class | Bin 0 -> 1188 bytes .../character/skills/info/SkillInfo.class | Bin 0 -> 17968 bytes .../character/skills/info/SkillUseInfo.class | Bin 0 -> 559 bytes .../character/skills/info/ToBaseStat.class | Bin 0 -> 3046 bytes .../temp/CharacterTemporaryStat$1.class | Bin 0 -> 6926 bytes .../skills/temp/CharacterTemporaryStat.class | Bin 0 -> 60013 bytes .../skills/temp/TemporaryStatBase.class | Bin 0 -> 3100 bytes .../skills/temp/TemporaryStatManager$1.class | Bin 0 -> 1751 bytes .../skills/temp/TemporaryStatManager.class | Bin 0 -> 46154 bytes .../skills/temp/TwoStateTemporaryStat.class | Bin 0 -> 672 bytes .../ms/client/character/union/Union.class | Bin 0 -> 5668 bytes .../client/character/union/UnionBoard.class | Bin 0 -> 6942 bytes .../client/character/union/UnionMember.class | Bin 0 -> 5852 bytes .../net/swordie/ms/client/friend/Friend.class | Bin 0 -> 4384 bytes .../swordie/ms/client/friend/FriendFlag.class | Bin 0 -> 1742 bytes .../ms/client/friend/FriendRecord.class | Bin 0 -> 1846 bytes .../swordie/ms/client/friend/FriendType.class | Bin 0 -> 5444 bytes .../client/friend/FriendshipRingRecord.class | Bin 0 -> 1345 bytes .../client/friend/result/FriendResult$1.class | Bin 0 -> 972 bytes .../client/friend/result/FriendResult.class | Bin 0 -> 3704 bytes .../net/swordie/ms/client/guild/Guild.class | Bin 0 -> 24084 bytes .../swordie/ms/client/guild/GuildMember.class | Bin 0 -> 6353 bytes .../ms/client/guild/GuildRequestor.class | Bin 0 -> 3629 bytes .../swordie/ms/client/guild/GuildSkill.class | Bin 0 -> 2518 bytes .../ms/client/guild/bbs/BBSRecord.class | Bin 0 -> 6456 bytes .../ms/client/guild/bbs/BBSReply.class | Bin 0 -> 2444 bytes .../client/guild/bbs/GuildBBSPacket$1.class | Bin 0 -> 834 bytes .../ms/client/guild/bbs/GuildBBSPacket.class | Bin 0 -> 2566 bytes .../ms/client/guild/bbs/GuildBBSType.class | Bin 0 -> 3049 bytes .../client/guild/result/GuildResult$1.class | Bin 0 -> 2076 bytes .../ms/client/guild/result/GuildResult.class | Bin 0 -> 8139 bytes .../ms/client/guild/result/GuildType.class | Bin 0 -> 14529 bytes .../net/swordie/ms/client/jobs/Job$1.class | Bin 0 -> 804 bytes .../net/swordie/ms/client/jobs/Job$2.class | Bin 0 -> 799 bytes .../net/swordie/ms/client/jobs/Job.class | Bin 0 -> 53937 bytes .../swordie/ms/client/jobs/JobManager.class | Bin 0 -> 6085 bytes .../net/swordie/ms/client/jobs/Zero.class | Bin 0 -> 24981 bytes .../client/jobs/adventurer/BeastTamer$1.class | Bin 0 -> 1099 bytes .../client/jobs/adventurer/BeastTamer.class | Bin 0 -> 27840 bytes .../ms/client/jobs/adventurer/Beginner.class | Bin 0 -> 5880 bytes .../ms/client/jobs/adventurer/Kinesis.class | Bin 0 -> 18416 bytes .../ms/client/jobs/adventurer/PinkBean.class | Bin 0 -> 12395 bytes .../jobs/adventurer/archer/Archer.class | Bin 0 -> 11837 bytes .../adventurer/archer/BowMaster$QCType.class | Bin 0 -> 1587 bytes .../archer/BowMaster$QuiverCartridge.class | Bin 0 -> 3702 bytes .../jobs/adventurer/archer/BowMaster.class | Bin 0 -> 21702 bytes .../jobs/adventurer/archer/Marksman.class | Bin 0 -> 13228 bytes .../jobs/adventurer/archer/Pathfinder$1.class | Bin 0 -> 1261 bytes .../archer/Pathfinder$EmblemType.class | Bin 0 -> 1672 bytes .../jobs/adventurer/archer/Pathfinder.class | Bin 0 -> 29489 bytes .../jobs/adventurer/magician/Bishop$1.class | Bin 0 -> 924 bytes .../jobs/adventurer/magician/Bishop.class | Bin 0 -> 24669 bytes .../adventurer/magician/FirePoison$1.class | Bin 0 -> 940 bytes .../jobs/adventurer/magician/FirePoison.class | Bin 0 -> 22112 bytes .../adventurer/magician/IceLightning$1.class | Bin 0 -> 929 bytes .../adventurer/magician/IceLightning.class | Bin 0 -> 15941 bytes .../jobs/adventurer/magician/Magician.class | Bin 0 -> 17325 bytes .../jobs/adventurer/pirate/Buccaneer.class | Bin 0 -> 20256 bytes .../jobs/adventurer/pirate/Cannonneer$1.class | Bin 0 -> 725 bytes .../jobs/adventurer/pirate/Cannonneer.class | Bin 0 -> 18487 bytes .../jobs/adventurer/pirate/Corsair.class | Bin 0 -> 15735 bytes .../jobs/adventurer/pirate/Jett$1.class | Bin 0 -> 739 bytes .../client/jobs/adventurer/pirate/Jett.class | Bin 0 -> 12977 bytes .../jobs/adventurer/pirate/Pirate.class | Bin 0 -> 11488 bytes .../jobs/adventurer/thief/BladeMaster.class | Bin 0 -> 11803 bytes .../jobs/adventurer/thief/NightLord.class | Bin 0 -> 16585 bytes .../jobs/adventurer/thief/Shadower.class | Bin 0 -> 21255 bytes .../client/jobs/adventurer/thief/Thief.class | Bin 0 -> 13388 bytes .../jobs/adventurer/warrior/DarkKnight.class | Bin 0 -> 18414 bytes .../client/jobs/adventurer/warrior/Hero.class | Bin 0 -> 20192 bytes .../jobs/adventurer/warrior/Paladin$1.class | Bin 0 -> 1116 bytes .../jobs/adventurer/warrior/Paladin.class | Bin 0 -> 25704 bytes .../jobs/adventurer/warrior/Warrior.class | Bin 0 -> 9624 bytes .../ms/client/jobs/cygnus/BlazeWizard.class | Bin 0 -> 22545 bytes .../ms/client/jobs/cygnus/DawnWarrior.class | Bin 0 -> 19975 bytes .../ms/client/jobs/cygnus/Mihile$1.class | Bin 0 -> 841 bytes .../ms/client/jobs/cygnus/Mihile.class | Bin 0 -> 27396 bytes .../ms/client/jobs/cygnus/NightWalker.class | Bin 0 -> 35530 bytes .../ms/client/jobs/cygnus/Noblesse.class | Bin 0 -> 5458 bytes .../client/jobs/cygnus/ThunderBreaker.class | Bin 0 -> 14268 bytes .../ms/client/jobs/cygnus/WindArcher.class | Bin 0 -> 25337 bytes .../swordie/ms/client/jobs/flora/Ark$1.class | Bin 0 -> 2514 bytes .../swordie/ms/client/jobs/flora/Ark$2.class | Bin 0 -> 1435 bytes .../jobs/flora/Ark$SpellChargeType.class | Bin 0 -> 2839 bytes .../swordie/ms/client/jobs/flora/Ark.class | Bin 0 -> 24090 bytes .../ms/client/jobs/flora/Illium$1.class | Bin 0 -> 942 bytes .../swordie/ms/client/jobs/flora/Illium.class | Bin 0 -> 21613 bytes .../swordie/ms/client/jobs/legend/Aran.class | Bin 0 -> 20610 bytes .../swordie/ms/client/jobs/legend/Evan.class | Bin 0 -> 21394 bytes .../ms/client/jobs/legend/Legend.class | Bin 0 -> 2079 bytes .../ms/client/jobs/legend/Luminous.class | Bin 0 -> 18739 bytes .../ms/client/jobs/legend/Mercedes.class | Bin 0 -> 19588 bytes .../ms/client/jobs/legend/Phantom$1.class | Bin 0 -> 999 bytes .../ms/client/jobs/legend/Phantom.class | Bin 0 -> 33581 bytes .../swordie/ms/client/jobs/legend/Shade.class | Bin 0 -> 24663 bytes .../AngelicBuster$MightMascotSkillTypes.class | Bin 0 -> 1657 bytes .../ms/client/jobs/nova/AngelicBuster.class | Bin 0 -> 25682 bytes .../swordie/ms/client/jobs/nova/Cadena.class | Bin 0 -> 20497 bytes .../swordie/ms/client/jobs/nova/Kaiser.class | Bin 0 -> 29264 bytes .../client/jobs/resistance/BattleMage.class | Bin 0 -> 30145 bytes .../ms/client/jobs/resistance/Blaster.class | Bin 0 -> 15652 bytes .../ms/client/jobs/resistance/Citizen.class | Bin 0 -> 4020 bytes .../ms/client/jobs/resistance/Mechanic.class | Bin 0 -> 22535 bytes .../ms/client/jobs/resistance/OpenGate.class | Bin 0 -> 5048 bytes .../client/jobs/resistance/WildHunter.class | Bin 0 -> 25859 bytes .../jobs/resistance/WildHunterInfo.class | Bin 0 -> 1555 bytes .../ms/client/jobs/resistance/Xenon.class | Bin 0 -> 23021 bytes .../client/jobs/resistance/demon/Demon.class | Bin 0 -> 7518 bytes .../jobs/resistance/demon/DemonAvenger.class | Bin 0 -> 23560 bytes .../jobs/resistance/demon/DemonSlayer.class | Bin 0 -> 19174 bytes .../ms/client/jobs/sengoku/Hayato.class | Bin 0 -> 20500 bytes .../ms/client/jobs/sengoku/Kanna.class | Bin 0 -> 39838 bytes .../net/swordie/ms/client/party/Party.class | Bin 0 -> 16486 bytes .../ms/client/party/PartyDamageInfo.class | Bin 0 -> 5046 bytes .../swordie/ms/client/party/PartyMember.class | Bin 0 -> 3818 bytes .../ms/client/party/PartyResult$1.class | Bin 0 -> 1344 bytes .../swordie/ms/client/party/PartyResult.class | Bin 0 -> 5766 bytes .../swordie/ms/client/party/PartyType.class | Bin 0 -> 15088 bytes .../swordie/ms/client/party/TownPortal.class | Bin 0 -> 1717 bytes .../net/swordie/ms/client/trunk/Trunk.class | Bin 0 -> 8610 bytes .../swordie/ms/client/trunk/TrunkDlg.class | Bin 0 -> 247 bytes .../swordie/ms/client/trunk/TrunkMsg.class | Bin 0 -> 770 bytes .../swordie/ms/client/trunk/TrunkOpen.class | Bin 0 -> 1099 bytes .../swordie/ms/client/trunk/TrunkType.class | Bin 0 -> 4455 bytes .../swordie/ms/client/trunk/TrunkUpdate.class | Bin 0 -> 979 bytes .../ms/connection/ByteBufOutPacket.class | Bin 0 -> 8172 bytes .../net/swordie/ms/connection/Encodable.class | Bin 0 -> 185 bytes .../net/swordie/ms/connection/InPacket.class | Bin 0 -> 3907 bytes .../net/swordie/ms/connection/OutPacket.class | Bin 0 -> 7862 bytes .../net/swordie/ms/connection/Packet.class | Bin 0 -> 1932 bytes .../ms/connection/api/ApiAcceptor$1.class | Bin 0 -> 1929 bytes .../ms/connection/api/ApiAcceptor.class | Bin 0 -> 2826 bytes .../ms/connection/api/ApiDecoder.class | Bin 0 -> 1903 bytes .../ms/connection/api/ApiEncoder.class | Bin 0 -> 2586 bytes .../ms/connection/api/ApiHandler$1.class | Bin 0 -> 814 bytes .../ms/connection/api/ApiHandler.class | Bin 0 -> 3660 bytes .../ms/connection/api/ApiInHeader.class | Bin 0 -> 2369 bytes .../ms/connection/api/ApiOutHeader.class | Bin 0 -> 2376 bytes .../swordie/ms/connection/crypto/AES.class | Bin 0 -> 7415 bytes .../ms/connection/crypto/BitTools.class | Bin 0 -> 824 bytes .../ms/connection/crypto/MapleCrypto.class | Bin 0 -> 5136 bytes .../connection/crypto/TripleDESCipher.class | Bin 0 -> 7176 bytes .../ms/connection/db/DatabaseException.class | Bin 0 -> 652 bytes .../ms/connection/db/DatabaseManager.class | Bin 0 -> 10447 bytes .../db/converters/FileTimeConverter.class | Bin 0 -> 2746 bytes .../converters/InlinedIntArrayConverter.class | Bin 0 -> 2486 bytes .../converters/InlinedIntMapConverter.class | Bin 0 -> 2948 bytes .../connection/netty/ChannelAcceptor$1.class | Bin 0 -> 3333 bytes .../ms/connection/netty/ChannelAcceptor.class | Bin 0 -> 3248 bytes .../ms/connection/netty/ChannelHandler.class | Bin 0 -> 9013 bytes .../ms/connection/netty/ChatAcceptor$1.class | Bin 0 -> 2842 bytes .../ms/connection/netty/ChatAcceptor.class | Bin 0 -> 2744 bytes .../ms/connection/netty/LoginAcceptor$1.class | Bin 0 -> 3318 bytes .../ms/connection/netty/LoginAcceptor.class | Bin 0 -> 2751 bytes .../ms/connection/netty/NettyClient.class | Bin 0 -> 3009 bytes .../ms/connection/netty/PacketDecoder.class | Bin 0 -> 2904 bytes .../ms/connection/netty/PacketEncoder.class | Bin 0 -> 3588 bytes .../ms/connection/netty/PacketHandler.class | Bin 0 -> 478 bytes .../ms/connection/packet/AndroidPacket.class | Bin 0 -> 2353 bytes .../ms/connection/packet/ApiResponse.class | Bin 0 -> 1483 bytes .../connection/packet/BattleRecordMan.class | Bin 0 -> 1486 bytes .../ms/connection/packet/CCashShop.class | Bin 0 -> 11566 bytes .../ms/connection/packet/CFamiliar.class | Bin 0 -> 3639 bytes .../ms/connection/packet/CUIHandler.class | Bin 0 -> 4927 bytes .../ms/connection/packet/ChatSocket.class | Bin 0 -> 2104 bytes .../connection/packet/DemianFieldPacket.class | Bin 0 -> 3985 bytes .../ms/connection/packet/DragonPool.class | Bin 0 -> 1964 bytes .../ms/connection/packet/DropPool$1.class | Bin 0 -> 924 bytes .../ms/connection/packet/DropPool.class | Bin 0 -> 5573 bytes .../ms/connection/packet/Effect$1.class | Bin 0 -> 5463 bytes .../swordie/ms/connection/packet/Effect.class | Bin 0 -> 25631 bytes .../packet/FieldAttackObjPool.class | Bin 0 -> 1380 bytes .../ms/connection/packet/FieldPacket$1.class | Bin 0 -> 2144 bytes .../ms/connection/packet/FieldPacket.class | Bin 0 -> 51152 bytes .../ms/connection/packet/GachaponDlg.class | Bin 0 -> 3590 bytes .../packet/InGameDirectionEvent$1.class | Bin 0 -> 1986 bytes .../packet/InGameDirectionEvent.class | Bin 0 -> 6867 bytes .../ms/connection/packet/ItemOperation.class | Bin 0 -> 486 bytes .../swordie/ms/connection/packet/Login.class | Bin 0 -> 13570 bytes .../ms/connection/packet/MapLoadable.class | Bin 0 -> 1769 bytes .../ms/connection/packet/MiniroomPacket.class | Bin 0 -> 3998 bytes .../ms/connection/packet/MobPool.class | Bin 0 -> 17129 bytes .../packet/MobSkillAttackInfo.class | Bin 0 -> 789 bytes .../ms/connection/packet/NpcPool.class | Bin 0 -> 3589 bytes .../ms/connection/packet/QuickMoveInfo.class | Bin 0 -> 4001 bytes .../connection/packet/RandomPortal$Type.class | Bin 0 -> 1723 bytes .../ms/connection/packet/RandomPortal.class | Bin 0 -> 2629 bytes .../connection/packet/RandomPortalPool.class | Bin 0 -> 1486 bytes .../ms/connection/packet/ReactorPool.class | Bin 0 -> 2371 bytes .../ms/connection/packet/ScriptMan$1.class | Bin 0 -> 1492 bytes .../ms/connection/packet/ScriptMan.class | Bin 0 -> 4756 bytes .../ms/connection/packet/ShopDlg.class | Bin 0 -> 1714 bytes .../swordie/ms/connection/packet/Stage.class | Bin 0 -> 6060 bytes .../ms/connection/packet/Summoned.class | Bin 0 -> 11758 bytes .../ms/connection/packet/UserLocal$1.class | Bin 0 -> 1343 bytes .../ms/connection/packet/UserLocal.class | Bin 0 -> 28159 bytes .../ms/connection/packet/UserPacket.class | Bin 0 -> 8853 bytes .../ms/connection/packet/UserPool.class | Bin 0 -> 13560 bytes .../ms/connection/packet/UserRemote.class | Bin 0 -> 16240 bytes .../ms/connection/packet/WvsContext$1.class | Bin 0 -> 5975 bytes .../ms/connection/packet/WvsContext.class | Bin 0 -> 44932 bytes .../ms/constants/BossConstants$1$1$1.class | Bin 0 -> 891 bytes .../ms/constants/BossConstants$1$1$2.class | Bin 0 -> 890 bytes .../ms/constants/BossConstants$1$1$3.class | Bin 0 -> 891 bytes .../ms/constants/BossConstants$1$1.class | Bin 0 -> 1390 bytes .../ms/constants/BossConstants$1$2$1.class | Bin 0 -> 905 bytes .../ms/constants/BossConstants$1$2.class | Bin 0 -> 1167 bytes .../ms/constants/BossConstants$1$3$1.class | Bin 0 -> 890 bytes .../ms/constants/BossConstants$1$3.class | Bin 0 -> 1168 bytes .../ms/constants/BossConstants$1$4$1.class | Bin 0 -> 890 bytes .../ms/constants/BossConstants$1$4.class | Bin 0 -> 1168 bytes .../ms/constants/BossConstants$1.class | Bin 0 -> 1134 bytes .../ms/constants/BossConstants$2.class | Bin 0 -> 720 bytes .../swordie/ms/constants/BossConstants.class | Bin 0 -> 8467 bytes .../ms/constants/CustomConstants.class | Bin 0 -> 14914 bytes .../swordie/ms/constants/FieldConstants.class | Bin 0 -> 489 bytes .../ms/constants/GameConstants$1.class | Bin 0 -> 825 bytes .../GameConstants$UnionChucMultiplier.class | Bin 0 -> 692 bytes .../swordie/ms/constants/GameConstants.class | Bin 0 -> 31490 bytes .../ms/constants/ItemConstants$1.class | Bin 0 -> 4579 bytes .../swordie/ms/constants/ItemConstants.class | Bin 0 -> 61327 bytes .../swordie/ms/constants/JobConstants$1.class | Bin 0 -> 10137 bytes .../ms/constants/JobConstants$JobEnum.class | Bin 0 -> 22921 bytes .../JobConstants$LoginJob$JobFlag.class | Bin 0 -> 1551 bytes .../ms/constants/JobConstants$LoginJob.class | Bin 0 -> 5460 bytes .../swordie/ms/constants/JobConstants.class | Bin 0 -> 14891 bytes .../swordie/ms/constants/MobConstants.class | Bin 0 -> 1301 bytes .../ms/constants/MonsterCollectionGroup.class | Bin 0 -> 2183 bytes .../constants/MonsterCollectionRegion.class | Bin 0 -> 3125 bytes .../constants/MonsterCollectionSession.class | Bin 0 -> 4931 bytes .../swordie/ms/constants/QuestConstants.class | Bin 0 -> 2012 bytes .../swordie/ms/constants/SkillChanges$1.class | Bin 0 -> 1229 bytes .../swordie/ms/constants/SkillChanges$2.class | Bin 0 -> 891 bytes .../swordie/ms/constants/SkillChanges$3.class | Bin 0 -> 810 bytes .../swordie/ms/constants/SkillChanges$4.class | Bin 0 -> 689 bytes .../swordie/ms/constants/SkillChanges$5.class | Bin 0 -> 1706 bytes .../swordie/ms/constants/SkillChanges.class | Bin 0 -> 24166 bytes .../swordie/ms/constants/SkillConstants.class | Bin 0 -> 42306 bytes .../swordie/ms/constants/WzConstants.class | Bin 0 -> 2095 bytes .../DiscordWebhook$EmbedObject$Author.class | Bin 0 -> 1125 bytes .../DiscordWebhook$EmbedObject$Field.class | Bin 0 -> 1116 bytes .../DiscordWebhook$EmbedObject$Footer.class | Bin 0 -> 993 bytes .../DiscordWebhook$EmbedObject$Image.class | Bin 0 -> 849 bytes ...DiscordWebhook$EmbedObject$Thumbnail.class | Bin 0 -> 861 bytes .../discord/DiscordWebhook$EmbedObject.class | Bin 0 -> 4464 bytes .../discord/DiscordWebhook$JSONObject.class | Bin 0 -> 3472 bytes .../swordie/ms/discord/DiscordWebhook.class | Bin 0 -> 6288 bytes .../ms/enums/AccountCreateResult.class | Bin 0 -> 1252 bytes .../net/swordie/ms/enums/AccountType.class | Bin 0 -> 1408 bytes .../swordie/ms/enums/AchievementType.class | Bin 0 -> 2481 bytes .../net/swordie/ms/enums/AllianceType.class | Bin 0 -> 3675 bytes .../swordie/ms/enums/ApiTokenResultType.class | Bin 0 -> 2402 bytes .../net/swordie/ms/enums/AssistType.class | Bin 0 -> 2406 bytes .../net/swordie/ms/enums/AttackIndex.class | Bin 0 -> 1770 bytes .../swordie/ms/enums/AuctionResultCode.class | Bin 0 -> 1721 bytes .../net/swordie/ms/enums/AuctionState.class | Bin 0 -> 1706 bytes .../swordie/ms/enums/AvatarModifiedMask.class | Bin 0 -> 1421 bytes .../net/swordie/ms/enums/BaseStat$1.class | Bin 0 -> 7645 bytes .../net/swordie/ms/enums/BaseStat.class | Bin 0 -> 11276 bytes .../swordie/ms/enums/BeastTamerBeasts.class | Bin 0 -> 1432 bytes .../swordie/ms/enums/BossMatchingType.class | Bin 0 -> 5496 bytes .../swordie/ms/enums/BroadcastMsgType$1.class | Bin 0 -> 978 bytes .../swordie/ms/enums/BroadcastMsgType.class | Bin 0 -> 3160 bytes .../net/swordie/ms/enums/CashItemType.class | Bin 0 -> 25702 bytes .../swordie/ms/enums/CashShopActionType.class | Bin 0 -> 3013 bytes .../swordie/ms/enums/CashShopInfoType.class | Bin 0 -> 1635 bytes .../net/swordie/ms/enums/CharNameResult.class | Bin 0 -> 1543 bytes .../net/swordie/ms/enums/CharPotGrade.class | Bin 0 -> 1184 bytes .../net/swordie/ms/enums/CharSelectType.class | Bin 0 -> 1481 bytes .../net/swordie/ms/enums/ChatType.class | Bin 0 -> 3733 bytes .../net/swordie/ms/enums/ChatUserType.class | Bin 0 -> 1248 bytes .../net/swordie/ms/enums/ClockType.class | Bin 0 -> 1718 bytes .../net/swordie/ms/enums/ClothingStats.class | Bin 0 -> 1953 bytes .../ms/enums/CustomFUEFieldScripts.class | Bin 0 -> 3378 bytes .../swordie/ms/enums/CustomFieldScripts.class | Bin 0 -> 2502 bytes bin/classes/net/swordie/ms/enums/DBChar.class | Bin 0 -> 6603 bytes .../ms/enums/DimensionalMirrorType.class | Bin 0 -> 6971 bytes .../ms/enums/DimensionalPortalTownType.class | Bin 0 -> 4796 bytes .../ms/enums/DimensionalPortalType.class | Bin 0 -> 7056 bytes .../net/swordie/ms/enums/DropEnterType.class | Bin 0 -> 1372 bytes .../net/swordie/ms/enums/DropLeaveType.class | Bin 0 -> 1606 bytes .../net/swordie/ms/enums/DropMotionType.class | Bin 0 -> 1196 bytes .../net/swordie/ms/enums/DropType.class | Bin 0 -> 1220 bytes .../net/swordie/ms/enums/EliteState.class | Bin 0 -> 1347 bytes .../net/swordie/ms/enums/EnchantStat$1.class | Bin 0 -> 1824 bytes .../net/swordie/ms/enums/EnchantStat.class | Bin 0 -> 3182 bytes .../net/swordie/ms/enums/EnterType.class | Bin 0 -> 1238 bytes .../net/swordie/ms/enums/EquipBaseStat.class | Bin 0 -> 3333 bytes .../ms/enums/EquipmentEnchantType.class | Bin 0 -> 3356 bytes .../net/swordie/ms/enums/EventType.class | Bin 0 -> 4544 bytes .../ms/enums/ExpIncreaseInfoFlags.class | Bin 0 -> 2934 bytes .../net/swordie/ms/enums/FieldOption.class | Bin 0 -> 3397 bytes .../net/swordie/ms/enums/FieldType.class | Bin 0 -> 10683 bytes .../net/swordie/ms/enums/FlameStat.class | Bin 0 -> 3554 bytes .../swordie/ms/enums/ForceAtomEnum$1.class | Bin 0 -> 1120 bytes .../net/swordie/ms/enums/ForceAtomEnum.class | Bin 0 -> 10993 bytes .../swordie/ms/enums/ForcedInputType.class | Bin 0 -> 2907 bytes .../swordie/ms/enums/GoldHammerResult.class | Bin 0 -> 1383 bytes .../swordie/ms/enums/GroupMessageType.class | Bin 0 -> 1376 bytes .../ms/enums/HotTimeRewardResult.class | Bin 0 -> 2007 bytes .../ms/enums/HotTimeRewardSendType.class | Bin 0 -> 1587 bytes .../swordie/ms/enums/HotTimeRewardType.class | Bin 0 -> 1460 bytes .../swordie/ms/enums/InGameDirectionAsk.class | Bin 0 -> 1594 bytes .../ms/enums/InGameDirectionEventType.class | Bin 0 -> 3707 bytes .../swordie/ms/enums/InstanceTableType.class | Bin 0 -> 3315 bytes .../net/swordie/ms/enums/InvType.class | Bin 0 -> 3866 bytes .../swordie/ms/enums/InventoryOperation.class | Bin 0 -> 1832 bytes .../net/swordie/ms/enums/ItemGrade$1.class | Bin 0 -> 1091 bytes .../net/swordie/ms/enums/ItemGrade.class | Bin 0 -> 5249 bytes .../net/swordie/ms/enums/ItemJob.class | Bin 0 -> 1261 bytes .../net/swordie/ms/enums/ItemOptionType.class | Bin 0 -> 2835 bytes .../net/swordie/ms/enums/LeaveType.class | Bin 0 -> 1302 bytes .../net/swordie/ms/enums/LegionType.class | Bin 0 -> 1188 bytes .../swordie/ms/enums/LinkSkillResult.class | Bin 0 -> 1487 bytes .../ms/enums/LinkedSkillResultType.class | Bin 0 -> 1644 bytes .../net/swordie/ms/enums/LoginState.class | Bin 0 -> 1166 bytes .../net/swordie/ms/enums/LoginType.class | Bin 0 -> 7505 bytes .../swordie/ms/enums/MakingSkillResult.class | Bin 0 -> 1791 bytes .../swordie/ms/enums/MapTransferType.class | Bin 0 -> 3066 bytes .../ms/enums/MatrixUpdateRequest.class | Bin 0 -> 2880 bytes .../ms/enums/MedalReissueResultType.class | Bin 0 -> 1490 bytes .../net/swordie/ms/enums/MessageType.class | Bin 0 -> 5432 bytes .../net/swordie/ms/enums/MiniRoomType.class | Bin 0 -> 3716 bytes .../ms/enums/MobCastingBarSkillType.class | Bin 0 -> 1251 bytes .../enums/MonsterCollectionResultType.class | Bin 0 -> 2072 bytes .../net/swordie/ms/enums/MoveAbility.class | Bin 0 -> 2257 bytes .../ms/enums/ObtacleAtomCreateType.class | Bin 0 -> 1597 bytes .../swordie/ms/enums/ObtacleAtomEnum.class | Bin 0 -> 3859 bytes .../swordie/ms/enums/PetRemoveReason.class | Bin 0 -> 1341 bytes .../net/swordie/ms/enums/PicStatus.class | Bin 0 -> 1476 bytes .../ms/enums/PopularityResultType.class | Bin 0 -> 1560 bytes .../swordie/ms/enums/PotentialResetType.class | Bin 0 -> 1167 bytes .../ms/enums/ProgressMessageColourType.class | Bin 0 -> 3883 bytes .../ms/enums/ProgressMessageFontType.class | Bin 0 -> 2695 bytes .../net/swordie/ms/enums/QuestStatus.class | Bin 0 -> 1306 bytes .../net/swordie/ms/enums/QuestType.class | Bin 0 -> 4914 bytes .../net/swordie/ms/enums/QuickMoveType.class | Bin 0 -> 2483 bytes .../swordie/ms/enums/RandomMissionType.class | Bin 0 -> 1507 bytes .../net/swordie/ms/enums/ReviveType.class | Bin 0 -> 1527 bytes .../net/swordie/ms/enums/RoomLeaveType.class | Bin 0 -> 3608 bytes .../net/swordie/ms/enums/RuneType.class | Bin 0 -> 2829 bytes .../net/swordie/ms/enums/SceneType.class | Bin 0 -> 2336 bytes .../net/swordie/ms/enums/ScrollStat$1.class | Bin 0 -> 1228 bytes .../net/swordie/ms/enums/ScrollStat.class | Bin 0 -> 5152 bytes .../swordie/ms/enums/SendTypeFromClient.class | Bin 0 -> 3243 bytes .../net/swordie/ms/enums/SkillType.class | Bin 0 -> 3140 bytes .../net/swordie/ms/enums/SoulType.class | Bin 0 -> 2848 bytes .../net/swordie/ms/enums/SpecStat.class | Bin 0 -> 7202 bytes .../ms/enums/SpellTraceScrollType.class | Bin 0 -> 1195 bytes bin/classes/net/swordie/ms/enums/Stat.class | Bin 0 -> 5043 bytes .../swordie/ms/enums/StealMemoryType.class | Bin 0 -> 2779 bytes .../swordie/ms/enums/StylishKillType.class | Bin 0 -> 2505 bytes .../net/swordie/ms/enums/TSIndex$1.class | Bin 0 -> 1241 bytes .../net/swordie/ms/enums/TSIndex.class | Bin 0 -> 4637 bytes .../net/swordie/ms/enums/TabIndex.class | Bin 0 -> 3603 bytes .../net/swordie/ms/enums/TextEffectType.class | Bin 0 -> 1388 bytes bin/classes/net/swordie/ms/enums/UIType.class | Bin 0 -> 26038 bytes .../net/swordie/ms/enums/UiScript.class | Bin 0 -> 2238 bytes .../net/swordie/ms/enums/UserEffectType.class | Bin 0 -> 8169 bytes .../net/swordie/ms/enums/WeaponType.class | Bin 0 -> 4517 bytes .../ms/enums/WeatherEffNoticeType.class | Bin 0 -> 13684 bytes .../net/swordie/ms/enums/WorldId.class | Bin 0 -> 2684 bytes .../ms/handlers/ApiRequestHandler.class | Bin 0 -> 3970 bytes .../ms/handlers/CashShopHandler$1.class | Bin 0 -> 1217 bytes .../swordie/ms/handlers/CashShopHandler.class | Bin 0 -> 9803 bytes ...dPoolExecutor$LogOnExceptionCallable.class | Bin 0 -> 1908 bytes ...dPoolExecutor$LogOnExceptionRunnable.class | Bin 0 -> 1465 bytes .../CatchingScheduledThreadPoolExecutor.class | Bin 0 -> 3036 bytes .../swordie/ms/handlers/ClientSocket.class | Bin 0 -> 1241 bytes .../swordie/ms/handlers/EventManager.class | Bin 0 -> 3759 bytes .../swordie/ms/handlers/FieldHandler.class | Bin 0 -> 2428 bytes .../net/swordie/ms/handlers/Handler.class | Bin 0 -> 508 bytes .../swordie/ms/handlers/LoginHandler.class | Bin 0 -> 26986 bytes .../net/swordie/ms/handlers/PsychicLock.class | Bin 0 -> 1444 bytes .../swordie/ms/handlers/header/InHeader.class | Bin 0 -> 81185 bytes .../ms/handlers/header/OutHeader.class | Bin 0 -> 114934 bytes .../ms/handlers/item/InventoryHandler.class | Bin 0 -> 12772 bytes .../ms/handlers/item/ItemHandler$1.class | Bin 0 -> 982 bytes .../ms/handlers/item/ItemHandler$2.class | Bin 0 -> 1660 bytes .../ms/handlers/item/ItemHandler.class | Bin 0 -> 47403 bytes .../ms/handlers/item/ItemUpgradeHandler.class | Bin 0 -> 18090 bytes .../handlers/life/AffectedAreaHandler.class | Bin 0 -> 2837 bytes .../ms/handlers/life/AndroidHandler.class | Bin 0 -> 1821 bytes .../ms/handlers/life/DragonHandler.class | Bin 0 -> 1890 bytes .../ms/handlers/life/DropHandler.class | Bin 0 -> 3328 bytes .../ms/handlers/life/FamiliarHandler.class | Bin 0 -> 7152 bytes .../swordie/ms/handlers/life/MobHandler.class | Bin 0 -> 22980 bytes .../ms/handlers/life/NpcHandler$1.class | Bin 0 -> 1754 bytes .../swordie/ms/handlers/life/NpcHandler.class | Bin 0 -> 23159 bytes .../swordie/ms/handlers/life/PetHandler.class | Bin 0 -> 12970 bytes .../ms/handlers/life/ReactorHandler.class | Bin 0 -> 4418 bytes .../ms/handlers/life/SummonedHandler.class | Bin 0 -> 5141 bytes .../ms/handlers/script/QuestHandler$1.class | Bin 0 -> 1033 bytes .../ms/handlers/script/QuestHandler.class | Bin 0 -> 8178 bytes .../ms/handlers/script/ScriptHandler$1.class | Bin 0 -> 715 bytes .../ms/handlers/script/ScriptHandler.class | Bin 0 -> 14773 bytes .../ms/handlers/social/AuctionHandler$1.class | Bin 0 -> 1398 bytes .../ms/handlers/social/AuctionHandler.class | Bin 0 -> 11118 bytes .../handlers/social/BossMatchingHandler.class | Bin 0 -> 2495 bytes .../ms/handlers/social/ChatHandler.class | Bin 0 -> 12356 bytes .../ms/handlers/social/FriendHandler$1.class | Bin 0 -> 1301 bytes .../ms/handlers/social/FriendHandler.class | Bin 0 -> 10359 bytes .../ms/handlers/social/GuildHandler$1.class | Bin 0 -> 2618 bytes .../ms/handlers/social/GuildHandler.class | Bin 0 -> 25771 bytes .../ms/handlers/social/PartyHandler$1.class | Bin 0 -> 1423 bytes .../ms/handlers/social/PartyHandler.class | Bin 0 -> 11349 bytes .../ms/handlers/social/RoomHandler$1.class | Bin 0 -> 1625 bytes .../ms/handlers/social/RoomHandler.class | Bin 0 -> 10529 bytes .../ms/handlers/user/AttackHandler$1.class | Bin 0 -> 1372 bytes .../ms/handlers/user/AttackHandler.class | Bin 0 -> 23667 bytes .../ms/handlers/user/JobSkillHandler.class | Bin 0 -> 34089 bytes .../ms/handlers/user/MacroHandler.class | Bin 0 -> 3019 bytes .../ms/handlers/user/MigrationHandler$1.class | Bin 0 -> 805 bytes .../ms/handlers/user/MigrationHandler.class | Bin 0 -> 22953 bytes .../ms/handlers/user/SkillHandler$1.class | Bin 0 -> 1501 bytes .../ms/handlers/user/SkillHandler.class | Bin 0 -> 39301 bytes .../ms/handlers/user/UnionHandler.class | Bin 0 -> 7508 bytes .../ms/handlers/user/UserHandler$1.class | Bin 0 -> 526 bytes .../ms/handlers/user/UserHandler.class | Bin 0 -> 30979 bytes .../ms/handlers/user/UserStatHandler$1.class | Bin 0 -> 1187 bytes .../ms/handlers/user/UserStatHandler.class | Bin 0 -> 15611 bytes .../ms/handlers/user/ZeroUIHandler.class | Bin 0 -> 4901 bytes .../net/swordie/ms/life/AffectedArea.class | Bin 0 -> 18803 bytes bin/classes/net/swordie/ms/life/Android.class | Bin 0 -> 5487 bytes .../net/swordie/ms/life/DeathType.class | Bin 0 -> 1687 bytes bin/classes/net/swordie/ms/life/Dragon.class | Bin 0 -> 1541 bytes .../net/swordie/ms/life/Familiar.class | Bin 0 -> 4812 bytes .../net/swordie/ms/life/FieldAttackObj.class | Bin 0 -> 2337 bytes bin/classes/net/swordie/ms/life/Life.class | Bin 0 -> 11039 bytes bin/classes/net/swordie/ms/life/Reactor.class | Bin 0 -> 5114 bytes bin/classes/net/swordie/ms/life/Summon.class | Bin 0 -> 19279 bytes .../net/swordie/ms/life/Wreckage.class | Bin 0 -> 1700 bytes .../net/swordie/ms/life/drop/Drop.class | Bin 0 -> 6096 bytes .../net/swordie/ms/life/drop/DropInfo.class | Bin 0 -> 4241 bytes .../net/swordie/ms/life/mob/EscortDest.class | Bin 0 -> 972 bytes .../swordie/ms/life/mob/ForcedMobStat.class | Bin 0 -> 3827 bytes bin/classes/net/swordie/ms/life/mob/Mob.class | Bin 0 -> 81558 bytes .../net/swordie/ms/life/mob/MobStat$1.class | Bin 0 -> 993 bytes .../net/swordie/ms/life/mob/MobStat.class | Bin 0 -> 12536 bytes .../ms/life/mob/MobTemporaryStat.class | Bin 0 -> 25769 bytes .../ms/life/mob/boss/demian/Demian.class | Bin 0 -> 2971 bytes .../mob/boss/demian/stigma/DemianStigma.class | Bin 0 -> 5005 bytes .../stigma/DemianStigmaIncinerateObject.class | Bin 0 -> 1403 bytes .../demian/stigma/StigmaDeliveryType.class | Bin 0 -> 2787 bytes .../boss/demian/sword/DemianFlyingSword.class | Bin 0 -> 3529 bytes .../demian/sword/DemianFlyingSwordNode.class | Bin 0 -> 3811 bytes .../sword/DemianFlyingSwordNodeType.class | Bin 0 -> 1473 bytes .../sword/DemianFlyingSwordPath$1.class | Bin 0 -> 973 bytes .../sword/DemianFlyingSwordPath$2.class | Bin 0 -> 996 bytes .../demian/sword/DemianFlyingSwordPath.class | Bin 0 -> 5666 bytes .../sword/DemianFlyingSwordPathIdx.class | Bin 0 -> 2909 bytes .../demian/sword/DemianFlyingSwordType.class | Bin 0 -> 2767 bytes .../ms/life/mob/skill/BurnedInfo.class | Bin 0 -> 5644 bytes .../ms/life/mob/skill/MobSkill$1.class | Bin 0 -> 1300 bytes .../ms/life/mob/skill/MobSkill$2.class | Bin 0 -> 3988 bytes .../swordie/ms/life/mob/skill/MobSkill.class | Bin 0 -> 25089 bytes .../ms/life/mob/skill/MobSkillID$1.class | Bin 0 -> 1071 bytes .../ms/life/mob/skill/MobSkillID.class | Bin 0 -> 10833 bytes .../ms/life/mob/skill/MobSkillStat.class | Bin 0 -> 4241 bytes .../ms/life/mob/skill/ShootingMoveStat.class | Bin 0 -> 1874 bytes .../ms/life/movement/MovePathAttribute.class | Bin 0 -> 6725 bytes .../swordie/ms/life/movement/Movement.class | Bin 0 -> 588 bytes .../ms/life/movement/MovementAction.class | Bin 0 -> 1554 bytes .../ms/life/movement/MovementAngle.class | Bin 0 -> 2204 bytes .../ms/life/movement/MovementBase.class | Bin 0 -> 2968 bytes .../life/movement/MovementFlyingBlock.class | Bin 0 -> 2092 bytes .../ms/life/movement/MovementInfo.class | Bin 0 -> 5137 bytes .../ms/life/movement/MovementJump.class | Bin 0 -> 2194 bytes .../ms/life/movement/MovementNew1.class | Bin 0 -> 1878 bytes .../ms/life/movement/MovementNormal.class | Bin 0 -> 2560 bytes .../ms/life/movement/MovementOffsetX.class | Bin 0 -> 1870 bytes .../life/movement/MovementStartFallDown.class | Bin 0 -> 2160 bytes .../ms/life/movement/MovementStatChange.class | Bin 0 -> 1222 bytes .../ms/life/movement/MovementTeleport.class | Bin 0 -> 1970 bytes bin/classes/net/swordie/ms/life/npc/Npc.class | Bin 0 -> 8416 bytes .../npc/NpcMessageType$ResponseType.class | Bin 0 -> 1343 bytes .../swordie/ms/life/npc/NpcMessageType.class | Bin 0 -> 7009 bytes .../ms/life/npc/NpcScriptInfo$Param.class | Bin 0 -> 2542 bytes .../swordie/ms/life/npc/NpcScriptInfo.class | Bin 0 -> 7765 bytes .../net/swordie/ms/life/npc/ScreenInfo.class | Bin 0 -> 1005 bytes bin/classes/net/swordie/ms/life/pet/Pet.class | Bin 0 -> 3980 bytes .../net/swordie/ms/life/pet/PetSkill.class | Bin 0 -> 1979 bytes .../swordie/ms/loaders/DatSerializable.class | Bin 0 -> 325 bytes .../net/swordie/ms/loaders/DataClasses.class | Bin 0 -> 1227 bytes .../DressingRoom$DressingRoomType.class | Bin 0 -> 3251 bytes .../net/swordie/ms/loaders/DressingRoom.class | Bin 0 -> 5491 bytes .../net/swordie/ms/loaders/DropData.class | Bin 0 -> 6517 bytes .../net/swordie/ms/loaders/EffectData.class | Bin 0 -> 5189 bytes .../net/swordie/ms/loaders/EtcData.class | Bin 0 -> 12497 bytes .../net/swordie/ms/loaders/FieldData.class | Bin 0 -> 31476 bytes .../net/swordie/ms/loaders/ItemData.class | Bin 0 -> 77385 bytes .../net/swordie/ms/loaders/MobData.class | Bin 0 -> 40137 bytes .../ms/loaders/MonsterCollectionData.class | Bin 0 -> 7992 bytes .../net/swordie/ms/loaders/NpcData.class | Bin 0 -> 10501 bytes .../net/swordie/ms/loaders/QuestData.class | Bin 0 -> 31869 bytes .../net/swordie/ms/loaders/ReactorData.class | Bin 0 -> 10242 bytes .../net/swordie/ms/loaders/SkillData.class | Bin 0 -> 50937 bytes .../net/swordie/ms/loaders/StringData.class | Bin 0 -> 24765 bytes .../ms/loaders/StyleRoom$StyleRoomType.class | Bin 0 -> 2670 bytes .../net/swordie/ms/loaders/StyleRoom.class | Bin 0 -> 6752 bytes .../net/swordie/ms/loaders/VCoreData.class | Bin 0 -> 13814 bytes .../containerclasses/AndroidInfo.class | Bin 0 -> 1569 bytes .../loaders/containerclasses/Cosmetic.class | Bin 0 -> 739 bytes .../loaders/containerclasses/EquipDrop.class | Bin 0 -> 1261 bytes .../loaders/containerclasses/ItemInfo.class | Bin 0 -> 10970 bytes .../containerclasses/ItemRewardInfo.class | Bin 0 -> 1396 bytes .../ms/loaders/containerclasses/ItemSet.class | Bin 0 -> 2744 bytes .../MakingSkillRecipe$TargetElem.class | Bin 0 -> 1094 bytes .../containerclasses/MakingSkillRecipe.class | Bin 0 -> 9376 bytes .../containerclasses/MobSkillInfo.class | Bin 0 -> 4802 bytes .../MonsterCollectionGroupRewardInfo.class | Bin 0 -> 1613 bytes .../MonsterCollectionMobInfo.class | Bin 0 -> 1762 bytes .../MonsterCollectionSessionRewardInfo.class | Bin 0 -> 1418 bytes .../ms/loaders/containerclasses/PetInfo.class | Bin 0 -> 8984 bytes .../loaders/containerclasses/QuestInfo.class | Bin 0 -> 8973 bytes .../containerclasses/ReactorInfo.class | Bin 0 -> 4770 bytes .../containerclasses/SkillStringInfo.class | Bin 0 -> 1879 bytes .../loaders/containerclasses/VCoreInfo.class | Bin 0 -> 2983 bytes .../loaders/containerclasses/VNodeInfo.class | Bin 0 -> 931 bytes .../ms/scripts/FieldTransferInfo.class | Bin 0 -> 2848 bytes .../net/swordie/ms/scripts/ScriptInfo.class | Bin 0 -> 3886 bytes .../swordie/ms/scripts/ScriptManager.class | Bin 0 -> 5721 bytes .../ms/scripts/ScriptManagerImpl$1.class | Bin 0 -> 1840 bytes .../ms/scripts/ScriptManagerImpl.class | Bin 0 -> 133677 bytes .../net/swordie/ms/scripts/ScriptMemory.class | Bin 0 -> 2066 bytes .../net/swordie/ms/scripts/ScriptType.class | Bin 0 -> 1701 bytes .../scripts/scriptMaker/ScriptMaker$1.class | Bin 0 -> 3296 bytes .../ms/scripts/scriptMaker/ScriptMaker.class | Bin 0 -> 20698 bytes .../scriptMaker/ScriptPacketParser$1.class | Bin 0 -> 5999 bytes .../scriptMaker/ScriptPacketParser.class | Bin 0 -> 31584 bytes .../util/AntiMacro$AntiMacroResultType.class | Bin 0 -> 2307 bytes .../ms/util/AntiMacro$AntiMacroType.class | Bin 0 -> 2316 bytes .../net/swordie/ms/util/AntiMacro.class | Bin 0 -> 2997 bytes .../net/swordie/ms/util/FileTime$Type.class | Bin 0 -> 1744 bytes .../net/swordie/ms/util/FileTime.class | Bin 0 -> 7186 bytes .../net/swordie/ms/util/FileoutputUtil.class | Bin 0 -> 8500 bytes .../net/swordie/ms/util/HeapDumper.class | Bin 0 -> 2671 bytes .../net/swordie/ms/util/IntegerValue.class | Bin 0 -> 176 bytes bin/classes/net/swordie/ms/util/Loader.class | Bin 0 -> 426 bytes .../net/swordie/ms/util/MetaProgramming.class | Bin 0 -> 14226 bytes .../net/swordie/ms/util/Position.class | Bin 0 -> 2238 bytes .../net/swordie/ms/util/Randomizer.class | Bin 0 -> 1479 bytes bin/classes/net/swordie/ms/util/Rect.class | Bin 0 -> 3836 bytes bin/classes/net/swordie/ms/util/Saver.class | Bin 0 -> 424 bytes .../swordie/ms/util/SharkPropertyMaker.class | Bin 0 -> 2607 bytes .../net/swordie/ms/util/StringUtil.class | Bin 0 -> 5252 bytes .../net/swordie/ms/util/SystemTime.class | Bin 0 -> 1312 bytes bin/classes/net/swordie/ms/util/Util.class | Bin 0 -> 13485 bytes bin/classes/net/swordie/ms/util/XMLApi.class | Bin 0 -> 5192 bytes .../swordie/ms/util/container/Triple.class | Bin 0 -> 1660 bytes .../net/swordie/ms/util/container/Tuple.class | Bin 0 -> 1803 bytes .../net/swordie/ms/util/dsl/SWEntity.class | Bin 0 -> 2968 bytes .../net/swordie/ms/util/dsl/SWParser.class | Bin 0 -> 2883 bytes .../net/swordie/ms/world/Channel.class | Bin 0 -> 8324 bytes bin/classes/net/swordie/ms/world/World.class | Bin 0 -> 19334 bytes .../ms/world/auction/AuctionEnum.class | Bin 0 -> 273 bytes .../ms/world/auction/AuctionInvType$1.class | Bin 0 -> 942 bytes .../ms/world/auction/AuctionInvType.class | Bin 0 -> 4576 bytes .../ms/world/auction/AuctionItem.class | Bin 0 -> 9025 bytes .../ms/world/auction/AuctionPotType$1.class | Bin 0 -> 945 bytes .../ms/world/auction/AuctionPotType.class | Bin 0 -> 2682 bytes .../ms/world/auction/AuctionResult$1.class | Bin 0 -> 1270 bytes .../ms/world/auction/AuctionResult.class | Bin 0 -> 6278 bytes .../ms/world/auction/AuctionType.class | Bin 0 -> 4045 bytes .../auction/armor/AuctionAccType$1.class | Bin 0 -> 1313 bytes .../world/auction/armor/AuctionAccType.class | Bin 0 -> 3233 bytes .../armor/AuctionArmorFirstType$1.class | Bin 0 -> 922 bytes .../auction/armor/AuctionArmorFirstType.class | Bin 0 -> 3020 bytes .../auction/armor/AuctionArmorType$1.class | Bin 0 -> 1078 bytes .../auction/armor/AuctionArmorType.class | Bin 0 -> 2756 bytes .../auction/armor/AuctionEtcArmorType$1.class | Bin 0 -> 1026 bytes .../auction/armor/AuctionEtcArmorType.class | Bin 0 -> 3007 bytes .../auction/cash/AuctionBeautyType.class | Bin 0 -> 1890 bytes .../world/auction/cash/AuctionBoostType.class | Bin 0 -> 1778 bytes .../auction/cash/AuctionCashEtcType.class | Bin 0 -> 1690 bytes .../auction/cash/AuctionCashType$1.class | Bin 0 -> 1017 bytes .../world/auction/cash/AuctionCashType.class | Bin 0 -> 2759 bytes .../world/auction/cash/AuctionGameType.class | Bin 0 -> 1896 bytes .../world/auction/cash/AuctionLabelType.class | Bin 0 -> 1703 bytes .../auction/cash/AuctionOutfitType.class | Bin 0 -> 2435 bytes .../world/auction/cash/AuctionPetType.class | Bin 0 -> 1878 bytes .../world/auction/etc/AuctionChairType.class | Bin 0 -> 1668 bytes .../world/auction/etc/AuctionEtcType$1.class | Bin 0 -> 827 bytes .../ms/world/auction/etc/AuctionEtcType.class | Bin 0 -> 2238 bytes .../auction/etc/AuctionProfessionType.class | Bin 0 -> 1705 bytes .../auction/use/AuctionAlchemyType.class | Bin 0 -> 1840 bytes .../auction/use/AuctionConsumeEtcType.class | Bin 0 -> 1867 bytes .../world/auction/use/AuctionRecipeType.class | Bin 0 -> 1841 bytes .../auction/use/AuctionRecoveryType.class | Bin 0 -> 1797 bytes .../world/auction/use/AuctionScrollType.class | Bin 0 -> 2070 bytes .../auction/use/AuctionSkillBookType.class | Bin 0 -> 1698 bytes .../world/auction/use/AuctionUseType$1.class | Bin 0 -> 1027 bytes .../ms/world/auction/use/AuctionUseType.class | Bin 0 -> 3230 bytes .../weapon/AuctionOneHandedWeaponType$1.class | Bin 0 -> 1598 bytes .../weapon/AuctionOneHandedWeaponType.class | Bin 0 -> 4107 bytes .../weapon/AuctionSecondaryType$1.class | Bin 0 -> 2379 bytes .../auction/weapon/AuctionSecondaryType.class | Bin 0 -> 4589 bytes .../weapon/AuctionTwoHandedWeaponType$1.class | Bin 0 -> 1531 bytes .../weapon/AuctionTwoHandedWeaponType.class | Bin 0 -> 3957 bytes .../weapon/AuctionWeaponFirstType$1.class | Bin 0 -> 943 bytes .../weapon/AuctionWeaponFirstType.class | Bin 0 -> 2625 bytes .../swordie/ms/world/event/BossType$1.class | Bin 0 -> 1359 bytes .../net/swordie/ms/world/event/BossType.class | Bin 0 -> 4033 bytes .../net/swordie/ms/world/field/Clock$1.class | Bin 0 -> 838 bytes .../net/swordie/ms/world/field/Clock.class | Bin 0 -> 5980 bytes .../ms/world/field/ClockPacket$1.class | Bin 0 -> 1168 bytes .../swordie/ms/world/field/ClockPacket.class | Bin 0 -> 3694 bytes .../net/swordie/ms/world/field/Field.class | Bin 0 -> 78319 bytes .../swordie/ms/world/field/FieldCustom.class | Bin 0 -> 1319 bytes .../ms/world/field/FieldInstanceType.class | Bin 0 -> 1258 bytes .../net/swordie/ms/world/field/Foothold.class | Bin 0 -> 4597 bytes .../net/swordie/ms/world/field/Instance.class | Bin 0 -> 9410 bytes .../ms/world/field/MapTaggedObject.class | Bin 0 -> 1817 bytes .../net/swordie/ms/world/field/MobGen.class | Bin 0 -> 3468 bytes .../net/swordie/ms/world/field/Portal.class | Bin 0 -> 4417 bytes .../swordie/ms/world/field/PortalType.class | Bin 0 -> 3619 bytes .../field/bosses/gollux/FallingCatcher.class | Bin 0 -> 1759 bytes .../gollux/GolluxMiniMapFieldClearType.class | Bin 0 -> 1666 bytes .../world/field/bosses/lucid/Butterfly.class | Bin 0 -> 1124 bytes .../bosses/lucid/ButterflyActionType.class | Bin 0 -> 1512 bytes .../field/bosses/lucid/ButterflyType.class | Bin 0 -> 1776 bytes .../world/field/bosses/lucid/FairyDust.class | Bin 0 -> 1180 bytes .../field/bosses/lucid/LucidSkillType.class | Bin 0 -> 3157 bytes .../field/fieldeffect/FieldEffect$1.class | Bin 0 -> 1936 bytes .../world/field/fieldeffect/FieldEffect.class | Bin 0 -> 11293 bytes .../field/fieldeffect/FieldEffectType.class | Bin 0 -> 4395 bytes .../field/fieldeffect/GreyFieldType.class | Bin 0 -> 2824 bytes .../field/obtacleatom/ObtacleAtomInfo.class | Bin 0 -> 5025 bytes .../obtacleatom/ObtacleDiagonalInfo.class | Bin 0 -> 1874 bytes .../field/obtacleatom/ObtacleInRowInfo.class | Bin 0 -> 2099 bytes .../field/obtacleatom/ObtacleRadianInfo.class | Bin 0 -> 1832 bytes .../ms/world/gach/GachaponConstants.class | Bin 0 -> 4469 bytes .../ms/world/gach/GachaponInfo$GachItem.class | Bin 0 -> 807 bytes .../swordie/ms/world/gach/GachaponInfo.class | Bin 0 -> 1943 bytes .../ms/world/gach/GachaponManager.class | Bin 0 -> 3016 bytes .../world/gach/result/GachaponDlgType.class | Bin 0 -> 1502 bytes .../ms/world/gach/result/GachaponResult.class | Bin 0 -> 1644 bytes .../swordie/ms/world/shop/BuyLimitInfo.class | Bin 0 -> 1806 bytes .../swordie/ms/world/shop/NpcShopDlg.class | Bin 0 -> 5171 bytes .../swordie/ms/world/shop/NpcShopItem.class | Bin 0 -> 9487 bytes .../ms/world/shop/ShopRequestType.class | Bin 0 -> 2665 bytes .../swordie/ms/world/shop/ShopTabIndex.class | Bin 0 -> 2117 bytes .../ms/world/shop/cashshop/CashItemInfo.class | Bin 0 -> 6898 bytes .../ms/world/shop/cashshop/CashShop.class | Bin 0 -> 8692 bytes .../shop/cashshop/CashShopCategory$Flag.class | Bin 0 -> 1380 bytes .../shop/cashshop/CashShopCategory.class | Bin 0 -> 3778 bytes .../CashShopItem$CashShopItemFlag.class | Bin 0 -> 1773 bytes .../ms/world/shop/cashshop/CashShopItem.class | Bin 0 -> 12747 bytes .../ms/world/shop/result/ShopResult$1.class | Bin 0 -> 866 bytes .../ms/world/shop/result/ShopResult.class | Bin 0 -> 2969 bytes .../ms/world/shop/result/ShopResultType.class | Bin 0 -> 7052 bytes config.properties | 1 + pom.xml | 137 + properties/CP_207-1.properties | 952 + properties/LP_207-1.properties | 1509 ++ resources/Data.wz | Bin 0 -> 3560 bytes resources/Data2.wz | Bin 0 -> 3560 bytes resources/ItemHandler v213.java | 1397 ++ resources/antimacro_fonts/AmaticSC.ttf | Bin 0 -> 151624 bytes resources/antimacro_fonts/Audiowide.ttf | Bin 0 -> 69916 bytes resources/antimacro_fonts/Caveat.ttf | Bin 0 -> 234240 bytes .../antimacro_fonts/CoveredByYourGrace.ttf | Bin 0 -> 57040 bytes resources/antimacro_fonts/Rajdhani.ttf | Bin 0 -> 383928 bytes resources/antimacro_fonts/Srisakdi.ttf | Bin 0 -> 96252 bytes resources/consume_2435163.py | 672 + resources/consume_2437025.py | 1883 ++ resources/mountsFromItem.txt | 523 + resources/random damage skins.py | 655 + resources/shops.sw | 19411 ++++++++++++++++ scripts/field/100000004_enter.py | 45 + scripts/field/58923_direction.py | 20 + scripts/field/58924_direction.py | 20 + scripts/field/Advanture_tuto04.py | 14 + scripts/field/Advanture_tuto11.py | 82 + scripts/field/Advanture_tuto11_default.py | 66 + scripts/field/Advanture_tuto33.py | 7 + scripts/field/Akayrum_Before.py | 2 + scripts/field/Akayrum_Before2.py | 3 + scripts/field/Akayrum_ExpeditionEnter.py | 0 scripts/field/Commerci.py | 205 + scripts/field/Commerci1.py | 205 + scripts/field/Commerci2.py | 205 + scripts/field/Commerci3.py | 205 + scripts/field/Commerci4.py | 205 + scripts/field/Curbrock_Scene0.py | 5 + scripts/field/Curbrock_Scene1.py | 4 + scripts/field/Curbrock_Summon0.py | 7 + scripts/field/Curbrock_Summon1.py | 11 + scripts/field/Curbrock_Summon2.py | 11 + scripts/field/Fenter_450004250.py | 3 + scripts/field/Fritto_Eagle.py | 1 + scripts/field/Fritto_Eagle_Enter.py | 1 + scripts/field/Fritto_Egg_Enter.py | 3 + scripts/field/GiantBossField.py | 0 scripts/field/GiantBoss_Head.py | 0 scripts/field/GiantBoss_Head_First_Enter.py | 39 + scripts/field/GiantBoss_Hip.py | 13 + scripts/field/GiantBoss_LArm.py | 11 + scripts/field/GiantBoss_RArm.py | 11 + scripts/field/GiantBoss_field.py | 9 + scripts/field/HeadScript1.py | 8 + scripts/field/HeadScript2.py | 8 + scripts/field/HeadScript3.py | 8 + scripts/field/HorntailFight.py | 39 + scripts/field/P3_Event1_Start.py | 8 + scripts/field/PTjob1.py | 21 + scripts/field/PTjob2M.py | 5 + scripts/field/PTjob2M2.py | 6 + scripts/field/PTtutor000.py | 50 + scripts/field/PTtutor100.py | 22 + scripts/field/PTtutor300.py | 21 + scripts/field/PTtutor301.py | 8 + scripts/field/PTtutor500.py | 226 + scripts/field/PinkBeenJob_Event.py | 0 scripts/field/PinkBeen_before.py | 45 + scripts/field/Polo_Wave.py | 37 + scripts/field/PrincessNo.py | 0 scripts/field/PrincessNo_summon.py | 1 + scripts/field/PromiseDragon.py | 2 + scripts/field/Ranmaru_Before.py | 6 + scripts/field/Ranmaru_ExpeditionEnter.py | 9 + scripts/field/Ranmaru_ExpeditionEnter2.py | 7 + scripts/field/Resi_tutor10.py | 34 + scripts/field/Resi_tutor20.py | 2 + scripts/field/Resi_tutor30.py | 2 + scripts/field/Resi_tutor40.py | 30 + scripts/field/Resi_tutor50.py | 21 + scripts/field/Resi_tutor50_1.py | 0 scripts/field/Resi_tutor60.py | 9 + scripts/field/Resi_tutor70.py | 1 + scripts/field/Resi_tutor80.py | 1 + scripts/field/SailField.py | 0 scripts/field/ShipLevel.py | 9 + scripts/field/Sky_GateMapEnter.py | 3 + scripts/field/Sky_Quest.py | 4 + scripts/field/Sky_StageEnter.py | 39 + scripts/field/StageMsg_crack.py | 48 + scripts/field/StageMsg_davy.py | 19 + scripts/field/StageUserEnterSengo.py | 49 + scripts/field/UMField.py | 5 + scripts/field/VanLeon_Before.py | 7 + scripts/field/VisitorleaveDirectionMode.py | 4 + scripts/field/WUK_enter.py | 5 + scripts/field/WU_moonRabbit.py | 0 scripts/field/WUmoonrabbit_count.py | 5 + scripts/field/WUmoonrabbit_mapEnter.py | 10 + scripts/field/abysscave_ent.py | 10 + scripts/field/achieve_davy.py | 4 + scripts/field/agite_sion.py | 15 + scripts/field/angelic_tuto0.py | 108 + scripts/field/angelic_tuto1.py | 153 + scripts/field/angelic_tuto10.py | 28 + scripts/field/angelic_tuto10_0.py | 31 + scripts/field/angelic_tuto11.py | 137 + scripts/field/angelic_tuto12.py | 114 + scripts/field/angelic_tuto2.py | 145 + scripts/field/angelic_tuto2_0.py | 7 + scripts/field/angelic_tuto3.py | 124 + scripts/field/angelic_tuto3_0.py | 10 + scripts/field/angelic_tuto4.py | 91 + scripts/field/angelic_tuto5.py | 72 + scripts/field/angelic_tuto6.py | 154 + scripts/field/angelic_tuto6_0.py | 7 + scripts/field/angelic_tuto7.py | 34 + scripts/field/angelic_tuto7_0.py | 33 + scripts/field/angelic_tuto7_1.py | 7 + scripts/field/angelic_tuto8.py | 25 + scripts/field/angelic_tuto8_0.py | 91 + scripts/field/angelic_tuto8_1.py | 7 + scripts/field/angelic_tuto9.py | 29 + scripts/field/angelic_tuto9_0.py | 120 + scripts/field/angelic_tuto9_1.py | 7 + scripts/field/angelic_tutoA.py | 39 + scripts/field/angelic_tutoB.py | 14 + scripts/field/angelic_tutoC.py | 15 + scripts/field/aranDirection.py | 11 + scripts/field/aranTutorAlone.py | 42 + scripts/field/aranTutorMobgen.py | 19 + scripts/field/arcanaBoss2.py | 3 + scripts/field/arcanaCave_mapEnter.py | 5 + scripts/field/arcane1MO_1.py | 2 + scripts/field/arcane1MO_2_2.py | 2 + scripts/field/ark_mPark.py | 6 + scripts/field/babyPigMap.py | 1 + scripts/field/badDream1.py | 24 + scripts/field/badDream2.py | 6 + scripts/field/badDream3.py | 20 + scripts/field/badDream4.py | 31 + scripts/field/badDream5.py | 16 + scripts/field/badDream6.py | 26 + scripts/field/badDream7.py | 18 + scripts/field/badDream8.py | 16 + scripts/field/balog_summon.py | 16 + scripts/field/banban_Summon.py | 7 + scripts/field/bellderos_summon.py | 13 + scripts/field/bhb1_scEnterHp.py | 9 + scripts/field/bhb2_scEnterHp.py | 20 + scripts/field/bhb2_scenario.py | 17 + scripts/field/bhb3_scenario.py | 23 + scripts/field/blackHeavenBoss1_scenario.py | 17 + scripts/field/blackHeavenBoss1_summon.py | 6 + scripts/field/blackHeavenBoss1n_summon.py | 6 + scripts/field/blackHeavenBoss2_summon.py | 6 + scripts/field/blackHeavenBoss2n_summon.py | 6 + scripts/field/blackHeavenBoss3_summon.py | 8 + scripts/field/blackHeavenBoss3n_summon.py | 8 + scripts/field/blackSlimeBoss.py | 7 + scripts/field/blackgateCityFirstEnter.py | 2 + scripts/field/boss_blackvikign.py | 42 + scripts/field/cannon_tuto_01.py | 21 + scripts/field/cannon_tuto_02.py | 24 + scripts/field/cannon_tuto_03.py | 122 + scripts/field/cannon_tuto_direction.py | 3 + scripts/field/cannon_tuto_direction1.py | 11 + scripts/field/cannon_tuto_direction2.py | 4 + scripts/field/captain_lat_enter.py | 1 + scripts/field/chaos_summon_zakum.py | 14 + scripts/field/chaos_zakum_enter.py | 0 scripts/field/check_count.py | 4 + scripts/field/check_q20833.py | 5 + scripts/field/clearBossDirection1.py | 35 + scripts/field/crash_Dragon.py | 2 + scripts/field/crimsonSniping.py | 13 + scripts/field/crossHunter_q1608.py | 10 + scripts/field/crossHunter_q1626.py | 6 + scripts/field/cygnus_Minimap.py | 50 + scripts/field/cygnus_Summon.py | 2 + scripts/field/cygnus_Summon_Easy.py | 2 + scripts/field/cygnus_blackhole.py | 11 + scripts/field/cygnus_nightmare.py | 13 + scripts/field/cygnus_nightmare2.py | 9 + scripts/field/da_JobChange4.py | 1 + scripts/field/defeat_mob.py | 38 + scripts/field/defeat_mob2.py | 38 + scripts/field/demon_jobChange0.py | 3 + scripts/field/demon_jobChange1.py | 55 + scripts/field/direction_eunwol_house.py | 37 + scripts/field/direction_foxvillage.py | 89 + scripts/field/dojang_Eff.py | 160 + scripts/field/dojang_Msg.py | 6 + scripts/field/dojang_QcheckSet.py | 13 + scripts/field/dojang_hall.py | 1 + scripts/field/drop_etc.py | 3 + scripts/field/ds_JobChange4_0.py | 4 + scripts/field/ds_JobChange4_1.py | 10 + scripts/field/ds_enter_home.py | 8 + scripts/field/ds_tuto_0_0.py | 82 + scripts/field/ds_tuto_0_1.py | 9 + scripts/field/ds_tuto_0_2.py | 73 + scripts/field/ds_tuto_0_3.py | 2 + scripts/field/ds_tuto_1_0.py | 106 + scripts/field/ds_tuto_1_1.py | 11 + scripts/field/ds_tuto_1_before.py | 12 + scripts/field/ds_tuto_2_1.py | 28 + scripts/field/ds_tuto_2_2.py | 82 + scripts/field/ds_tuto_2_3.py | 7 + scripts/field/ds_tuto_2_before.py | 14 + scripts/field/ds_tuto_2_prep.py | 12 + scripts/field/ds_tuto_3_0.py | 85 + scripts/field/ds_tuto_3_1.py | 121 + scripts/field/ds_tuto_4_0.py | 41 + scripts/field/ds_tuto_4_1.py | 58 + scripts/field/ds_tuto_5_0.py | 140 + scripts/field/ds_tuto_ani.py | 5 + scripts/field/ds_tuto_home_before.py | 11 + scripts/field/dubl2Tuto0.py | 9 + scripts/field/dubl2Tuto0_0.py | 11 + scripts/field/dublTuto21.py | 8 + scripts/field/dublTuto23.py | 3 + scripts/field/easy_balog_summon.py | 15 + scripts/field/easy_zakum_enter.py | 9 + scripts/field/enterAswanField.py | 11 + scripts/field/enterBossDirection0.py | 10 + scripts/field/enter_100051010.py | 32 + scripts/field/enter_100051021.py | 10 + scripts/field/enter_100051022.py | 76 + scripts/field/enter_100051030.py | 3 + scripts/field/enter_100051031.py | 28 + scripts/field/enter_100051033.py | 47 + scripts/field/enter_100051034.py | 70 + scripts/field/enter_100051040.py | 33 + scripts/field/enter_100051042.py | 11 + scripts/field/enter_100051043.py | 53 + scripts/field/enter_100051044.py | 45 + scripts/field/enter_101000100.py | 13 + scripts/field/enter_101020100.py | 10 + scripts/field/enter_101020400.py | 0 scripts/field/enter_101020401.py | 6 + scripts/field/enter_101070001.py | 22 + scripts/field/enter_101072001.py | 21 + scripts/field/enter_101072002.py | 45 + scripts/field/enter_101073010.py | 7 + scripts/field/enter_101073110.py | 9 + scripts/field/enter_101073201.py | 30 + scripts/field/enter_101073300.py | 8 + scripts/field/enter_101074000.py | 6 + scripts/field/enter_101074001.py | 5 + scripts/field/enter_101080000.py | 31 + scripts/field/enter_101081300.py | 29 + scripts/field/enter_101082000.py | 5 + scripts/field/enter_106030100.py | 5 + scripts/field/enter_106031000.py | 49 + scripts/field/enter_106031001.py | 49 + scripts/field/enter_106031002.py | 79 + scripts/field/enter_106031003.py | 40 + scripts/field/enter_106031100.py | 9 + scripts/field/enter_106031210.py | 48 + scripts/field/enter_106031504.py | 24 + scripts/field/enter_120040300.py | 2 + scripts/field/enter_141000000.py | 2 + scripts/field/enter_141010400.py | 1 + scripts/field/enter_141040001.py | 6 + scripts/field/enter_141040002.py | 41 + scripts/field/enter_141040003.py | 101 + scripts/field/enter_141050000.py | 5 + scripts/field/enter_141050300.py | 2 + scripts/field/enter_141050400.py | 6 + scripts/field/enter_141060000.py | 9 + scripts/field/enter_23210.py | 5 + scripts/field/enter_23214.py | 5 + scripts/field/enter_23615.py | 36 + scripts/field/enter_270000000.py | 4 + scripts/field/enter_301000000.py | 1 + scripts/field/enter_301070010.py | 3 + scripts/field/enter_302000000.py | 5 + scripts/field/enter_331000000.py | 14 + scripts/field/enter_331001000.py | 10 + scripts/field/enter_331001100.py | 49 + scripts/field/enter_331001110.py | 96 + scripts/field/enter_331001120.py | 25 + scripts/field/enter_331001130.py | 45 + scripts/field/enter_331002000.py | 8 + scripts/field/enter_331002100.py | 10 + scripts/field/enter_331002300.py | 25 + scripts/field/enter_331002400.py | 25 + scripts/field/enter_331002500.py | 84 + scripts/field/enter_331003000.py | 11 + scripts/field/enter_331003100.py | 36 + scripts/field/enter_331003200.py | 36 + scripts/field/enter_331003300.py | 23 + scripts/field/enter_331005110.py | 174 + scripts/field/enter_331005120.py | 98 + scripts/field/enter_400000000.py | 5 + scripts/field/enter_402000000.py | 4 + scripts/field/enter_402000002.py | 42 + scripts/field/enter_402000110.py | 2 + scripts/field/enter_402000111.py | 2 + scripts/field/enter_402000402.py | 100 + scripts/field/enter_402000501.py | 53 + scripts/field/enter_402000502.py | 42 + scripts/field/enter_402000504.py | 34 + scripts/field/enter_402000509.py | 18 + scripts/field/enter_402000510.py | 25 + scripts/field/enter_402000512.py | 24 + scripts/field/enter_402000513.py | 8 + scripts/field/enter_402000514.py | 36 + scripts/field/enter_402000519.py | 32 + scripts/field/enter_402000520.py | 49 + scripts/field/enter_402000521.py | 89 + scripts/field/enter_402000522.py | 37 + scripts/field/enter_402000523.py | 97 + scripts/field/enter_402000526.py | 103 + scripts/field/enter_402000527.py | 162 + scripts/field/enter_402000528.py | 82 + scripts/field/enter_402000529.py | 43 + scripts/field/enter_402000530.py | 141 + scripts/field/enter_402000531.py | 72 + scripts/field/enter_402000532.py | 77 + scripts/field/enter_402000533.py | 148 + scripts/field/enter_402000534.py | 17 + scripts/field/enter_402000535.py | 32 + scripts/field/enter_402000600.py | 64 + scripts/field/enter_402000614.py | 173 + scripts/field/enter_402000615.py | 147 + scripts/field/enter_402000620.py | 15 + scripts/field/enter_402000630.py | 39 + scripts/field/enter_402000633.py | 34 + scripts/field/enter_402000635.py | 148 + scripts/field/enter_402000640.py | 98 + scripts/field/enter_402000644.py | 168 + scripts/field/enter_402090000.py | 274 + scripts/field/enter_402090001.py | 259 + scripts/field/enter_402090002.py | 136 + scripts/field/enter_402090003.py | 167 + scripts/field/enter_402090004.py | 104 + scripts/field/enter_402090005.py | 87 + scripts/field/enter_402090006.py | 81 + scripts/field/enter_402090007.py | 188 + scripts/field/enter_402090009.py | 220 + scripts/field/enter_402090010.py | 93 + scripts/field/enter_402090011.py | 141 + scripts/field/enter_402090012.py | 64 + scripts/field/enter_402090013.py | 107 + scripts/field/enter_450000200.py | 19 + scripts/field/enter_450001000.py | 1 + scripts/field/enter_450001218.py | 1 + scripts/field/enter_450001219.py | 2 + scripts/field/enter_450001250.py | 11 + scripts/field/enter_450001300.py | 110 + scripts/field/enter_450001310.py | 8 + scripts/field/enter_450001320.py | 9 + scripts/field/enter_450001330.py | 54 + scripts/field/enter_450001340.py | 16 + scripts/field/enter_450001350.py | 7 + scripts/field/enter_450001360.py | 55 + scripts/field/enter_450001370.py | 31 + scripts/field/enter_450001380.py | 66 + scripts/field/enter_450001390.py | 49 + scripts/field/enter_450001550.py | 10 + scripts/field/enter_450002023.py | 5 + scripts/field/enter_450002201.py | 166 + scripts/field/enter_450002202.py | 118 + scripts/field/enter_450002204.py | 82 + scripts/field/enter_450002205.py | 177 + scripts/field/enter_450002250.py | 2 + scripts/field/enter_450003000.py | 2 + scripts/field/enter_450003100.py | 32 + scripts/field/enter_450003330.py | 25 + scripts/field/enter_450003430.py | 37 + scripts/field/enter_450003700.py | 31 + scripts/field/enter_450003710.py | 25 + scripts/field/enter_450003711.py | 114 + scripts/field/enter_450003720.py | 15 + scripts/field/enter_450003730.py | 129 + scripts/field/enter_450003740.py | 56 + scripts/field/enter_450003750.py | 55 + scripts/field/enter_450003760.py | 54 + scripts/field/enter_450003770.py | 71 + scripts/field/enter_450004000.py | 2 + scripts/field/enter_450004100.py | 9 + scripts/field/enter_450004150.py | 10 + scripts/field/enter_450004200.py | 20 + scripts/field/enter_450004300.py | 3 + scripts/field/enter_450005000.py | 6 + scripts/field/enter_450005015.py | 2 + scripts/field/enter_450005400.py | 2 + scripts/field/enter_701210130.py | 11 + scripts/field/enter_701210131.py | 100 + scripts/field/enter_701210161.py | 51 + scripts/field/enter_701220000.py | 2 + scripts/field/enter_701220100.py | 5 + scripts/field/enter_701220300.py | 5 + scripts/field/enter_701220351.py | 26 + scripts/field/enter_701220352.py | 30 + scripts/field/enter_701220400.py | 4 + scripts/field/enter_701220500.py | 5 + scripts/field/enter_701220600.py | 103 + scripts/field/enter_701220601.py | 2 + scripts/field/enter_701220602.py | 36 + scripts/field/enter_701220610.py | 25 + scripts/field/enter_701220710.py | 5 + scripts/field/enter_867200100.py | 12 + scripts/field/enter_867200101.py | 41 + scripts/field/enter_867200102.py | 39 + scripts/field/enter_867200110.py | 3 + scripts/field/enter_867200111.py | 69 + scripts/field/enter_867200200.py | 29 + scripts/field/enter_867200220.py | 6 + scripts/field/enter_867200240.py | 32 + scripts/field/enter_867200260.py | 4 + scripts/field/enter_867200281.py | 71 + scripts/field/enter_867200310.py | 113 + scripts/field/enter_867200330.py | 5 + scripts/field/enter_867200350.py | 3 + scripts/field/enter_867200400.py | 11 + scripts/field/enter_867200401.py | 226 + scripts/field/enter_867200402.py | 61 + scripts/field/enter_867200403.py | 293 + scripts/field/enter_867200404.py | 140 + scripts/field/enter_867200405.py | 179 + scripts/field/enter_867200406.py | 162 + scripts/field/enter_867200407.py | 103 + scripts/field/enter_867200419.py | 70 + scripts/field/enter_867200420.py | 11 + scripts/field/enter_867200460.py | 2 + scripts/field/enter_867200480.py | 4 + scripts/field/enter_867200500.py | 4 + scripts/field/enter_867200501.py | 13 + scripts/field/enter_867200550.py | 3 + scripts/field/enter_867200551.py | 25 + scripts/field/enter_867200552.py | 2 + scripts/field/enter_867200600.py | 91 + scripts/field/enter_867200620.py | 151 + scripts/field/enter_867200621.py | 58 + scripts/field/enter_867200622.py | 60 + scripts/field/enter_867200630.py | 43 + scripts/field/enter_867200650.py | 28 + scripts/field/enter_867200720.py | 35 + scripts/field/enter_867200721.py | 46 + scripts/field/enter_867200722.py | 37 + scripts/field/enter_867200724.py | 33 + scripts/field/enter_867200725.py | 39 + scripts/field/enter_867200800.py | 4 + scripts/field/enter_867200801.py | 123 + scripts/field/enter_867200802.py | 109 + scripts/field/enter_867200810.py | 11 + scripts/field/enter_867200850.py | 28 + scripts/field/enter_867200851.py | 209 + scripts/field/enter_867200852.py | 42 + scripts/field/enter_867200859.py | 131 + scripts/field/enter_867200860.py | 5 + scripts/field/enter_867200900.py | 455 + scripts/field/enter_867200920.py | 7 + scripts/field/enter_867200940.py | 43 + scripts/field/enter_867200960.py | 51 + scripts/field/enter_867200961.py | 110 + scripts/field/enter_867200980.py | 56 + scripts/field/enter_867201000.py | 18 + scripts/field/enter_867201001.py | 178 + scripts/field/enter_867201004.py | 138 + scripts/field/enter_867201005.py | 97 + scripts/field/enter_867201011.py | 200 + scripts/field/enter_867201012.py | 91 + scripts/field/enter_867201020.py | 42 + scripts/field/enter_867201050.py | 3 + scripts/field/enter_867201100.py | 14 + scripts/field/enter_867201101.py | 100 + scripts/field/enter_867201102.py | 299 + scripts/field/enter_867201130.py | 10 + scripts/field/enter_867201150.py | 208 + scripts/field/enter_867201160.py | 3 + scripts/field/enter_867201180.py | 13 + scripts/field/enter_867201200.py | 5 + scripts/field/enter_867201220.py | 5 + scripts/field/enter_867201240.py | 9 + scripts/field/enter_867201260.py | 5 + scripts/field/enter_867201280.py | 58 + scripts/field/enter_867201301.py | 46 + scripts/field/enter_867201320.py | 5 + scripts/field/enter_867201340.py | 14 + scripts/field/enter_867201401.py | 90 + scripts/field/enter_867201501.py | 91 + scripts/field/enter_867201502.py | 104 + scripts/field/enter_867201503.py | 33 + scripts/field/enter_867201510.py | 18 + scripts/field/enter_867201540.py | 5 + scripts/field/enter_867201550.py | 29 + scripts/field/enter_867201560.py | 5 + scripts/field/enter_867201580.py | 45 + scripts/field/enter_867201601.py | 188 + scripts/field/enter_867201602.py | 39 + scripts/field/enter_867201603.py | 35 + scripts/field/enter_867201690.py | 67 + scripts/field/enter_867201700.py | 68 + scripts/field/enter_867201720.py | 62 + scripts/field/enter_867201740.py | 6 + scripts/field/enter_867201760.py | 35 + scripts/field/enter_867201800.py | 2 + scripts/field/enter_867201801.py | 12 + scripts/field/enter_867201802.py | 116 + scripts/field/enter_867201803.py | 48 + scripts/field/enter_867201810.py | 25 + scripts/field/enter_867201820.py | 12 + scripts/field/enter_867201821.py | 4 + scripts/field/enter_867201822.py | 48 + scripts/field/enter_867201900.py | 3 + scripts/field/enter_867201980.py | 150 + scripts/field/enter_867202000.py | 3 + scripts/field/enter_867202050.py | 31 + scripts/field/enter_867202051.py | 30 + scripts/field/enter_867202052.py | 38 + scripts/field/enter_867202053.py | 49 + scripts/field/enter_867202101.py | 6 + scripts/field/enter_867202200.py | 5 + scripts/field/enter_867202201.py | 43 + scripts/field/enter_867202203.py | 36 + scripts/field/enter_867202210.py | 5 + scripts/field/enter_867202230.py | 96 + scripts/field/enter_867202290.py | 112 + scripts/field/enter_867202300.py | 31 + scripts/field/enter_867202301.py | 45 + scripts/field/enter_867202302.py | 15 + scripts/field/enter_867202303.py | 107 + scripts/field/enter_867202304.py | 112 + scripts/field/enter_867202305.py | 167 + scripts/field/enter_867202306.py | 192 + scripts/field/enter_867202307.py | 118 + scripts/field/enter_867202308.py | 214 + scripts/field/enter_867202309.py | 119 + scripts/field/enter_867202310.py | 140 + scripts/field/enter_867202311.py | 10 + scripts/field/enter_867202312.py | 116 + scripts/field/enter_867202313.py | 149 + scripts/field/enter_867202314.py | 120 + scripts/field/enter_867202315.py | 191 + scripts/field/enter_867202316.py | 224 + scripts/field/enter_867202398.py | 135 + scripts/field/enter_867202399.py | 98 + scripts/field/enter_867202401.py | 24 + scripts/field/enter_867202402.py | 26 + scripts/field/enter_867202403.py | 59 + scripts/field/enter_867202404.py | 65 + scripts/field/enter_867202420.py | 27 + scripts/field/enter_867202440.py | 46 + scripts/field/enter_867202460.py | 40 + scripts/field/enter_867202480.py | 26 + scripts/field/enter_867202500.py | 26 + scripts/field/enter_867202600.py | 3 + scripts/field/enter_867202620.py | 7 + scripts/field/enter_867202650.py | 60 + scripts/field/enter_867202651.py | 98 + scripts/field/enter_867202652.py | 61 + scripts/field/enter_867202660.py | 38 + scripts/field/enter_867202680.py | 11 + scripts/field/enter_867202681.py | 38 + scripts/field/enter_867202682.py | 35 + scripts/field/enter_867202683.py | 26 + scripts/field/enter_867202700.py | 65 + scripts/field/enter_867202800.py | 19 + scripts/field/enter_867202880.py | 3 + scripts/field/enter_867202910.py | 301 + scripts/field/enter_867202990.py | 28 + scripts/field/enter_867233001.py | 4 + scripts/field/enter_867235900.py | 143 + scripts/field/enter_867236100.py | 14 + scripts/field/enter_867236150.py | 13 + scripts/field/enter_867236220.py | 21 + scripts/field/enter_867236250.py | 15 + scripts/field/enter_867236300.py | 52 + scripts/field/enter_910090301.py | 74 + scripts/field/enter_910090302.py | 45 + scripts/field/enter_910090303.py | 2 + scripts/field/enter_910090304.py | 61 + scripts/field/enter_910090305.py | 77 + scripts/field/enter_910090306.py | 51 + scripts/field/enter_910090307.py | 153 + scripts/field/enter_910090308.py | 79 + scripts/field/enter_910090309.py | 79 + scripts/field/enter_910090310.py | 59 + scripts/field/enter_910090311.py | 59 + scripts/field/enter_910090312.py | 45 + scripts/field/enter_910090313.py | 95 + scripts/field/enter_910090314.py | 79 + scripts/field/enter_910090350.py | 17 + scripts/field/enter_910143000.py | 69 + scripts/field/enter_910143001.py | 35 + scripts/field/enter_910143002.py | 45 + scripts/field/enter_910143003.py | 81 + scripts/field/enter_910370111.py | 34 + scripts/field/enter_924030000.py | 6 + scripts/field/enter_940021000.py | 117 + scripts/field/enter_940200100.py | 75 + scripts/field/enter_940200101.py | 47 + scripts/field/enter_940200102.py | 32 + scripts/field/enter_940200103.py | 21 + scripts/field/enter_940200104.py | 41 + scripts/field/enter_940200105.py | 61 + scripts/field/enter_940200111.py | 70 + scripts/field/enter_940200112.py | 83 + scripts/field/enter_940200120.py | 36 + scripts/field/enter_940200121.py | 16 + scripts/field/enter_940200122.py | 57 + scripts/field/enter_940200123.py | 35 + scripts/field/enter_940200124.py | 53 + scripts/field/enter_940200125.py | 28 + scripts/field/enter_940200130.py | 49 + scripts/field/enter_940200131.py | 28 + scripts/field/enter_940200132.py | 32 + scripts/field/enter_940200133.py | 39 + scripts/field/enter_940200140.py | 38 + scripts/field/enter_940200141.py | 34 + scripts/field/enter_940200142.py | 60 + scripts/field/enter_940200150.py | 71 + scripts/field/enter_940200151.py | 115 + scripts/field/enter_940200152.py | 73 + scripts/field/enter_940200200.py | 34 + scripts/field/enter_940200202.py | 7 + scripts/field/enter_940200203.py | 40 + scripts/field/enter_940200204.py | 75 + scripts/field/enter_940200205.py | 137 + scripts/field/enter_940200206.py | 11 + scripts/field/enter_940200207.py | 36 + scripts/field/enter_940200210.py | 82 + scripts/field/enter_940200212.py | 54 + scripts/field/enter_940200213.py | 26 + scripts/field/enter_940200214.py | 207 + scripts/field/enter_940200215.py | 132 + scripts/field/enter_940200216.py | 2 + scripts/field/enter_940200217.py | 62 + scripts/field/enter_940200219.py | 59 + scripts/field/enter_940200250.py | 36 + scripts/field/enter_940200251.py | 32 + scripts/field/enter_940200252.py | 29 + scripts/field/enter_940200253.py | 27 + scripts/field/enter_940200255.py | 4 + scripts/field/enter_940200330.py | 14 + scripts/field/enter_940200405.py | 13 + scripts/field/enter_940200500.py | 45 + scripts/field/enter_940200501.py | 52 + scripts/field/enter_940200502.py | 51 + scripts/field/enter_940200600.py | 13 + scripts/field/enter_940202019.py | 108 + scripts/field/enter_940202020.py | 90 + scripts/field/enter_940202021.py | 121 + scripts/field/enter_940202022.py | 54 + scripts/field/enter_940202029.py | 93 + scripts/field/enter_940202030.py | 125 + scripts/field/enter_940202031.py | 33 + scripts/field/enter_940202032.py | 15 + scripts/field/enter_940202033.py | 122 + scripts/field/enter_940202034.py | 383 + scripts/field/enter_940202035.py | 110 + scripts/field/enter_940202036.py | 19 + scripts/field/enter_940202037.py | 34 + scripts/field/enter_940202040.py | 79 + scripts/field/enter_940202041.py | 107 + scripts/field/enter_940202100.py | 19 + scripts/field/enter_940202200.py | 4 + scripts/field/enter_940202300.py | 4 + scripts/field/enter_940202400.py | 41 + scripts/field/enter_940202500.py | 6 + scripts/field/enter_940202600.py | 15 + scripts/field/enter_940202700.py | 4 + scripts/field/enter_940205000.py | 8 + scripts/field/enter_940205900.py | 48 + scripts/field/enter_970072000.py | 8 + scripts/field/enter_970072200.py | 2 + scripts/field/enter_993034000.py | 7 + scripts/field/enter_Elodin.py | 11 + scripts/field/enter_dlep1dir.py | 107 + scripts/field/enter_illium_hunt1.py | 49 + scripts/field/enter_illium_hunt2.py | 37 + scripts/field/enter_masRoom.py | 4 + scripts/field/enter_q25584.py | 5 + scripts/field/enter_q25587e.py | 92 + scripts/field/enter_q25587s.py | 102 + scripts/field/enter_rock_free.py | 29 + scripts/field/enter_skuasDir.py | 32 + scripts/field/enter_skuasDir0.py | 12 + scripts/field/enter_skuasDir4.py | 35 + scripts/field/enter_skuasDir5.py | 36 + scripts/field/enter_skuasStage.py | 13 + scripts/field/enter_spinep0dir.py | 543 + scripts/field/enter_stageEffect.py | 9 + scripts/field/enter_underbase.py | 6 + scripts/field/enter_visitor_1.py | 18 + scripts/field/enter_visitor_2.py | 17 + scripts/field/enter_visitor_3.py | 5 + scripts/field/enter_visitor_4.py | 17 + scripts/field/enter_visitor_5.py | 5 + scripts/field/enter_warZone1_0_1st.py | 28 + scripts/field/enter_warZone1_1_1st.py | 30 + scripts/field/enter_warZone1_1_2nd.py | 32 + scripts/field/eunwol_house.py | 13 + scripts/field/eunwol_tuto_1.py | 41 + scripts/field/eunwol_tuto_1_1.py | 25 + scripts/field/eunwol_tuto_2.py | 154 + scripts/field/eunwol_tuto_2_2.py | 13 + scripts/field/eunwol_tuto_3.py | 102 + scripts/field/eunwol_tuto_3_5.py | 33 + scripts/field/eunwol_tuto_5.py | 36 + scripts/field/eunwol_tuto_6.py | 68 + scripts/field/eunwol_tuto_7.py | 139 + scripts/field/eunwol_tuto_illust.py | 63 + scripts/field/evanAlone.py | 46 + scripts/field/evanLeaveD.py | 5 + scripts/field/evanTogether.py | 1 + scripts/field/event_25735.py | 81 + scripts/field/event_25735_end0.py | 68 + scripts/field/event_25735_end1.py | 36 + scripts/field/event_25744.py | 5 + scripts/field/event_25744_end.py | 59 + scripts/field/event_25852.py | 231 + scripts/field/event_25856.py | 38 + scripts/field/event_25857.py | 25 + scripts/field/evolvingDirection1.py | 24 + scripts/field/evolvingDirection2.py | 111 + scripts/field/evolvingDirection3.py | 14 + scripts/field/evolvingDirection5.py | 35 + scripts/field/evolvingDirection6.py | 17 + scripts/field/explorationPoint.py | 12 + scripts/field/fireWolf_Enter.py | 4 + scripts/field/first_DemianHard1.py | 4 + scripts/field/first_DemianHard2.py | 1 + scripts/field/first_DemianNormal1.py | 29 + scripts/field/first_DemianNormal2.py | 1 + scripts/field/firstenter_bossBlackMage.py | 41 + scripts/field/firstmeet_ayame.py | 46 + scripts/field/foxtree_direction.py | 131 + scripts/field/getDragonEgg.py | 2 + scripts/field/go10000.py | 3 + scripts/field/go1000000.py | 3 + scripts/field/go1010000.py | 3 + scripts/field/go1010100.py | 3 + scripts/field/go1010200.py | 2 + scripts/field/go1010300.py | 2 + scripts/field/go1010400.py | 2 + scripts/field/go1020000.py | 3 + scripts/field/go20000.py | 2 + scripts/field/go2000000.py | 3 + scripts/field/go30000.py | 2 + scripts/field/go40000.py | 3 + scripts/field/go50000.py | 3 + scripts/field/goAdventure.py | 1 + scripts/field/goArcher.py | 5 + scripts/field/goLith.py | 6 + scripts/field/goMagician.py | 5 + scripts/field/goPirate.py | 5 + scripts/field/goRogue.py | 6 + scripts/field/goSwordman.py | 5 + scripts/field/hayatoJobChange.py | 15 + scripts/field/hekaton_enter_HP.py | 5 + scripts/field/henesys_first.py | 6 + scripts/field/herbcheck.py | 32 + scripts/field/hillah_ExpeditionEnter.py | 0 scripts/field/hontale_boss1.py | 11 + scripts/field/hontale_boss2.py | 11 + scripts/field/hontale_guide.py | 4 + scripts/field/iceCave.py | 11 + scripts/field/into_701220310.py | 19 + scripts/field/jett_tuto_0_0.py | 111 + scripts/field/jett_tuto_10_0.py | 15 + scripts/field/jett_tuto_10_0_before.py | 28 + scripts/field/jett_tuto_10_1.py | 92 + scripts/field/jett_tuto_12_0.py | 9 + scripts/field/jett_tuto_12_1.py | 183 + scripts/field/jett_tuto_13_0.py | 225 + scripts/field/jett_tuto_13_0_before.py | 69 + scripts/field/jett_tuto_1_0.py | 140 + scripts/field/jett_tuto_2_0.py | 58 + scripts/field/jett_tuto_2_1.py | 41 + scripts/field/jett_tuto_2_2.py | 26 + scripts/field/jett_tuto_2_3.py | 76 + scripts/field/jett_tuto_3_0.py | 185 + scripts/field/jett_tuto_4_0.py | 240 + scripts/field/jett_tuto_4_1.py | 24 + scripts/field/jett_tuto_5_0.py | 232 + scripts/field/jett_tuto_6_0.py | 39 + scripts/field/jett_tuto_7_1.py | 31 + scripts/field/jett_tuto_8_0.py | 13 + scripts/field/jett_tuto_8_1.py | 26 + scripts/field/jett_tuto_9_0.py | 62 + scripts/field/kaiser_illust1.py | 14 + scripts/field/kaiser_illust2.py | 13 + scripts/field/kaiser_tutoC_0_0.py | 139 + scripts/field/kaiser_tutoC_0_1.py | 7 + scripts/field/kaiser_tutoC_1_0.py | 136 + scripts/field/kaiser_tutoC_2_0.py | 61 + scripts/field/kaiser_tutoC_2_1.py | 64 + scripts/field/kaiser_tutoC_3_0.py | 70 + scripts/field/kaiser_tutoC_4_0.py | 177 + scripts/field/kaiser_tutoC_4_1.py | 7 + scripts/field/kaiser_tutoC_set.py | 48 + scripts/field/kaiser_tuto_0_0.py | 173 + scripts/field/kaiser_tuto_1_0.py | 34 + scripts/field/kaiser_tuto_1_1.py | 59 + scripts/field/kaiser_tuto_2_0.py | 59 + scripts/field/kaiser_tuto_3_0.py | 10 + scripts/field/kaiser_tuto_3_1.py | 60 + scripts/field/kaiser_tuto_3_2.py | 26 + scripts/field/kaiser_tuto_3_3.py | 16 + scripts/field/kaiser_tuto_3_4.py | 52 + scripts/field/kaiser_tuto_4_0.py | 191 + scripts/field/kaiser_tuto_5_0.py | 178 + scripts/field/kaiser_tuto_6_0.py | 14 + scripts/field/kaiser_tuto_7_0.py | 209 + scripts/field/kannaTutoDirection.py | 305 + scripts/field/kenjiTutoDirection.py | 240 + scripts/field/library_SaveFieldID.py | 1 + scripts/field/lightning_tuto_0_0.py | 22 + scripts/field/lightning_tuto_10_0.py | 6 + scripts/field/lightning_tuto_11_0.py | 57 + scripts/field/lightning_tuto_11_1.py | 8 + scripts/field/lightning_tuto_12_0.py | 27 + scripts/field/lightning_tuto_12_1.py | 38 + scripts/field/lightning_tuto_13_0.py | 6 + scripts/field/lightning_tuto_14_0.py | 81 + scripts/field/lightning_tuto_14_1.py | 41 + scripts/field/lightning_tuto_14_2.py | 41 + scripts/field/lightning_tuto_1_0.py | 12 + scripts/field/lightning_tuto_1_1.py | 55 + scripts/field/lightning_tuto_1_2.py | 14 + scripts/field/lightning_tuto_1_3.py | 95 + scripts/field/lightning_tuto_2_0.py | 6 + scripts/field/lightning_tuto_2_1.py | 49 + scripts/field/lightning_tuto_3_0.py | 52 + scripts/field/lightning_tuto_3_1.py | 23 + scripts/field/lightning_tuto_3_2.py | 11 + scripts/field/lightning_tuto_4_0.py | 13 + scripts/field/lightning_tuto_4_1.py | 10 + scripts/field/lightning_tuto_5_0.py | 5 + scripts/field/lightning_tuto_6_0.py | 29 + scripts/field/lightning_tuto_6_1.py | 46 + scripts/field/lightning_tuto_6_2.py | 33 + scripts/field/lightning_tuto_6_3.py | 46 + scripts/field/lightning_tuto_7_0.py | 5 + scripts/field/lightning_tuto_8_0.py | 7 + scripts/field/lightning_tuto_9_0.py | 91 + scripts/field/lostSpirit_mapEnter.py | 5 + scripts/field/mPark_stageEff.py | 25 + scripts/field/magicLibrary.py | 7 + scripts/field/magnus_enter_HP.py | 2 + scripts/field/magnus_summon.py | 14 + scripts/field/magnus_summon_E.py | 13 + scripts/field/magnus_summon_H.py | 13 + scripts/field/magnus_summon_N.py | 14 + scripts/field/map915020101.py | 0 scripts/field/map915020201.py | 13 + scripts/field/map921110300.py | 8 + scripts/field/map921110301.py | 16 + scripts/field/map940200040.py | 18 + scripts/field/map940200050.py | 56 + scripts/field/map940200060.py | 35 + scripts/field/map_749080900.py | 25 + scripts/field/map_865000000.py | 13 + scripts/field/map_865000002.py | 3 + scripts/field/map_865000003.py | 5 + scripts/field/map_865000004.py | 35 + scripts/field/map_865010200.py | 47 + scripts/field/map_865020061.py | 121 + scripts/field/map_865030000.py | 11 + scripts/field/map_865090001.py | 7 + scripts/field/map_865090002.py | 69 + scripts/field/map_865090003.py | 81 + scripts/field/map_913070000.py | 36 + scripts/field/map_913070001.py | 16 + scripts/field/map_913070002.py | 5 + scripts/field/map_913070004.py | 25 + scripts/field/map_913070050.py | 21 + scripts/field/map_commerzForest.py | 20 + scripts/field/meetWithDragon.py | 2 + scripts/field/meet_arcanaBoss.py | 17 + scripts/field/merOutStandAlone.py | 24 + scripts/field/merOutStandAlone.py_old | 24 + scripts/field/merStandAlone.py | 5 + scripts/field/merTutorDrecotion00.py | 11 + scripts/field/merTutorDrecotion01.py | 11 + scripts/field/merTutorDrecotion02.py | 10 + scripts/field/merTutorDrecotion03.py | 10 + scripts/field/merTutorDrecotion04.py | 10 + scripts/field/merTutorDrecotion05.py | 11 + scripts/field/merTutorDrecotion10.py | 13 + scripts/field/merTutorDrecotion12.py | 11 + scripts/field/merTutorDrecotion20.py | 5 + scripts/field/merTutorSleep01.py | 4 + scripts/field/merTutorSleep02.py | 8 + scripts/field/merchant_Enter.py | 4 + scripts/field/mihail_direc.py | 2 + scripts/field/mirrorCave.py | 2 + scripts/field/momiji_Enter.py | 6 + scripts/field/moonrabbit_takeawayitem.py | 23 + scripts/field/murder.py | 26 + scripts/field/mushroom_bomb.py | 21 + scripts/field/nobu_aya.py | 51 + scripts/field/nobu_saku.py | 176 + scripts/field/normal_zakum_enter.py | 0 scripts/field/nou_aya.py | 54 + scripts/field/nou_haya.py | 21 + scripts/field/np_tuto_0_5.py | 35 + scripts/field/onUserEnter_863010000.py | 3 + scripts/field/onUserEnter_863010700.py | 1 + scripts/field/pierre_Summon.py | 10 + scripts/field/pierre_Summon1.py | 10 + scripts/field/prisonBreak_1stageEnter.py | 6 + scripts/field/prisonBreak_mapEnter.py | 23 + scripts/field/pyramidEnter.py | 22 + scripts/field/q1601_summon.py | 3 + scripts/field/q25569_direction.py | 81 + scripts/field/q57141d.py | 74 + scripts/field/q57433m.py | 80 + scripts/field/q59000_tuto.py | 37 + scripts/field/queen_summon0.py | 10 + scripts/field/queen_summon1.py | 8 + scripts/field/resetEvolvingSystem.py | 10 + scripts/field/return_key.py | 11 + scripts/field/reundodraco.py | 6 + scripts/field/rien.py | 4 + scripts/field/rienArrow.py | 4 + scripts/field/root_camera.py | 15 + scripts/field/root_ereb01.py | 32 + scripts/field/root_meet.py | 21 + scripts/field/root_qrcave.py | 112 + scripts/field/root_secret.py | 19 + scripts/field/russianRoulette_enter.py | 3 + scripts/field/sc000025.py | 18 + scripts/field/sc000026.py | 20 + scripts/field/sc000027.py | 15 + scripts/field/sc000029.py | 6 + scripts/field/sc000033.py | 4 + scripts/field/stageEnter_50.py | 1 + scripts/field/startEreb.py | 5 + scripts/field/steal_truck.py | 10 + scripts/field/summonSchiller.py | 2 + scripts/field/summon_ARCflyingmob.py | 1 + scripts/field/summon_NPCkimoo.py | 8 + scripts/field/summon_aqupondo_5.py | 10 + scripts/field/summon_arcanaBoss.py | 3 + scripts/field/summon_assa.py | 12 + scripts/field/summon_cygnusTuto1.py | 3 + scripts/field/summon_cygnusTuto2.py | 4 + scripts/field/summon_hillaMob.py | 7 + scripts/field/summon_q20882.py | 7 + scripts/field/summon_qmob.py | 2 + scripts/field/tangyoon.py | 0 scripts/field/test.py | 8 + scripts/field/testDummyBigboss.py | 0 scripts/field/treglo_summon.py | 13 + scripts/field/undefined.py | 2 + scripts/field/undomorphdarco.py | 6 + scripts/field/userEnter_251020000.py | 5 + scripts/field/userEnter_252000000.py | 3 + scripts/field/victor_summon.py | 13 + scripts/field/visitCity.py | 5 + scripts/field/vonbonInsideMob.py | 7 + scripts/field/will_phase1.py | 16 + scripts/field/will_phase1_everyone.py | 2 + scripts/field/will_phase2.py | 16 + scripts/field/will_phase2_everyone.py | 2 + scripts/field/will_phase3.py | 4 + scripts/field/xn_tuto_0_0.py | 105 + scripts/field/xn_tuto_10_0.py | 34 + scripts/field/xn_tuto_11_0.py | 17 + scripts/field/xn_tuto_12_0.py | 85 + scripts/field/xn_tuto_13_0.py | 59 + scripts/field/xn_tuto_1_0.py | 68 + scripts/field/xn_tuto_2_0.py | 5 + scripts/field/xn_tuto_3_0.py | 25 + scripts/field/xn_tuto_4_0.py | 6 + scripts/field/xn_tuto_5_0.py | 19 + scripts/field/xn_tuto_6_0.py | 44 + scripts/field/xn_tuto_6_1.py | 69 + scripts/field/xn_tuto_7_0.py | 13 + scripts/field/xn_tuto_7_1.py | 6 + scripts/field/xn_tuto_8_0.py | 8 + scripts/field/xn_tuto_8_1.py | 118 + scripts/field/xn_tuto_8_2.py | 256 + scripts/field/xn_tuto_9_0.py | 35 + scripts/field/xn_tuto_logo.py | 9 + scripts/field/zakum_summon_normal.py | 10 + scripts/item/141060000_fishing.py | 28 + scripts/item/5040004.py | 1 + scripts/item/cash_5680260.py | 7 + scripts/item/cash_5680343.py | 5 + scripts/item/cash_5680382.py | 4 + scripts/item/cash_5680395.py | 5 + scripts/item/cash_5680474.py | 5 + scripts/item/consume_02431768.py | 13 + scripts/item/consume_02431769.py | 16 + scripts/item/consume_2020002.py | 10 + scripts/item/consume_2022455.py | 10 + scripts/item/consume_2210092.py | 10 + scripts/item/consume_2350000.py | 3 + scripts/item/consume_2430050.py | 10 + scripts/item/consume_2430071.py | 9 + scripts/item/consume_2430073.py | 10 + scripts/item/consume_2430076.py | 10 + scripts/item/consume_2430080.py | 10 + scripts/item/consume_2430091.py | 10 + scripts/item/consume_2430101.py | 10 + scripts/item/consume_2430112.py | 22 + scripts/item/consume_2430115.py | 22 + scripts/item/consume_2430117.py | 10 + scripts/item/consume_2430118.py | 10 + scripts/item/consume_2430135.py | 10 + scripts/item/consume_2430136.py | 10 + scripts/item/consume_2430137.py | 10 + scripts/item/consume_2430145.py | 10 + scripts/item/consume_2430147.py | 10 + scripts/item/consume_2430148.py | 10 + scripts/item/consume_2430182.py | 15 + scripts/item/consume_2430200.py | 9 + scripts/item/consume_2430201.py | 10 + scripts/item/consume_2430202.py | 10 + scripts/item/consume_2430203.py | 10 + scripts/item/consume_2430220.py | 5 + scripts/item/consume_2430228.py | 10 + scripts/item/consume_2430258.py | 10 + scripts/item/consume_2430259.py | 10 + scripts/item/consume_2430264.py | 10 + scripts/item/consume_2430266.py | 10 + scripts/item/consume_2430271.py | 10 + scripts/item/consume_2430272.py | 10 + scripts/item/consume_2430293.py | 10 + scripts/item/consume_2430294.py | 10 + scripts/item/consume_2430295.py | 10 + scripts/item/consume_2430296.py | 10 + scripts/item/consume_2430297.py | 10 + scripts/item/consume_2430298.py | 10 + scripts/item/consume_2430299.py | 10 + scripts/item/consume_2430300.py | 10 + scripts/item/consume_2430301.py | 10 + scripts/item/consume_2430302.py | 10 + scripts/item/consume_2430303.py | 10 + scripts/item/consume_2430304.py | 10 + scripts/item/consume_2430305.py | 10 + scripts/item/consume_2430306.py | 10 + scripts/item/consume_2430307.py | 10 + scripts/item/consume_2430308.py | 10 + scripts/item/consume_2430309.py | 10 + scripts/item/consume_2430310.py | 10 + scripts/item/consume_2430311.py | 10 + scripts/item/consume_2430312.py | 10 + scripts/item/consume_2430313.py | 10 + scripts/item/consume_2430314.py | 10 + scripts/item/consume_2430315.py | 10 + scripts/item/consume_2430316.py | 10 + scripts/item/consume_2430317.py | 10 + scripts/item/consume_2430319.py | 10 + scripts/item/consume_2430320.py | 10 + scripts/item/consume_2430323.py | 10 + scripts/item/consume_2430324.py | 10 + scripts/item/consume_2430325.py | 10 + scripts/item/consume_2430326.py | 10 + scripts/item/consume_2430335.py | 10 + scripts/item/consume_2430336.py | 10 + scripts/item/consume_2430339.py | 10 + scripts/item/consume_2430340.py | 10 + scripts/item/consume_2430341.py | 10 + scripts/item/consume_2430342.py | 10 + scripts/item/consume_2430345.py | 10 + scripts/item/consume_2430354.py | 10 + scripts/item/consume_2430355.py | 10 + scripts/item/consume_2430356.py | 10 + scripts/item/consume_2430357.py | 10 + scripts/item/consume_2430358.py | 10 + scripts/item/consume_2430359.py | 10 + scripts/item/consume_2430360.py | 10 + scripts/item/consume_2430361.py | 10 + scripts/item/consume_2430367.py | 10 + scripts/item/consume_2430403.py | 6 + scripts/item/consume_2430404.py | 6 + scripts/item/consume_2430481.py | 16 + scripts/item/consume_2430507.py | 10 + scripts/item/consume_2430508.py | 10 + scripts/item/consume_2430521.py | 10 + scripts/item/consume_2430550.py | 10 + scripts/item/consume_2430555.py | 10 + scripts/item/consume_2430556.py | 10 + scripts/item/consume_2430557.py | 10 + scripts/item/consume_2430666.py | 10 + scripts/item/consume_2430667.py | 10 + scripts/item/consume_2430692.py | 10 + scripts/item/consume_2430717.py | 10 + scripts/item/consume_2430750.py | 10 + scripts/item/consume_2430751.py | 10 + scripts/item/consume_2430768.py | 11 + scripts/item/consume_2430769.py | 11 + scripts/item/consume_2430770.py | 10 + scripts/item/consume_2430771.py | 10 + scripts/item/consume_2430872.py | 6 + scripts/item/consume_2430874.py | 0 scripts/item/consume_2430875.py | 10 + scripts/item/consume_2430876.py | 10 + scripts/item/consume_2430877.py | 10 + scripts/item/consume_2430878.py | 10 + scripts/item/consume_2430915.py | 16 + scripts/item/consume_2430922.py | 10 + scripts/item/consume_2431123.py | 10 + scripts/item/consume_2431127.py | 12 + scripts/item/consume_2431128.py | 12 + scripts/item/consume_2431151.py | 3 + scripts/item/consume_2431174.py | 5 + scripts/item/consume_2431267.py | 10 + scripts/item/consume_2431268.py | 10 + scripts/item/consume_2431353.py | 10 + scripts/item/consume_2431362.py | 9 + scripts/item/consume_2431415.py | 10 + scripts/item/consume_2431422.py | 10 + scripts/item/consume_2431424.py | 10 + scripts/item/consume_2431426.py | 10 + scripts/item/consume_2431445.py | 16 + scripts/item/consume_2431456.py | 10 + scripts/item/consume_2431457.py | 10 + scripts/item/consume_2431473.py | 10 + scripts/item/consume_2431474.py | 10 + scripts/item/consume_2431490.py | 10 + scripts/item/consume_2431496.py | 10 + scripts/item/consume_2431498.py | 10 + scripts/item/consume_2431504.py | 10 + scripts/item/consume_2431505.py | 10 + scripts/item/consume_2431528.py | 10 + scripts/item/consume_2431542.py | 10 + scripts/item/consume_2431655.py | 9 + scripts/item/consume_2431656.py | 9 + scripts/item/consume_2431657.py | 9 + scripts/item/consume_2431658.py | 9 + scripts/item/consume_2431659.py | 9 + scripts/item/consume_2431660.py | 9 + scripts/item/consume_2431661.py | 9 + scripts/item/consume_2431662.py | 9 + scripts/item/consume_2431709.py | 9 + scripts/item/consume_2431710.py | 9 + scripts/item/consume_2431711.py | 9 + scripts/item/consume_2431733.py | 10 + scripts/item/consume_2431745.py | 10 + scripts/item/consume_2431752.py | 9 + scripts/item/consume_2431753.py | 9 + scripts/item/consume_2431764.py | 10 + scripts/item/consume_2431765.py | 10 + scripts/item/consume_2431797.py | 10 + scripts/item/consume_2431799.py | 10 + scripts/item/consume_2431835.py | 6 + scripts/item/consume_2431850.py | 6 + scripts/item/consume_2431855.py | 6 + scripts/item/consume_2431856.py | 10 + scripts/item/consume_2431893.py | 22 + scripts/item/consume_2431894.py | 16 + scripts/item/consume_2431895.py | 9 + scripts/item/consume_2431896.py | 9 + scripts/item/consume_2431898.py | 10 + scripts/item/consume_2431914.py | 10 + scripts/item/consume_2431915.py | 10 + scripts/item/consume_2431963.py | 9 + scripts/item/consume_2431964.py | 9 + scripts/item/consume_2431965.py | 5 + scripts/item/consume_2431966.py | 5 + scripts/item/consume_2431967.py | 5 + scripts/item/consume_2432003.py | 10 + scripts/item/consume_2432006.py | 10 + scripts/item/consume_2432007.py | 10 + scripts/item/consume_2432008.py | 10 + scripts/item/consume_2432015.py | 10 + scripts/item/consume_2432030.py | 10 + scripts/item/consume_2432078.py | 10 + scripts/item/consume_2432084.py | 4 + scripts/item/consume_2432085.py | 10 + scripts/item/consume_2432108.py | 10 + scripts/item/consume_2432131.py | 5 + scripts/item/consume_2432135.py | 10 + scripts/item/consume_2432138.py | 9 + scripts/item/consume_2432151.py | 10 + scripts/item/consume_2432153.py | 5 + scripts/item/consume_2432154.py | 5 + scripts/item/consume_2432167.py | 10 + scripts/item/consume_2432207.py | 5 + scripts/item/consume_2432218.py | 10 + scripts/item/consume_2432242.py | 10 + scripts/item/consume_2432291.py | 10 + scripts/item/consume_2432293.py | 10 + scripts/item/consume_2432295.py | 10 + scripts/item/consume_2432309.py | 10 + scripts/item/consume_2432316.py | 11 + scripts/item/consume_2432328.py | 10 + scripts/item/consume_2432346.py | 8 + scripts/item/consume_2432347.py | 10 + scripts/item/consume_2432348.py | 10 + scripts/item/consume_2432349.py | 10 + scripts/item/consume_2432350.py | 10 + scripts/item/consume_2432351.py | 10 + scripts/item/consume_2432354.py | 5 + scripts/item/consume_2432355.py | 5 + scripts/item/consume_2432359.py | 10 + scripts/item/consume_2432361.py | 10 + scripts/item/consume_2432377.py | 10 + scripts/item/consume_2432379.py | 10 + scripts/item/consume_2432380.py | 10 + scripts/item/consume_2432381.py | 10 + scripts/item/consume_2432382.py | 10 + scripts/item/consume_2432414.py | 10 + scripts/item/consume_2432418.py | 10 + scripts/item/consume_2432431.py | 10 + scripts/item/consume_2432432.py | 10 + scripts/item/consume_2432449.py | 10 + scripts/item/consume_2432450.py | 10 + scripts/item/consume_2432451.py | 10 + scripts/item/consume_2432465.py | 5 + scripts/item/consume_2432479.py | 5 + scripts/item/consume_2432498.py | 10 + scripts/item/consume_2432499.py | 10 + scripts/item/consume_2432500.py | 10 + scripts/item/consume_2432501.py | 10 + scripts/item/consume_2432526.py | 5 + scripts/item/consume_2432527.py | 10 + scripts/item/consume_2432528.py | 10 + scripts/item/consume_2432532.py | 5 + scripts/item/consume_2432552.py | 10 + scripts/item/consume_2432575.py | 9 + scripts/item/consume_2432576.py | 9 + scripts/item/consume_2432577.py | 9 + scripts/item/consume_2432578.py | 9 + scripts/item/consume_2432579.py | 9 + scripts/item/consume_2432580.py | 10 + scripts/item/consume_2432581.py | 10 + scripts/item/consume_2432582.py | 10 + scripts/item/consume_2432583.py | 10 + scripts/item/consume_2432591.py | 4 + scripts/item/consume_2432592.py | 5 + scripts/item/consume_2432635.py | 10 + scripts/item/consume_2432637.py | 4 + scripts/item/consume_2432638.py | 4 + scripts/item/consume_2432639.py | 4 + scripts/item/consume_2432640.py | 5 + scripts/item/consume_2432653.py | 10 + scripts/item/consume_2432655.py | 6 + scripts/item/consume_2432658.py | 4 + scripts/item/consume_2432659.py | 4 + scripts/item/consume_2432660.py | 4 + scripts/item/consume_2432661.py | 4 + scripts/item/consume_2432710.py | 5 + scripts/item/consume_2432732.py | 9 + scripts/item/consume_2432733.py | 10 + scripts/item/consume_2432735.py | 10 + scripts/item/consume_2432736.py | 10 + scripts/item/consume_2432748.py | 5 + scripts/item/consume_2432749.py | 5 + scripts/item/consume_2432751.py | 10 + scripts/item/consume_2432752.py | 10 + scripts/item/consume_2432803.py | 5 + scripts/item/consume_2432804.py | 5 + scripts/item/consume_2432806.py | 10 + scripts/item/consume_2432807.py | 10 + scripts/item/consume_2432821.py | 10 + scripts/item/consume_2432836.py | 5 + scripts/item/consume_2432839.py | 10 + scripts/item/consume_2432972.py | 4 + scripts/item/consume_2432973.py | 5 + scripts/item/consume_2432994.py | 10 + scripts/item/consume_2432995.py | 10 + scripts/item/consume_2432996.py | 10 + scripts/item/consume_2432997.py | 10 + scripts/item/consume_2432998.py | 10 + scripts/item/consume_2432999.py | 10 + scripts/item/consume_2433000.py | 10 + scripts/item/consume_2433001.py | 10 + scripts/item/consume_2433002.py | 10 + scripts/item/consume_2433003.py | 10 + scripts/item/consume_2433006.py | 10 + scripts/item/consume_2433026.py | 16 + scripts/item/consume_2433038.py | 5 + scripts/item/consume_2433053.py | 10 + scripts/item/consume_2433060.py | 10 + scripts/item/consume_2433063.py | 5 + scripts/item/consume_2433081.py | 5 + scripts/item/consume_2433097.py | 10 + scripts/item/consume_2433103.py | 3 + scripts/item/consume_2433107.py | 4 + scripts/item/consume_2433113.py | 5 + scripts/item/consume_2433128.py | 10 + scripts/item/consume_2433158.py | 4 + scripts/item/consume_2433160.py | 4 + scripts/item/consume_2433168.py | 10 + scripts/item/consume_2433169.py | 10 + scripts/item/consume_2433170.py | 10 + scripts/item/consume_2433178.py | 5 + scripts/item/consume_2433182.py | 5 + scripts/item/consume_2433183.py | 5 + scripts/item/consume_2433184.py | 5 + scripts/item/consume_2433198.py | 10 + scripts/item/consume_2433214.py | 5 + scripts/item/consume_2433236.py | 5 + scripts/item/consume_2433251.py | 5 + scripts/item/consume_2433252.py | 5 + scripts/item/consume_2433260.py | 4 + scripts/item/consume_2433261.py | 4 + scripts/item/consume_2433262.py | 4 + scripts/item/consume_2433263.py | 4 + scripts/item/consume_2433264.py | 4 + scripts/item/consume_2433265.py | 4 + scripts/item/consume_2433266.py | 4 + scripts/item/consume_2433267.py | 5 + scripts/item/consume_2433268.py | 5 + scripts/item/consume_2433269.py | 5 + scripts/item/consume_2433270.py | 5 + scripts/item/consume_2433271.py | 4 + scripts/item/consume_2433292.py | 10 + scripts/item/consume_2433293.py | 10 + scripts/item/consume_2433362.py | 5 + scripts/item/consume_2433441.py | 2 + scripts/item/consume_2433446.py | 9 + scripts/item/consume_2433456.py | 5 + scripts/item/consume_2433459.py | 10 + scripts/item/consume_2433460.py | 10 + scripts/item/consume_2433461.py | 10 + scripts/item/consume_2433498.py | 10 + scripts/item/consume_2433499.py | 10 + scripts/item/consume_2433500.py | 10 + scripts/item/consume_2433501.py | 10 + scripts/item/consume_2433511.py | 10 + scripts/item/consume_2433515.py | 9 + scripts/item/consume_2433559.py | 14 + scripts/item/consume_2433571.py | 5 + scripts/item/consume_2433588.py | 5 + scripts/item/consume_2433591.py | 9 + scripts/item/consume_2433592.py | 9 + scripts/item/consume_2433593.py | 9 + scripts/item/consume_2433623.py | 8 + scripts/item/consume_2433658.py | 10 + scripts/item/consume_2433659.py | 10 + scripts/item/consume_2433666.py | 4 + scripts/item/consume_2433682.py | 10 + scripts/item/consume_2433709.py | 4 + scripts/item/consume_2433715.py | 5 + scripts/item/consume_2433733.py | 10 + scripts/item/consume_2433734.py | 10 + scripts/item/consume_2433735.py | 10 + scripts/item/consume_2433736.py | 10 + scripts/item/consume_2433775.py | 5 + scripts/item/consume_2433776.py | 5 + scripts/item/consume_2433777.py | 5 + scripts/item/consume_2433804.py | 5 + scripts/item/consume_2433808.py | 4 + scripts/item/consume_2433809.py | 10 + scripts/item/consume_2433810.py | 10 + scripts/item/consume_2433811.py | 10 + scripts/item/consume_2433812.py | 10 + scripts/item/consume_2433828.py | 5 + scripts/item/consume_2433829.py | 5 + scripts/item/consume_2433830.py | 5 + scripts/item/consume_2433831.py | 5 + scripts/item/consume_2433832.py | 5 + scripts/item/consume_2433833.py | 5 + scripts/item/consume_2433844.py | 9 + scripts/item/consume_2433845.py | 9 + scripts/item/consume_2433883.py | 5 + scripts/item/consume_2433897.py | 4 + scripts/item/consume_2433900.py | 5 + scripts/item/consume_2433901.py | 5 + scripts/item/consume_2433902.py | 5 + scripts/item/consume_2433903.py | 5 + scripts/item/consume_2433904.py | 5 + scripts/item/consume_2433905.py | 5 + scripts/item/consume_2433906.py | 5 + scripts/item/consume_2433907.py | 5 + scripts/item/consume_2433913.py | 5 + scripts/item/consume_2433919.py | 4 + scripts/item/consume_2433924.py | 10 + scripts/item/consume_2433946.py | 10 + scripts/item/consume_2433947.py | 10 + scripts/item/consume_2433948.py | 10 + scripts/item/consume_2433949.py | 10 + scripts/item/consume_2433964.py | 16 + scripts/item/consume_2433980.py | 5 + scripts/item/consume_2433981.py | 5 + scripts/item/consume_2434004.py | 5 + scripts/item/consume_2434021.py | 4 + scripts/item/consume_2434025.py | 10 + scripts/item/consume_2434038.py | 7 + scripts/item/consume_2434039.py | 7 + scripts/item/consume_2434078.py | 10 + scripts/item/consume_2434080.py | 10 + scripts/item/consume_2434081.py | 4 + scripts/item/consume_2434125.py | 22 + scripts/item/consume_2434132.py | 10 + scripts/item/consume_2434147.py | 5 + scripts/item/consume_2434157.py | 5 + scripts/item/consume_2434234.py | 10 + scripts/item/consume_2434235.py | 10 + scripts/item/consume_2434236.py | 10 + scripts/item/consume_2434239.py | 4 + scripts/item/consume_2434241.py | 10 + scripts/item/consume_2434248.py | 5 + scripts/item/consume_2434257.py | 8 + scripts/item/consume_2434265.py | 39 + scripts/item/consume_2434270.py | 27 + scripts/item/consume_2434274.py | 5 + scripts/item/consume_2434275.py | 10 + scripts/item/consume_2434276.py | 10 + scripts/item/consume_2434277.py | 10 + scripts/item/consume_2434289.py | 5 + scripts/item/consume_2434325.py | 18 + scripts/item/consume_2434326.py | 18 + scripts/item/consume_2434327.py | 18 + scripts/item/consume_2434374.py | 4 + scripts/item/consume_2434375.py | 5 + scripts/item/consume_2434377.py | 10 + scripts/item/consume_2434379.py | 10 + scripts/item/consume_2434380.py | 10 + scripts/item/consume_2434390.py | 5 + scripts/item/consume_2434391.py | 5 + scripts/item/consume_2434470.py | 9 + scripts/item/consume_2434499.py | 4 + scripts/item/consume_2434515.py | 10 + scripts/item/consume_2434516.py | 10 + scripts/item/consume_2434517.py | 10 + scripts/item/consume_2434518.py | 10 + scripts/item/consume_2434525.py | 10 + scripts/item/consume_2434526.py | 10 + scripts/item/consume_2434527.py | 10 + scripts/item/consume_2434528.py | 5 + scripts/item/consume_2434529.py | 5 + scripts/item/consume_2434530.py | 5 + scripts/item/consume_2434533.py | 4 + scripts/item/consume_2434534.py | 4 + scripts/item/consume_2434536.py | 10 + scripts/item/consume_2434544.py | 5 + scripts/item/consume_2434545.py | 5 + scripts/item/consume_2434546.py | 4 + scripts/item/consume_2434570.py | 5 + scripts/item/consume_2434574.py | 5 + scripts/item/consume_2434575.py | 4 + scripts/item/consume_2434580.py | 10 + scripts/item/consume_2434581.py | 10 + scripts/item/consume_2434582.py | 10 + scripts/item/consume_2434584.py | 30 + scripts/item/consume_2434585.py | 30 + scripts/item/consume_2434586.py | 29 + scripts/item/consume_2434587.py | 56 + scripts/item/consume_2434588.py | 50 + scripts/item/consume_2434589.py | 44 + scripts/item/consume_2434601.py | 5 + scripts/item/consume_2434603.py | 10 + scripts/item/consume_2434618.py | 10 + scripts/item/consume_2434619.py | 5 + scripts/item/consume_2434649.py | 10 + scripts/item/consume_2434650.py | 10 + scripts/item/consume_2434654.py | 5 + scripts/item/consume_2434660.py | 10 + scripts/item/consume_2434662.py | 5 + scripts/item/consume_2434663.py | 5 + scripts/item/consume_2434664.py | 5 + scripts/item/consume_2434674.py | 10 + scripts/item/consume_2434710.py | 5 + scripts/item/consume_2434728.py | 10 + scripts/item/consume_2434735.py | 10 + scripts/item/consume_2434736.py | 10 + scripts/item/consume_2434737.py | 10 + scripts/item/consume_2434738.py | 10 + scripts/item/consume_2434741.py | 4 + scripts/item/consume_2434742.py | 4 + scripts/item/consume_2434761.py | 10 + scripts/item/consume_2434762.py | 10 + scripts/item/consume_2434782.py | 16 + scripts/item/consume_2434817.py | 5 + scripts/item/consume_2434818.py | 5 + scripts/item/consume_2434824.py | 5 + scripts/item/consume_2434868.py | 5 + scripts/item/consume_2434871.py | 5 + scripts/item/consume_2434873.py | 5 + scripts/item/consume_2434877.py | 5 + scripts/item/consume_2434914.py | 10 + scripts/item/consume_2434915.py | 10 + scripts/item/consume_2434918.py | 10 + scripts/item/consume_2434923.py | 10 + scripts/item/consume_2434924.py | 10 + scripts/item/consume_2434925.py | 10 + scripts/item/consume_2434926.py | 10 + scripts/item/consume_2434927.py | 10 + scripts/item/consume_2434928.py | 10 + scripts/item/consume_2434967.py | 10 + scripts/item/consume_2434968.py | 10 + scripts/item/consume_2434971.py | 5 + scripts/item/consume_2434975.py | 4 + scripts/item/consume_2434976.py | 4 + scripts/item/consume_2434979.py | 4 + scripts/item/consume_2434980.py | 4 + scripts/item/consume_2435024.py | 4 + scripts/item/consume_2435025.py | 4 + scripts/item/consume_2435026.py | 4 + scripts/item/consume_2435027.py | 4 + scripts/item/consume_2435029.py | 4 + scripts/item/consume_2435031.py | 9 + scripts/item/consume_2435043.py | 4 + scripts/item/consume_2435044.py | 4 + scripts/item/consume_2435045.py | 4 + scripts/item/consume_2435046.py | 5 + scripts/item/consume_2435047.py | 5 + scripts/item/consume_2435089.py | 10 + scripts/item/consume_2435090.py | 10 + scripts/item/consume_2435091.py | 10 + scripts/item/consume_2435092.py | 10 + scripts/item/consume_2435101.py | 4 + scripts/item/consume_2435102.py | 4 + scripts/item/consume_2435112.py | 10 + scripts/item/consume_2435113.py | 10 + scripts/item/consume_2435114.py | 10 + scripts/item/consume_2435117.py | 4 + scripts/item/consume_2435140.py | 4 + scripts/item/consume_2435141.py | 5 + scripts/item/consume_2435157.py | 5 + scripts/item/consume_2435158.py | 4 + scripts/item/consume_2435159.py | 5 + scripts/item/consume_2435160.py | 4 + scripts/item/consume_2435162.py | 5 + scripts/item/consume_2435163.py | 16 + scripts/item/consume_2435166.py | 4 + scripts/item/consume_2435168.py | 4 + scripts/item/consume_2435170.py | 4 + scripts/item/consume_2435171.py | 4 + scripts/item/consume_2435172.py | 4 + scripts/item/consume_2435173.py | 4 + scripts/item/consume_2435174.py | 4 + scripts/item/consume_2435175.py | 4 + scripts/item/consume_2435176.py | 4 + scripts/item/consume_2435177.py | 4 + scripts/item/consume_2435179.py | 5 + scripts/item/consume_2435182.py | 5 + scripts/item/consume_2435184.py | 5 + scripts/item/consume_2435193.py | 5 + scripts/item/consume_2435194.py | 5 + scripts/item/consume_2435195.py | 5 + scripts/item/consume_2435196.py | 5 + scripts/item/consume_2435198.py | 4 + scripts/item/consume_2435199.py | 4 + scripts/item/consume_2435200.py | 4 + scripts/item/consume_2435202.py | 10 + scripts/item/consume_2435203.py | 10 + scripts/item/consume_2435204.py | 10 + scripts/item/consume_2435205.py | 10 + scripts/item/consume_2435213.py | 5 + scripts/item/consume_2435214.py | 10 + scripts/item/consume_2435216.py | 10 + scripts/item/consume_2435222.py | 5 + scripts/item/consume_2435293.py | 5 + scripts/item/consume_2435295.py | 9 + scripts/item/consume_2435313.py | 5 + scripts/item/consume_2435316.py | 5 + scripts/item/consume_2435325.py | 4 + scripts/item/consume_2435326.py | 5 + scripts/item/consume_2435331.py | 5 + scripts/item/consume_2435332.py | 5 + scripts/item/consume_2435333.py | 5 + scripts/item/consume_2435334.py | 5 + scripts/item/consume_2435335.py | 5 + scripts/item/consume_2435336.py | 5 + scripts/item/consume_2435369.py | 9 + scripts/item/consume_2435374.py | 5 + scripts/item/consume_2435375.py | 10 + scripts/item/consume_2435376.py | 10 + scripts/item/consume_2435377.py | 10 + scripts/item/consume_2435378.py | 10 + scripts/item/consume_2435380.py | 5 + scripts/item/consume_2435382.py | 5 + scripts/item/consume_2435408.py | 5 + scripts/item/consume_2435424.py | 4 + scripts/item/consume_2435425.py | 4 + scripts/item/consume_2435427.py | 5 + scripts/item/consume_2435428.py | 5 + scripts/item/consume_2435429.py | 5 + scripts/item/consume_2435430.py | 5 + scripts/item/consume_2435431.py | 5 + scripts/item/consume_2435432.py | 5 + scripts/item/consume_2435433.py | 5 + scripts/item/consume_2435456.py | 5 + scripts/item/consume_2435461.py | 4 + scripts/item/consume_2435473.py | 4 + scripts/item/consume_2435474.py | 4 + scripts/item/consume_2435477.py | 4 + scripts/item/consume_2435478.py | 4 + scripts/item/consume_2435486.py | 5 + scripts/item/consume_2435487.py | 5 + scripts/item/consume_2435488.py | 5 + scripts/item/consume_2435489.py | 5 + scripts/item/consume_2435490.py | 4 + scripts/item/consume_2435493.py | 5 + scripts/item/consume_2435510.py | 5 + scripts/item/consume_2435511.py | 5 + scripts/item/consume_2435521.py | 5 + scripts/item/consume_2435523.py | 5 + scripts/item/consume_2435524.py | 5 + scripts/item/consume_2435538.py | 5 + scripts/item/consume_2435542.py | 5 + scripts/item/consume_2435543.py | 5 + scripts/item/consume_2435544.py | 5 + scripts/item/consume_2435545.py | 5 + scripts/item/consume_2435546.py | 5 + scripts/item/consume_2435548.py | 5 + scripts/item/consume_2435549.py | 5 + scripts/item/consume_2435553.py | 10 + scripts/item/consume_2435554.py | 10 + scripts/item/consume_2435555.py | 10 + scripts/item/consume_2435556.py | 10 + scripts/item/consume_2435565.py | 5 + scripts/item/consume_2435566.py | 5 + scripts/item/consume_2435567.py | 5 + scripts/item/consume_2435568.py | 5 + scripts/item/consume_2435571.py | 4 + scripts/item/consume_2435583.py | 10 + scripts/item/consume_2435665.py | 4 + scripts/item/consume_2435666.py | 4 + scripts/item/consume_2435673.py | 5 + scripts/item/consume_2435674.py | 5 + scripts/item/consume_2435719.py | 7 + scripts/item/consume_2435725.py | 4 + scripts/item/consume_2435727.py | 4 + scripts/item/consume_2435729.py | 10 + scripts/item/consume_2435730.py | 10 + scripts/item/consume_2435731.py | 10 + scripts/item/consume_2435732.py | 10 + scripts/item/consume_2435734.py | 10 + scripts/item/consume_2435735.py | 10 + scripts/item/consume_2435736.py | 10 + scripts/item/consume_2435781.py | 10 + scripts/item/consume_2435782.py | 10 + scripts/item/consume_2435783.py | 10 + scripts/item/consume_2435784.py | 10 + scripts/item/consume_2435785.py | 10 + scripts/item/consume_2435786.py | 10 + scripts/item/consume_2435789.py | 10 + scripts/item/consume_2435790.py | 10 + scripts/item/consume_2435791.py | 10 + scripts/item/consume_2435802.py | 5 + scripts/item/consume_2435832.py | 5 + scripts/item/consume_2435833.py | 5 + scripts/item/consume_2435834.py | 4 + scripts/item/consume_2435835.py | 5 + scripts/item/consume_2435836.py | 5 + scripts/item/consume_2435839.py | 5 + scripts/item/consume_2435840.py | 5 + scripts/item/consume_2435841.py | 5 + scripts/item/consume_2435849.py | 5 + scripts/item/consume_2435850.py | 5 + scripts/item/consume_2435902.py | 7 + scripts/item/consume_2435905.py | 5 + scripts/item/consume_2435906.py | 5 + scripts/item/consume_2435907.py | 5 + scripts/item/consume_2435908.py | 5 + scripts/item/consume_2435946.py | 10 + scripts/item/consume_2435947.py | 10 + scripts/item/consume_2435948.py | 5 + scripts/item/consume_2435949.py | 5 + scripts/item/consume_2435950.py | 5 + scripts/item/consume_2435951.py | 4 + scripts/item/consume_2435952.py | 5 + scripts/item/consume_2435953.py | 5 + scripts/item/consume_2435954.py | 5 + scripts/item/consume_2435955.py | 5 + scripts/item/consume_2435956.py | 5 + scripts/item/consume_2435957.py | 5 + scripts/item/consume_2435958.py | 5 + scripts/item/consume_2435959.py | 5 + scripts/item/consume_2435960.py | 5 + scripts/item/consume_2435965.py | 9 + scripts/item/consume_2435967.py | 9 + scripts/item/consume_2435972.py | 5 + scripts/item/consume_2436023.py | 5 + scripts/item/consume_2436024.py | 5 + scripts/item/consume_2436026.py | 5 + scripts/item/consume_2436027.py | 5 + scripts/item/consume_2436028.py | 5 + scripts/item/consume_2436029.py | 5 + scripts/item/consume_2436034.py | 4 + scripts/item/consume_2436035.py | 4 + scripts/item/consume_2436036.py | 4 + scripts/item/consume_2436038.py | 4 + scripts/item/consume_2436039.py | 9 + scripts/item/consume_2436041.py | 5 + scripts/item/consume_2436042.py | 5 + scripts/item/consume_2436044.py | 5 + scripts/item/consume_2436045.py | 5 + scripts/item/consume_2436067.py | 10 + scripts/item/consume_2436083.py | 4 + scripts/item/consume_2436084.py | 4 + scripts/item/consume_2436085.py | 4 + scripts/item/consume_2436089.py | 5 + scripts/item/consume_2436096.py | 4 + scripts/item/consume_2436097.py | 4 + scripts/item/consume_2436098.py | 4 + scripts/item/consume_2436099.py | 4 + scripts/item/consume_2436100.py | 4 + scripts/item/consume_2436101.py | 4 + scripts/item/consume_2436103.py | 4 + scripts/item/consume_2436131.py | 4 + scripts/item/consume_2436132.py | 5 + scripts/item/consume_2436133.py | 5 + scripts/item/consume_2436134.py | 5 + scripts/item/consume_2436136.py | 5 + scripts/item/consume_2436140.py | 4 + scripts/item/consume_2436182.py | 4 + scripts/item/consume_2436188.py | 10 + scripts/item/consume_2436206.py | 4 + scripts/item/consume_2436212.py | 4 + scripts/item/consume_2436227.py | 5 + scripts/item/consume_2436228.py | 5 + scripts/item/consume_2436229.py | 5 + scripts/item/consume_2436230.py | 5 + scripts/item/consume_2436258.py | 4 + scripts/item/consume_2436259.py | 4 + scripts/item/consume_2436268.py | 4 + scripts/item/consume_2436300.py | 5 + scripts/item/consume_2436310.py | 10 + scripts/item/consume_2436314.py | 10 + scripts/item/consume_2436315.py | 10 + scripts/item/consume_2436324.py | 6 + scripts/item/consume_2436360.py | 4 + scripts/item/consume_2436400.py | 4 + scripts/item/consume_2436474.py | 5 + scripts/item/consume_2436475.py | 5 + scripts/item/consume_2436476.py | 5 + scripts/item/consume_2436477.py | 5 + scripts/item/consume_2436478.py | 5 + scripts/item/consume_2436479.py | 5 + scripts/item/consume_2436516.py | 6 + scripts/item/consume_2436530.py | 4 + scripts/item/consume_2436531.py | 4 + scripts/item/consume_2436553.py | 4 + scripts/item/consume_2436560.py | 4 + scripts/item/consume_2436561.py | 4 + scripts/item/consume_2436563.py | 5 + scripts/item/consume_2436578.py | 4 + scripts/item/consume_2436596.py | 4 + scripts/item/consume_2436611.py | 4 + scripts/item/consume_2436616.py | 0 scripts/item/consume_2436643.py | 5 + scripts/item/consume_2436644.py | 5 + scripts/item/consume_2436645.py | 5 + scripts/item/consume_2436646.py | 5 + scripts/item/consume_2436651.py | 5 + scripts/item/consume_2436652.py | 5 + scripts/item/consume_2436653.py | 5 + scripts/item/consume_2436654.py | 5 + scripts/item/consume_2436655.py | 5 + scripts/item/consume_2436656.py | 5 + scripts/item/consume_2436657.py | 5 + scripts/item/consume_2436658.py | 5 + scripts/item/consume_2436679.py | 4 + scripts/item/consume_2436680.py | 4 + scripts/item/consume_2436681.py | 4 + scripts/item/consume_2436682.py | 4 + scripts/item/consume_2436687.py | 4 + scripts/item/consume_2436688.py | 4 + scripts/item/consume_2436721.py | 5 + scripts/item/consume_2436740.py | 5 + scripts/item/consume_2436741.py | 5 + scripts/item/consume_2436742.py | 5 + scripts/item/consume_2436743.py | 5 + scripts/item/consume_2436744.py | 5 + scripts/item/consume_2436745.py | 5 + scripts/item/consume_2436746.py | 5 + scripts/item/consume_2436747.py | 5 + scripts/item/consume_2436748.py | 5 + scripts/item/consume_2436749.py | 5 + scripts/item/consume_2436785.py | 4 + scripts/item/consume_2436808.py | 5 + scripts/item/consume_2436810.py | 4 + scripts/item/consume_2436830.py | 5 + scripts/item/consume_2436831.py | 5 + scripts/item/consume_2436832.py | 5 + scripts/item/consume_2436884.py | 9 + scripts/item/consume_2436951.py | 4 + scripts/item/consume_2436952.py | 4 + scripts/item/consume_2436953.py | 4 + scripts/item/consume_2436980.py | 9 + scripts/item/consume_2436984.py | 5 + scripts/item/consume_2436986.py | 4 + scripts/item/consume_2437009.py | 4 + scripts/item/consume_2437022.py | 4 + scripts/item/consume_2437023.py | 4 + scripts/item/consume_2437024.py | 4 + scripts/item/consume_2437025.py | 1882 ++ scripts/item/consume_2437049.py | 5 + scripts/item/consume_2437050.py | 5 + scripts/item/consume_2437051.py | 5 + scripts/item/consume_2437052.py | 5 + scripts/item/consume_2437164.py | 4 + scripts/item/consume_2437166.py | 5 + scripts/item/consume_2437167.py | 5 + scripts/item/consume_2437168.py | 5 + scripts/item/consume_2437169.py | 5 + scripts/item/consume_2437238.py | 4 + scripts/item/consume_2437244.py | 4 + scripts/item/consume_2437264.py | 70 + scripts/item/consume_2437268.py | 5 + scripts/item/consume_2437269.py | 5 + scripts/item/consume_2437270.py | 5 + scripts/item/consume_2437271.py | 5 + scripts/item/consume_2437274.py | 5 + scripts/item/consume_2437478.py | 9 + scripts/item/consume_2437482.py | 4 + scripts/item/consume_2437484.py | 5 + scripts/item/consume_2437488.py | 5 + scripts/item/consume_2437489.py | 5 + scripts/item/consume_2437490.py | 5 + scripts/item/consume_2437491.py | 5 + scripts/item/consume_2437495.py | 4 + scripts/item/consume_2437496.py | 4 + scripts/item/consume_2437515.py | 4 + scripts/item/consume_2437521.py | 5 + scripts/item/consume_2437522.py | 5 + scripts/item/consume_2437523.py | 5 + scripts/item/consume_2437524.py | 5 + scripts/item/consume_2437527.py | 4 + scripts/item/consume_2437604.py | 5 + scripts/item/consume_2437691.py | 4 + scripts/item/consume_2437697.py | 4 + scripts/item/consume_2437700.py | 5 + scripts/item/consume_2437701.py | 5 + scripts/item/consume_2437703.py | 5 + scripts/item/consume_2437707.py | 4 + scripts/item/consume_2437708.py | 4 + scripts/item/consume_2437709.py | 4 + scripts/item/consume_2437710.py | 4 + scripts/item/consume_2437712.py | 4 + scripts/item/consume_2437716.py | 4 + scripts/item/consume_2437727.py | 4 + scripts/item/consume_2437735.py | 4 + scripts/item/consume_2437736.py | 4 + scripts/item/consume_2437750.py | 11 + scripts/item/consume_2437760.py | 11 + scripts/item/consume_2437767.py | 4 + scripts/item/consume_2437768.py | 4 + scripts/item/consume_2437769.py | 4 + scripts/item/consume_2437851.py | 4 + scripts/item/consume_2437854.py | 4 + scripts/item/consume_2437856.py | 5 + scripts/item/consume_2437877.py | 4 + scripts/item/consume_2438032.py | 4 + scripts/item/consume_2438085.py | 5 + scripts/item/consume_2438086.py | 5 + scripts/item/consume_2438087.py | 5 + scripts/item/consume_2438088.py | 5 + scripts/item/consume_2438089.py | 5 + scripts/item/consume_2438143.py | 4 + scripts/item/consume_2438144.py | 4 + scripts/item/consume_2438158.py | 4 + scripts/item/consume_2438159.py | 4 + scripts/item/consume_2438160.py | 4 + scripts/item/consume_2438161.py | 4 + scripts/item/consume_2438162.py | 4 + scripts/item/consume_2438163.py | 4 + scripts/item/consume_2438164.py | 4 + scripts/item/consume_2438165.py | 4 + scripts/item/consume_2438167.py | 4 + scripts/item/consume_2438168.py | 4 + scripts/item/consume_2438169.py | 4 + scripts/item/consume_2438170.py | 4 + scripts/item/consume_2438171.py | 4 + scripts/item/consume_2438172.py | 4 + scripts/item/consume_2438173.py | 4 + scripts/item/consume_2438174.py | 4 + scripts/item/consume_2438175.py | 4 + scripts/item/consume_2438176.py | 4 + scripts/item/consume_2438177.py | 4 + scripts/item/consume_2438179.py | 4 + scripts/item/consume_2438181.py | 4 + scripts/item/consume_2438182.py | 4 + scripts/item/consume_2438184.py | 4 + scripts/item/consume_2438185.py | 4 + scripts/item/consume_2438186.py | 4 + scripts/item/consume_2438188.py | 4 + scripts/item/consume_2438190.py | 4 + scripts/item/consume_2438191.py | 4 + scripts/item/consume_2438192.py | 4 + scripts/item/consume_2438193.py | 4 + scripts/item/consume_2438194.py | 4 + scripts/item/consume_2438195.py | 4 + scripts/item/consume_2438196.py | 4 + scripts/item/consume_2438197.py | 4 + scripts/item/consume_2438198.py | 4 + scripts/item/consume_2438199.py | 4 + scripts/item/consume_2438200.py | 4 + scripts/item/consume_2438202.py | 4 + scripts/item/consume_2438205.py | 4 + scripts/item/consume_2438207.py | 4 + scripts/item/consume_2438211.py | 4 + scripts/item/consume_2438212.py | 4 + scripts/item/consume_2438215.py | 4 + scripts/item/consume_2438216.py | 4 + scripts/item/consume_2438217.py | 4 + scripts/item/consume_2438219.py | 4 + scripts/item/consume_2438220.py | 4 + scripts/item/consume_2438221.py | 4 + scripts/item/consume_2438222.py | 4 + scripts/item/consume_2438224.py | 4 + scripts/item/consume_2438225.py | 4 + scripts/item/consume_2438226.py | 4 + scripts/item/consume_2438227.py | 4 + scripts/item/consume_2438228.py | 4 + scripts/item/consume_2438229.py | 4 + scripts/item/consume_2438231.py | 4 + scripts/item/consume_2438232.py | 4 + scripts/item/consume_2438233.py | 4 + scripts/item/consume_2438234.py | 4 + scripts/item/consume_2438235.py | 4 + scripts/item/consume_2438236.py | 4 + scripts/item/consume_2438237.py | 4 + scripts/item/consume_2438238.py | 4 + scripts/item/consume_2438240.py | 4 + scripts/item/consume_2438241.py | 4 + scripts/item/consume_2438242.py | 4 + scripts/item/consume_2438243.py | 4 + scripts/item/consume_2438244.py | 4 + scripts/item/consume_2438245.py | 4 + scripts/item/consume_2438246.py | 4 + scripts/item/consume_2438247.py | 4 + scripts/item/consume_2438248.py | 4 + scripts/item/consume_2438249.py | 4 + scripts/item/consume_2438250.py | 4 + scripts/item/consume_2438251.py | 4 + scripts/item/consume_2438252.py | 4 + scripts/item/consume_2438253.py | 4 + scripts/item/consume_2438254.py | 4 + scripts/item/consume_2438255.py | 4 + scripts/item/consume_2438256.py | 4 + scripts/item/consume_2438257.py | 4 + scripts/item/consume_2438258.py | 4 + scripts/item/consume_2438259.py | 4 + scripts/item/consume_2438260.py | 4 + scripts/item/consume_2438261.py | 4 + scripts/item/consume_2438263.py | 4 + scripts/item/consume_2438264.py | 4 + scripts/item/consume_2438265.py | 4 + scripts/item/consume_2438266.py | 4 + scripts/item/consume_2438267.py | 4 + scripts/item/consume_2438268.py | 4 + scripts/item/consume_2438269.py | 4 + scripts/item/consume_2438270.py | 4 + scripts/item/consume_2438272.py | 4 + scripts/item/consume_2438274.py | 4 + scripts/item/consume_2438275.py | 4 + scripts/item/consume_2438276.py | 4 + scripts/item/consume_2438282.py | 4 + scripts/item/consume_2438283.py | 4 + scripts/item/consume_2438284.py | 4 + scripts/item/consume_2438285.py | 4 + scripts/item/consume_2438286.py | 4 + scripts/item/consume_2438287.py | 4 + scripts/item/consume_2438288.py | 4 + scripts/item/consume_2438289.py | 4 + scripts/item/consume_2438290.py | 4 + scripts/item/consume_2438293.py | 4 + scripts/item/consume_2438294.py | 4 + scripts/item/consume_2438295.py | 4 + scripts/item/consume_2438296.py | 4 + scripts/item/consume_2438297.py | 4 + scripts/item/consume_2438298.py | 4 + scripts/item/consume_2438299.py | 4 + scripts/item/consume_2438300.py | 4 + scripts/item/consume_2438301.py | 4 + scripts/item/consume_2438302.py | 4 + scripts/item/consume_2438303.py | 4 + scripts/item/consume_2438306.py | 4 + scripts/item/consume_2438307.py | 4 + scripts/item/consume_2438308.py | 4 + scripts/item/consume_2438309.py | 4 + scripts/item/consume_2438310.py | 4 + scripts/item/consume_2438311.py | 4 + scripts/item/consume_2438312.py | 4 + scripts/item/consume_2438313.py | 4 + scripts/item/consume_2438314.py | 4 + scripts/item/consume_2438315.py | 4 + scripts/item/consume_2438347.py | 5 + scripts/item/consume_2438348.py | 5 + scripts/item/consume_2438352.py | 4 + scripts/item/consume_2438353.py | 4 + scripts/item/consume_2438378.py | 4 + scripts/item/consume_2438379.py | 4 + scripts/item/consume_2438396.py | 9 + scripts/item/consume_2438413.py | 4 + scripts/item/consume_2438414.py | 4 + scripts/item/consume_2438415.py | 4 + scripts/item/consume_2438416.py | 4 + scripts/item/consume_2438417.py | 4 + scripts/item/consume_2438418.py | 4 + scripts/item/consume_2438419.py | 4 + scripts/item/consume_2438420.py | 4 + scripts/item/consume_2438421.py | 4 + scripts/item/consume_2438460.py | 4 + scripts/item/consume_2438461.py | 4 + scripts/item/consume_2438467.py | 5 + scripts/item/consume_2438469.py | 5 + scripts/item/consume_2438471.py | 5 + scripts/item/consume_2438473.py | 5 + scripts/item/consume_2438477.py | 5 + scripts/item/consume_2438485.py | 4 + scripts/item/consume_2438491.py | 4 + scripts/item/consume_2438492.py | 4 + scripts/item/consume_2438529.py | 4 + scripts/item/consume_2438530.py | 4 + scripts/item/consume_2438592.py | 5 + scripts/item/consume_2438594.py | 5 + scripts/item/consume_2438596.py | 5 + scripts/item/consume_2438604.py | 4 + scripts/item/consume_2438637.py | 4 + scripts/item/consume_2438655.py | 5 + scripts/item/consume_2438659.py | 5 + scripts/item/consume_2438661.py | 5 + scripts/item/consume_2438671.py | 5 + scripts/item/consume_2438676.py | 4 + scripts/item/consume_2438713.py | 4 + scripts/item/consume_2438759.py | 4 + scripts/item/consume_2438761.py | 4 + scripts/item/consume_2438871.py | 4 + scripts/item/consume_2438872.py | 4 + scripts/item/consume_2438880.py | 4 + scripts/item/consume_2438881.py | 4 + scripts/item/consume_2438884.py | 4 + scripts/item/consume_2438885.py | 4 + scripts/item/consume_2438924.py | 4 + scripts/item/consume_2438925.py | 4 + scripts/item/consume_2438926.py | 4 + scripts/item/consume_2438929.py | 5 + scripts/item/consume_2438930.py | 5 + scripts/item/consume_2438931.py | 5 + scripts/item/consume_2439031.py | 14 + scripts/item/consume_2439129.py | 5 + scripts/item/consume_2439132.py | 5 + scripts/item/consume_2439157.py | 5 + scripts/item/consume_2439164.py | 5 + scripts/item/consume_2439167.py | 5 + scripts/item/consume_2439170.py | 6 + scripts/item/consume_2439256.py | 4 + scripts/item/consume_2439264.py | 4 + scripts/item/consume_2439265.py | 4 + scripts/item/consume_2439277.py | 4 + scripts/item/consume_2439298.py | 4 + scripts/item/consume_2439336.py | 4 + scripts/item/consume_2439337.py | 4 + scripts/item/consume_2439338.py | 4 + scripts/item/consume_2439372.py | 9 + scripts/item/consume_2439373.py | 5 + scripts/item/consume_2439376.py | 5 + scripts/item/consume_2439381.py | 4 + scripts/item/consume_2439392.py | 4 + scripts/item/consume_2439393.py | 4 + scripts/item/consume_2439394.py | 4 + scripts/item/consume_2439395.py | 4 + scripts/item/consume_2439407.py | 4 + scripts/item/consume_2439408.py | 4 + scripts/item/consume_2439442.py | 5 + scripts/item/consume_2439523.py | 4 + scripts/item/consume_2439551.py | 5 + scripts/item/consume_2439554.py | 5 + scripts/item/consume_2439556.py | 4 + scripts/item/consume_2439567.py | 9 + scripts/item/consume_2439568.py | 9 + scripts/item/consume_2439572.py | 4 + scripts/item/consume_2439616.py | 4 + scripts/item/consume_2439617.py | 4 + scripts/item/consume_2439652.py | 4 + scripts/item/consume_2439665.py | 4 + scripts/item/consume_2439683.py | 4 + scripts/item/consume_2439684.py | 4 + scripts/item/consume_2439685.py | 4 + scripts/item/consume_2439686.py | 4 + scripts/item/consume_2439697.py | 5 + scripts/item/consume_2439700.py | 5 + scripts/item/consume_2439768.py | 4 + scripts/item/consume_2439769.py | 4 + scripts/item/consume_2439800.py | 5 + scripts/item/consume_2439804.py | 9 + scripts/item/consume_2439805.py | 5 + scripts/item/consume_2439894.py | 5 + scripts/item/consume_2439897.py | 5 + scripts/item/consume_2439898.py | 5 + scripts/item/consume_2439899.py | 4 + scripts/item/consume_2439906.py | 9 + scripts/item/consume_2439907.py | 9 + scripts/item/consume_2439908.py | 9 + scripts/item/consume_2439909.py | 9 + scripts/item/consume_2439913.py | 8 + scripts/item/consume_2439925.py | 4 + scripts/item/consume_2439926.py | 4 + scripts/item/consume_2439927.py | 4 + scripts/item/consume_2439928.py | 4 + scripts/item/consume_2460446.py | 4 + scripts/item/consume_2481004.py | 10 + scripts/item/consume_2630153.py | 4 + scripts/item/consume_2630156.py | 4 + scripts/item/consume_2630159.py | 3 + scripts/item/consume_2630301.py | 4 + scripts/item/consume_2630304.py | 4 + scripts/item/consume_2630381.py | 4 + scripts/item/consume_2630390.py | 4 + scripts/item/consume_2630393.py | 4 + scripts/item/consume_2630446.py | 3 + scripts/item/consume_3800993.py | 4 + scripts/item/consume_3801003.py | 4 + scripts/item/consume_3801113.py | 4 + scripts/item/consume_5680343.py | 4 + scripts/item/consume_5680395.py | 4 + scripts/item/undefined.py | 2 + scripts/npc/1012009.py | 1 + scripts/npc/1033001.py | 2 + scripts/npc/1033002.py | 1 + scripts/npc/1033103.py | 1 + scripts/npc/1033104.py | 1 + scripts/npc/1033105.py | 1 + scripts/npc/1052005.py | 160 + scripts/npc/1052101.py | 160 + scripts/npc/1064017.py | 41 + scripts/npc/1082003.py | 5 + scripts/npc/1082004.py | 6 + scripts/npc/1096001.py | 2 + scripts/npc/1103000.py | 2 + scripts/npc/141000000_contimove.py | 5 + scripts/npc/1512000.py | 2 + scripts/npc/1512001.py | 2 + scripts/npc/1512002.py | 2 + scripts/npc/1512003.py | 2 + scripts/npc/1512004.py | 2 + scripts/npc/1512005.py | 2 + scripts/npc/1530051.py | 25 + scripts/npc/1530629.py | 22 + scripts/npc/1540417.py | 8 + scripts/npc/2011Halloween.py | 11 + scripts/npc/2011Haloween.py | 78 + scripts/npc/2041016.py | 70 + scripts/npc/2091012.py | 241 + scripts/npc/2121012.py | 15 + scripts/npc/2159481.py | 61 + scripts/npc/2210013.py | 7 + scripts/npc/2230202.py | 47 + scripts/npc/2nd_bowman.py | 21 + scripts/npc/2nd_magician.py | 23 + scripts/npc/2nd_pirate.py | 19 + scripts/npc/2nd_thief.py | 19 + scripts/npc/2nd_warrior.py | 23 + scripts/npc/3003123.py | 1 + scripts/npc/3003323.py | 0 scripts/npc/3jobExit.py | 6 + scripts/npc/701220350_check.py | 45 + scripts/npc/9000019.py | 3 + scripts/npc/9000095.py | 11 + scripts/npc/9000139.py | 1 + scripts/npc/9000289.py | 267 + scripts/npc/9000386.py | 156 + scripts/npc/9010034.py | 99 + scripts/npc/9010036.py | 130 + scripts/npc/9010038.py | 156 + scripts/npc/9010047.py | 60 + scripts/npc/9010063.py | 179 + scripts/npc/9010095.py | 1 + scripts/npc/9030000.py | 9 + scripts/npc/9031015.py | 9 + scripts/npc/9062015.py | 1 + scripts/npc/9071009.py | 1 + scripts/npc/9072100.py | 9 + scripts/npc/9072201.py | 0 scripts/npc/9072302.py | 222 + scripts/npc/9075301.py | 5 + scripts/npc/9075308.py | 3 + scripts/npc/9075309.py | 3 + scripts/npc/9075310.py | 3 + scripts/npc/9075311.py | 3 + scripts/npc/9075312.py | 3 + scripts/npc/9075313.py | 3 + scripts/npc/9075314.py | 3 + scripts/npc/9075315.py | 3 + scripts/npc/9075316.py | 3 + scripts/npc/9075317.py | 3 + scripts/npc/9090008.py | 160 + scripts/npc/9131005.py | 13 + scripts/npc/9201324.py | 16 + scripts/npc/9201492.py | 14 + scripts/npc/9201610.py | 20 + scripts/npc/9209005.py | 27 + scripts/npc/9270064.py | 139 + scripts/npc/9310041.py | 53 + scripts/npc/9330278.py | 479 + scripts/npc/9390124.py | 8 + scripts/npc/9390126.py | 50 + scripts/npc/9390208.py | 1 + scripts/npc/9390225.py | 2 + scripts/npc/9390232.py | 1 + scripts/npc/9390233.py | 1 + scripts/npc/9400534.py | 1 + scripts/npc/About_NLC.py | 48 + scripts/npc/Akayrum_accept.py | 53 + scripts/npc/ArcherMaster.py | 6 + scripts/npc/DimensionInavde.py | 91 + scripts/npc/EmiliaQuest.py | 101 + scripts/npc/Enter_Darkportal_H.py | 10 + scripts/npc/Enter_Darkportal_M.py | 10 + scripts/npc/Enter_Darkportal_P.py | 11 + scripts/npc/Enter_Darkportal_T.py | 10 + scripts/npc/Enter_Darkportal_W.py | 10 + scripts/npc/Enter_krease.py | 2 + scripts/npc/Event00.py | 3 + scripts/npc/Event05.py | 2 + scripts/npc/Event_PinkZakumOut.py | 14 + scripts/npc/Event_PinkZakumreward.py | 23 + scripts/npc/FighterMaster.py | 6 + scripts/npc/Fritto_out.py | 2 + scripts/npc/FutureGate_taxi.py | 10 + scripts/npc/GL_Food Fight.py | 22 + scripts/npc/Gachapierrot.py | 16 + scripts/npc/GoSchool.py | 5 + scripts/npc/GolluxOutReqeust.py | 7 + scripts/npc/HW_macha.py | 1 + scripts/npc/LionCastle_accept.py | 54 + scripts/npc/M_info.py | 66 + scripts/npc/MagicianMaster.py | 2 + scripts/npc/Malay_Warp.py | 1 + scripts/npc/MalaysiaBoss_GL.py | 2 + scripts/npc/Manji.py | 6 + scripts/npc/NLC_Taxi.py | 7 + scripts/npc/NLC_ticketing.py | 11 + scripts/npc/NPC_unionShop.py | 1 + scripts/npc/PQout1.py | 1 + scripts/npc/PTjob2N.py | 18 + scripts/npc/PTjob4N.py | 2 + scripts/npc/PinkBeen_Out.py | 10 + scripts/npc/PinkBeen_Summon.py | 23 + scripts/npc/PinkBeen_accept.py | 49 + scripts/npc/PirateMaster.py | 5 + scripts/npc/Polo_Out.py | 2 + scripts/npc/ProofKern.py | 2 + scripts/npc/Raid_party.py | 210 + scripts/npc/Ranmaru_check_eNum.py | 4 + scripts/npc/SecJob_Schiller.py | 20 + scripts/npc/ShanghaiGate.py | 4 + scripts/npc/ShanghaiMapleGate.py | 4 + scripts/npc/Shaolin_notice.py | 4 + scripts/npc/Sky_Train.py | 3 + scripts/npc/SockerCreate.py | 122 + scripts/npc/SongOfHawar.py | 12 + scripts/npc/Stage0_visitor_gooutcube.py | 17 + scripts/npc/StageNpcCheckSengo.py | 14 + scripts/npc/Sunstone.py | 4 + scripts/npc/TheSeedRanking.py | 21 + scripts/npc/Thomas.py | 15 + scripts/npc/UIOpen.py | 17 + scripts/npc/UIOpen_Start.py | 3 + scripts/npc/UMcoolgirl.py | 7 + scripts/npc/VanLeon_Summon.py | 10 + scripts/npc/VcoreUI.py | 3 + scripts/npc/WUkerning.py | 9 + scripts/npc/WUkerning_exit.py | 6 + scripts/npc/WUkerning_next.py | 4 + scripts/npc/WUmoonrabbit.py | 32 + scripts/npc/WUmoonrabbit_tiger.py | 33 + scripts/npc/Zakum00.py | 26 + scripts/npc/Zakum02.py | 4 + scripts/npc/Zakum04.py | 6 + scripts/npc/Zakum06.py | 3 + scripts/npc/__init__.py | 0 scripts/npc/acc_product.py | 62 + scripts/npc/aishaShop.py | 1 + scripts/npc/alchemy.py | 64 + scripts/npc/alicia_aquaris.py | 53 + scripts/npc/aqupondo.py | 4 + scripts/npc/arcana_flower.py | 5 + scripts/npc/arcana_rock_free.py | 6 + scripts/npc/arcana_rock_free2.py | 4 + scripts/npc/archer4th_warp.py | 20 + scripts/npc/awake.py | 49 + scripts/npc/ayame_sc.py | 51 + scripts/npc/babyPig.py | 10 + scripts/npc/babyfood.py | 2 + scripts/npc/backToVictoria.py | 7 + scripts/npc/balog_InOut.py | 6 + scripts/npc/balog_accept.py | 49 + scripts/npc/balog_scroll.py | 42 + scripts/npc/banbanEnter.py | 51 + scripts/npc/bell.py | 6 + scripts/npc/bellumEnter.py | 51 + scripts/npc/bing00.py | 50 + scripts/npc/black_bean_start.py | 39 + scripts/npc/blockbusterUiOpen.py | 4 + scripts/npc/bloodyqueenEnter.py | 51 + scripts/npc/boss_bellderos.py | 32 + scripts/npc/boss_treglo.py | 9 + scripts/npc/boss_victor.py | 9 + scripts/npc/bush1.py | 25 + scripts/npc/bush2.py | 23 + scripts/npc/cannon_forewarning.py | 2 + scripts/npc/captinsg01.py | 3 + scripts/npc/characterNameChange.py | 8 + scripts/npc/cheki.py | 6 + scripts/npc/con1.py | 3 + scripts/npc/con2.py | 3 + scripts/npc/contimoveAnyway.py | 25 + scripts/npc/contimoveEdeGo.py | 6 + scripts/npc/contimoveEliEde.py | 6 + scripts/npc/contimoveOrbEde.py | 6 + scripts/npc/contimoveOrbEre.py | 6 + scripts/npc/contimoveRieRit.py | 16 + scripts/npc/contimoveRitRie.py | 5 + scripts/npc/craft_nodestone.py | 22 + scripts/npc/crane.py | 9 + scripts/npc/createCygnus.py | 3 + scripts/npc/crimsonRidley.py | 4 + scripts/npc/crossHunter_bomb.py | 5 + scripts/npc/cygnus_accept.py | 52 + scripts/npc/cygnus_lv120.py | 2 + scripts/npc/davyJohn_enter.py | 38 + scripts/npc/davyJohn_play.py | 99 + scripts/npc/desc_tree.py | 12 + scripts/npc/dimensionGate.py | 4 + scripts/npc/dojang_enter.py | 34 + scripts/npc/dooat.py | 22 + scripts/npc/dragonEgg.py | 4 + scripts/npc/dragon_dream.py | 7 + scripts/npc/dreamBreaker_NPC.py | 10 + scripts/npc/dressing_room.py | 179 + scripts/npc/ds_tuto_ClickObj.py | 42 + scripts/npc/dualBladeJob.py | 11 + scripts/npc/elizaHarp1.py | 4 + scripts/npc/elizaHarp2.py | 4 + scripts/npc/elizaHarp3.py | 4 + scripts/npc/elizaHarp4.py | 4 + scripts/npc/elizaHarp5.py | 4 + scripts/npc/elizaHarp6.py | 4 + scripts/npc/elizaHarp7.py | 4 + scripts/npc/enterEvolvingSystem.py | 5 + scripts/npc/enterGreatElf.py | 3 + scripts/npc/enterTraining.py | 14 + scripts/npc/enter_TimeGap.py | 9 + scripts/npc/equip_product.py | 63 + scripts/npc/eunwolhouse_item.py | 40 + scripts/npc/euwol_Phantom.py | 3 + scripts/npc/everything00.py | 24 + scripts/npc/extreme_welcome.py | 2 + scripts/npc/face_henesys1.py | 20 + scripts/npc/fairy_dosy.py | 13 + scripts/npc/fairy_epony.py | 19 + scripts/npc/fairy_uny.py | 14 + scripts/npc/farm_coin.py | 26 + scripts/npc/fire_kit.py | 6 + scripts/npc/flower_in.py | 6 + scripts/npc/flower_out.py | 6 + scripts/npc/flyminidraco.py | 12 + scripts/npc/friend00.py | 17 + scripts/npc/gachaponbox1.py | 68 + scripts/npc/getAboard.py | 9 + scripts/npc/get_ticket.py | 18 + scripts/npc/giveEggEvan.py | 9 + scripts/npc/giveKineWeapon.py | 10 + scripts/npc/give_4034141.py | 6 + scripts/npc/giveupRiding.py | 6 + scripts/npc/glpqEnter.py | 5 + scripts/npc/glpqStart.py | 48 + scripts/npc/glpqStory.py | 19 + scripts/npc/goKinoc.py | 17 + scripts/npc/goToLehel.py | 6 + scripts/npc/goVeritas.py | 4 + scripts/npc/go_tree1.py | 12 + scripts/npc/go_tree2.py | 13 + scripts/npc/go_tree3.py | 13 + scripts/npc/go_victoria.py | 8 + scripts/npc/go_xmas.py | 2 + scripts/npc/go_xmas06.py | 4 + scripts/npc/gold_chan.py | 7 + scripts/npc/gold_dao.py | 7 + scripts/npc/goldrich.py | 2 + scripts/npc/goto_141060000.py | 14 + scripts/npc/guild_move.py | 4 + scripts/npc/guild_proc.py | 25 + scripts/npc/guild_union.py | 30 + scripts/npc/hair_ariant1.py | 17 + scripts/npc/hair_edel1.py | 16 + scripts/npc/hair_henesys1.py | 17 + scripts/npc/hair_henesys2.py | 9 + scripts/npc/hair_kerning1.py | 17 + scripts/npc/hair_ludi1.py | 17 + scripts/npc/hair_royal.py | 2 + scripts/npc/henrite.py | 6 + scripts/npc/herb_in.py | 46 + scripts/npc/herb_out.py | 5 + scripts/npc/herbalism.py | 40 + scripts/npc/hillah_accept.py | 55 + scripts/npc/himmel.py | 4 + scripts/npc/holyStone.py | 15 + scripts/npc/hontale_Bdoor.py | 8 + scripts/npc/hontale_accept.py | 53 + scripts/npc/hontale_enterToE.py | 9 + scripts/npc/hontale_out.py | 5 + scripts/npc/hotel1.py | 32 + scripts/npc/huntingZoneIn.py | 44 + scripts/npc/iceman_Reward.py | 7 + scripts/npc/illex.py | 6 + scripts/npc/infoArcher.py | 20 + scripts/npc/infoMagician.py | 19 + scripts/npc/infoPirate.py | 17 + scripts/npc/infoRogue.py | 19 + scripts/npc/infoSwordman.py | 17 + scripts/npc/intoResiTR.py | 21 + scripts/npc/inv-seller.py | 117 + scripts/npc/ipia_teleport.py | 4 + scripts/npc/item2607.py | 4 + scripts/npc/jaguar_in.py | 14 + scripts/npc/jane.py | 1 + scripts/npc/jett00.py | 9 + scripts/npc/jett_tuto_10_1.py | 66 + scripts/npc/jett_tuto_11_0.py | 72 + scripts/npc/job4_item.py | 23 + scripts/npc/job_cygnus.py | 32 + scripts/npc/job_explorer.py | 32 + scripts/npc/job_resistance.py | 30 + scripts/npc/juliet_start.py | 66 + scripts/npc/jump_tree.py | 8 + scripts/npc/kannaTutoDirection.py | 33 + scripts/npc/kasandra.py | 9 + scripts/npc/kenjiTutoGate.py | 7 + scripts/npc/kenjiTutoShingen.py | 26 + scripts/npc/kenta_enter.py | 0 scripts/npc/king_summer.py | 22 + scripts/npc/lens_henesys1.py | 11 + scripts/npc/levelUP.py | 6 + scripts/npc/lilin.py | 12 + scripts/npc/link2_Clear.py | 5 + scripts/npc/lucid_accept.py | 6 + scripts/npc/ludi026.py | 403 + scripts/npc/ludi028.py | 24 + scripts/npc/ludi029.py | 15 + scripts/npc/ludi_move.py | 25 + scripts/npc/mParkShuttle.py | 11 + scripts/npc/mPark_retire.py | 3 + scripts/npc/magnus_boss.py | 57 + scripts/npc/magnus_out.py | 6 + scripts/npc/make_alert.py | 1936 ++ scripts/npc/mapleChat_NPC.py | 51 + scripts/npc/mapleEquipBuildup.py | 51 + scripts/npc/matius.py | 6 + scripts/npc/mc_guestHouse_move.py | 3 + scripts/npc/mentoringNPC.py | 134 + scripts/npc/merTutorAfrien.py | 53 + scripts/npc/merTutorElder.py | 100 + scripts/npc/merTutorFred.py | 2 + scripts/npc/mesoMarket.py | 0 scripts/npc/mihail_potionBox.py | 16 + scripts/npc/mike.py | 3 + scripts/npc/minigame00.py | 32 + scripts/npc/mining.py | 48 + scripts/npc/moonrabbit.py | 31 + scripts/npc/moonrabbit_bonus.py | 5 + scripts/npc/moonrabbit_tiger.py | 25 + scripts/npc/nautil_black.py | 2 + scripts/npc/nexonstarNpc_1.py | 18 + scripts/npc/nineheart.py | 12 + scripts/npc/npc_2162000.py | 4 + scripts/npc/npc_3003132.py | 0 scripts/npc/npc_9062117.py | 2 + scripts/npc/npc_9111063.py | 17 + scripts/npc/npc_9130115.py | 14 + scripts/npc/npc_9390201.py | 15 + scripts/npc/npc_9390217.py | 2 + scripts/npc/npc_9390219.py | 174 + scripts/npc/npc_9400530.py | 2 + scripts/npc/npc_9400570.py | 5 + scripts/npc/npc_9400624.py | 6 + scripts/npc/npc_9400626.py | 6 + scripts/npc/npc_9400628.py | 48 + scripts/npc/npc_horizonPortal.py | 8 + scripts/npc/npc_kid1.py | 1 + scripts/npc/oldBook1.py | 47 + scripts/npc/oldBook5.py | 31 + scripts/npc/open_accP.py | 8 + scripts/npc/open_alchemy.py | 8 + scripts/npc/open_equipP.py | 9 + scripts/npc/open_herb.py | 8 + scripts/npc/open_mining.py | 8 + scripts/npc/ossyria3_1.py | 21 + scripts/npc/ossyria_taxi.py | 48 + scripts/npc/outSecondDH.py | 6 + scripts/npc/out_evolvingSystem.py | 2 + scripts/npc/out_tree.py | 9 + scripts/npc/out_treglo.py | 5 + scripts/npc/out_victor.py | 5 + scripts/npc/owen.py | 24 + scripts/npc/pantheonMapleGate.py | 8 + scripts/npc/party2_enter.py | 42 + scripts/npc/party2_out.py | 9 + scripts/npc/party2_play.py | 89 + scripts/npc/party_ludimaze_goal.py | 3 + scripts/npc/periPatrol02.py | 10 + scripts/npc/pet_letter.py | 16 + scripts/npc/pet_lifeitem.py | 25 + scripts/npc/petmaster.py | 379 + scripts/npc/pierreEnter.py | 51 + scripts/npc/pirate4th_warp.py | 20 + scripts/npc/platformer_enter.py | 50 + scripts/npc/prisonBreak_enter.py | 31 + scripts/npc/promessa.py | 7 + scripts/npc/q1803_clear.py | 3 + scripts/npc/q20850_check3.py | 33 + scripts/npc/q23005ing.py | 6 + scripts/npc/q62003_check.py | 26 + scripts/npc/q62013_item.py | 16 + scripts/npc/rank_user.py | 6 + scripts/npc/reactor_8659135.py | 16 + scripts/npc/reactor_8659136.py | 17 + scripts/npc/reactor_8659137.py | 16 + scripts/npc/remove_DirtytreasureMap.py | 2 + scripts/npc/rescue_nora.py | 43 + scripts/npc/rita_Field.py | 11 + scripts/npc/rita_library.py | 8 + scripts/npc/rogue4th_warp.py | 20 + scripts/npc/rootaBossOut.py | 13 + scripts/npc/roro_Check1.py | 6 + scripts/npc/roro_Check2.py | 6 + scripts/npc/roro_Check3.py | 6 + scripts/npc/rouletteNPC.py | 9 + scripts/npc/rouletteNPC_2015.py | 21 + scripts/npc/rowen.py | 2 + scripts/npc/say_1012121.py | 2 + scripts/npc/sell_ticket.py | 1 + scripts/npc/shammos2.py | 2 + scripts/npc/shammos_Next1.py | 2 + scripts/npc/shaolin_collector.py | 8 + scripts/npc/skin_henesys1.py | 6 + scripts/npc/soulWeapon.py | 6 + scripts/npc/strangeGallery_out.py | 15 + scripts/npc/subway_in.py | 5 + scripts/npc/talk2152014.py | 4 + scripts/npc/talk2159000.py | 9 + scripts/npc/talk2159001.py | 41 + scripts/npc/talk2159002.py | 5 + scripts/npc/talk2159003.py | 9 + scripts/npc/talk2159004.py | 8 + scripts/npc/talk2159006.py | 35 + scripts/npc/talk2159007.py | 21 + scripts/npc/talk2159008.py | 32 + scripts/npc/talk2159009.py | 1 + scripts/npc/talk2159010.py | 41 + scripts/npc/talk2159011.py | 13 + scripts/npc/talk2159012.py | 32 + scripts/npc/talk2159013.py | 4 + scripts/npc/talk2159015.py | 7 + scripts/npc/talk2159016.py | 7 + scripts/npc/talkHelena.py | 10 + scripts/npc/talk_sugarMaple.py | 1 + scripts/npc/talk_vasilituto.py | 10 + scripts/npc/tangyoon_end.py | 9 + scripts/npc/tangyoon_start.py | 18 + scripts/npc/taxi5.py | 1 + scripts/npc/test.py | 480 + scripts/npc/tourNotice.py | 95 + scripts/npc/trademaster.py | 53 + scripts/npc/undefined.py | 1 + scripts/npc/unionRaid_IN.py | 14 + scripts/npc/unionRaid_OUT.py | 12 + scripts/npc/unityPortal.py | 9 + scripts/npc/unknown_shop.py | 1 + scripts/npc/urusEnter.py | 55 + scripts/npc/urusReward.py | 60 + scripts/npc/victoria_taxi.py | 6 + scripts/npc/viking_cannon1.py | 52 + scripts/npc/visitor_movenpc.py | 31 + scripts/npc/wanted_premier.py | 12 + scripts/npc/warrior4th_warp.py | 20 + scripts/npc/watermelon_out.py | 177 + scripts/npc/wedding_enter.py | 5 + scripts/npc/welcome_ereb00.py | 6 + scripts/npc/welcome_ereb01.py | 5 + scripts/npc/wendelinHeal.py | 8 + scripts/npc/will_enterGate.py | 44 + scripts/npc/will_out.py | 5 + scripts/npc/witchMaladyGL.py | 3 + scripts/npc/wizard4th_warp.py | 20 + scripts/npc/world_trip.py | 8 + scripts/npc/xmas_tree2.py | 12 + scripts/npc/zakum_accept.py | 57 + scripts/portal/101020400_east00.py | 4 + scripts/portal/101020400_east01.py | 3 + scripts/portal/101030000_down.py | 14 + scripts/portal/101050100_PT.py | 3 + scripts/portal/101070000_up.py | 10 + scripts/portal/101070100_east.py | 6 + scripts/portal/101071000_west.py | 6 + scripts/portal/101072000_east.py | 3 + scripts/portal/103030100_in00.py | 4 + scripts/portal/106030100_IP.py | 3 + scripts/portal/106030200_out00.py | 3 + scripts/portal/106030201_east00.py | 3 + scripts/portal/106030211_west00.py | 3 + scripts/portal/106030302_out00.py | 3 + scripts/portal/106030501_in00.py | 3 + scripts/portal/106030600_east00.py | 4 + scripts/portal/106031500_hide00.py | 4 + scripts/portal/106031502_hide01.py | 4 + scripts/portal/106031503_hide01.py | 4 + scripts/portal/141060000_pt00.py | 9 + scripts/portal/141060000_pt01.py | 9 + scripts/portal/141060000_pt02.py | 10 + scripts/portal/141060000_pt03.py | 10 + scripts/portal/141060000_pt04.py | 9 + scripts/portal/141060000_pt05.py | 10 + scripts/portal/141060000_ptq1.py | 9 + scripts/portal/1580_PCS01.py | 14 + scripts/portal/1580_PCS02.py | 2 + scripts/portal/1580_PCS03.py | 2 + scripts/portal/200020001_out00.py | 1 + scripts/portal/240010102_out00.py | 3 + scripts/portal/240090000_mid.py | 20 + scripts/portal/240091000_west.py | 13 + scripts/portal/240091300_south.py | 9 + scripts/portal/240091500_up.py | 11 + scripts/portal/240092000_down.py | 5 + scripts/portal/240092000_east.py | 6 + scripts/portal/240092100_in.py | 1 + scripts/portal/240092200_down.py | 6 + scripts/portal/240092300_west.py | 8 + scripts/portal/240093000_out.py | 6 + scripts/portal/240093200_in.py | 5 + scripts/portal/240093300_out.py | 2 + scripts/portal/240093310_out.py | 2 + scripts/portal/260010601_out00.py | 3 + scripts/portal/301070010_out.py | 5 + scripts/portal/310_stop01.py | 2 + scripts/portal/330_popup05.py | 2 + scripts/portal/330_popup06.py | 37 + scripts/portal/330_popup07.py | 19 + scripts/portal/3th_jobQuestMap.py | 18 + scripts/portal/410000001_out00.py | 2 + scripts/portal/450001005_PS00.py | 20 + scripts/portal/450001007_PCS01.py | 6 + scripts/portal/450001100_PS00.py | 4 + scripts/portal/450001105_PS00.py | 1 + scripts/portal/450001105_PS01.py | 1 + scripts/portal/450001107_PCS03.py | 4 + scripts/portal/450001210_PS00.py | 4 + scripts/portal/450001215_PS00.py | 4 + scripts/portal/450001218_PS00.py | 6 + scripts/portal/450001219_PS00.py | 2 + scripts/portal/450001219_PS01.py | 2 + scripts/portal/450001240_PS00.py | 1 + scripts/portal/450001250_PCS00.py | 6 + scripts/portal/450001320_PCS00.py | 3 + scripts/portal/450001350_PCS00.py | 1 + scripts/portal/807000000_honogi.py | 5 + scripts/portal/865010200_pc00.py | 4 + scripts/portal/865020001_pc00.py | 4 + scripts/portal/865020051_out00.py | 2 + scripts/portal/910090305_out00.py | 2 + scripts/portal/910090350_pcs00.py | 3 + scripts/portal/910090350_talk1.py | 2 + scripts/portal/910090350_talk2.py | 2 + scripts/portal/924000200_out00.py | 4 + scripts/portal/924000201_out00.py | 4 + scripts/portal/940200040_east00.py | 9 + scripts/portal/940200500_west00.py | 5 + scripts/portal/970072200_west.py | 1 + scripts/portal/BPReturn_Akayrum.py | 3 + scripts/portal/BPReturn_Hillah.py | 1 + scripts/portal/BPReturn_Hon1.py | 1 + scripts/portal/BPReturn_Hontale.py | 1 + scripts/portal/BPReturn_Magnus.py | 5 + scripts/portal/BPReturn_Magnus2.py | 3 + scripts/portal/BPReturn_Vanleon.py | 5 + scripts/portal/BPReturn_Will.py | 2 + scripts/portal/BPReturn_Zakum.py | 11 + scripts/portal/CWPQ_Portal4.py | 3 + scripts/portal/CWPQ_bonus_out.py | 3 + scripts/portal/CWminiGame_enter.py | 4 + scripts/portal/CaravanP1_Goal.py | 10 + scripts/portal/CaravanP1_chk0.py | 4 + scripts/portal/CaravanP1_chk1.py | 37 + scripts/portal/CaravanP1_chk10.py | 7 + scripts/portal/CaravanP1_chk11.py | 12 + scripts/portal/CaravanP1_chk12.py | 7 + scripts/portal/CaravanP1_chk13.py | 16 + scripts/portal/CaravanP1_chk14.py | 11 + scripts/portal/CaravanP1_chk15.py | 10 + scripts/portal/CaravanP1_chk2.py | 26 + scripts/portal/CaravanP1_chk3.py | 12 + scripts/portal/CaravanP1_chk4.py | 13 + scripts/portal/CaravanP1_chk5.py | 35 + scripts/portal/CaravanP1_chk6.py | 10 + scripts/portal/CaravanP1_chk7.py | 11 + scripts/portal/CaravanP1_chk8.py | 10 + scripts/portal/CaravanP1_chk9.py | 16 + scripts/portal/CaravanP2_Goal.py | 10 + scripts/portal/CaravanP2_chk0.py | 4 + scripts/portal/CaravanP2_chk1.py | 12 + scripts/portal/CaravanP2_chk10.py | 12 + scripts/portal/CaravanP2_chk11.py | 12 + scripts/portal/CaravanP2_chk12.py | 17 + scripts/portal/CaravanP2_chk13.py | 9 + scripts/portal/CaravanP2_chk14.py | 13 + scripts/portal/CaravanP2_chk15.py | 8 + scripts/portal/CaravanP2_chk16.py | 10 + scripts/portal/CaravanP2_chk17.py | 6 + scripts/portal/CaravanP2_chk18.py | 18 + scripts/portal/CaravanP2_chk19.py | 9 + scripts/portal/CaravanP2_chk2.py | 15 + scripts/portal/CaravanP2_chk3.py | 15 + scripts/portal/CaravanP2_chk4.py | 31 + scripts/portal/CaravanP2_chk5.py | 8 + scripts/portal/CaravanP2_chk6.py | 13 + scripts/portal/CaravanP2_chk7.py | 4 + scripts/portal/CaravanP2_chk8.py | 12 + scripts/portal/CaravanP2_chk9.py | 10 + scripts/portal/ComeBackHome.py | 1 + scripts/portal/Curbrock_Out.py | 3 + scripts/portal/DI_out.py | 1 + scripts/portal/DemianOut.py | 15 + scripts/portal/DemonZoneOut.py | 5 + scripts/portal/DragonEggNotice.py | 14 + scripts/portal/ES_Out.py | 1 + scripts/portal/EnterSWmer.py | 5 + scripts/portal/EnterStageSengo.py | 11 + scripts/portal/Event_PinkZakumR.py | 5 + scripts/portal/Exit_SparringMapNpc_Tiger.py | 1 + scripts/portal/FCPzone_start.py | 5 + scripts/portal/FourthJobResi.py | 21 + scripts/portal/GiantBossQuit1.py | 7 + scripts/portal/In_diera.py | 3 + scripts/portal/Library_out.py | 5 + scripts/portal/MD_high.py | 4 + scripts/portal/NextStageSengo.py | 9 + scripts/portal/NextStg.py | 8 + scripts/portal/OutElfKingRoom.py | 3 + scripts/portal/P1_BacktoEvent2.py | 2 + scripts/portal/P1_E1_Fire00.py | 10 + scripts/portal/P1_E2_Fire00.py | 2 + scripts/portal/P2_E2_Fire00.py | 2 + scripts/portal/P2_E3_Fire00.py | 2 + scripts/portal/P2_Event2_Start.py | 2 + scripts/portal/P2_Event3_Start.py | 2 + scripts/portal/P3_Fire00.py | 8 + scripts/portal/P3_ForceFire.py | 2 + scripts/portal/PCS_q17640.py | 36 + scripts/portal/PF_nextStage.py | 3 + scripts/portal/PH02.py | 1 + scripts/portal/PL_JBS_enter2.py | 14 + scripts/portal/PL_JBS_enter4.py | 6 + scripts/portal/PL_JBS_enter5.py | 8 + scripts/portal/PPinkOut.py | 1 + scripts/portal/PQout1.py | 5 + scripts/portal/PTjob3M.py | 1 + scripts/portal/PTjob4M_2.py | 1 + scripts/portal/PTtutor100_0.py | 3 + scripts/portal/PTtutor200_0.py | 13 + scripts/portal/PTtutor300_0.py | 7 + scripts/portal/PTtutor300_2.py | 71 + scripts/portal/PTtutor400_0.py | 3 + scripts/portal/Pianus.py | 7 + scripts/portal/Pinkin.py | 3 + scripts/portal/Platformer_exit.py | 5 + scripts/portal/Populatus00.py | 5 + scripts/portal/Portal_down.py | 1 + scripts/portal/Portal_up.py | 1 + scripts/portal/Pre_stg.py | 30 + scripts/portal/Ranmaru_ptlNPC.py | 54 + scripts/portal/Ranmaru_ptlNPC2.py | 54 + scripts/portal/Resi_tutor11.py | 41 + scripts/portal/Resi_tutor31.py | 35 + scripts/portal/Resi_tutor61.py | 32 + scripts/portal/Sky_BossOut.py | 5 + scripts/portal/Sky_Out.py | 39 + scripts/portal/StageOutSengo.py | 2 + scripts/portal/TD_MC_first.py | 1 + scripts/portal/TD_MC_jump.py | 5 + scripts/portal/ThirdJobResi.py | 8 + scripts/portal/UMFieldOut.py | 5 + scripts/portal/WUenterHubPortal.py | 8 + scripts/portal/WUexitHub.py | 2 + scripts/portal/Zakum05.py | 1 + scripts/portal/Zakumgo.py | 3 + scripts/portal/__init__.py | 0 scripts/portal/amoria_out.py | 2 + scripts/portal/aranTutorAloneX.py | 2 + scripts/portal/aranTutorArrow0.py | 4 + scripts/portal/aranTutorArrow1.py | 4 + scripts/portal/aranTutorArrow2.py | 4 + scripts/portal/aranTutorArrow3.py | 4 + scripts/portal/aranTutorGuide0.py | 5 + scripts/portal/aranTutorGuide1.py | 5 + scripts/portal/aranTutorGuide2.py | 5 + scripts/portal/aranTutorLost.py | 4 + scripts/portal/aranTutorMono0.py | 4 + scripts/portal/aranTutorMono1.py | 5 + scripts/portal/aranTutorMono2.py | 4 + scripts/portal/aranTutorMono3.py | 4 + scripts/portal/aranTutorOut1.py | 7 + scripts/portal/aranTutorOut2.py | 7 + scripts/portal/aranTutorOut3.py | 5 + scripts/portal/arcanaCave_next.py | 4 + scripts/portal/arcana_landing2.py | 3 + scripts/portal/arcane_water.py | 2 + scripts/portal/arisan_out.py | 12 + scripts/portal/ark_mPark_Next.py | 7 + scripts/portal/aswan_in.py | 2 + scripts/portal/babyPigOut.py | 1 + scripts/portal/back_Ludi.py | 3 + scripts/portal/back_hillah.py | 1 + scripts/portal/balogTemple.py | 3 + scripts/portal/balog_end.py | 5 + scripts/portal/banbanGoInside.py | 2 + scripts/portal/bedroom_out.py | 2 + scripts/portal/berry_out.py | 8 + scripts/portal/bh_bossOut.py | 39 + scripts/portal/bh_bossOutN.py | 40 + scripts/portal/bh_bossinmap1.py | 1 + scripts/portal/bh_bossinmap1n.py | 1 + scripts/portal/bh_bossinmap2.py | 1 + scripts/portal/bh_bossinmap2n.py | 1 + scripts/portal/bh_bossinmap3.py | 1 + scripts/portal/bh_bossinmap3n.py | 1 + scripts/portal/bh_bossinmap4.py | 1 + scripts/portal/bh_bossinmap4n.py | 1 + scripts/portal/bhb1_sc1.py | 3 + scripts/portal/bhb1_sc2.py | 2 + scripts/portal/bhb1_sc3.py | 4 + scripts/portal/bhb1_sc4.py | 2 + scripts/portal/bhb_scbossOut.py | 3 + scripts/portal/bhb_scenario.py | 10 + scripts/portal/blackHeaven_boss.py | 54 + scripts/portal/blackHeaven_boss_back.py | 1 + scripts/portal/blackbean_portal.py | 2 + scripts/portal/blackdracoout.py | 3 + scripts/portal/bmbossfield_out.py | 4 + scripts/portal/book.py | 5 + scripts/portal/bossBlackMage_pt.py | 40 + scripts/portal/cannon_tuto_06.py | 13 + scripts/portal/cannon_tuto_07.py | 5 + scripts/portal/cannon_tuto_09.py | 14 + scripts/portal/cannon_tuto_10.py | 1 + scripts/portal/captinsg00.py | 3 + scripts/portal/check_25856.py | 3 + scripts/portal/check_Portal0.py | 3 + scripts/portal/check_Portal1.py | 3 + scripts/portal/check_Portal2.py | 3 + scripts/portal/check_Portal3.py | 3 + scripts/portal/check_Portal5.py | 3 + scripts/portal/check_Portal6.py | 3 + scripts/portal/check_eNum.py | 3 + scripts/portal/check_q20828.py | 1 + scripts/portal/collision_1820_1.py | 7 + scripts/portal/collision_1820_2.py | 13 + scripts/portal/collision_1820_3.py | 18 + scripts/portal/collision_1820_4.py | 19 + scripts/portal/collision_1820_5.py | 93 + scripts/portal/collision_D5.py | 3 + scripts/portal/collision_E2.py | 25 + scripts/portal/comerz_potal00.py | 3 + scripts/portal/commerce_move.py | 1 + scripts/portal/connect1.py | 1 + scripts/portal/connect2.py | 1 + scripts/portal/connect3.py | 1 + scripts/portal/connect4.py | 1 + scripts/portal/connect5.py | 1 + scripts/portal/connect6.py | 1 + scripts/portal/connect7.py | 1 + scripts/portal/connect8.py | 1 + scripts/portal/connect9.py | 1 + scripts/portal/connect_UIOpen.py | 3 + scripts/portal/contactDragon.py | 2 + scripts/portal/crane_MR.py | 3 + scripts/portal/crane_SS.py | 4 + scripts/portal/createTower.py | 2 + scripts/portal/crimsonNext.py | 5 + scripts/portal/crimsonPZ.py | 1 + scripts/portal/crimsonWood2.py | 1 + scripts/portal/crimsonWood3.py | 1 + scripts/portal/crimsonWood4.py | 1 + scripts/portal/crossHunterAgit.py | 1 + scripts/portal/cyg_tutoPortal.py | 8 + scripts/portal/cygnusre01.py | 3 + scripts/portal/davy_exit.py | 6 + scripts/portal/davy_next0.py | 5 + scripts/portal/davy_next1.py | 7 + scripts/portal/davy_next2.py | 5 + scripts/portal/davy_next3.py | 5 + scripts/portal/davy_next4.py | 5 + scripts/portal/demonOutCheck.py | 1 + scripts/portal/dir01_867201540.py | 17 + scripts/portal/dir02_867201540.py | 18 + scripts/portal/dir_1560_1.py | 3 + scripts/portal/dir_1760.py | 24 + scripts/portal/dir_867201800.py | 13 + scripts/portal/dir_867201810.py | 6 + scripts/portal/dojang_exit.py | 11 + scripts/portal/dojang_next.py | 2 + scripts/portal/dojang_up.py | 13 + scripts/portal/donghwa_out.py | 7 + scripts/portal/downtown2015.py | 4 + scripts/portal/dracoout.py | 2 + scripts/portal/dragoneyes.py | 4 + scripts/portal/dropPortalGiantBoss.py | 4 + scripts/portal/drop_out.py | 5 + scripts/portal/ds_tuto_2_0.py | 44 + scripts/portal/ds_tuto_home.py | 8 + scripts/portal/dubl2TutoPT.py | 2 + scripts/portal/dublportal100.py | 3 + scripts/portal/east00_866101000.py | 3 + scripts/portal/end_cygtuto.py | 6 + scripts/portal/enterAchter.py | 5 + scripts/portal/enterBlackMine.py | 3 + scripts/portal/enterBlackWing.py | 8 + scripts/portal/enterDangerHair.py | 3 + scripts/portal/enterDisguise5.py | 3 + scripts/portal/enterDollcave.py | 4 + scripts/portal/enterDublTuto.py | 1 + scripts/portal/enterHRpt.py | 5 + scripts/portal/enterHonnouji.py | 8 + scripts/portal/enterInfo.py | 4 + scripts/portal/enterMCave.py | 11 + scripts/portal/enterMagiclibrar.py | 3 + scripts/portal/enterNewWeapon1.py | 5 + scripts/portal/enterNewWeapon2.py | 4 + scripts/portal/enterNewWeapon3.py | 4 + scripts/portal/enterNewWeapon4.py | 5 + scripts/portal/enterPTjob2.py | 5 + scripts/portal/enterPort.py | 5 + scripts/portal/enterRIpt.py | 1 + scripts/portal/enterResiTR.py | 21 + scripts/portal/enterRider.py | 4 + scripts/portal/enterRienFirst.py | 5 + scripts/portal/enterSecJobResi.py | 25 + scripts/portal/enterSecondDH.py | 6 + scripts/portal/enterTheCrack.py | 3 + scripts/portal/enter_AA2R.py | 7 + scripts/portal/enter_bellDoor.py | 32 + scripts/portal/enter_bossBlackMage.py | 1 + scripts/portal/enter_boss_CN.py | 1 + scripts/portal/enter_bosswait.py | 2 + scripts/portal/enter_citadel.py | 3 + scripts/portal/enter_earth00.py | 5 + scripts/portal/enter_georg.py | 3 + scripts/portal/enter_magnusDoor.py | 57 + scripts/portal/enter_mastema.py | 7 + scripts/portal/enter_retakeHQ.py | 3 + scripts/portal/enter_skyGate.py | 1 + scripts/portal/enter_treDoor.py | 10 + scripts/portal/enter_victorDoor.py | 10 + scripts/portal/ep1_escortGiveup.py | 10 + scripts/portal/escortPast_Next.py | 3 + scripts/portal/escort_start.py | 15 + scripts/portal/evanDollGR.py | 7 + scripts/portal/evanEntrance.py | 3 + scripts/portal/evanFall.py | 5 + scripts/portal/evanFarmCT.py | 7 + scripts/portal/evanGarden0.py | 3 + scripts/portal/evanGarden1.py | 5 + scripts/portal/evanGolemDoor.py | 3 + scripts/portal/evanRoom0.py | 9 + scripts/portal/evanRoom1.py | 12 + scripts/portal/evanlivingRoom.py | 3 + scripts/portal/evantalk00.py | 5 + scripts/portal/evantalk01.py | 5 + scripts/portal/evantalk02.py | 5 + scripts/portal/evantalk10.py | 5 + scripts/portal/evantalk11.py | 5 + scripts/portal/evantalk20.py | 5 + scripts/portal/evantalk21.py | 5 + scripts/portal/evantalk40.py | 5 + scripts/portal/evantalk41.py | 5 + scripts/portal/evantalk42.py | 5 + scripts/portal/evantalk50.py | 5 + scripts/portal/evantalk60.py | 5 + scripts/portal/eventjp_exit.py | 6 + scripts/portal/evolving_outPT1.py | 1 + scripts/portal/evolving_outPT2.py | 1 + scripts/portal/evolving_outPT3.py | 1 + scripts/portal/evolving_outPT4.py | 1 + scripts/portal/evolving_outPT5.py | 1 + scripts/portal/evolving_outPT6.py | 1 + scripts/portal/evolving_outPT7.py | 1 + scripts/portal/evolving_outPT8.py | 1 + scripts/portal/evolving_outPT9.py | 1 + scripts/portal/exit_adventure.py | 3 + scripts/portal/exit_dragonR.py | 3 + scripts/portal/exit_juliet.py | 3 + scripts/portal/extreme_in03.py | 30 + scripts/portal/extreme_out.py | 2 + scripts/portal/fall_224000103.py | 4 + scripts/portal/fallenWT_boss.py | 49 + scripts/portal/find_secretRoom.py | 14 + scripts/portal/finish_warZone1.py | 6 + scripts/portal/flag_Start.py | 3 + scripts/portal/flag_goal.py | 3 + scripts/portal/frittoEgg_1.py | 9 + scripts/portal/frittoEgg_2.py | 9 + scripts/portal/frittoEgg_3.py | 9 + scripts/portal/frittoEgg_4.py | 9 + scripts/portal/frittoEgg_5.py | 5 + scripts/portal/frittoEgg_Final.py | 5 + scripts/portal/gPark_Portal.py | 8 + scripts/portal/gate_intoPast.py | 6 + scripts/portal/gatherTuto.py | 25 + scripts/portal/giantBossPortal.py | 89 + scripts/portal/giveupCH_test.py | 1 + scripts/portal/glpqPortal1.py | 5 + scripts/portal/goBlackMarket.py | 3 + scripts/portal/goSkuasForest.py | 6 + scripts/portal/goSvarti.py | 6 + scripts/portal/goSvartiField.py | 7 + scripts/portal/goUP_310070300.py | 3 + scripts/portal/go_867201280.py | 18 + scripts/portal/go_FantasticPark.py | 3 + scripts/portal/go_adventuretuto.py | 9 + scripts/portal/go_animalShow.py | 12 + scripts/portal/go_ballroom.py | 4 + scripts/portal/go_blackmarket.py | 3 + scripts/portal/go_clockTower.py | 4 + scripts/portal/go_deepForest.py | 2 + scripts/portal/go_kCity.py | 1 + scripts/portal/go_reward.py | 6 + scripts/portal/goldTempleBoss.py | 3 + scripts/portal/goldTemple_mGate.py | 3 + scripts/portal/goldTemple_sGate.py | 3 + scripts/portal/gold_boss_gate.py | 4 + scripts/portal/gotoAran.py | 3 + scripts/portal/gotoDoor.py | 3 + scripts/portal/gotoNow.py | 3 + scripts/portal/goto_701220350.py | 262 + scripts/portal/gryphius.py | 7 + scripts/portal/hillah_next.py | 11 + scripts/portal/hintTuto02.py | 4 + scripts/portal/hintTuto03.py | 4 + scripts/portal/hontale_BR.py | 47 + scripts/portal/hontale_Bopen.py | 18 + scripts/portal/hontale_BtoB1.py | 4 + scripts/portal/hontale_C.py | 11 + scripts/portal/hontale_boss1.py | 1 + scripts/portal/hontale_boss2.py | 1 + scripts/portal/hontale_pass.py | 4 + scripts/portal/hunterOut.py | 34 + scripts/portal/in03.py | 1 + scripts/portal/in2159011.py | 13 + scripts/portal/inBlackSlimeBoss.py | 2 + scripts/portal/inDragonEgg.py | 6 + scripts/portal/inERShip.py | 3 + scripts/portal/inMyung.py | 6 + scripts/portal/inPTjob2.py | 8 + scripts/portal/inPTjob3.py | 6 + scripts/portal/inPTjob4.py | 6 + scripts/portal/inThiefMaster.py | 3 + scripts/portal/in_701220200.py | 4 + scripts/portal/in_701220300.py | 4 + scripts/portal/in_FantasticPark.py | 3 + scripts/portal/in_adventure.py | 3 + scripts/portal/in_ban.py | 4 + scripts/portal/in_chowBoss.py | 19 + scripts/portal/in_cygnus.py | 3 + scripts/portal/in_cygnusGarden.py | 9 + scripts/portal/in_fairyBoss.py | 39 + scripts/portal/in_ghostHouse.py | 3 + scripts/portal/in_guild.py | 3 + scripts/portal/in_hillah.py | 1 + scripts/portal/in_party2.py | 3 + scripts/portal/infoAttackTuto.py | 3 + scripts/portal/infoPickupTuto.py | 3 + scripts/portal/infoRelaxTuto.py | 5 + scripts/portal/infoSkillTuto.py | 3 + scripts/portal/jett_tuto_11_1.py | 11 + scripts/portal/jett_tuto_5672.py | 6 + scripts/portal/jett_tuto_9_1.py | 37 + scripts/portal/jobout00.py | 5 + scripts/portal/kCity_agit.py | 5 + scripts/portal/kCity_school.py | 5 + scripts/portal/kCity_west.py | 10 + scripts/portal/kannaTutoPortal.py | 42 + scripts/portal/kenjiTutoDirection.py | 46 + scripts/portal/kenjiTutoPortal.py | 4 + scripts/portal/kine_downFloor1.py | 5 + scripts/portal/kine_gate.py | 9 + scripts/portal/kine_goFloor1.py | 5 + scripts/portal/kine_goFloor2.py | 5 + scripts/portal/kine_goSub2.py | 8 + scripts/portal/kine_goSub3.py | 9 + scripts/portal/kine_goSub4.py | 7 + scripts/portal/kine_go_tuto2.py | 17 + scripts/portal/kine_go_tuto3.py | 25 + scripts/portal/kine_gokCity2.py | 21 + scripts/portal/kine_intoClass.py | 11 + scripts/portal/kine_intoClass2.py | 10 + scripts/portal/kine_tutoV01.py | 8 + scripts/portal/kine_tutoV02.py | 10 + scripts/portal/kine_tutoout.py | 17 + scripts/portal/kine_upFloor2.py | 5 + scripts/portal/laniaDoor.py | 1 + scripts/portal/lionCastle_enter.py | 9 + scripts/portal/lostSpirit_next.py | 4 + scripts/portal/ludi_s1Clear.py | 2 + scripts/portal/ludi_s2Clear.py | 2 + scripts/portal/mPark_final.py | 33 + scripts/portal/mPark_in00.py | 44 + scripts/portal/mPark_in01.py | 50 + scripts/portal/mPark_in02.py | 50 + scripts/portal/mPark_nextStage.py | 8 + scripts/portal/magnus_easy.py | 17 + scripts/portal/map915020100_PT.py | 3 + scripts/portal/map915020200_PT.py | 3 + scripts/portal/map_865030200.py | 3 + scripts/portal/market00.py | 4 + scripts/portal/market01.py | 2 + scripts/portal/market02.py | 4 + scripts/portal/market06.py | 4 + scripts/portal/market08.py | 4 + scripts/portal/market14.py | 4 + scripts/portal/market17.py | 4 + scripts/portal/market20.py | 3 + scripts/portal/mas_down00.py | 4 + scripts/portal/mas_fog00.py | 3 + scripts/portal/mas_fog01.py | 3 + scripts/portal/mayong.py | 7 + scripts/portal/merTutoFight.py | 3 + scripts/portal/merTutorDoor.py | 3 + scripts/portal/merTutorRoom.py | 4 + scripts/portal/mihailPortal003.py | 2 + scripts/portal/mihailPortal004.py | 3 + scripts/portal/mihail_3rdJobMap.py | 4 + scripts/portal/minar_job4.py | 3 + scripts/portal/minar_kritias.py | 1 + scripts/portal/miro0.py | 6 + scripts/portal/miro1.py | 6 + scripts/portal/miro2.py | 6 + scripts/portal/miro3.py | 6 + scripts/portal/mirtalk00.py | 5 + scripts/portal/mirtalk01.py | 5 + scripts/portal/mistic_hene.py | 3 + scripts/portal/mistic_pant.py | 3 + scripts/portal/mistic_ref.py | 3 + scripts/portal/momijiTraining.py | 7 + scripts/portal/moveBefore.py | 3 + scripts/portal/moveNext.py | 3 + scripts/portal/move_701220000.py | 4 + scripts/portal/move_701220100.py | 4 + scripts/portal/move_EdeEli.py | 3 + scripts/portal/move_EdeOrb.py | 3 + scripts/portal/move_EliEde.py | 3 + scripts/portal/move_OrbEde.py | 3 + scripts/portal/move_OrbEre.py | 3 + scripts/portal/move_elin.py | 3 + scripts/portal/move_stage.py | 9 + scripts/portal/mud_q2620.py | 2 + scripts/portal/next00.py | 6 + scripts/portal/nooutShip.py | 2 + scripts/portal/out00_020.py | 5 + scripts/portal/out00_100.py | 6 + scripts/portal/out00_DI.py | 5 + scripts/portal/outArchterMap.py | 3 + scripts/portal/outCG.py | 3 + scripts/portal/outChild.py | 5 + scripts/portal/outEurel.py | 3 + scripts/portal/outMaha.py | 3 + scripts/portal/outTemple.py | 4 + scripts/portal/out_140030000.py | 4 + scripts/portal/out_141050300.py | 3 + scripts/portal/out_450004300.py | 6 + scripts/portal/out_701220601.py | 1 + scripts/portal/out_701220610.py | 1 + scripts/portal/out_701220710.py | 7 + scripts/portal/out_867201801.py | 3 + scripts/portal/out_adventure.py | 10 + scripts/portal/out_animalShow.py | 6 + scripts/portal/out_aswan.py | 11 + scripts/portal/out_bellDoor.py | 5 + scripts/portal/out_brokenSubway.py | 11 + scripts/portal/out_city.py | 3 + scripts/portal/out_cygnusAK.py | 7 + scripts/portal/out_cygnusBackGarden.py | 1 + scripts/portal/out_cygnusBackGardenEasy.py | 1 + scripts/portal/out_cygnusGarden.py | 3 + scripts/portal/out_elinCave.py | 6 + scripts/portal/out_fairyBoss.py | 13 + scripts/portal/out_foxtree.py | 4 + scripts/portal/out_ghostHouse.py | 3 + scripts/portal/out_guild.py | 3 + scripts/portal/out_henesys.py | 5 + scripts/portal/out_hilla.py | 4 + scripts/portal/out_hillah.py | 3 + scripts/portal/out_magnusDoor.py | 6 + scripts/portal/out_profession.py | 5 + scripts/portal/out_q25584.py | 5 + scripts/portal/out_secretLB.py | 3 + scripts/portal/out_treDoor.py | 5 + scripts/portal/out_victorDoor.py | 5 + scripts/portal/outpasttemple.py | 3 + scripts/portal/outportalNCP.py | 8 + scripts/portal/outportalNPC.py | 9 + scripts/portal/outrootaBoss.py | 13 + scripts/portal/party2_exit.py | 3 + scripts/portal/party2_rp.py | 220 + scripts/portal/pf_in.py | 4 + scripts/portal/platformer_trap.py | 2 + scripts/portal/platformer_trap0.py | 2 + scripts/portal/platformer_trap1.py | 1 + scripts/portal/platformer_trap3.py | 1 + scripts/portal/platformer_trap4.py | 1 + scripts/portal/portalNPC.py | 2 + scripts/portal/portalNPC1.py | 2 + scripts/portal/portal_000.py | 11 + scripts/portal/portal_001.py | 55 + scripts/portal/portal_002.py | 61 + scripts/portal/portal_foxtree.py | 4 + scripts/portal/portal_victor2.py | 1 + scripts/portal/prism_out.py | 5 + scripts/portal/prisonBreak_miro.py | 12 + scripts/portal/prisonBreak_next.py | 17 + scripts/portal/prisonBreak_out0.py | 14 + scripts/portal/profession01.py | 2 + scripts/portal/profession05.py | 2 + scripts/portal/profession06.py | 2 + scripts/portal/profession07.py | 2 + scripts/portal/profession08.py | 2 + scripts/portal/profession09.py | 2 + scripts/portal/profession10.py | 2 + scripts/portal/profession107.py | 2 + scripts/portal/profession11.py | 2 + scripts/portal/profession14.py | 2 + scripts/portal/pt02_450003720.py | 8 + scripts/portal/pt_101080000.py | 19 + scripts/portal/pt_101081300.py | 4 + scripts/portal/pt_224000121_2.py | 2 + scripts/portal/pt_450003720.py | 8 + scripts/portal/pt_59063.py | 3 + scripts/portal/pt_867200408.py | 5 + scripts/portal/pt_867200501.py | 4 + scripts/portal/pt_867200706.py | 6 + scripts/portal/pt_867200853.py | 5 + scripts/portal/pt_867200900.py | 5 + scripts/portal/pt_940202032_l.py | 6 + scripts/portal/pt_940202036_col.py | 70 + scripts/portal/pt_940202300_o.py | 3 + scripts/portal/pt_c02.py | 4 + scripts/portal/pt_col.py | 70 + scripts/portal/pt_dir0240.py | 9 + scripts/portal/pt_dir0260.py | 23 + scripts/portal/pt_dir1340.py | 54 + scripts/portal/pt_down.py | 5 + scripts/portal/pt_fairyacademy1.py | 4 + scripts/portal/pt_fairyacademy2.py | 4 + scripts/portal/pt_go0220.py | 19 + scripts/portal/pt_go0240.py | 37 + scripts/portal/pt_go1340.py | 24 + scripts/portal/pt_goHelisium00.py | 3 + scripts/portal/pt_goto141060000.py | 5 + scripts/portal/pt_henespin.py | 2 + scripts/portal/pt_horizonPortal.py | 18 + scripts/portal/pt_illium_hunt1.py | 54 + scripts/portal/pt_illium_hunt2.py | 26 + scripts/portal/pt_moleking.py | 4 + scripts/portal/pt_rosegarden.py | 5 + scripts/portal/pt_rosegardenout.py | 5 + scripts/portal/q1602_move.py | 5 + scripts/portal/q20749_Fail.py | 3 + scripts/portal/q57104portal.py | 6 + scripts/portal/q57141p.py | 11 + scripts/portal/q57158p.py | 1 + scripts/portal/q57159p.py | 1 + scripts/portal/q57433p.py | 9 + scripts/portal/q62005_in.py | 4 + scripts/portal/q62015_in.py | 2 + scripts/portal/q64026_1.py | 6 + scripts/portal/q64026_2.py | 6 + scripts/portal/q64026_3.py | 6 + scripts/portal/quest58901.py | 10 + scripts/portal/random_portal_inferno.py | 12 + scripts/portal/random_portal_pollo_fritto.py | 43 + scripts/portal/rankRoom.py | 16 + scripts/portal/return_867202680.py | 7 + scripts/portal/return_refPotal.py | 1 + scripts/portal/rienCaveEnter.py | 3 + scripts/portal/rienTutor1.py | 5 + scripts/portal/rienTutor2.py | 5 + scripts/portal/rienTutor3.py | 7 + scripts/portal/rienTutor4.py | 5 + scripts/portal/rienTutor5.py | 3 + scripts/portal/rienTutor6.py | 4 + scripts/portal/rienTutor7.py | 5 + scripts/portal/rienTutor8.py | 2 + scripts/portal/roadToVellud1.py | 8 + scripts/portal/roadToVellud2.py | 1 + scripts/portal/root_ent.py | 6 + scripts/portal/root_route.py | 6 + scripts/portal/rootaNext.py | 5 + scripts/portal/rootabyssOUT.py | 15 + scripts/portal/rootafirstDoor.py | 3 + scripts/portal/rootaforthDoor.py | 3 + scripts/portal/rootasecondDoor.py | 3 + scripts/portal/rootathirdDoor.py | 3 + scripts/portal/shaolin_done.py | 6 + scripts/portal/shaolin_next.py | 4 + scripts/portal/shaolin_out.py | 1 + scripts/portal/singleDungeonout.py | 11 + scripts/portal/spirit00.py | 24 + scripts/portal/stage6_portal.py | 8 + scripts/portal/stageOut.py | 6 + scripts/portal/subway_in2.py | 3 + scripts/portal/talkToMai.py | 14 + scripts/portal/talkToPresent.py | 6 + scripts/portal/talkToVasili.py | 2 + scripts/portal/templeenter.py | 3 + scripts/portal/testGotoBigBoss.py | 50 + scripts/portal/timeCrack.py | 3 + scripts/portal/timeQuest1.py | 6 + scripts/portal/timeQuest2.py | 6 + scripts/portal/timeQuest3.py | 6 + scripts/portal/timeQuest4.py | 6 + scripts/portal/timeSeal00.py | 12 + scripts/portal/timeSeal01.py | 13 + scripts/portal/timeSeal02.py | 12 + scripts/portal/timeSeal03.py | 13 + scripts/portal/timeSeal04.py | 20 + scripts/portal/toArcana_pt.py | 3 + scripts/portal/toFallenTree.py | 5 + scripts/portal/top_450003500.py | 3 + scripts/portal/top_450003510.py | 3 + scripts/portal/top_450003520.py | 3 + scripts/portal/top_450003540.py | 2 + scripts/portal/traitor0_enter.py | 3 + scripts/portal/tuto00.py | 7 + scripts/portal/tutorquest.py | 4 + scripts/portal/undefined.py | 2 + scripts/portal/undodraco.py | 3 + scripts/portal/visitor_in.py | 1 + scripts/portal/visitor_move.py | 1 + scripts/portal/visitor_out.py | 11 + scripts/portal/w310070300.py | 3 + scripts/portal/waitOut.py | 2 + scripts/portal/water_101070000.py | 15 + scripts/portal/west_450004150.py | 3 + scripts/portal/zakum_regionOut.py | 3 + scripts/quest/__init__.py | 0 scripts/quest/q100167s.py | 25 + scripts/quest/q12394s.py | 4 + scripts/quest/q12395s.py | 4 + scripts/quest/q12396s.py | 5 + scripts/quest/q1400s.py | 26 + scripts/quest/q1401e.py | 11 + scripts/quest/q1401s.py | 25 + scripts/quest/q1402e.py | 11 + scripts/quest/q1402s.py | 25 + scripts/quest/q1403e.py | 14 + scripts/quest/q1403s.py | 25 + scripts/quest/q1404e.py | 13 + scripts/quest/q1404s.py | 26 + scripts/quest/q1405e.py | 13 + scripts/quest/q1405s.py | 28 + scripts/quest/q1411e.py | 19 + scripts/quest/q1411s.py | 38 + scripts/quest/q1412e.py | 19 + scripts/quest/q1412s.py | 38 + scripts/quest/q1413e.py | 19 + scripts/quest/q1413s.py | 38 + scripts/quest/q1415e.py | 19 + scripts/quest/q1415s.py | 39 + scripts/quest/q1416e.py | 19 + scripts/quest/q1416s.py | 39 + scripts/quest/q1417e.py | 19 + scripts/quest/q1417s.py | 39 + scripts/quest/q1419e.py | 19 + scripts/quest/q1419s.py | 39 + scripts/quest/q1420e.py | 19 + scripts/quest/q1420s.py | 40 + scripts/quest/q1421s.py | 3 + scripts/quest/q1422e.py | 19 + scripts/quest/q1422s.py | 38 + scripts/quest/q1423e.py | 19 + scripts/quest/q1423s.py | 38 + scripts/quest/q1424s.py | 1 + scripts/quest/q1425e.py | 19 + scripts/quest/q1425s.py | 38 + scripts/quest/q1426e.py | 19 + scripts/quest/q1426s.py | 38 + scripts/quest/q1428e.py | 19 + scripts/quest/q1428s.py | 10 + scripts/quest/q1431e.py | 19 + scripts/quest/q1432e.py | 19 + scripts/quest/q1433e.py | 19 + scripts/quest/q1435e.py | 19 + scripts/quest/q1436e.py | 19 + scripts/quest/q1437e.py | 19 + scripts/quest/q1439e.py | 19 + scripts/quest/q1440e.py | 19 + scripts/quest/q1442e.py | 19 + scripts/quest/q1443e.py | 19 + scripts/quest/q1445e.py | 19 + scripts/quest/q1446e.py | 19 + scripts/quest/q1447e.py | 17 + scripts/quest/q1448e.py | 19 + scripts/quest/q1451e.py | 17 + scripts/quest/q1451s.py | 24 + scripts/quest/q14524s.py | 15 + scripts/quest/q1453e.py | 17 + scripts/quest/q1453s.py | 24 + scripts/quest/q1455e.py | 17 + scripts/quest/q1455s.py | 24 + scripts/quest/q1457e.py | 17 + scripts/quest/q1457s.py | 24 + scripts/quest/q1459e.py | 17 + scripts/quest/q1459s.py | 24 + scripts/quest/q1460e.py | 18 + scripts/quest/q1460s.py | 9 + scripts/quest/q1461e.py | 6 + scripts/quest/q1461s.py | 9 + scripts/quest/q1462e.py | 12 + scripts/quest/q1462s.py | 8 + scripts/quest/q1463e.py | 5 + scripts/quest/q1463s.py | 8 + scripts/quest/q1464s.py | 23 + scripts/quest/q1465e.py | 7 + scripts/quest/q1465s.py | 9 + scripts/quest/q1466e.py | 13 + scripts/quest/q1466s.py | 12 + scripts/quest/q1478s.py | 17 + scripts/quest/q1481e.py | 5 + scripts/quest/q15149s.py | 9 + scripts/quest/q1600s.py | 29 + scripts/quest/q16011e.py | 15 + scripts/quest/q16011s.py | 19 + scripts/quest/q16012e.py | 19 + scripts/quest/q16012s.py | 16 + scripts/quest/q16013s.py | 55 + scripts/quest/q16014s.py | 203 + scripts/quest/q16018s.py | 27 + scripts/quest/q1601s.py | 12 + scripts/quest/q16020s.py | 2 + scripts/quest/q16024s.py | 2 + scripts/quest/q16026s.py | 2 + scripts/quest/q16059s.py | 26 + scripts/quest/q1607s.py | 26 + scripts/quest/q1608s.py | 14 + scripts/quest/q1616e.py | 9 + scripts/quest/q1617s.py | 19 + scripts/quest/q1619s.py | 12 + scripts/quest/q1622e.py | 8 + scripts/quest/q1628e.py | 11 + scripts/quest/q1629s.py | 20 + scripts/quest/q1637e.py | 9 + scripts/quest/q1637s.py | 18 + scripts/quest/q1638e.py | 23 + scripts/quest/q1639e.py | 11 + scripts/quest/q1644s.py | 6 + scripts/quest/q1645s.py | 6 + scripts/quest/q1646s.py | 6 + scripts/quest/q1647s.py | 6 + scripts/quest/q1653s.py | 19 + scripts/quest/q1663e.py | 16 + scripts/quest/q1664s.py | 27 + scripts/quest/q1674e.py | 25 + scripts/quest/q16880s.py | 14 + scripts/quest/q16909s.py | 17 + scripts/quest/q17003e.py | 30 + scripts/quest/q17003s.py | 21 + scripts/quest/q17004s.py | 29 + scripts/quest/q17005e.py | 6 + scripts/quest/q17005s.py | 30 + scripts/quest/q17006e.py | 6 + scripts/quest/q17006s.py | 7 + scripts/quest/q17007e.py | 23 + scripts/quest/q17007s.py | 7 + scripts/quest/q17019e.py | 21 + scripts/quest/q17509s.py | 4 + scripts/quest/q17510s.py | 4 + scripts/quest/q17511s.py | 4 + scripts/quest/q17513s.py | 10 + scripts/quest/q17515e.py | 4 + scripts/quest/q17516e.py | 6 + scripts/quest/q17516s.py | 16 + scripts/quest/q17518e.py | 7 + scripts/quest/q17518s.py | 22 + scripts/quest/q17524e.py | 8 + scripts/quest/q17524s.py | 9 + scripts/quest/q17525e.py | 6 + scripts/quest/q17525s.py | 8 + scripts/quest/q17526e.py | 6 + scripts/quest/q17526s.py | 8 + scripts/quest/q17527e.py | 6 + scripts/quest/q17527s.py | 8 + scripts/quest/q17528e.py | 6 + scripts/quest/q17528s.py | 8 + scripts/quest/q17529e.py | 4 + scripts/quest/q17529s.py | 9 + scripts/quest/q17530s.py | 8 + scripts/quest/q17534s.py | 9 + scripts/quest/q17600e.py | 5 + scripts/quest/q17600s.py | 16 + scripts/quest/q17601s.py | 26 + scripts/quest/q17602e.py | 8 + scripts/quest/q17602s.py | 23 + scripts/quest/q17603s.py | 64 + scripts/quest/q17608e.py | 43 + scripts/quest/q17610s.py | 23 + scripts/quest/q17612s.py | 103 + scripts/quest/q17613e.py | 50 + scripts/quest/q17613s.py | 10 + scripts/quest/q17614s.py | 25 + scripts/quest/q17615s.py | 24 + scripts/quest/q17616e.py | 21 + scripts/quest/q17616s.py | 32 + scripts/quest/q17617s.py | 38 + scripts/quest/q17618e.py | 80 + scripts/quest/q17618s.py | 25 + scripts/quest/q17619e.py | 39 + scripts/quest/q17620e.py | 16 + scripts/quest/q17620s.py | 36 + scripts/quest/q17621s.py | 99 + scripts/quest/q17622s.py | 22 + scripts/quest/q17623s.py | 4 + scripts/quest/q17624s.py | 35 + scripts/quest/q17625e.py | 21 + scripts/quest/q17625s.py | 53 + scripts/quest/q17626s.py | 19 + scripts/quest/q17627e.py | 28 + scripts/quest/q17627s.py | 15 + scripts/quest/q17628e.py | 12 + scripts/quest/q17628s.py | 12 + scripts/quest/q17629e.py | 10 + scripts/quest/q17629s.py | 8 + scripts/quest/q17630e.py | 7 + scripts/quest/q17630s.py | 37 + scripts/quest/q17632e.py | 19 + scripts/quest/q17632s.py | 26 + scripts/quest/q17633e.py | 1 + scripts/quest/q17633s.py | 8 + scripts/quest/q17634e.py | 27 + scripts/quest/q17634s.py | 41 + scripts/quest/q17635s.py | 29 + scripts/quest/q17636s.py | 27 + scripts/quest/q17637e.py | 22 + scripts/quest/q17637s.py | 30 + scripts/quest/q17640e.py | 25 + scripts/quest/q17640s.py | 12 + scripts/quest/q17641e.py | 25 + scripts/quest/q17641s.py | 18 + scripts/quest/q17642e.py | 31 + scripts/quest/q17642s.py | 17 + scripts/quest/q17643e.py | 22 + scripts/quest/q17643s.py | 48 + scripts/quest/q17644e.py | 7 + scripts/quest/q17644s.py | 61 + scripts/quest/q17645e.py | 21 + scripts/quest/q17645s.py | 64 + scripts/quest/q17646e.py | 13 + scripts/quest/q17646s.py | 12 + scripts/quest/q17647e.py | 28 + scripts/quest/q17647s.py | 30 + scripts/quest/q17648e.py | 39 + scripts/quest/q17648s.py | 10 + scripts/quest/q17650e.py | 16 + scripts/quest/q17650s.py | 5 + scripts/quest/q17651e.py | 39 + scripts/quest/q17651s.py | 21 + scripts/quest/q17652e.py | 14 + scripts/quest/q17653e.py | 19 + scripts/quest/q17654e.py | 19 + scripts/quest/q17654s.py | 13 + scripts/quest/q17655e.py | 19 + scripts/quest/q17655s.py | 47 + scripts/quest/q17656e.py | 19 + scripts/quest/q17656s.py | 24 + scripts/quest/q17657e.py | 29 + scripts/quest/q17657s.py | 10 + scripts/quest/q17658e.py | 32 + scripts/quest/q17658s.py | 15 + scripts/quest/q17660e.py | 15 + scripts/quest/q17660s.py | 56 + scripts/quest/q17661e.py | 11 + scripts/quest/q17661s.py | 23 + scripts/quest/q17662e.py | 5 + scripts/quest/q17662s.py | 8 + scripts/quest/q17663e.py | 7 + scripts/quest/q17663s.py | 18 + scripts/quest/q17665e.py | 10 + scripts/quest/q17665s.py | 35 + scripts/quest/q17666e.py | 13 + scripts/quest/q17666s.py | 18 + scripts/quest/q17667e.py | 31 + scripts/quest/q17667s.py | 24 + scripts/quest/q17668e.py | 19 + scripts/quest/q17668s.py | 35 + scripts/quest/q17669e.py | 9 + scripts/quest/q17669s.py | 20 + scripts/quest/q17670e.py | 8 + scripts/quest/q17670s.py | 20 + scripts/quest/q17671e.py | 8 + scripts/quest/q17671s.py | 16 + scripts/quest/q17672e.py | 31 + scripts/quest/q17672s.py | 37 + scripts/quest/q17673e.py | 13 + scripts/quest/q17673s.py | 24 + scripts/quest/q17674e.py | 6 + scripts/quest/q17674s.py | 26 + scripts/quest/q17675e.py | 17 + scripts/quest/q17675s.py | 42 + scripts/quest/q17676e.py | 25 + scripts/quest/q17676s.py | 33 + scripts/quest/q17677e.py | 24 + scripts/quest/q17677s.py | 6 + scripts/quest/q17678e.py | 8 + scripts/quest/q17678s.py | 37 + scripts/quest/q17679s.py | 38 + scripts/quest/q17680e.py | 19 + scripts/quest/q17680s.py | 8 + scripts/quest/q17681e.py | 25 + scripts/quest/q17681s.py | 33 + scripts/quest/q1800s.py | 6 + scripts/quest/q1801s.py | 16 + scripts/quest/q1820e.py | 5 + scripts/quest/q1821e.py | 3 + scripts/quest/q1822e.py | 4 + scripts/quest/q1822s.py | 4 + scripts/quest/q1823e.py | 4 + scripts/quest/q1847e.py | 5 + scripts/quest/q1847s.py | 8 + scripts/quest/q20031e.py | 38 + scripts/quest/q20032e.py | 18 + scripts/quest/q20033e.py | 22 + scripts/quest/q20036s.py | 35 + scripts/quest/q20320e.py | 17 + scripts/quest/q20321s.py | 5 + scripts/quest/q20411e.py | 14 + scripts/quest/q20412s.py | 5 + scripts/quest/q20767e.py | 13 + scripts/quest/q20767s.py | 4 + scripts/quest/q20768e.py | 13 + scripts/quest/q20768s.py | 4 + scripts/quest/q20810s.py | 18 + scripts/quest/q20820s.py | 13 + scripts/quest/q20821s.py | 13 + scripts/quest/q20822e.py | 10 + scripts/quest/q20822s.py | 18 + scripts/quest/q20824e.py | 20 + scripts/quest/q20824s.py | 21 + scripts/quest/q20825s.py | 20 + scripts/quest/q20826e.py | 38 + scripts/quest/q20826s.py | 40 + scripts/quest/q20827s.py | 7 + scripts/quest/q20828e.py | 5 + scripts/quest/q20829s.py | 11 + scripts/quest/q20830s.py | 10 + scripts/quest/q20831s.py | 10 + scripts/quest/q20832s.py | 26 + scripts/quest/q20833s.py | 17 + scripts/quest/q20834s.py | 25 + scripts/quest/q20835e.py | 24 + scripts/quest/q20835s.py | 22 + scripts/quest/q20836e.py | 9 + scripts/quest/q20836s.py | 7 + scripts/quest/q20837e.py | 8 + scripts/quest/q20837s.py | 10 + scripts/quest/q20838e.py | 1 + scripts/quest/q20838s.py | 9 + scripts/quest/q20839s.py | 1 + scripts/quest/q20844s.py | 22 + scripts/quest/q20846s.py | 22 + scripts/quest/q20861e.py | 10 + scripts/quest/q20862e.py | 10 + scripts/quest/q20863e.py | 11 + scripts/quest/q20864e.py | 11 + scripts/quest/q20865e.py | 10 + scripts/quest/q20870s.py | 13 + scripts/quest/q20871e.py | 11 + scripts/quest/q20872e.py | 13 + scripts/quest/q20873e.py | 13 + scripts/quest/q20874e.py | 13 + scripts/quest/q20875e.py | 13 + scripts/quest/q20882s.py | 10 + scripts/quest/q20883e.py | 11 + scripts/quest/q20891s.py | 5 + scripts/quest/q20893s.py | 2 + scripts/quest/q20894s.py | 23 + scripts/quest/q20899e.py | 10 + scripts/quest/q21000s.py | 12 + scripts/quest/q21001e.py | 34 + scripts/quest/q21001s.py | 10 + scripts/quest/q21010e.py | 16 + scripts/quest/q21010s.py | 23 + scripts/quest/q21011e.py | 20 + scripts/quest/q21012e.py | 15 + scripts/quest/q21012s.py | 16 + scripts/quest/q21013e.py | 13 + scripts/quest/q21013s.py | 14 + scripts/quest/q21015s.py | 14 + scripts/quest/q21016s.py | 12 + scripts/quest/q21017s.py | 32 + scripts/quest/q21018s.py | 12 + scripts/quest/q21100s.py | 35 + scripts/quest/q21101s.py | 26 + scripts/quest/q21200e.py | 30 + scripts/quest/q21200s.py | 8 + scripts/quest/q21201e.py | 23 + scripts/quest/q21202e.py | 9 + scripts/quest/q21202s.py | 16 + scripts/quest/q21300s.py | 9 + scripts/quest/q21301e.py | 10 + scripts/quest/q21302e.py | 12 + scripts/quest/q21303s.py | 16 + scripts/quest/q21400s.py | 8 + scripts/quest/q21401e.py | 12 + scripts/quest/q21401s.py | 9 + scripts/quest/q21700s.py | 27 + scripts/quest/q21766e.py | 29 + scripts/quest/q21766s.py | 52 + scripts/quest/q21767s.py | 18 + scripts/quest/q22000e.py | 8 + scripts/quest/q22000s.py | 23 + scripts/quest/q22001s.py | 20 + scripts/quest/q22002e.py | 6 + scripts/quest/q22002s.py | 16 + scripts/quest/q22003s.py | 14 + scripts/quest/q22004e.py | 11 + scripts/quest/q22004s.py | 8 + scripts/quest/q22007e.py | 9 + scripts/quest/q22008e.py | 37 + scripts/quest/q22008s.py | 8 + scripts/quest/q22130s.py | 10 + scripts/quest/q22131e.py | 10 + scripts/quest/q22131s.py | 10 + scripts/quest/q22132e.py | 10 + scripts/quest/q22132s.py | 10 + scripts/quest/q22500s.py | 49 + scripts/quest/q22501s.py | 24 + scripts/quest/q22502s.py | 9 + scripts/quest/q22503s.py | 16 + scripts/quest/q22504s.py | 15 + scripts/quest/q22507s.py | 58 + scripts/quest/q22510s.py | 16 + scripts/quest/q22703s.py | 16 + scripts/quest/q22704s.py | 11 + scripts/quest/q22711s.py | 18 + scripts/quest/q22712e.py | 43 + scripts/quest/q22712s.py | 21 + scripts/quest/q22714s.py | 48 + scripts/quest/q22720e.py | 41 + scripts/quest/q22720s.py | 56 + scripts/quest/q22721e.py | 74 + scripts/quest/q22721s.py | 45 + scripts/quest/q22722s.py | 49 + scripts/quest/q22723s.py | 57 + scripts/quest/q22724s.py | 54 + scripts/quest/q22725e.py | 65 + scripts/quest/q22725s.py | 27 + scripts/quest/q22726s.py | 29 + scripts/quest/q22728e.py | 13 + scripts/quest/q22729e.py | 89 + scripts/quest/q22729s.py | 50 + scripts/quest/q22730s.py | 82 + scripts/quest/q22734s.py | 5 + scripts/quest/q22740s.py | 143 + scripts/quest/q22741e.py | 31 + scripts/quest/q22741s.py | 34 + scripts/quest/q22742e.py | 12 + scripts/quest/q22742s.py | 37 + scripts/quest/q22743e.py | 51 + scripts/quest/q22743s.py | 40 + scripts/quest/q22744s.py | 103 + scripts/quest/q22745e.py | 33 + scripts/quest/q22745s.py | 25 + scripts/quest/q22746e.py | 15 + scripts/quest/q22746s.py | 27 + scripts/quest/q22747e.py | 12 + scripts/quest/q22747s.py | 28 + scripts/quest/q22748e.py | 16 + scripts/quest/q22748s.py | 25 + scripts/quest/q22749s.py | 33 + scripts/quest/q22750s.py | 101 + scripts/quest/q22770s.py | 17 + scripts/quest/q22780e.py | 22 + scripts/quest/q22780s.py | 42 + scripts/quest/q22781s.py | 28 + scripts/quest/q23011e.py | 15 + scripts/quest/q23012e.py | 19 + scripts/quest/q23013e.py | 15 + scripts/quest/q23023e.py | 10 + scripts/quest/q23024e.py | 9 + scripts/quest/q23025e.py | 9 + scripts/quest/q23033e.py | 9 + scripts/quest/q23034e.py | 9 + scripts/quest/q23035e.py | 9 + scripts/quest/q23049e.py | 12 + scripts/quest/q23050e.py | 12 + scripts/quest/q23051e.py | 12 + scripts/quest/q23052s.py | 26 + scripts/quest/q23053s.py | 24 + scripts/quest/q23054s.py | 24 + scripts/quest/q23160e.py | 36 + scripts/quest/q23162e.py | 22 + scripts/quest/q23164e.py | 14 + scripts/quest/q23168e.py | 12 + scripts/quest/q23169s.py | 29 + scripts/quest/q23170e.py | 10 + scripts/quest/q23171e.py | 11 + scripts/quest/q23205e.py | 10 + scripts/quest/q23212e.py | 19 + scripts/quest/q23214e.py | 17 + scripts/quest/q23214s.py | 7 + scripts/quest/q23215e.py | 15 + scripts/quest/q23215s.py | 24 + scripts/quest/q23221e.py | 20 + scripts/quest/q23221s.py | 40 + scripts/quest/q23600e.py | 19 + scripts/quest/q23610s.py | 22 + scripts/quest/q23611e.py | 52 + scripts/quest/q23612e.py | 19 + scripts/quest/q23612s.py | 20 + scripts/quest/q23615s.py | 14 + scripts/quest/q23616e.py | 33 + scripts/quest/q23620e.py | 42 + scripts/quest/q23620s.py | 12 + scripts/quest/q24002e.py | 17 + scripts/quest/q24003s.py | 6 + scripts/quest/q24004s.py | 11 + scripts/quest/q24011e.py | 4 + scripts/quest/q24011s.py | 6 + scripts/quest/q24012s.py | 7 + scripts/quest/q24013s.py | 7 + scripts/quest/q25000s.py | 13 + scripts/quest/q25500e.py | 8 + scripts/quest/q25500s.py | 100 + scripts/quest/q25503e.py | 12 + scripts/quest/q25503s.py | 34 + scripts/quest/q25510s.py | 34 + scripts/quest/q25511s.py | 23 + scripts/quest/q25512s.py | 9 + scripts/quest/q25530s.py | 48 + scripts/quest/q25531s.py | 65 + scripts/quest/q25532s.py | 60 + scripts/quest/q25533s.py | 29 + scripts/quest/q25560s.py | 60 + scripts/quest/q25561s.py | 47 + scripts/quest/q25562s.py | 33 + scripts/quest/q25566e.py | 12 + scripts/quest/q25566s.py | 33 + scripts/quest/q25567s.py | 43 + scripts/quest/q25568s.py | 17 + scripts/quest/q25569s.py | 5 + scripts/quest/q25572s.py | 55 + scripts/quest/q25578s.py | 31 + scripts/quest/q25584s.py | 50 + scripts/quest/q25585s.py | 24 + scripts/quest/q25586s.py | 39 + scripts/quest/q25588s.py | 47 + scripts/quest/q25589s.py | 33 + scripts/quest/q2560s.py | 15 + scripts/quest/q2561s.py | 31 + scripts/quest/q2568s.py | 9 + scripts/quest/q2570e.py | 35 + scripts/quest/q25710s.py | 11 + scripts/quest/q25711s.py | 11 + scripts/quest/q25712s.py | 11 + scripts/quest/q2573s.py | 12 + scripts/quest/q25825s.py | 33 + scripts/quest/q25826s.py | 44 + scripts/quest/q25827s.py | 31 + scripts/quest/q25829s.py | 19 + scripts/quest/q25836s.py | 44 + scripts/quest/q25837e.py | 22 + scripts/quest/q25837s.py | 22 + scripts/quest/q25981s.py | 8 + scripts/quest/q2603e.py | 12 + scripts/quest/q2604s.py | 11 + scripts/quest/q2609e.py | 32 + scripts/quest/q2622s.py | 6 + scripts/quest/q2623e.py | 12 + scripts/quest/q2623s.py | 12 + scripts/quest/q2638e.py | 10 + scripts/quest/q2638s.py | 10 + scripts/quest/q2642e.py | 10 + scripts/quest/q26430e.py | 13 + scripts/quest/q26436e.py | 13 + scripts/quest/q26509e.py | 13 + scripts/quest/q26511e.py | 12 + scripts/quest/q26512e.py | 12 + scripts/quest/q26607s.py | 6 + scripts/quest/q2950s.py | 14 + scripts/quest/q2962s.py | 7 + scripts/quest/q29900s.py | 8 + scripts/quest/q29901s.py | 8 + scripts/quest/q29902s.py | 8 + scripts/quest/q29903s.py | 8 + scripts/quest/q29905s.py | 8 + scripts/quest/q29906e.py | 1 + scripts/quest/q29906s.py | 8 + scripts/quest/q29907e.py | 2 + scripts/quest/q29907s.py | 8 + scripts/quest/q29908s.py | 8 + scripts/quest/q29909s.py | 8 + scripts/quest/q29910s.py | 8 + scripts/quest/q29911s.py | 8 + scripts/quest/q29912s.py | 8 + scripts/quest/q29913s.py | 8 + scripts/quest/q29914s.py | 8 + scripts/quest/q29924s.py | 8 + scripts/quest/q29925s.py | 8 + scripts/quest/q29926s.py | 8 + scripts/quest/q29927s.py | 8 + scripts/quest/q29928s.py | 8 + scripts/quest/q29941s.py | 9 + scripts/quest/q29942s.py | 9 + scripts/quest/q29943s.py | 9 + scripts/quest/q29944s.py | 9 + scripts/quest/q29945s.py | 8 + scripts/quest/q29947s.py | 8 + scripts/quest/q29952s.py | 8 + scripts/quest/q29953s.py | 8 + scripts/quest/q29954s.py | 8 + scripts/quest/q29955s.py | 8 + scripts/quest/q29956s.py | 8 + scripts/quest/q29958s.py | 8 + scripts/quest/q29959s.py | 8 + scripts/quest/q29960s.py | 8 + scripts/quest/q29961s.py | 8 + scripts/quest/q29962s.py | 8 + scripts/quest/q29967s.py | 8 + scripts/quest/q29968s.py | 8 + scripts/quest/q29969s.py | 8 + scripts/quest/q29970.py | 8 + scripts/quest/q29971s.py | 8 + scripts/quest/q29972s.py | 8 + scripts/quest/q29973s.py | 8 + scripts/quest/q29974s.py | 8 + scripts/quest/q29975s.py | 8 + scripts/quest/q29976s.py | 8 + scripts/quest/q29977s.py | 8 + scripts/quest/q29978s.py | 8 + scripts/quest/q29979s.py | 8 + scripts/quest/q29980s.py | 8 + scripts/quest/q29987s.py | 8 + scripts/quest/q29988s.py | 8 + scripts/quest/q29989s.py | 8 + scripts/quest/q29990s.py | 8 + scripts/quest/q29991s.py | 8 + scripts/quest/q29992s.py | 8 + scripts/quest/q29993s.py | 8 + scripts/quest/q29994s.py | 8 + scripts/quest/q29995s.py | 8 + scripts/quest/q29996s.py | 8 + scripts/quest/q30000s.py | 48 + scripts/quest/q30002s.py | 34 + scripts/quest/q30003s.py | 19 + scripts/quest/q30005e.py | 45 + scripts/quest/q30005s.py | 33 + scripts/quest/q30006s.py | 34 + scripts/quest/q30007e.py | 23 + scripts/quest/q30007s.py | 39 + scripts/quest/q30008s.py | 35 + scripts/quest/q30009s.py | 20 + scripts/quest/q30010s.py | 12 + scripts/quest/q30011s.py | 12 + scripts/quest/q30012s.py | 12 + scripts/quest/q30013s.py | 39 + scripts/quest/q30051e.py | 8 + scripts/quest/q30051s.py | 16 + scripts/quest/q30063e.py | 41 + scripts/quest/q30075s.py | 6 + scripts/quest/q31240s.py | 8 + scripts/quest/q31241s.py | 13 + scripts/quest/q31243s.py | 12 + scripts/quest/q31245s.py | 9 + scripts/quest/q31257s.py | 10 + scripts/quest/q31258e.py | 6 + scripts/quest/q31258s.py | 12 + scripts/quest/q31331e.py | 28 + scripts/quest/q31331s.py | 44 + scripts/quest/q31334s.py | 28 + scripts/quest/q31336s.py | 50 + scripts/quest/q31339s.py | 22 + scripts/quest/q31342s.py | 17 + scripts/quest/q31344s.py | 31 + scripts/quest/q31348e.py | 20 + scripts/quest/q31351e.py | 8 + scripts/quest/q31802s.py | 22 + scripts/quest/q31806s.py | 15 + scripts/quest/q31900e.py | 6 + scripts/quest/q32000s.py | 8 + scripts/quest/q32001s.py | 8 + scripts/quest/q32002s.py | 8 + scripts/quest/q32003s.py | 8 + scripts/quest/q32004s.py | 8 + scripts/quest/q32005s.py | 8 + scripts/quest/q32006s.py | 8 + scripts/quest/q32007s.py | 8 + scripts/quest/q32008s.py | 8 + scripts/quest/q32009s.py | 8 + scripts/quest/q32018s.py | 8 + scripts/quest/q32019s.py | 8 + scripts/quest/q32023s.py | 8 + scripts/quest/q32024s.py | 9 + scripts/quest/q32102s.py | 36 + scripts/quest/q32106e.py | 5 + scripts/quest/q32106s.py | 23 + scripts/quest/q32109e.py | 10 + scripts/quest/q32110e.py | 5 + scripts/quest/q32110s.py | 18 + scripts/quest/q32111s.py | 5 + scripts/quest/q32112e.py | 6 + scripts/quest/q32112s.py | 19 + scripts/quest/q32114s.py | 5 + scripts/quest/q32115e.py | 6 + scripts/quest/q32115s.py | 11 + scripts/quest/q32116e.py | 5 + scripts/quest/q32116s.py | 24 + scripts/quest/q32117e.py | 8 + scripts/quest/q32117s.py | 6 + scripts/quest/q32120e.py | 50 + scripts/quest/q32120s.py | 10 + scripts/quest/q32129s.py | 6 + scripts/quest/q32136e.py | 9 + scripts/quest/q32136s.py | 7 + scripts/quest/q32138e.py | 3 + scripts/quest/q32138s.py | 4 + scripts/quest/q32143s.py | 24 + scripts/quest/q32151e.py | 17 + scripts/quest/q32151s.py | 20 + scripts/quest/q32157e.py | 20 + scripts/quest/q32160s.py | 14 + scripts/quest/q32163e.py | 21 + scripts/quest/q32164s.py | 13 + scripts/quest/q32165s.py | 13 + scripts/quest/q32166s.py | 13 + scripts/quest/q32178s.py | 53 + scripts/quest/q32189e.py | 9 + scripts/quest/q32192s.py | 11 + scripts/quest/q32203s.py | 33 + scripts/quest/q32216s.py | 33 + scripts/quest/q32229s.py | 6 + scripts/quest/q32240e.py | 40 + scripts/quest/q32240s.py | 37 + scripts/quest/q32600s.py | 18 + scripts/quest/q32631s.py | 23 + scripts/quest/q32632s.py | 7 + scripts/quest/q32662e.py | 22 + scripts/quest/q32707e.py | 27 + scripts/quest/q32707s.py | 28 + scripts/quest/q34100e.py | 40 + scripts/quest/q34107s.py | 6 + scripts/quest/q34108s.py | 7 + scripts/quest/q34109s.py | 7 + scripts/quest/q34115s.py | 10 + scripts/quest/q34120s.py | 11 + scripts/quest/q34129e.py | 5 + scripts/quest/q34129s.py | 23 + scripts/quest/q34132e.py | 8 + scripts/quest/q34134e.py | 8 + scripts/quest/q34135e.py | 8 + scripts/quest/q34148e.py | 8 + scripts/quest/q34149e.py | 7 + scripts/quest/q34151s.py | 11 + scripts/quest/q34200s.py | 77 + scripts/quest/q34201s.py | 4 + scripts/quest/q34202s.py | 58 + scripts/quest/q34203e.py | 8 + scripts/quest/q34203s.py | 7 + scripts/quest/q34204s.py | 5 + scripts/quest/q34205e.py | 55 + scripts/quest/q34205s.py | 11 + scripts/quest/q34206s.py | 2 + scripts/quest/q34207e.py | 7 + scripts/quest/q34207s.py | 49 + scripts/quest/q34208e.py | 9 + scripts/quest/q34208s.py | 9 + scripts/quest/q34209e.py | 13 + scripts/quest/q34209s.py | 13 + scripts/quest/q34210e.py | 14 + scripts/quest/q34210s.py | 13 + scripts/quest/q34211e.py | 13 + scripts/quest/q34211s.py | 31 + scripts/quest/q34212e.py | 16 + scripts/quest/q34212s.py | 13 + scripts/quest/q34213e.py | 14 + scripts/quest/q34213s.py | 25 + scripts/quest/q34214e.py | 11 + scripts/quest/q34214s.py | 19 + scripts/quest/q34215e.py | 2 + scripts/quest/q34215s.py | 68 + scripts/quest/q34216s.py | 36 + scripts/quest/q34217s.py | 4 + scripts/quest/q34218s.py | 6 + scripts/quest/q34300e.py | 11 + scripts/quest/q34300s.py | 17 + scripts/quest/q34301s.py | 19 + scripts/quest/q34305s.py | 35 + scripts/quest/q34308s.py | 17 + scripts/quest/q34315e.py | 20 + scripts/quest/q34322s.py | 25 + scripts/quest/q34325e.py | 6 + scripts/quest/q34326s.py | 95 + scripts/quest/q34330e.py | 23 + scripts/quest/q34331e.py | 26 + scripts/quest/q34367s.py | 4 + scripts/quest/q34452e.py | 37 + scripts/quest/q34453e.py | 27 + scripts/quest/q34454s.py | 12 + scripts/quest/q34460s.py | 7 + scripts/quest/q34464s.py | 10 + scripts/quest/q34466s.py | 25 + scripts/quest/q34467e.py | 16 + scripts/quest/q34468e.py | 20 + scripts/quest/q34469s.py | 3 + scripts/quest/q34470e.py | 42 + scripts/quest/q34472s.py | 4 + scripts/quest/q34473s.py | 3 + scripts/quest/q34474s.py | 11 + scripts/quest/q34475e.py | 48 + scripts/quest/q34475s.py | 3 + scripts/quest/q34476s.py | 4 + scripts/quest/q34477s.py | 14 + scripts/quest/q34515s.py | 37 + scripts/quest/q34601s.py | 61 + scripts/quest/q34603s.py | 6 + scripts/quest/q34656s.py | 16 + scripts/quest/q34657s.py | 16 + scripts/quest/q34658s.py | 14 + scripts/quest/q34659s.py | 15 + scripts/quest/q34801e.py | 21 + scripts/quest/q34802e.py | 20 + scripts/quest/q34802s.py | 100 + scripts/quest/q34803e.py | 20 + scripts/quest/q34803s.py | 14 + scripts/quest/q34804e.py | 72 + scripts/quest/q34804s.py | 20 + scripts/quest/q34805e.py | 17 + scripts/quest/q34805s.py | 22 + scripts/quest/q34806e.py | 16 + scripts/quest/q34806s.py | 28 + scripts/quest/q34807e.py | 23 + scripts/quest/q34807s.py | 17 + scripts/quest/q34808e.py | 18 + scripts/quest/q34808s.py | 14 + scripts/quest/q34809e.py | 23 + scripts/quest/q34809s.py | 17 + scripts/quest/q34810s.py | 46 + scripts/quest/q34811e.py | 15 + scripts/quest/q34811s.py | 10 + scripts/quest/q34812e.py | 16 + scripts/quest/q34812s.py | 11 + scripts/quest/q34813e.py | 46 + scripts/quest/q34813s.py | 14 + scripts/quest/q34814e.py | 80 + scripts/quest/q34814s.py | 14 + scripts/quest/q34815e.py | 127 + scripts/quest/q34815s.py | 13 + scripts/quest/q34816e.py | 32 + scripts/quest/q34816s.py | 12 + scripts/quest/q34817s.py | 66 + scripts/quest/q34818e.py | 47 + scripts/quest/q34820s.py | 39 + scripts/quest/q34860s.py | 16 + scripts/quest/q34901s.py | 157 + scripts/quest/q34902s.py | 78 + scripts/quest/q34903s.py | 16 + scripts/quest/q34904s.py | 14 + scripts/quest/q34915s.py | 15 + scripts/quest/q34916e.py | 245 + scripts/quest/q34916s.py | 110 + scripts/quest/q34917e.py | 41 + scripts/quest/q34917s.py | 87 + scripts/quest/q34918e.py | 78 + scripts/quest/q34918s.py | 27 + scripts/quest/q34919e.py | 21 + scripts/quest/q34919s.py | 28 + scripts/quest/q34920e.py | 78 + scripts/quest/q34920s.py | 30 + scripts/quest/q34921e.py | 18 + scripts/quest/q34921s.py | 27 + scripts/quest/q34922e.py | 153 + scripts/quest/q34922s.py | 39 + scripts/quest/q34923e.py | 38 + scripts/quest/q34923s.py | 50 + scripts/quest/q34924e.py | 92 + scripts/quest/q34924s.py | 88 + scripts/quest/q34925e.py | 44 + scripts/quest/q34925s.py | 93 + scripts/quest/q34926e.py | 30 + scripts/quest/q34926s.py | 63 + scripts/quest/q34927e.py | 30 + scripts/quest/q34927s.py | 63 + scripts/quest/q34928e.py | 96 + scripts/quest/q34928s.py | 52 + scripts/quest/q34929e.py | 27 + scripts/quest/q34929s.py | 51 + scripts/quest/q34930e.py | 23 + scripts/quest/q34930s.py | 74 + scripts/quest/q34931e.py | 36 + scripts/quest/q34931s.py | 62 + scripts/quest/q34932e.py | 44 + scripts/quest/q34932s.py | 42 + scripts/quest/q34933e.py | 25 + scripts/quest/q34933s.py | 61 + scripts/quest/q34934e.py | 23 + scripts/quest/q34934s.py | 26 + scripts/quest/q34935e.py | 20 + scripts/quest/q34935s.py | 40 + scripts/quest/q34936s.py | 99 + scripts/quest/q34937e.py | 199 + scripts/quest/q34937s.py | 158 + scripts/quest/q34938s.py | 44 + scripts/quest/q34939s.py | 11 + scripts/quest/q34940s.py | 9 + scripts/quest/q34941e.py | 10 + scripts/quest/q34941s.py | 19 + scripts/quest/q34942e.py | 10 + scripts/quest/q34942s.py | 12 + scripts/quest/q34943e.py | 64 + scripts/quest/q34943s.py | 13 + scripts/quest/q3514e.py | 6 + scripts/quest/q3556e.py | 17 + scripts/quest/q35900e.py | 11 + scripts/quest/q35900s.py | 70 + scripts/quest/q35901e.py | 13 + scripts/quest/q35901s.py | 9 + scripts/quest/q35902e.py | 67 + scripts/quest/q35902s.py | 9 + scripts/quest/q35903s.py | 26 + scripts/quest/q35904e.py | 13 + scripts/quest/q35904s.py | 32 + scripts/quest/q35905s.py | 50 + scripts/quest/q35906s.py | 18 + scripts/quest/q35907e.py | 30 + scripts/quest/q35907s.py | 9 + scripts/quest/q35908e.py | 18 + scripts/quest/q35908s.py | 19 + scripts/quest/q35909e.py | 13 + scripts/quest/q35909s.py | 9 + scripts/quest/q35910e.py | 16 + scripts/quest/q35910s.py | 9 + scripts/quest/q35911e.py | 14 + scripts/quest/q35911s.py | 7 + scripts/quest/q35912s.py | 48 + scripts/quest/q35913s.py | 9 + scripts/quest/q35914e.py | 16 + scripts/quest/q35914s.py | 16 + scripts/quest/q35915e.py | 8 + scripts/quest/q35915s.py | 14 + scripts/quest/q35916e.py | 11 + scripts/quest/q35916s.py | 9 + scripts/quest/q35917e.py | 11 + scripts/quest/q35917s.py | 15 + scripts/quest/q35918e.py | 12 + scripts/quest/q35918s.py | 77 + scripts/quest/q35919e.py | 18 + scripts/quest/q35919s.py | 72 + scripts/quest/q35920e.py | 19 + scripts/quest/q35920s.py | 12 + scripts/quest/q35921e.py | 72 + scripts/quest/q35921s.py | 19 + scripts/quest/q35922s.py | 7 + scripts/quest/q35923e.py | 7 + scripts/quest/q35923s.py | 19 + scripts/quest/q35924e.py | 9 + scripts/quest/q35924s.py | 74 + scripts/quest/q35925e.py | 11 + scripts/quest/q35926e.py | 17 + scripts/quest/q35926s.py | 15 + scripts/quest/q35927s.py | 7 + scripts/quest/q35928s.py | 67 + scripts/quest/q35929s.py | 43 + scripts/quest/q37151s.py | 16 + scripts/quest/q37152s.py | 8 + scripts/quest/q37154s.py | 12 + scripts/quest/q37156s.py | 70 + scripts/quest/q37157s.py | 15 + scripts/quest/q37158s.py | 27 + scripts/quest/q37159e.py | 45 + scripts/quest/q37159s.py | 6 + scripts/quest/q37160e.py | 52 + scripts/quest/q37160s.py | 30 + scripts/quest/q37161s.py | 49 + scripts/quest/q37162e.py | 23 + scripts/quest/q37168s.py | 17 + scripts/quest/q37169s.py | 15 + scripts/quest/q37171e.py | 7 + scripts/quest/q37171s.py | 19 + scripts/quest/q37172s.py | 45 + scripts/quest/q37173s.py | 11 + scripts/quest/q37175e.py | 44 + scripts/quest/q37176s.py | 29 + scripts/quest/q37177s.py | 61 + scripts/quest/q3759e.py | 12 + scripts/quest/q38002s.py | 52 + scripts/quest/q38003_midNPC1.py | 12 + scripts/quest/q38003_midNPC2.py | 12 + scripts/quest/q38003_midNPC3.py | 12 + scripts/quest/q38003_midNPC4.py | 12 + scripts/quest/q38009s.py | 5 + scripts/quest/q38011s.py | 13 + scripts/quest/q38014s.py | 32 + scripts/quest/q38022e.py | 33 + scripts/quest/q38024s.py | 27 + scripts/quest/q38026s.py | 5 + scripts/quest/q38027s.py | 61 + scripts/quest/q38030e.py | 10 + scripts/quest/q38033s.py | 35 + scripts/quest/q38034s.py | 18 + scripts/quest/q38035e.py | 13 + scripts/quest/q38073e.py | 24 + scripts/quest/q38074s.py | 7 + scripts/quest/q38076s.py | 6 + scripts/quest/q3862e.py | 12 + scripts/quest/q3864e.py | 14 + scripts/quest/q3890s.py | 24 + scripts/quest/q38996s.py | 17 + scripts/quest/q38997s.py | 17 + scripts/quest/q38998s.py | 14 + scripts/quest/q39160s.py | 8 + scripts/quest/q500724e.py | 167 + scripts/quest/q500724s.py | 9 + scripts/quest/q50722e.py | 7 + scripts/quest/q50990e.py | 9 + scripts/quest/q50990s.py | 10 + scripts/quest/q52930s.py | 20 + scripts/quest/q5499e.py | 20 + scripts/quest/q5499s.py | 38 + scripts/quest/q5500s.py | 29 + scripts/quest/q5501s.py | 34 + scripts/quest/q5519e.py | 6 + scripts/quest/q5520e.py | 6 + scripts/quest/q5521e.py | 6 + scripts/quest/q5522e.py | 6 + scripts/quest/q55234s.py | 56 + scripts/quest/q55235e.py | 24 + scripts/quest/q5523e.py | 6 + scripts/quest/q5671e.py | 52 + scripts/quest/q5672e.py | 26 + scripts/quest/q57103e.py | 17 + scripts/quest/q57103s.py | 16 + scripts/quest/q57105e.py | 11 + scripts/quest/q57105s.py | 14 + scripts/quest/q57110s.py | 13 + scripts/quest/q57162s.py | 22 + scripts/quest/q57163s.py | 5 + scripts/quest/q57164s.py | 5 + scripts/quest/q57400s.py | 0 scripts/quest/q57402e.py | 39 + scripts/quest/q57402s.py | 33 + scripts/quest/q57403e.py | 32 + scripts/quest/q57403s.py | 34 + scripts/quest/q57407e.py | 27 + scripts/quest/q57407s.py | 23 + scripts/quest/q57408s.py | 27 + scripts/quest/q57409e.py | 37 + scripts/quest/q57409s.py | 55 + scripts/quest/q57410e.py | 27 + scripts/quest/q57410s.py | 33 + scripts/quest/q57411e.py | 49 + scripts/quest/q57411s.py | 33 + scripts/quest/q57412e.py | 48 + scripts/quest/q57412s.py | 54 + scripts/quest/q57413e.py | 28 + scripts/quest/q57413s.py | 22 + scripts/quest/q57414e.py | 33 + scripts/quest/q57414s.py | 36 + scripts/quest/q57415e.py | 37 + scripts/quest/q57417e.py | 34 + scripts/quest/q57417s.py | 46 + scripts/quest/q57418e.py | 37 + scripts/quest/q57418s.py | 50 + scripts/quest/q57420e.py | 36 + scripts/quest/q57420s.py | 34 + scripts/quest/q57427s.py | 25 + scripts/quest/q57428s.py | 17 + scripts/quest/q57429s.py | 50 + scripts/quest/q57433e.py | 32 + scripts/quest/q57433s.py | 22 + scripts/quest/q57434e.py | 43 + scripts/quest/q57434s.py | 48 + scripts/quest/q57435e.py | 29 + scripts/quest/q57435s.py | 41 + scripts/quest/q57436s.py | 76 + scripts/quest/q57437e.py | 23 + scripts/quest/q57439s.py | 66 + scripts/quest/q57458s.py | 2 + scripts/quest/q57459s.py | 2 + scripts/quest/q57460s.py | 2 + scripts/quest/q57465s.py | 13 + scripts/quest/q57474s.py | 21 + scripts/quest/q5747s.py | 10 + scripts/quest/q5870e.py | 12 + scripts/quest/q5871e.py | 12 + scripts/quest/q58901e.py | 5 + scripts/quest/q58902e.py | 19 + scripts/quest/q58902s.py | 45 + scripts/quest/q58903e.py | 20 + scripts/quest/q58903s.py | 37 + scripts/quest/q58907e.py | 23 + scripts/quest/q58907s.py | 25 + scripts/quest/q58908s.py | 68 + scripts/quest/q58909s.py | 17 + scripts/quest/q58910s.py | 10 + scripts/quest/q58911e.py | 7 + scripts/quest/q58911s.py | 3 + scripts/quest/q58913e.py | 14 + scripts/quest/q58913s.py | 5 + scripts/quest/q58914e.py | 8 + scripts/quest/q58914s.py | 21 + scripts/quest/q58916e.py | 8 + scripts/quest/q58916s.py | 9 + scripts/quest/q58917e.py | 8 + scripts/quest/q58917s.py | 17 + scripts/quest/q58918e.py | 8 + scripts/quest/q58918s.py | 10 + scripts/quest/q58919e.py | 8 + scripts/quest/q58919s.py | 11 + scripts/quest/q58920e.py | 9 + scripts/quest/q58920s.py | 11 + scripts/quest/q58921e.py | 10 + scripts/quest/q58921s.py | 12 + scripts/quest/q58922s.py | 38 + scripts/quest/q58923e.py | 7 + scripts/quest/q58923s.py | 6 + scripts/quest/q58924s.py | 5 + scripts/quest/q58925e.py | 7 + scripts/quest/q58925s.py | 6 + scripts/quest/q58926s.py | 16 + scripts/quest/q58927e.py | 9 + scripts/quest/q58927s.py | 7 + scripts/quest/q58928e.py | 8 + scripts/quest/q58928s.py | 21 + scripts/quest/q58929e.py | 8 + scripts/quest/q58929s.py | 9 + scripts/quest/q58930e.py | 8 + scripts/quest/q58930s.py | 17 + scripts/quest/q58931e.py | 8 + scripts/quest/q58931s.py | 10 + scripts/quest/q58932e.py | 8 + scripts/quest/q58932s.py | 11 + scripts/quest/q58933e.py | 9 + scripts/quest/q58933s.py | 11 + scripts/quest/q58934e.py | 10 + scripts/quest/q58934s.py | 12 + scripts/quest/q58935s.py | 39 + scripts/quest/q58936e.py | 7 + scripts/quest/q58936s.py | 6 + scripts/quest/q58937s.py | 5 + scripts/quest/q58938e.py | 7 + scripts/quest/q58938s.py | 6 + scripts/quest/q58939s.py | 16 + scripts/quest/q58940e.py | 10 + scripts/quest/q58940s.py | 7 + scripts/quest/q58941e.py | 8 + scripts/quest/q58941s.py | 21 + scripts/quest/q58942e.py | 8 + scripts/quest/q58942s.py | 9 + scripts/quest/q58943e.py | 8 + scripts/quest/q58943s.py | 17 + scripts/quest/q58944e.py | 8 + scripts/quest/q58944s.py | 10 + scripts/quest/q58945e.py | 8 + scripts/quest/q58945s.py | 11 + scripts/quest/q58946e.py | 9 + scripts/quest/q58946s.py | 11 + scripts/quest/q58947e.py | 10 + scripts/quest/q58947s.py | 12 + scripts/quest/q58955s.py | 16 + scripts/quest/q58963s.py | 12 + scripts/quest/q58964e.py | 7 + scripts/quest/q58964s.py | 6 + scripts/quest/q58965s.py | 5 + scripts/quest/q58966e.py | 7 + scripts/quest/q58966s.py | 6 + scripts/quest/q58967s.py | 16 + scripts/quest/q58968e.py | 9 + scripts/quest/q58968s.py | 7 + scripts/quest/q59000e.py | 11 + scripts/quest/q59000s.py | 12 + scripts/quest/q59001e.py | 11 + scripts/quest/q59001s.py | 14 + scripts/quest/q59002s.py | 22 + scripts/quest/q61133e.py | 9 + scripts/quest/q61133s.py | 8 + scripts/quest/q61134e.py | 8 + scripts/quest/q61134s.py | 11 + scripts/quest/q61135s.py | 3 + scripts/quest/q61136s.py | 3 + scripts/quest/q61145s.py | 23 + scripts/quest/q62000s.py | 26 + scripts/quest/q62001e.py | 13 + scripts/quest/q62001s.py | 24 + scripts/quest/q62002e.py | 11 + scripts/quest/q62002s.py | 3 + scripts/quest/q62003e.py | 9 + scripts/quest/q62003s.py | 23 + scripts/quest/q62005e.py | 18 + scripts/quest/q62005s.py | 33 + scripts/quest/q62007e.py | 27 + scripts/quest/q62007s.py | 49 + scripts/quest/q62008e.py | 58 + scripts/quest/q62008s.py | 37 + scripts/quest/q62009e.py | 11 + scripts/quest/q62009s.py | 40 + scripts/quest/q62010e.py | 12 + scripts/quest/q62010s.py | 12 + scripts/quest/q62011e.py | 7 + scripts/quest/q62011s.py | 40 + scripts/quest/q62013e.py | 32 + scripts/quest/q62013s.py | 31 + scripts/quest/q62014s.py | 53 + scripts/quest/q62015e.py | 19 + scripts/quest/q62015s.py | 48 + scripts/quest/q62017s.py | 53 + scripts/quest/q62018e.py | 12 + scripts/quest/q62018s.py | 43 + scripts/quest/q62019e.py | 24 + scripts/quest/q62019s.py | 38 + scripts/quest/q62020s.py | 124 + scripts/quest/q62022e.py | 29 + scripts/quest/q62022s.py | 6 + scripts/quest/q62023s.py | 18 + scripts/quest/q62024e.py | 11 + scripts/quest/q62025e.py | 11 + scripts/quest/q62026e.py | 11 + scripts/quest/q62027e.py | 11 + scripts/quest/q62028e.py | 11 + scripts/quest/q62029e.py | 11 + scripts/quest/q62030e.py | 11 + scripts/quest/q62031e.py | 11 + scripts/quest/q62032e.py | 11 + scripts/quest/q62033e.py | 11 + scripts/quest/q62034e.py | 11 + scripts/quest/q62035s.py | 11 + scripts/quest/q62039s.py | 30 + scripts/quest/q62044s.py | 2 + scripts/quest/q62395e.py | 1 + scripts/quest/q62395s.py | 1 + scripts/quest/q63360s.py | 9 + scripts/quest/q63370s.py | 66 + scripts/quest/q64010s.py | 68 + scripts/quest/q64018e.py | 12 + scripts/quest/q64021e.py | 31 + scripts/quest/q64025e.py | 22 + scripts/quest/q64025s.py | 65 + scripts/quest/q64026e.py | 32 + scripts/quest/q64026s.py | 42 + scripts/quest/q64027s.py | 49 + scripts/quest/q64028s.py | 57 + scripts/quest/q64029e.py | 11 + scripts/quest/q64029s.py | 21 + scripts/quest/q64030e.py | 8 + scripts/quest/q64036s.py | 48 + scripts/quest/q64037s.py | 8 + scripts/quest/q64044e.py | 44 + scripts/quest/q64045e.py | 92 + scripts/quest/q64062s.py | 58 + scripts/quest/q64063e.py | 22 + scripts/quest/q64063s.py | 12 + scripts/quest/q64064e.py | 51 + scripts/quest/q64064s.py | 95 + scripts/quest/q64065e.py | 38 + scripts/quest/q64065s.py | 29 + scripts/quest/q64067e.py | 27 + scripts/quest/q64067s.py | 49 + scripts/quest/q64070s.py | 8 + scripts/quest/q64071s.py | 30 + scripts/quest/q64072s.py | 8 + scripts/quest/q64080e.py | 29 + scripts/quest/q64083s.py | 30 + scripts/quest/q64084e.py | 33 + scripts/quest/q64087e.py | 22 + scripts/quest/q64088e.py | 278 + scripts/quest/q64104s.py | 17 + scripts/quest/q64107e.py | 10 + scripts/quest/q64111s.py | 70 + scripts/quest/q64112e.py | 119 + scripts/quest/q64113s.py | 47 + scripts/quest/q64114e.py | 12 + scripts/quest/q64114s.py | 43 + scripts/quest/q64116s.py | 40 + scripts/quest/q64130e.py | 18 + scripts/quest/q64133e.py | 7 + scripts/quest/q64133s.py | 36 + scripts/quest/q64215s.py | 5 + scripts/quest/q64216s.py | 2 + scripts/quest/q64273s.py | 29 + scripts/quest/q6601s.py | 6 + scripts/quest/q7707s.py | 3 + scripts/quest/undefined.py | 8 + scripts/reactor/9218000action.py | 12 + scripts/reactor/9250000action.py | 18 + scripts/reactor/9250001action.py | 18 + scripts/reactor/9250002action.py | 17 + scripts/reactor/9250003action.py | 18 + scripts/reactor/9250004action.py | 18 + scripts/reactor/9250005action.py | 18 + scripts/reactor/JPludiMob0.py | 7 + scripts/reactor/JPludiMob1.py | 3 + scripts/reactor/JPludiMob2.py | 7 + scripts/reactor/JPludiMob3.py | 7 + scripts/reactor/balogItem0.py | 0 scripts/reactor/banbanChaos.py | 5 + scripts/reactor/banbanNormal.py | 10 + scripts/reactor/bellumChaos.py | 5 + scripts/reactor/bellumNormal.py | 6 + scripts/reactor/chaoshontaleBoss.py | 16 + scripts/reactor/davyItem0.py | 13 + scripts/reactor/davyMob0.py | 13 + scripts/reactor/davyMob1.py | 13 + scripts/reactor/davyScript0.py | 10 + scripts/reactor/davyScript1.py | 9 + scripts/reactor/davyScript2.py | 9 + scripts/reactor/davyScript3.py | 9 + scripts/reactor/dual_ball00.py | 2 + scripts/reactor/easyhontaleBoss.py | 16 + scripts/reactor/edelItem0.py | 11 + scripts/reactor/erebMob0.py | 11 + scripts/reactor/fake_timecapsule.py | 4 + scripts/reactor/farmItem0.py | 7 + scripts/reactor/gather_Item0.py | 120 + scripts/reactor/glpqskill0.py | 27 + scripts/reactor/glpqskill1.py | 26 + scripts/reactor/glpqskill2.py | 26 + scripts/reactor/glpqskill3.py | 26 + scripts/reactor/glpqskill4.py | 26 + scripts/reactor/hontaleBoss.py | 7 + scripts/reactor/mBoxItem0.py | 31 + scripts/reactor/mihailItem00.py | 16 + scripts/reactor/periFlower0.py | 4 + scripts/reactor/platformer_trap.py | 1 + scripts/reactor/platformer_trap0.py | 1 + scripts/reactor/platformer_trap1.py | 1 + scripts/reactor/platformer_trap3.py | 1 + scripts/reactor/platformer_trap4.py | 1 + scripts/reactor/prisonBreakItem0.py | 8 + scripts/reactor/prisonBreakMob0.py | 15 + scripts/reactor/queenChaos.py | 14 + scripts/reactor/queenNormal.py | 17 + scripts/reactor/real_timecapsule.py | 16 + scripts/reactor/rienItem0.py | 3 + scripts/reactor/undefined.py | 2 + sql/1 - InitTables_characters.sql | 1147 + sql/10 - InitTables_shops.sql | 6192 +++++ sql/2 - InitTables_drops.sql | 9610 ++++++++ sql/3 - InitTables_cashshop.sql | 9182 ++++++++ sql/4 - drops.sql | 5 + sql/5 - InitTable_equip_drops.sql | 1052 + sql/6 - beautyalbum.sql | 9 + sql/7 - charactercard.sql | 8 + sql/8 - InitTable_npc.sql | 14 + sql/9 - InitTables_MonsterCollection.sql | 1266 + ...tDrops - drops - equipDrops - the rest.txt | 0 sql/hairequips.sql | 33 + sql/unseenequips.sql | 33 + src/main/java/hibernate.cfg.xml | 44 + src/main/java/log4j.properties | 19 + src/main/java/net/swordie/ms/Server.java | 335 + .../java/net/swordie/ms/ServerConfig.java | 20 + .../java/net/swordie/ms/ServerConstants.java | 41 + .../java/net/swordie/ms/ServerStatus.java | 20 + .../java/net/swordie/ms/client/Account.java | 381 + .../java/net/swordie/ms/client/Client.java | 221 + .../java/net/swordie/ms/client/LinkSkill.java | 85 + src/main/java/net/swordie/ms/client/User.java | 475 + .../swordie/ms/client/alliance/Alliance.java | 159 + .../ms/client/alliance/AllianceResult.java | 260 + .../swordie/ms/client/anticheat/Offense.java | 138 + .../ms/client/anticheat/OffenseManager.java | 156 + .../ms/client/character/BroadcastMsg.java | 320 + .../net/swordie/ms/client/character/Char.java | 6752 ++++++ .../ms/client/character/CharacterStat.java | 698 + .../ms/client/character/CoupleRecord.java | 72 + .../ms/client/character/EventCoolDown.java | 54 + .../swordie/ms/client/character/ExtendSP.java | 73 + .../ms/client/character/FarmPotential.java | 18 + .../ms/client/character/HyperTPRock.java | 50 + .../swordie/ms/client/character/ItemPot.java | 10 + .../ms/client/character/LikePoint.java | 43 + .../swordie/ms/client/character/Macro.java | 71 + .../ms/client/character/MarriageRecord.java | 99 + .../ms/client/character/MiniGameRecord.java | 63 + .../swordie/ms/client/character/MiniRoom.java | 112 + .../client/character/MonsterCollection.java | 220 + .../MonsterCollectionExploration.java | 100 + .../character/MonsterCollectionReward.java | 47 + .../ms/client/character/MonsterPark.java | 155 + .../character/NonCombatStatDayLimit.java | 127 + .../ms/client/character/PortableChair.java | 161 + .../swordie/ms/client/character/Ranking.java | 63 + .../ms/client/character/RunnerGameRecord.java | 79 + .../swordie/ms/client/character/SPSet.java | 54 + .../ms/client/character/TradeRoom.java | 128 + .../client/character/avatar/AvatarData.java | 76 + .../client/character/avatar/AvatarLook.java | 545 + .../client/character/avatar/BeautyAlbum.java | 63 + .../ms/client/character/b2body/B2Body.java | 143 + .../client/character/cards/CharacterCard.java | 67 + .../character/cards/MonsterBookInfo.java | 70 + .../character/commands/AdminCommand.java | 16 + .../character/commands/AdminCommands.java | 3452 +++ .../ms/client/character/commands/Command.java | 14 + .../client/character/commands/ICommand.java | 18 + .../character/commands/PlayerCommand.java | 14 + .../character/commands/PlayerCommands.java | 248 + .../client/character/damage/DamageCalc.java | 506 + .../character/damage/DamageSkinSaveData.java | 92 + .../character/damage/DamageSkinType.java | 36 + .../ms/client/character/damage/Rand32.java | 78 + .../character/info/ExpIncreaseInfo.java | 462 + .../client/character/info/FarmUserInfo.java | 112 + .../character/info/FreezeHotEventInfo.java | 33 + .../ms/client/character/info/HitInfo.java | 62 + .../ms/client/character/info/ZeroInfo.java | 186 + .../ms/client/character/items/BodyPart.java | 155 + .../ms/client/character/items/BossSoul.java | 34 + .../client/character/items/DressUpInfo.java | 82 + .../ms/client/character/items/Equip.java | 2242 ++ .../character/items/EquipAttribute.java | 34 + .../client/character/items/EquipPrefix.java | 100 + .../items/EquipSpecialAttribute.java | 28 + .../character/items/ExpConsumeItem.java | 59 + .../client/character/items/HotTimeReward.java | 127 + .../ms/client/character/items/Inventory.java | 189 + .../ms/client/character/items/Item.java | 254 + .../ms/client/character/items/ItemBuffs.java | 241 + .../ms/client/character/items/ItemOption.java | 129 + .../client/character/items/ItemPotSlot.java | 22 + .../ms/client/character/items/ItemSkill.java | 27 + .../ms/client/character/items/ItemState.java | 27 + .../character/items/MemorialCubeInfo.java | 58 + .../ms/client/character/items/PetItem.java | 215 + .../client/character/items/RequiredJob.java | 24 + .../character/items/ScrollUpgradeInfo.java | 170 + .../ms/client/character/keys/FuncKeyMap.java | 109 + .../ms/client/character/keys/Keymapping.java | 56 + .../monsterbattle/MonsterBattleLadder.java | 14 + .../monsterbattle/MonsterBattleMobInfo.java | 10 + .../monsterbattle/MonsterBattleRankInfo.java | 10 + .../potential/CharacterPotential.java | 103 + .../potential/CharacterPotentialMan.java | 151 + .../ms/client/character/quest/Quest.java | 236 + .../ms/client/character/quest/QuestEx.java | 68 + .../client/character/quest/QuestManager.java | 291 + .../QuestProgressItemRequirement.java | 72 + .../QuestProgressLevelRequirement.java | 60 + .../progress/QuestProgressMobRequirement.java | 94 + .../QuestProgressMoneyRequirement.java | 61 + .../progress/QuestProgressRequirement.java | 47 + .../QuestProgressRequirementType.java | 53 + .../quest/progress/QuestValueRequirement.java | 13 + .../QuestStartCompletionRequirement.java | 72 + .../QuestStartItemRequirement.java | 56 + .../requirement/QuestStartJobRequirement.java | 52 + .../QuestStartMarriageRequirement.java | 27 + .../QuestStartMaxLevelRequirement.java | 43 + .../QuestStartMinStatRequirement.java | 55 + .../requirement/QuestStartRequirement.java | 17 + .../QuestStartRequirementType.java | 64 + .../quest/reward/QuestBuffItemReward.java | 49 + .../quest/reward/QuestExpReward.java | 47 + .../quest/reward/QuestItemReward.java | 104 + .../quest/reward/QuestMoneyReward.java | 47 + .../quest/reward/QuestPopReward.java | 48 + .../character/quest/reward/QuestReward.java | 16 + .../quest/reward/QuestRewardType.java | 58 + .../character/runestones/RuneStone.java | 315 + .../runestones/RuneStoneAckType.java | 27 + .../ms/client/character/scene/EffectInfo.java | 84 + .../ms/client/character/scene/Scene.java | 154 + .../client/character/skills/ChosenSkill.java | 68 + .../ms/client/character/skills/Core.java | 39 + .../ms/client/character/skills/ForceAtom.java | 352 + .../client/character/skills/GuidedBullet.java | 49 + .../character/skills/LarknessManager.java | 130 + .../client/character/skills/MatrixRecord.java | 197 + .../ms/client/character/skills/Option.java | 142 + .../client/character/skills/PartyBooster.java | 49 + .../client/character/skills/ProcessType.java | 83 + .../client/character/skills/PsychicArea.java | 39 + .../character/skills/PsychicLockBall.java | 38 + .../client/character/skills/ShootObject.java | 144 + .../ms/client/character/skills/Skill.java | 85 + .../ms/client/character/skills/SkillStat.java | 508 + .../client/character/skills/StolenSkill.java | 122 + .../character/skills/StopForceAtom.java | 58 + .../client/character/skills/TownPortal.java | 156 + .../character/skills/info/AttackInfo.java | 102 + .../character/skills/info/ForceAtomInfo.java | 178 + .../character/skills/info/MobAttackInfo.java | 93 + .../character/skills/info/SkillInfo.java | 449 + .../character/skills/info/SkillUseInfo.java | 22 + .../character/skills/info/ToBaseStat.java | 53 + .../skills/temp/CharacterTemporaryStat.java | 1259 + .../skills/temp/TemporaryStatBase.java | 110 + .../skills/temp/TemporaryStatManager.java | 1383 ++ .../skills/temp/TwoStateTemporaryStat.java | 22 + .../ms/client/character/union/Union.java | 134 + .../ms/client/character/union/UnionBoard.java | 146 + .../client/character/union/UnionMember.java | 153 + .../net/swordie/ms/client/friend/Friend.java | 160 + .../swordie/ms/client/friend/FriendFlag.java | 28 + .../ms/client/friend/FriendRecord.java | 62 + .../swordie/ms/client/friend/FriendType.java | 77 + .../client/friend/FriendshipRingRecord.java | 41 + .../ms/client/friend/result/FriendResult.java | 112 + .../net/swordie/ms/client/guild/Guild.java | 594 + .../swordie/ms/client/guild/GuildMember.java | 200 + .../ms/client/guild/GuildRequestor.java | 125 + .../swordie/ms/client/guild/GuildSkill.java | 81 + .../ms/client/guild/bbs/BBSRecord.java | 152 + .../swordie/ms/client/guild/bbs/BBSReply.java | 82 + .../ms/client/guild/bbs/GuildBBSPacket.java | 61 + .../ms/client/guild/bbs/GuildBBSType.java | 34 + .../ms/client/guild/result/GuildResult.java | 286 + .../ms/client/guild/result/GuildType.java | 228 + .../java/net/swordie/ms/client/jobs/Job.java | 1756 ++ .../swordie/ms/client/jobs/JobManager.java | 157 + .../java/net/swordie/ms/client/jobs/Zero.java | 764 + .../ms/client/jobs/adventurer/BeastTamer.java | 908 + .../ms/client/jobs/adventurer/Beginner.java | 144 + .../ms/client/jobs/adventurer/Kinesis.java | 538 + .../ms/client/jobs/adventurer/PinkBean.java | 337 + .../client/jobs/adventurer/archer/Archer.java | 309 + .../jobs/adventurer/archer/BowMaster.java | 724 + .../jobs/adventurer/archer/Marksman.java | 392 + .../jobs/adventurer/archer/Pathfinder.java | 913 + .../jobs/adventurer/magician/Bishop.java | 695 + .../jobs/adventurer/magician/FirePoison.java | 576 + .../adventurer/magician/IceLightning.java | 449 + .../jobs/adventurer/magician/Magician.java | 508 + .../jobs/adventurer/pirate/Buccaneer.java | 632 + .../jobs/adventurer/pirate/Cannonneer.java | 525 + .../jobs/adventurer/pirate/Corsair.java | 462 + .../client/jobs/adventurer/pirate/Jett.java | 395 + .../client/jobs/adventurer/pirate/Pirate.java | 342 + .../jobs/adventurer/thief/BladeMaster.java | 342 + .../jobs/adventurer/thief/NightLord.java | 436 + .../jobs/adventurer/thief/Shadower.java | 576 + .../client/jobs/adventurer/thief/Thief.java | 417 + .../jobs/adventurer/warrior/DarkKnight.java | 543 + .../client/jobs/adventurer/warrior/Hero.java | 639 + .../jobs/adventurer/warrior/Paladin.java | 812 + .../jobs/adventurer/warrior/Warrior.java | 264 + .../ms/client/jobs/cygnus/BlazeWizard.java | 564 + .../ms/client/jobs/cygnus/DawnWarrior.java | 590 + .../swordie/ms/client/jobs/cygnus/Mihile.java | 914 + .../ms/client/jobs/cygnus/NightWalker.java | 959 + .../ms/client/jobs/cygnus/Noblesse.java | 153 + .../ms/client/jobs/cygnus/ThunderBreaker.java | 425 + .../ms/client/jobs/cygnus/WindArcher.java | 711 + .../net/swordie/ms/client/jobs/flora/Ark.java | 729 + .../swordie/ms/client/jobs/flora/Illium.java | 634 + .../swordie/ms/client/jobs/legend/Aran.java | 641 + .../swordie/ms/client/jobs/legend/Evan.java | 549 + .../swordie/ms/client/jobs/legend/Legend.java | 48 + .../ms/client/jobs/legend/Luminous.java | 623 + .../ms/client/jobs/legend/Mercedes.java | 560 + .../ms/client/jobs/legend/Phantom.java | 926 + .../swordie/ms/client/jobs/legend/Shade.java | 645 + .../ms/client/jobs/nova/AngelicBuster.java | 847 + .../swordie/ms/client/jobs/nova/Cadena.java | 543 + .../swordie/ms/client/jobs/nova/Kaiser.java | 914 + .../ms/client/jobs/resistance/BattleMage.java | 853 + .../ms/client/jobs/resistance/Blaster.java | 514 + .../ms/client/jobs/resistance/Citizen.java | 92 + .../ms/client/jobs/resistance/Mechanic.java | 609 + .../ms/client/jobs/resistance/OpenGate.java | 109 + .../ms/client/jobs/resistance/WildHunter.java | 751 + .../jobs/resistance/WildHunterInfo.java | 55 + .../ms/client/jobs/resistance/Xenon.java | 721 + .../client/jobs/resistance/demon/Demon.java | 215 + .../jobs/resistance/demon/DemonAvenger.java | 706 + .../jobs/resistance/demon/DemonSlayer.java | 576 + .../ms/client/jobs/sengoku/Hayato.java | 714 + .../swordie/ms/client/jobs/sengoku/Kanna.java | 1116 + .../net/swordie/ms/client/party/Party.java | 390 + .../ms/client/party/PartyDamageInfo.java | 89 + .../swordie/ms/client/party/PartyMember.java | 142 + .../swordie/ms/client/party/PartyResult.java | 166 + .../swordie/ms/client/party/PartyType.java | 229 + .../swordie/ms/client/party/TownPortal.java | 63 + .../net/swordie/ms/client/trunk/Trunk.java | 172 + .../net/swordie/ms/client/trunk/TrunkDlg.java | 13 + .../net/swordie/ms/client/trunk/TrunkMsg.java | 25 + .../swordie/ms/client/trunk/TrunkOpen.java | 28 + .../swordie/ms/client/trunk/TrunkType.java | 53 + .../swordie/ms/client/trunk/TrunkUpdate.java | 27 + .../ms/connection/ByteBufOutPacket.java | 339 + .../net/swordie/ms/connection/Encodable.java | 9 + .../net/swordie/ms/connection/InPacket.java | 191 + .../net/swordie/ms/connection/OutPacket.java | 343 + .../net/swordie/ms/connection/Packet.java | 73 + .../ms/connection/api/ApiAcceptor.java | 65 + .../swordie/ms/connection/api/ApiDecoder.java | 36 + .../swordie/ms/connection/api/ApiEncoder.java | 38 + .../swordie/ms/connection/api/ApiHandler.java | 48 + .../ms/connection/api/ApiInHeader.java | 27 + .../ms/connection/api/ApiOutHeader.java | 27 + .../net/swordie/ms/connection/crypto/AES.java | 233 + .../ms/connection/crypto/BitTools.java | 50 + .../ms/connection/crypto/MapleCrypto.java | 295 + .../ms/connection/crypto/TripleDESCipher.java | 167 + .../ms/connection/db/DatabaseException.java | 34 + .../ms/connection/db/DatabaseManager.java | 264 + .../db/converters/FileTimeConverter.java | 52 + .../converters/InlinedIntArrayConverter.java | 45 + .../db/converters/InlinedIntMapConverter.java | 36 + .../ms/connection/netty/ChannelAcceptor.java | 76 + .../ms/connection/netty/ChannelHandler.java | 168 + .../ms/connection/netty/ChatAcceptor.java | 76 + .../ms/connection/netty/LoginAcceptor.java | 77 + .../ms/connection/netty/NettyClient.java | 203 + .../ms/connection/netty/PacketDecoder.java | 72 + .../ms/connection/netty/PacketEncoder.java | 76 + .../ms/connection/netty/PacketHandler.java | 33 + .../ms/connection/packet/AndroidPacket.java | 65 + .../ms/connection/packet/ApiResponse.java | 33 + .../ms/connection/packet/BattleRecordMan.java | 34 + .../ms/connection/packet/CCashShop.java | 307 + .../ms/connection/packet/CFamiliar.java | 80 + .../ms/connection/packet/CUIHandler.java | 116 + .../ms/connection/packet/ChatSocket.java | 62 + .../connection/packet/DemianFieldPacket.java | 106 + .../ms/connection/packet/DragonPool.java | 43 + .../ms/connection/packet/DropPool.java | 132 + .../swordie/ms/connection/packet/Effect.java | 1223 + .../connection/packet/FieldAttackObjPool.java | 37 + .../ms/connection/packet/FieldPacket.java | 1517 ++ .../ms/connection/packet/GachaponDlg.java | 54 + .../packet/InGameDirectionEvent.java | 301 + .../ms/connection/packet/ItemOperation.java | 12 + .../swordie/ms/connection/packet/Login.java | 393 + .../ms/connection/packet/MapLoadable.java | 32 + .../ms/connection/packet/MiniroomPacket.java | 118 + .../swordie/ms/connection/packet/MobPool.java | 526 + .../connection/packet/MobSkillAttackInfo.java | 22 + .../swordie/ms/connection/packet/NpcPool.java | 113 + .../ms/connection/packet/QuickMoveInfo.java | 129 + .../ms/connection/packet/RandomPortal.java | 83 + .../connection/packet/RandomPortalPool.java | 30 + .../ms/connection/packet/ReactorPool.java | 81 + .../ms/connection/packet/ScriptMan.java | 157 + .../swordie/ms/connection/packet/ShopDlg.java | 34 + .../swordie/ms/connection/packet/Stage.java | 260 + .../ms/connection/packet/Summoned.java | 378 + .../ms/connection/packet/UserLocal.java | 955 + .../ms/connection/packet/UserPacket.java | 244 + .../ms/connection/packet/UserPool.java | 394 + .../ms/connection/packet/UserRemote.java | 550 + .../ms/connection/packet/WvsContext.java | 1514 ++ .../swordie/ms/constants/BossConstants.java | 298 + .../swordie/ms/constants/CustomConstants.java | 376 + .../swordie/ms/constants/FieldConstants.java | 15 + .../swordie/ms/constants/GameConstants.java | 1111 + .../swordie/ms/constants/ItemConstants.java | 3213 +++ .../swordie/ms/constants/JobConstants.java | 1146 + .../swordie/ms/constants/MobConstants.java | 45 + .../ms/constants/MonsterCollectionGroup.java | 68 + .../ms/constants/MonsterCollectionRegion.java | 53 + .../constants/MonsterCollectionSession.java | 109 + .../swordie/ms/constants/QuestConstants.java | 52 + .../swordie/ms/constants/SkillChanges.java | 716 + .../swordie/ms/constants/SkillConstants.java | 3013 +++ .../net/swordie/ms/constants/WzConstants.java | 35 + .../swordie/ms/discord/DiscordWebhook.java | 395 + .../swordie/ms/enums/AccountCreateResult.java | 12 + .../net/swordie/ms/enums/AccountType.java | 19 + .../net/swordie/ms/enums/AchievementType.java | 31 + .../net/swordie/ms/enums/AllianceType.java | 62 + .../swordie/ms/enums/ApiTokenResultType.java | 27 + .../java/net/swordie/ms/enums/AssistType.java | 38 + .../net/swordie/ms/enums/AttackIndex.java | 29 + .../swordie/ms/enums/AuctionResultCode.java | 28 + .../net/swordie/ms/enums/AuctionState.java | 28 + .../swordie/ms/enums/AvatarModifiedMask.java | 21 + .../java/net/swordie/ms/enums/BaseStat.java | 478 + .../swordie/ms/enums/BeastTamerBeasts.java | 19 + .../swordie/ms/enums/BossMatchingType.java | 97 + .../swordie/ms/enums/BroadcastMsgType.java | 58 + .../net/swordie/ms/enums/CashItemType.java | 336 + .../swordie/ms/enums/CashShopActionType.java | 38 + .../swordie/ms/enums/CashShopInfoType.java | 26 + .../net/swordie/ms/enums/CharNameResult.java | 25 + .../net/swordie/ms/enums/CharPotGrade.java | 11 + .../net/swordie/ms/enums/CharSelectType.java | 24 + .../java/net/swordie/ms/enums/ChatType.java | 62 + .../net/swordie/ms/enums/ChatUserType.java | 19 + .../java/net/swordie/ms/enums/ClockType.java | 27 + .../net/swordie/ms/enums/ClothingStats.java | 34 + .../ms/enums/CustomFUEFieldScripts.java | 38 + .../swordie/ms/enums/CustomFieldScripts.java | 26 + .../java/net/swordie/ms/enums/DBChar.java | 105 + .../ms/enums/DimensionalMirrorType.java | 79 + .../ms/enums/DimensionalPortalTownType.java | 52 + .../ms/enums/DimensionalPortalType.java | 85 + .../net/swordie/ms/enums/DropEnterType.java | 21 + .../net/swordie/ms/enums/DropLeaveType.java | 25 + .../net/swordie/ms/enums/DropMotionType.java | 9 + .../java/net/swordie/ms/enums/DropType.java | 19 + .../java/net/swordie/ms/enums/EliteState.java | 21 + .../net/swordie/ms/enums/EnchantStat.java | 95 + .../java/net/swordie/ms/enums/EnterType.java | 19 + .../net/swordie/ms/enums/EquipBaseStat.java | 56 + .../ms/enums/EquipmentEnchantType.java | 36 + .../java/net/swordie/ms/enums/EventType.java | 58 + .../ms/enums/ExpIncreaseInfoFlags.java | 42 + .../net/swordie/ms/enums/FieldOption.java | 44 + .../java/net/swordie/ms/enums/FieldType.java | 173 + .../java/net/swordie/ms/enums/FlameStat.java | 52 + .../net/swordie/ms/enums/ForceAtomEnum.java | 239 + .../net/swordie/ms/enums/ForcedInputType.java | 33 + .../swordie/ms/enums/GoldHammerResult.java | 22 + .../swordie/ms/enums/GroupMessageType.java | 15 + .../swordie/ms/enums/HotTimeRewardResult.java | 26 + .../ms/enums/HotTimeRewardSendType.java | 20 + .../swordie/ms/enums/HotTimeRewardType.java | 19 + .../swordie/ms/enums/InGameDirectionAsk.java | 27 + .../ms/enums/InGameDirectionEventType.java | 48 + .../swordie/ms/enums/InstanceTableType.java | 49 + .../java/net/swordie/ms/enums/InvType.java | 74 + .../swordie/ms/enums/InventoryOperation.java | 29 + .../java/net/swordie/ms/enums/ItemGrade.java | 167 + .../java/net/swordie/ms/enums/ItemJob.java | 13 + .../net/swordie/ms/enums/ItemOptionType.java | 35 + .../java/net/swordie/ms/enums/LeaveType.java | 23 + .../java/net/swordie/ms/enums/LegionType.java | 22 + .../net/swordie/ms/enums/LinkSkillResult.java | 16 + .../ms/enums/LinkedSkillResultType.java | 23 + .../java/net/swordie/ms/enums/LoginState.java | 13 + .../java/net/swordie/ms/enums/LoginType.java | 112 + .../swordie/ms/enums/MakingSkillResult.java | 26 + .../net/swordie/ms/enums/MapTransferType.java | 33 + .../swordie/ms/enums/MatrixUpdateRequest.java | 38 + .../ms/enums/MedalReissueResultType.java | 24 + .../net/swordie/ms/enums/MessageType.java | 71 + .../net/swordie/ms/enums/MiniRoomType.java | 50 + .../ms/enums/MobCastingBarSkillType.java | 12 + .../ms/enums/MonsterCollectionResultType.java | 25 + .../net/swordie/ms/enums/MoveAbility.java | 40 + .../ms/enums/ObtacleAtomCreateType.java | 26 + .../net/swordie/ms/enums/ObtacleAtomEnum.java | 96 + .../net/swordie/ms/enums/PetRemoveReason.java | 21 + .../java/net/swordie/ms/enums/PicStatus.java | 26 + .../ms/enums/PopularityResultType.java | 24 + .../swordie/ms/enums/PotentialResetType.java | 10 + .../ms/enums/ProgressMessageColourType.java | 50 + .../ms/enums/ProgressMessageFontType.java | 30 + .../net/swordie/ms/enums/QuestStatus.java | 20 + .../java/net/swordie/ms/enums/QuestType.java | 61 + .../net/swordie/ms/enums/QuickMoveType.java | 42 + .../swordie/ms/enums/RandomMissionType.java | 25 + .../java/net/swordie/ms/enums/ReviveType.java | 25 + .../net/swordie/ms/enums/RoomLeaveType.java | 54 + .../java/net/swordie/ms/enums/RuneType.java | 26 + .../java/net/swordie/ms/enums/SceneType.java | 29 + .../java/net/swordie/ms/enums/ScrollStat.java | 87 + .../swordie/ms/enums/SendTypeFromClient.java | 36 + .../java/net/swordie/ms/enums/SkillType.java | 48 + .../java/net/swordie/ms/enums/SoulType.java | 30 + .../java/net/swordie/ms/enums/SpecStat.java | 105 + .../ms/enums/SpellTraceScrollType.java | 11 + src/main/java/net/swordie/ms/enums/Stat.java | 69 + .../net/swordie/ms/enums/StealMemoryType.java | 26 + .../net/swordie/ms/enums/StylishKillType.java | 22 + .../java/net/swordie/ms/enums/TSIndex.java | 105 + .../java/net/swordie/ms/enums/TabIndex.java | 52 + .../net/swordie/ms/enums/TextEffectType.java | 16 + .../java/net/swordie/ms/enums/UIType.java | 375 + .../java/net/swordie/ms/enums/UiScript.java | 28 + .../net/swordie/ms/enums/UserEffectType.java | 115 + .../java/net/swordie/ms/enums/WeaponType.java | 64 + .../ms/enums/WeatherEffNoticeType.java | 232 + .../java/net/swordie/ms/enums/WorldId.java | 51 + .../ms/handlers/ApiRequestHandler.java | 86 + .../swordie/ms/handlers/CashShopHandler.java | 220 + .../CatchingScheduledThreadPoolExecutor.java | 97 + .../net/swordie/ms/handlers/ClientSocket.java | 34 + .../net/swordie/ms/handlers/EventManager.java | 134 + .../net/swordie/ms/handlers/FieldHandler.java | 31 + .../java/net/swordie/ms/handlers/Handler.java | 14 + .../net/swordie/ms/handlers/LoginHandler.java | 675 + .../net/swordie/ms/handlers/PsychicLock.java | 33 + .../swordie/ms/handlers/header/InHeader.java | 1228 + .../swordie/ms/handlers/header/OutHeader.java | 1855 ++ .../ms/handlers/item/InventoryHandler.java | 282 + .../swordie/ms/handlers/item/ItemHandler.java | 1173 + .../ms/handlers/item/ItemUpgradeHandler.java | 503 + .../ms/handlers/life/AffectedAreaHandler.java | 26 + .../ms/handlers/life/AndroidHandler.java | 27 + .../ms/handlers/life/DragonHandler.java | 28 + .../swordie/ms/handlers/life/DropHandler.java | 69 + .../ms/handlers/life/FamiliarHandler.java | 127 + .../swordie/ms/handlers/life/MobHandler.java | 475 + .../swordie/ms/handlers/life/NpcHandler.java | 480 + .../swordie/ms/handlers/life/PetHandler.java | 279 + .../ms/handlers/life/ReactorHandler.java | 77 + .../ms/handlers/life/SummonedHandler.java | 146 + .../ms/handlers/script/QuestHandler.java | 175 + .../ms/handlers/script/ScriptHandler.java | 286 + .../ms/handlers/social/AuctionHandler.java | 248 + .../handlers/social/BossMatchingHandler.java | 38 + .../ms/handlers/social/ChatHandler.java | 283 + .../ms/handlers/social/FriendHandler.java | 278 + .../ms/handlers/social/GuildHandler.java | 604 + .../ms/handlers/social/PartyHandler.java | 215 + .../ms/handlers/social/RoomHandler.java | 236 + .../ms/handlers/user/AttackHandler.java | 779 + .../ms/handlers/user/JobSkillHandler.java | 838 + .../ms/handlers/user/MacroHandler.java | 62 + .../ms/handlers/user/MigrationHandler.java | 465 + .../ms/handlers/user/SkillHandler.java | 994 + .../ms/handlers/user/UnionHandler.java | 139 + .../swordie/ms/handlers/user/UserHandler.java | 676 + .../ms/handlers/user/UserStatHandler.java | 433 + .../ms/handlers/user/ZeroUIHandler.java | 99 + .../net/swordie/ms/life/AffectedArea.java | 582 + .../java/net/swordie/ms/life/Android.java | 142 + .../java/net/swordie/ms/life/DeathType.java | 29 + src/main/java/net/swordie/ms/life/Dragon.java | 36 + .../java/net/swordie/ms/life/Familiar.java | 168 + .../net/swordie/ms/life/FieldAttackObj.java | 65 + src/main/java/net/swordie/ms/life/Life.java | 410 + .../java/net/swordie/ms/life/Reactor.java | 129 + src/main/java/net/swordie/ms/life/Summon.java | 558 + .../java/net/swordie/ms/life/Wreckage.java | 54 + .../java/net/swordie/ms/life/drop/Drop.java | 174 + .../net/swordie/ms/life/drop/DropInfo.java | 173 + .../net/swordie/ms/life/mob/EscortDest.java | 34 + .../swordie/ms/life/mob/ForcedMobStat.java | 147 + .../java/net/swordie/ms/life/mob/Mob.java | 2496 ++ .../java/net/swordie/ms/life/mob/MobStat.java | 231 + .../swordie/ms/life/mob/MobTemporaryStat.java | 722 + .../ms/life/mob/boss/demian/Demian.java | 36 + .../mob/boss/demian/stigma/DemianStigma.java | 104 + .../stigma/DemianStigmaIncinerateObject.java | 34 + .../demian/stigma/StigmaDeliveryType.java | 29 + .../boss/demian/sword/DemianFlyingSword.java | 87 + .../demian/sword/DemianFlyingSwordNode.java | 121 + .../sword/DemianFlyingSwordNodeType.java | 22 + .../demian/sword/DemianFlyingSwordPath.java | 137 + .../sword/DemianFlyingSwordPathIdx.java | 30 + .../demian/sword/DemianFlyingSwordType.java | 28 + .../swordie/ms/life/mob/skill/BurnedInfo.java | 202 + .../swordie/ms/life/mob/skill/MobSkill.java | 675 + .../swordie/ms/life/mob/skill/MobSkillID.java | 173 + .../ms/life/mob/skill/MobSkillStat.java | 65 + .../ms/life/mob/skill/ShootingMoveStat.java | 66 + .../ms/life/movement/MovePathAttribute.java | 108 + .../swordie/ms/life/movement/Movement.java | 41 + .../ms/life/movement/MovementAction.java | 41 + .../ms/life/movement/MovementAngle.java | 58 + .../ms/life/movement/MovementBase.java | 138 + .../ms/life/movement/MovementFlyingBlock.java | 52 + .../ms/life/movement/MovementInfo.java | 212 + .../ms/life/movement/MovementJump.java | 60 + .../ms/life/movement/MovementNew1.java | 45 + .../ms/life/movement/MovementNormal.java | 74 + .../ms/life/movement/MovementOffsetX.java | 44 + .../life/movement/MovementStartFallDown.java | 53 + .../ms/life/movement/MovementStatChange.java | 34 + .../ms/life/movement/MovementTeleport.java | 49 + .../java/net/swordie/ms/life/npc/Npc.java | 235 + .../swordie/ms/life/npc/NpcMessageType.java | 117 + .../swordie/ms/life/npc/NpcScriptInfo.java | 353 + .../net/swordie/ms/life/npc/ScreenInfo.java | 32 + .../java/net/swordie/ms/life/pet/Pet.java | 132 + .../net/swordie/ms/life/pet/PetSkill.java | 33 + .../swordie/ms/loaders/DatSerializable.java | 15 + .../net/swordie/ms/loaders/DataClasses.java | 37 + .../net/swordie/ms/loaders/DressingRoom.java | 197 + .../java/net/swordie/ms/loaders/DropData.java | 132 + .../net/swordie/ms/loaders/EffectData.java | 94 + .../java/net/swordie/ms/loaders/EtcData.java | 285 + .../net/swordie/ms/loaders/FieldData.java | 841 + .../java/net/swordie/ms/loaders/ItemData.java | 2134 ++ .../java/net/swordie/ms/loaders/MobData.java | 1048 + .../ms/loaders/MonsterCollectionData.java | 117 + .../java/net/swordie/ms/loaders/NpcData.java | 183 + .../net/swordie/ms/loaders/QuestData.java | 748 + .../net/swordie/ms/loaders/ReactorData.java | 232 + .../net/swordie/ms/loaders/SkillData.java | 1320 ++ .../net/swordie/ms/loaders/StringData.java | 671 + .../net/swordie/ms/loaders/StyleRoom.java | 181 + .../net/swordie/ms/loaders/VCoreData.java | 299 + .../loaders/containerclasses/AndroidInfo.java | 47 + .../ms/loaders/containerclasses/Cosmetic.java | 19 + .../loaders/containerclasses/EquipDrop.java | 46 + .../ms/loaders/containerclasses/ItemInfo.java | 338 + .../containerclasses/ItemRewardInfo.java | 53 + .../ms/loaders/containerclasses/ItemSet.java | 75 + .../containerclasses/MakingSkillRecipe.java | 356 + .../containerclasses/MobSkillInfo.java | 148 + .../MonsterCollectionGroupRewardInfo.java | 63 + .../MonsterCollectionMobInfo.java | 69 + .../MonsterCollectionSessionRewardInfo.java | 54 + .../ms/loaders/containerclasses/PetInfo.java | 381 + .../loaders/containerclasses/QuestInfo.java | 303 + .../loaders/containerclasses/ReactorInfo.java | 187 + .../containerclasses/SkillStringInfo.java | 49 + .../loaders/containerclasses/VCoreInfo.java | 123 + .../loaders/containerclasses/VNodeInfo.java | 35 + .../swordie/ms/scripts/FieldTransferInfo.java | 97 + .../net/swordie/ms/scripts/ScriptInfo.java | 136 + .../net/swordie/ms/scripts/ScriptManager.java | 1671 ++ .../swordie/ms/scripts/ScriptManagerImpl.java | 3531 +++ .../net/swordie/ms/scripts/ScriptMemory.java | 86 + .../net/swordie/ms/scripts/ScriptType.java | 26 + .../ms/scripts/scriptMaker/ScriptMaker.java | 593 + .../scriptMaker/ScriptPacketParser.java | 983 + .../java/net/swordie/ms/util/AntiMacro.java | 113 + .../java/net/swordie/ms/util/FileTime.java | 318 + .../net/swordie/ms/util/FileoutputUtil.java | 245 + .../java/net/swordie/ms/util/HeapDumper.java | 80 + .../net/swordie/ms/util/IntegerValue.java | 40 + src/main/java/net/swordie/ms/util/Loader.java | 16 + .../net/swordie/ms/util/MetaProgramming.java | 371 + .../java/net/swordie/ms/util/Position.java | 73 + .../java/net/swordie/ms/util/Randomizer.java | 58 + src/main/java/net/swordie/ms/util/Rect.java | 198 + src/main/java/net/swordie/ms/util/Saver.java | 16 + .../swordie/ms/util/SharkPropertyMaker.java | 44 + .../java/net/swordie/ms/util/StringUtil.java | 213 + .../java/net/swordie/ms/util/SystemTime.java | 50 + src/main/java/net/swordie/ms/util/Util.java | 550 + src/main/java/net/swordie/ms/util/XMLApi.java | 165 + .../net/swordie/ms/util/container/Triple.java | 43 + .../net/swordie/ms/util/container/Tuple.java | 46 + .../net/swordie/ms/util/dsl/SWEntity.java | 43 + .../net/swordie/ms/util/dsl/SWParser.java | 70 + .../java/net/swordie/ms/world/Channel.java | 181 + src/main/java/net/swordie/ms/world/World.java | 422 + .../swordie/ms/world/auction/AuctionEnum.java | 12 + .../ms/world/auction/AuctionInvType.java | 81 + .../swordie/ms/world/auction/AuctionItem.java | 353 + .../ms/world/auction/AuctionPotType.java | 43 + .../ms/world/auction/AuctionResult.java | 206 + .../swordie/ms/world/auction/AuctionType.java | 57 + .../world/auction/armor/AuctionAccType.java | 69 + .../auction/armor/AuctionArmorFirstType.java | 52 + .../world/auction/armor/AuctionArmorType.java | 53 + .../auction/armor/AuctionEtcArmorType.java | 56 + .../world/auction/cash/AuctionBeautyType.java | 31 + .../world/auction/cash/AuctionBoostType.java | 28 + .../auction/cash/AuctionCashEtcType.java | 25 + .../world/auction/cash/AuctionCashType.java | 49 + .../world/auction/cash/AuctionGameType.java | 30 + .../world/auction/cash/AuctionLabelType.java | 26 + .../world/auction/cash/AuctionOutfitType.java | 40 + .../ms/world/auction/cash/AuctionPetType.java | 31 + .../world/auction/etc/AuctionChairType.java | 27 + .../ms/world/auction/etc/AuctionEtcType.java | 38 + .../auction/etc/AuctionProfessionType.java | 27 + .../world/auction/use/AuctionAlchemyType.java | 29 + .../auction/use/AuctionConsumeEtcType.java | 29 + .../world/auction/use/AuctionRecipeType.java | 29 + .../auction/use/AuctionRecoveryType.java | 28 + .../world/auction/use/AuctionScrollType.java | 33 + .../auction/use/AuctionSkillBookType.java | 26 + .../ms/world/auction/use/AuctionUseType.java | 69 + .../weapon/AuctionOneHandedWeaponType.java | 96 + .../auction/weapon/AuctionSecondaryType.java | 112 + .../weapon/AuctionTwoHandedWeaponType.java | 92 + .../weapon/AuctionWeaponFirstType.java | 40 + .../net/swordie/ms/world/event/BossType.java | 138 + .../net/swordie/ms/world/field/Clock.java | 165 + .../swordie/ms/world/field/ClockPacket.java | 132 + .../net/swordie/ms/world/field/Field.java | 1927 ++ .../swordie/ms/world/field/FieldCustom.java | 42 + .../ms/world/field/FieldInstanceType.java | 11 + .../net/swordie/ms/world/field/Foothold.java | 184 + .../net/swordie/ms/world/field/Instance.java | 369 + .../ms/world/field/MapTaggedObject.java | 66 + .../net/swordie/ms/world/field/MobGen.java | 90 + .../net/swordie/ms/world/field/Portal.java | 153 + .../swordie/ms/world/field/PortalType.java | 41 + .../field/bosses/gollux/FallingCatcher.java | 50 + .../gollux/GolluxMiniMapFieldClearType.java | 24 + .../world/field/bosses/lucid/Butterfly.java | 34 + .../bosses/lucid/ButterflyActionType.java | 23 + .../field/bosses/lucid/ButterflyType.java | 28 + .../world/field/bosses/lucid/FairyDust.java | 49 + .../field/bosses/lucid/LucidSkillType.java | 36 + .../world/field/fieldeffect/FieldEffect.java | 463 + .../field/fieldeffect/FieldEffectType.java | 59 + .../field/fieldeffect/GreyFieldType.java | 26 + .../field/obtacleatom/ObtacleAtomInfo.java | 205 + .../obtacleatom/ObtacleDiagonalInfo.java | 73 + .../field/obtacleatom/ObtacleInRowInfo.java | 84 + .../field/obtacleatom/ObtacleRadianInfo.java | 74 + .../ms/world/gach/GachaponConstants.java | 122 + .../swordie/ms/world/gach/GachaponInfo.java | 53 + .../ms/world/gach/GachaponManager.java | 45 + .../ms/world/gach/result/GachaponDlgType.java | 19 + .../ms/world/gach/result/GachaponResult.java | 25 + .../swordie/ms/world/shop/BuyLimitInfo.java | 46 + .../net/swordie/ms/world/shop/NpcShopDlg.java | 121 + .../swordie/ms/world/shop/NpcShopItem.java | 443 + .../ms/world/shop/ShopRequestType.java | 28 + .../swordie/ms/world/shop/ShopTabIndex.java | 35 + .../ms/world/shop/cashshop/CashItemInfo.java | 239 + .../ms/world/shop/cashshop/CashShop.java | 282 + .../world/shop/cashshop/CashShopCategory.java | 115 + .../ms/world/shop/cashshop/CashShopItem.java | 501 + .../ms/world/shop/result/ShopResult.java | 90 + .../ms/world/shop/result/ShopResultType.java | 107 + src/main/resources/decodeforlocal.txt | 0 src/main/resources/headerText.txt | 72 + src/main/resources/ins.txt | 1469 ++ 6248 files changed, 314336 insertions(+) create mode 100755 .gitignore create mode 100755 .idea/.gitignore create mode 100755 .idea/.name create mode 100755 .idea/compiler.xml create mode 100755 .idea/encodings.xml create mode 100755 .idea/jarRepositories.xml create mode 100755 .idea/misc.xml create mode 100755 .idea/modules.xml create mode 100755 .idea/vcs.xml create mode 100755 Chat.txt create mode 100755 Dockerfile create mode 100755 ErrorCodes.txt create mode 100755 LICENSE.md create mode 100755 README.md create mode 100755 bin/classes/hibernate.cfg.xml create mode 100755 bin/classes/log4j.properties create mode 100755 bin/classes/net/swordie/ms/Server$ShutDownTask.class create mode 100755 bin/classes/net/swordie/ms/Server.class create mode 100755 bin/classes/net/swordie/ms/ServerConfig.class create mode 100755 bin/classes/net/swordie/ms/ServerConstants.class create mode 100755 bin/classes/net/swordie/ms/ServerStatus.class create mode 100755 bin/classes/net/swordie/ms/client/Account.class create mode 100755 bin/classes/net/swordie/ms/client/Client.class create mode 100755 bin/classes/net/swordie/ms/client/LinkSkill.class create mode 100755 bin/classes/net/swordie/ms/client/User.class create mode 100755 bin/classes/net/swordie/ms/client/alliance/Alliance.class create mode 100755 bin/classes/net/swordie/ms/client/alliance/AllianceResult$1.class create mode 100755 bin/classes/net/swordie/ms/client/alliance/AllianceResult.class create mode 100755 bin/classes/net/swordie/ms/client/anticheat/Offense$Type.class create mode 100755 bin/classes/net/swordie/ms/client/anticheat/Offense.class create mode 100755 bin/classes/net/swordie/ms/client/anticheat/OffenseManager.class create mode 100755 bin/classes/net/swordie/ms/client/character/BroadcastMsg$1.class create mode 100755 bin/classes/net/swordie/ms/client/character/BroadcastMsg.class create mode 100755 bin/classes/net/swordie/ms/client/character/Char$1.class create mode 100755 bin/classes/net/swordie/ms/client/character/Char.class create mode 100755 bin/classes/net/swordie/ms/client/character/CharacterStat.class create mode 100755 bin/classes/net/swordie/ms/client/character/CoupleRecord.class create mode 100755 bin/classes/net/swordie/ms/client/character/EventCoolDown.class create mode 100755 bin/classes/net/swordie/ms/client/character/ExtendSP.class create mode 100755 bin/classes/net/swordie/ms/client/character/FarmPotential.class create mode 100755 bin/classes/net/swordie/ms/client/character/HyperTPRock.class create mode 100755 bin/classes/net/swordie/ms/client/character/ItemPot.class create mode 100755 bin/classes/net/swordie/ms/client/character/LikePoint.class create mode 100755 bin/classes/net/swordie/ms/client/character/Macro.class create mode 100755 bin/classes/net/swordie/ms/client/character/MarriageRecord.class create mode 100755 bin/classes/net/swordie/ms/client/character/MiniGameRecord.class create mode 100755 bin/classes/net/swordie/ms/client/character/MiniRoom.class create mode 100755 bin/classes/net/swordie/ms/client/character/MonsterCollection.class create mode 100755 bin/classes/net/swordie/ms/client/character/MonsterCollectionExploration.class create mode 100755 bin/classes/net/swordie/ms/client/character/MonsterCollectionReward.class create mode 100755 bin/classes/net/swordie/ms/client/character/MonsterPark.class create mode 100755 bin/classes/net/swordie/ms/client/character/NonCombatStatDayLimit.class create mode 100755 bin/classes/net/swordie/ms/client/character/PortableChair.class create mode 100755 bin/classes/net/swordie/ms/client/character/Ranking.class create mode 100755 bin/classes/net/swordie/ms/client/character/RunnerGameRecord.class create mode 100755 bin/classes/net/swordie/ms/client/character/SPSet.class create mode 100755 bin/classes/net/swordie/ms/client/character/TradeRoom.class create mode 100755 bin/classes/net/swordie/ms/client/character/avatar/AvatarData.class create mode 100755 bin/classes/net/swordie/ms/client/character/avatar/AvatarLook.class create mode 100755 bin/classes/net/swordie/ms/client/character/avatar/BeautyAlbum.class create mode 100755 bin/classes/net/swordie/ms/client/character/b2body/B2Body.class create mode 100755 bin/classes/net/swordie/ms/client/character/cards/CharacterCard.class create mode 100755 bin/classes/net/swordie/ms/client/character/cards/MonsterBookInfo.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommand.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$AmountOnline.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$Ap.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$ArcherEquips.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$Atom.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$Ban.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$BannerNotice.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$BossCd.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$BroadcastMessage.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$BypassSkillCD.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$CheckGift.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$CheckId.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$CheckNXValue.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$ChrPosition.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$ClearDrops.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$ClearInv.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$CloseUI.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$CompleteQuest.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$CtsCom.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$CurrentHp.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$CurrentMp.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$DebugMode.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$Dispose.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$Done.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$DpCommand.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$DropItem.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$EnterSkillInfoMode.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$EquipInfo.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$FindPlayer.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$FindPortal.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$ForceChase.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$FromHex.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$FromHexBE.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$GetItem.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$GetNPCs.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$GetPhantomStolenSkills.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$GetProjectiles.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$GetSkill.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$GiftBox.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$GoTo.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$Godmode.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$Heal.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$Help.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$Hide.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$Hp.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$HyperTP.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$Job.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$KillMobs.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$LD.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$Level.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$LevelUntil.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$LookUpReactor.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$Lookup.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$MageEquips.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$MaxSkills.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$Mesos.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$MobController.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$MobInfo.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$MobStatTest.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$Morph.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$Mount.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$Mp.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$NPC.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$NearestPortal.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$NpcInfo.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$NxCommand.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$OpenUI.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$PNPC.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$PirateEquips.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$Players.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$ProItem.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$ReloadCS.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$RemoteEnterFieldTest.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$RemoveDrops.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$RemoveGift.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$RemoveQuest.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$RotateCamera.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$SaveMap.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$SendQRValue.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$SetArcaneForce.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$SetBonusPotential.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$SetController.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$SetCurrentHp.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$SetCurrentMp.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$SetDamageSkin.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$SetFlame.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$SetFlames.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$SetGuildStat.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$SetHonor.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$SetMap.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$SetPortal.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$SetPotential.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$SetStat.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$Shop.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$ShowBuffs.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$ShowDamageCalc.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$ShowFootholds.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$ShowInvInfo.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$Sp.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$Spawn.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$StarForceEquip.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$StartQuest.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$StartScriptTest.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$Stats.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$StealSkillList.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$Teleport.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$TestAffectedArea.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$TestCTS.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$TestDrop.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$TestGift.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$TestPacket.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$TestParty.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$TestTempStat.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$ThiefEquips.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$ToHex.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$ToggleDamageCap.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$UseBonusSkill.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$UseRandAreaSkill.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$V.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$VpCommand.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$WarpHere.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$WarpToPlayer.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$WarriorEquips.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$dc.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$giveNx.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$givedp.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$maplepoints.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$maxskills2.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands$setPierce.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/AdminCommands.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/Command.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/ICommand.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/PlayerCommand.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/PlayerCommands$FifthJob.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/PlayerCommands$Help.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/PlayerCommands$Instance.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/PlayerCommands$MobInfo.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/PlayerCommands$OpenNodestone.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/PlayerCommands$SellItem.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/PlayerCommands$check.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/PlayerCommands$jobAdvance.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/PlayerCommands$marvel.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/PlayerCommands$save.class create mode 100755 bin/classes/net/swordie/ms/client/character/commands/PlayerCommands.class create mode 100755 bin/classes/net/swordie/ms/client/character/damage/DamageCalc$1.class create mode 100755 bin/classes/net/swordie/ms/client/character/damage/DamageCalc.class create mode 100755 bin/classes/net/swordie/ms/client/character/damage/DamageSkinSaveData.class create mode 100755 bin/classes/net/swordie/ms/client/character/damage/DamageSkinType.class create mode 100755 bin/classes/net/swordie/ms/client/character/damage/Rand32.class create mode 100755 bin/classes/net/swordie/ms/client/character/info/ExpIncreaseInfo.class create mode 100755 bin/classes/net/swordie/ms/client/character/info/FarmUserInfo.class create mode 100755 bin/classes/net/swordie/ms/client/character/info/FreezeHotEventInfo.class create mode 100755 bin/classes/net/swordie/ms/client/character/info/HitInfo.class create mode 100755 bin/classes/net/swordie/ms/client/character/info/ZeroInfo.class create mode 100755 bin/classes/net/swordie/ms/client/character/items/BodyPart.class create mode 100755 bin/classes/net/swordie/ms/client/character/items/BossSoul.class create mode 100755 bin/classes/net/swordie/ms/client/character/items/DressUpInfo.class create mode 100755 bin/classes/net/swordie/ms/client/character/items/Equip$1.class create mode 100755 bin/classes/net/swordie/ms/client/character/items/Equip.class create mode 100755 bin/classes/net/swordie/ms/client/character/items/EquipAttribute.class create mode 100755 bin/classes/net/swordie/ms/client/character/items/EquipPrefix.class create mode 100755 bin/classes/net/swordie/ms/client/character/items/EquipSpecialAttribute.class create mode 100755 bin/classes/net/swordie/ms/client/character/items/ExpConsumeItem.class create mode 100755 bin/classes/net/swordie/ms/client/character/items/HotTimeReward.class create mode 100755 bin/classes/net/swordie/ms/client/character/items/Inventory.class create mode 100755 bin/classes/net/swordie/ms/client/character/items/Item$Type.class create mode 100755 bin/classes/net/swordie/ms/client/character/items/Item.class create mode 100755 bin/classes/net/swordie/ms/client/character/items/ItemBuffs$1.class create mode 100755 bin/classes/net/swordie/ms/client/character/items/ItemBuffs.class create mode 100755 bin/classes/net/swordie/ms/client/character/items/ItemOption$ItemOptionType.class create mode 100755 bin/classes/net/swordie/ms/client/character/items/ItemOption.class create mode 100755 bin/classes/net/swordie/ms/client/character/items/ItemPotSlot.class create mode 100755 bin/classes/net/swordie/ms/client/character/items/ItemSkill.class create mode 100755 bin/classes/net/swordie/ms/client/character/items/ItemState.class create mode 100755 bin/classes/net/swordie/ms/client/character/items/MemorialCubeInfo.class create mode 100755 bin/classes/net/swordie/ms/client/character/items/PetItem.class create mode 100755 bin/classes/net/swordie/ms/client/character/items/RequiredJob.class create mode 100755 bin/classes/net/swordie/ms/client/character/items/ScrollUpgradeInfo$1.class create mode 100755 bin/classes/net/swordie/ms/client/character/items/ScrollUpgradeInfo.class create mode 100755 bin/classes/net/swordie/ms/client/character/keys/FuncKeyMap.class create mode 100755 bin/classes/net/swordie/ms/client/character/keys/Keymapping.class create mode 100755 bin/classes/net/swordie/ms/client/character/monsterbattle/MonsterBattleLadder.class create mode 100755 bin/classes/net/swordie/ms/client/character/monsterbattle/MonsterBattleMobInfo.class create mode 100755 bin/classes/net/swordie/ms/client/character/monsterbattle/MonsterBattleRankInfo.class create mode 100755 bin/classes/net/swordie/ms/client/character/potential/CharacterPotential.class create mode 100755 bin/classes/net/swordie/ms/client/character/potential/CharacterPotentialMan.class create mode 100755 bin/classes/net/swordie/ms/client/character/quest/Quest.class create mode 100755 bin/classes/net/swordie/ms/client/character/quest/QuestEx.class create mode 100755 bin/classes/net/swordie/ms/client/character/quest/QuestManager.class create mode 100755 bin/classes/net/swordie/ms/client/character/quest/progress/QuestProgressItemRequirement.class create mode 100755 bin/classes/net/swordie/ms/client/character/quest/progress/QuestProgressLevelRequirement.class create mode 100755 bin/classes/net/swordie/ms/client/character/quest/progress/QuestProgressMobRequirement.class create mode 100755 bin/classes/net/swordie/ms/client/character/quest/progress/QuestProgressMoneyRequirement.class create mode 100755 bin/classes/net/swordie/ms/client/character/quest/progress/QuestProgressRequirement.class create mode 100755 bin/classes/net/swordie/ms/client/character/quest/progress/QuestProgressRequirementType$1.class create mode 100755 bin/classes/net/swordie/ms/client/character/quest/progress/QuestProgressRequirementType.class create mode 100755 bin/classes/net/swordie/ms/client/character/quest/progress/QuestValueRequirement.class create mode 100755 bin/classes/net/swordie/ms/client/character/quest/requirement/QuestStartCompletionRequirement.class create mode 100755 bin/classes/net/swordie/ms/client/character/quest/requirement/QuestStartItemRequirement.class create mode 100755 bin/classes/net/swordie/ms/client/character/quest/requirement/QuestStartJobRequirement.class create mode 100755 bin/classes/net/swordie/ms/client/character/quest/requirement/QuestStartMarriageRequirement.class create mode 100755 bin/classes/net/swordie/ms/client/character/quest/requirement/QuestStartMaxLevelRequirement.class create mode 100755 bin/classes/net/swordie/ms/client/character/quest/requirement/QuestStartMinStatRequirement.class create mode 100755 bin/classes/net/swordie/ms/client/character/quest/requirement/QuestStartRequirement.class create mode 100755 bin/classes/net/swordie/ms/client/character/quest/requirement/QuestStartRequirementType$1.class create mode 100755 bin/classes/net/swordie/ms/client/character/quest/requirement/QuestStartRequirementType.class create mode 100755 bin/classes/net/swordie/ms/client/character/quest/reward/QuestBuffItemReward.class create mode 100755 bin/classes/net/swordie/ms/client/character/quest/reward/QuestExpReward.class create mode 100755 bin/classes/net/swordie/ms/client/character/quest/reward/QuestItemReward.class create mode 100755 bin/classes/net/swordie/ms/client/character/quest/reward/QuestMoneyReward.class create mode 100755 bin/classes/net/swordie/ms/client/character/quest/reward/QuestPopReward.class create mode 100755 bin/classes/net/swordie/ms/client/character/quest/reward/QuestReward.class create mode 100755 bin/classes/net/swordie/ms/client/character/quest/reward/QuestRewardType$1.class create mode 100755 bin/classes/net/swordie/ms/client/character/quest/reward/QuestRewardType.class create mode 100755 bin/classes/net/swordie/ms/client/character/runestones/RuneStone$1.class create mode 100755 bin/classes/net/swordie/ms/client/character/runestones/RuneStone$EventType.class create mode 100755 bin/classes/net/swordie/ms/client/character/runestones/RuneStone.class create mode 100755 bin/classes/net/swordie/ms/client/character/runestones/RuneStoneAckType.class create mode 100755 bin/classes/net/swordie/ms/client/character/scene/EffectInfo.class create mode 100755 bin/classes/net/swordie/ms/client/character/scene/Scene$1.class create mode 100755 bin/classes/net/swordie/ms/client/character/scene/Scene.class create mode 100755 bin/classes/net/swordie/ms/client/character/skills/ChosenSkill.class create mode 100755 bin/classes/net/swordie/ms/client/character/skills/Core.class create mode 100755 bin/classes/net/swordie/ms/client/character/skills/ForceAtom$1.class create mode 100755 bin/classes/net/swordie/ms/client/character/skills/ForceAtom.class create mode 100755 bin/classes/net/swordie/ms/client/character/skills/GuidedBullet.class create mode 100755 bin/classes/net/swordie/ms/client/character/skills/LarknessManager$LarknessType.class create mode 100755 bin/classes/net/swordie/ms/client/character/skills/LarknessManager.class create mode 100755 bin/classes/net/swordie/ms/client/character/skills/MatrixRecord.class create mode 100755 bin/classes/net/swordie/ms/client/character/skills/Option.class create mode 100755 bin/classes/net/swordie/ms/client/character/skills/PartyBooster.class create mode 100755 bin/classes/net/swordie/ms/client/character/skills/ProcessType.class create mode 100755 bin/classes/net/swordie/ms/client/character/skills/PsychicArea.class create mode 100755 bin/classes/net/swordie/ms/client/character/skills/PsychicLockBall.class create mode 100755 bin/classes/net/swordie/ms/client/character/skills/ShootObject.class create mode 100755 bin/classes/net/swordie/ms/client/character/skills/Skill.class create mode 100755 bin/classes/net/swordie/ms/client/character/skills/SkillStat$1.class create mode 100755 bin/classes/net/swordie/ms/client/character/skills/SkillStat.class create mode 100755 bin/classes/net/swordie/ms/client/character/skills/StolenSkill.class create mode 100755 bin/classes/net/swordie/ms/client/character/skills/StopForceAtom.class create mode 100755 bin/classes/net/swordie/ms/client/character/skills/TownPortal.class create mode 100755 bin/classes/net/swordie/ms/client/character/skills/info/AttackInfo.class create mode 100755 bin/classes/net/swordie/ms/client/character/skills/info/ForceAtomInfo.class create mode 100755 bin/classes/net/swordie/ms/client/character/skills/info/MobAttackInfo.class create mode 100755 bin/classes/net/swordie/ms/client/character/skills/info/SkillInfo$1.class create mode 100755 bin/classes/net/swordie/ms/client/character/skills/info/SkillInfo.class create mode 100755 bin/classes/net/swordie/ms/client/character/skills/info/SkillUseInfo.class create mode 100755 bin/classes/net/swordie/ms/client/character/skills/info/ToBaseStat.class create mode 100755 bin/classes/net/swordie/ms/client/character/skills/temp/CharacterTemporaryStat$1.class create mode 100755 bin/classes/net/swordie/ms/client/character/skills/temp/CharacterTemporaryStat.class create mode 100755 bin/classes/net/swordie/ms/client/character/skills/temp/TemporaryStatBase.class create mode 100755 bin/classes/net/swordie/ms/client/character/skills/temp/TemporaryStatManager$1.class create mode 100755 bin/classes/net/swordie/ms/client/character/skills/temp/TemporaryStatManager.class create mode 100755 bin/classes/net/swordie/ms/client/character/skills/temp/TwoStateTemporaryStat.class create mode 100755 bin/classes/net/swordie/ms/client/character/union/Union.class create mode 100755 bin/classes/net/swordie/ms/client/character/union/UnionBoard.class create mode 100755 bin/classes/net/swordie/ms/client/character/union/UnionMember.class create mode 100755 bin/classes/net/swordie/ms/client/friend/Friend.class create mode 100755 bin/classes/net/swordie/ms/client/friend/FriendFlag.class create mode 100755 bin/classes/net/swordie/ms/client/friend/FriendRecord.class create mode 100755 bin/classes/net/swordie/ms/client/friend/FriendType.class create mode 100755 bin/classes/net/swordie/ms/client/friend/FriendshipRingRecord.class create mode 100755 bin/classes/net/swordie/ms/client/friend/result/FriendResult$1.class create mode 100755 bin/classes/net/swordie/ms/client/friend/result/FriendResult.class create mode 100755 bin/classes/net/swordie/ms/client/guild/Guild.class create mode 100755 bin/classes/net/swordie/ms/client/guild/GuildMember.class create mode 100755 bin/classes/net/swordie/ms/client/guild/GuildRequestor.class create mode 100755 bin/classes/net/swordie/ms/client/guild/GuildSkill.class create mode 100755 bin/classes/net/swordie/ms/client/guild/bbs/BBSRecord.class create mode 100755 bin/classes/net/swordie/ms/client/guild/bbs/BBSReply.class create mode 100755 bin/classes/net/swordie/ms/client/guild/bbs/GuildBBSPacket$1.class create mode 100755 bin/classes/net/swordie/ms/client/guild/bbs/GuildBBSPacket.class create mode 100755 bin/classes/net/swordie/ms/client/guild/bbs/GuildBBSType.class create mode 100755 bin/classes/net/swordie/ms/client/guild/result/GuildResult$1.class create mode 100755 bin/classes/net/swordie/ms/client/guild/result/GuildResult.class create mode 100755 bin/classes/net/swordie/ms/client/guild/result/GuildType.class create mode 100755 bin/classes/net/swordie/ms/client/jobs/Job$1.class create mode 100755 bin/classes/net/swordie/ms/client/jobs/Job$2.class create mode 100755 bin/classes/net/swordie/ms/client/jobs/Job.class create mode 100755 bin/classes/net/swordie/ms/client/jobs/JobManager.class create mode 100755 bin/classes/net/swordie/ms/client/jobs/Zero.class create mode 100755 bin/classes/net/swordie/ms/client/jobs/adventurer/BeastTamer$1.class create mode 100755 bin/classes/net/swordie/ms/client/jobs/adventurer/BeastTamer.class create mode 100755 bin/classes/net/swordie/ms/client/jobs/adventurer/Beginner.class create mode 100755 bin/classes/net/swordie/ms/client/jobs/adventurer/Kinesis.class create mode 100755 bin/classes/net/swordie/ms/client/jobs/adventurer/PinkBean.class create mode 100755 bin/classes/net/swordie/ms/client/jobs/adventurer/archer/Archer.class create mode 100755 bin/classes/net/swordie/ms/client/jobs/adventurer/archer/BowMaster$QCType.class create mode 100755 bin/classes/net/swordie/ms/client/jobs/adventurer/archer/BowMaster$QuiverCartridge.class create mode 100755 bin/classes/net/swordie/ms/client/jobs/adventurer/archer/BowMaster.class create mode 100755 bin/classes/net/swordie/ms/client/jobs/adventurer/archer/Marksman.class create mode 100755 bin/classes/net/swordie/ms/client/jobs/adventurer/archer/Pathfinder$1.class create mode 100755 bin/classes/net/swordie/ms/client/jobs/adventurer/archer/Pathfinder$EmblemType.class create mode 100755 bin/classes/net/swordie/ms/client/jobs/adventurer/archer/Pathfinder.class create mode 100755 bin/classes/net/swordie/ms/client/jobs/adventurer/magician/Bishop$1.class create mode 100755 bin/classes/net/swordie/ms/client/jobs/adventurer/magician/Bishop.class create mode 100755 bin/classes/net/swordie/ms/client/jobs/adventurer/magician/FirePoison$1.class create mode 100755 bin/classes/net/swordie/ms/client/jobs/adventurer/magician/FirePoison.class create mode 100755 bin/classes/net/swordie/ms/client/jobs/adventurer/magician/IceLightning$1.class create mode 100755 bin/classes/net/swordie/ms/client/jobs/adventurer/magician/IceLightning.class create mode 100755 bin/classes/net/swordie/ms/client/jobs/adventurer/magician/Magician.class create mode 100755 bin/classes/net/swordie/ms/client/jobs/adventurer/pirate/Buccaneer.class create mode 100755 bin/classes/net/swordie/ms/client/jobs/adventurer/pirate/Cannonneer$1.class create mode 100755 bin/classes/net/swordie/ms/client/jobs/adventurer/pirate/Cannonneer.class create mode 100755 bin/classes/net/swordie/ms/client/jobs/adventurer/pirate/Corsair.class create mode 100755 bin/classes/net/swordie/ms/client/jobs/adventurer/pirate/Jett$1.class create mode 100755 bin/classes/net/swordie/ms/client/jobs/adventurer/pirate/Jett.class create mode 100755 bin/classes/net/swordie/ms/client/jobs/adventurer/pirate/Pirate.class create mode 100755 bin/classes/net/swordie/ms/client/jobs/adventurer/thief/BladeMaster.class create mode 100755 bin/classes/net/swordie/ms/client/jobs/adventurer/thief/NightLord.class create mode 100755 bin/classes/net/swordie/ms/client/jobs/adventurer/thief/Shadower.class create mode 100755 bin/classes/net/swordie/ms/client/jobs/adventurer/thief/Thief.class create mode 100755 bin/classes/net/swordie/ms/client/jobs/adventurer/warrior/DarkKnight.class create mode 100755 bin/classes/net/swordie/ms/client/jobs/adventurer/warrior/Hero.class create mode 100755 bin/classes/net/swordie/ms/client/jobs/adventurer/warrior/Paladin$1.class create mode 100755 bin/classes/net/swordie/ms/client/jobs/adventurer/warrior/Paladin.class create mode 100755 bin/classes/net/swordie/ms/client/jobs/adventurer/warrior/Warrior.class create mode 100755 bin/classes/net/swordie/ms/client/jobs/cygnus/BlazeWizard.class create mode 100755 bin/classes/net/swordie/ms/client/jobs/cygnus/DawnWarrior.class create mode 100755 bin/classes/net/swordie/ms/client/jobs/cygnus/Mihile$1.class create mode 100755 bin/classes/net/swordie/ms/client/jobs/cygnus/Mihile.class create mode 100755 bin/classes/net/swordie/ms/client/jobs/cygnus/NightWalker.class create mode 100755 bin/classes/net/swordie/ms/client/jobs/cygnus/Noblesse.class create mode 100755 bin/classes/net/swordie/ms/client/jobs/cygnus/ThunderBreaker.class create mode 100755 bin/classes/net/swordie/ms/client/jobs/cygnus/WindArcher.class create mode 100755 bin/classes/net/swordie/ms/client/jobs/flora/Ark$1.class create mode 100755 bin/classes/net/swordie/ms/client/jobs/flora/Ark$2.class create mode 100755 bin/classes/net/swordie/ms/client/jobs/flora/Ark$SpellChargeType.class create mode 100755 bin/classes/net/swordie/ms/client/jobs/flora/Ark.class create mode 100755 bin/classes/net/swordie/ms/client/jobs/flora/Illium$1.class create mode 100755 bin/classes/net/swordie/ms/client/jobs/flora/Illium.class create mode 100755 bin/classes/net/swordie/ms/client/jobs/legend/Aran.class create mode 100755 bin/classes/net/swordie/ms/client/jobs/legend/Evan.class create mode 100755 bin/classes/net/swordie/ms/client/jobs/legend/Legend.class create mode 100755 bin/classes/net/swordie/ms/client/jobs/legend/Luminous.class create mode 100755 bin/classes/net/swordie/ms/client/jobs/legend/Mercedes.class create mode 100755 bin/classes/net/swordie/ms/client/jobs/legend/Phantom$1.class create mode 100755 bin/classes/net/swordie/ms/client/jobs/legend/Phantom.class create mode 100755 bin/classes/net/swordie/ms/client/jobs/legend/Shade.class create mode 100755 bin/classes/net/swordie/ms/client/jobs/nova/AngelicBuster$MightMascotSkillTypes.class create mode 100755 bin/classes/net/swordie/ms/client/jobs/nova/AngelicBuster.class create mode 100755 bin/classes/net/swordie/ms/client/jobs/nova/Cadena.class create mode 100755 bin/classes/net/swordie/ms/client/jobs/nova/Kaiser.class create mode 100755 bin/classes/net/swordie/ms/client/jobs/resistance/BattleMage.class create mode 100755 bin/classes/net/swordie/ms/client/jobs/resistance/Blaster.class create mode 100755 bin/classes/net/swordie/ms/client/jobs/resistance/Citizen.class create mode 100755 bin/classes/net/swordie/ms/client/jobs/resistance/Mechanic.class create mode 100755 bin/classes/net/swordie/ms/client/jobs/resistance/OpenGate.class create mode 100755 bin/classes/net/swordie/ms/client/jobs/resistance/WildHunter.class create mode 100755 bin/classes/net/swordie/ms/client/jobs/resistance/WildHunterInfo.class create mode 100755 bin/classes/net/swordie/ms/client/jobs/resistance/Xenon.class create mode 100755 bin/classes/net/swordie/ms/client/jobs/resistance/demon/Demon.class create mode 100755 bin/classes/net/swordie/ms/client/jobs/resistance/demon/DemonAvenger.class create mode 100755 bin/classes/net/swordie/ms/client/jobs/resistance/demon/DemonSlayer.class create mode 100755 bin/classes/net/swordie/ms/client/jobs/sengoku/Hayato.class create mode 100755 bin/classes/net/swordie/ms/client/jobs/sengoku/Kanna.class create mode 100755 bin/classes/net/swordie/ms/client/party/Party.class create mode 100755 bin/classes/net/swordie/ms/client/party/PartyDamageInfo.class create mode 100755 bin/classes/net/swordie/ms/client/party/PartyMember.class create mode 100755 bin/classes/net/swordie/ms/client/party/PartyResult$1.class create mode 100755 bin/classes/net/swordie/ms/client/party/PartyResult.class create mode 100755 bin/classes/net/swordie/ms/client/party/PartyType.class create mode 100755 bin/classes/net/swordie/ms/client/party/TownPortal.class create mode 100755 bin/classes/net/swordie/ms/client/trunk/Trunk.class create mode 100755 bin/classes/net/swordie/ms/client/trunk/TrunkDlg.class create mode 100755 bin/classes/net/swordie/ms/client/trunk/TrunkMsg.class create mode 100755 bin/classes/net/swordie/ms/client/trunk/TrunkOpen.class create mode 100755 bin/classes/net/swordie/ms/client/trunk/TrunkType.class create mode 100755 bin/classes/net/swordie/ms/client/trunk/TrunkUpdate.class create mode 100755 bin/classes/net/swordie/ms/connection/ByteBufOutPacket.class create mode 100755 bin/classes/net/swordie/ms/connection/Encodable.class create mode 100755 bin/classes/net/swordie/ms/connection/InPacket.class create mode 100755 bin/classes/net/swordie/ms/connection/OutPacket.class create mode 100755 bin/classes/net/swordie/ms/connection/Packet.class create mode 100755 bin/classes/net/swordie/ms/connection/api/ApiAcceptor$1.class create mode 100755 bin/classes/net/swordie/ms/connection/api/ApiAcceptor.class create mode 100755 bin/classes/net/swordie/ms/connection/api/ApiDecoder.class create mode 100755 bin/classes/net/swordie/ms/connection/api/ApiEncoder.class create mode 100755 bin/classes/net/swordie/ms/connection/api/ApiHandler$1.class create mode 100755 bin/classes/net/swordie/ms/connection/api/ApiHandler.class create mode 100755 bin/classes/net/swordie/ms/connection/api/ApiInHeader.class create mode 100755 bin/classes/net/swordie/ms/connection/api/ApiOutHeader.class create mode 100755 bin/classes/net/swordie/ms/connection/crypto/AES.class create mode 100755 bin/classes/net/swordie/ms/connection/crypto/BitTools.class create mode 100755 bin/classes/net/swordie/ms/connection/crypto/MapleCrypto.class create mode 100755 bin/classes/net/swordie/ms/connection/crypto/TripleDESCipher.class create mode 100755 bin/classes/net/swordie/ms/connection/db/DatabaseException.class create mode 100755 bin/classes/net/swordie/ms/connection/db/DatabaseManager.class create mode 100755 bin/classes/net/swordie/ms/connection/db/converters/FileTimeConverter.class create mode 100755 bin/classes/net/swordie/ms/connection/db/converters/InlinedIntArrayConverter.class create mode 100755 bin/classes/net/swordie/ms/connection/db/converters/InlinedIntMapConverter.class create mode 100755 bin/classes/net/swordie/ms/connection/netty/ChannelAcceptor$1.class create mode 100755 bin/classes/net/swordie/ms/connection/netty/ChannelAcceptor.class create mode 100755 bin/classes/net/swordie/ms/connection/netty/ChannelHandler.class create mode 100755 bin/classes/net/swordie/ms/connection/netty/ChatAcceptor$1.class create mode 100755 bin/classes/net/swordie/ms/connection/netty/ChatAcceptor.class create mode 100755 bin/classes/net/swordie/ms/connection/netty/LoginAcceptor$1.class create mode 100755 bin/classes/net/swordie/ms/connection/netty/LoginAcceptor.class create mode 100755 bin/classes/net/swordie/ms/connection/netty/NettyClient.class create mode 100755 bin/classes/net/swordie/ms/connection/netty/PacketDecoder.class create mode 100755 bin/classes/net/swordie/ms/connection/netty/PacketEncoder.class create mode 100755 bin/classes/net/swordie/ms/connection/netty/PacketHandler.class create mode 100755 bin/classes/net/swordie/ms/connection/packet/AndroidPacket.class create mode 100755 bin/classes/net/swordie/ms/connection/packet/ApiResponse.class create mode 100755 bin/classes/net/swordie/ms/connection/packet/BattleRecordMan.class create mode 100755 bin/classes/net/swordie/ms/connection/packet/CCashShop.class create mode 100755 bin/classes/net/swordie/ms/connection/packet/CFamiliar.class create mode 100755 bin/classes/net/swordie/ms/connection/packet/CUIHandler.class create mode 100755 bin/classes/net/swordie/ms/connection/packet/ChatSocket.class create mode 100755 bin/classes/net/swordie/ms/connection/packet/DemianFieldPacket.class create mode 100755 bin/classes/net/swordie/ms/connection/packet/DragonPool.class create mode 100755 bin/classes/net/swordie/ms/connection/packet/DropPool$1.class create mode 100755 bin/classes/net/swordie/ms/connection/packet/DropPool.class create mode 100755 bin/classes/net/swordie/ms/connection/packet/Effect$1.class create mode 100755 bin/classes/net/swordie/ms/connection/packet/Effect.class create mode 100755 bin/classes/net/swordie/ms/connection/packet/FieldAttackObjPool.class create mode 100755 bin/classes/net/swordie/ms/connection/packet/FieldPacket$1.class create mode 100755 bin/classes/net/swordie/ms/connection/packet/FieldPacket.class create mode 100755 bin/classes/net/swordie/ms/connection/packet/GachaponDlg.class create mode 100755 bin/classes/net/swordie/ms/connection/packet/InGameDirectionEvent$1.class create mode 100755 bin/classes/net/swordie/ms/connection/packet/InGameDirectionEvent.class create mode 100755 bin/classes/net/swordie/ms/connection/packet/ItemOperation.class create mode 100755 bin/classes/net/swordie/ms/connection/packet/Login.class create mode 100755 bin/classes/net/swordie/ms/connection/packet/MapLoadable.class create mode 100755 bin/classes/net/swordie/ms/connection/packet/MiniroomPacket.class create mode 100755 bin/classes/net/swordie/ms/connection/packet/MobPool.class create mode 100755 bin/classes/net/swordie/ms/connection/packet/MobSkillAttackInfo.class create mode 100755 bin/classes/net/swordie/ms/connection/packet/NpcPool.class create mode 100755 bin/classes/net/swordie/ms/connection/packet/QuickMoveInfo.class create mode 100755 bin/classes/net/swordie/ms/connection/packet/RandomPortal$Type.class create mode 100755 bin/classes/net/swordie/ms/connection/packet/RandomPortal.class create mode 100755 bin/classes/net/swordie/ms/connection/packet/RandomPortalPool.class create mode 100755 bin/classes/net/swordie/ms/connection/packet/ReactorPool.class create mode 100755 bin/classes/net/swordie/ms/connection/packet/ScriptMan$1.class create mode 100755 bin/classes/net/swordie/ms/connection/packet/ScriptMan.class create mode 100755 bin/classes/net/swordie/ms/connection/packet/ShopDlg.class create mode 100755 bin/classes/net/swordie/ms/connection/packet/Stage.class create mode 100755 bin/classes/net/swordie/ms/connection/packet/Summoned.class create mode 100755 bin/classes/net/swordie/ms/connection/packet/UserLocal$1.class create mode 100755 bin/classes/net/swordie/ms/connection/packet/UserLocal.class create mode 100755 bin/classes/net/swordie/ms/connection/packet/UserPacket.class create mode 100755 bin/classes/net/swordie/ms/connection/packet/UserPool.class create mode 100755 bin/classes/net/swordie/ms/connection/packet/UserRemote.class create mode 100755 bin/classes/net/swordie/ms/connection/packet/WvsContext$1.class create mode 100755 bin/classes/net/swordie/ms/connection/packet/WvsContext.class create mode 100755 bin/classes/net/swordie/ms/constants/BossConstants$1$1$1.class create mode 100755 bin/classes/net/swordie/ms/constants/BossConstants$1$1$2.class create mode 100755 bin/classes/net/swordie/ms/constants/BossConstants$1$1$3.class create mode 100755 bin/classes/net/swordie/ms/constants/BossConstants$1$1.class create mode 100755 bin/classes/net/swordie/ms/constants/BossConstants$1$2$1.class create mode 100755 bin/classes/net/swordie/ms/constants/BossConstants$1$2.class create mode 100755 bin/classes/net/swordie/ms/constants/BossConstants$1$3$1.class create mode 100755 bin/classes/net/swordie/ms/constants/BossConstants$1$3.class create mode 100755 bin/classes/net/swordie/ms/constants/BossConstants$1$4$1.class create mode 100755 bin/classes/net/swordie/ms/constants/BossConstants$1$4.class create mode 100755 bin/classes/net/swordie/ms/constants/BossConstants$1.class create mode 100755 bin/classes/net/swordie/ms/constants/BossConstants$2.class create mode 100755 bin/classes/net/swordie/ms/constants/BossConstants.class create mode 100755 bin/classes/net/swordie/ms/constants/CustomConstants.class create mode 100755 bin/classes/net/swordie/ms/constants/FieldConstants.class create mode 100755 bin/classes/net/swordie/ms/constants/GameConstants$1.class create mode 100755 bin/classes/net/swordie/ms/constants/GameConstants$UnionChucMultiplier.class create mode 100755 bin/classes/net/swordie/ms/constants/GameConstants.class create mode 100755 bin/classes/net/swordie/ms/constants/ItemConstants$1.class create mode 100755 bin/classes/net/swordie/ms/constants/ItemConstants.class create mode 100755 bin/classes/net/swordie/ms/constants/JobConstants$1.class create mode 100755 bin/classes/net/swordie/ms/constants/JobConstants$JobEnum.class create mode 100755 bin/classes/net/swordie/ms/constants/JobConstants$LoginJob$JobFlag.class create mode 100755 bin/classes/net/swordie/ms/constants/JobConstants$LoginJob.class create mode 100755 bin/classes/net/swordie/ms/constants/JobConstants.class create mode 100755 bin/classes/net/swordie/ms/constants/MobConstants.class create mode 100755 bin/classes/net/swordie/ms/constants/MonsterCollectionGroup.class create mode 100755 bin/classes/net/swordie/ms/constants/MonsterCollectionRegion.class create mode 100755 bin/classes/net/swordie/ms/constants/MonsterCollectionSession.class create mode 100755 bin/classes/net/swordie/ms/constants/QuestConstants.class create mode 100755 bin/classes/net/swordie/ms/constants/SkillChanges$1.class create mode 100755 bin/classes/net/swordie/ms/constants/SkillChanges$2.class create mode 100755 bin/classes/net/swordie/ms/constants/SkillChanges$3.class create mode 100755 bin/classes/net/swordie/ms/constants/SkillChanges$4.class create mode 100755 bin/classes/net/swordie/ms/constants/SkillChanges$5.class create mode 100755 bin/classes/net/swordie/ms/constants/SkillChanges.class create mode 100755 bin/classes/net/swordie/ms/constants/SkillConstants.class create mode 100755 bin/classes/net/swordie/ms/constants/WzConstants.class create mode 100755 bin/classes/net/swordie/ms/discord/DiscordWebhook$EmbedObject$Author.class create mode 100755 bin/classes/net/swordie/ms/discord/DiscordWebhook$EmbedObject$Field.class create mode 100755 bin/classes/net/swordie/ms/discord/DiscordWebhook$EmbedObject$Footer.class create mode 100755 bin/classes/net/swordie/ms/discord/DiscordWebhook$EmbedObject$Image.class create mode 100755 bin/classes/net/swordie/ms/discord/DiscordWebhook$EmbedObject$Thumbnail.class create mode 100755 bin/classes/net/swordie/ms/discord/DiscordWebhook$EmbedObject.class create mode 100755 bin/classes/net/swordie/ms/discord/DiscordWebhook$JSONObject.class create mode 100755 bin/classes/net/swordie/ms/discord/DiscordWebhook.class create mode 100755 bin/classes/net/swordie/ms/enums/AccountCreateResult.class create mode 100755 bin/classes/net/swordie/ms/enums/AccountType.class create mode 100755 bin/classes/net/swordie/ms/enums/AchievementType.class create mode 100755 bin/classes/net/swordie/ms/enums/AllianceType.class create mode 100755 bin/classes/net/swordie/ms/enums/ApiTokenResultType.class create mode 100755 bin/classes/net/swordie/ms/enums/AssistType.class create mode 100755 bin/classes/net/swordie/ms/enums/AttackIndex.class create mode 100755 bin/classes/net/swordie/ms/enums/AuctionResultCode.class create mode 100755 bin/classes/net/swordie/ms/enums/AuctionState.class create mode 100755 bin/classes/net/swordie/ms/enums/AvatarModifiedMask.class create mode 100755 bin/classes/net/swordie/ms/enums/BaseStat$1.class create mode 100755 bin/classes/net/swordie/ms/enums/BaseStat.class create mode 100755 bin/classes/net/swordie/ms/enums/BeastTamerBeasts.class create mode 100755 bin/classes/net/swordie/ms/enums/BossMatchingType.class create mode 100755 bin/classes/net/swordie/ms/enums/BroadcastMsgType$1.class create mode 100755 bin/classes/net/swordie/ms/enums/BroadcastMsgType.class create mode 100755 bin/classes/net/swordie/ms/enums/CashItemType.class create mode 100755 bin/classes/net/swordie/ms/enums/CashShopActionType.class create mode 100755 bin/classes/net/swordie/ms/enums/CashShopInfoType.class create mode 100755 bin/classes/net/swordie/ms/enums/CharNameResult.class create mode 100755 bin/classes/net/swordie/ms/enums/CharPotGrade.class create mode 100755 bin/classes/net/swordie/ms/enums/CharSelectType.class create mode 100755 bin/classes/net/swordie/ms/enums/ChatType.class create mode 100755 bin/classes/net/swordie/ms/enums/ChatUserType.class create mode 100755 bin/classes/net/swordie/ms/enums/ClockType.class create mode 100755 bin/classes/net/swordie/ms/enums/ClothingStats.class create mode 100755 bin/classes/net/swordie/ms/enums/CustomFUEFieldScripts.class create mode 100755 bin/classes/net/swordie/ms/enums/CustomFieldScripts.class create mode 100755 bin/classes/net/swordie/ms/enums/DBChar.class create mode 100755 bin/classes/net/swordie/ms/enums/DimensionalMirrorType.class create mode 100755 bin/classes/net/swordie/ms/enums/DimensionalPortalTownType.class create mode 100755 bin/classes/net/swordie/ms/enums/DimensionalPortalType.class create mode 100755 bin/classes/net/swordie/ms/enums/DropEnterType.class create mode 100755 bin/classes/net/swordie/ms/enums/DropLeaveType.class create mode 100755 bin/classes/net/swordie/ms/enums/DropMotionType.class create mode 100755 bin/classes/net/swordie/ms/enums/DropType.class create mode 100755 bin/classes/net/swordie/ms/enums/EliteState.class create mode 100755 bin/classes/net/swordie/ms/enums/EnchantStat$1.class create mode 100755 bin/classes/net/swordie/ms/enums/EnchantStat.class create mode 100755 bin/classes/net/swordie/ms/enums/EnterType.class create mode 100755 bin/classes/net/swordie/ms/enums/EquipBaseStat.class create mode 100755 bin/classes/net/swordie/ms/enums/EquipmentEnchantType.class create mode 100755 bin/classes/net/swordie/ms/enums/EventType.class create mode 100755 bin/classes/net/swordie/ms/enums/ExpIncreaseInfoFlags.class create mode 100755 bin/classes/net/swordie/ms/enums/FieldOption.class create mode 100755 bin/classes/net/swordie/ms/enums/FieldType.class create mode 100755 bin/classes/net/swordie/ms/enums/FlameStat.class create mode 100755 bin/classes/net/swordie/ms/enums/ForceAtomEnum$1.class create mode 100755 bin/classes/net/swordie/ms/enums/ForceAtomEnum.class create mode 100755 bin/classes/net/swordie/ms/enums/ForcedInputType.class create mode 100755 bin/classes/net/swordie/ms/enums/GoldHammerResult.class create mode 100755 bin/classes/net/swordie/ms/enums/GroupMessageType.class create mode 100755 bin/classes/net/swordie/ms/enums/HotTimeRewardResult.class create mode 100755 bin/classes/net/swordie/ms/enums/HotTimeRewardSendType.class create mode 100755 bin/classes/net/swordie/ms/enums/HotTimeRewardType.class create mode 100755 bin/classes/net/swordie/ms/enums/InGameDirectionAsk.class create mode 100755 bin/classes/net/swordie/ms/enums/InGameDirectionEventType.class create mode 100755 bin/classes/net/swordie/ms/enums/InstanceTableType.class create mode 100755 bin/classes/net/swordie/ms/enums/InvType.class create mode 100755 bin/classes/net/swordie/ms/enums/InventoryOperation.class create mode 100755 bin/classes/net/swordie/ms/enums/ItemGrade$1.class create mode 100755 bin/classes/net/swordie/ms/enums/ItemGrade.class create mode 100755 bin/classes/net/swordie/ms/enums/ItemJob.class create mode 100755 bin/classes/net/swordie/ms/enums/ItemOptionType.class create mode 100755 bin/classes/net/swordie/ms/enums/LeaveType.class create mode 100755 bin/classes/net/swordie/ms/enums/LegionType.class create mode 100755 bin/classes/net/swordie/ms/enums/LinkSkillResult.class create mode 100755 bin/classes/net/swordie/ms/enums/LinkedSkillResultType.class create mode 100755 bin/classes/net/swordie/ms/enums/LoginState.class create mode 100755 bin/classes/net/swordie/ms/enums/LoginType.class create mode 100755 bin/classes/net/swordie/ms/enums/MakingSkillResult.class create mode 100755 bin/classes/net/swordie/ms/enums/MapTransferType.class create mode 100755 bin/classes/net/swordie/ms/enums/MatrixUpdateRequest.class create mode 100755 bin/classes/net/swordie/ms/enums/MedalReissueResultType.class create mode 100755 bin/classes/net/swordie/ms/enums/MessageType.class create mode 100755 bin/classes/net/swordie/ms/enums/MiniRoomType.class create mode 100755 bin/classes/net/swordie/ms/enums/MobCastingBarSkillType.class create mode 100755 bin/classes/net/swordie/ms/enums/MonsterCollectionResultType.class create mode 100755 bin/classes/net/swordie/ms/enums/MoveAbility.class create mode 100755 bin/classes/net/swordie/ms/enums/ObtacleAtomCreateType.class create mode 100755 bin/classes/net/swordie/ms/enums/ObtacleAtomEnum.class create mode 100755 bin/classes/net/swordie/ms/enums/PetRemoveReason.class create mode 100755 bin/classes/net/swordie/ms/enums/PicStatus.class create mode 100755 bin/classes/net/swordie/ms/enums/PopularityResultType.class create mode 100755 bin/classes/net/swordie/ms/enums/PotentialResetType.class create mode 100755 bin/classes/net/swordie/ms/enums/ProgressMessageColourType.class create mode 100755 bin/classes/net/swordie/ms/enums/ProgressMessageFontType.class create mode 100755 bin/classes/net/swordie/ms/enums/QuestStatus.class create mode 100755 bin/classes/net/swordie/ms/enums/QuestType.class create mode 100755 bin/classes/net/swordie/ms/enums/QuickMoveType.class create mode 100755 bin/classes/net/swordie/ms/enums/RandomMissionType.class create mode 100755 bin/classes/net/swordie/ms/enums/ReviveType.class create mode 100755 bin/classes/net/swordie/ms/enums/RoomLeaveType.class create mode 100755 bin/classes/net/swordie/ms/enums/RuneType.class create mode 100755 bin/classes/net/swordie/ms/enums/SceneType.class create mode 100755 bin/classes/net/swordie/ms/enums/ScrollStat$1.class create mode 100755 bin/classes/net/swordie/ms/enums/ScrollStat.class create mode 100755 bin/classes/net/swordie/ms/enums/SendTypeFromClient.class create mode 100755 bin/classes/net/swordie/ms/enums/SkillType.class create mode 100755 bin/classes/net/swordie/ms/enums/SoulType.class create mode 100755 bin/classes/net/swordie/ms/enums/SpecStat.class create mode 100755 bin/classes/net/swordie/ms/enums/SpellTraceScrollType.class create mode 100755 bin/classes/net/swordie/ms/enums/Stat.class create mode 100755 bin/classes/net/swordie/ms/enums/StealMemoryType.class create mode 100755 bin/classes/net/swordie/ms/enums/StylishKillType.class create mode 100755 bin/classes/net/swordie/ms/enums/TSIndex$1.class create mode 100755 bin/classes/net/swordie/ms/enums/TSIndex.class create mode 100755 bin/classes/net/swordie/ms/enums/TabIndex.class create mode 100755 bin/classes/net/swordie/ms/enums/TextEffectType.class create mode 100755 bin/classes/net/swordie/ms/enums/UIType.class create mode 100755 bin/classes/net/swordie/ms/enums/UiScript.class create mode 100755 bin/classes/net/swordie/ms/enums/UserEffectType.class create mode 100755 bin/classes/net/swordie/ms/enums/WeaponType.class create mode 100755 bin/classes/net/swordie/ms/enums/WeatherEffNoticeType.class create mode 100755 bin/classes/net/swordie/ms/enums/WorldId.class create mode 100755 bin/classes/net/swordie/ms/handlers/ApiRequestHandler.class create mode 100755 bin/classes/net/swordie/ms/handlers/CashShopHandler$1.class create mode 100755 bin/classes/net/swordie/ms/handlers/CashShopHandler.class create mode 100755 bin/classes/net/swordie/ms/handlers/CatchingScheduledThreadPoolExecutor$LogOnExceptionCallable.class create mode 100755 bin/classes/net/swordie/ms/handlers/CatchingScheduledThreadPoolExecutor$LogOnExceptionRunnable.class create mode 100755 bin/classes/net/swordie/ms/handlers/CatchingScheduledThreadPoolExecutor.class create mode 100755 bin/classes/net/swordie/ms/handlers/ClientSocket.class create mode 100755 bin/classes/net/swordie/ms/handlers/EventManager.class create mode 100755 bin/classes/net/swordie/ms/handlers/FieldHandler.class create mode 100755 bin/classes/net/swordie/ms/handlers/Handler.class create mode 100755 bin/classes/net/swordie/ms/handlers/LoginHandler.class create mode 100755 bin/classes/net/swordie/ms/handlers/PsychicLock.class create mode 100755 bin/classes/net/swordie/ms/handlers/header/InHeader.class create mode 100755 bin/classes/net/swordie/ms/handlers/header/OutHeader.class create mode 100755 bin/classes/net/swordie/ms/handlers/item/InventoryHandler.class create mode 100755 bin/classes/net/swordie/ms/handlers/item/ItemHandler$1.class create mode 100755 bin/classes/net/swordie/ms/handlers/item/ItemHandler$2.class create mode 100755 bin/classes/net/swordie/ms/handlers/item/ItemHandler.class create mode 100755 bin/classes/net/swordie/ms/handlers/item/ItemUpgradeHandler.class create mode 100755 bin/classes/net/swordie/ms/handlers/life/AffectedAreaHandler.class create mode 100755 bin/classes/net/swordie/ms/handlers/life/AndroidHandler.class create mode 100755 bin/classes/net/swordie/ms/handlers/life/DragonHandler.class create mode 100755 bin/classes/net/swordie/ms/handlers/life/DropHandler.class create mode 100755 bin/classes/net/swordie/ms/handlers/life/FamiliarHandler.class create mode 100755 bin/classes/net/swordie/ms/handlers/life/MobHandler.class create mode 100755 bin/classes/net/swordie/ms/handlers/life/NpcHandler$1.class create mode 100755 bin/classes/net/swordie/ms/handlers/life/NpcHandler.class create mode 100755 bin/classes/net/swordie/ms/handlers/life/PetHandler.class create mode 100755 bin/classes/net/swordie/ms/handlers/life/ReactorHandler.class create mode 100755 bin/classes/net/swordie/ms/handlers/life/SummonedHandler.class create mode 100755 bin/classes/net/swordie/ms/handlers/script/QuestHandler$1.class create mode 100755 bin/classes/net/swordie/ms/handlers/script/QuestHandler.class create mode 100755 bin/classes/net/swordie/ms/handlers/script/ScriptHandler$1.class create mode 100755 bin/classes/net/swordie/ms/handlers/script/ScriptHandler.class create mode 100755 bin/classes/net/swordie/ms/handlers/social/AuctionHandler$1.class create mode 100755 bin/classes/net/swordie/ms/handlers/social/AuctionHandler.class create mode 100755 bin/classes/net/swordie/ms/handlers/social/BossMatchingHandler.class create mode 100755 bin/classes/net/swordie/ms/handlers/social/ChatHandler.class create mode 100755 bin/classes/net/swordie/ms/handlers/social/FriendHandler$1.class create mode 100755 bin/classes/net/swordie/ms/handlers/social/FriendHandler.class create mode 100755 bin/classes/net/swordie/ms/handlers/social/GuildHandler$1.class create mode 100755 bin/classes/net/swordie/ms/handlers/social/GuildHandler.class create mode 100755 bin/classes/net/swordie/ms/handlers/social/PartyHandler$1.class create mode 100755 bin/classes/net/swordie/ms/handlers/social/PartyHandler.class create mode 100755 bin/classes/net/swordie/ms/handlers/social/RoomHandler$1.class create mode 100755 bin/classes/net/swordie/ms/handlers/social/RoomHandler.class create mode 100755 bin/classes/net/swordie/ms/handlers/user/AttackHandler$1.class create mode 100755 bin/classes/net/swordie/ms/handlers/user/AttackHandler.class create mode 100755 bin/classes/net/swordie/ms/handlers/user/JobSkillHandler.class create mode 100755 bin/classes/net/swordie/ms/handlers/user/MacroHandler.class create mode 100755 bin/classes/net/swordie/ms/handlers/user/MigrationHandler$1.class create mode 100755 bin/classes/net/swordie/ms/handlers/user/MigrationHandler.class create mode 100755 bin/classes/net/swordie/ms/handlers/user/SkillHandler$1.class create mode 100755 bin/classes/net/swordie/ms/handlers/user/SkillHandler.class create mode 100755 bin/classes/net/swordie/ms/handlers/user/UnionHandler.class create mode 100755 bin/classes/net/swordie/ms/handlers/user/UserHandler$1.class create mode 100755 bin/classes/net/swordie/ms/handlers/user/UserHandler.class create mode 100755 bin/classes/net/swordie/ms/handlers/user/UserStatHandler$1.class create mode 100755 bin/classes/net/swordie/ms/handlers/user/UserStatHandler.class create mode 100755 bin/classes/net/swordie/ms/handlers/user/ZeroUIHandler.class create mode 100755 bin/classes/net/swordie/ms/life/AffectedArea.class create mode 100755 bin/classes/net/swordie/ms/life/Android.class create mode 100755 bin/classes/net/swordie/ms/life/DeathType.class create mode 100755 bin/classes/net/swordie/ms/life/Dragon.class create mode 100755 bin/classes/net/swordie/ms/life/Familiar.class create mode 100755 bin/classes/net/swordie/ms/life/FieldAttackObj.class create mode 100755 bin/classes/net/swordie/ms/life/Life.class create mode 100755 bin/classes/net/swordie/ms/life/Reactor.class create mode 100755 bin/classes/net/swordie/ms/life/Summon.class create mode 100755 bin/classes/net/swordie/ms/life/Wreckage.class create mode 100755 bin/classes/net/swordie/ms/life/drop/Drop.class create mode 100755 bin/classes/net/swordie/ms/life/drop/DropInfo.class create mode 100755 bin/classes/net/swordie/ms/life/mob/EscortDest.class create mode 100755 bin/classes/net/swordie/ms/life/mob/ForcedMobStat.class create mode 100755 bin/classes/net/swordie/ms/life/mob/Mob.class create mode 100755 bin/classes/net/swordie/ms/life/mob/MobStat$1.class create mode 100755 bin/classes/net/swordie/ms/life/mob/MobStat.class create mode 100755 bin/classes/net/swordie/ms/life/mob/MobTemporaryStat.class create mode 100755 bin/classes/net/swordie/ms/life/mob/boss/demian/Demian.class create mode 100755 bin/classes/net/swordie/ms/life/mob/boss/demian/stigma/DemianStigma.class create mode 100755 bin/classes/net/swordie/ms/life/mob/boss/demian/stigma/DemianStigmaIncinerateObject.class create mode 100755 bin/classes/net/swordie/ms/life/mob/boss/demian/stigma/StigmaDeliveryType.class create mode 100755 bin/classes/net/swordie/ms/life/mob/boss/demian/sword/DemianFlyingSword.class create mode 100755 bin/classes/net/swordie/ms/life/mob/boss/demian/sword/DemianFlyingSwordNode.class create mode 100755 bin/classes/net/swordie/ms/life/mob/boss/demian/sword/DemianFlyingSwordNodeType.class create mode 100755 bin/classes/net/swordie/ms/life/mob/boss/demian/sword/DemianFlyingSwordPath$1.class create mode 100755 bin/classes/net/swordie/ms/life/mob/boss/demian/sword/DemianFlyingSwordPath$2.class create mode 100755 bin/classes/net/swordie/ms/life/mob/boss/demian/sword/DemianFlyingSwordPath.class create mode 100755 bin/classes/net/swordie/ms/life/mob/boss/demian/sword/DemianFlyingSwordPathIdx.class create mode 100755 bin/classes/net/swordie/ms/life/mob/boss/demian/sword/DemianFlyingSwordType.class create mode 100755 bin/classes/net/swordie/ms/life/mob/skill/BurnedInfo.class create mode 100755 bin/classes/net/swordie/ms/life/mob/skill/MobSkill$1.class create mode 100755 bin/classes/net/swordie/ms/life/mob/skill/MobSkill$2.class create mode 100755 bin/classes/net/swordie/ms/life/mob/skill/MobSkill.class create mode 100755 bin/classes/net/swordie/ms/life/mob/skill/MobSkillID$1.class create mode 100755 bin/classes/net/swordie/ms/life/mob/skill/MobSkillID.class create mode 100755 bin/classes/net/swordie/ms/life/mob/skill/MobSkillStat.class create mode 100755 bin/classes/net/swordie/ms/life/mob/skill/ShootingMoveStat.class create mode 100755 bin/classes/net/swordie/ms/life/movement/MovePathAttribute.class create mode 100755 bin/classes/net/swordie/ms/life/movement/Movement.class create mode 100755 bin/classes/net/swordie/ms/life/movement/MovementAction.class create mode 100755 bin/classes/net/swordie/ms/life/movement/MovementAngle.class create mode 100755 bin/classes/net/swordie/ms/life/movement/MovementBase.class create mode 100755 bin/classes/net/swordie/ms/life/movement/MovementFlyingBlock.class create mode 100755 bin/classes/net/swordie/ms/life/movement/MovementInfo.class create mode 100755 bin/classes/net/swordie/ms/life/movement/MovementJump.class create mode 100755 bin/classes/net/swordie/ms/life/movement/MovementNew1.class create mode 100755 bin/classes/net/swordie/ms/life/movement/MovementNormal.class create mode 100755 bin/classes/net/swordie/ms/life/movement/MovementOffsetX.class create mode 100755 bin/classes/net/swordie/ms/life/movement/MovementStartFallDown.class create mode 100755 bin/classes/net/swordie/ms/life/movement/MovementStatChange.class create mode 100755 bin/classes/net/swordie/ms/life/movement/MovementTeleport.class create mode 100755 bin/classes/net/swordie/ms/life/npc/Npc.class create mode 100755 bin/classes/net/swordie/ms/life/npc/NpcMessageType$ResponseType.class create mode 100755 bin/classes/net/swordie/ms/life/npc/NpcMessageType.class create mode 100755 bin/classes/net/swordie/ms/life/npc/NpcScriptInfo$Param.class create mode 100755 bin/classes/net/swordie/ms/life/npc/NpcScriptInfo.class create mode 100755 bin/classes/net/swordie/ms/life/npc/ScreenInfo.class create mode 100755 bin/classes/net/swordie/ms/life/pet/Pet.class create mode 100755 bin/classes/net/swordie/ms/life/pet/PetSkill.class create mode 100755 bin/classes/net/swordie/ms/loaders/DatSerializable.class create mode 100755 bin/classes/net/swordie/ms/loaders/DataClasses.class create mode 100755 bin/classes/net/swordie/ms/loaders/DressingRoom$DressingRoomType.class create mode 100755 bin/classes/net/swordie/ms/loaders/DressingRoom.class create mode 100755 bin/classes/net/swordie/ms/loaders/DropData.class create mode 100755 bin/classes/net/swordie/ms/loaders/EffectData.class create mode 100755 bin/classes/net/swordie/ms/loaders/EtcData.class create mode 100755 bin/classes/net/swordie/ms/loaders/FieldData.class create mode 100755 bin/classes/net/swordie/ms/loaders/ItemData.class create mode 100755 bin/classes/net/swordie/ms/loaders/MobData.class create mode 100755 bin/classes/net/swordie/ms/loaders/MonsterCollectionData.class create mode 100755 bin/classes/net/swordie/ms/loaders/NpcData.class create mode 100755 bin/classes/net/swordie/ms/loaders/QuestData.class create mode 100755 bin/classes/net/swordie/ms/loaders/ReactorData.class create mode 100755 bin/classes/net/swordie/ms/loaders/SkillData.class create mode 100755 bin/classes/net/swordie/ms/loaders/StringData.class create mode 100755 bin/classes/net/swordie/ms/loaders/StyleRoom$StyleRoomType.class create mode 100755 bin/classes/net/swordie/ms/loaders/StyleRoom.class create mode 100755 bin/classes/net/swordie/ms/loaders/VCoreData.class create mode 100755 bin/classes/net/swordie/ms/loaders/containerclasses/AndroidInfo.class create mode 100755 bin/classes/net/swordie/ms/loaders/containerclasses/Cosmetic.class create mode 100755 bin/classes/net/swordie/ms/loaders/containerclasses/EquipDrop.class create mode 100755 bin/classes/net/swordie/ms/loaders/containerclasses/ItemInfo.class create mode 100755 bin/classes/net/swordie/ms/loaders/containerclasses/ItemRewardInfo.class create mode 100755 bin/classes/net/swordie/ms/loaders/containerclasses/ItemSet.class create mode 100755 bin/classes/net/swordie/ms/loaders/containerclasses/MakingSkillRecipe$TargetElem.class create mode 100755 bin/classes/net/swordie/ms/loaders/containerclasses/MakingSkillRecipe.class create mode 100755 bin/classes/net/swordie/ms/loaders/containerclasses/MobSkillInfo.class create mode 100755 bin/classes/net/swordie/ms/loaders/containerclasses/MonsterCollectionGroupRewardInfo.class create mode 100755 bin/classes/net/swordie/ms/loaders/containerclasses/MonsterCollectionMobInfo.class create mode 100755 bin/classes/net/swordie/ms/loaders/containerclasses/MonsterCollectionSessionRewardInfo.class create mode 100755 bin/classes/net/swordie/ms/loaders/containerclasses/PetInfo.class create mode 100755 bin/classes/net/swordie/ms/loaders/containerclasses/QuestInfo.class create mode 100755 bin/classes/net/swordie/ms/loaders/containerclasses/ReactorInfo.class create mode 100755 bin/classes/net/swordie/ms/loaders/containerclasses/SkillStringInfo.class create mode 100755 bin/classes/net/swordie/ms/loaders/containerclasses/VCoreInfo.class create mode 100755 bin/classes/net/swordie/ms/loaders/containerclasses/VNodeInfo.class create mode 100755 bin/classes/net/swordie/ms/scripts/FieldTransferInfo.class create mode 100755 bin/classes/net/swordie/ms/scripts/ScriptInfo.class create mode 100755 bin/classes/net/swordie/ms/scripts/ScriptManager.class create mode 100755 bin/classes/net/swordie/ms/scripts/ScriptManagerImpl$1.class create mode 100755 bin/classes/net/swordie/ms/scripts/ScriptManagerImpl.class create mode 100755 bin/classes/net/swordie/ms/scripts/ScriptMemory.class create mode 100755 bin/classes/net/swordie/ms/scripts/ScriptType.class create mode 100755 bin/classes/net/swordie/ms/scripts/scriptMaker/ScriptMaker$1.class create mode 100755 bin/classes/net/swordie/ms/scripts/scriptMaker/ScriptMaker.class create mode 100755 bin/classes/net/swordie/ms/scripts/scriptMaker/ScriptPacketParser$1.class create mode 100755 bin/classes/net/swordie/ms/scripts/scriptMaker/ScriptPacketParser.class create mode 100755 bin/classes/net/swordie/ms/util/AntiMacro$AntiMacroResultType.class create mode 100755 bin/classes/net/swordie/ms/util/AntiMacro$AntiMacroType.class create mode 100755 bin/classes/net/swordie/ms/util/AntiMacro.class create mode 100755 bin/classes/net/swordie/ms/util/FileTime$Type.class create mode 100755 bin/classes/net/swordie/ms/util/FileTime.class create mode 100755 bin/classes/net/swordie/ms/util/FileoutputUtil.class create mode 100755 bin/classes/net/swordie/ms/util/HeapDumper.class create mode 100755 bin/classes/net/swordie/ms/util/IntegerValue.class create mode 100755 bin/classes/net/swordie/ms/util/Loader.class create mode 100755 bin/classes/net/swordie/ms/util/MetaProgramming.class create mode 100755 bin/classes/net/swordie/ms/util/Position.class create mode 100755 bin/classes/net/swordie/ms/util/Randomizer.class create mode 100755 bin/classes/net/swordie/ms/util/Rect.class create mode 100755 bin/classes/net/swordie/ms/util/Saver.class create mode 100755 bin/classes/net/swordie/ms/util/SharkPropertyMaker.class create mode 100755 bin/classes/net/swordie/ms/util/StringUtil.class create mode 100755 bin/classes/net/swordie/ms/util/SystemTime.class create mode 100755 bin/classes/net/swordie/ms/util/Util.class create mode 100755 bin/classes/net/swordie/ms/util/XMLApi.class create mode 100755 bin/classes/net/swordie/ms/util/container/Triple.class create mode 100755 bin/classes/net/swordie/ms/util/container/Tuple.class create mode 100755 bin/classes/net/swordie/ms/util/dsl/SWEntity.class create mode 100755 bin/classes/net/swordie/ms/util/dsl/SWParser.class create mode 100755 bin/classes/net/swordie/ms/world/Channel.class create mode 100755 bin/classes/net/swordie/ms/world/World.class create mode 100755 bin/classes/net/swordie/ms/world/auction/AuctionEnum.class create mode 100755 bin/classes/net/swordie/ms/world/auction/AuctionInvType$1.class create mode 100755 bin/classes/net/swordie/ms/world/auction/AuctionInvType.class create mode 100755 bin/classes/net/swordie/ms/world/auction/AuctionItem.class create mode 100755 bin/classes/net/swordie/ms/world/auction/AuctionPotType$1.class create mode 100755 bin/classes/net/swordie/ms/world/auction/AuctionPotType.class create mode 100755 bin/classes/net/swordie/ms/world/auction/AuctionResult$1.class create mode 100755 bin/classes/net/swordie/ms/world/auction/AuctionResult.class create mode 100755 bin/classes/net/swordie/ms/world/auction/AuctionType.class create mode 100755 bin/classes/net/swordie/ms/world/auction/armor/AuctionAccType$1.class create mode 100755 bin/classes/net/swordie/ms/world/auction/armor/AuctionAccType.class create mode 100755 bin/classes/net/swordie/ms/world/auction/armor/AuctionArmorFirstType$1.class create mode 100755 bin/classes/net/swordie/ms/world/auction/armor/AuctionArmorFirstType.class create mode 100755 bin/classes/net/swordie/ms/world/auction/armor/AuctionArmorType$1.class create mode 100755 bin/classes/net/swordie/ms/world/auction/armor/AuctionArmorType.class create mode 100755 bin/classes/net/swordie/ms/world/auction/armor/AuctionEtcArmorType$1.class create mode 100755 bin/classes/net/swordie/ms/world/auction/armor/AuctionEtcArmorType.class create mode 100755 bin/classes/net/swordie/ms/world/auction/cash/AuctionBeautyType.class create mode 100755 bin/classes/net/swordie/ms/world/auction/cash/AuctionBoostType.class create mode 100755 bin/classes/net/swordie/ms/world/auction/cash/AuctionCashEtcType.class create mode 100755 bin/classes/net/swordie/ms/world/auction/cash/AuctionCashType$1.class create mode 100755 bin/classes/net/swordie/ms/world/auction/cash/AuctionCashType.class create mode 100755 bin/classes/net/swordie/ms/world/auction/cash/AuctionGameType.class create mode 100755 bin/classes/net/swordie/ms/world/auction/cash/AuctionLabelType.class create mode 100755 bin/classes/net/swordie/ms/world/auction/cash/AuctionOutfitType.class create mode 100755 bin/classes/net/swordie/ms/world/auction/cash/AuctionPetType.class create mode 100755 bin/classes/net/swordie/ms/world/auction/etc/AuctionChairType.class create mode 100755 bin/classes/net/swordie/ms/world/auction/etc/AuctionEtcType$1.class create mode 100755 bin/classes/net/swordie/ms/world/auction/etc/AuctionEtcType.class create mode 100755 bin/classes/net/swordie/ms/world/auction/etc/AuctionProfessionType.class create mode 100755 bin/classes/net/swordie/ms/world/auction/use/AuctionAlchemyType.class create mode 100755 bin/classes/net/swordie/ms/world/auction/use/AuctionConsumeEtcType.class create mode 100755 bin/classes/net/swordie/ms/world/auction/use/AuctionRecipeType.class create mode 100755 bin/classes/net/swordie/ms/world/auction/use/AuctionRecoveryType.class create mode 100755 bin/classes/net/swordie/ms/world/auction/use/AuctionScrollType.class create mode 100755 bin/classes/net/swordie/ms/world/auction/use/AuctionSkillBookType.class create mode 100755 bin/classes/net/swordie/ms/world/auction/use/AuctionUseType$1.class create mode 100755 bin/classes/net/swordie/ms/world/auction/use/AuctionUseType.class create mode 100755 bin/classes/net/swordie/ms/world/auction/weapon/AuctionOneHandedWeaponType$1.class create mode 100755 bin/classes/net/swordie/ms/world/auction/weapon/AuctionOneHandedWeaponType.class create mode 100755 bin/classes/net/swordie/ms/world/auction/weapon/AuctionSecondaryType$1.class create mode 100755 bin/classes/net/swordie/ms/world/auction/weapon/AuctionSecondaryType.class create mode 100755 bin/classes/net/swordie/ms/world/auction/weapon/AuctionTwoHandedWeaponType$1.class create mode 100755 bin/classes/net/swordie/ms/world/auction/weapon/AuctionTwoHandedWeaponType.class create mode 100755 bin/classes/net/swordie/ms/world/auction/weapon/AuctionWeaponFirstType$1.class create mode 100755 bin/classes/net/swordie/ms/world/auction/weapon/AuctionWeaponFirstType.class create mode 100755 bin/classes/net/swordie/ms/world/event/BossType$1.class create mode 100755 bin/classes/net/swordie/ms/world/event/BossType.class create mode 100755 bin/classes/net/swordie/ms/world/field/Clock$1.class create mode 100755 bin/classes/net/swordie/ms/world/field/Clock.class create mode 100755 bin/classes/net/swordie/ms/world/field/ClockPacket$1.class create mode 100755 bin/classes/net/swordie/ms/world/field/ClockPacket.class create mode 100755 bin/classes/net/swordie/ms/world/field/Field.class create mode 100755 bin/classes/net/swordie/ms/world/field/FieldCustom.class create mode 100755 bin/classes/net/swordie/ms/world/field/FieldInstanceType.class create mode 100755 bin/classes/net/swordie/ms/world/field/Foothold.class create mode 100755 bin/classes/net/swordie/ms/world/field/Instance.class create mode 100755 bin/classes/net/swordie/ms/world/field/MapTaggedObject.class create mode 100755 bin/classes/net/swordie/ms/world/field/MobGen.class create mode 100755 bin/classes/net/swordie/ms/world/field/Portal.class create mode 100755 bin/classes/net/swordie/ms/world/field/PortalType.class create mode 100755 bin/classes/net/swordie/ms/world/field/bosses/gollux/FallingCatcher.class create mode 100755 bin/classes/net/swordie/ms/world/field/bosses/gollux/GolluxMiniMapFieldClearType.class create mode 100755 bin/classes/net/swordie/ms/world/field/bosses/lucid/Butterfly.class create mode 100755 bin/classes/net/swordie/ms/world/field/bosses/lucid/ButterflyActionType.class create mode 100755 bin/classes/net/swordie/ms/world/field/bosses/lucid/ButterflyType.class create mode 100755 bin/classes/net/swordie/ms/world/field/bosses/lucid/FairyDust.class create mode 100755 bin/classes/net/swordie/ms/world/field/bosses/lucid/LucidSkillType.class create mode 100755 bin/classes/net/swordie/ms/world/field/fieldeffect/FieldEffect$1.class create mode 100755 bin/classes/net/swordie/ms/world/field/fieldeffect/FieldEffect.class create mode 100755 bin/classes/net/swordie/ms/world/field/fieldeffect/FieldEffectType.class create mode 100755 bin/classes/net/swordie/ms/world/field/fieldeffect/GreyFieldType.class create mode 100755 bin/classes/net/swordie/ms/world/field/obtacleatom/ObtacleAtomInfo.class create mode 100755 bin/classes/net/swordie/ms/world/field/obtacleatom/ObtacleDiagonalInfo.class create mode 100755 bin/classes/net/swordie/ms/world/field/obtacleatom/ObtacleInRowInfo.class create mode 100755 bin/classes/net/swordie/ms/world/field/obtacleatom/ObtacleRadianInfo.class create mode 100755 bin/classes/net/swordie/ms/world/gach/GachaponConstants.class create mode 100755 bin/classes/net/swordie/ms/world/gach/GachaponInfo$GachItem.class create mode 100755 bin/classes/net/swordie/ms/world/gach/GachaponInfo.class create mode 100755 bin/classes/net/swordie/ms/world/gach/GachaponManager.class create mode 100755 bin/classes/net/swordie/ms/world/gach/result/GachaponDlgType.class create mode 100755 bin/classes/net/swordie/ms/world/gach/result/GachaponResult.class create mode 100755 bin/classes/net/swordie/ms/world/shop/BuyLimitInfo.class create mode 100755 bin/classes/net/swordie/ms/world/shop/NpcShopDlg.class create mode 100755 bin/classes/net/swordie/ms/world/shop/NpcShopItem.class create mode 100755 bin/classes/net/swordie/ms/world/shop/ShopRequestType.class create mode 100755 bin/classes/net/swordie/ms/world/shop/ShopTabIndex.class create mode 100755 bin/classes/net/swordie/ms/world/shop/cashshop/CashItemInfo.class create mode 100755 bin/classes/net/swordie/ms/world/shop/cashshop/CashShop.class create mode 100755 bin/classes/net/swordie/ms/world/shop/cashshop/CashShopCategory$Flag.class create mode 100755 bin/classes/net/swordie/ms/world/shop/cashshop/CashShopCategory.class create mode 100755 bin/classes/net/swordie/ms/world/shop/cashshop/CashShopItem$CashShopItemFlag.class create mode 100755 bin/classes/net/swordie/ms/world/shop/cashshop/CashShopItem.class create mode 100755 bin/classes/net/swordie/ms/world/shop/result/ShopResult$1.class create mode 100755 bin/classes/net/swordie/ms/world/shop/result/ShopResult.class create mode 100755 bin/classes/net/swordie/ms/world/shop/result/ShopResultType.class create mode 100755 config.properties create mode 100755 pom.xml create mode 100755 properties/CP_207-1.properties create mode 100755 properties/LP_207-1.properties create mode 100755 resources/Data.wz create mode 100755 resources/Data2.wz create mode 100755 resources/ItemHandler v213.java create mode 100755 resources/antimacro_fonts/AmaticSC.ttf create mode 100755 resources/antimacro_fonts/Audiowide.ttf create mode 100755 resources/antimacro_fonts/Caveat.ttf create mode 100755 resources/antimacro_fonts/CoveredByYourGrace.ttf create mode 100755 resources/antimacro_fonts/Rajdhani.ttf create mode 100755 resources/antimacro_fonts/Srisakdi.ttf create mode 100755 resources/consume_2435163.py create mode 100755 resources/consume_2437025.py create mode 100755 resources/mountsFromItem.txt create mode 100755 resources/random damage skins.py create mode 100755 resources/shops.sw create mode 100755 scripts/field/100000004_enter.py create mode 100755 scripts/field/58923_direction.py create mode 100755 scripts/field/58924_direction.py create mode 100755 scripts/field/Advanture_tuto04.py create mode 100755 scripts/field/Advanture_tuto11.py create mode 100755 scripts/field/Advanture_tuto11_default.py create mode 100755 scripts/field/Advanture_tuto33.py create mode 100755 scripts/field/Akayrum_Before.py create mode 100755 scripts/field/Akayrum_Before2.py create mode 100755 scripts/field/Akayrum_ExpeditionEnter.py create mode 100755 scripts/field/Commerci.py create mode 100755 scripts/field/Commerci1.py create mode 100755 scripts/field/Commerci2.py create mode 100755 scripts/field/Commerci3.py create mode 100755 scripts/field/Commerci4.py create mode 100755 scripts/field/Curbrock_Scene0.py create mode 100755 scripts/field/Curbrock_Scene1.py create mode 100755 scripts/field/Curbrock_Summon0.py create mode 100755 scripts/field/Curbrock_Summon1.py create mode 100755 scripts/field/Curbrock_Summon2.py create mode 100755 scripts/field/Fenter_450004250.py create mode 100755 scripts/field/Fritto_Eagle.py create mode 100755 scripts/field/Fritto_Eagle_Enter.py create mode 100755 scripts/field/Fritto_Egg_Enter.py create mode 100755 scripts/field/GiantBossField.py create mode 100755 scripts/field/GiantBoss_Head.py create mode 100755 scripts/field/GiantBoss_Head_First_Enter.py create mode 100755 scripts/field/GiantBoss_Hip.py create mode 100755 scripts/field/GiantBoss_LArm.py create mode 100755 scripts/field/GiantBoss_RArm.py create mode 100755 scripts/field/GiantBoss_field.py create mode 100755 scripts/field/HeadScript1.py create mode 100755 scripts/field/HeadScript2.py create mode 100755 scripts/field/HeadScript3.py create mode 100755 scripts/field/HorntailFight.py create mode 100755 scripts/field/P3_Event1_Start.py create mode 100755 scripts/field/PTjob1.py create mode 100755 scripts/field/PTjob2M.py create mode 100755 scripts/field/PTjob2M2.py create mode 100755 scripts/field/PTtutor000.py create mode 100755 scripts/field/PTtutor100.py create mode 100755 scripts/field/PTtutor300.py create mode 100755 scripts/field/PTtutor301.py create mode 100755 scripts/field/PTtutor500.py create mode 100755 scripts/field/PinkBeenJob_Event.py create mode 100755 scripts/field/PinkBeen_before.py create mode 100755 scripts/field/Polo_Wave.py create mode 100755 scripts/field/PrincessNo.py create mode 100755 scripts/field/PrincessNo_summon.py create mode 100755 scripts/field/PromiseDragon.py create mode 100755 scripts/field/Ranmaru_Before.py create mode 100755 scripts/field/Ranmaru_ExpeditionEnter.py create mode 100755 scripts/field/Ranmaru_ExpeditionEnter2.py create mode 100755 scripts/field/Resi_tutor10.py create mode 100755 scripts/field/Resi_tutor20.py create mode 100755 scripts/field/Resi_tutor30.py create mode 100755 scripts/field/Resi_tutor40.py create mode 100755 scripts/field/Resi_tutor50.py create mode 100755 scripts/field/Resi_tutor50_1.py create mode 100755 scripts/field/Resi_tutor60.py create mode 100755 scripts/field/Resi_tutor70.py create mode 100755 scripts/field/Resi_tutor80.py create mode 100755 scripts/field/SailField.py create mode 100755 scripts/field/ShipLevel.py create mode 100755 scripts/field/Sky_GateMapEnter.py create mode 100755 scripts/field/Sky_Quest.py create mode 100755 scripts/field/Sky_StageEnter.py create mode 100755 scripts/field/StageMsg_crack.py create mode 100755 scripts/field/StageMsg_davy.py create mode 100755 scripts/field/StageUserEnterSengo.py create mode 100755 scripts/field/UMField.py create mode 100755 scripts/field/VanLeon_Before.py create mode 100755 scripts/field/VisitorleaveDirectionMode.py create mode 100755 scripts/field/WUK_enter.py create mode 100755 scripts/field/WU_moonRabbit.py create mode 100755 scripts/field/WUmoonrabbit_count.py create mode 100755 scripts/field/WUmoonrabbit_mapEnter.py create mode 100755 scripts/field/abysscave_ent.py create mode 100755 scripts/field/achieve_davy.py create mode 100755 scripts/field/agite_sion.py create mode 100755 scripts/field/angelic_tuto0.py create mode 100755 scripts/field/angelic_tuto1.py create mode 100755 scripts/field/angelic_tuto10.py create mode 100755 scripts/field/angelic_tuto10_0.py create mode 100755 scripts/field/angelic_tuto11.py create mode 100755 scripts/field/angelic_tuto12.py create mode 100755 scripts/field/angelic_tuto2.py create mode 100755 scripts/field/angelic_tuto2_0.py create mode 100755 scripts/field/angelic_tuto3.py create mode 100755 scripts/field/angelic_tuto3_0.py create mode 100755 scripts/field/angelic_tuto4.py create mode 100755 scripts/field/angelic_tuto5.py create mode 100755 scripts/field/angelic_tuto6.py create mode 100755 scripts/field/angelic_tuto6_0.py create mode 100755 scripts/field/angelic_tuto7.py create mode 100755 scripts/field/angelic_tuto7_0.py create mode 100755 scripts/field/angelic_tuto7_1.py create mode 100755 scripts/field/angelic_tuto8.py create mode 100755 scripts/field/angelic_tuto8_0.py create mode 100755 scripts/field/angelic_tuto8_1.py create mode 100755 scripts/field/angelic_tuto9.py create mode 100755 scripts/field/angelic_tuto9_0.py create mode 100755 scripts/field/angelic_tuto9_1.py create mode 100755 scripts/field/angelic_tutoA.py create mode 100755 scripts/field/angelic_tutoB.py create mode 100755 scripts/field/angelic_tutoC.py create mode 100755 scripts/field/aranDirection.py create mode 100755 scripts/field/aranTutorAlone.py create mode 100755 scripts/field/aranTutorMobgen.py create mode 100755 scripts/field/arcanaBoss2.py create mode 100755 scripts/field/arcanaCave_mapEnter.py create mode 100755 scripts/field/arcane1MO_1.py create mode 100755 scripts/field/arcane1MO_2_2.py create mode 100755 scripts/field/ark_mPark.py create mode 100755 scripts/field/babyPigMap.py create mode 100755 scripts/field/badDream1.py create mode 100755 scripts/field/badDream2.py create mode 100755 scripts/field/badDream3.py create mode 100755 scripts/field/badDream4.py create mode 100755 scripts/field/badDream5.py create mode 100755 scripts/field/badDream6.py create mode 100755 scripts/field/badDream7.py create mode 100755 scripts/field/badDream8.py create mode 100755 scripts/field/balog_summon.py create mode 100755 scripts/field/banban_Summon.py create mode 100755 scripts/field/bellderos_summon.py create mode 100755 scripts/field/bhb1_scEnterHp.py create mode 100755 scripts/field/bhb2_scEnterHp.py create mode 100755 scripts/field/bhb2_scenario.py create mode 100755 scripts/field/bhb3_scenario.py create mode 100755 scripts/field/blackHeavenBoss1_scenario.py create mode 100755 scripts/field/blackHeavenBoss1_summon.py create mode 100755 scripts/field/blackHeavenBoss1n_summon.py create mode 100755 scripts/field/blackHeavenBoss2_summon.py create mode 100755 scripts/field/blackHeavenBoss2n_summon.py create mode 100755 scripts/field/blackHeavenBoss3_summon.py create mode 100755 scripts/field/blackHeavenBoss3n_summon.py create mode 100755 scripts/field/blackSlimeBoss.py create mode 100755 scripts/field/blackgateCityFirstEnter.py create mode 100755 scripts/field/boss_blackvikign.py create mode 100755 scripts/field/cannon_tuto_01.py create mode 100755 scripts/field/cannon_tuto_02.py create mode 100755 scripts/field/cannon_tuto_03.py create mode 100755 scripts/field/cannon_tuto_direction.py create mode 100755 scripts/field/cannon_tuto_direction1.py create mode 100755 scripts/field/cannon_tuto_direction2.py create mode 100755 scripts/field/captain_lat_enter.py create mode 100755 scripts/field/chaos_summon_zakum.py create mode 100755 scripts/field/chaos_zakum_enter.py create mode 100755 scripts/field/check_count.py create mode 100755 scripts/field/check_q20833.py create mode 100755 scripts/field/clearBossDirection1.py create mode 100755 scripts/field/crash_Dragon.py create mode 100755 scripts/field/crimsonSniping.py create mode 100755 scripts/field/crossHunter_q1608.py create mode 100755 scripts/field/crossHunter_q1626.py create mode 100755 scripts/field/cygnus_Minimap.py create mode 100755 scripts/field/cygnus_Summon.py create mode 100755 scripts/field/cygnus_Summon_Easy.py create mode 100755 scripts/field/cygnus_blackhole.py create mode 100755 scripts/field/cygnus_nightmare.py create mode 100755 scripts/field/cygnus_nightmare2.py create mode 100755 scripts/field/da_JobChange4.py create mode 100755 scripts/field/defeat_mob.py create mode 100755 scripts/field/defeat_mob2.py create mode 100755 scripts/field/demon_jobChange0.py create mode 100755 scripts/field/demon_jobChange1.py create mode 100755 scripts/field/direction_eunwol_house.py create mode 100755 scripts/field/direction_foxvillage.py create mode 100755 scripts/field/dojang_Eff.py create mode 100755 scripts/field/dojang_Msg.py create mode 100755 scripts/field/dojang_QcheckSet.py create mode 100755 scripts/field/dojang_hall.py create mode 100755 scripts/field/drop_etc.py create mode 100755 scripts/field/ds_JobChange4_0.py create mode 100755 scripts/field/ds_JobChange4_1.py create mode 100755 scripts/field/ds_enter_home.py create mode 100755 scripts/field/ds_tuto_0_0.py create mode 100755 scripts/field/ds_tuto_0_1.py create mode 100755 scripts/field/ds_tuto_0_2.py create mode 100755 scripts/field/ds_tuto_0_3.py create mode 100755 scripts/field/ds_tuto_1_0.py create mode 100755 scripts/field/ds_tuto_1_1.py create mode 100755 scripts/field/ds_tuto_1_before.py create mode 100755 scripts/field/ds_tuto_2_1.py create mode 100755 scripts/field/ds_tuto_2_2.py create mode 100755 scripts/field/ds_tuto_2_3.py create mode 100755 scripts/field/ds_tuto_2_before.py create mode 100755 scripts/field/ds_tuto_2_prep.py create mode 100755 scripts/field/ds_tuto_3_0.py create mode 100755 scripts/field/ds_tuto_3_1.py create mode 100755 scripts/field/ds_tuto_4_0.py create mode 100755 scripts/field/ds_tuto_4_1.py create mode 100755 scripts/field/ds_tuto_5_0.py create mode 100755 scripts/field/ds_tuto_ani.py create mode 100755 scripts/field/ds_tuto_home_before.py create mode 100755 scripts/field/dubl2Tuto0.py create mode 100755 scripts/field/dubl2Tuto0_0.py create mode 100755 scripts/field/dublTuto21.py create mode 100755 scripts/field/dublTuto23.py create mode 100755 scripts/field/easy_balog_summon.py create mode 100755 scripts/field/easy_zakum_enter.py create mode 100755 scripts/field/enterAswanField.py create mode 100755 scripts/field/enterBossDirection0.py create mode 100755 scripts/field/enter_100051010.py create mode 100755 scripts/field/enter_100051021.py create mode 100755 scripts/field/enter_100051022.py create mode 100755 scripts/field/enter_100051030.py create mode 100755 scripts/field/enter_100051031.py create mode 100755 scripts/field/enter_100051033.py create mode 100755 scripts/field/enter_100051034.py create mode 100755 scripts/field/enter_100051040.py create mode 100755 scripts/field/enter_100051042.py create mode 100755 scripts/field/enter_100051043.py create mode 100755 scripts/field/enter_100051044.py create mode 100755 scripts/field/enter_101000100.py create mode 100755 scripts/field/enter_101020100.py create mode 100755 scripts/field/enter_101020400.py create mode 100755 scripts/field/enter_101020401.py create mode 100755 scripts/field/enter_101070001.py create mode 100755 scripts/field/enter_101072001.py create mode 100755 scripts/field/enter_101072002.py create mode 100755 scripts/field/enter_101073010.py create mode 100755 scripts/field/enter_101073110.py create mode 100755 scripts/field/enter_101073201.py create mode 100755 scripts/field/enter_101073300.py create mode 100755 scripts/field/enter_101074000.py create mode 100755 scripts/field/enter_101074001.py create mode 100755 scripts/field/enter_101080000.py create mode 100755 scripts/field/enter_101081300.py create mode 100755 scripts/field/enter_101082000.py create mode 100755 scripts/field/enter_106030100.py create mode 100755 scripts/field/enter_106031000.py create mode 100755 scripts/field/enter_106031001.py create mode 100755 scripts/field/enter_106031002.py create mode 100755 scripts/field/enter_106031003.py create mode 100755 scripts/field/enter_106031100.py create mode 100755 scripts/field/enter_106031210.py create mode 100755 scripts/field/enter_106031504.py create mode 100755 scripts/field/enter_120040300.py create mode 100755 scripts/field/enter_141000000.py create mode 100755 scripts/field/enter_141010400.py create mode 100755 scripts/field/enter_141040001.py create mode 100755 scripts/field/enter_141040002.py create mode 100755 scripts/field/enter_141040003.py create mode 100755 scripts/field/enter_141050000.py create mode 100755 scripts/field/enter_141050300.py create mode 100755 scripts/field/enter_141050400.py create mode 100755 scripts/field/enter_141060000.py create mode 100755 scripts/field/enter_23210.py create mode 100755 scripts/field/enter_23214.py create mode 100755 scripts/field/enter_23615.py create mode 100755 scripts/field/enter_270000000.py create mode 100755 scripts/field/enter_301000000.py create mode 100755 scripts/field/enter_301070010.py create mode 100755 scripts/field/enter_302000000.py create mode 100755 scripts/field/enter_331000000.py create mode 100755 scripts/field/enter_331001000.py create mode 100755 scripts/field/enter_331001100.py create mode 100755 scripts/field/enter_331001110.py create mode 100755 scripts/field/enter_331001120.py create mode 100755 scripts/field/enter_331001130.py create mode 100755 scripts/field/enter_331002000.py create mode 100755 scripts/field/enter_331002100.py create mode 100755 scripts/field/enter_331002300.py create mode 100755 scripts/field/enter_331002400.py create mode 100755 scripts/field/enter_331002500.py create mode 100755 scripts/field/enter_331003000.py create mode 100755 scripts/field/enter_331003100.py create mode 100755 scripts/field/enter_331003200.py create mode 100755 scripts/field/enter_331003300.py create mode 100755 scripts/field/enter_331005110.py create mode 100755 scripts/field/enter_331005120.py create mode 100755 scripts/field/enter_400000000.py create mode 100755 scripts/field/enter_402000000.py create mode 100755 scripts/field/enter_402000002.py create mode 100755 scripts/field/enter_402000110.py create mode 100755 scripts/field/enter_402000111.py create mode 100755 scripts/field/enter_402000402.py create mode 100755 scripts/field/enter_402000501.py create mode 100755 scripts/field/enter_402000502.py create mode 100755 scripts/field/enter_402000504.py create mode 100755 scripts/field/enter_402000509.py create mode 100755 scripts/field/enter_402000510.py create mode 100755 scripts/field/enter_402000512.py create mode 100755 scripts/field/enter_402000513.py create mode 100755 scripts/field/enter_402000514.py create mode 100755 scripts/field/enter_402000519.py create mode 100755 scripts/field/enter_402000520.py create mode 100755 scripts/field/enter_402000521.py create mode 100755 scripts/field/enter_402000522.py create mode 100755 scripts/field/enter_402000523.py create mode 100755 scripts/field/enter_402000526.py create mode 100755 scripts/field/enter_402000527.py create mode 100755 scripts/field/enter_402000528.py create mode 100755 scripts/field/enter_402000529.py create mode 100755 scripts/field/enter_402000530.py create mode 100755 scripts/field/enter_402000531.py create mode 100755 scripts/field/enter_402000532.py create mode 100755 scripts/field/enter_402000533.py create mode 100755 scripts/field/enter_402000534.py create mode 100755 scripts/field/enter_402000535.py create mode 100755 scripts/field/enter_402000600.py create mode 100755 scripts/field/enter_402000614.py create mode 100755 scripts/field/enter_402000615.py create mode 100755 scripts/field/enter_402000620.py create mode 100755 scripts/field/enter_402000630.py create mode 100755 scripts/field/enter_402000633.py create mode 100755 scripts/field/enter_402000635.py create mode 100755 scripts/field/enter_402000640.py create mode 100755 scripts/field/enter_402000644.py create mode 100755 scripts/field/enter_402090000.py create mode 100755 scripts/field/enter_402090001.py create mode 100755 scripts/field/enter_402090002.py create mode 100755 scripts/field/enter_402090003.py create mode 100755 scripts/field/enter_402090004.py create mode 100755 scripts/field/enter_402090005.py create mode 100755 scripts/field/enter_402090006.py create mode 100755 scripts/field/enter_402090007.py create mode 100755 scripts/field/enter_402090009.py create mode 100755 scripts/field/enter_402090010.py create mode 100755 scripts/field/enter_402090011.py create mode 100755 scripts/field/enter_402090012.py create mode 100755 scripts/field/enter_402090013.py create mode 100755 scripts/field/enter_450000200.py create mode 100755 scripts/field/enter_450001000.py create mode 100755 scripts/field/enter_450001218.py create mode 100755 scripts/field/enter_450001219.py create mode 100755 scripts/field/enter_450001250.py create mode 100755 scripts/field/enter_450001300.py create mode 100755 scripts/field/enter_450001310.py create mode 100755 scripts/field/enter_450001320.py create mode 100755 scripts/field/enter_450001330.py create mode 100755 scripts/field/enter_450001340.py create mode 100755 scripts/field/enter_450001350.py create mode 100755 scripts/field/enter_450001360.py create mode 100755 scripts/field/enter_450001370.py create mode 100755 scripts/field/enter_450001380.py create mode 100755 scripts/field/enter_450001390.py create mode 100755 scripts/field/enter_450001550.py create mode 100755 scripts/field/enter_450002023.py create mode 100755 scripts/field/enter_450002201.py create mode 100755 scripts/field/enter_450002202.py create mode 100755 scripts/field/enter_450002204.py create mode 100755 scripts/field/enter_450002205.py create mode 100755 scripts/field/enter_450002250.py create mode 100755 scripts/field/enter_450003000.py create mode 100755 scripts/field/enter_450003100.py create mode 100755 scripts/field/enter_450003330.py create mode 100755 scripts/field/enter_450003430.py create mode 100755 scripts/field/enter_450003700.py create mode 100755 scripts/field/enter_450003710.py create mode 100755 scripts/field/enter_450003711.py create mode 100755 scripts/field/enter_450003720.py create mode 100755 scripts/field/enter_450003730.py create mode 100755 scripts/field/enter_450003740.py create mode 100755 scripts/field/enter_450003750.py create mode 100755 scripts/field/enter_450003760.py create mode 100755 scripts/field/enter_450003770.py create mode 100755 scripts/field/enter_450004000.py create mode 100755 scripts/field/enter_450004100.py create mode 100755 scripts/field/enter_450004150.py create mode 100755 scripts/field/enter_450004200.py create mode 100755 scripts/field/enter_450004300.py create mode 100755 scripts/field/enter_450005000.py create mode 100755 scripts/field/enter_450005015.py create mode 100755 scripts/field/enter_450005400.py create mode 100755 scripts/field/enter_701210130.py create mode 100755 scripts/field/enter_701210131.py create mode 100755 scripts/field/enter_701210161.py create mode 100755 scripts/field/enter_701220000.py create mode 100755 scripts/field/enter_701220100.py create mode 100755 scripts/field/enter_701220300.py create mode 100755 scripts/field/enter_701220351.py create mode 100755 scripts/field/enter_701220352.py create mode 100755 scripts/field/enter_701220400.py create mode 100755 scripts/field/enter_701220500.py create mode 100755 scripts/field/enter_701220600.py create mode 100755 scripts/field/enter_701220601.py create mode 100755 scripts/field/enter_701220602.py create mode 100755 scripts/field/enter_701220610.py create mode 100755 scripts/field/enter_701220710.py create mode 100755 scripts/field/enter_867200100.py create mode 100755 scripts/field/enter_867200101.py create mode 100755 scripts/field/enter_867200102.py create mode 100755 scripts/field/enter_867200110.py create mode 100755 scripts/field/enter_867200111.py create mode 100755 scripts/field/enter_867200200.py create mode 100755 scripts/field/enter_867200220.py create mode 100755 scripts/field/enter_867200240.py create mode 100755 scripts/field/enter_867200260.py create mode 100755 scripts/field/enter_867200281.py create mode 100755 scripts/field/enter_867200310.py create mode 100755 scripts/field/enter_867200330.py create mode 100755 scripts/field/enter_867200350.py create mode 100755 scripts/field/enter_867200400.py create mode 100755 scripts/field/enter_867200401.py create mode 100755 scripts/field/enter_867200402.py create mode 100755 scripts/field/enter_867200403.py create mode 100755 scripts/field/enter_867200404.py create mode 100755 scripts/field/enter_867200405.py create mode 100755 scripts/field/enter_867200406.py create mode 100755 scripts/field/enter_867200407.py create mode 100755 scripts/field/enter_867200419.py create mode 100755 scripts/field/enter_867200420.py create mode 100755 scripts/field/enter_867200460.py create mode 100755 scripts/field/enter_867200480.py create mode 100755 scripts/field/enter_867200500.py create mode 100755 scripts/field/enter_867200501.py create mode 100755 scripts/field/enter_867200550.py create mode 100755 scripts/field/enter_867200551.py create mode 100755 scripts/field/enter_867200552.py create mode 100755 scripts/field/enter_867200600.py create mode 100755 scripts/field/enter_867200620.py create mode 100755 scripts/field/enter_867200621.py create mode 100755 scripts/field/enter_867200622.py create mode 100755 scripts/field/enter_867200630.py create mode 100755 scripts/field/enter_867200650.py create mode 100755 scripts/field/enter_867200720.py create mode 100755 scripts/field/enter_867200721.py create mode 100755 scripts/field/enter_867200722.py create mode 100755 scripts/field/enter_867200724.py create mode 100755 scripts/field/enter_867200725.py create mode 100755 scripts/field/enter_867200800.py create mode 100755 scripts/field/enter_867200801.py create mode 100755 scripts/field/enter_867200802.py create mode 100755 scripts/field/enter_867200810.py create mode 100755 scripts/field/enter_867200850.py create mode 100755 scripts/field/enter_867200851.py create mode 100755 scripts/field/enter_867200852.py create mode 100755 scripts/field/enter_867200859.py create mode 100755 scripts/field/enter_867200860.py create mode 100755 scripts/field/enter_867200900.py create mode 100755 scripts/field/enter_867200920.py create mode 100755 scripts/field/enter_867200940.py create mode 100755 scripts/field/enter_867200960.py create mode 100755 scripts/field/enter_867200961.py create mode 100755 scripts/field/enter_867200980.py create mode 100755 scripts/field/enter_867201000.py create mode 100755 scripts/field/enter_867201001.py create mode 100755 scripts/field/enter_867201004.py create mode 100755 scripts/field/enter_867201005.py create mode 100755 scripts/field/enter_867201011.py create mode 100755 scripts/field/enter_867201012.py create mode 100755 scripts/field/enter_867201020.py create mode 100755 scripts/field/enter_867201050.py create mode 100755 scripts/field/enter_867201100.py create mode 100755 scripts/field/enter_867201101.py create mode 100755 scripts/field/enter_867201102.py create mode 100755 scripts/field/enter_867201130.py create mode 100755 scripts/field/enter_867201150.py create mode 100755 scripts/field/enter_867201160.py create mode 100755 scripts/field/enter_867201180.py create mode 100755 scripts/field/enter_867201200.py create mode 100755 scripts/field/enter_867201220.py create mode 100755 scripts/field/enter_867201240.py create mode 100755 scripts/field/enter_867201260.py create mode 100755 scripts/field/enter_867201280.py create mode 100755 scripts/field/enter_867201301.py create mode 100755 scripts/field/enter_867201320.py create mode 100755 scripts/field/enter_867201340.py create mode 100755 scripts/field/enter_867201401.py create mode 100755 scripts/field/enter_867201501.py create mode 100755 scripts/field/enter_867201502.py create mode 100755 scripts/field/enter_867201503.py create mode 100755 scripts/field/enter_867201510.py create mode 100755 scripts/field/enter_867201540.py create mode 100755 scripts/field/enter_867201550.py create mode 100755 scripts/field/enter_867201560.py create mode 100755 scripts/field/enter_867201580.py create mode 100755 scripts/field/enter_867201601.py create mode 100755 scripts/field/enter_867201602.py create mode 100755 scripts/field/enter_867201603.py create mode 100755 scripts/field/enter_867201690.py create mode 100755 scripts/field/enter_867201700.py create mode 100755 scripts/field/enter_867201720.py create mode 100755 scripts/field/enter_867201740.py create mode 100755 scripts/field/enter_867201760.py create mode 100755 scripts/field/enter_867201800.py create mode 100755 scripts/field/enter_867201801.py create mode 100755 scripts/field/enter_867201802.py create mode 100755 scripts/field/enter_867201803.py create mode 100755 scripts/field/enter_867201810.py create mode 100755 scripts/field/enter_867201820.py create mode 100755 scripts/field/enter_867201821.py create mode 100755 scripts/field/enter_867201822.py create mode 100755 scripts/field/enter_867201900.py create mode 100755 scripts/field/enter_867201980.py create mode 100755 scripts/field/enter_867202000.py create mode 100755 scripts/field/enter_867202050.py create mode 100755 scripts/field/enter_867202051.py create mode 100755 scripts/field/enter_867202052.py create mode 100755 scripts/field/enter_867202053.py create mode 100755 scripts/field/enter_867202101.py create mode 100755 scripts/field/enter_867202200.py create mode 100755 scripts/field/enter_867202201.py create mode 100755 scripts/field/enter_867202203.py create mode 100755 scripts/field/enter_867202210.py create mode 100755 scripts/field/enter_867202230.py create mode 100755 scripts/field/enter_867202290.py create mode 100755 scripts/field/enter_867202300.py create mode 100755 scripts/field/enter_867202301.py create mode 100755 scripts/field/enter_867202302.py create mode 100755 scripts/field/enter_867202303.py create mode 100755 scripts/field/enter_867202304.py create mode 100755 scripts/field/enter_867202305.py create mode 100755 scripts/field/enter_867202306.py create mode 100755 scripts/field/enter_867202307.py create mode 100755 scripts/field/enter_867202308.py create mode 100755 scripts/field/enter_867202309.py create mode 100755 scripts/field/enter_867202310.py create mode 100755 scripts/field/enter_867202311.py create mode 100755 scripts/field/enter_867202312.py create mode 100755 scripts/field/enter_867202313.py create mode 100755 scripts/field/enter_867202314.py create mode 100755 scripts/field/enter_867202315.py create mode 100755 scripts/field/enter_867202316.py create mode 100755 scripts/field/enter_867202398.py create mode 100755 scripts/field/enter_867202399.py create mode 100755 scripts/field/enter_867202401.py create mode 100755 scripts/field/enter_867202402.py create mode 100755 scripts/field/enter_867202403.py create mode 100755 scripts/field/enter_867202404.py create mode 100755 scripts/field/enter_867202420.py create mode 100755 scripts/field/enter_867202440.py create mode 100755 scripts/field/enter_867202460.py create mode 100755 scripts/field/enter_867202480.py create mode 100755 scripts/field/enter_867202500.py create mode 100755 scripts/field/enter_867202600.py create mode 100755 scripts/field/enter_867202620.py create mode 100755 scripts/field/enter_867202650.py create mode 100755 scripts/field/enter_867202651.py create mode 100755 scripts/field/enter_867202652.py create mode 100755 scripts/field/enter_867202660.py create mode 100755 scripts/field/enter_867202680.py create mode 100755 scripts/field/enter_867202681.py create mode 100755 scripts/field/enter_867202682.py create mode 100755 scripts/field/enter_867202683.py create mode 100755 scripts/field/enter_867202700.py create mode 100755 scripts/field/enter_867202800.py create mode 100755 scripts/field/enter_867202880.py create mode 100755 scripts/field/enter_867202910.py create mode 100755 scripts/field/enter_867202990.py create mode 100755 scripts/field/enter_867233001.py create mode 100755 scripts/field/enter_867235900.py create mode 100755 scripts/field/enter_867236100.py create mode 100755 scripts/field/enter_867236150.py create mode 100755 scripts/field/enter_867236220.py create mode 100755 scripts/field/enter_867236250.py create mode 100755 scripts/field/enter_867236300.py create mode 100755 scripts/field/enter_910090301.py create mode 100755 scripts/field/enter_910090302.py create mode 100755 scripts/field/enter_910090303.py create mode 100755 scripts/field/enter_910090304.py create mode 100755 scripts/field/enter_910090305.py create mode 100755 scripts/field/enter_910090306.py create mode 100755 scripts/field/enter_910090307.py create mode 100755 scripts/field/enter_910090308.py create mode 100755 scripts/field/enter_910090309.py create mode 100755 scripts/field/enter_910090310.py create mode 100755 scripts/field/enter_910090311.py create mode 100755 scripts/field/enter_910090312.py create mode 100755 scripts/field/enter_910090313.py create mode 100755 scripts/field/enter_910090314.py create mode 100755 scripts/field/enter_910090350.py create mode 100755 scripts/field/enter_910143000.py create mode 100755 scripts/field/enter_910143001.py create mode 100755 scripts/field/enter_910143002.py create mode 100755 scripts/field/enter_910143003.py create mode 100755 scripts/field/enter_910370111.py create mode 100755 scripts/field/enter_924030000.py create mode 100755 scripts/field/enter_940021000.py create mode 100755 scripts/field/enter_940200100.py create mode 100755 scripts/field/enter_940200101.py create mode 100755 scripts/field/enter_940200102.py create mode 100755 scripts/field/enter_940200103.py create mode 100755 scripts/field/enter_940200104.py create mode 100755 scripts/field/enter_940200105.py create mode 100755 scripts/field/enter_940200111.py create mode 100755 scripts/field/enter_940200112.py create mode 100755 scripts/field/enter_940200120.py create mode 100755 scripts/field/enter_940200121.py create mode 100755 scripts/field/enter_940200122.py create mode 100755 scripts/field/enter_940200123.py create mode 100755 scripts/field/enter_940200124.py create mode 100755 scripts/field/enter_940200125.py create mode 100755 scripts/field/enter_940200130.py create mode 100755 scripts/field/enter_940200131.py create mode 100755 scripts/field/enter_940200132.py create mode 100755 scripts/field/enter_940200133.py create mode 100755 scripts/field/enter_940200140.py create mode 100755 scripts/field/enter_940200141.py create mode 100755 scripts/field/enter_940200142.py create mode 100755 scripts/field/enter_940200150.py create mode 100755 scripts/field/enter_940200151.py create mode 100755 scripts/field/enter_940200152.py create mode 100755 scripts/field/enter_940200200.py create mode 100755 scripts/field/enter_940200202.py create mode 100755 scripts/field/enter_940200203.py create mode 100755 scripts/field/enter_940200204.py create mode 100755 scripts/field/enter_940200205.py create mode 100755 scripts/field/enter_940200206.py create mode 100755 scripts/field/enter_940200207.py create mode 100755 scripts/field/enter_940200210.py create mode 100755 scripts/field/enter_940200212.py create mode 100755 scripts/field/enter_940200213.py create mode 100755 scripts/field/enter_940200214.py create mode 100755 scripts/field/enter_940200215.py create mode 100755 scripts/field/enter_940200216.py create mode 100755 scripts/field/enter_940200217.py create mode 100755 scripts/field/enter_940200219.py create mode 100755 scripts/field/enter_940200250.py create mode 100755 scripts/field/enter_940200251.py create mode 100755 scripts/field/enter_940200252.py create mode 100755 scripts/field/enter_940200253.py create mode 100755 scripts/field/enter_940200255.py create mode 100755 scripts/field/enter_940200330.py create mode 100755 scripts/field/enter_940200405.py create mode 100755 scripts/field/enter_940200500.py create mode 100755 scripts/field/enter_940200501.py create mode 100755 scripts/field/enter_940200502.py create mode 100755 scripts/field/enter_940200600.py create mode 100755 scripts/field/enter_940202019.py create mode 100755 scripts/field/enter_940202020.py create mode 100755 scripts/field/enter_940202021.py create mode 100755 scripts/field/enter_940202022.py create mode 100755 scripts/field/enter_940202029.py create mode 100755 scripts/field/enter_940202030.py create mode 100755 scripts/field/enter_940202031.py create mode 100755 scripts/field/enter_940202032.py create mode 100755 scripts/field/enter_940202033.py create mode 100755 scripts/field/enter_940202034.py create mode 100755 scripts/field/enter_940202035.py create mode 100755 scripts/field/enter_940202036.py create mode 100755 scripts/field/enter_940202037.py create mode 100755 scripts/field/enter_940202040.py create mode 100755 scripts/field/enter_940202041.py create mode 100755 scripts/field/enter_940202100.py create mode 100755 scripts/field/enter_940202200.py create mode 100755 scripts/field/enter_940202300.py create mode 100755 scripts/field/enter_940202400.py create mode 100755 scripts/field/enter_940202500.py create mode 100755 scripts/field/enter_940202600.py create mode 100755 scripts/field/enter_940202700.py create mode 100755 scripts/field/enter_940205000.py create mode 100755 scripts/field/enter_940205900.py create mode 100755 scripts/field/enter_970072000.py create mode 100755 scripts/field/enter_970072200.py create mode 100755 scripts/field/enter_993034000.py create mode 100755 scripts/field/enter_Elodin.py create mode 100755 scripts/field/enter_dlep1dir.py create mode 100755 scripts/field/enter_illium_hunt1.py create mode 100755 scripts/field/enter_illium_hunt2.py create mode 100755 scripts/field/enter_masRoom.py create mode 100755 scripts/field/enter_q25584.py create mode 100755 scripts/field/enter_q25587e.py create mode 100755 scripts/field/enter_q25587s.py create mode 100755 scripts/field/enter_rock_free.py create mode 100755 scripts/field/enter_skuasDir.py create mode 100755 scripts/field/enter_skuasDir0.py create mode 100755 scripts/field/enter_skuasDir4.py create mode 100755 scripts/field/enter_skuasDir5.py create mode 100755 scripts/field/enter_skuasStage.py create mode 100755 scripts/field/enter_spinep0dir.py create mode 100755 scripts/field/enter_stageEffect.py create mode 100755 scripts/field/enter_underbase.py create mode 100755 scripts/field/enter_visitor_1.py create mode 100755 scripts/field/enter_visitor_2.py create mode 100755 scripts/field/enter_visitor_3.py create mode 100755 scripts/field/enter_visitor_4.py create mode 100755 scripts/field/enter_visitor_5.py create mode 100755 scripts/field/enter_warZone1_0_1st.py create mode 100755 scripts/field/enter_warZone1_1_1st.py create mode 100755 scripts/field/enter_warZone1_1_2nd.py create mode 100755 scripts/field/eunwol_house.py create mode 100755 scripts/field/eunwol_tuto_1.py create mode 100755 scripts/field/eunwol_tuto_1_1.py create mode 100755 scripts/field/eunwol_tuto_2.py create mode 100755 scripts/field/eunwol_tuto_2_2.py create mode 100755 scripts/field/eunwol_tuto_3.py create mode 100755 scripts/field/eunwol_tuto_3_5.py create mode 100755 scripts/field/eunwol_tuto_5.py create mode 100755 scripts/field/eunwol_tuto_6.py create mode 100755 scripts/field/eunwol_tuto_7.py create mode 100755 scripts/field/eunwol_tuto_illust.py create mode 100755 scripts/field/evanAlone.py create mode 100755 scripts/field/evanLeaveD.py create mode 100755 scripts/field/evanTogether.py create mode 100755 scripts/field/event_25735.py create mode 100755 scripts/field/event_25735_end0.py create mode 100755 scripts/field/event_25735_end1.py create mode 100755 scripts/field/event_25744.py create mode 100755 scripts/field/event_25744_end.py create mode 100755 scripts/field/event_25852.py create mode 100755 scripts/field/event_25856.py create mode 100755 scripts/field/event_25857.py create mode 100755 scripts/field/evolvingDirection1.py create mode 100755 scripts/field/evolvingDirection2.py create mode 100755 scripts/field/evolvingDirection3.py create mode 100755 scripts/field/evolvingDirection5.py create mode 100755 scripts/field/evolvingDirection6.py create mode 100755 scripts/field/explorationPoint.py create mode 100755 scripts/field/fireWolf_Enter.py create mode 100755 scripts/field/first_DemianHard1.py create mode 100755 scripts/field/first_DemianHard2.py create mode 100755 scripts/field/first_DemianNormal1.py create mode 100755 scripts/field/first_DemianNormal2.py create mode 100755 scripts/field/firstenter_bossBlackMage.py create mode 100755 scripts/field/firstmeet_ayame.py create mode 100755 scripts/field/foxtree_direction.py create mode 100755 scripts/field/getDragonEgg.py create mode 100755 scripts/field/go10000.py create mode 100755 scripts/field/go1000000.py create mode 100755 scripts/field/go1010000.py create mode 100755 scripts/field/go1010100.py create mode 100755 scripts/field/go1010200.py create mode 100755 scripts/field/go1010300.py create mode 100755 scripts/field/go1010400.py create mode 100755 scripts/field/go1020000.py create mode 100755 scripts/field/go20000.py create mode 100755 scripts/field/go2000000.py create mode 100755 scripts/field/go30000.py create mode 100755 scripts/field/go40000.py create mode 100755 scripts/field/go50000.py create mode 100755 scripts/field/goAdventure.py create mode 100755 scripts/field/goArcher.py create mode 100755 scripts/field/goLith.py create mode 100755 scripts/field/goMagician.py create mode 100755 scripts/field/goPirate.py create mode 100755 scripts/field/goRogue.py create mode 100755 scripts/field/goSwordman.py create mode 100755 scripts/field/hayatoJobChange.py create mode 100755 scripts/field/hekaton_enter_HP.py create mode 100755 scripts/field/henesys_first.py create mode 100755 scripts/field/herbcheck.py create mode 100755 scripts/field/hillah_ExpeditionEnter.py create mode 100755 scripts/field/hontale_boss1.py create mode 100755 scripts/field/hontale_boss2.py create mode 100755 scripts/field/hontale_guide.py create mode 100755 scripts/field/iceCave.py create mode 100755 scripts/field/into_701220310.py create mode 100755 scripts/field/jett_tuto_0_0.py create mode 100755 scripts/field/jett_tuto_10_0.py create mode 100755 scripts/field/jett_tuto_10_0_before.py create mode 100755 scripts/field/jett_tuto_10_1.py create mode 100755 scripts/field/jett_tuto_12_0.py create mode 100755 scripts/field/jett_tuto_12_1.py create mode 100755 scripts/field/jett_tuto_13_0.py create mode 100755 scripts/field/jett_tuto_13_0_before.py create mode 100755 scripts/field/jett_tuto_1_0.py create mode 100755 scripts/field/jett_tuto_2_0.py create mode 100755 scripts/field/jett_tuto_2_1.py create mode 100755 scripts/field/jett_tuto_2_2.py create mode 100755 scripts/field/jett_tuto_2_3.py create mode 100755 scripts/field/jett_tuto_3_0.py create mode 100755 scripts/field/jett_tuto_4_0.py create mode 100755 scripts/field/jett_tuto_4_1.py create mode 100755 scripts/field/jett_tuto_5_0.py create mode 100755 scripts/field/jett_tuto_6_0.py create mode 100755 scripts/field/jett_tuto_7_1.py create mode 100755 scripts/field/jett_tuto_8_0.py create mode 100755 scripts/field/jett_tuto_8_1.py create mode 100755 scripts/field/jett_tuto_9_0.py create mode 100755 scripts/field/kaiser_illust1.py create mode 100755 scripts/field/kaiser_illust2.py create mode 100755 scripts/field/kaiser_tutoC_0_0.py create mode 100755 scripts/field/kaiser_tutoC_0_1.py create mode 100755 scripts/field/kaiser_tutoC_1_0.py create mode 100755 scripts/field/kaiser_tutoC_2_0.py create mode 100755 scripts/field/kaiser_tutoC_2_1.py create mode 100755 scripts/field/kaiser_tutoC_3_0.py create mode 100755 scripts/field/kaiser_tutoC_4_0.py create mode 100755 scripts/field/kaiser_tutoC_4_1.py create mode 100755 scripts/field/kaiser_tutoC_set.py create mode 100755 scripts/field/kaiser_tuto_0_0.py create mode 100755 scripts/field/kaiser_tuto_1_0.py create mode 100755 scripts/field/kaiser_tuto_1_1.py create mode 100755 scripts/field/kaiser_tuto_2_0.py create mode 100755 scripts/field/kaiser_tuto_3_0.py create mode 100755 scripts/field/kaiser_tuto_3_1.py create mode 100755 scripts/field/kaiser_tuto_3_2.py create mode 100755 scripts/field/kaiser_tuto_3_3.py create mode 100755 scripts/field/kaiser_tuto_3_4.py create mode 100755 scripts/field/kaiser_tuto_4_0.py create mode 100755 scripts/field/kaiser_tuto_5_0.py create mode 100755 scripts/field/kaiser_tuto_6_0.py create mode 100755 scripts/field/kaiser_tuto_7_0.py create mode 100755 scripts/field/kannaTutoDirection.py create mode 100755 scripts/field/kenjiTutoDirection.py create mode 100755 scripts/field/library_SaveFieldID.py create mode 100755 scripts/field/lightning_tuto_0_0.py create mode 100755 scripts/field/lightning_tuto_10_0.py create mode 100755 scripts/field/lightning_tuto_11_0.py create mode 100755 scripts/field/lightning_tuto_11_1.py create mode 100755 scripts/field/lightning_tuto_12_0.py create mode 100755 scripts/field/lightning_tuto_12_1.py create mode 100755 scripts/field/lightning_tuto_13_0.py create mode 100755 scripts/field/lightning_tuto_14_0.py create mode 100755 scripts/field/lightning_tuto_14_1.py create mode 100755 scripts/field/lightning_tuto_14_2.py create mode 100755 scripts/field/lightning_tuto_1_0.py create mode 100755 scripts/field/lightning_tuto_1_1.py create mode 100755 scripts/field/lightning_tuto_1_2.py create mode 100755 scripts/field/lightning_tuto_1_3.py create mode 100755 scripts/field/lightning_tuto_2_0.py create mode 100755 scripts/field/lightning_tuto_2_1.py create mode 100755 scripts/field/lightning_tuto_3_0.py create mode 100755 scripts/field/lightning_tuto_3_1.py create mode 100755 scripts/field/lightning_tuto_3_2.py create mode 100755 scripts/field/lightning_tuto_4_0.py create mode 100755 scripts/field/lightning_tuto_4_1.py create mode 100755 scripts/field/lightning_tuto_5_0.py create mode 100755 scripts/field/lightning_tuto_6_0.py create mode 100755 scripts/field/lightning_tuto_6_1.py create mode 100755 scripts/field/lightning_tuto_6_2.py create mode 100755 scripts/field/lightning_tuto_6_3.py create mode 100755 scripts/field/lightning_tuto_7_0.py create mode 100755 scripts/field/lightning_tuto_8_0.py create mode 100755 scripts/field/lightning_tuto_9_0.py create mode 100755 scripts/field/lostSpirit_mapEnter.py create mode 100755 scripts/field/mPark_stageEff.py create mode 100755 scripts/field/magicLibrary.py create mode 100755 scripts/field/magnus_enter_HP.py create mode 100755 scripts/field/magnus_summon.py create mode 100755 scripts/field/magnus_summon_E.py create mode 100755 scripts/field/magnus_summon_H.py create mode 100755 scripts/field/magnus_summon_N.py create mode 100755 scripts/field/map915020101.py create mode 100755 scripts/field/map915020201.py create mode 100755 scripts/field/map921110300.py create mode 100755 scripts/field/map921110301.py create mode 100755 scripts/field/map940200040.py create mode 100755 scripts/field/map940200050.py create mode 100755 scripts/field/map940200060.py create mode 100755 scripts/field/map_749080900.py create mode 100755 scripts/field/map_865000000.py create mode 100755 scripts/field/map_865000002.py create mode 100755 scripts/field/map_865000003.py create mode 100755 scripts/field/map_865000004.py create mode 100755 scripts/field/map_865010200.py create mode 100755 scripts/field/map_865020061.py create mode 100755 scripts/field/map_865030000.py create mode 100755 scripts/field/map_865090001.py create mode 100755 scripts/field/map_865090002.py create mode 100755 scripts/field/map_865090003.py create mode 100755 scripts/field/map_913070000.py create mode 100755 scripts/field/map_913070001.py create mode 100755 scripts/field/map_913070002.py create mode 100755 scripts/field/map_913070004.py create mode 100755 scripts/field/map_913070050.py create mode 100755 scripts/field/map_commerzForest.py create mode 100755 scripts/field/meetWithDragon.py create mode 100755 scripts/field/meet_arcanaBoss.py create mode 100755 scripts/field/merOutStandAlone.py create mode 100755 scripts/field/merOutStandAlone.py_old create mode 100755 scripts/field/merStandAlone.py create mode 100755 scripts/field/merTutorDrecotion00.py create mode 100755 scripts/field/merTutorDrecotion01.py create mode 100755 scripts/field/merTutorDrecotion02.py create mode 100755 scripts/field/merTutorDrecotion03.py create mode 100755 scripts/field/merTutorDrecotion04.py create mode 100755 scripts/field/merTutorDrecotion05.py create mode 100755 scripts/field/merTutorDrecotion10.py create mode 100755 scripts/field/merTutorDrecotion12.py create mode 100755 scripts/field/merTutorDrecotion20.py create mode 100755 scripts/field/merTutorSleep01.py create mode 100755 scripts/field/merTutorSleep02.py create mode 100755 scripts/field/merchant_Enter.py create mode 100755 scripts/field/mihail_direc.py create mode 100755 scripts/field/mirrorCave.py create mode 100755 scripts/field/momiji_Enter.py create mode 100755 scripts/field/moonrabbit_takeawayitem.py create mode 100755 scripts/field/murder.py create mode 100755 scripts/field/mushroom_bomb.py create mode 100755 scripts/field/nobu_aya.py create mode 100755 scripts/field/nobu_saku.py create mode 100755 scripts/field/normal_zakum_enter.py create mode 100755 scripts/field/nou_aya.py create mode 100755 scripts/field/nou_haya.py create mode 100755 scripts/field/np_tuto_0_5.py create mode 100755 scripts/field/onUserEnter_863010000.py create mode 100755 scripts/field/onUserEnter_863010700.py create mode 100755 scripts/field/pierre_Summon.py create mode 100755 scripts/field/pierre_Summon1.py create mode 100755 scripts/field/prisonBreak_1stageEnter.py create mode 100755 scripts/field/prisonBreak_mapEnter.py create mode 100755 scripts/field/pyramidEnter.py create mode 100755 scripts/field/q1601_summon.py create mode 100755 scripts/field/q25569_direction.py create mode 100755 scripts/field/q57141d.py create mode 100755 scripts/field/q57433m.py create mode 100755 scripts/field/q59000_tuto.py create mode 100755 scripts/field/queen_summon0.py create mode 100755 scripts/field/queen_summon1.py create mode 100755 scripts/field/resetEvolvingSystem.py create mode 100755 scripts/field/return_key.py create mode 100755 scripts/field/reundodraco.py create mode 100755 scripts/field/rien.py create mode 100755 scripts/field/rienArrow.py create mode 100755 scripts/field/root_camera.py create mode 100755 scripts/field/root_ereb01.py create mode 100755 scripts/field/root_meet.py create mode 100755 scripts/field/root_qrcave.py create mode 100755 scripts/field/root_secret.py create mode 100755 scripts/field/russianRoulette_enter.py create mode 100755 scripts/field/sc000025.py create mode 100755 scripts/field/sc000026.py create mode 100755 scripts/field/sc000027.py create mode 100755 scripts/field/sc000029.py create mode 100755 scripts/field/sc000033.py create mode 100755 scripts/field/stageEnter_50.py create mode 100755 scripts/field/startEreb.py create mode 100755 scripts/field/steal_truck.py create mode 100755 scripts/field/summonSchiller.py create mode 100755 scripts/field/summon_ARCflyingmob.py create mode 100755 scripts/field/summon_NPCkimoo.py create mode 100755 scripts/field/summon_aqupondo_5.py create mode 100755 scripts/field/summon_arcanaBoss.py create mode 100755 scripts/field/summon_assa.py create mode 100755 scripts/field/summon_cygnusTuto1.py create mode 100755 scripts/field/summon_cygnusTuto2.py create mode 100755 scripts/field/summon_hillaMob.py create mode 100755 scripts/field/summon_q20882.py create mode 100755 scripts/field/summon_qmob.py create mode 100755 scripts/field/tangyoon.py create mode 100755 scripts/field/test.py create mode 100755 scripts/field/testDummyBigboss.py create mode 100755 scripts/field/treglo_summon.py create mode 100755 scripts/field/undefined.py create mode 100755 scripts/field/undomorphdarco.py create mode 100755 scripts/field/userEnter_251020000.py create mode 100755 scripts/field/userEnter_252000000.py create mode 100755 scripts/field/victor_summon.py create mode 100755 scripts/field/visitCity.py create mode 100755 scripts/field/vonbonInsideMob.py create mode 100755 scripts/field/will_phase1.py create mode 100755 scripts/field/will_phase1_everyone.py create mode 100755 scripts/field/will_phase2.py create mode 100755 scripts/field/will_phase2_everyone.py create mode 100755 scripts/field/will_phase3.py create mode 100755 scripts/field/xn_tuto_0_0.py create mode 100755 scripts/field/xn_tuto_10_0.py create mode 100755 scripts/field/xn_tuto_11_0.py create mode 100755 scripts/field/xn_tuto_12_0.py create mode 100755 scripts/field/xn_tuto_13_0.py create mode 100755 scripts/field/xn_tuto_1_0.py create mode 100755 scripts/field/xn_tuto_2_0.py create mode 100755 scripts/field/xn_tuto_3_0.py create mode 100755 scripts/field/xn_tuto_4_0.py create mode 100755 scripts/field/xn_tuto_5_0.py create mode 100755 scripts/field/xn_tuto_6_0.py create mode 100755 scripts/field/xn_tuto_6_1.py create mode 100755 scripts/field/xn_tuto_7_0.py create mode 100755 scripts/field/xn_tuto_7_1.py create mode 100755 scripts/field/xn_tuto_8_0.py create mode 100755 scripts/field/xn_tuto_8_1.py create mode 100755 scripts/field/xn_tuto_8_2.py create mode 100755 scripts/field/xn_tuto_9_0.py create mode 100755 scripts/field/xn_tuto_logo.py create mode 100755 scripts/field/zakum_summon_normal.py create mode 100755 scripts/item/141060000_fishing.py create mode 100755 scripts/item/5040004.py create mode 100755 scripts/item/cash_5680260.py create mode 100755 scripts/item/cash_5680343.py create mode 100755 scripts/item/cash_5680382.py create mode 100755 scripts/item/cash_5680395.py create mode 100755 scripts/item/cash_5680474.py create mode 100755 scripts/item/consume_02431768.py create mode 100755 scripts/item/consume_02431769.py create mode 100755 scripts/item/consume_2020002.py create mode 100755 scripts/item/consume_2022455.py create mode 100755 scripts/item/consume_2210092.py create mode 100755 scripts/item/consume_2350000.py create mode 100755 scripts/item/consume_2430050.py create mode 100755 scripts/item/consume_2430071.py create mode 100755 scripts/item/consume_2430073.py create mode 100755 scripts/item/consume_2430076.py create mode 100755 scripts/item/consume_2430080.py create mode 100755 scripts/item/consume_2430091.py create mode 100755 scripts/item/consume_2430101.py create mode 100755 scripts/item/consume_2430112.py create mode 100755 scripts/item/consume_2430115.py create mode 100755 scripts/item/consume_2430117.py create mode 100755 scripts/item/consume_2430118.py create mode 100755 scripts/item/consume_2430135.py create mode 100755 scripts/item/consume_2430136.py create mode 100755 scripts/item/consume_2430137.py create mode 100755 scripts/item/consume_2430145.py create mode 100755 scripts/item/consume_2430147.py create mode 100755 scripts/item/consume_2430148.py create mode 100755 scripts/item/consume_2430182.py create mode 100755 scripts/item/consume_2430200.py create mode 100755 scripts/item/consume_2430201.py create mode 100755 scripts/item/consume_2430202.py create mode 100755 scripts/item/consume_2430203.py create mode 100755 scripts/item/consume_2430220.py create mode 100755 scripts/item/consume_2430228.py create mode 100755 scripts/item/consume_2430258.py create mode 100755 scripts/item/consume_2430259.py create mode 100755 scripts/item/consume_2430264.py create mode 100755 scripts/item/consume_2430266.py create mode 100755 scripts/item/consume_2430271.py create mode 100755 scripts/item/consume_2430272.py create mode 100755 scripts/item/consume_2430293.py create mode 100755 scripts/item/consume_2430294.py create mode 100755 scripts/item/consume_2430295.py create mode 100755 scripts/item/consume_2430296.py create mode 100755 scripts/item/consume_2430297.py create mode 100755 scripts/item/consume_2430298.py create mode 100755 scripts/item/consume_2430299.py create mode 100755 scripts/item/consume_2430300.py create mode 100755 scripts/item/consume_2430301.py create mode 100755 scripts/item/consume_2430302.py create mode 100755 scripts/item/consume_2430303.py create mode 100755 scripts/item/consume_2430304.py create mode 100755 scripts/item/consume_2430305.py create mode 100755 scripts/item/consume_2430306.py create mode 100755 scripts/item/consume_2430307.py create mode 100755 scripts/item/consume_2430308.py create mode 100755 scripts/item/consume_2430309.py create mode 100755 scripts/item/consume_2430310.py create mode 100755 scripts/item/consume_2430311.py create mode 100755 scripts/item/consume_2430312.py create mode 100755 scripts/item/consume_2430313.py create mode 100755 scripts/item/consume_2430314.py create mode 100755 scripts/item/consume_2430315.py create mode 100755 scripts/item/consume_2430316.py create mode 100755 scripts/item/consume_2430317.py create mode 100755 scripts/item/consume_2430319.py create mode 100755 scripts/item/consume_2430320.py create mode 100755 scripts/item/consume_2430323.py create mode 100755 scripts/item/consume_2430324.py create mode 100755 scripts/item/consume_2430325.py create mode 100755 scripts/item/consume_2430326.py create mode 100755 scripts/item/consume_2430335.py create mode 100755 scripts/item/consume_2430336.py create mode 100755 scripts/item/consume_2430339.py create mode 100755 scripts/item/consume_2430340.py create mode 100755 scripts/item/consume_2430341.py create mode 100755 scripts/item/consume_2430342.py create mode 100755 scripts/item/consume_2430345.py create mode 100755 scripts/item/consume_2430354.py create mode 100755 scripts/item/consume_2430355.py create mode 100755 scripts/item/consume_2430356.py create mode 100755 scripts/item/consume_2430357.py create mode 100755 scripts/item/consume_2430358.py create mode 100755 scripts/item/consume_2430359.py create mode 100755 scripts/item/consume_2430360.py create mode 100755 scripts/item/consume_2430361.py create mode 100755 scripts/item/consume_2430367.py create mode 100755 scripts/item/consume_2430403.py create mode 100755 scripts/item/consume_2430404.py create mode 100755 scripts/item/consume_2430481.py create mode 100755 scripts/item/consume_2430507.py create mode 100755 scripts/item/consume_2430508.py create mode 100755 scripts/item/consume_2430521.py create mode 100755 scripts/item/consume_2430550.py create mode 100755 scripts/item/consume_2430555.py create mode 100755 scripts/item/consume_2430556.py create mode 100755 scripts/item/consume_2430557.py create mode 100755 scripts/item/consume_2430666.py create mode 100755 scripts/item/consume_2430667.py create mode 100755 scripts/item/consume_2430692.py create mode 100755 scripts/item/consume_2430717.py create mode 100755 scripts/item/consume_2430750.py create mode 100755 scripts/item/consume_2430751.py create mode 100755 scripts/item/consume_2430768.py create mode 100755 scripts/item/consume_2430769.py create mode 100755 scripts/item/consume_2430770.py create mode 100755 scripts/item/consume_2430771.py create mode 100755 scripts/item/consume_2430872.py create mode 100755 scripts/item/consume_2430874.py create mode 100755 scripts/item/consume_2430875.py create mode 100755 scripts/item/consume_2430876.py create mode 100755 scripts/item/consume_2430877.py create mode 100755 scripts/item/consume_2430878.py create mode 100755 scripts/item/consume_2430915.py create mode 100755 scripts/item/consume_2430922.py create mode 100755 scripts/item/consume_2431123.py create mode 100755 scripts/item/consume_2431127.py create mode 100755 scripts/item/consume_2431128.py create mode 100755 scripts/item/consume_2431151.py create mode 100755 scripts/item/consume_2431174.py create mode 100755 scripts/item/consume_2431267.py create mode 100755 scripts/item/consume_2431268.py create mode 100755 scripts/item/consume_2431353.py create mode 100755 scripts/item/consume_2431362.py create mode 100755 scripts/item/consume_2431415.py create mode 100755 scripts/item/consume_2431422.py create mode 100755 scripts/item/consume_2431424.py create mode 100755 scripts/item/consume_2431426.py create mode 100755 scripts/item/consume_2431445.py create mode 100755 scripts/item/consume_2431456.py create mode 100755 scripts/item/consume_2431457.py create mode 100755 scripts/item/consume_2431473.py create mode 100755 scripts/item/consume_2431474.py create mode 100755 scripts/item/consume_2431490.py create mode 100755 scripts/item/consume_2431496.py create mode 100755 scripts/item/consume_2431498.py create mode 100755 scripts/item/consume_2431504.py create mode 100755 scripts/item/consume_2431505.py create mode 100755 scripts/item/consume_2431528.py create mode 100755 scripts/item/consume_2431542.py create mode 100755 scripts/item/consume_2431655.py create mode 100755 scripts/item/consume_2431656.py create mode 100755 scripts/item/consume_2431657.py create mode 100755 scripts/item/consume_2431658.py create mode 100755 scripts/item/consume_2431659.py create mode 100755 scripts/item/consume_2431660.py create mode 100755 scripts/item/consume_2431661.py create mode 100755 scripts/item/consume_2431662.py create mode 100755 scripts/item/consume_2431709.py create mode 100755 scripts/item/consume_2431710.py create mode 100755 scripts/item/consume_2431711.py create mode 100755 scripts/item/consume_2431733.py create mode 100755 scripts/item/consume_2431745.py create mode 100755 scripts/item/consume_2431752.py create mode 100755 scripts/item/consume_2431753.py create mode 100755 scripts/item/consume_2431764.py create mode 100755 scripts/item/consume_2431765.py create mode 100755 scripts/item/consume_2431797.py create mode 100755 scripts/item/consume_2431799.py create mode 100755 scripts/item/consume_2431835.py create mode 100755 scripts/item/consume_2431850.py create mode 100755 scripts/item/consume_2431855.py create mode 100755 scripts/item/consume_2431856.py create mode 100755 scripts/item/consume_2431893.py create mode 100755 scripts/item/consume_2431894.py create mode 100755 scripts/item/consume_2431895.py create mode 100755 scripts/item/consume_2431896.py create mode 100755 scripts/item/consume_2431898.py create mode 100755 scripts/item/consume_2431914.py create mode 100755 scripts/item/consume_2431915.py create mode 100755 scripts/item/consume_2431963.py create mode 100755 scripts/item/consume_2431964.py create mode 100755 scripts/item/consume_2431965.py create mode 100755 scripts/item/consume_2431966.py create mode 100755 scripts/item/consume_2431967.py create mode 100755 scripts/item/consume_2432003.py create mode 100755 scripts/item/consume_2432006.py create mode 100755 scripts/item/consume_2432007.py create mode 100755 scripts/item/consume_2432008.py create mode 100755 scripts/item/consume_2432015.py create mode 100755 scripts/item/consume_2432030.py create mode 100755 scripts/item/consume_2432078.py create mode 100755 scripts/item/consume_2432084.py create mode 100755 scripts/item/consume_2432085.py create mode 100755 scripts/item/consume_2432108.py create mode 100755 scripts/item/consume_2432131.py create mode 100755 scripts/item/consume_2432135.py create mode 100755 scripts/item/consume_2432138.py create mode 100755 scripts/item/consume_2432151.py create mode 100755 scripts/item/consume_2432153.py create mode 100755 scripts/item/consume_2432154.py create mode 100755 scripts/item/consume_2432167.py create mode 100755 scripts/item/consume_2432207.py create mode 100755 scripts/item/consume_2432218.py create mode 100755 scripts/item/consume_2432242.py create mode 100755 scripts/item/consume_2432291.py create mode 100755 scripts/item/consume_2432293.py create mode 100755 scripts/item/consume_2432295.py create mode 100755 scripts/item/consume_2432309.py create mode 100755 scripts/item/consume_2432316.py create mode 100755 scripts/item/consume_2432328.py create mode 100755 scripts/item/consume_2432346.py create mode 100755 scripts/item/consume_2432347.py create mode 100755 scripts/item/consume_2432348.py create mode 100755 scripts/item/consume_2432349.py create mode 100755 scripts/item/consume_2432350.py create mode 100755 scripts/item/consume_2432351.py create mode 100755 scripts/item/consume_2432354.py create mode 100755 scripts/item/consume_2432355.py create mode 100755 scripts/item/consume_2432359.py create mode 100755 scripts/item/consume_2432361.py create mode 100755 scripts/item/consume_2432377.py create mode 100755 scripts/item/consume_2432379.py create mode 100755 scripts/item/consume_2432380.py create mode 100755 scripts/item/consume_2432381.py create mode 100755 scripts/item/consume_2432382.py create mode 100755 scripts/item/consume_2432414.py create mode 100755 scripts/item/consume_2432418.py create mode 100755 scripts/item/consume_2432431.py create mode 100755 scripts/item/consume_2432432.py create mode 100755 scripts/item/consume_2432449.py create mode 100755 scripts/item/consume_2432450.py create mode 100755 scripts/item/consume_2432451.py create mode 100755 scripts/item/consume_2432465.py create mode 100755 scripts/item/consume_2432479.py create mode 100755 scripts/item/consume_2432498.py create mode 100755 scripts/item/consume_2432499.py create mode 100755 scripts/item/consume_2432500.py create mode 100755 scripts/item/consume_2432501.py create mode 100755 scripts/item/consume_2432526.py create mode 100755 scripts/item/consume_2432527.py create mode 100755 scripts/item/consume_2432528.py create mode 100755 scripts/item/consume_2432532.py create mode 100755 scripts/item/consume_2432552.py create mode 100755 scripts/item/consume_2432575.py create mode 100755 scripts/item/consume_2432576.py create mode 100755 scripts/item/consume_2432577.py create mode 100755 scripts/item/consume_2432578.py create mode 100755 scripts/item/consume_2432579.py create mode 100755 scripts/item/consume_2432580.py create mode 100755 scripts/item/consume_2432581.py create mode 100755 scripts/item/consume_2432582.py create mode 100755 scripts/item/consume_2432583.py create mode 100755 scripts/item/consume_2432591.py create mode 100755 scripts/item/consume_2432592.py create mode 100755 scripts/item/consume_2432635.py create mode 100755 scripts/item/consume_2432637.py create mode 100755 scripts/item/consume_2432638.py create mode 100755 scripts/item/consume_2432639.py create mode 100755 scripts/item/consume_2432640.py create mode 100755 scripts/item/consume_2432653.py create mode 100755 scripts/item/consume_2432655.py create mode 100755 scripts/item/consume_2432658.py create mode 100755 scripts/item/consume_2432659.py create mode 100755 scripts/item/consume_2432660.py create mode 100755 scripts/item/consume_2432661.py create mode 100755 scripts/item/consume_2432710.py create mode 100755 scripts/item/consume_2432732.py create mode 100755 scripts/item/consume_2432733.py create mode 100755 scripts/item/consume_2432735.py create mode 100755 scripts/item/consume_2432736.py create mode 100755 scripts/item/consume_2432748.py create mode 100755 scripts/item/consume_2432749.py create mode 100755 scripts/item/consume_2432751.py create mode 100755 scripts/item/consume_2432752.py create mode 100755 scripts/item/consume_2432803.py create mode 100755 scripts/item/consume_2432804.py create mode 100755 scripts/item/consume_2432806.py create mode 100755 scripts/item/consume_2432807.py create mode 100755 scripts/item/consume_2432821.py create mode 100755 scripts/item/consume_2432836.py create mode 100755 scripts/item/consume_2432839.py create mode 100755 scripts/item/consume_2432972.py create mode 100755 scripts/item/consume_2432973.py create mode 100755 scripts/item/consume_2432994.py create mode 100755 scripts/item/consume_2432995.py create mode 100755 scripts/item/consume_2432996.py create mode 100755 scripts/item/consume_2432997.py create mode 100755 scripts/item/consume_2432998.py create mode 100755 scripts/item/consume_2432999.py create mode 100755 scripts/item/consume_2433000.py create mode 100755 scripts/item/consume_2433001.py create mode 100755 scripts/item/consume_2433002.py create mode 100755 scripts/item/consume_2433003.py create mode 100755 scripts/item/consume_2433006.py create mode 100755 scripts/item/consume_2433026.py create mode 100755 scripts/item/consume_2433038.py create mode 100755 scripts/item/consume_2433053.py create mode 100755 scripts/item/consume_2433060.py create mode 100755 scripts/item/consume_2433063.py create mode 100755 scripts/item/consume_2433081.py create mode 100755 scripts/item/consume_2433097.py create mode 100755 scripts/item/consume_2433103.py create mode 100755 scripts/item/consume_2433107.py create mode 100755 scripts/item/consume_2433113.py create mode 100755 scripts/item/consume_2433128.py create mode 100755 scripts/item/consume_2433158.py create mode 100755 scripts/item/consume_2433160.py create mode 100755 scripts/item/consume_2433168.py create mode 100755 scripts/item/consume_2433169.py create mode 100755 scripts/item/consume_2433170.py create mode 100755 scripts/item/consume_2433178.py create mode 100755 scripts/item/consume_2433182.py create mode 100755 scripts/item/consume_2433183.py create mode 100755 scripts/item/consume_2433184.py create mode 100755 scripts/item/consume_2433198.py create mode 100755 scripts/item/consume_2433214.py create mode 100755 scripts/item/consume_2433236.py create mode 100755 scripts/item/consume_2433251.py create mode 100755 scripts/item/consume_2433252.py create mode 100755 scripts/item/consume_2433260.py create mode 100755 scripts/item/consume_2433261.py create mode 100755 scripts/item/consume_2433262.py create mode 100755 scripts/item/consume_2433263.py create mode 100755 scripts/item/consume_2433264.py create mode 100755 scripts/item/consume_2433265.py create mode 100755 scripts/item/consume_2433266.py create mode 100755 scripts/item/consume_2433267.py create mode 100755 scripts/item/consume_2433268.py create mode 100755 scripts/item/consume_2433269.py create mode 100755 scripts/item/consume_2433270.py create mode 100755 scripts/item/consume_2433271.py create mode 100755 scripts/item/consume_2433292.py create mode 100755 scripts/item/consume_2433293.py create mode 100755 scripts/item/consume_2433362.py create mode 100755 scripts/item/consume_2433441.py create mode 100755 scripts/item/consume_2433446.py create mode 100755 scripts/item/consume_2433456.py create mode 100755 scripts/item/consume_2433459.py create mode 100755 scripts/item/consume_2433460.py create mode 100755 scripts/item/consume_2433461.py create mode 100755 scripts/item/consume_2433498.py create mode 100755 scripts/item/consume_2433499.py create mode 100755 scripts/item/consume_2433500.py create mode 100755 scripts/item/consume_2433501.py create mode 100755 scripts/item/consume_2433511.py create mode 100755 scripts/item/consume_2433515.py create mode 100755 scripts/item/consume_2433559.py create mode 100755 scripts/item/consume_2433571.py create mode 100755 scripts/item/consume_2433588.py create mode 100755 scripts/item/consume_2433591.py create mode 100755 scripts/item/consume_2433592.py create mode 100755 scripts/item/consume_2433593.py create mode 100755 scripts/item/consume_2433623.py create mode 100755 scripts/item/consume_2433658.py create mode 100755 scripts/item/consume_2433659.py create mode 100755 scripts/item/consume_2433666.py create mode 100755 scripts/item/consume_2433682.py create mode 100755 scripts/item/consume_2433709.py create mode 100755 scripts/item/consume_2433715.py create mode 100755 scripts/item/consume_2433733.py create mode 100755 scripts/item/consume_2433734.py create mode 100755 scripts/item/consume_2433735.py create mode 100755 scripts/item/consume_2433736.py create mode 100755 scripts/item/consume_2433775.py create mode 100755 scripts/item/consume_2433776.py create mode 100755 scripts/item/consume_2433777.py create mode 100755 scripts/item/consume_2433804.py create mode 100755 scripts/item/consume_2433808.py create mode 100755 scripts/item/consume_2433809.py create mode 100755 scripts/item/consume_2433810.py create mode 100755 scripts/item/consume_2433811.py create mode 100755 scripts/item/consume_2433812.py create mode 100755 scripts/item/consume_2433828.py create mode 100755 scripts/item/consume_2433829.py create mode 100755 scripts/item/consume_2433830.py create mode 100755 scripts/item/consume_2433831.py create mode 100755 scripts/item/consume_2433832.py create mode 100755 scripts/item/consume_2433833.py create mode 100755 scripts/item/consume_2433844.py create mode 100755 scripts/item/consume_2433845.py create mode 100755 scripts/item/consume_2433883.py create mode 100755 scripts/item/consume_2433897.py create mode 100755 scripts/item/consume_2433900.py create mode 100755 scripts/item/consume_2433901.py create mode 100755 scripts/item/consume_2433902.py create mode 100755 scripts/item/consume_2433903.py create mode 100755 scripts/item/consume_2433904.py create mode 100755 scripts/item/consume_2433905.py create mode 100755 scripts/item/consume_2433906.py create mode 100755 scripts/item/consume_2433907.py create mode 100755 scripts/item/consume_2433913.py create mode 100755 scripts/item/consume_2433919.py create mode 100755 scripts/item/consume_2433924.py create mode 100755 scripts/item/consume_2433946.py create mode 100755 scripts/item/consume_2433947.py create mode 100755 scripts/item/consume_2433948.py create mode 100755 scripts/item/consume_2433949.py create mode 100755 scripts/item/consume_2433964.py create mode 100755 scripts/item/consume_2433980.py create mode 100755 scripts/item/consume_2433981.py create mode 100755 scripts/item/consume_2434004.py create mode 100755 scripts/item/consume_2434021.py create mode 100755 scripts/item/consume_2434025.py create mode 100755 scripts/item/consume_2434038.py create mode 100755 scripts/item/consume_2434039.py create mode 100755 scripts/item/consume_2434078.py create mode 100755 scripts/item/consume_2434080.py create mode 100755 scripts/item/consume_2434081.py create mode 100755 scripts/item/consume_2434125.py create mode 100755 scripts/item/consume_2434132.py create mode 100755 scripts/item/consume_2434147.py create mode 100755 scripts/item/consume_2434157.py create mode 100755 scripts/item/consume_2434234.py create mode 100755 scripts/item/consume_2434235.py create mode 100755 scripts/item/consume_2434236.py create mode 100755 scripts/item/consume_2434239.py create mode 100755 scripts/item/consume_2434241.py create mode 100755 scripts/item/consume_2434248.py create mode 100755 scripts/item/consume_2434257.py create mode 100755 scripts/item/consume_2434265.py create mode 100755 scripts/item/consume_2434270.py create mode 100755 scripts/item/consume_2434274.py create mode 100755 scripts/item/consume_2434275.py create mode 100755 scripts/item/consume_2434276.py create mode 100755 scripts/item/consume_2434277.py create mode 100755 scripts/item/consume_2434289.py create mode 100755 scripts/item/consume_2434325.py create mode 100755 scripts/item/consume_2434326.py create mode 100755 scripts/item/consume_2434327.py create mode 100755 scripts/item/consume_2434374.py create mode 100755 scripts/item/consume_2434375.py create mode 100755 scripts/item/consume_2434377.py create mode 100755 scripts/item/consume_2434379.py create mode 100755 scripts/item/consume_2434380.py create mode 100755 scripts/item/consume_2434390.py create mode 100755 scripts/item/consume_2434391.py create mode 100755 scripts/item/consume_2434470.py create mode 100755 scripts/item/consume_2434499.py create mode 100755 scripts/item/consume_2434515.py create mode 100755 scripts/item/consume_2434516.py create mode 100755 scripts/item/consume_2434517.py create mode 100755 scripts/item/consume_2434518.py create mode 100755 scripts/item/consume_2434525.py create mode 100755 scripts/item/consume_2434526.py create mode 100755 scripts/item/consume_2434527.py create mode 100755 scripts/item/consume_2434528.py create mode 100755 scripts/item/consume_2434529.py create mode 100755 scripts/item/consume_2434530.py create mode 100755 scripts/item/consume_2434533.py create mode 100755 scripts/item/consume_2434534.py create mode 100755 scripts/item/consume_2434536.py create mode 100755 scripts/item/consume_2434544.py create mode 100755 scripts/item/consume_2434545.py create mode 100755 scripts/item/consume_2434546.py create mode 100755 scripts/item/consume_2434570.py create mode 100755 scripts/item/consume_2434574.py create mode 100755 scripts/item/consume_2434575.py create mode 100755 scripts/item/consume_2434580.py create mode 100755 scripts/item/consume_2434581.py create mode 100755 scripts/item/consume_2434582.py create mode 100755 scripts/item/consume_2434584.py create mode 100755 scripts/item/consume_2434585.py create mode 100755 scripts/item/consume_2434586.py create mode 100755 scripts/item/consume_2434587.py create mode 100755 scripts/item/consume_2434588.py create mode 100755 scripts/item/consume_2434589.py create mode 100755 scripts/item/consume_2434601.py create mode 100755 scripts/item/consume_2434603.py create mode 100755 scripts/item/consume_2434618.py create mode 100755 scripts/item/consume_2434619.py create mode 100755 scripts/item/consume_2434649.py create mode 100755 scripts/item/consume_2434650.py create mode 100755 scripts/item/consume_2434654.py create mode 100755 scripts/item/consume_2434660.py create mode 100755 scripts/item/consume_2434662.py create mode 100755 scripts/item/consume_2434663.py create mode 100755 scripts/item/consume_2434664.py create mode 100755 scripts/item/consume_2434674.py create mode 100755 scripts/item/consume_2434710.py create mode 100755 scripts/item/consume_2434728.py create mode 100755 scripts/item/consume_2434735.py create mode 100755 scripts/item/consume_2434736.py create mode 100755 scripts/item/consume_2434737.py create mode 100755 scripts/item/consume_2434738.py create mode 100755 scripts/item/consume_2434741.py create mode 100755 scripts/item/consume_2434742.py create mode 100755 scripts/item/consume_2434761.py create mode 100755 scripts/item/consume_2434762.py create mode 100755 scripts/item/consume_2434782.py create mode 100755 scripts/item/consume_2434817.py create mode 100755 scripts/item/consume_2434818.py create mode 100755 scripts/item/consume_2434824.py create mode 100755 scripts/item/consume_2434868.py create mode 100755 scripts/item/consume_2434871.py create mode 100755 scripts/item/consume_2434873.py create mode 100755 scripts/item/consume_2434877.py create mode 100755 scripts/item/consume_2434914.py create mode 100755 scripts/item/consume_2434915.py create mode 100755 scripts/item/consume_2434918.py create mode 100755 scripts/item/consume_2434923.py create mode 100755 scripts/item/consume_2434924.py create mode 100755 scripts/item/consume_2434925.py create mode 100755 scripts/item/consume_2434926.py create mode 100755 scripts/item/consume_2434927.py create mode 100755 scripts/item/consume_2434928.py create mode 100755 scripts/item/consume_2434967.py create mode 100755 scripts/item/consume_2434968.py create mode 100755 scripts/item/consume_2434971.py create mode 100755 scripts/item/consume_2434975.py create mode 100755 scripts/item/consume_2434976.py create mode 100755 scripts/item/consume_2434979.py create mode 100755 scripts/item/consume_2434980.py create mode 100755 scripts/item/consume_2435024.py create mode 100755 scripts/item/consume_2435025.py create mode 100755 scripts/item/consume_2435026.py create mode 100755 scripts/item/consume_2435027.py create mode 100755 scripts/item/consume_2435029.py create mode 100755 scripts/item/consume_2435031.py create mode 100755 scripts/item/consume_2435043.py create mode 100755 scripts/item/consume_2435044.py create mode 100755 scripts/item/consume_2435045.py create mode 100755 scripts/item/consume_2435046.py create mode 100755 scripts/item/consume_2435047.py create mode 100755 scripts/item/consume_2435089.py create mode 100755 scripts/item/consume_2435090.py create mode 100755 scripts/item/consume_2435091.py create mode 100755 scripts/item/consume_2435092.py create mode 100755 scripts/item/consume_2435101.py create mode 100755 scripts/item/consume_2435102.py create mode 100755 scripts/item/consume_2435112.py create mode 100755 scripts/item/consume_2435113.py create mode 100755 scripts/item/consume_2435114.py create mode 100755 scripts/item/consume_2435117.py create mode 100755 scripts/item/consume_2435140.py create mode 100755 scripts/item/consume_2435141.py create mode 100755 scripts/item/consume_2435157.py create mode 100755 scripts/item/consume_2435158.py create mode 100755 scripts/item/consume_2435159.py create mode 100755 scripts/item/consume_2435160.py create mode 100755 scripts/item/consume_2435162.py create mode 100755 scripts/item/consume_2435163.py create mode 100755 scripts/item/consume_2435166.py create mode 100755 scripts/item/consume_2435168.py create mode 100755 scripts/item/consume_2435170.py create mode 100755 scripts/item/consume_2435171.py create mode 100755 scripts/item/consume_2435172.py create mode 100755 scripts/item/consume_2435173.py create mode 100755 scripts/item/consume_2435174.py create mode 100755 scripts/item/consume_2435175.py create mode 100755 scripts/item/consume_2435176.py create mode 100755 scripts/item/consume_2435177.py create mode 100755 scripts/item/consume_2435179.py create mode 100755 scripts/item/consume_2435182.py create mode 100755 scripts/item/consume_2435184.py create mode 100755 scripts/item/consume_2435193.py create mode 100755 scripts/item/consume_2435194.py create mode 100755 scripts/item/consume_2435195.py create mode 100755 scripts/item/consume_2435196.py create mode 100755 scripts/item/consume_2435198.py create mode 100755 scripts/item/consume_2435199.py create mode 100755 scripts/item/consume_2435200.py create mode 100755 scripts/item/consume_2435202.py create mode 100755 scripts/item/consume_2435203.py create mode 100755 scripts/item/consume_2435204.py create mode 100755 scripts/item/consume_2435205.py create mode 100755 scripts/item/consume_2435213.py create mode 100755 scripts/item/consume_2435214.py create mode 100755 scripts/item/consume_2435216.py create mode 100755 scripts/item/consume_2435222.py create mode 100755 scripts/item/consume_2435293.py create mode 100755 scripts/item/consume_2435295.py create mode 100755 scripts/item/consume_2435313.py create mode 100755 scripts/item/consume_2435316.py create mode 100755 scripts/item/consume_2435325.py create mode 100755 scripts/item/consume_2435326.py create mode 100755 scripts/item/consume_2435331.py create mode 100755 scripts/item/consume_2435332.py create mode 100755 scripts/item/consume_2435333.py create mode 100755 scripts/item/consume_2435334.py create mode 100755 scripts/item/consume_2435335.py create mode 100755 scripts/item/consume_2435336.py create mode 100755 scripts/item/consume_2435369.py create mode 100755 scripts/item/consume_2435374.py create mode 100755 scripts/item/consume_2435375.py create mode 100755 scripts/item/consume_2435376.py create mode 100755 scripts/item/consume_2435377.py create mode 100755 scripts/item/consume_2435378.py create mode 100755 scripts/item/consume_2435380.py create mode 100755 scripts/item/consume_2435382.py create mode 100755 scripts/item/consume_2435408.py create mode 100755 scripts/item/consume_2435424.py create mode 100755 scripts/item/consume_2435425.py create mode 100755 scripts/item/consume_2435427.py create mode 100755 scripts/item/consume_2435428.py create mode 100755 scripts/item/consume_2435429.py create mode 100755 scripts/item/consume_2435430.py create mode 100755 scripts/item/consume_2435431.py create mode 100755 scripts/item/consume_2435432.py create mode 100755 scripts/item/consume_2435433.py create mode 100755 scripts/item/consume_2435456.py create mode 100755 scripts/item/consume_2435461.py create mode 100755 scripts/item/consume_2435473.py create mode 100755 scripts/item/consume_2435474.py create mode 100755 scripts/item/consume_2435477.py create mode 100755 scripts/item/consume_2435478.py create mode 100755 scripts/item/consume_2435486.py create mode 100755 scripts/item/consume_2435487.py create mode 100755 scripts/item/consume_2435488.py create mode 100755 scripts/item/consume_2435489.py create mode 100755 scripts/item/consume_2435490.py create mode 100755 scripts/item/consume_2435493.py create mode 100755 scripts/item/consume_2435510.py create mode 100755 scripts/item/consume_2435511.py create mode 100755 scripts/item/consume_2435521.py create mode 100755 scripts/item/consume_2435523.py create mode 100755 scripts/item/consume_2435524.py create mode 100755 scripts/item/consume_2435538.py create mode 100755 scripts/item/consume_2435542.py create mode 100755 scripts/item/consume_2435543.py create mode 100755 scripts/item/consume_2435544.py create mode 100755 scripts/item/consume_2435545.py create mode 100755 scripts/item/consume_2435546.py create mode 100755 scripts/item/consume_2435548.py create mode 100755 scripts/item/consume_2435549.py create mode 100755 scripts/item/consume_2435553.py create mode 100755 scripts/item/consume_2435554.py create mode 100755 scripts/item/consume_2435555.py create mode 100755 scripts/item/consume_2435556.py create mode 100755 scripts/item/consume_2435565.py create mode 100755 scripts/item/consume_2435566.py create mode 100755 scripts/item/consume_2435567.py create mode 100755 scripts/item/consume_2435568.py create mode 100755 scripts/item/consume_2435571.py create mode 100755 scripts/item/consume_2435583.py create mode 100755 scripts/item/consume_2435665.py create mode 100755 scripts/item/consume_2435666.py create mode 100755 scripts/item/consume_2435673.py create mode 100755 scripts/item/consume_2435674.py create mode 100755 scripts/item/consume_2435719.py create mode 100755 scripts/item/consume_2435725.py create mode 100755 scripts/item/consume_2435727.py create mode 100755 scripts/item/consume_2435729.py create mode 100755 scripts/item/consume_2435730.py create mode 100755 scripts/item/consume_2435731.py create mode 100755 scripts/item/consume_2435732.py create mode 100755 scripts/item/consume_2435734.py create mode 100755 scripts/item/consume_2435735.py create mode 100755 scripts/item/consume_2435736.py create mode 100755 scripts/item/consume_2435781.py create mode 100755 scripts/item/consume_2435782.py create mode 100755 scripts/item/consume_2435783.py create mode 100755 scripts/item/consume_2435784.py create mode 100755 scripts/item/consume_2435785.py create mode 100755 scripts/item/consume_2435786.py create mode 100755 scripts/item/consume_2435789.py create mode 100755 scripts/item/consume_2435790.py create mode 100755 scripts/item/consume_2435791.py create mode 100755 scripts/item/consume_2435802.py create mode 100755 scripts/item/consume_2435832.py create mode 100755 scripts/item/consume_2435833.py create mode 100755 scripts/item/consume_2435834.py create mode 100755 scripts/item/consume_2435835.py create mode 100755 scripts/item/consume_2435836.py create mode 100755 scripts/item/consume_2435839.py create mode 100755 scripts/item/consume_2435840.py create mode 100755 scripts/item/consume_2435841.py create mode 100755 scripts/item/consume_2435849.py create mode 100755 scripts/item/consume_2435850.py create mode 100755 scripts/item/consume_2435902.py create mode 100755 scripts/item/consume_2435905.py create mode 100755 scripts/item/consume_2435906.py create mode 100755 scripts/item/consume_2435907.py create mode 100755 scripts/item/consume_2435908.py create mode 100755 scripts/item/consume_2435946.py create mode 100755 scripts/item/consume_2435947.py create mode 100755 scripts/item/consume_2435948.py create mode 100755 scripts/item/consume_2435949.py create mode 100755 scripts/item/consume_2435950.py create mode 100755 scripts/item/consume_2435951.py create mode 100755 scripts/item/consume_2435952.py create mode 100755 scripts/item/consume_2435953.py create mode 100755 scripts/item/consume_2435954.py create mode 100755 scripts/item/consume_2435955.py create mode 100755 scripts/item/consume_2435956.py create mode 100755 scripts/item/consume_2435957.py create mode 100755 scripts/item/consume_2435958.py create mode 100755 scripts/item/consume_2435959.py create mode 100755 scripts/item/consume_2435960.py create mode 100755 scripts/item/consume_2435965.py create mode 100755 scripts/item/consume_2435967.py create mode 100755 scripts/item/consume_2435972.py create mode 100755 scripts/item/consume_2436023.py create mode 100755 scripts/item/consume_2436024.py create mode 100755 scripts/item/consume_2436026.py create mode 100755 scripts/item/consume_2436027.py create mode 100755 scripts/item/consume_2436028.py create mode 100755 scripts/item/consume_2436029.py create mode 100755 scripts/item/consume_2436034.py create mode 100755 scripts/item/consume_2436035.py create mode 100755 scripts/item/consume_2436036.py create mode 100755 scripts/item/consume_2436038.py create mode 100755 scripts/item/consume_2436039.py create mode 100755 scripts/item/consume_2436041.py create mode 100755 scripts/item/consume_2436042.py create mode 100755 scripts/item/consume_2436044.py create mode 100755 scripts/item/consume_2436045.py create mode 100755 scripts/item/consume_2436067.py create mode 100755 scripts/item/consume_2436083.py create mode 100755 scripts/item/consume_2436084.py create mode 100755 scripts/item/consume_2436085.py create mode 100755 scripts/item/consume_2436089.py create mode 100755 scripts/item/consume_2436096.py create mode 100755 scripts/item/consume_2436097.py create mode 100755 scripts/item/consume_2436098.py create mode 100755 scripts/item/consume_2436099.py create mode 100755 scripts/item/consume_2436100.py create mode 100755 scripts/item/consume_2436101.py create mode 100755 scripts/item/consume_2436103.py create mode 100755 scripts/item/consume_2436131.py create mode 100755 scripts/item/consume_2436132.py create mode 100755 scripts/item/consume_2436133.py create mode 100755 scripts/item/consume_2436134.py create mode 100755 scripts/item/consume_2436136.py create mode 100755 scripts/item/consume_2436140.py create mode 100755 scripts/item/consume_2436182.py create mode 100755 scripts/item/consume_2436188.py create mode 100755 scripts/item/consume_2436206.py create mode 100755 scripts/item/consume_2436212.py create mode 100755 scripts/item/consume_2436227.py create mode 100755 scripts/item/consume_2436228.py create mode 100755 scripts/item/consume_2436229.py create mode 100755 scripts/item/consume_2436230.py create mode 100755 scripts/item/consume_2436258.py create mode 100755 scripts/item/consume_2436259.py create mode 100755 scripts/item/consume_2436268.py create mode 100755 scripts/item/consume_2436300.py create mode 100755 scripts/item/consume_2436310.py create mode 100755 scripts/item/consume_2436314.py create mode 100755 scripts/item/consume_2436315.py create mode 100755 scripts/item/consume_2436324.py create mode 100755 scripts/item/consume_2436360.py create mode 100755 scripts/item/consume_2436400.py create mode 100755 scripts/item/consume_2436474.py create mode 100755 scripts/item/consume_2436475.py create mode 100755 scripts/item/consume_2436476.py create mode 100755 scripts/item/consume_2436477.py create mode 100755 scripts/item/consume_2436478.py create mode 100755 scripts/item/consume_2436479.py create mode 100755 scripts/item/consume_2436516.py create mode 100755 scripts/item/consume_2436530.py create mode 100755 scripts/item/consume_2436531.py create mode 100755 scripts/item/consume_2436553.py create mode 100755 scripts/item/consume_2436560.py create mode 100755 scripts/item/consume_2436561.py create mode 100755 scripts/item/consume_2436563.py create mode 100755 scripts/item/consume_2436578.py create mode 100755 scripts/item/consume_2436596.py create mode 100755 scripts/item/consume_2436611.py create mode 100755 scripts/item/consume_2436616.py create mode 100755 scripts/item/consume_2436643.py create mode 100755 scripts/item/consume_2436644.py create mode 100755 scripts/item/consume_2436645.py create mode 100755 scripts/item/consume_2436646.py create mode 100755 scripts/item/consume_2436651.py create mode 100755 scripts/item/consume_2436652.py create mode 100755 scripts/item/consume_2436653.py create mode 100755 scripts/item/consume_2436654.py create mode 100755 scripts/item/consume_2436655.py create mode 100755 scripts/item/consume_2436656.py create mode 100755 scripts/item/consume_2436657.py create mode 100755 scripts/item/consume_2436658.py create mode 100755 scripts/item/consume_2436679.py create mode 100755 scripts/item/consume_2436680.py create mode 100755 scripts/item/consume_2436681.py create mode 100755 scripts/item/consume_2436682.py create mode 100755 scripts/item/consume_2436687.py create mode 100755 scripts/item/consume_2436688.py create mode 100755 scripts/item/consume_2436721.py create mode 100755 scripts/item/consume_2436740.py create mode 100755 scripts/item/consume_2436741.py create mode 100755 scripts/item/consume_2436742.py create mode 100755 scripts/item/consume_2436743.py create mode 100755 scripts/item/consume_2436744.py create mode 100755 scripts/item/consume_2436745.py create mode 100755 scripts/item/consume_2436746.py create mode 100755 scripts/item/consume_2436747.py create mode 100755 scripts/item/consume_2436748.py create mode 100755 scripts/item/consume_2436749.py create mode 100755 scripts/item/consume_2436785.py create mode 100755 scripts/item/consume_2436808.py create mode 100755 scripts/item/consume_2436810.py create mode 100755 scripts/item/consume_2436830.py create mode 100755 scripts/item/consume_2436831.py create mode 100755 scripts/item/consume_2436832.py create mode 100755 scripts/item/consume_2436884.py create mode 100755 scripts/item/consume_2436951.py create mode 100755 scripts/item/consume_2436952.py create mode 100755 scripts/item/consume_2436953.py create mode 100755 scripts/item/consume_2436980.py create mode 100755 scripts/item/consume_2436984.py create mode 100755 scripts/item/consume_2436986.py create mode 100755 scripts/item/consume_2437009.py create mode 100755 scripts/item/consume_2437022.py create mode 100755 scripts/item/consume_2437023.py create mode 100755 scripts/item/consume_2437024.py create mode 100755 scripts/item/consume_2437025.py create mode 100755 scripts/item/consume_2437049.py create mode 100755 scripts/item/consume_2437050.py create mode 100755 scripts/item/consume_2437051.py create mode 100755 scripts/item/consume_2437052.py create mode 100755 scripts/item/consume_2437164.py create mode 100755 scripts/item/consume_2437166.py create mode 100755 scripts/item/consume_2437167.py create mode 100755 scripts/item/consume_2437168.py create mode 100755 scripts/item/consume_2437169.py create mode 100755 scripts/item/consume_2437238.py create mode 100755 scripts/item/consume_2437244.py create mode 100755 scripts/item/consume_2437264.py create mode 100755 scripts/item/consume_2437268.py create mode 100755 scripts/item/consume_2437269.py create mode 100755 scripts/item/consume_2437270.py create mode 100755 scripts/item/consume_2437271.py create mode 100755 scripts/item/consume_2437274.py create mode 100755 scripts/item/consume_2437478.py create mode 100755 scripts/item/consume_2437482.py create mode 100755 scripts/item/consume_2437484.py create mode 100755 scripts/item/consume_2437488.py create mode 100755 scripts/item/consume_2437489.py create mode 100755 scripts/item/consume_2437490.py create mode 100755 scripts/item/consume_2437491.py create mode 100755 scripts/item/consume_2437495.py create mode 100755 scripts/item/consume_2437496.py create mode 100755 scripts/item/consume_2437515.py create mode 100755 scripts/item/consume_2437521.py create mode 100755 scripts/item/consume_2437522.py create mode 100755 scripts/item/consume_2437523.py create mode 100755 scripts/item/consume_2437524.py create mode 100755 scripts/item/consume_2437527.py create mode 100755 scripts/item/consume_2437604.py create mode 100755 scripts/item/consume_2437691.py create mode 100755 scripts/item/consume_2437697.py create mode 100755 scripts/item/consume_2437700.py create mode 100755 scripts/item/consume_2437701.py create mode 100755 scripts/item/consume_2437703.py create mode 100755 scripts/item/consume_2437707.py create mode 100755 scripts/item/consume_2437708.py create mode 100755 scripts/item/consume_2437709.py create mode 100755 scripts/item/consume_2437710.py create mode 100755 scripts/item/consume_2437712.py create mode 100755 scripts/item/consume_2437716.py create mode 100755 scripts/item/consume_2437727.py create mode 100755 scripts/item/consume_2437735.py create mode 100755 scripts/item/consume_2437736.py create mode 100755 scripts/item/consume_2437750.py create mode 100755 scripts/item/consume_2437760.py create mode 100755 scripts/item/consume_2437767.py create mode 100755 scripts/item/consume_2437768.py create mode 100755 scripts/item/consume_2437769.py create mode 100755 scripts/item/consume_2437851.py create mode 100755 scripts/item/consume_2437854.py create mode 100755 scripts/item/consume_2437856.py create mode 100755 scripts/item/consume_2437877.py create mode 100755 scripts/item/consume_2438032.py create mode 100755 scripts/item/consume_2438085.py create mode 100755 scripts/item/consume_2438086.py create mode 100755 scripts/item/consume_2438087.py create mode 100755 scripts/item/consume_2438088.py create mode 100755 scripts/item/consume_2438089.py create mode 100755 scripts/item/consume_2438143.py create mode 100755 scripts/item/consume_2438144.py create mode 100755 scripts/item/consume_2438158.py create mode 100755 scripts/item/consume_2438159.py create mode 100755 scripts/item/consume_2438160.py create mode 100755 scripts/item/consume_2438161.py create mode 100755 scripts/item/consume_2438162.py create mode 100755 scripts/item/consume_2438163.py create mode 100755 scripts/item/consume_2438164.py create mode 100755 scripts/item/consume_2438165.py create mode 100755 scripts/item/consume_2438167.py create mode 100755 scripts/item/consume_2438168.py create mode 100755 scripts/item/consume_2438169.py create mode 100755 scripts/item/consume_2438170.py create mode 100755 scripts/item/consume_2438171.py create mode 100755 scripts/item/consume_2438172.py create mode 100755 scripts/item/consume_2438173.py create mode 100755 scripts/item/consume_2438174.py create mode 100755 scripts/item/consume_2438175.py create mode 100755 scripts/item/consume_2438176.py create mode 100755 scripts/item/consume_2438177.py create mode 100755 scripts/item/consume_2438179.py create mode 100755 scripts/item/consume_2438181.py create mode 100755 scripts/item/consume_2438182.py create mode 100755 scripts/item/consume_2438184.py create mode 100755 scripts/item/consume_2438185.py create mode 100755 scripts/item/consume_2438186.py create mode 100755 scripts/item/consume_2438188.py create mode 100755 scripts/item/consume_2438190.py create mode 100755 scripts/item/consume_2438191.py create mode 100755 scripts/item/consume_2438192.py create mode 100755 scripts/item/consume_2438193.py create mode 100755 scripts/item/consume_2438194.py create mode 100755 scripts/item/consume_2438195.py create mode 100755 scripts/item/consume_2438196.py create mode 100755 scripts/item/consume_2438197.py create mode 100755 scripts/item/consume_2438198.py create mode 100755 scripts/item/consume_2438199.py create mode 100755 scripts/item/consume_2438200.py create mode 100755 scripts/item/consume_2438202.py create mode 100755 scripts/item/consume_2438205.py create mode 100755 scripts/item/consume_2438207.py create mode 100755 scripts/item/consume_2438211.py create mode 100755 scripts/item/consume_2438212.py create mode 100755 scripts/item/consume_2438215.py create mode 100755 scripts/item/consume_2438216.py create mode 100755 scripts/item/consume_2438217.py create mode 100755 scripts/item/consume_2438219.py create mode 100755 scripts/item/consume_2438220.py create mode 100755 scripts/item/consume_2438221.py create mode 100755 scripts/item/consume_2438222.py create mode 100755 scripts/item/consume_2438224.py create mode 100755 scripts/item/consume_2438225.py create mode 100755 scripts/item/consume_2438226.py create mode 100755 scripts/item/consume_2438227.py create mode 100755 scripts/item/consume_2438228.py create mode 100755 scripts/item/consume_2438229.py create mode 100755 scripts/item/consume_2438231.py create mode 100755 scripts/item/consume_2438232.py create mode 100755 scripts/item/consume_2438233.py create mode 100755 scripts/item/consume_2438234.py create mode 100755 scripts/item/consume_2438235.py create mode 100755 scripts/item/consume_2438236.py create mode 100755 scripts/item/consume_2438237.py create mode 100755 scripts/item/consume_2438238.py create mode 100755 scripts/item/consume_2438240.py create mode 100755 scripts/item/consume_2438241.py create mode 100755 scripts/item/consume_2438242.py create mode 100755 scripts/item/consume_2438243.py create mode 100755 scripts/item/consume_2438244.py create mode 100755 scripts/item/consume_2438245.py create mode 100755 scripts/item/consume_2438246.py create mode 100755 scripts/item/consume_2438247.py create mode 100755 scripts/item/consume_2438248.py create mode 100755 scripts/item/consume_2438249.py create mode 100755 scripts/item/consume_2438250.py create mode 100755 scripts/item/consume_2438251.py create mode 100755 scripts/item/consume_2438252.py create mode 100755 scripts/item/consume_2438253.py create mode 100755 scripts/item/consume_2438254.py create mode 100755 scripts/item/consume_2438255.py create mode 100755 scripts/item/consume_2438256.py create mode 100755 scripts/item/consume_2438257.py create mode 100755 scripts/item/consume_2438258.py create mode 100755 scripts/item/consume_2438259.py create mode 100755 scripts/item/consume_2438260.py create mode 100755 scripts/item/consume_2438261.py create mode 100755 scripts/item/consume_2438263.py create mode 100755 scripts/item/consume_2438264.py create mode 100755 scripts/item/consume_2438265.py create mode 100755 scripts/item/consume_2438266.py create mode 100755 scripts/item/consume_2438267.py create mode 100755 scripts/item/consume_2438268.py create mode 100755 scripts/item/consume_2438269.py create mode 100755 scripts/item/consume_2438270.py create mode 100755 scripts/item/consume_2438272.py create mode 100755 scripts/item/consume_2438274.py create mode 100755 scripts/item/consume_2438275.py create mode 100755 scripts/item/consume_2438276.py create mode 100755 scripts/item/consume_2438282.py create mode 100755 scripts/item/consume_2438283.py create mode 100755 scripts/item/consume_2438284.py create mode 100755 scripts/item/consume_2438285.py create mode 100755 scripts/item/consume_2438286.py create mode 100755 scripts/item/consume_2438287.py create mode 100755 scripts/item/consume_2438288.py create mode 100755 scripts/item/consume_2438289.py create mode 100755 scripts/item/consume_2438290.py create mode 100755 scripts/item/consume_2438293.py create mode 100755 scripts/item/consume_2438294.py create mode 100755 scripts/item/consume_2438295.py create mode 100755 scripts/item/consume_2438296.py create mode 100755 scripts/item/consume_2438297.py create mode 100755 scripts/item/consume_2438298.py create mode 100755 scripts/item/consume_2438299.py create mode 100755 scripts/item/consume_2438300.py create mode 100755 scripts/item/consume_2438301.py create mode 100755 scripts/item/consume_2438302.py create mode 100755 scripts/item/consume_2438303.py create mode 100755 scripts/item/consume_2438306.py create mode 100755 scripts/item/consume_2438307.py create mode 100755 scripts/item/consume_2438308.py create mode 100755 scripts/item/consume_2438309.py create mode 100755 scripts/item/consume_2438310.py create mode 100755 scripts/item/consume_2438311.py create mode 100755 scripts/item/consume_2438312.py create mode 100755 scripts/item/consume_2438313.py create mode 100755 scripts/item/consume_2438314.py create mode 100755 scripts/item/consume_2438315.py create mode 100755 scripts/item/consume_2438347.py create mode 100755 scripts/item/consume_2438348.py create mode 100755 scripts/item/consume_2438352.py create mode 100755 scripts/item/consume_2438353.py create mode 100755 scripts/item/consume_2438378.py create mode 100755 scripts/item/consume_2438379.py create mode 100755 scripts/item/consume_2438396.py create mode 100755 scripts/item/consume_2438413.py create mode 100755 scripts/item/consume_2438414.py create mode 100755 scripts/item/consume_2438415.py create mode 100755 scripts/item/consume_2438416.py create mode 100755 scripts/item/consume_2438417.py create mode 100755 scripts/item/consume_2438418.py create mode 100755 scripts/item/consume_2438419.py create mode 100755 scripts/item/consume_2438420.py create mode 100755 scripts/item/consume_2438421.py create mode 100755 scripts/item/consume_2438460.py create mode 100755 scripts/item/consume_2438461.py create mode 100755 scripts/item/consume_2438467.py create mode 100755 scripts/item/consume_2438469.py create mode 100755 scripts/item/consume_2438471.py create mode 100755 scripts/item/consume_2438473.py create mode 100755 scripts/item/consume_2438477.py create mode 100755 scripts/item/consume_2438485.py create mode 100755 scripts/item/consume_2438491.py create mode 100755 scripts/item/consume_2438492.py create mode 100755 scripts/item/consume_2438529.py create mode 100755 scripts/item/consume_2438530.py create mode 100755 scripts/item/consume_2438592.py create mode 100755 scripts/item/consume_2438594.py create mode 100755 scripts/item/consume_2438596.py create mode 100755 scripts/item/consume_2438604.py create mode 100755 scripts/item/consume_2438637.py create mode 100755 scripts/item/consume_2438655.py create mode 100755 scripts/item/consume_2438659.py create mode 100755 scripts/item/consume_2438661.py create mode 100755 scripts/item/consume_2438671.py create mode 100755 scripts/item/consume_2438676.py create mode 100755 scripts/item/consume_2438713.py create mode 100755 scripts/item/consume_2438759.py create mode 100755 scripts/item/consume_2438761.py create mode 100755 scripts/item/consume_2438871.py create mode 100755 scripts/item/consume_2438872.py create mode 100755 scripts/item/consume_2438880.py create mode 100755 scripts/item/consume_2438881.py create mode 100755 scripts/item/consume_2438884.py create mode 100755 scripts/item/consume_2438885.py create mode 100755 scripts/item/consume_2438924.py create mode 100755 scripts/item/consume_2438925.py create mode 100755 scripts/item/consume_2438926.py create mode 100755 scripts/item/consume_2438929.py create mode 100755 scripts/item/consume_2438930.py create mode 100755 scripts/item/consume_2438931.py create mode 100755 scripts/item/consume_2439031.py create mode 100755 scripts/item/consume_2439129.py create mode 100755 scripts/item/consume_2439132.py create mode 100755 scripts/item/consume_2439157.py create mode 100755 scripts/item/consume_2439164.py create mode 100755 scripts/item/consume_2439167.py create mode 100755 scripts/item/consume_2439170.py create mode 100755 scripts/item/consume_2439256.py create mode 100755 scripts/item/consume_2439264.py create mode 100755 scripts/item/consume_2439265.py create mode 100755 scripts/item/consume_2439277.py create mode 100755 scripts/item/consume_2439298.py create mode 100755 scripts/item/consume_2439336.py create mode 100755 scripts/item/consume_2439337.py create mode 100755 scripts/item/consume_2439338.py create mode 100755 scripts/item/consume_2439372.py create mode 100755 scripts/item/consume_2439373.py create mode 100755 scripts/item/consume_2439376.py create mode 100755 scripts/item/consume_2439381.py create mode 100755 scripts/item/consume_2439392.py create mode 100755 scripts/item/consume_2439393.py create mode 100755 scripts/item/consume_2439394.py create mode 100755 scripts/item/consume_2439395.py create mode 100755 scripts/item/consume_2439407.py create mode 100755 scripts/item/consume_2439408.py create mode 100755 scripts/item/consume_2439442.py create mode 100755 scripts/item/consume_2439523.py create mode 100755 scripts/item/consume_2439551.py create mode 100755 scripts/item/consume_2439554.py create mode 100755 scripts/item/consume_2439556.py create mode 100755 scripts/item/consume_2439567.py create mode 100755 scripts/item/consume_2439568.py create mode 100755 scripts/item/consume_2439572.py create mode 100755 scripts/item/consume_2439616.py create mode 100755 scripts/item/consume_2439617.py create mode 100755 scripts/item/consume_2439652.py create mode 100755 scripts/item/consume_2439665.py create mode 100755 scripts/item/consume_2439683.py create mode 100755 scripts/item/consume_2439684.py create mode 100755 scripts/item/consume_2439685.py create mode 100755 scripts/item/consume_2439686.py create mode 100755 scripts/item/consume_2439697.py create mode 100755 scripts/item/consume_2439700.py create mode 100755 scripts/item/consume_2439768.py create mode 100755 scripts/item/consume_2439769.py create mode 100755 scripts/item/consume_2439800.py create mode 100755 scripts/item/consume_2439804.py create mode 100755 scripts/item/consume_2439805.py create mode 100755 scripts/item/consume_2439894.py create mode 100755 scripts/item/consume_2439897.py create mode 100755 scripts/item/consume_2439898.py create mode 100755 scripts/item/consume_2439899.py create mode 100755 scripts/item/consume_2439906.py create mode 100755 scripts/item/consume_2439907.py create mode 100755 scripts/item/consume_2439908.py create mode 100755 scripts/item/consume_2439909.py create mode 100755 scripts/item/consume_2439913.py create mode 100755 scripts/item/consume_2439925.py create mode 100755 scripts/item/consume_2439926.py create mode 100755 scripts/item/consume_2439927.py create mode 100755 scripts/item/consume_2439928.py create mode 100755 scripts/item/consume_2460446.py create mode 100755 scripts/item/consume_2481004.py create mode 100755 scripts/item/consume_2630153.py create mode 100755 scripts/item/consume_2630156.py create mode 100755 scripts/item/consume_2630159.py create mode 100755 scripts/item/consume_2630301.py create mode 100755 scripts/item/consume_2630304.py create mode 100755 scripts/item/consume_2630381.py create mode 100755 scripts/item/consume_2630390.py create mode 100755 scripts/item/consume_2630393.py create mode 100755 scripts/item/consume_2630446.py create mode 100755 scripts/item/consume_3800993.py create mode 100755 scripts/item/consume_3801003.py create mode 100755 scripts/item/consume_3801113.py create mode 100755 scripts/item/consume_5680343.py create mode 100755 scripts/item/consume_5680395.py create mode 100755 scripts/item/undefined.py create mode 100755 scripts/npc/1012009.py create mode 100755 scripts/npc/1033001.py create mode 100755 scripts/npc/1033002.py create mode 100755 scripts/npc/1033103.py create mode 100755 scripts/npc/1033104.py create mode 100755 scripts/npc/1033105.py create mode 100755 scripts/npc/1052005.py create mode 100755 scripts/npc/1052101.py create mode 100755 scripts/npc/1064017.py create mode 100755 scripts/npc/1082003.py create mode 100755 scripts/npc/1082004.py create mode 100755 scripts/npc/1096001.py create mode 100755 scripts/npc/1103000.py create mode 100755 scripts/npc/141000000_contimove.py create mode 100755 scripts/npc/1512000.py create mode 100755 scripts/npc/1512001.py create mode 100755 scripts/npc/1512002.py create mode 100755 scripts/npc/1512003.py create mode 100755 scripts/npc/1512004.py create mode 100755 scripts/npc/1512005.py create mode 100755 scripts/npc/1530051.py create mode 100755 scripts/npc/1530629.py create mode 100755 scripts/npc/1540417.py create mode 100755 scripts/npc/2011Halloween.py create mode 100755 scripts/npc/2011Haloween.py create mode 100755 scripts/npc/2041016.py create mode 100755 scripts/npc/2091012.py create mode 100755 scripts/npc/2121012.py create mode 100755 scripts/npc/2159481.py create mode 100755 scripts/npc/2210013.py create mode 100755 scripts/npc/2230202.py create mode 100755 scripts/npc/2nd_bowman.py create mode 100755 scripts/npc/2nd_magician.py create mode 100755 scripts/npc/2nd_pirate.py create mode 100755 scripts/npc/2nd_thief.py create mode 100755 scripts/npc/2nd_warrior.py create mode 100755 scripts/npc/3003123.py create mode 100755 scripts/npc/3003323.py create mode 100755 scripts/npc/3jobExit.py create mode 100755 scripts/npc/701220350_check.py create mode 100755 scripts/npc/9000019.py create mode 100755 scripts/npc/9000095.py create mode 100755 scripts/npc/9000139.py create mode 100755 scripts/npc/9000289.py create mode 100755 scripts/npc/9000386.py create mode 100755 scripts/npc/9010034.py create mode 100755 scripts/npc/9010036.py create mode 100755 scripts/npc/9010038.py create mode 100755 scripts/npc/9010047.py create mode 100755 scripts/npc/9010063.py create mode 100755 scripts/npc/9010095.py create mode 100755 scripts/npc/9030000.py create mode 100755 scripts/npc/9031015.py create mode 100755 scripts/npc/9062015.py create mode 100755 scripts/npc/9071009.py create mode 100755 scripts/npc/9072100.py create mode 100755 scripts/npc/9072201.py create mode 100755 scripts/npc/9072302.py create mode 100755 scripts/npc/9075301.py create mode 100755 scripts/npc/9075308.py create mode 100755 scripts/npc/9075309.py create mode 100755 scripts/npc/9075310.py create mode 100755 scripts/npc/9075311.py create mode 100755 scripts/npc/9075312.py create mode 100755 scripts/npc/9075313.py create mode 100755 scripts/npc/9075314.py create mode 100755 scripts/npc/9075315.py create mode 100755 scripts/npc/9075316.py create mode 100755 scripts/npc/9075317.py create mode 100755 scripts/npc/9090008.py create mode 100755 scripts/npc/9131005.py create mode 100755 scripts/npc/9201324.py create mode 100755 scripts/npc/9201492.py create mode 100755 scripts/npc/9201610.py create mode 100755 scripts/npc/9209005.py create mode 100755 scripts/npc/9270064.py create mode 100755 scripts/npc/9310041.py create mode 100755 scripts/npc/9330278.py create mode 100755 scripts/npc/9390124.py create mode 100755 scripts/npc/9390126.py create mode 100755 scripts/npc/9390208.py create mode 100755 scripts/npc/9390225.py create mode 100755 scripts/npc/9390232.py create mode 100755 scripts/npc/9390233.py create mode 100755 scripts/npc/9400534.py create mode 100755 scripts/npc/About_NLC.py create mode 100755 scripts/npc/Akayrum_accept.py create mode 100755 scripts/npc/ArcherMaster.py create mode 100755 scripts/npc/DimensionInavde.py create mode 100755 scripts/npc/EmiliaQuest.py create mode 100755 scripts/npc/Enter_Darkportal_H.py create mode 100755 scripts/npc/Enter_Darkportal_M.py create mode 100755 scripts/npc/Enter_Darkportal_P.py create mode 100755 scripts/npc/Enter_Darkportal_T.py create mode 100755 scripts/npc/Enter_Darkportal_W.py create mode 100755 scripts/npc/Enter_krease.py create mode 100755 scripts/npc/Event00.py create mode 100755 scripts/npc/Event05.py create mode 100755 scripts/npc/Event_PinkZakumOut.py create mode 100755 scripts/npc/Event_PinkZakumreward.py create mode 100755 scripts/npc/FighterMaster.py create mode 100755 scripts/npc/Fritto_out.py create mode 100755 scripts/npc/FutureGate_taxi.py create mode 100755 scripts/npc/GL_Food Fight.py create mode 100755 scripts/npc/Gachapierrot.py create mode 100755 scripts/npc/GoSchool.py create mode 100755 scripts/npc/GolluxOutReqeust.py create mode 100755 scripts/npc/HW_macha.py create mode 100755 scripts/npc/LionCastle_accept.py create mode 100755 scripts/npc/M_info.py create mode 100755 scripts/npc/MagicianMaster.py create mode 100755 scripts/npc/Malay_Warp.py create mode 100755 scripts/npc/MalaysiaBoss_GL.py create mode 100755 scripts/npc/Manji.py create mode 100755 scripts/npc/NLC_Taxi.py create mode 100755 scripts/npc/NLC_ticketing.py create mode 100755 scripts/npc/NPC_unionShop.py create mode 100755 scripts/npc/PQout1.py create mode 100755 scripts/npc/PTjob2N.py create mode 100755 scripts/npc/PTjob4N.py create mode 100755 scripts/npc/PinkBeen_Out.py create mode 100755 scripts/npc/PinkBeen_Summon.py create mode 100755 scripts/npc/PinkBeen_accept.py create mode 100755 scripts/npc/PirateMaster.py create mode 100755 scripts/npc/Polo_Out.py create mode 100755 scripts/npc/ProofKern.py create mode 100755 scripts/npc/Raid_party.py create mode 100755 scripts/npc/Ranmaru_check_eNum.py create mode 100755 scripts/npc/SecJob_Schiller.py create mode 100755 scripts/npc/ShanghaiGate.py create mode 100755 scripts/npc/ShanghaiMapleGate.py create mode 100755 scripts/npc/Shaolin_notice.py create mode 100755 scripts/npc/Sky_Train.py create mode 100755 scripts/npc/SockerCreate.py create mode 100755 scripts/npc/SongOfHawar.py create mode 100755 scripts/npc/Stage0_visitor_gooutcube.py create mode 100755 scripts/npc/StageNpcCheckSengo.py create mode 100755 scripts/npc/Sunstone.py create mode 100755 scripts/npc/TheSeedRanking.py create mode 100755 scripts/npc/Thomas.py create mode 100755 scripts/npc/UIOpen.py create mode 100755 scripts/npc/UIOpen_Start.py create mode 100755 scripts/npc/UMcoolgirl.py create mode 100755 scripts/npc/VanLeon_Summon.py create mode 100755 scripts/npc/VcoreUI.py create mode 100755 scripts/npc/WUkerning.py create mode 100755 scripts/npc/WUkerning_exit.py create mode 100755 scripts/npc/WUkerning_next.py create mode 100755 scripts/npc/WUmoonrabbit.py create mode 100755 scripts/npc/WUmoonrabbit_tiger.py create mode 100755 scripts/npc/Zakum00.py create mode 100755 scripts/npc/Zakum02.py create mode 100755 scripts/npc/Zakum04.py create mode 100755 scripts/npc/Zakum06.py create mode 100755 scripts/npc/__init__.py create mode 100755 scripts/npc/acc_product.py create mode 100755 scripts/npc/aishaShop.py create mode 100755 scripts/npc/alchemy.py create mode 100755 scripts/npc/alicia_aquaris.py create mode 100755 scripts/npc/aqupondo.py create mode 100755 scripts/npc/arcana_flower.py create mode 100755 scripts/npc/arcana_rock_free.py create mode 100755 scripts/npc/arcana_rock_free2.py create mode 100755 scripts/npc/archer4th_warp.py create mode 100755 scripts/npc/awake.py create mode 100755 scripts/npc/ayame_sc.py create mode 100755 scripts/npc/babyPig.py create mode 100755 scripts/npc/babyfood.py create mode 100755 scripts/npc/backToVictoria.py create mode 100755 scripts/npc/balog_InOut.py create mode 100755 scripts/npc/balog_accept.py create mode 100755 scripts/npc/balog_scroll.py create mode 100755 scripts/npc/banbanEnter.py create mode 100755 scripts/npc/bell.py create mode 100755 scripts/npc/bellumEnter.py create mode 100755 scripts/npc/bing00.py create mode 100755 scripts/npc/black_bean_start.py create mode 100755 scripts/npc/blockbusterUiOpen.py create mode 100755 scripts/npc/bloodyqueenEnter.py create mode 100755 scripts/npc/boss_bellderos.py create mode 100755 scripts/npc/boss_treglo.py create mode 100755 scripts/npc/boss_victor.py create mode 100755 scripts/npc/bush1.py create mode 100755 scripts/npc/bush2.py create mode 100755 scripts/npc/cannon_forewarning.py create mode 100755 scripts/npc/captinsg01.py create mode 100755 scripts/npc/characterNameChange.py create mode 100755 scripts/npc/cheki.py create mode 100755 scripts/npc/con1.py create mode 100755 scripts/npc/con2.py create mode 100755 scripts/npc/contimoveAnyway.py create mode 100755 scripts/npc/contimoveEdeGo.py create mode 100755 scripts/npc/contimoveEliEde.py create mode 100755 scripts/npc/contimoveOrbEde.py create mode 100755 scripts/npc/contimoveOrbEre.py create mode 100755 scripts/npc/contimoveRieRit.py create mode 100755 scripts/npc/contimoveRitRie.py create mode 100755 scripts/npc/craft_nodestone.py create mode 100755 scripts/npc/crane.py create mode 100755 scripts/npc/createCygnus.py create mode 100755 scripts/npc/crimsonRidley.py create mode 100755 scripts/npc/crossHunter_bomb.py create mode 100755 scripts/npc/cygnus_accept.py create mode 100755 scripts/npc/cygnus_lv120.py create mode 100755 scripts/npc/davyJohn_enter.py create mode 100755 scripts/npc/davyJohn_play.py create mode 100755 scripts/npc/desc_tree.py create mode 100755 scripts/npc/dimensionGate.py create mode 100755 scripts/npc/dojang_enter.py create mode 100755 scripts/npc/dooat.py create mode 100755 scripts/npc/dragonEgg.py create mode 100755 scripts/npc/dragon_dream.py create mode 100755 scripts/npc/dreamBreaker_NPC.py create mode 100755 scripts/npc/dressing_room.py create mode 100755 scripts/npc/ds_tuto_ClickObj.py create mode 100755 scripts/npc/dualBladeJob.py create mode 100755 scripts/npc/elizaHarp1.py create mode 100755 scripts/npc/elizaHarp2.py create mode 100755 scripts/npc/elizaHarp3.py create mode 100755 scripts/npc/elizaHarp4.py create mode 100755 scripts/npc/elizaHarp5.py create mode 100755 scripts/npc/elizaHarp6.py create mode 100755 scripts/npc/elizaHarp7.py create mode 100755 scripts/npc/enterEvolvingSystem.py create mode 100755 scripts/npc/enterGreatElf.py create mode 100755 scripts/npc/enterTraining.py create mode 100755 scripts/npc/enter_TimeGap.py create mode 100755 scripts/npc/equip_product.py create mode 100755 scripts/npc/eunwolhouse_item.py create mode 100755 scripts/npc/euwol_Phantom.py create mode 100755 scripts/npc/everything00.py create mode 100755 scripts/npc/extreme_welcome.py create mode 100755 scripts/npc/face_henesys1.py create mode 100755 scripts/npc/fairy_dosy.py create mode 100755 scripts/npc/fairy_epony.py create mode 100755 scripts/npc/fairy_uny.py create mode 100755 scripts/npc/farm_coin.py create mode 100755 scripts/npc/fire_kit.py create mode 100755 scripts/npc/flower_in.py create mode 100755 scripts/npc/flower_out.py create mode 100755 scripts/npc/flyminidraco.py create mode 100755 scripts/npc/friend00.py create mode 100755 scripts/npc/gachaponbox1.py create mode 100755 scripts/npc/getAboard.py create mode 100755 scripts/npc/get_ticket.py create mode 100755 scripts/npc/giveEggEvan.py create mode 100755 scripts/npc/giveKineWeapon.py create mode 100755 scripts/npc/give_4034141.py create mode 100755 scripts/npc/giveupRiding.py create mode 100755 scripts/npc/glpqEnter.py create mode 100755 scripts/npc/glpqStart.py create mode 100755 scripts/npc/glpqStory.py create mode 100755 scripts/npc/goKinoc.py create mode 100755 scripts/npc/goToLehel.py create mode 100755 scripts/npc/goVeritas.py create mode 100755 scripts/npc/go_tree1.py create mode 100755 scripts/npc/go_tree2.py create mode 100755 scripts/npc/go_tree3.py create mode 100755 scripts/npc/go_victoria.py create mode 100755 scripts/npc/go_xmas.py create mode 100755 scripts/npc/go_xmas06.py create mode 100755 scripts/npc/gold_chan.py create mode 100755 scripts/npc/gold_dao.py create mode 100755 scripts/npc/goldrich.py create mode 100755 scripts/npc/goto_141060000.py create mode 100755 scripts/npc/guild_move.py create mode 100755 scripts/npc/guild_proc.py create mode 100755 scripts/npc/guild_union.py create mode 100755 scripts/npc/hair_ariant1.py create mode 100755 scripts/npc/hair_edel1.py create mode 100755 scripts/npc/hair_henesys1.py create mode 100755 scripts/npc/hair_henesys2.py create mode 100755 scripts/npc/hair_kerning1.py create mode 100755 scripts/npc/hair_ludi1.py create mode 100755 scripts/npc/hair_royal.py create mode 100755 scripts/npc/henrite.py create mode 100755 scripts/npc/herb_in.py create mode 100755 scripts/npc/herb_out.py create mode 100755 scripts/npc/herbalism.py create mode 100755 scripts/npc/hillah_accept.py create mode 100755 scripts/npc/himmel.py create mode 100755 scripts/npc/holyStone.py create mode 100755 scripts/npc/hontale_Bdoor.py create mode 100755 scripts/npc/hontale_accept.py create mode 100755 scripts/npc/hontale_enterToE.py create mode 100755 scripts/npc/hontale_out.py create mode 100755 scripts/npc/hotel1.py create mode 100755 scripts/npc/huntingZoneIn.py create mode 100755 scripts/npc/iceman_Reward.py create mode 100755 scripts/npc/illex.py create mode 100755 scripts/npc/infoArcher.py create mode 100755 scripts/npc/infoMagician.py create mode 100755 scripts/npc/infoPirate.py create mode 100755 scripts/npc/infoRogue.py create mode 100755 scripts/npc/infoSwordman.py create mode 100755 scripts/npc/intoResiTR.py create mode 100755 scripts/npc/inv-seller.py create mode 100755 scripts/npc/ipia_teleport.py create mode 100755 scripts/npc/item2607.py create mode 100755 scripts/npc/jaguar_in.py create mode 100755 scripts/npc/jane.py create mode 100755 scripts/npc/jett00.py create mode 100755 scripts/npc/jett_tuto_10_1.py create mode 100755 scripts/npc/jett_tuto_11_0.py create mode 100755 scripts/npc/job4_item.py create mode 100755 scripts/npc/job_cygnus.py create mode 100755 scripts/npc/job_explorer.py create mode 100755 scripts/npc/job_resistance.py create mode 100755 scripts/npc/juliet_start.py create mode 100755 scripts/npc/jump_tree.py create mode 100755 scripts/npc/kannaTutoDirection.py create mode 100755 scripts/npc/kasandra.py create mode 100755 scripts/npc/kenjiTutoGate.py create mode 100755 scripts/npc/kenjiTutoShingen.py create mode 100755 scripts/npc/kenta_enter.py create mode 100755 scripts/npc/king_summer.py create mode 100755 scripts/npc/lens_henesys1.py create mode 100755 scripts/npc/levelUP.py create mode 100755 scripts/npc/lilin.py create mode 100755 scripts/npc/link2_Clear.py create mode 100755 scripts/npc/lucid_accept.py create mode 100755 scripts/npc/ludi026.py create mode 100755 scripts/npc/ludi028.py create mode 100755 scripts/npc/ludi029.py create mode 100755 scripts/npc/ludi_move.py create mode 100755 scripts/npc/mParkShuttle.py create mode 100755 scripts/npc/mPark_retire.py create mode 100755 scripts/npc/magnus_boss.py create mode 100755 scripts/npc/magnus_out.py create mode 100755 scripts/npc/make_alert.py create mode 100755 scripts/npc/mapleChat_NPC.py create mode 100755 scripts/npc/mapleEquipBuildup.py create mode 100755 scripts/npc/matius.py create mode 100755 scripts/npc/mc_guestHouse_move.py create mode 100755 scripts/npc/mentoringNPC.py create mode 100755 scripts/npc/merTutorAfrien.py create mode 100755 scripts/npc/merTutorElder.py create mode 100755 scripts/npc/merTutorFred.py create mode 100755 scripts/npc/mesoMarket.py create mode 100755 scripts/npc/mihail_potionBox.py create mode 100755 scripts/npc/mike.py create mode 100755 scripts/npc/minigame00.py create mode 100755 scripts/npc/mining.py create mode 100755 scripts/npc/moonrabbit.py create mode 100755 scripts/npc/moonrabbit_bonus.py create mode 100755 scripts/npc/moonrabbit_tiger.py create mode 100755 scripts/npc/nautil_black.py create mode 100755 scripts/npc/nexonstarNpc_1.py create mode 100755 scripts/npc/nineheart.py create mode 100755 scripts/npc/npc_2162000.py create mode 100755 scripts/npc/npc_3003132.py create mode 100755 scripts/npc/npc_9062117.py create mode 100755 scripts/npc/npc_9111063.py create mode 100755 scripts/npc/npc_9130115.py create mode 100755 scripts/npc/npc_9390201.py create mode 100755 scripts/npc/npc_9390217.py create mode 100755 scripts/npc/npc_9390219.py create mode 100755 scripts/npc/npc_9400530.py create mode 100755 scripts/npc/npc_9400570.py create mode 100755 scripts/npc/npc_9400624.py create mode 100755 scripts/npc/npc_9400626.py create mode 100755 scripts/npc/npc_9400628.py create mode 100755 scripts/npc/npc_horizonPortal.py create mode 100755 scripts/npc/npc_kid1.py create mode 100755 scripts/npc/oldBook1.py create mode 100755 scripts/npc/oldBook5.py create mode 100755 scripts/npc/open_accP.py create mode 100755 scripts/npc/open_alchemy.py create mode 100755 scripts/npc/open_equipP.py create mode 100755 scripts/npc/open_herb.py create mode 100755 scripts/npc/open_mining.py create mode 100755 scripts/npc/ossyria3_1.py create mode 100755 scripts/npc/ossyria_taxi.py create mode 100755 scripts/npc/outSecondDH.py create mode 100755 scripts/npc/out_evolvingSystem.py create mode 100755 scripts/npc/out_tree.py create mode 100755 scripts/npc/out_treglo.py create mode 100755 scripts/npc/out_victor.py create mode 100755 scripts/npc/owen.py create mode 100755 scripts/npc/pantheonMapleGate.py create mode 100755 scripts/npc/party2_enter.py create mode 100755 scripts/npc/party2_out.py create mode 100755 scripts/npc/party2_play.py create mode 100755 scripts/npc/party_ludimaze_goal.py create mode 100755 scripts/npc/periPatrol02.py create mode 100755 scripts/npc/pet_letter.py create mode 100755 scripts/npc/pet_lifeitem.py create mode 100755 scripts/npc/petmaster.py create mode 100755 scripts/npc/pierreEnter.py create mode 100755 scripts/npc/pirate4th_warp.py create mode 100755 scripts/npc/platformer_enter.py create mode 100755 scripts/npc/prisonBreak_enter.py create mode 100755 scripts/npc/promessa.py create mode 100755 scripts/npc/q1803_clear.py create mode 100755 scripts/npc/q20850_check3.py create mode 100755 scripts/npc/q23005ing.py create mode 100755 scripts/npc/q62003_check.py create mode 100755 scripts/npc/q62013_item.py create mode 100755 scripts/npc/rank_user.py create mode 100755 scripts/npc/reactor_8659135.py create mode 100755 scripts/npc/reactor_8659136.py create mode 100755 scripts/npc/reactor_8659137.py create mode 100755 scripts/npc/remove_DirtytreasureMap.py create mode 100755 scripts/npc/rescue_nora.py create mode 100755 scripts/npc/rita_Field.py create mode 100755 scripts/npc/rita_library.py create mode 100755 scripts/npc/rogue4th_warp.py create mode 100755 scripts/npc/rootaBossOut.py create mode 100755 scripts/npc/roro_Check1.py create mode 100755 scripts/npc/roro_Check2.py create mode 100755 scripts/npc/roro_Check3.py create mode 100755 scripts/npc/rouletteNPC.py create mode 100755 scripts/npc/rouletteNPC_2015.py create mode 100755 scripts/npc/rowen.py create mode 100755 scripts/npc/say_1012121.py create mode 100755 scripts/npc/sell_ticket.py create mode 100755 scripts/npc/shammos2.py create mode 100755 scripts/npc/shammos_Next1.py create mode 100755 scripts/npc/shaolin_collector.py create mode 100755 scripts/npc/skin_henesys1.py create mode 100755 scripts/npc/soulWeapon.py create mode 100755 scripts/npc/strangeGallery_out.py create mode 100755 scripts/npc/subway_in.py create mode 100755 scripts/npc/talk2152014.py create mode 100755 scripts/npc/talk2159000.py create mode 100755 scripts/npc/talk2159001.py create mode 100755 scripts/npc/talk2159002.py create mode 100755 scripts/npc/talk2159003.py create mode 100755 scripts/npc/talk2159004.py create mode 100755 scripts/npc/talk2159006.py create mode 100755 scripts/npc/talk2159007.py create mode 100755 scripts/npc/talk2159008.py create mode 100755 scripts/npc/talk2159009.py create mode 100755 scripts/npc/talk2159010.py create mode 100755 scripts/npc/talk2159011.py create mode 100755 scripts/npc/talk2159012.py create mode 100755 scripts/npc/talk2159013.py create mode 100755 scripts/npc/talk2159015.py create mode 100755 scripts/npc/talk2159016.py create mode 100755 scripts/npc/talkHelena.py create mode 100755 scripts/npc/talk_sugarMaple.py create mode 100755 scripts/npc/talk_vasilituto.py create mode 100755 scripts/npc/tangyoon_end.py create mode 100755 scripts/npc/tangyoon_start.py create mode 100755 scripts/npc/taxi5.py create mode 100755 scripts/npc/test.py create mode 100755 scripts/npc/tourNotice.py create mode 100755 scripts/npc/trademaster.py create mode 100755 scripts/npc/undefined.py create mode 100755 scripts/npc/unionRaid_IN.py create mode 100755 scripts/npc/unionRaid_OUT.py create mode 100755 scripts/npc/unityPortal.py create mode 100755 scripts/npc/unknown_shop.py create mode 100755 scripts/npc/urusEnter.py create mode 100755 scripts/npc/urusReward.py create mode 100755 scripts/npc/victoria_taxi.py create mode 100755 scripts/npc/viking_cannon1.py create mode 100755 scripts/npc/visitor_movenpc.py create mode 100755 scripts/npc/wanted_premier.py create mode 100755 scripts/npc/warrior4th_warp.py create mode 100755 scripts/npc/watermelon_out.py create mode 100755 scripts/npc/wedding_enter.py create mode 100755 scripts/npc/welcome_ereb00.py create mode 100755 scripts/npc/welcome_ereb01.py create mode 100755 scripts/npc/wendelinHeal.py create mode 100755 scripts/npc/will_enterGate.py create mode 100755 scripts/npc/will_out.py create mode 100755 scripts/npc/witchMaladyGL.py create mode 100755 scripts/npc/wizard4th_warp.py create mode 100755 scripts/npc/world_trip.py create mode 100755 scripts/npc/xmas_tree2.py create mode 100755 scripts/npc/zakum_accept.py create mode 100755 scripts/portal/101020400_east00.py create mode 100755 scripts/portal/101020400_east01.py create mode 100755 scripts/portal/101030000_down.py create mode 100755 scripts/portal/101050100_PT.py create mode 100755 scripts/portal/101070000_up.py create mode 100755 scripts/portal/101070100_east.py create mode 100755 scripts/portal/101071000_west.py create mode 100755 scripts/portal/101072000_east.py create mode 100755 scripts/portal/103030100_in00.py create mode 100755 scripts/portal/106030100_IP.py create mode 100755 scripts/portal/106030200_out00.py create mode 100755 scripts/portal/106030201_east00.py create mode 100755 scripts/portal/106030211_west00.py create mode 100755 scripts/portal/106030302_out00.py create mode 100755 scripts/portal/106030501_in00.py create mode 100755 scripts/portal/106030600_east00.py create mode 100755 scripts/portal/106031500_hide00.py create mode 100755 scripts/portal/106031502_hide01.py create mode 100755 scripts/portal/106031503_hide01.py create mode 100755 scripts/portal/141060000_pt00.py create mode 100755 scripts/portal/141060000_pt01.py create mode 100755 scripts/portal/141060000_pt02.py create mode 100755 scripts/portal/141060000_pt03.py create mode 100755 scripts/portal/141060000_pt04.py create mode 100755 scripts/portal/141060000_pt05.py create mode 100755 scripts/portal/141060000_ptq1.py create mode 100755 scripts/portal/1580_PCS01.py create mode 100755 scripts/portal/1580_PCS02.py create mode 100755 scripts/portal/1580_PCS03.py create mode 100755 scripts/portal/200020001_out00.py create mode 100755 scripts/portal/240010102_out00.py create mode 100755 scripts/portal/240090000_mid.py create mode 100755 scripts/portal/240091000_west.py create mode 100755 scripts/portal/240091300_south.py create mode 100755 scripts/portal/240091500_up.py create mode 100755 scripts/portal/240092000_down.py create mode 100755 scripts/portal/240092000_east.py create mode 100755 scripts/portal/240092100_in.py create mode 100755 scripts/portal/240092200_down.py create mode 100755 scripts/portal/240092300_west.py create mode 100755 scripts/portal/240093000_out.py create mode 100755 scripts/portal/240093200_in.py create mode 100755 scripts/portal/240093300_out.py create mode 100755 scripts/portal/240093310_out.py create mode 100755 scripts/portal/260010601_out00.py create mode 100755 scripts/portal/301070010_out.py create mode 100755 scripts/portal/310_stop01.py create mode 100755 scripts/portal/330_popup05.py create mode 100755 scripts/portal/330_popup06.py create mode 100755 scripts/portal/330_popup07.py create mode 100755 scripts/portal/3th_jobQuestMap.py create mode 100755 scripts/portal/410000001_out00.py create mode 100755 scripts/portal/450001005_PS00.py create mode 100755 scripts/portal/450001007_PCS01.py create mode 100755 scripts/portal/450001100_PS00.py create mode 100755 scripts/portal/450001105_PS00.py create mode 100755 scripts/portal/450001105_PS01.py create mode 100755 scripts/portal/450001107_PCS03.py create mode 100755 scripts/portal/450001210_PS00.py create mode 100755 scripts/portal/450001215_PS00.py create mode 100755 scripts/portal/450001218_PS00.py create mode 100755 scripts/portal/450001219_PS00.py create mode 100755 scripts/portal/450001219_PS01.py create mode 100755 scripts/portal/450001240_PS00.py create mode 100755 scripts/portal/450001250_PCS00.py create mode 100755 scripts/portal/450001320_PCS00.py create mode 100755 scripts/portal/450001350_PCS00.py create mode 100755 scripts/portal/807000000_honogi.py create mode 100755 scripts/portal/865010200_pc00.py create mode 100755 scripts/portal/865020001_pc00.py create mode 100755 scripts/portal/865020051_out00.py create mode 100755 scripts/portal/910090305_out00.py create mode 100755 scripts/portal/910090350_pcs00.py create mode 100755 scripts/portal/910090350_talk1.py create mode 100755 scripts/portal/910090350_talk2.py create mode 100755 scripts/portal/924000200_out00.py create mode 100755 scripts/portal/924000201_out00.py create mode 100755 scripts/portal/940200040_east00.py create mode 100755 scripts/portal/940200500_west00.py create mode 100755 scripts/portal/970072200_west.py create mode 100755 scripts/portal/BPReturn_Akayrum.py create mode 100755 scripts/portal/BPReturn_Hillah.py create mode 100755 scripts/portal/BPReturn_Hon1.py create mode 100755 scripts/portal/BPReturn_Hontale.py create mode 100755 scripts/portal/BPReturn_Magnus.py create mode 100755 scripts/portal/BPReturn_Magnus2.py create mode 100755 scripts/portal/BPReturn_Vanleon.py create mode 100755 scripts/portal/BPReturn_Will.py create mode 100755 scripts/portal/BPReturn_Zakum.py create mode 100755 scripts/portal/CWPQ_Portal4.py create mode 100755 scripts/portal/CWPQ_bonus_out.py create mode 100755 scripts/portal/CWminiGame_enter.py create mode 100755 scripts/portal/CaravanP1_Goal.py create mode 100755 scripts/portal/CaravanP1_chk0.py create mode 100755 scripts/portal/CaravanP1_chk1.py create mode 100755 scripts/portal/CaravanP1_chk10.py create mode 100755 scripts/portal/CaravanP1_chk11.py create mode 100755 scripts/portal/CaravanP1_chk12.py create mode 100755 scripts/portal/CaravanP1_chk13.py create mode 100755 scripts/portal/CaravanP1_chk14.py create mode 100755 scripts/portal/CaravanP1_chk15.py create mode 100755 scripts/portal/CaravanP1_chk2.py create mode 100755 scripts/portal/CaravanP1_chk3.py create mode 100755 scripts/portal/CaravanP1_chk4.py create mode 100755 scripts/portal/CaravanP1_chk5.py create mode 100755 scripts/portal/CaravanP1_chk6.py create mode 100755 scripts/portal/CaravanP1_chk7.py create mode 100755 scripts/portal/CaravanP1_chk8.py create mode 100755 scripts/portal/CaravanP1_chk9.py create mode 100755 scripts/portal/CaravanP2_Goal.py create mode 100755 scripts/portal/CaravanP2_chk0.py create mode 100755 scripts/portal/CaravanP2_chk1.py create mode 100755 scripts/portal/CaravanP2_chk10.py create mode 100755 scripts/portal/CaravanP2_chk11.py create mode 100755 scripts/portal/CaravanP2_chk12.py create mode 100755 scripts/portal/CaravanP2_chk13.py create mode 100755 scripts/portal/CaravanP2_chk14.py create mode 100755 scripts/portal/CaravanP2_chk15.py create mode 100755 scripts/portal/CaravanP2_chk16.py create mode 100755 scripts/portal/CaravanP2_chk17.py create mode 100755 scripts/portal/CaravanP2_chk18.py create mode 100755 scripts/portal/CaravanP2_chk19.py create mode 100755 scripts/portal/CaravanP2_chk2.py create mode 100755 scripts/portal/CaravanP2_chk3.py create mode 100755 scripts/portal/CaravanP2_chk4.py create mode 100755 scripts/portal/CaravanP2_chk5.py create mode 100755 scripts/portal/CaravanP2_chk6.py create mode 100755 scripts/portal/CaravanP2_chk7.py create mode 100755 scripts/portal/CaravanP2_chk8.py create mode 100755 scripts/portal/CaravanP2_chk9.py create mode 100755 scripts/portal/ComeBackHome.py create mode 100755 scripts/portal/Curbrock_Out.py create mode 100755 scripts/portal/DI_out.py create mode 100755 scripts/portal/DemianOut.py create mode 100755 scripts/portal/DemonZoneOut.py create mode 100755 scripts/portal/DragonEggNotice.py create mode 100755 scripts/portal/ES_Out.py create mode 100755 scripts/portal/EnterSWmer.py create mode 100755 scripts/portal/EnterStageSengo.py create mode 100755 scripts/portal/Event_PinkZakumR.py create mode 100755 scripts/portal/Exit_SparringMapNpc_Tiger.py create mode 100755 scripts/portal/FCPzone_start.py create mode 100755 scripts/portal/FourthJobResi.py create mode 100755 scripts/portal/GiantBossQuit1.py create mode 100755 scripts/portal/In_diera.py create mode 100755 scripts/portal/Library_out.py create mode 100755 scripts/portal/MD_high.py create mode 100755 scripts/portal/NextStageSengo.py create mode 100755 scripts/portal/NextStg.py create mode 100755 scripts/portal/OutElfKingRoom.py create mode 100755 scripts/portal/P1_BacktoEvent2.py create mode 100755 scripts/portal/P1_E1_Fire00.py create mode 100755 scripts/portal/P1_E2_Fire00.py create mode 100755 scripts/portal/P2_E2_Fire00.py create mode 100755 scripts/portal/P2_E3_Fire00.py create mode 100755 scripts/portal/P2_Event2_Start.py create mode 100755 scripts/portal/P2_Event3_Start.py create mode 100755 scripts/portal/P3_Fire00.py create mode 100755 scripts/portal/P3_ForceFire.py create mode 100755 scripts/portal/PCS_q17640.py create mode 100755 scripts/portal/PF_nextStage.py create mode 100755 scripts/portal/PH02.py create mode 100755 scripts/portal/PL_JBS_enter2.py create mode 100755 scripts/portal/PL_JBS_enter4.py create mode 100755 scripts/portal/PL_JBS_enter5.py create mode 100755 scripts/portal/PPinkOut.py create mode 100755 scripts/portal/PQout1.py create mode 100755 scripts/portal/PTjob3M.py create mode 100755 scripts/portal/PTjob4M_2.py create mode 100755 scripts/portal/PTtutor100_0.py create mode 100755 scripts/portal/PTtutor200_0.py create mode 100755 scripts/portal/PTtutor300_0.py create mode 100755 scripts/portal/PTtutor300_2.py create mode 100755 scripts/portal/PTtutor400_0.py create mode 100755 scripts/portal/Pianus.py create mode 100755 scripts/portal/Pinkin.py create mode 100755 scripts/portal/Platformer_exit.py create mode 100755 scripts/portal/Populatus00.py create mode 100755 scripts/portal/Portal_down.py create mode 100755 scripts/portal/Portal_up.py create mode 100755 scripts/portal/Pre_stg.py create mode 100755 scripts/portal/Ranmaru_ptlNPC.py create mode 100755 scripts/portal/Ranmaru_ptlNPC2.py create mode 100755 scripts/portal/Resi_tutor11.py create mode 100755 scripts/portal/Resi_tutor31.py create mode 100755 scripts/portal/Resi_tutor61.py create mode 100755 scripts/portal/Sky_BossOut.py create mode 100755 scripts/portal/Sky_Out.py create mode 100755 scripts/portal/StageOutSengo.py create mode 100755 scripts/portal/TD_MC_first.py create mode 100755 scripts/portal/TD_MC_jump.py create mode 100755 scripts/portal/ThirdJobResi.py create mode 100755 scripts/portal/UMFieldOut.py create mode 100755 scripts/portal/WUenterHubPortal.py create mode 100755 scripts/portal/WUexitHub.py create mode 100755 scripts/portal/Zakum05.py create mode 100755 scripts/portal/Zakumgo.py create mode 100755 scripts/portal/__init__.py create mode 100755 scripts/portal/amoria_out.py create mode 100755 scripts/portal/aranTutorAloneX.py create mode 100755 scripts/portal/aranTutorArrow0.py create mode 100755 scripts/portal/aranTutorArrow1.py create mode 100755 scripts/portal/aranTutorArrow2.py create mode 100755 scripts/portal/aranTutorArrow3.py create mode 100755 scripts/portal/aranTutorGuide0.py create mode 100755 scripts/portal/aranTutorGuide1.py create mode 100755 scripts/portal/aranTutorGuide2.py create mode 100755 scripts/portal/aranTutorLost.py create mode 100755 scripts/portal/aranTutorMono0.py create mode 100755 scripts/portal/aranTutorMono1.py create mode 100755 scripts/portal/aranTutorMono2.py create mode 100755 scripts/portal/aranTutorMono3.py create mode 100755 scripts/portal/aranTutorOut1.py create mode 100755 scripts/portal/aranTutorOut2.py create mode 100755 scripts/portal/aranTutorOut3.py create mode 100755 scripts/portal/arcanaCave_next.py create mode 100755 scripts/portal/arcana_landing2.py create mode 100755 scripts/portal/arcane_water.py create mode 100755 scripts/portal/arisan_out.py create mode 100755 scripts/portal/ark_mPark_Next.py create mode 100755 scripts/portal/aswan_in.py create mode 100755 scripts/portal/babyPigOut.py create mode 100755 scripts/portal/back_Ludi.py create mode 100755 scripts/portal/back_hillah.py create mode 100755 scripts/portal/balogTemple.py create mode 100755 scripts/portal/balog_end.py create mode 100755 scripts/portal/banbanGoInside.py create mode 100755 scripts/portal/bedroom_out.py create mode 100755 scripts/portal/berry_out.py create mode 100755 scripts/portal/bh_bossOut.py create mode 100755 scripts/portal/bh_bossOutN.py create mode 100755 scripts/portal/bh_bossinmap1.py create mode 100755 scripts/portal/bh_bossinmap1n.py create mode 100755 scripts/portal/bh_bossinmap2.py create mode 100755 scripts/portal/bh_bossinmap2n.py create mode 100755 scripts/portal/bh_bossinmap3.py create mode 100755 scripts/portal/bh_bossinmap3n.py create mode 100755 scripts/portal/bh_bossinmap4.py create mode 100755 scripts/portal/bh_bossinmap4n.py create mode 100755 scripts/portal/bhb1_sc1.py create mode 100755 scripts/portal/bhb1_sc2.py create mode 100755 scripts/portal/bhb1_sc3.py create mode 100755 scripts/portal/bhb1_sc4.py create mode 100755 scripts/portal/bhb_scbossOut.py create mode 100755 scripts/portal/bhb_scenario.py create mode 100755 scripts/portal/blackHeaven_boss.py create mode 100755 scripts/portal/blackHeaven_boss_back.py create mode 100755 scripts/portal/blackbean_portal.py create mode 100755 scripts/portal/blackdracoout.py create mode 100755 scripts/portal/bmbossfield_out.py create mode 100755 scripts/portal/book.py create mode 100755 scripts/portal/bossBlackMage_pt.py create mode 100755 scripts/portal/cannon_tuto_06.py create mode 100755 scripts/portal/cannon_tuto_07.py create mode 100755 scripts/portal/cannon_tuto_09.py create mode 100755 scripts/portal/cannon_tuto_10.py create mode 100755 scripts/portal/captinsg00.py create mode 100755 scripts/portal/check_25856.py create mode 100755 scripts/portal/check_Portal0.py create mode 100755 scripts/portal/check_Portal1.py create mode 100755 scripts/portal/check_Portal2.py create mode 100755 scripts/portal/check_Portal3.py create mode 100755 scripts/portal/check_Portal5.py create mode 100755 scripts/portal/check_Portal6.py create mode 100755 scripts/portal/check_eNum.py create mode 100755 scripts/portal/check_q20828.py create mode 100755 scripts/portal/collision_1820_1.py create mode 100755 scripts/portal/collision_1820_2.py create mode 100755 scripts/portal/collision_1820_3.py create mode 100755 scripts/portal/collision_1820_4.py create mode 100755 scripts/portal/collision_1820_5.py create mode 100755 scripts/portal/collision_D5.py create mode 100755 scripts/portal/collision_E2.py create mode 100755 scripts/portal/comerz_potal00.py create mode 100755 scripts/portal/commerce_move.py create mode 100755 scripts/portal/connect1.py create mode 100755 scripts/portal/connect2.py create mode 100755 scripts/portal/connect3.py create mode 100755 scripts/portal/connect4.py create mode 100755 scripts/portal/connect5.py create mode 100755 scripts/portal/connect6.py create mode 100755 scripts/portal/connect7.py create mode 100755 scripts/portal/connect8.py create mode 100755 scripts/portal/connect9.py create mode 100755 scripts/portal/connect_UIOpen.py create mode 100755 scripts/portal/contactDragon.py create mode 100755 scripts/portal/crane_MR.py create mode 100755 scripts/portal/crane_SS.py create mode 100755 scripts/portal/createTower.py create mode 100755 scripts/portal/crimsonNext.py create mode 100755 scripts/portal/crimsonPZ.py create mode 100755 scripts/portal/crimsonWood2.py create mode 100755 scripts/portal/crimsonWood3.py create mode 100755 scripts/portal/crimsonWood4.py create mode 100755 scripts/portal/crossHunterAgit.py create mode 100755 scripts/portal/cyg_tutoPortal.py create mode 100755 scripts/portal/cygnusre01.py create mode 100755 scripts/portal/davy_exit.py create mode 100755 scripts/portal/davy_next0.py create mode 100755 scripts/portal/davy_next1.py create mode 100755 scripts/portal/davy_next2.py create mode 100755 scripts/portal/davy_next3.py create mode 100755 scripts/portal/davy_next4.py create mode 100755 scripts/portal/demonOutCheck.py create mode 100755 scripts/portal/dir01_867201540.py create mode 100755 scripts/portal/dir02_867201540.py create mode 100755 scripts/portal/dir_1560_1.py create mode 100755 scripts/portal/dir_1760.py create mode 100755 scripts/portal/dir_867201800.py create mode 100755 scripts/portal/dir_867201810.py create mode 100755 scripts/portal/dojang_exit.py create mode 100755 scripts/portal/dojang_next.py create mode 100755 scripts/portal/dojang_up.py create mode 100755 scripts/portal/donghwa_out.py create mode 100755 scripts/portal/downtown2015.py create mode 100755 scripts/portal/dracoout.py create mode 100755 scripts/portal/dragoneyes.py create mode 100755 scripts/portal/dropPortalGiantBoss.py create mode 100755 scripts/portal/drop_out.py create mode 100755 scripts/portal/ds_tuto_2_0.py create mode 100755 scripts/portal/ds_tuto_home.py create mode 100755 scripts/portal/dubl2TutoPT.py create mode 100755 scripts/portal/dublportal100.py create mode 100755 scripts/portal/east00_866101000.py create mode 100755 scripts/portal/end_cygtuto.py create mode 100755 scripts/portal/enterAchter.py create mode 100755 scripts/portal/enterBlackMine.py create mode 100755 scripts/portal/enterBlackWing.py create mode 100755 scripts/portal/enterDangerHair.py create mode 100755 scripts/portal/enterDisguise5.py create mode 100755 scripts/portal/enterDollcave.py create mode 100755 scripts/portal/enterDublTuto.py create mode 100755 scripts/portal/enterHRpt.py create mode 100755 scripts/portal/enterHonnouji.py create mode 100755 scripts/portal/enterInfo.py create mode 100755 scripts/portal/enterMCave.py create mode 100755 scripts/portal/enterMagiclibrar.py create mode 100755 scripts/portal/enterNewWeapon1.py create mode 100755 scripts/portal/enterNewWeapon2.py create mode 100755 scripts/portal/enterNewWeapon3.py create mode 100755 scripts/portal/enterNewWeapon4.py create mode 100755 scripts/portal/enterPTjob2.py create mode 100755 scripts/portal/enterPort.py create mode 100755 scripts/portal/enterRIpt.py create mode 100755 scripts/portal/enterResiTR.py create mode 100755 scripts/portal/enterRider.py create mode 100755 scripts/portal/enterRienFirst.py create mode 100755 scripts/portal/enterSecJobResi.py create mode 100755 scripts/portal/enterSecondDH.py create mode 100755 scripts/portal/enterTheCrack.py create mode 100755 scripts/portal/enter_AA2R.py create mode 100755 scripts/portal/enter_bellDoor.py create mode 100755 scripts/portal/enter_bossBlackMage.py create mode 100755 scripts/portal/enter_boss_CN.py create mode 100755 scripts/portal/enter_bosswait.py create mode 100755 scripts/portal/enter_citadel.py create mode 100755 scripts/portal/enter_earth00.py create mode 100755 scripts/portal/enter_georg.py create mode 100755 scripts/portal/enter_magnusDoor.py create mode 100755 scripts/portal/enter_mastema.py create mode 100755 scripts/portal/enter_retakeHQ.py create mode 100755 scripts/portal/enter_skyGate.py create mode 100755 scripts/portal/enter_treDoor.py create mode 100755 scripts/portal/enter_victorDoor.py create mode 100755 scripts/portal/ep1_escortGiveup.py create mode 100755 scripts/portal/escortPast_Next.py create mode 100755 scripts/portal/escort_start.py create mode 100755 scripts/portal/evanDollGR.py create mode 100755 scripts/portal/evanEntrance.py create mode 100755 scripts/portal/evanFall.py create mode 100755 scripts/portal/evanFarmCT.py create mode 100755 scripts/portal/evanGarden0.py create mode 100755 scripts/portal/evanGarden1.py create mode 100755 scripts/portal/evanGolemDoor.py create mode 100755 scripts/portal/evanRoom0.py create mode 100755 scripts/portal/evanRoom1.py create mode 100755 scripts/portal/evanlivingRoom.py create mode 100755 scripts/portal/evantalk00.py create mode 100755 scripts/portal/evantalk01.py create mode 100755 scripts/portal/evantalk02.py create mode 100755 scripts/portal/evantalk10.py create mode 100755 scripts/portal/evantalk11.py create mode 100755 scripts/portal/evantalk20.py create mode 100755 scripts/portal/evantalk21.py create mode 100755 scripts/portal/evantalk40.py create mode 100755 scripts/portal/evantalk41.py create mode 100755 scripts/portal/evantalk42.py create mode 100755 scripts/portal/evantalk50.py create mode 100755 scripts/portal/evantalk60.py create mode 100755 scripts/portal/eventjp_exit.py create mode 100755 scripts/portal/evolving_outPT1.py create mode 100755 scripts/portal/evolving_outPT2.py create mode 100755 scripts/portal/evolving_outPT3.py create mode 100755 scripts/portal/evolving_outPT4.py create mode 100755 scripts/portal/evolving_outPT5.py create mode 100755 scripts/portal/evolving_outPT6.py create mode 100755 scripts/portal/evolving_outPT7.py create mode 100755 scripts/portal/evolving_outPT8.py create mode 100755 scripts/portal/evolving_outPT9.py create mode 100755 scripts/portal/exit_adventure.py create mode 100755 scripts/portal/exit_dragonR.py create mode 100755 scripts/portal/exit_juliet.py create mode 100755 scripts/portal/extreme_in03.py create mode 100755 scripts/portal/extreme_out.py create mode 100755 scripts/portal/fall_224000103.py create mode 100755 scripts/portal/fallenWT_boss.py create mode 100755 scripts/portal/find_secretRoom.py create mode 100755 scripts/portal/finish_warZone1.py create mode 100755 scripts/portal/flag_Start.py create mode 100755 scripts/portal/flag_goal.py create mode 100755 scripts/portal/frittoEgg_1.py create mode 100755 scripts/portal/frittoEgg_2.py create mode 100755 scripts/portal/frittoEgg_3.py create mode 100755 scripts/portal/frittoEgg_4.py create mode 100755 scripts/portal/frittoEgg_5.py create mode 100755 scripts/portal/frittoEgg_Final.py create mode 100755 scripts/portal/gPark_Portal.py create mode 100755 scripts/portal/gate_intoPast.py create mode 100755 scripts/portal/gatherTuto.py create mode 100755 scripts/portal/giantBossPortal.py create mode 100755 scripts/portal/giveupCH_test.py create mode 100755 scripts/portal/glpqPortal1.py create mode 100755 scripts/portal/goBlackMarket.py create mode 100755 scripts/portal/goSkuasForest.py create mode 100755 scripts/portal/goSvarti.py create mode 100755 scripts/portal/goSvartiField.py create mode 100755 scripts/portal/goUP_310070300.py create mode 100755 scripts/portal/go_867201280.py create mode 100755 scripts/portal/go_FantasticPark.py create mode 100755 scripts/portal/go_adventuretuto.py create mode 100755 scripts/portal/go_animalShow.py create mode 100755 scripts/portal/go_ballroom.py create mode 100755 scripts/portal/go_blackmarket.py create mode 100755 scripts/portal/go_clockTower.py create mode 100755 scripts/portal/go_deepForest.py create mode 100755 scripts/portal/go_kCity.py create mode 100755 scripts/portal/go_reward.py create mode 100755 scripts/portal/goldTempleBoss.py create mode 100755 scripts/portal/goldTemple_mGate.py create mode 100755 scripts/portal/goldTemple_sGate.py create mode 100755 scripts/portal/gold_boss_gate.py create mode 100755 scripts/portal/gotoAran.py create mode 100755 scripts/portal/gotoDoor.py create mode 100755 scripts/portal/gotoNow.py create mode 100755 scripts/portal/goto_701220350.py create mode 100755 scripts/portal/gryphius.py create mode 100755 scripts/portal/hillah_next.py create mode 100755 scripts/portal/hintTuto02.py create mode 100755 scripts/portal/hintTuto03.py create mode 100755 scripts/portal/hontale_BR.py create mode 100755 scripts/portal/hontale_Bopen.py create mode 100755 scripts/portal/hontale_BtoB1.py create mode 100755 scripts/portal/hontale_C.py create mode 100755 scripts/portal/hontale_boss1.py create mode 100755 scripts/portal/hontale_boss2.py create mode 100755 scripts/portal/hontale_pass.py create mode 100755 scripts/portal/hunterOut.py create mode 100755 scripts/portal/in03.py create mode 100755 scripts/portal/in2159011.py create mode 100755 scripts/portal/inBlackSlimeBoss.py create mode 100755 scripts/portal/inDragonEgg.py create mode 100755 scripts/portal/inERShip.py create mode 100755 scripts/portal/inMyung.py create mode 100755 scripts/portal/inPTjob2.py create mode 100755 scripts/portal/inPTjob3.py create mode 100755 scripts/portal/inPTjob4.py create mode 100755 scripts/portal/inThiefMaster.py create mode 100755 scripts/portal/in_701220200.py create mode 100755 scripts/portal/in_701220300.py create mode 100755 scripts/portal/in_FantasticPark.py create mode 100755 scripts/portal/in_adventure.py create mode 100755 scripts/portal/in_ban.py create mode 100755 scripts/portal/in_chowBoss.py create mode 100755 scripts/portal/in_cygnus.py create mode 100755 scripts/portal/in_cygnusGarden.py create mode 100755 scripts/portal/in_fairyBoss.py create mode 100755 scripts/portal/in_ghostHouse.py create mode 100755 scripts/portal/in_guild.py create mode 100755 scripts/portal/in_hillah.py create mode 100755 scripts/portal/in_party2.py create mode 100755 scripts/portal/infoAttackTuto.py create mode 100755 scripts/portal/infoPickupTuto.py create mode 100755 scripts/portal/infoRelaxTuto.py create mode 100755 scripts/portal/infoSkillTuto.py create mode 100755 scripts/portal/jett_tuto_11_1.py create mode 100755 scripts/portal/jett_tuto_5672.py create mode 100755 scripts/portal/jett_tuto_9_1.py create mode 100755 scripts/portal/jobout00.py create mode 100755 scripts/portal/kCity_agit.py create mode 100755 scripts/portal/kCity_school.py create mode 100755 scripts/portal/kCity_west.py create mode 100755 scripts/portal/kannaTutoPortal.py create mode 100755 scripts/portal/kenjiTutoDirection.py create mode 100755 scripts/portal/kenjiTutoPortal.py create mode 100755 scripts/portal/kine_downFloor1.py create mode 100755 scripts/portal/kine_gate.py create mode 100755 scripts/portal/kine_goFloor1.py create mode 100755 scripts/portal/kine_goFloor2.py create mode 100755 scripts/portal/kine_goSub2.py create mode 100755 scripts/portal/kine_goSub3.py create mode 100755 scripts/portal/kine_goSub4.py create mode 100755 scripts/portal/kine_go_tuto2.py create mode 100755 scripts/portal/kine_go_tuto3.py create mode 100755 scripts/portal/kine_gokCity2.py create mode 100755 scripts/portal/kine_intoClass.py create mode 100755 scripts/portal/kine_intoClass2.py create mode 100755 scripts/portal/kine_tutoV01.py create mode 100755 scripts/portal/kine_tutoV02.py create mode 100755 scripts/portal/kine_tutoout.py create mode 100755 scripts/portal/kine_upFloor2.py create mode 100755 scripts/portal/laniaDoor.py create mode 100755 scripts/portal/lionCastle_enter.py create mode 100755 scripts/portal/lostSpirit_next.py create mode 100755 scripts/portal/ludi_s1Clear.py create mode 100755 scripts/portal/ludi_s2Clear.py create mode 100755 scripts/portal/mPark_final.py create mode 100755 scripts/portal/mPark_in00.py create mode 100755 scripts/portal/mPark_in01.py create mode 100755 scripts/portal/mPark_in02.py create mode 100755 scripts/portal/mPark_nextStage.py create mode 100755 scripts/portal/magnus_easy.py create mode 100755 scripts/portal/map915020100_PT.py create mode 100755 scripts/portal/map915020200_PT.py create mode 100755 scripts/portal/map_865030200.py create mode 100755 scripts/portal/market00.py create mode 100755 scripts/portal/market01.py create mode 100755 scripts/portal/market02.py create mode 100755 scripts/portal/market06.py create mode 100755 scripts/portal/market08.py create mode 100755 scripts/portal/market14.py create mode 100755 scripts/portal/market17.py create mode 100755 scripts/portal/market20.py create mode 100755 scripts/portal/mas_down00.py create mode 100755 scripts/portal/mas_fog00.py create mode 100755 scripts/portal/mas_fog01.py create mode 100755 scripts/portal/mayong.py create mode 100755 scripts/portal/merTutoFight.py create mode 100755 scripts/portal/merTutorDoor.py create mode 100755 scripts/portal/merTutorRoom.py create mode 100755 scripts/portal/mihailPortal003.py create mode 100755 scripts/portal/mihailPortal004.py create mode 100755 scripts/portal/mihail_3rdJobMap.py create mode 100755 scripts/portal/minar_job4.py create mode 100755 scripts/portal/minar_kritias.py create mode 100755 scripts/portal/miro0.py create mode 100755 scripts/portal/miro1.py create mode 100755 scripts/portal/miro2.py create mode 100755 scripts/portal/miro3.py create mode 100755 scripts/portal/mirtalk00.py create mode 100755 scripts/portal/mirtalk01.py create mode 100755 scripts/portal/mistic_hene.py create mode 100755 scripts/portal/mistic_pant.py create mode 100755 scripts/portal/mistic_ref.py create mode 100755 scripts/portal/momijiTraining.py create mode 100755 scripts/portal/moveBefore.py create mode 100755 scripts/portal/moveNext.py create mode 100755 scripts/portal/move_701220000.py create mode 100755 scripts/portal/move_701220100.py create mode 100755 scripts/portal/move_EdeEli.py create mode 100755 scripts/portal/move_EdeOrb.py create mode 100755 scripts/portal/move_EliEde.py create mode 100755 scripts/portal/move_OrbEde.py create mode 100755 scripts/portal/move_OrbEre.py create mode 100755 scripts/portal/move_elin.py create mode 100755 scripts/portal/move_stage.py create mode 100755 scripts/portal/mud_q2620.py create mode 100755 scripts/portal/next00.py create mode 100755 scripts/portal/nooutShip.py create mode 100755 scripts/portal/out00_020.py create mode 100755 scripts/portal/out00_100.py create mode 100755 scripts/portal/out00_DI.py create mode 100755 scripts/portal/outArchterMap.py create mode 100755 scripts/portal/outCG.py create mode 100755 scripts/portal/outChild.py create mode 100755 scripts/portal/outEurel.py create mode 100755 scripts/portal/outMaha.py create mode 100755 scripts/portal/outTemple.py create mode 100755 scripts/portal/out_140030000.py create mode 100755 scripts/portal/out_141050300.py create mode 100755 scripts/portal/out_450004300.py create mode 100755 scripts/portal/out_701220601.py create mode 100755 scripts/portal/out_701220610.py create mode 100755 scripts/portal/out_701220710.py create mode 100755 scripts/portal/out_867201801.py create mode 100755 scripts/portal/out_adventure.py create mode 100755 scripts/portal/out_animalShow.py create mode 100755 scripts/portal/out_aswan.py create mode 100755 scripts/portal/out_bellDoor.py create mode 100755 scripts/portal/out_brokenSubway.py create mode 100755 scripts/portal/out_city.py create mode 100755 scripts/portal/out_cygnusAK.py create mode 100755 scripts/portal/out_cygnusBackGarden.py create mode 100755 scripts/portal/out_cygnusBackGardenEasy.py create mode 100755 scripts/portal/out_cygnusGarden.py create mode 100755 scripts/portal/out_elinCave.py create mode 100755 scripts/portal/out_fairyBoss.py create mode 100755 scripts/portal/out_foxtree.py create mode 100755 scripts/portal/out_ghostHouse.py create mode 100755 scripts/portal/out_guild.py create mode 100755 scripts/portal/out_henesys.py create mode 100755 scripts/portal/out_hilla.py create mode 100755 scripts/portal/out_hillah.py create mode 100755 scripts/portal/out_magnusDoor.py create mode 100755 scripts/portal/out_profession.py create mode 100755 scripts/portal/out_q25584.py create mode 100755 scripts/portal/out_secretLB.py create mode 100755 scripts/portal/out_treDoor.py create mode 100755 scripts/portal/out_victorDoor.py create mode 100755 scripts/portal/outpasttemple.py create mode 100755 scripts/portal/outportalNCP.py create mode 100755 scripts/portal/outportalNPC.py create mode 100755 scripts/portal/outrootaBoss.py create mode 100755 scripts/portal/party2_exit.py create mode 100755 scripts/portal/party2_rp.py create mode 100755 scripts/portal/pf_in.py create mode 100755 scripts/portal/platformer_trap.py create mode 100755 scripts/portal/platformer_trap0.py create mode 100755 scripts/portal/platformer_trap1.py create mode 100755 scripts/portal/platformer_trap3.py create mode 100755 scripts/portal/platformer_trap4.py create mode 100755 scripts/portal/portalNPC.py create mode 100755 scripts/portal/portalNPC1.py create mode 100755 scripts/portal/portal_000.py create mode 100755 scripts/portal/portal_001.py create mode 100755 scripts/portal/portal_002.py create mode 100755 scripts/portal/portal_foxtree.py create mode 100755 scripts/portal/portal_victor2.py create mode 100755 scripts/portal/prism_out.py create mode 100755 scripts/portal/prisonBreak_miro.py create mode 100755 scripts/portal/prisonBreak_next.py create mode 100755 scripts/portal/prisonBreak_out0.py create mode 100755 scripts/portal/profession01.py create mode 100755 scripts/portal/profession05.py create mode 100755 scripts/portal/profession06.py create mode 100755 scripts/portal/profession07.py create mode 100755 scripts/portal/profession08.py create mode 100755 scripts/portal/profession09.py create mode 100755 scripts/portal/profession10.py create mode 100755 scripts/portal/profession107.py create mode 100755 scripts/portal/profession11.py create mode 100755 scripts/portal/profession14.py create mode 100755 scripts/portal/pt02_450003720.py create mode 100755 scripts/portal/pt_101080000.py create mode 100755 scripts/portal/pt_101081300.py create mode 100755 scripts/portal/pt_224000121_2.py create mode 100755 scripts/portal/pt_450003720.py create mode 100755 scripts/portal/pt_59063.py create mode 100755 scripts/portal/pt_867200408.py create mode 100755 scripts/portal/pt_867200501.py create mode 100755 scripts/portal/pt_867200706.py create mode 100755 scripts/portal/pt_867200853.py create mode 100755 scripts/portal/pt_867200900.py create mode 100755 scripts/portal/pt_940202032_l.py create mode 100755 scripts/portal/pt_940202036_col.py create mode 100755 scripts/portal/pt_940202300_o.py create mode 100755 scripts/portal/pt_c02.py create mode 100755 scripts/portal/pt_col.py create mode 100755 scripts/portal/pt_dir0240.py create mode 100755 scripts/portal/pt_dir0260.py create mode 100755 scripts/portal/pt_dir1340.py create mode 100755 scripts/portal/pt_down.py create mode 100755 scripts/portal/pt_fairyacademy1.py create mode 100755 scripts/portal/pt_fairyacademy2.py create mode 100755 scripts/portal/pt_go0220.py create mode 100755 scripts/portal/pt_go0240.py create mode 100755 scripts/portal/pt_go1340.py create mode 100755 scripts/portal/pt_goHelisium00.py create mode 100755 scripts/portal/pt_goto141060000.py create mode 100755 scripts/portal/pt_henespin.py create mode 100755 scripts/portal/pt_horizonPortal.py create mode 100755 scripts/portal/pt_illium_hunt1.py create mode 100755 scripts/portal/pt_illium_hunt2.py create mode 100755 scripts/portal/pt_moleking.py create mode 100755 scripts/portal/pt_rosegarden.py create mode 100755 scripts/portal/pt_rosegardenout.py create mode 100755 scripts/portal/q1602_move.py create mode 100755 scripts/portal/q20749_Fail.py create mode 100755 scripts/portal/q57104portal.py create mode 100755 scripts/portal/q57141p.py create mode 100755 scripts/portal/q57158p.py create mode 100755 scripts/portal/q57159p.py create mode 100755 scripts/portal/q57433p.py create mode 100755 scripts/portal/q62005_in.py create mode 100755 scripts/portal/q62015_in.py create mode 100755 scripts/portal/q64026_1.py create mode 100755 scripts/portal/q64026_2.py create mode 100755 scripts/portal/q64026_3.py create mode 100755 scripts/portal/quest58901.py create mode 100755 scripts/portal/random_portal_inferno.py create mode 100755 scripts/portal/random_portal_pollo_fritto.py create mode 100755 scripts/portal/rankRoom.py create mode 100755 scripts/portal/return_867202680.py create mode 100755 scripts/portal/return_refPotal.py create mode 100755 scripts/portal/rienCaveEnter.py create mode 100755 scripts/portal/rienTutor1.py create mode 100755 scripts/portal/rienTutor2.py create mode 100755 scripts/portal/rienTutor3.py create mode 100755 scripts/portal/rienTutor4.py create mode 100755 scripts/portal/rienTutor5.py create mode 100755 scripts/portal/rienTutor6.py create mode 100755 scripts/portal/rienTutor7.py create mode 100755 scripts/portal/rienTutor8.py create mode 100755 scripts/portal/roadToVellud1.py create mode 100755 scripts/portal/roadToVellud2.py create mode 100755 scripts/portal/root_ent.py create mode 100755 scripts/portal/root_route.py create mode 100755 scripts/portal/rootaNext.py create mode 100755 scripts/portal/rootabyssOUT.py create mode 100755 scripts/portal/rootafirstDoor.py create mode 100755 scripts/portal/rootaforthDoor.py create mode 100755 scripts/portal/rootasecondDoor.py create mode 100755 scripts/portal/rootathirdDoor.py create mode 100755 scripts/portal/shaolin_done.py create mode 100755 scripts/portal/shaolin_next.py create mode 100755 scripts/portal/shaolin_out.py create mode 100755 scripts/portal/singleDungeonout.py create mode 100755 scripts/portal/spirit00.py create mode 100755 scripts/portal/stage6_portal.py create mode 100755 scripts/portal/stageOut.py create mode 100755 scripts/portal/subway_in2.py create mode 100755 scripts/portal/talkToMai.py create mode 100755 scripts/portal/talkToPresent.py create mode 100755 scripts/portal/talkToVasili.py create mode 100755 scripts/portal/templeenter.py create mode 100755 scripts/portal/testGotoBigBoss.py create mode 100755 scripts/portal/timeCrack.py create mode 100755 scripts/portal/timeQuest1.py create mode 100755 scripts/portal/timeQuest2.py create mode 100755 scripts/portal/timeQuest3.py create mode 100755 scripts/portal/timeQuest4.py create mode 100755 scripts/portal/timeSeal00.py create mode 100755 scripts/portal/timeSeal01.py create mode 100755 scripts/portal/timeSeal02.py create mode 100755 scripts/portal/timeSeal03.py create mode 100755 scripts/portal/timeSeal04.py create mode 100755 scripts/portal/toArcana_pt.py create mode 100755 scripts/portal/toFallenTree.py create mode 100755 scripts/portal/top_450003500.py create mode 100755 scripts/portal/top_450003510.py create mode 100755 scripts/portal/top_450003520.py create mode 100755 scripts/portal/top_450003540.py create mode 100755 scripts/portal/traitor0_enter.py create mode 100755 scripts/portal/tuto00.py create mode 100755 scripts/portal/tutorquest.py create mode 100755 scripts/portal/undefined.py create mode 100755 scripts/portal/undodraco.py create mode 100755 scripts/portal/visitor_in.py create mode 100755 scripts/portal/visitor_move.py create mode 100755 scripts/portal/visitor_out.py create mode 100755 scripts/portal/w310070300.py create mode 100755 scripts/portal/waitOut.py create mode 100755 scripts/portal/water_101070000.py create mode 100755 scripts/portal/west_450004150.py create mode 100755 scripts/portal/zakum_regionOut.py create mode 100755 scripts/quest/__init__.py create mode 100755 scripts/quest/q100167s.py create mode 100755 scripts/quest/q12394s.py create mode 100755 scripts/quest/q12395s.py create mode 100755 scripts/quest/q12396s.py create mode 100755 scripts/quest/q1400s.py create mode 100755 scripts/quest/q1401e.py create mode 100755 scripts/quest/q1401s.py create mode 100755 scripts/quest/q1402e.py create mode 100755 scripts/quest/q1402s.py create mode 100755 scripts/quest/q1403e.py create mode 100755 scripts/quest/q1403s.py create mode 100755 scripts/quest/q1404e.py create mode 100755 scripts/quest/q1404s.py create mode 100755 scripts/quest/q1405e.py create mode 100755 scripts/quest/q1405s.py create mode 100755 scripts/quest/q1411e.py create mode 100755 scripts/quest/q1411s.py create mode 100755 scripts/quest/q1412e.py create mode 100755 scripts/quest/q1412s.py create mode 100755 scripts/quest/q1413e.py create mode 100755 scripts/quest/q1413s.py create mode 100755 scripts/quest/q1415e.py create mode 100755 scripts/quest/q1415s.py create mode 100755 scripts/quest/q1416e.py create mode 100755 scripts/quest/q1416s.py create mode 100755 scripts/quest/q1417e.py create mode 100755 scripts/quest/q1417s.py create mode 100755 scripts/quest/q1419e.py create mode 100755 scripts/quest/q1419s.py create mode 100755 scripts/quest/q1420e.py create mode 100755 scripts/quest/q1420s.py create mode 100755 scripts/quest/q1421s.py create mode 100755 scripts/quest/q1422e.py create mode 100755 scripts/quest/q1422s.py create mode 100755 scripts/quest/q1423e.py create mode 100755 scripts/quest/q1423s.py create mode 100755 scripts/quest/q1424s.py create mode 100755 scripts/quest/q1425e.py create mode 100755 scripts/quest/q1425s.py create mode 100755 scripts/quest/q1426e.py create mode 100755 scripts/quest/q1426s.py create mode 100755 scripts/quest/q1428e.py create mode 100755 scripts/quest/q1428s.py create mode 100755 scripts/quest/q1431e.py create mode 100755 scripts/quest/q1432e.py create mode 100755 scripts/quest/q1433e.py create mode 100755 scripts/quest/q1435e.py create mode 100755 scripts/quest/q1436e.py create mode 100755 scripts/quest/q1437e.py create mode 100755 scripts/quest/q1439e.py create mode 100755 scripts/quest/q1440e.py create mode 100755 scripts/quest/q1442e.py create mode 100755 scripts/quest/q1443e.py create mode 100755 scripts/quest/q1445e.py create mode 100755 scripts/quest/q1446e.py create mode 100755 scripts/quest/q1447e.py create mode 100755 scripts/quest/q1448e.py create mode 100755 scripts/quest/q1451e.py create mode 100755 scripts/quest/q1451s.py create mode 100755 scripts/quest/q14524s.py create mode 100755 scripts/quest/q1453e.py create mode 100755 scripts/quest/q1453s.py create mode 100755 scripts/quest/q1455e.py create mode 100755 scripts/quest/q1455s.py create mode 100755 scripts/quest/q1457e.py create mode 100755 scripts/quest/q1457s.py create mode 100755 scripts/quest/q1459e.py create mode 100755 scripts/quest/q1459s.py create mode 100755 scripts/quest/q1460e.py create mode 100755 scripts/quest/q1460s.py create mode 100755 scripts/quest/q1461e.py create mode 100755 scripts/quest/q1461s.py create mode 100755 scripts/quest/q1462e.py create mode 100755 scripts/quest/q1462s.py create mode 100755 scripts/quest/q1463e.py create mode 100755 scripts/quest/q1463s.py create mode 100755 scripts/quest/q1464s.py create mode 100755 scripts/quest/q1465e.py create mode 100755 scripts/quest/q1465s.py create mode 100755 scripts/quest/q1466e.py create mode 100755 scripts/quest/q1466s.py create mode 100755 scripts/quest/q1478s.py create mode 100755 scripts/quest/q1481e.py create mode 100755 scripts/quest/q15149s.py create mode 100755 scripts/quest/q1600s.py create mode 100755 scripts/quest/q16011e.py create mode 100755 scripts/quest/q16011s.py create mode 100755 scripts/quest/q16012e.py create mode 100755 scripts/quest/q16012s.py create mode 100755 scripts/quest/q16013s.py create mode 100755 scripts/quest/q16014s.py create mode 100755 scripts/quest/q16018s.py create mode 100755 scripts/quest/q1601s.py create mode 100755 scripts/quest/q16020s.py create mode 100755 scripts/quest/q16024s.py create mode 100755 scripts/quest/q16026s.py create mode 100755 scripts/quest/q16059s.py create mode 100755 scripts/quest/q1607s.py create mode 100755 scripts/quest/q1608s.py create mode 100755 scripts/quest/q1616e.py create mode 100755 scripts/quest/q1617s.py create mode 100755 scripts/quest/q1619s.py create mode 100755 scripts/quest/q1622e.py create mode 100755 scripts/quest/q1628e.py create mode 100755 scripts/quest/q1629s.py create mode 100755 scripts/quest/q1637e.py create mode 100755 scripts/quest/q1637s.py create mode 100755 scripts/quest/q1638e.py create mode 100755 scripts/quest/q1639e.py create mode 100755 scripts/quest/q1644s.py create mode 100755 scripts/quest/q1645s.py create mode 100755 scripts/quest/q1646s.py create mode 100755 scripts/quest/q1647s.py create mode 100755 scripts/quest/q1653s.py create mode 100755 scripts/quest/q1663e.py create mode 100755 scripts/quest/q1664s.py create mode 100755 scripts/quest/q1674e.py create mode 100755 scripts/quest/q16880s.py create mode 100755 scripts/quest/q16909s.py create mode 100755 scripts/quest/q17003e.py create mode 100755 scripts/quest/q17003s.py create mode 100755 scripts/quest/q17004s.py create mode 100755 scripts/quest/q17005e.py create mode 100755 scripts/quest/q17005s.py create mode 100755 scripts/quest/q17006e.py create mode 100755 scripts/quest/q17006s.py create mode 100755 scripts/quest/q17007e.py create mode 100755 scripts/quest/q17007s.py create mode 100755 scripts/quest/q17019e.py create mode 100755 scripts/quest/q17509s.py create mode 100755 scripts/quest/q17510s.py create mode 100755 scripts/quest/q17511s.py create mode 100755 scripts/quest/q17513s.py create mode 100755 scripts/quest/q17515e.py create mode 100755 scripts/quest/q17516e.py create mode 100755 scripts/quest/q17516s.py create mode 100755 scripts/quest/q17518e.py create mode 100755 scripts/quest/q17518s.py create mode 100755 scripts/quest/q17524e.py create mode 100755 scripts/quest/q17524s.py create mode 100755 scripts/quest/q17525e.py create mode 100755 scripts/quest/q17525s.py create mode 100755 scripts/quest/q17526e.py create mode 100755 scripts/quest/q17526s.py create mode 100755 scripts/quest/q17527e.py create mode 100755 scripts/quest/q17527s.py create mode 100755 scripts/quest/q17528e.py create mode 100755 scripts/quest/q17528s.py create mode 100755 scripts/quest/q17529e.py create mode 100755 scripts/quest/q17529s.py create mode 100755 scripts/quest/q17530s.py create mode 100755 scripts/quest/q17534s.py create mode 100755 scripts/quest/q17600e.py create mode 100755 scripts/quest/q17600s.py create mode 100755 scripts/quest/q17601s.py create mode 100755 scripts/quest/q17602e.py create mode 100755 scripts/quest/q17602s.py create mode 100755 scripts/quest/q17603s.py create mode 100755 scripts/quest/q17608e.py create mode 100755 scripts/quest/q17610s.py create mode 100755 scripts/quest/q17612s.py create mode 100755 scripts/quest/q17613e.py create mode 100755 scripts/quest/q17613s.py create mode 100755 scripts/quest/q17614s.py create mode 100755 scripts/quest/q17615s.py create mode 100755 scripts/quest/q17616e.py create mode 100755 scripts/quest/q17616s.py create mode 100755 scripts/quest/q17617s.py create mode 100755 scripts/quest/q17618e.py create mode 100755 scripts/quest/q17618s.py create mode 100755 scripts/quest/q17619e.py create mode 100755 scripts/quest/q17620e.py create mode 100755 scripts/quest/q17620s.py create mode 100755 scripts/quest/q17621s.py create mode 100755 scripts/quest/q17622s.py create mode 100755 scripts/quest/q17623s.py create mode 100755 scripts/quest/q17624s.py create mode 100755 scripts/quest/q17625e.py create mode 100755 scripts/quest/q17625s.py create mode 100755 scripts/quest/q17626s.py create mode 100755 scripts/quest/q17627e.py create mode 100755 scripts/quest/q17627s.py create mode 100755 scripts/quest/q17628e.py create mode 100755 scripts/quest/q17628s.py create mode 100755 scripts/quest/q17629e.py create mode 100755 scripts/quest/q17629s.py create mode 100755 scripts/quest/q17630e.py create mode 100755 scripts/quest/q17630s.py create mode 100755 scripts/quest/q17632e.py create mode 100755 scripts/quest/q17632s.py create mode 100755 scripts/quest/q17633e.py create mode 100755 scripts/quest/q17633s.py create mode 100755 scripts/quest/q17634e.py create mode 100755 scripts/quest/q17634s.py create mode 100755 scripts/quest/q17635s.py create mode 100755 scripts/quest/q17636s.py create mode 100755 scripts/quest/q17637e.py create mode 100755 scripts/quest/q17637s.py create mode 100755 scripts/quest/q17640e.py create mode 100755 scripts/quest/q17640s.py create mode 100755 scripts/quest/q17641e.py create mode 100755 scripts/quest/q17641s.py create mode 100755 scripts/quest/q17642e.py create mode 100755 scripts/quest/q17642s.py create mode 100755 scripts/quest/q17643e.py create mode 100755 scripts/quest/q17643s.py create mode 100755 scripts/quest/q17644e.py create mode 100755 scripts/quest/q17644s.py create mode 100755 scripts/quest/q17645e.py create mode 100755 scripts/quest/q17645s.py create mode 100755 scripts/quest/q17646e.py create mode 100755 scripts/quest/q17646s.py create mode 100755 scripts/quest/q17647e.py create mode 100755 scripts/quest/q17647s.py create mode 100755 scripts/quest/q17648e.py create mode 100755 scripts/quest/q17648s.py create mode 100755 scripts/quest/q17650e.py create mode 100755 scripts/quest/q17650s.py create mode 100755 scripts/quest/q17651e.py create mode 100755 scripts/quest/q17651s.py create mode 100755 scripts/quest/q17652e.py create mode 100755 scripts/quest/q17653e.py create mode 100755 scripts/quest/q17654e.py create mode 100755 scripts/quest/q17654s.py create mode 100755 scripts/quest/q17655e.py create mode 100755 scripts/quest/q17655s.py create mode 100755 scripts/quest/q17656e.py create mode 100755 scripts/quest/q17656s.py create mode 100755 scripts/quest/q17657e.py create mode 100755 scripts/quest/q17657s.py create mode 100755 scripts/quest/q17658e.py create mode 100755 scripts/quest/q17658s.py create mode 100755 scripts/quest/q17660e.py create mode 100755 scripts/quest/q17660s.py create mode 100755 scripts/quest/q17661e.py create mode 100755 scripts/quest/q17661s.py create mode 100755 scripts/quest/q17662e.py create mode 100755 scripts/quest/q17662s.py create mode 100755 scripts/quest/q17663e.py create mode 100755 scripts/quest/q17663s.py create mode 100755 scripts/quest/q17665e.py create mode 100755 scripts/quest/q17665s.py create mode 100755 scripts/quest/q17666e.py create mode 100755 scripts/quest/q17666s.py create mode 100755 scripts/quest/q17667e.py create mode 100755 scripts/quest/q17667s.py create mode 100755 scripts/quest/q17668e.py create mode 100755 scripts/quest/q17668s.py create mode 100755 scripts/quest/q17669e.py create mode 100755 scripts/quest/q17669s.py create mode 100755 scripts/quest/q17670e.py create mode 100755 scripts/quest/q17670s.py create mode 100755 scripts/quest/q17671e.py create mode 100755 scripts/quest/q17671s.py create mode 100755 scripts/quest/q17672e.py create mode 100755 scripts/quest/q17672s.py create mode 100755 scripts/quest/q17673e.py create mode 100755 scripts/quest/q17673s.py create mode 100755 scripts/quest/q17674e.py create mode 100755 scripts/quest/q17674s.py create mode 100755 scripts/quest/q17675e.py create mode 100755 scripts/quest/q17675s.py create mode 100755 scripts/quest/q17676e.py create mode 100755 scripts/quest/q17676s.py create mode 100755 scripts/quest/q17677e.py create mode 100755 scripts/quest/q17677s.py create mode 100755 scripts/quest/q17678e.py create mode 100755 scripts/quest/q17678s.py create mode 100755 scripts/quest/q17679s.py create mode 100755 scripts/quest/q17680e.py create mode 100755 scripts/quest/q17680s.py create mode 100755 scripts/quest/q17681e.py create mode 100755 scripts/quest/q17681s.py create mode 100755 scripts/quest/q1800s.py create mode 100755 scripts/quest/q1801s.py create mode 100755 scripts/quest/q1820e.py create mode 100755 scripts/quest/q1821e.py create mode 100755 scripts/quest/q1822e.py create mode 100755 scripts/quest/q1822s.py create mode 100755 scripts/quest/q1823e.py create mode 100755 scripts/quest/q1847e.py create mode 100755 scripts/quest/q1847s.py create mode 100755 scripts/quest/q20031e.py create mode 100755 scripts/quest/q20032e.py create mode 100755 scripts/quest/q20033e.py create mode 100755 scripts/quest/q20036s.py create mode 100755 scripts/quest/q20320e.py create mode 100755 scripts/quest/q20321s.py create mode 100755 scripts/quest/q20411e.py create mode 100755 scripts/quest/q20412s.py create mode 100755 scripts/quest/q20767e.py create mode 100755 scripts/quest/q20767s.py create mode 100755 scripts/quest/q20768e.py create mode 100755 scripts/quest/q20768s.py create mode 100755 scripts/quest/q20810s.py create mode 100755 scripts/quest/q20820s.py create mode 100755 scripts/quest/q20821s.py create mode 100755 scripts/quest/q20822e.py create mode 100755 scripts/quest/q20822s.py create mode 100755 scripts/quest/q20824e.py create mode 100755 scripts/quest/q20824s.py create mode 100755 scripts/quest/q20825s.py create mode 100755 scripts/quest/q20826e.py create mode 100755 scripts/quest/q20826s.py create mode 100755 scripts/quest/q20827s.py create mode 100755 scripts/quest/q20828e.py create mode 100755 scripts/quest/q20829s.py create mode 100755 scripts/quest/q20830s.py create mode 100755 scripts/quest/q20831s.py create mode 100755 scripts/quest/q20832s.py create mode 100755 scripts/quest/q20833s.py create mode 100755 scripts/quest/q20834s.py create mode 100755 scripts/quest/q20835e.py create mode 100755 scripts/quest/q20835s.py create mode 100755 scripts/quest/q20836e.py create mode 100755 scripts/quest/q20836s.py create mode 100755 scripts/quest/q20837e.py create mode 100755 scripts/quest/q20837s.py create mode 100755 scripts/quest/q20838e.py create mode 100755 scripts/quest/q20838s.py create mode 100755 scripts/quest/q20839s.py create mode 100755 scripts/quest/q20844s.py create mode 100755 scripts/quest/q20846s.py create mode 100755 scripts/quest/q20861e.py create mode 100755 scripts/quest/q20862e.py create mode 100755 scripts/quest/q20863e.py create mode 100755 scripts/quest/q20864e.py create mode 100755 scripts/quest/q20865e.py create mode 100755 scripts/quest/q20870s.py create mode 100755 scripts/quest/q20871e.py create mode 100755 scripts/quest/q20872e.py create mode 100755 scripts/quest/q20873e.py create mode 100755 scripts/quest/q20874e.py create mode 100755 scripts/quest/q20875e.py create mode 100755 scripts/quest/q20882s.py create mode 100755 scripts/quest/q20883e.py create mode 100755 scripts/quest/q20891s.py create mode 100755 scripts/quest/q20893s.py create mode 100755 scripts/quest/q20894s.py create mode 100755 scripts/quest/q20899e.py create mode 100755 scripts/quest/q21000s.py create mode 100755 scripts/quest/q21001e.py create mode 100755 scripts/quest/q21001s.py create mode 100755 scripts/quest/q21010e.py create mode 100755 scripts/quest/q21010s.py create mode 100755 scripts/quest/q21011e.py create mode 100755 scripts/quest/q21012e.py create mode 100755 scripts/quest/q21012s.py create mode 100755 scripts/quest/q21013e.py create mode 100755 scripts/quest/q21013s.py create mode 100755 scripts/quest/q21015s.py create mode 100755 scripts/quest/q21016s.py create mode 100755 scripts/quest/q21017s.py create mode 100755 scripts/quest/q21018s.py create mode 100755 scripts/quest/q21100s.py create mode 100755 scripts/quest/q21101s.py create mode 100755 scripts/quest/q21200e.py create mode 100755 scripts/quest/q21200s.py create mode 100755 scripts/quest/q21201e.py create mode 100755 scripts/quest/q21202e.py create mode 100755 scripts/quest/q21202s.py create mode 100755 scripts/quest/q21300s.py create mode 100755 scripts/quest/q21301e.py create mode 100755 scripts/quest/q21302e.py create mode 100755 scripts/quest/q21303s.py create mode 100755 scripts/quest/q21400s.py create mode 100755 scripts/quest/q21401e.py create mode 100755 scripts/quest/q21401s.py create mode 100755 scripts/quest/q21700s.py create mode 100755 scripts/quest/q21766e.py create mode 100755 scripts/quest/q21766s.py create mode 100755 scripts/quest/q21767s.py create mode 100755 scripts/quest/q22000e.py create mode 100755 scripts/quest/q22000s.py create mode 100755 scripts/quest/q22001s.py create mode 100755 scripts/quest/q22002e.py create mode 100755 scripts/quest/q22002s.py create mode 100755 scripts/quest/q22003s.py create mode 100755 scripts/quest/q22004e.py create mode 100755 scripts/quest/q22004s.py create mode 100755 scripts/quest/q22007e.py create mode 100755 scripts/quest/q22008e.py create mode 100755 scripts/quest/q22008s.py create mode 100755 scripts/quest/q22130s.py create mode 100755 scripts/quest/q22131e.py create mode 100755 scripts/quest/q22131s.py create mode 100755 scripts/quest/q22132e.py create mode 100755 scripts/quest/q22132s.py create mode 100755 scripts/quest/q22500s.py create mode 100755 scripts/quest/q22501s.py create mode 100755 scripts/quest/q22502s.py create mode 100755 scripts/quest/q22503s.py create mode 100755 scripts/quest/q22504s.py create mode 100755 scripts/quest/q22507s.py create mode 100755 scripts/quest/q22510s.py create mode 100755 scripts/quest/q22703s.py create mode 100755 scripts/quest/q22704s.py create mode 100755 scripts/quest/q22711s.py create mode 100755 scripts/quest/q22712e.py create mode 100755 scripts/quest/q22712s.py create mode 100755 scripts/quest/q22714s.py create mode 100755 scripts/quest/q22720e.py create mode 100755 scripts/quest/q22720s.py create mode 100755 scripts/quest/q22721e.py create mode 100755 scripts/quest/q22721s.py create mode 100755 scripts/quest/q22722s.py create mode 100755 scripts/quest/q22723s.py create mode 100755 scripts/quest/q22724s.py create mode 100755 scripts/quest/q22725e.py create mode 100755 scripts/quest/q22725s.py create mode 100755 scripts/quest/q22726s.py create mode 100755 scripts/quest/q22728e.py create mode 100755 scripts/quest/q22729e.py create mode 100755 scripts/quest/q22729s.py create mode 100755 scripts/quest/q22730s.py create mode 100755 scripts/quest/q22734s.py create mode 100755 scripts/quest/q22740s.py create mode 100755 scripts/quest/q22741e.py create mode 100755 scripts/quest/q22741s.py create mode 100755 scripts/quest/q22742e.py create mode 100755 scripts/quest/q22742s.py create mode 100755 scripts/quest/q22743e.py create mode 100755 scripts/quest/q22743s.py create mode 100755 scripts/quest/q22744s.py create mode 100755 scripts/quest/q22745e.py create mode 100755 scripts/quest/q22745s.py create mode 100755 scripts/quest/q22746e.py create mode 100755 scripts/quest/q22746s.py create mode 100755 scripts/quest/q22747e.py create mode 100755 scripts/quest/q22747s.py create mode 100755 scripts/quest/q22748e.py create mode 100755 scripts/quest/q22748s.py create mode 100755 scripts/quest/q22749s.py create mode 100755 scripts/quest/q22750s.py create mode 100755 scripts/quest/q22770s.py create mode 100755 scripts/quest/q22780e.py create mode 100755 scripts/quest/q22780s.py create mode 100755 scripts/quest/q22781s.py create mode 100755 scripts/quest/q23011e.py create mode 100755 scripts/quest/q23012e.py create mode 100755 scripts/quest/q23013e.py create mode 100755 scripts/quest/q23023e.py create mode 100755 scripts/quest/q23024e.py create mode 100755 scripts/quest/q23025e.py create mode 100755 scripts/quest/q23033e.py create mode 100755 scripts/quest/q23034e.py create mode 100755 scripts/quest/q23035e.py create mode 100755 scripts/quest/q23049e.py create mode 100755 scripts/quest/q23050e.py create mode 100755 scripts/quest/q23051e.py create mode 100755 scripts/quest/q23052s.py create mode 100755 scripts/quest/q23053s.py create mode 100755 scripts/quest/q23054s.py create mode 100755 scripts/quest/q23160e.py create mode 100755 scripts/quest/q23162e.py create mode 100755 scripts/quest/q23164e.py create mode 100755 scripts/quest/q23168e.py create mode 100755 scripts/quest/q23169s.py create mode 100755 scripts/quest/q23170e.py create mode 100755 scripts/quest/q23171e.py create mode 100755 scripts/quest/q23205e.py create mode 100755 scripts/quest/q23212e.py create mode 100755 scripts/quest/q23214e.py create mode 100755 scripts/quest/q23214s.py create mode 100755 scripts/quest/q23215e.py create mode 100755 scripts/quest/q23215s.py create mode 100755 scripts/quest/q23221e.py create mode 100755 scripts/quest/q23221s.py create mode 100755 scripts/quest/q23600e.py create mode 100755 scripts/quest/q23610s.py create mode 100755 scripts/quest/q23611e.py create mode 100755 scripts/quest/q23612e.py create mode 100755 scripts/quest/q23612s.py create mode 100755 scripts/quest/q23615s.py create mode 100755 scripts/quest/q23616e.py create mode 100755 scripts/quest/q23620e.py create mode 100755 scripts/quest/q23620s.py create mode 100755 scripts/quest/q24002e.py create mode 100755 scripts/quest/q24003s.py create mode 100755 scripts/quest/q24004s.py create mode 100755 scripts/quest/q24011e.py create mode 100755 scripts/quest/q24011s.py create mode 100755 scripts/quest/q24012s.py create mode 100755 scripts/quest/q24013s.py create mode 100755 scripts/quest/q25000s.py create mode 100755 scripts/quest/q25500e.py create mode 100755 scripts/quest/q25500s.py create mode 100755 scripts/quest/q25503e.py create mode 100755 scripts/quest/q25503s.py create mode 100755 scripts/quest/q25510s.py create mode 100755 scripts/quest/q25511s.py create mode 100755 scripts/quest/q25512s.py create mode 100755 scripts/quest/q25530s.py create mode 100755 scripts/quest/q25531s.py create mode 100755 scripts/quest/q25532s.py create mode 100755 scripts/quest/q25533s.py create mode 100755 scripts/quest/q25560s.py create mode 100755 scripts/quest/q25561s.py create mode 100755 scripts/quest/q25562s.py create mode 100755 scripts/quest/q25566e.py create mode 100755 scripts/quest/q25566s.py create mode 100755 scripts/quest/q25567s.py create mode 100755 scripts/quest/q25568s.py create mode 100755 scripts/quest/q25569s.py create mode 100755 scripts/quest/q25572s.py create mode 100755 scripts/quest/q25578s.py create mode 100755 scripts/quest/q25584s.py create mode 100755 scripts/quest/q25585s.py create mode 100755 scripts/quest/q25586s.py create mode 100755 scripts/quest/q25588s.py create mode 100755 scripts/quest/q25589s.py create mode 100755 scripts/quest/q2560s.py create mode 100755 scripts/quest/q2561s.py create mode 100755 scripts/quest/q2568s.py create mode 100755 scripts/quest/q2570e.py create mode 100755 scripts/quest/q25710s.py create mode 100755 scripts/quest/q25711s.py create mode 100755 scripts/quest/q25712s.py create mode 100755 scripts/quest/q2573s.py create mode 100755 scripts/quest/q25825s.py create mode 100755 scripts/quest/q25826s.py create mode 100755 scripts/quest/q25827s.py create mode 100755 scripts/quest/q25829s.py create mode 100755 scripts/quest/q25836s.py create mode 100755 scripts/quest/q25837e.py create mode 100755 scripts/quest/q25837s.py create mode 100755 scripts/quest/q25981s.py create mode 100755 scripts/quest/q2603e.py create mode 100755 scripts/quest/q2604s.py create mode 100755 scripts/quest/q2609e.py create mode 100755 scripts/quest/q2622s.py create mode 100755 scripts/quest/q2623e.py create mode 100755 scripts/quest/q2623s.py create mode 100755 scripts/quest/q2638e.py create mode 100755 scripts/quest/q2638s.py create mode 100755 scripts/quest/q2642e.py create mode 100755 scripts/quest/q26430e.py create mode 100755 scripts/quest/q26436e.py create mode 100755 scripts/quest/q26509e.py create mode 100755 scripts/quest/q26511e.py create mode 100755 scripts/quest/q26512e.py create mode 100755 scripts/quest/q26607s.py create mode 100755 scripts/quest/q2950s.py create mode 100755 scripts/quest/q2962s.py create mode 100755 scripts/quest/q29900s.py create mode 100755 scripts/quest/q29901s.py create mode 100755 scripts/quest/q29902s.py create mode 100755 scripts/quest/q29903s.py create mode 100755 scripts/quest/q29905s.py create mode 100755 scripts/quest/q29906e.py create mode 100755 scripts/quest/q29906s.py create mode 100755 scripts/quest/q29907e.py create mode 100755 scripts/quest/q29907s.py create mode 100755 scripts/quest/q29908s.py create mode 100755 scripts/quest/q29909s.py create mode 100755 scripts/quest/q29910s.py create mode 100755 scripts/quest/q29911s.py create mode 100755 scripts/quest/q29912s.py create mode 100755 scripts/quest/q29913s.py create mode 100755 scripts/quest/q29914s.py create mode 100755 scripts/quest/q29924s.py create mode 100755 scripts/quest/q29925s.py create mode 100755 scripts/quest/q29926s.py create mode 100755 scripts/quest/q29927s.py create mode 100755 scripts/quest/q29928s.py create mode 100755 scripts/quest/q29941s.py create mode 100755 scripts/quest/q29942s.py create mode 100755 scripts/quest/q29943s.py create mode 100755 scripts/quest/q29944s.py create mode 100755 scripts/quest/q29945s.py create mode 100755 scripts/quest/q29947s.py create mode 100755 scripts/quest/q29952s.py create mode 100755 scripts/quest/q29953s.py create mode 100755 scripts/quest/q29954s.py create mode 100755 scripts/quest/q29955s.py create mode 100755 scripts/quest/q29956s.py create mode 100755 scripts/quest/q29958s.py create mode 100755 scripts/quest/q29959s.py create mode 100755 scripts/quest/q29960s.py create mode 100755 scripts/quest/q29961s.py create mode 100755 scripts/quest/q29962s.py create mode 100755 scripts/quest/q29967s.py create mode 100755 scripts/quest/q29968s.py create mode 100755 scripts/quest/q29969s.py create mode 100755 scripts/quest/q29970.py create mode 100755 scripts/quest/q29971s.py create mode 100755 scripts/quest/q29972s.py create mode 100755 scripts/quest/q29973s.py create mode 100755 scripts/quest/q29974s.py create mode 100755 scripts/quest/q29975s.py create mode 100755 scripts/quest/q29976s.py create mode 100755 scripts/quest/q29977s.py create mode 100755 scripts/quest/q29978s.py create mode 100755 scripts/quest/q29979s.py create mode 100755 scripts/quest/q29980s.py create mode 100755 scripts/quest/q29987s.py create mode 100755 scripts/quest/q29988s.py create mode 100755 scripts/quest/q29989s.py create mode 100755 scripts/quest/q29990s.py create mode 100755 scripts/quest/q29991s.py create mode 100755 scripts/quest/q29992s.py create mode 100755 scripts/quest/q29993s.py create mode 100755 scripts/quest/q29994s.py create mode 100755 scripts/quest/q29995s.py create mode 100755 scripts/quest/q29996s.py create mode 100755 scripts/quest/q30000s.py create mode 100755 scripts/quest/q30002s.py create mode 100755 scripts/quest/q30003s.py create mode 100755 scripts/quest/q30005e.py create mode 100755 scripts/quest/q30005s.py create mode 100755 scripts/quest/q30006s.py create mode 100755 scripts/quest/q30007e.py create mode 100755 scripts/quest/q30007s.py create mode 100755 scripts/quest/q30008s.py create mode 100755 scripts/quest/q30009s.py create mode 100755 scripts/quest/q30010s.py create mode 100755 scripts/quest/q30011s.py create mode 100755 scripts/quest/q30012s.py create mode 100755 scripts/quest/q30013s.py create mode 100755 scripts/quest/q30051e.py create mode 100755 scripts/quest/q30051s.py create mode 100755 scripts/quest/q30063e.py create mode 100755 scripts/quest/q30075s.py create mode 100755 scripts/quest/q31240s.py create mode 100755 scripts/quest/q31241s.py create mode 100755 scripts/quest/q31243s.py create mode 100755 scripts/quest/q31245s.py create mode 100755 scripts/quest/q31257s.py create mode 100755 scripts/quest/q31258e.py create mode 100755 scripts/quest/q31258s.py create mode 100755 scripts/quest/q31331e.py create mode 100755 scripts/quest/q31331s.py create mode 100755 scripts/quest/q31334s.py create mode 100755 scripts/quest/q31336s.py create mode 100755 scripts/quest/q31339s.py create mode 100755 scripts/quest/q31342s.py create mode 100755 scripts/quest/q31344s.py create mode 100755 scripts/quest/q31348e.py create mode 100755 scripts/quest/q31351e.py create mode 100755 scripts/quest/q31802s.py create mode 100755 scripts/quest/q31806s.py create mode 100755 scripts/quest/q31900e.py create mode 100755 scripts/quest/q32000s.py create mode 100755 scripts/quest/q32001s.py create mode 100755 scripts/quest/q32002s.py create mode 100755 scripts/quest/q32003s.py create mode 100755 scripts/quest/q32004s.py create mode 100755 scripts/quest/q32005s.py create mode 100755 scripts/quest/q32006s.py create mode 100755 scripts/quest/q32007s.py create mode 100755 scripts/quest/q32008s.py create mode 100755 scripts/quest/q32009s.py create mode 100755 scripts/quest/q32018s.py create mode 100755 scripts/quest/q32019s.py create mode 100755 scripts/quest/q32023s.py create mode 100755 scripts/quest/q32024s.py create mode 100755 scripts/quest/q32102s.py create mode 100755 scripts/quest/q32106e.py create mode 100755 scripts/quest/q32106s.py create mode 100755 scripts/quest/q32109e.py create mode 100755 scripts/quest/q32110e.py create mode 100755 scripts/quest/q32110s.py create mode 100755 scripts/quest/q32111s.py create mode 100755 scripts/quest/q32112e.py create mode 100755 scripts/quest/q32112s.py create mode 100755 scripts/quest/q32114s.py create mode 100755 scripts/quest/q32115e.py create mode 100755 scripts/quest/q32115s.py create mode 100755 scripts/quest/q32116e.py create mode 100755 scripts/quest/q32116s.py create mode 100755 scripts/quest/q32117e.py create mode 100755 scripts/quest/q32117s.py create mode 100755 scripts/quest/q32120e.py create mode 100755 scripts/quest/q32120s.py create mode 100755 scripts/quest/q32129s.py create mode 100755 scripts/quest/q32136e.py create mode 100755 scripts/quest/q32136s.py create mode 100755 scripts/quest/q32138e.py create mode 100755 scripts/quest/q32138s.py create mode 100755 scripts/quest/q32143s.py create mode 100755 scripts/quest/q32151e.py create mode 100755 scripts/quest/q32151s.py create mode 100755 scripts/quest/q32157e.py create mode 100755 scripts/quest/q32160s.py create mode 100755 scripts/quest/q32163e.py create mode 100755 scripts/quest/q32164s.py create mode 100755 scripts/quest/q32165s.py create mode 100755 scripts/quest/q32166s.py create mode 100755 scripts/quest/q32178s.py create mode 100755 scripts/quest/q32189e.py create mode 100755 scripts/quest/q32192s.py create mode 100755 scripts/quest/q32203s.py create mode 100755 scripts/quest/q32216s.py create mode 100755 scripts/quest/q32229s.py create mode 100755 scripts/quest/q32240e.py create mode 100755 scripts/quest/q32240s.py create mode 100755 scripts/quest/q32600s.py create mode 100755 scripts/quest/q32631s.py create mode 100755 scripts/quest/q32632s.py create mode 100755 scripts/quest/q32662e.py create mode 100755 scripts/quest/q32707e.py create mode 100755 scripts/quest/q32707s.py create mode 100755 scripts/quest/q34100e.py create mode 100755 scripts/quest/q34107s.py create mode 100755 scripts/quest/q34108s.py create mode 100755 scripts/quest/q34109s.py create mode 100755 scripts/quest/q34115s.py create mode 100755 scripts/quest/q34120s.py create mode 100755 scripts/quest/q34129e.py create mode 100755 scripts/quest/q34129s.py create mode 100755 scripts/quest/q34132e.py create mode 100755 scripts/quest/q34134e.py create mode 100755 scripts/quest/q34135e.py create mode 100755 scripts/quest/q34148e.py create mode 100755 scripts/quest/q34149e.py create mode 100755 scripts/quest/q34151s.py create mode 100755 scripts/quest/q34200s.py create mode 100755 scripts/quest/q34201s.py create mode 100755 scripts/quest/q34202s.py create mode 100755 scripts/quest/q34203e.py create mode 100755 scripts/quest/q34203s.py create mode 100755 scripts/quest/q34204s.py create mode 100755 scripts/quest/q34205e.py create mode 100755 scripts/quest/q34205s.py create mode 100755 scripts/quest/q34206s.py create mode 100755 scripts/quest/q34207e.py create mode 100755 scripts/quest/q34207s.py create mode 100755 scripts/quest/q34208e.py create mode 100755 scripts/quest/q34208s.py create mode 100755 scripts/quest/q34209e.py create mode 100755 scripts/quest/q34209s.py create mode 100755 scripts/quest/q34210e.py create mode 100755 scripts/quest/q34210s.py create mode 100755 scripts/quest/q34211e.py create mode 100755 scripts/quest/q34211s.py create mode 100755 scripts/quest/q34212e.py create mode 100755 scripts/quest/q34212s.py create mode 100755 scripts/quest/q34213e.py create mode 100755 scripts/quest/q34213s.py create mode 100755 scripts/quest/q34214e.py create mode 100755 scripts/quest/q34214s.py create mode 100755 scripts/quest/q34215e.py create mode 100755 scripts/quest/q34215s.py create mode 100755 scripts/quest/q34216s.py create mode 100755 scripts/quest/q34217s.py create mode 100755 scripts/quest/q34218s.py create mode 100755 scripts/quest/q34300e.py create mode 100755 scripts/quest/q34300s.py create mode 100755 scripts/quest/q34301s.py create mode 100755 scripts/quest/q34305s.py create mode 100755 scripts/quest/q34308s.py create mode 100755 scripts/quest/q34315e.py create mode 100755 scripts/quest/q34322s.py create mode 100755 scripts/quest/q34325e.py create mode 100755 scripts/quest/q34326s.py create mode 100755 scripts/quest/q34330e.py create mode 100755 scripts/quest/q34331e.py create mode 100755 scripts/quest/q34367s.py create mode 100755 scripts/quest/q34452e.py create mode 100755 scripts/quest/q34453e.py create mode 100755 scripts/quest/q34454s.py create mode 100755 scripts/quest/q34460s.py create mode 100755 scripts/quest/q34464s.py create mode 100755 scripts/quest/q34466s.py create mode 100755 scripts/quest/q34467e.py create mode 100755 scripts/quest/q34468e.py create mode 100755 scripts/quest/q34469s.py create mode 100755 scripts/quest/q34470e.py create mode 100755 scripts/quest/q34472s.py create mode 100755 scripts/quest/q34473s.py create mode 100755 scripts/quest/q34474s.py create mode 100755 scripts/quest/q34475e.py create mode 100755 scripts/quest/q34475s.py create mode 100755 scripts/quest/q34476s.py create mode 100755 scripts/quest/q34477s.py create mode 100755 scripts/quest/q34515s.py create mode 100755 scripts/quest/q34601s.py create mode 100755 scripts/quest/q34603s.py create mode 100755 scripts/quest/q34656s.py create mode 100755 scripts/quest/q34657s.py create mode 100755 scripts/quest/q34658s.py create mode 100755 scripts/quest/q34659s.py create mode 100755 scripts/quest/q34801e.py create mode 100755 scripts/quest/q34802e.py create mode 100755 scripts/quest/q34802s.py create mode 100755 scripts/quest/q34803e.py create mode 100755 scripts/quest/q34803s.py create mode 100755 scripts/quest/q34804e.py create mode 100755 scripts/quest/q34804s.py create mode 100755 scripts/quest/q34805e.py create mode 100755 scripts/quest/q34805s.py create mode 100755 scripts/quest/q34806e.py create mode 100755 scripts/quest/q34806s.py create mode 100755 scripts/quest/q34807e.py create mode 100755 scripts/quest/q34807s.py create mode 100755 scripts/quest/q34808e.py create mode 100755 scripts/quest/q34808s.py create mode 100755 scripts/quest/q34809e.py create mode 100755 scripts/quest/q34809s.py create mode 100755 scripts/quest/q34810s.py create mode 100755 scripts/quest/q34811e.py create mode 100755 scripts/quest/q34811s.py create mode 100755 scripts/quest/q34812e.py create mode 100755 scripts/quest/q34812s.py create mode 100755 scripts/quest/q34813e.py create mode 100755 scripts/quest/q34813s.py create mode 100755 scripts/quest/q34814e.py create mode 100755 scripts/quest/q34814s.py create mode 100755 scripts/quest/q34815e.py create mode 100755 scripts/quest/q34815s.py create mode 100755 scripts/quest/q34816e.py create mode 100755 scripts/quest/q34816s.py create mode 100755 scripts/quest/q34817s.py create mode 100755 scripts/quest/q34818e.py create mode 100755 scripts/quest/q34820s.py create mode 100755 scripts/quest/q34860s.py create mode 100755 scripts/quest/q34901s.py create mode 100755 scripts/quest/q34902s.py create mode 100755 scripts/quest/q34903s.py create mode 100755 scripts/quest/q34904s.py create mode 100755 scripts/quest/q34915s.py create mode 100755 scripts/quest/q34916e.py create mode 100755 scripts/quest/q34916s.py create mode 100755 scripts/quest/q34917e.py create mode 100755 scripts/quest/q34917s.py create mode 100755 scripts/quest/q34918e.py create mode 100755 scripts/quest/q34918s.py create mode 100755 scripts/quest/q34919e.py create mode 100755 scripts/quest/q34919s.py create mode 100755 scripts/quest/q34920e.py create mode 100755 scripts/quest/q34920s.py create mode 100755 scripts/quest/q34921e.py create mode 100755 scripts/quest/q34921s.py create mode 100755 scripts/quest/q34922e.py create mode 100755 scripts/quest/q34922s.py create mode 100755 scripts/quest/q34923e.py create mode 100755 scripts/quest/q34923s.py create mode 100755 scripts/quest/q34924e.py create mode 100755 scripts/quest/q34924s.py create mode 100755 scripts/quest/q34925e.py create mode 100755 scripts/quest/q34925s.py create mode 100755 scripts/quest/q34926e.py create mode 100755 scripts/quest/q34926s.py create mode 100755 scripts/quest/q34927e.py create mode 100755 scripts/quest/q34927s.py create mode 100755 scripts/quest/q34928e.py create mode 100755 scripts/quest/q34928s.py create mode 100755 scripts/quest/q34929e.py create mode 100755 scripts/quest/q34929s.py create mode 100755 scripts/quest/q34930e.py create mode 100755 scripts/quest/q34930s.py create mode 100755 scripts/quest/q34931e.py create mode 100755 scripts/quest/q34931s.py create mode 100755 scripts/quest/q34932e.py create mode 100755 scripts/quest/q34932s.py create mode 100755 scripts/quest/q34933e.py create mode 100755 scripts/quest/q34933s.py create mode 100755 scripts/quest/q34934e.py create mode 100755 scripts/quest/q34934s.py create mode 100755 scripts/quest/q34935e.py create mode 100755 scripts/quest/q34935s.py create mode 100755 scripts/quest/q34936s.py create mode 100755 scripts/quest/q34937e.py create mode 100755 scripts/quest/q34937s.py create mode 100755 scripts/quest/q34938s.py create mode 100755 scripts/quest/q34939s.py create mode 100755 scripts/quest/q34940s.py create mode 100755 scripts/quest/q34941e.py create mode 100755 scripts/quest/q34941s.py create mode 100755 scripts/quest/q34942e.py create mode 100755 scripts/quest/q34942s.py create mode 100755 scripts/quest/q34943e.py create mode 100755 scripts/quest/q34943s.py create mode 100755 scripts/quest/q3514e.py create mode 100755 scripts/quest/q3556e.py create mode 100755 scripts/quest/q35900e.py create mode 100755 scripts/quest/q35900s.py create mode 100755 scripts/quest/q35901e.py create mode 100755 scripts/quest/q35901s.py create mode 100755 scripts/quest/q35902e.py create mode 100755 scripts/quest/q35902s.py create mode 100755 scripts/quest/q35903s.py create mode 100755 scripts/quest/q35904e.py create mode 100755 scripts/quest/q35904s.py create mode 100755 scripts/quest/q35905s.py create mode 100755 scripts/quest/q35906s.py create mode 100755 scripts/quest/q35907e.py create mode 100755 scripts/quest/q35907s.py create mode 100755 scripts/quest/q35908e.py create mode 100755 scripts/quest/q35908s.py create mode 100755 scripts/quest/q35909e.py create mode 100755 scripts/quest/q35909s.py create mode 100755 scripts/quest/q35910e.py create mode 100755 scripts/quest/q35910s.py create mode 100755 scripts/quest/q35911e.py create mode 100755 scripts/quest/q35911s.py create mode 100755 scripts/quest/q35912s.py create mode 100755 scripts/quest/q35913s.py create mode 100755 scripts/quest/q35914e.py create mode 100755 scripts/quest/q35914s.py create mode 100755 scripts/quest/q35915e.py create mode 100755 scripts/quest/q35915s.py create mode 100755 scripts/quest/q35916e.py create mode 100755 scripts/quest/q35916s.py create mode 100755 scripts/quest/q35917e.py create mode 100755 scripts/quest/q35917s.py create mode 100755 scripts/quest/q35918e.py create mode 100755 scripts/quest/q35918s.py create mode 100755 scripts/quest/q35919e.py create mode 100755 scripts/quest/q35919s.py create mode 100755 scripts/quest/q35920e.py create mode 100755 scripts/quest/q35920s.py create mode 100755 scripts/quest/q35921e.py create mode 100755 scripts/quest/q35921s.py create mode 100755 scripts/quest/q35922s.py create mode 100755 scripts/quest/q35923e.py create mode 100755 scripts/quest/q35923s.py create mode 100755 scripts/quest/q35924e.py create mode 100755 scripts/quest/q35924s.py create mode 100755 scripts/quest/q35925e.py create mode 100755 scripts/quest/q35926e.py create mode 100755 scripts/quest/q35926s.py create mode 100755 scripts/quest/q35927s.py create mode 100755 scripts/quest/q35928s.py create mode 100755 scripts/quest/q35929s.py create mode 100755 scripts/quest/q37151s.py create mode 100755 scripts/quest/q37152s.py create mode 100755 scripts/quest/q37154s.py create mode 100755 scripts/quest/q37156s.py create mode 100755 scripts/quest/q37157s.py create mode 100755 scripts/quest/q37158s.py create mode 100755 scripts/quest/q37159e.py create mode 100755 scripts/quest/q37159s.py create mode 100755 scripts/quest/q37160e.py create mode 100755 scripts/quest/q37160s.py create mode 100755 scripts/quest/q37161s.py create mode 100755 scripts/quest/q37162e.py create mode 100755 scripts/quest/q37168s.py create mode 100755 scripts/quest/q37169s.py create mode 100755 scripts/quest/q37171e.py create mode 100755 scripts/quest/q37171s.py create mode 100755 scripts/quest/q37172s.py create mode 100755 scripts/quest/q37173s.py create mode 100755 scripts/quest/q37175e.py create mode 100755 scripts/quest/q37176s.py create mode 100755 scripts/quest/q37177s.py create mode 100755 scripts/quest/q3759e.py create mode 100755 scripts/quest/q38002s.py create mode 100755 scripts/quest/q38003_midNPC1.py create mode 100755 scripts/quest/q38003_midNPC2.py create mode 100755 scripts/quest/q38003_midNPC3.py create mode 100755 scripts/quest/q38003_midNPC4.py create mode 100755 scripts/quest/q38009s.py create mode 100755 scripts/quest/q38011s.py create mode 100755 scripts/quest/q38014s.py create mode 100755 scripts/quest/q38022e.py create mode 100755 scripts/quest/q38024s.py create mode 100755 scripts/quest/q38026s.py create mode 100755 scripts/quest/q38027s.py create mode 100755 scripts/quest/q38030e.py create mode 100755 scripts/quest/q38033s.py create mode 100755 scripts/quest/q38034s.py create mode 100755 scripts/quest/q38035e.py create mode 100755 scripts/quest/q38073e.py create mode 100755 scripts/quest/q38074s.py create mode 100755 scripts/quest/q38076s.py create mode 100755 scripts/quest/q3862e.py create mode 100755 scripts/quest/q3864e.py create mode 100755 scripts/quest/q3890s.py create mode 100755 scripts/quest/q38996s.py create mode 100755 scripts/quest/q38997s.py create mode 100755 scripts/quest/q38998s.py create mode 100755 scripts/quest/q39160s.py create mode 100755 scripts/quest/q500724e.py create mode 100755 scripts/quest/q500724s.py create mode 100755 scripts/quest/q50722e.py create mode 100755 scripts/quest/q50990e.py create mode 100755 scripts/quest/q50990s.py create mode 100755 scripts/quest/q52930s.py create mode 100755 scripts/quest/q5499e.py create mode 100755 scripts/quest/q5499s.py create mode 100755 scripts/quest/q5500s.py create mode 100755 scripts/quest/q5501s.py create mode 100755 scripts/quest/q5519e.py create mode 100755 scripts/quest/q5520e.py create mode 100755 scripts/quest/q5521e.py create mode 100755 scripts/quest/q5522e.py create mode 100755 scripts/quest/q55234s.py create mode 100755 scripts/quest/q55235e.py create mode 100755 scripts/quest/q5523e.py create mode 100755 scripts/quest/q5671e.py create mode 100755 scripts/quest/q5672e.py create mode 100755 scripts/quest/q57103e.py create mode 100755 scripts/quest/q57103s.py create mode 100755 scripts/quest/q57105e.py create mode 100755 scripts/quest/q57105s.py create mode 100755 scripts/quest/q57110s.py create mode 100755 scripts/quest/q57162s.py create mode 100755 scripts/quest/q57163s.py create mode 100755 scripts/quest/q57164s.py create mode 100755 scripts/quest/q57400s.py create mode 100755 scripts/quest/q57402e.py create mode 100755 scripts/quest/q57402s.py create mode 100755 scripts/quest/q57403e.py create mode 100755 scripts/quest/q57403s.py create mode 100755 scripts/quest/q57407e.py create mode 100755 scripts/quest/q57407s.py create mode 100755 scripts/quest/q57408s.py create mode 100755 scripts/quest/q57409e.py create mode 100755 scripts/quest/q57409s.py create mode 100755 scripts/quest/q57410e.py create mode 100755 scripts/quest/q57410s.py create mode 100755 scripts/quest/q57411e.py create mode 100755 scripts/quest/q57411s.py create mode 100755 scripts/quest/q57412e.py create mode 100755 scripts/quest/q57412s.py create mode 100755 scripts/quest/q57413e.py create mode 100755 scripts/quest/q57413s.py create mode 100755 scripts/quest/q57414e.py create mode 100755 scripts/quest/q57414s.py create mode 100755 scripts/quest/q57415e.py create mode 100755 scripts/quest/q57417e.py create mode 100755 scripts/quest/q57417s.py create mode 100755 scripts/quest/q57418e.py create mode 100755 scripts/quest/q57418s.py create mode 100755 scripts/quest/q57420e.py create mode 100755 scripts/quest/q57420s.py create mode 100755 scripts/quest/q57427s.py create mode 100755 scripts/quest/q57428s.py create mode 100755 scripts/quest/q57429s.py create mode 100755 scripts/quest/q57433e.py create mode 100755 scripts/quest/q57433s.py create mode 100755 scripts/quest/q57434e.py create mode 100755 scripts/quest/q57434s.py create mode 100755 scripts/quest/q57435e.py create mode 100755 scripts/quest/q57435s.py create mode 100755 scripts/quest/q57436s.py create mode 100755 scripts/quest/q57437e.py create mode 100755 scripts/quest/q57439s.py create mode 100755 scripts/quest/q57458s.py create mode 100755 scripts/quest/q57459s.py create mode 100755 scripts/quest/q57460s.py create mode 100755 scripts/quest/q57465s.py create mode 100755 scripts/quest/q57474s.py create mode 100755 scripts/quest/q5747s.py create mode 100755 scripts/quest/q5870e.py create mode 100755 scripts/quest/q5871e.py create mode 100755 scripts/quest/q58901e.py create mode 100755 scripts/quest/q58902e.py create mode 100755 scripts/quest/q58902s.py create mode 100755 scripts/quest/q58903e.py create mode 100755 scripts/quest/q58903s.py create mode 100755 scripts/quest/q58907e.py create mode 100755 scripts/quest/q58907s.py create mode 100755 scripts/quest/q58908s.py create mode 100755 scripts/quest/q58909s.py create mode 100755 scripts/quest/q58910s.py create mode 100755 scripts/quest/q58911e.py create mode 100755 scripts/quest/q58911s.py create mode 100755 scripts/quest/q58913e.py create mode 100755 scripts/quest/q58913s.py create mode 100755 scripts/quest/q58914e.py create mode 100755 scripts/quest/q58914s.py create mode 100755 scripts/quest/q58916e.py create mode 100755 scripts/quest/q58916s.py create mode 100755 scripts/quest/q58917e.py create mode 100755 scripts/quest/q58917s.py create mode 100755 scripts/quest/q58918e.py create mode 100755 scripts/quest/q58918s.py create mode 100755 scripts/quest/q58919e.py create mode 100755 scripts/quest/q58919s.py create mode 100755 scripts/quest/q58920e.py create mode 100755 scripts/quest/q58920s.py create mode 100755 scripts/quest/q58921e.py create mode 100755 scripts/quest/q58921s.py create mode 100755 scripts/quest/q58922s.py create mode 100755 scripts/quest/q58923e.py create mode 100755 scripts/quest/q58923s.py create mode 100755 scripts/quest/q58924s.py create mode 100755 scripts/quest/q58925e.py create mode 100755 scripts/quest/q58925s.py create mode 100755 scripts/quest/q58926s.py create mode 100755 scripts/quest/q58927e.py create mode 100755 scripts/quest/q58927s.py create mode 100755 scripts/quest/q58928e.py create mode 100755 scripts/quest/q58928s.py create mode 100755 scripts/quest/q58929e.py create mode 100755 scripts/quest/q58929s.py create mode 100755 scripts/quest/q58930e.py create mode 100755 scripts/quest/q58930s.py create mode 100755 scripts/quest/q58931e.py create mode 100755 scripts/quest/q58931s.py create mode 100755 scripts/quest/q58932e.py create mode 100755 scripts/quest/q58932s.py create mode 100755 scripts/quest/q58933e.py create mode 100755 scripts/quest/q58933s.py create mode 100755 scripts/quest/q58934e.py create mode 100755 scripts/quest/q58934s.py create mode 100755 scripts/quest/q58935s.py create mode 100755 scripts/quest/q58936e.py create mode 100755 scripts/quest/q58936s.py create mode 100755 scripts/quest/q58937s.py create mode 100755 scripts/quest/q58938e.py create mode 100755 scripts/quest/q58938s.py create mode 100755 scripts/quest/q58939s.py create mode 100755 scripts/quest/q58940e.py create mode 100755 scripts/quest/q58940s.py create mode 100755 scripts/quest/q58941e.py create mode 100755 scripts/quest/q58941s.py create mode 100755 scripts/quest/q58942e.py create mode 100755 scripts/quest/q58942s.py create mode 100755 scripts/quest/q58943e.py create mode 100755 scripts/quest/q58943s.py create mode 100755 scripts/quest/q58944e.py create mode 100755 scripts/quest/q58944s.py create mode 100755 scripts/quest/q58945e.py create mode 100755 scripts/quest/q58945s.py create mode 100755 scripts/quest/q58946e.py create mode 100755 scripts/quest/q58946s.py create mode 100755 scripts/quest/q58947e.py create mode 100755 scripts/quest/q58947s.py create mode 100755 scripts/quest/q58955s.py create mode 100755 scripts/quest/q58963s.py create mode 100755 scripts/quest/q58964e.py create mode 100755 scripts/quest/q58964s.py create mode 100755 scripts/quest/q58965s.py create mode 100755 scripts/quest/q58966e.py create mode 100755 scripts/quest/q58966s.py create mode 100755 scripts/quest/q58967s.py create mode 100755 scripts/quest/q58968e.py create mode 100755 scripts/quest/q58968s.py create mode 100755 scripts/quest/q59000e.py create mode 100755 scripts/quest/q59000s.py create mode 100755 scripts/quest/q59001e.py create mode 100755 scripts/quest/q59001s.py create mode 100755 scripts/quest/q59002s.py create mode 100755 scripts/quest/q61133e.py create mode 100755 scripts/quest/q61133s.py create mode 100755 scripts/quest/q61134e.py create mode 100755 scripts/quest/q61134s.py create mode 100755 scripts/quest/q61135s.py create mode 100755 scripts/quest/q61136s.py create mode 100755 scripts/quest/q61145s.py create mode 100755 scripts/quest/q62000s.py create mode 100755 scripts/quest/q62001e.py create mode 100755 scripts/quest/q62001s.py create mode 100755 scripts/quest/q62002e.py create mode 100755 scripts/quest/q62002s.py create mode 100755 scripts/quest/q62003e.py create mode 100755 scripts/quest/q62003s.py create mode 100755 scripts/quest/q62005e.py create mode 100755 scripts/quest/q62005s.py create mode 100755 scripts/quest/q62007e.py create mode 100755 scripts/quest/q62007s.py create mode 100755 scripts/quest/q62008e.py create mode 100755 scripts/quest/q62008s.py create mode 100755 scripts/quest/q62009e.py create mode 100755 scripts/quest/q62009s.py create mode 100755 scripts/quest/q62010e.py create mode 100755 scripts/quest/q62010s.py create mode 100755 scripts/quest/q62011e.py create mode 100755 scripts/quest/q62011s.py create mode 100755 scripts/quest/q62013e.py create mode 100755 scripts/quest/q62013s.py create mode 100755 scripts/quest/q62014s.py create mode 100755 scripts/quest/q62015e.py create mode 100755 scripts/quest/q62015s.py create mode 100755 scripts/quest/q62017s.py create mode 100755 scripts/quest/q62018e.py create mode 100755 scripts/quest/q62018s.py create mode 100755 scripts/quest/q62019e.py create mode 100755 scripts/quest/q62019s.py create mode 100755 scripts/quest/q62020s.py create mode 100755 scripts/quest/q62022e.py create mode 100755 scripts/quest/q62022s.py create mode 100755 scripts/quest/q62023s.py create mode 100755 scripts/quest/q62024e.py create mode 100755 scripts/quest/q62025e.py create mode 100755 scripts/quest/q62026e.py create mode 100755 scripts/quest/q62027e.py create mode 100755 scripts/quest/q62028e.py create mode 100755 scripts/quest/q62029e.py create mode 100755 scripts/quest/q62030e.py create mode 100755 scripts/quest/q62031e.py create mode 100755 scripts/quest/q62032e.py create mode 100755 scripts/quest/q62033e.py create mode 100755 scripts/quest/q62034e.py create mode 100755 scripts/quest/q62035s.py create mode 100755 scripts/quest/q62039s.py create mode 100755 scripts/quest/q62044s.py create mode 100755 scripts/quest/q62395e.py create mode 100755 scripts/quest/q62395s.py create mode 100755 scripts/quest/q63360s.py create mode 100755 scripts/quest/q63370s.py create mode 100755 scripts/quest/q64010s.py create mode 100755 scripts/quest/q64018e.py create mode 100755 scripts/quest/q64021e.py create mode 100755 scripts/quest/q64025e.py create mode 100755 scripts/quest/q64025s.py create mode 100755 scripts/quest/q64026e.py create mode 100755 scripts/quest/q64026s.py create mode 100755 scripts/quest/q64027s.py create mode 100755 scripts/quest/q64028s.py create mode 100755 scripts/quest/q64029e.py create mode 100755 scripts/quest/q64029s.py create mode 100755 scripts/quest/q64030e.py create mode 100755 scripts/quest/q64036s.py create mode 100755 scripts/quest/q64037s.py create mode 100755 scripts/quest/q64044e.py create mode 100755 scripts/quest/q64045e.py create mode 100755 scripts/quest/q64062s.py create mode 100755 scripts/quest/q64063e.py create mode 100755 scripts/quest/q64063s.py create mode 100755 scripts/quest/q64064e.py create mode 100755 scripts/quest/q64064s.py create mode 100755 scripts/quest/q64065e.py create mode 100755 scripts/quest/q64065s.py create mode 100755 scripts/quest/q64067e.py create mode 100755 scripts/quest/q64067s.py create mode 100755 scripts/quest/q64070s.py create mode 100755 scripts/quest/q64071s.py create mode 100755 scripts/quest/q64072s.py create mode 100755 scripts/quest/q64080e.py create mode 100755 scripts/quest/q64083s.py create mode 100755 scripts/quest/q64084e.py create mode 100755 scripts/quest/q64087e.py create mode 100755 scripts/quest/q64088e.py create mode 100755 scripts/quest/q64104s.py create mode 100755 scripts/quest/q64107e.py create mode 100755 scripts/quest/q64111s.py create mode 100755 scripts/quest/q64112e.py create mode 100755 scripts/quest/q64113s.py create mode 100755 scripts/quest/q64114e.py create mode 100755 scripts/quest/q64114s.py create mode 100755 scripts/quest/q64116s.py create mode 100755 scripts/quest/q64130e.py create mode 100755 scripts/quest/q64133e.py create mode 100755 scripts/quest/q64133s.py create mode 100755 scripts/quest/q64215s.py create mode 100755 scripts/quest/q64216s.py create mode 100755 scripts/quest/q64273s.py create mode 100755 scripts/quest/q6601s.py create mode 100755 scripts/quest/q7707s.py create mode 100755 scripts/quest/undefined.py create mode 100755 scripts/reactor/9218000action.py create mode 100755 scripts/reactor/9250000action.py create mode 100755 scripts/reactor/9250001action.py create mode 100755 scripts/reactor/9250002action.py create mode 100755 scripts/reactor/9250003action.py create mode 100755 scripts/reactor/9250004action.py create mode 100755 scripts/reactor/9250005action.py create mode 100755 scripts/reactor/JPludiMob0.py create mode 100755 scripts/reactor/JPludiMob1.py create mode 100755 scripts/reactor/JPludiMob2.py create mode 100755 scripts/reactor/JPludiMob3.py create mode 100755 scripts/reactor/balogItem0.py create mode 100755 scripts/reactor/banbanChaos.py create mode 100755 scripts/reactor/banbanNormal.py create mode 100755 scripts/reactor/bellumChaos.py create mode 100755 scripts/reactor/bellumNormal.py create mode 100755 scripts/reactor/chaoshontaleBoss.py create mode 100755 scripts/reactor/davyItem0.py create mode 100755 scripts/reactor/davyMob0.py create mode 100755 scripts/reactor/davyMob1.py create mode 100755 scripts/reactor/davyScript0.py create mode 100755 scripts/reactor/davyScript1.py create mode 100755 scripts/reactor/davyScript2.py create mode 100755 scripts/reactor/davyScript3.py create mode 100755 scripts/reactor/dual_ball00.py create mode 100755 scripts/reactor/easyhontaleBoss.py create mode 100755 scripts/reactor/edelItem0.py create mode 100755 scripts/reactor/erebMob0.py create mode 100755 scripts/reactor/fake_timecapsule.py create mode 100755 scripts/reactor/farmItem0.py create mode 100755 scripts/reactor/gather_Item0.py create mode 100755 scripts/reactor/glpqskill0.py create mode 100755 scripts/reactor/glpqskill1.py create mode 100755 scripts/reactor/glpqskill2.py create mode 100755 scripts/reactor/glpqskill3.py create mode 100755 scripts/reactor/glpqskill4.py create mode 100755 scripts/reactor/hontaleBoss.py create mode 100755 scripts/reactor/mBoxItem0.py create mode 100755 scripts/reactor/mihailItem00.py create mode 100755 scripts/reactor/periFlower0.py create mode 100755 scripts/reactor/platformer_trap.py create mode 100755 scripts/reactor/platformer_trap0.py create mode 100755 scripts/reactor/platformer_trap1.py create mode 100755 scripts/reactor/platformer_trap3.py create mode 100755 scripts/reactor/platformer_trap4.py create mode 100755 scripts/reactor/prisonBreakItem0.py create mode 100755 scripts/reactor/prisonBreakMob0.py create mode 100755 scripts/reactor/queenChaos.py create mode 100755 scripts/reactor/queenNormal.py create mode 100755 scripts/reactor/real_timecapsule.py create mode 100755 scripts/reactor/rienItem0.py create mode 100755 scripts/reactor/undefined.py create mode 100755 sql/1 - InitTables_characters.sql create mode 100755 sql/10 - InitTables_shops.sql create mode 100755 sql/2 - InitTables_drops.sql create mode 100755 sql/3 - InitTables_cashshop.sql create mode 100755 sql/4 - drops.sql create mode 100755 sql/5 - InitTable_equip_drops.sql create mode 100755 sql/6 - beautyalbum.sql create mode 100755 sql/7 - charactercard.sql create mode 100755 sql/8 - InitTable_npc.sql create mode 100755 sql/9 - InitTables_MonsterCollection.sql create mode 100755 sql/character - initDrops - drops - equipDrops - the rest.txt create mode 100755 sql/hairequips.sql create mode 100755 sql/unseenequips.sql create mode 100755 src/main/java/hibernate.cfg.xml create mode 100755 src/main/java/log4j.properties create mode 100755 src/main/java/net/swordie/ms/Server.java create mode 100755 src/main/java/net/swordie/ms/ServerConfig.java create mode 100755 src/main/java/net/swordie/ms/ServerConstants.java create mode 100755 src/main/java/net/swordie/ms/ServerStatus.java create mode 100755 src/main/java/net/swordie/ms/client/Account.java create mode 100755 src/main/java/net/swordie/ms/client/Client.java create mode 100755 src/main/java/net/swordie/ms/client/LinkSkill.java create mode 100755 src/main/java/net/swordie/ms/client/User.java create mode 100755 src/main/java/net/swordie/ms/client/alliance/Alliance.java create mode 100755 src/main/java/net/swordie/ms/client/alliance/AllianceResult.java create mode 100755 src/main/java/net/swordie/ms/client/anticheat/Offense.java create mode 100755 src/main/java/net/swordie/ms/client/anticheat/OffenseManager.java create mode 100755 src/main/java/net/swordie/ms/client/character/BroadcastMsg.java create mode 100755 src/main/java/net/swordie/ms/client/character/Char.java create mode 100755 src/main/java/net/swordie/ms/client/character/CharacterStat.java create mode 100755 src/main/java/net/swordie/ms/client/character/CoupleRecord.java create mode 100755 src/main/java/net/swordie/ms/client/character/EventCoolDown.java create mode 100755 src/main/java/net/swordie/ms/client/character/ExtendSP.java create mode 100755 src/main/java/net/swordie/ms/client/character/FarmPotential.java create mode 100755 src/main/java/net/swordie/ms/client/character/HyperTPRock.java create mode 100755 src/main/java/net/swordie/ms/client/character/ItemPot.java create mode 100755 src/main/java/net/swordie/ms/client/character/LikePoint.java create mode 100755 src/main/java/net/swordie/ms/client/character/Macro.java create mode 100755 src/main/java/net/swordie/ms/client/character/MarriageRecord.java create mode 100755 src/main/java/net/swordie/ms/client/character/MiniGameRecord.java create mode 100755 src/main/java/net/swordie/ms/client/character/MiniRoom.java create mode 100755 src/main/java/net/swordie/ms/client/character/MonsterCollection.java create mode 100755 src/main/java/net/swordie/ms/client/character/MonsterCollectionExploration.java create mode 100755 src/main/java/net/swordie/ms/client/character/MonsterCollectionReward.java create mode 100755 src/main/java/net/swordie/ms/client/character/MonsterPark.java create mode 100755 src/main/java/net/swordie/ms/client/character/NonCombatStatDayLimit.java create mode 100755 src/main/java/net/swordie/ms/client/character/PortableChair.java create mode 100755 src/main/java/net/swordie/ms/client/character/Ranking.java create mode 100755 src/main/java/net/swordie/ms/client/character/RunnerGameRecord.java create mode 100755 src/main/java/net/swordie/ms/client/character/SPSet.java create mode 100755 src/main/java/net/swordie/ms/client/character/TradeRoom.java create mode 100755 src/main/java/net/swordie/ms/client/character/avatar/AvatarData.java create mode 100755 src/main/java/net/swordie/ms/client/character/avatar/AvatarLook.java create mode 100755 src/main/java/net/swordie/ms/client/character/avatar/BeautyAlbum.java create mode 100755 src/main/java/net/swordie/ms/client/character/b2body/B2Body.java create mode 100755 src/main/java/net/swordie/ms/client/character/cards/CharacterCard.java create mode 100755 src/main/java/net/swordie/ms/client/character/cards/MonsterBookInfo.java create mode 100755 src/main/java/net/swordie/ms/client/character/commands/AdminCommand.java create mode 100755 src/main/java/net/swordie/ms/client/character/commands/AdminCommands.java create mode 100755 src/main/java/net/swordie/ms/client/character/commands/Command.java create mode 100755 src/main/java/net/swordie/ms/client/character/commands/ICommand.java create mode 100755 src/main/java/net/swordie/ms/client/character/commands/PlayerCommand.java create mode 100755 src/main/java/net/swordie/ms/client/character/commands/PlayerCommands.java create mode 100755 src/main/java/net/swordie/ms/client/character/damage/DamageCalc.java create mode 100755 src/main/java/net/swordie/ms/client/character/damage/DamageSkinSaveData.java create mode 100755 src/main/java/net/swordie/ms/client/character/damage/DamageSkinType.java create mode 100755 src/main/java/net/swordie/ms/client/character/damage/Rand32.java create mode 100755 src/main/java/net/swordie/ms/client/character/info/ExpIncreaseInfo.java create mode 100755 src/main/java/net/swordie/ms/client/character/info/FarmUserInfo.java create mode 100755 src/main/java/net/swordie/ms/client/character/info/FreezeHotEventInfo.java create mode 100755 src/main/java/net/swordie/ms/client/character/info/HitInfo.java create mode 100755 src/main/java/net/swordie/ms/client/character/info/ZeroInfo.java create mode 100755 src/main/java/net/swordie/ms/client/character/items/BodyPart.java create mode 100755 src/main/java/net/swordie/ms/client/character/items/BossSoul.java create mode 100755 src/main/java/net/swordie/ms/client/character/items/DressUpInfo.java create mode 100755 src/main/java/net/swordie/ms/client/character/items/Equip.java create mode 100755 src/main/java/net/swordie/ms/client/character/items/EquipAttribute.java create mode 100755 src/main/java/net/swordie/ms/client/character/items/EquipPrefix.java create mode 100755 src/main/java/net/swordie/ms/client/character/items/EquipSpecialAttribute.java create mode 100755 src/main/java/net/swordie/ms/client/character/items/ExpConsumeItem.java create mode 100755 src/main/java/net/swordie/ms/client/character/items/HotTimeReward.java create mode 100755 src/main/java/net/swordie/ms/client/character/items/Inventory.java create mode 100755 src/main/java/net/swordie/ms/client/character/items/Item.java create mode 100755 src/main/java/net/swordie/ms/client/character/items/ItemBuffs.java create mode 100755 src/main/java/net/swordie/ms/client/character/items/ItemOption.java create mode 100755 src/main/java/net/swordie/ms/client/character/items/ItemPotSlot.java create mode 100755 src/main/java/net/swordie/ms/client/character/items/ItemSkill.java create mode 100755 src/main/java/net/swordie/ms/client/character/items/ItemState.java create mode 100755 src/main/java/net/swordie/ms/client/character/items/MemorialCubeInfo.java create mode 100755 src/main/java/net/swordie/ms/client/character/items/PetItem.java create mode 100755 src/main/java/net/swordie/ms/client/character/items/RequiredJob.java create mode 100755 src/main/java/net/swordie/ms/client/character/items/ScrollUpgradeInfo.java create mode 100755 src/main/java/net/swordie/ms/client/character/keys/FuncKeyMap.java create mode 100755 src/main/java/net/swordie/ms/client/character/keys/Keymapping.java create mode 100755 src/main/java/net/swordie/ms/client/character/monsterbattle/MonsterBattleLadder.java create mode 100755 src/main/java/net/swordie/ms/client/character/monsterbattle/MonsterBattleMobInfo.java create mode 100755 src/main/java/net/swordie/ms/client/character/monsterbattle/MonsterBattleRankInfo.java create mode 100755 src/main/java/net/swordie/ms/client/character/potential/CharacterPotential.java create mode 100755 src/main/java/net/swordie/ms/client/character/potential/CharacterPotentialMan.java create mode 100755 src/main/java/net/swordie/ms/client/character/quest/Quest.java create mode 100755 src/main/java/net/swordie/ms/client/character/quest/QuestEx.java create mode 100755 src/main/java/net/swordie/ms/client/character/quest/QuestManager.java create mode 100755 src/main/java/net/swordie/ms/client/character/quest/progress/QuestProgressItemRequirement.java create mode 100755 src/main/java/net/swordie/ms/client/character/quest/progress/QuestProgressLevelRequirement.java create mode 100755 src/main/java/net/swordie/ms/client/character/quest/progress/QuestProgressMobRequirement.java create mode 100755 src/main/java/net/swordie/ms/client/character/quest/progress/QuestProgressMoneyRequirement.java create mode 100755 src/main/java/net/swordie/ms/client/character/quest/progress/QuestProgressRequirement.java create mode 100755 src/main/java/net/swordie/ms/client/character/quest/progress/QuestProgressRequirementType.java create mode 100755 src/main/java/net/swordie/ms/client/character/quest/progress/QuestValueRequirement.java create mode 100755 src/main/java/net/swordie/ms/client/character/quest/requirement/QuestStartCompletionRequirement.java create mode 100755 src/main/java/net/swordie/ms/client/character/quest/requirement/QuestStartItemRequirement.java create mode 100755 src/main/java/net/swordie/ms/client/character/quest/requirement/QuestStartJobRequirement.java create mode 100755 src/main/java/net/swordie/ms/client/character/quest/requirement/QuestStartMarriageRequirement.java create mode 100755 src/main/java/net/swordie/ms/client/character/quest/requirement/QuestStartMaxLevelRequirement.java create mode 100755 src/main/java/net/swordie/ms/client/character/quest/requirement/QuestStartMinStatRequirement.java create mode 100755 src/main/java/net/swordie/ms/client/character/quest/requirement/QuestStartRequirement.java create mode 100755 src/main/java/net/swordie/ms/client/character/quest/requirement/QuestStartRequirementType.java create mode 100755 src/main/java/net/swordie/ms/client/character/quest/reward/QuestBuffItemReward.java create mode 100755 src/main/java/net/swordie/ms/client/character/quest/reward/QuestExpReward.java create mode 100755 src/main/java/net/swordie/ms/client/character/quest/reward/QuestItemReward.java create mode 100755 src/main/java/net/swordie/ms/client/character/quest/reward/QuestMoneyReward.java create mode 100755 src/main/java/net/swordie/ms/client/character/quest/reward/QuestPopReward.java create mode 100755 src/main/java/net/swordie/ms/client/character/quest/reward/QuestReward.java create mode 100755 src/main/java/net/swordie/ms/client/character/quest/reward/QuestRewardType.java create mode 100755 src/main/java/net/swordie/ms/client/character/runestones/RuneStone.java create mode 100755 src/main/java/net/swordie/ms/client/character/runestones/RuneStoneAckType.java create mode 100755 src/main/java/net/swordie/ms/client/character/scene/EffectInfo.java create mode 100755 src/main/java/net/swordie/ms/client/character/scene/Scene.java create mode 100755 src/main/java/net/swordie/ms/client/character/skills/ChosenSkill.java create mode 100755 src/main/java/net/swordie/ms/client/character/skills/Core.java create mode 100755 src/main/java/net/swordie/ms/client/character/skills/ForceAtom.java create mode 100755 src/main/java/net/swordie/ms/client/character/skills/GuidedBullet.java create mode 100755 src/main/java/net/swordie/ms/client/character/skills/LarknessManager.java create mode 100755 src/main/java/net/swordie/ms/client/character/skills/MatrixRecord.java create mode 100755 src/main/java/net/swordie/ms/client/character/skills/Option.java create mode 100755 src/main/java/net/swordie/ms/client/character/skills/PartyBooster.java create mode 100755 src/main/java/net/swordie/ms/client/character/skills/ProcessType.java create mode 100755 src/main/java/net/swordie/ms/client/character/skills/PsychicArea.java create mode 100755 src/main/java/net/swordie/ms/client/character/skills/PsychicLockBall.java create mode 100755 src/main/java/net/swordie/ms/client/character/skills/ShootObject.java create mode 100755 src/main/java/net/swordie/ms/client/character/skills/Skill.java create mode 100755 src/main/java/net/swordie/ms/client/character/skills/SkillStat.java create mode 100755 src/main/java/net/swordie/ms/client/character/skills/StolenSkill.java create mode 100755 src/main/java/net/swordie/ms/client/character/skills/StopForceAtom.java create mode 100755 src/main/java/net/swordie/ms/client/character/skills/TownPortal.java create mode 100755 src/main/java/net/swordie/ms/client/character/skills/info/AttackInfo.java create mode 100755 src/main/java/net/swordie/ms/client/character/skills/info/ForceAtomInfo.java create mode 100755 src/main/java/net/swordie/ms/client/character/skills/info/MobAttackInfo.java create mode 100755 src/main/java/net/swordie/ms/client/character/skills/info/SkillInfo.java create mode 100755 src/main/java/net/swordie/ms/client/character/skills/info/SkillUseInfo.java create mode 100755 src/main/java/net/swordie/ms/client/character/skills/info/ToBaseStat.java create mode 100755 src/main/java/net/swordie/ms/client/character/skills/temp/CharacterTemporaryStat.java create mode 100755 src/main/java/net/swordie/ms/client/character/skills/temp/TemporaryStatBase.java create mode 100755 src/main/java/net/swordie/ms/client/character/skills/temp/TemporaryStatManager.java create mode 100755 src/main/java/net/swordie/ms/client/character/skills/temp/TwoStateTemporaryStat.java create mode 100755 src/main/java/net/swordie/ms/client/character/union/Union.java create mode 100755 src/main/java/net/swordie/ms/client/character/union/UnionBoard.java create mode 100755 src/main/java/net/swordie/ms/client/character/union/UnionMember.java create mode 100755 src/main/java/net/swordie/ms/client/friend/Friend.java create mode 100755 src/main/java/net/swordie/ms/client/friend/FriendFlag.java create mode 100755 src/main/java/net/swordie/ms/client/friend/FriendRecord.java create mode 100755 src/main/java/net/swordie/ms/client/friend/FriendType.java create mode 100755 src/main/java/net/swordie/ms/client/friend/FriendshipRingRecord.java create mode 100755 src/main/java/net/swordie/ms/client/friend/result/FriendResult.java create mode 100755 src/main/java/net/swordie/ms/client/guild/Guild.java create mode 100755 src/main/java/net/swordie/ms/client/guild/GuildMember.java create mode 100755 src/main/java/net/swordie/ms/client/guild/GuildRequestor.java create mode 100755 src/main/java/net/swordie/ms/client/guild/GuildSkill.java create mode 100755 src/main/java/net/swordie/ms/client/guild/bbs/BBSRecord.java create mode 100755 src/main/java/net/swordie/ms/client/guild/bbs/BBSReply.java create mode 100755 src/main/java/net/swordie/ms/client/guild/bbs/GuildBBSPacket.java create mode 100755 src/main/java/net/swordie/ms/client/guild/bbs/GuildBBSType.java create mode 100755 src/main/java/net/swordie/ms/client/guild/result/GuildResult.java create mode 100755 src/main/java/net/swordie/ms/client/guild/result/GuildType.java create mode 100755 src/main/java/net/swordie/ms/client/jobs/Job.java create mode 100755 src/main/java/net/swordie/ms/client/jobs/JobManager.java create mode 100755 src/main/java/net/swordie/ms/client/jobs/Zero.java create mode 100755 src/main/java/net/swordie/ms/client/jobs/adventurer/BeastTamer.java create mode 100755 src/main/java/net/swordie/ms/client/jobs/adventurer/Beginner.java create mode 100755 src/main/java/net/swordie/ms/client/jobs/adventurer/Kinesis.java create mode 100755 src/main/java/net/swordie/ms/client/jobs/adventurer/PinkBean.java create mode 100755 src/main/java/net/swordie/ms/client/jobs/adventurer/archer/Archer.java create mode 100755 src/main/java/net/swordie/ms/client/jobs/adventurer/archer/BowMaster.java create mode 100755 src/main/java/net/swordie/ms/client/jobs/adventurer/archer/Marksman.java create mode 100755 src/main/java/net/swordie/ms/client/jobs/adventurer/archer/Pathfinder.java create mode 100755 src/main/java/net/swordie/ms/client/jobs/adventurer/magician/Bishop.java create mode 100755 src/main/java/net/swordie/ms/client/jobs/adventurer/magician/FirePoison.java create mode 100755 src/main/java/net/swordie/ms/client/jobs/adventurer/magician/IceLightning.java create mode 100755 src/main/java/net/swordie/ms/client/jobs/adventurer/magician/Magician.java create mode 100755 src/main/java/net/swordie/ms/client/jobs/adventurer/pirate/Buccaneer.java create mode 100755 src/main/java/net/swordie/ms/client/jobs/adventurer/pirate/Cannonneer.java create mode 100755 src/main/java/net/swordie/ms/client/jobs/adventurer/pirate/Corsair.java create mode 100755 src/main/java/net/swordie/ms/client/jobs/adventurer/pirate/Jett.java create mode 100755 src/main/java/net/swordie/ms/client/jobs/adventurer/pirate/Pirate.java create mode 100755 src/main/java/net/swordie/ms/client/jobs/adventurer/thief/BladeMaster.java create mode 100755 src/main/java/net/swordie/ms/client/jobs/adventurer/thief/NightLord.java create mode 100755 src/main/java/net/swordie/ms/client/jobs/adventurer/thief/Shadower.java create mode 100755 src/main/java/net/swordie/ms/client/jobs/adventurer/thief/Thief.java create mode 100755 src/main/java/net/swordie/ms/client/jobs/adventurer/warrior/DarkKnight.java create mode 100755 src/main/java/net/swordie/ms/client/jobs/adventurer/warrior/Hero.java create mode 100755 src/main/java/net/swordie/ms/client/jobs/adventurer/warrior/Paladin.java create mode 100755 src/main/java/net/swordie/ms/client/jobs/adventurer/warrior/Warrior.java create mode 100755 src/main/java/net/swordie/ms/client/jobs/cygnus/BlazeWizard.java create mode 100755 src/main/java/net/swordie/ms/client/jobs/cygnus/DawnWarrior.java create mode 100755 src/main/java/net/swordie/ms/client/jobs/cygnus/Mihile.java create mode 100755 src/main/java/net/swordie/ms/client/jobs/cygnus/NightWalker.java create mode 100755 src/main/java/net/swordie/ms/client/jobs/cygnus/Noblesse.java create mode 100755 src/main/java/net/swordie/ms/client/jobs/cygnus/ThunderBreaker.java create mode 100755 src/main/java/net/swordie/ms/client/jobs/cygnus/WindArcher.java create mode 100755 src/main/java/net/swordie/ms/client/jobs/flora/Ark.java create mode 100755 src/main/java/net/swordie/ms/client/jobs/flora/Illium.java create mode 100755 src/main/java/net/swordie/ms/client/jobs/legend/Aran.java create mode 100755 src/main/java/net/swordie/ms/client/jobs/legend/Evan.java create mode 100755 src/main/java/net/swordie/ms/client/jobs/legend/Legend.java create mode 100755 src/main/java/net/swordie/ms/client/jobs/legend/Luminous.java create mode 100755 src/main/java/net/swordie/ms/client/jobs/legend/Mercedes.java create mode 100755 src/main/java/net/swordie/ms/client/jobs/legend/Phantom.java create mode 100755 src/main/java/net/swordie/ms/client/jobs/legend/Shade.java create mode 100755 src/main/java/net/swordie/ms/client/jobs/nova/AngelicBuster.java create mode 100755 src/main/java/net/swordie/ms/client/jobs/nova/Cadena.java create mode 100755 src/main/java/net/swordie/ms/client/jobs/nova/Kaiser.java create mode 100755 src/main/java/net/swordie/ms/client/jobs/resistance/BattleMage.java create mode 100755 src/main/java/net/swordie/ms/client/jobs/resistance/Blaster.java create mode 100755 src/main/java/net/swordie/ms/client/jobs/resistance/Citizen.java create mode 100755 src/main/java/net/swordie/ms/client/jobs/resistance/Mechanic.java create mode 100755 src/main/java/net/swordie/ms/client/jobs/resistance/OpenGate.java create mode 100755 src/main/java/net/swordie/ms/client/jobs/resistance/WildHunter.java create mode 100755 src/main/java/net/swordie/ms/client/jobs/resistance/WildHunterInfo.java create mode 100755 src/main/java/net/swordie/ms/client/jobs/resistance/Xenon.java create mode 100755 src/main/java/net/swordie/ms/client/jobs/resistance/demon/Demon.java create mode 100755 src/main/java/net/swordie/ms/client/jobs/resistance/demon/DemonAvenger.java create mode 100755 src/main/java/net/swordie/ms/client/jobs/resistance/demon/DemonSlayer.java create mode 100755 src/main/java/net/swordie/ms/client/jobs/sengoku/Hayato.java create mode 100755 src/main/java/net/swordie/ms/client/jobs/sengoku/Kanna.java create mode 100755 src/main/java/net/swordie/ms/client/party/Party.java create mode 100755 src/main/java/net/swordie/ms/client/party/PartyDamageInfo.java create mode 100755 src/main/java/net/swordie/ms/client/party/PartyMember.java create mode 100755 src/main/java/net/swordie/ms/client/party/PartyResult.java create mode 100755 src/main/java/net/swordie/ms/client/party/PartyType.java create mode 100755 src/main/java/net/swordie/ms/client/party/TownPortal.java create mode 100755 src/main/java/net/swordie/ms/client/trunk/Trunk.java create mode 100755 src/main/java/net/swordie/ms/client/trunk/TrunkDlg.java create mode 100755 src/main/java/net/swordie/ms/client/trunk/TrunkMsg.java create mode 100755 src/main/java/net/swordie/ms/client/trunk/TrunkOpen.java create mode 100755 src/main/java/net/swordie/ms/client/trunk/TrunkType.java create mode 100755 src/main/java/net/swordie/ms/client/trunk/TrunkUpdate.java create mode 100755 src/main/java/net/swordie/ms/connection/ByteBufOutPacket.java create mode 100755 src/main/java/net/swordie/ms/connection/Encodable.java create mode 100755 src/main/java/net/swordie/ms/connection/InPacket.java create mode 100755 src/main/java/net/swordie/ms/connection/OutPacket.java create mode 100755 src/main/java/net/swordie/ms/connection/Packet.java create mode 100755 src/main/java/net/swordie/ms/connection/api/ApiAcceptor.java create mode 100755 src/main/java/net/swordie/ms/connection/api/ApiDecoder.java create mode 100755 src/main/java/net/swordie/ms/connection/api/ApiEncoder.java create mode 100755 src/main/java/net/swordie/ms/connection/api/ApiHandler.java create mode 100755 src/main/java/net/swordie/ms/connection/api/ApiInHeader.java create mode 100755 src/main/java/net/swordie/ms/connection/api/ApiOutHeader.java create mode 100755 src/main/java/net/swordie/ms/connection/crypto/AES.java create mode 100755 src/main/java/net/swordie/ms/connection/crypto/BitTools.java create mode 100755 src/main/java/net/swordie/ms/connection/crypto/MapleCrypto.java create mode 100755 src/main/java/net/swordie/ms/connection/crypto/TripleDESCipher.java create mode 100755 src/main/java/net/swordie/ms/connection/db/DatabaseException.java create mode 100755 src/main/java/net/swordie/ms/connection/db/DatabaseManager.java create mode 100755 src/main/java/net/swordie/ms/connection/db/converters/FileTimeConverter.java create mode 100755 src/main/java/net/swordie/ms/connection/db/converters/InlinedIntArrayConverter.java create mode 100755 src/main/java/net/swordie/ms/connection/db/converters/InlinedIntMapConverter.java create mode 100755 src/main/java/net/swordie/ms/connection/netty/ChannelAcceptor.java create mode 100755 src/main/java/net/swordie/ms/connection/netty/ChannelHandler.java create mode 100755 src/main/java/net/swordie/ms/connection/netty/ChatAcceptor.java create mode 100755 src/main/java/net/swordie/ms/connection/netty/LoginAcceptor.java create mode 100755 src/main/java/net/swordie/ms/connection/netty/NettyClient.java create mode 100755 src/main/java/net/swordie/ms/connection/netty/PacketDecoder.java create mode 100755 src/main/java/net/swordie/ms/connection/netty/PacketEncoder.java create mode 100755 src/main/java/net/swordie/ms/connection/netty/PacketHandler.java create mode 100755 src/main/java/net/swordie/ms/connection/packet/AndroidPacket.java create mode 100755 src/main/java/net/swordie/ms/connection/packet/ApiResponse.java create mode 100755 src/main/java/net/swordie/ms/connection/packet/BattleRecordMan.java create mode 100755 src/main/java/net/swordie/ms/connection/packet/CCashShop.java create mode 100755 src/main/java/net/swordie/ms/connection/packet/CFamiliar.java create mode 100755 src/main/java/net/swordie/ms/connection/packet/CUIHandler.java create mode 100755 src/main/java/net/swordie/ms/connection/packet/ChatSocket.java create mode 100755 src/main/java/net/swordie/ms/connection/packet/DemianFieldPacket.java create mode 100755 src/main/java/net/swordie/ms/connection/packet/DragonPool.java create mode 100755 src/main/java/net/swordie/ms/connection/packet/DropPool.java create mode 100755 src/main/java/net/swordie/ms/connection/packet/Effect.java create mode 100755 src/main/java/net/swordie/ms/connection/packet/FieldAttackObjPool.java create mode 100755 src/main/java/net/swordie/ms/connection/packet/FieldPacket.java create mode 100755 src/main/java/net/swordie/ms/connection/packet/GachaponDlg.java create mode 100755 src/main/java/net/swordie/ms/connection/packet/InGameDirectionEvent.java create mode 100755 src/main/java/net/swordie/ms/connection/packet/ItemOperation.java create mode 100755 src/main/java/net/swordie/ms/connection/packet/Login.java create mode 100755 src/main/java/net/swordie/ms/connection/packet/MapLoadable.java create mode 100755 src/main/java/net/swordie/ms/connection/packet/MiniroomPacket.java create mode 100755 src/main/java/net/swordie/ms/connection/packet/MobPool.java create mode 100755 src/main/java/net/swordie/ms/connection/packet/MobSkillAttackInfo.java create mode 100755 src/main/java/net/swordie/ms/connection/packet/NpcPool.java create mode 100755 src/main/java/net/swordie/ms/connection/packet/QuickMoveInfo.java create mode 100755 src/main/java/net/swordie/ms/connection/packet/RandomPortal.java create mode 100755 src/main/java/net/swordie/ms/connection/packet/RandomPortalPool.java create mode 100755 src/main/java/net/swordie/ms/connection/packet/ReactorPool.java create mode 100755 src/main/java/net/swordie/ms/connection/packet/ScriptMan.java create mode 100755 src/main/java/net/swordie/ms/connection/packet/ShopDlg.java create mode 100755 src/main/java/net/swordie/ms/connection/packet/Stage.java create mode 100755 src/main/java/net/swordie/ms/connection/packet/Summoned.java create mode 100755 src/main/java/net/swordie/ms/connection/packet/UserLocal.java create mode 100755 src/main/java/net/swordie/ms/connection/packet/UserPacket.java create mode 100755 src/main/java/net/swordie/ms/connection/packet/UserPool.java create mode 100755 src/main/java/net/swordie/ms/connection/packet/UserRemote.java create mode 100755 src/main/java/net/swordie/ms/connection/packet/WvsContext.java create mode 100755 src/main/java/net/swordie/ms/constants/BossConstants.java create mode 100755 src/main/java/net/swordie/ms/constants/CustomConstants.java create mode 100755 src/main/java/net/swordie/ms/constants/FieldConstants.java create mode 100755 src/main/java/net/swordie/ms/constants/GameConstants.java create mode 100755 src/main/java/net/swordie/ms/constants/ItemConstants.java create mode 100755 src/main/java/net/swordie/ms/constants/JobConstants.java create mode 100755 src/main/java/net/swordie/ms/constants/MobConstants.java create mode 100755 src/main/java/net/swordie/ms/constants/MonsterCollectionGroup.java create mode 100755 src/main/java/net/swordie/ms/constants/MonsterCollectionRegion.java create mode 100755 src/main/java/net/swordie/ms/constants/MonsterCollectionSession.java create mode 100755 src/main/java/net/swordie/ms/constants/QuestConstants.java create mode 100755 src/main/java/net/swordie/ms/constants/SkillChanges.java create mode 100755 src/main/java/net/swordie/ms/constants/SkillConstants.java create mode 100755 src/main/java/net/swordie/ms/constants/WzConstants.java create mode 100755 src/main/java/net/swordie/ms/discord/DiscordWebhook.java create mode 100755 src/main/java/net/swordie/ms/enums/AccountCreateResult.java create mode 100755 src/main/java/net/swordie/ms/enums/AccountType.java create mode 100755 src/main/java/net/swordie/ms/enums/AchievementType.java create mode 100755 src/main/java/net/swordie/ms/enums/AllianceType.java create mode 100755 src/main/java/net/swordie/ms/enums/ApiTokenResultType.java create mode 100755 src/main/java/net/swordie/ms/enums/AssistType.java create mode 100755 src/main/java/net/swordie/ms/enums/AttackIndex.java create mode 100755 src/main/java/net/swordie/ms/enums/AuctionResultCode.java create mode 100755 src/main/java/net/swordie/ms/enums/AuctionState.java create mode 100755 src/main/java/net/swordie/ms/enums/AvatarModifiedMask.java create mode 100755 src/main/java/net/swordie/ms/enums/BaseStat.java create mode 100755 src/main/java/net/swordie/ms/enums/BeastTamerBeasts.java create mode 100755 src/main/java/net/swordie/ms/enums/BossMatchingType.java create mode 100755 src/main/java/net/swordie/ms/enums/BroadcastMsgType.java create mode 100755 src/main/java/net/swordie/ms/enums/CashItemType.java create mode 100755 src/main/java/net/swordie/ms/enums/CashShopActionType.java create mode 100755 src/main/java/net/swordie/ms/enums/CashShopInfoType.java create mode 100755 src/main/java/net/swordie/ms/enums/CharNameResult.java create mode 100755 src/main/java/net/swordie/ms/enums/CharPotGrade.java create mode 100755 src/main/java/net/swordie/ms/enums/CharSelectType.java create mode 100755 src/main/java/net/swordie/ms/enums/ChatType.java create mode 100755 src/main/java/net/swordie/ms/enums/ChatUserType.java create mode 100755 src/main/java/net/swordie/ms/enums/ClockType.java create mode 100755 src/main/java/net/swordie/ms/enums/ClothingStats.java create mode 100755 src/main/java/net/swordie/ms/enums/CustomFUEFieldScripts.java create mode 100755 src/main/java/net/swordie/ms/enums/CustomFieldScripts.java create mode 100755 src/main/java/net/swordie/ms/enums/DBChar.java create mode 100755 src/main/java/net/swordie/ms/enums/DimensionalMirrorType.java create mode 100755 src/main/java/net/swordie/ms/enums/DimensionalPortalTownType.java create mode 100755 src/main/java/net/swordie/ms/enums/DimensionalPortalType.java create mode 100755 src/main/java/net/swordie/ms/enums/DropEnterType.java create mode 100755 src/main/java/net/swordie/ms/enums/DropLeaveType.java create mode 100755 src/main/java/net/swordie/ms/enums/DropMotionType.java create mode 100755 src/main/java/net/swordie/ms/enums/DropType.java create mode 100755 src/main/java/net/swordie/ms/enums/EliteState.java create mode 100755 src/main/java/net/swordie/ms/enums/EnchantStat.java create mode 100755 src/main/java/net/swordie/ms/enums/EnterType.java create mode 100755 src/main/java/net/swordie/ms/enums/EquipBaseStat.java create mode 100755 src/main/java/net/swordie/ms/enums/EquipmentEnchantType.java create mode 100755 src/main/java/net/swordie/ms/enums/EventType.java create mode 100755 src/main/java/net/swordie/ms/enums/ExpIncreaseInfoFlags.java create mode 100755 src/main/java/net/swordie/ms/enums/FieldOption.java create mode 100755 src/main/java/net/swordie/ms/enums/FieldType.java create mode 100755 src/main/java/net/swordie/ms/enums/FlameStat.java create mode 100755 src/main/java/net/swordie/ms/enums/ForceAtomEnum.java create mode 100755 src/main/java/net/swordie/ms/enums/ForcedInputType.java create mode 100755 src/main/java/net/swordie/ms/enums/GoldHammerResult.java create mode 100755 src/main/java/net/swordie/ms/enums/GroupMessageType.java create mode 100755 src/main/java/net/swordie/ms/enums/HotTimeRewardResult.java create mode 100755 src/main/java/net/swordie/ms/enums/HotTimeRewardSendType.java create mode 100755 src/main/java/net/swordie/ms/enums/HotTimeRewardType.java create mode 100755 src/main/java/net/swordie/ms/enums/InGameDirectionAsk.java create mode 100755 src/main/java/net/swordie/ms/enums/InGameDirectionEventType.java create mode 100755 src/main/java/net/swordie/ms/enums/InstanceTableType.java create mode 100755 src/main/java/net/swordie/ms/enums/InvType.java create mode 100755 src/main/java/net/swordie/ms/enums/InventoryOperation.java create mode 100755 src/main/java/net/swordie/ms/enums/ItemGrade.java create mode 100755 src/main/java/net/swordie/ms/enums/ItemJob.java create mode 100755 src/main/java/net/swordie/ms/enums/ItemOptionType.java create mode 100755 src/main/java/net/swordie/ms/enums/LeaveType.java create mode 100755 src/main/java/net/swordie/ms/enums/LegionType.java create mode 100755 src/main/java/net/swordie/ms/enums/LinkSkillResult.java create mode 100755 src/main/java/net/swordie/ms/enums/LinkedSkillResultType.java create mode 100755 src/main/java/net/swordie/ms/enums/LoginState.java create mode 100755 src/main/java/net/swordie/ms/enums/LoginType.java create mode 100755 src/main/java/net/swordie/ms/enums/MakingSkillResult.java create mode 100755 src/main/java/net/swordie/ms/enums/MapTransferType.java create mode 100755 src/main/java/net/swordie/ms/enums/MatrixUpdateRequest.java create mode 100755 src/main/java/net/swordie/ms/enums/MedalReissueResultType.java create mode 100755 src/main/java/net/swordie/ms/enums/MessageType.java create mode 100755 src/main/java/net/swordie/ms/enums/MiniRoomType.java create mode 100755 src/main/java/net/swordie/ms/enums/MobCastingBarSkillType.java create mode 100755 src/main/java/net/swordie/ms/enums/MonsterCollectionResultType.java create mode 100755 src/main/java/net/swordie/ms/enums/MoveAbility.java create mode 100755 src/main/java/net/swordie/ms/enums/ObtacleAtomCreateType.java create mode 100755 src/main/java/net/swordie/ms/enums/ObtacleAtomEnum.java create mode 100755 src/main/java/net/swordie/ms/enums/PetRemoveReason.java create mode 100755 src/main/java/net/swordie/ms/enums/PicStatus.java create mode 100755 src/main/java/net/swordie/ms/enums/PopularityResultType.java create mode 100755 src/main/java/net/swordie/ms/enums/PotentialResetType.java create mode 100755 src/main/java/net/swordie/ms/enums/ProgressMessageColourType.java create mode 100755 src/main/java/net/swordie/ms/enums/ProgressMessageFontType.java create mode 100755 src/main/java/net/swordie/ms/enums/QuestStatus.java create mode 100755 src/main/java/net/swordie/ms/enums/QuestType.java create mode 100755 src/main/java/net/swordie/ms/enums/QuickMoveType.java create mode 100755 src/main/java/net/swordie/ms/enums/RandomMissionType.java create mode 100755 src/main/java/net/swordie/ms/enums/ReviveType.java create mode 100755 src/main/java/net/swordie/ms/enums/RoomLeaveType.java create mode 100755 src/main/java/net/swordie/ms/enums/RuneType.java create mode 100755 src/main/java/net/swordie/ms/enums/SceneType.java create mode 100755 src/main/java/net/swordie/ms/enums/ScrollStat.java create mode 100755 src/main/java/net/swordie/ms/enums/SendTypeFromClient.java create mode 100755 src/main/java/net/swordie/ms/enums/SkillType.java create mode 100755 src/main/java/net/swordie/ms/enums/SoulType.java create mode 100755 src/main/java/net/swordie/ms/enums/SpecStat.java create mode 100755 src/main/java/net/swordie/ms/enums/SpellTraceScrollType.java create mode 100755 src/main/java/net/swordie/ms/enums/Stat.java create mode 100755 src/main/java/net/swordie/ms/enums/StealMemoryType.java create mode 100755 src/main/java/net/swordie/ms/enums/StylishKillType.java create mode 100755 src/main/java/net/swordie/ms/enums/TSIndex.java create mode 100755 src/main/java/net/swordie/ms/enums/TabIndex.java create mode 100755 src/main/java/net/swordie/ms/enums/TextEffectType.java create mode 100755 src/main/java/net/swordie/ms/enums/UIType.java create mode 100755 src/main/java/net/swordie/ms/enums/UiScript.java create mode 100755 src/main/java/net/swordie/ms/enums/UserEffectType.java create mode 100755 src/main/java/net/swordie/ms/enums/WeaponType.java create mode 100755 src/main/java/net/swordie/ms/enums/WeatherEffNoticeType.java create mode 100755 src/main/java/net/swordie/ms/enums/WorldId.java create mode 100755 src/main/java/net/swordie/ms/handlers/ApiRequestHandler.java create mode 100755 src/main/java/net/swordie/ms/handlers/CashShopHandler.java create mode 100755 src/main/java/net/swordie/ms/handlers/CatchingScheduledThreadPoolExecutor.java create mode 100755 src/main/java/net/swordie/ms/handlers/ClientSocket.java create mode 100755 src/main/java/net/swordie/ms/handlers/EventManager.java create mode 100755 src/main/java/net/swordie/ms/handlers/FieldHandler.java create mode 100755 src/main/java/net/swordie/ms/handlers/Handler.java create mode 100755 src/main/java/net/swordie/ms/handlers/LoginHandler.java create mode 100755 src/main/java/net/swordie/ms/handlers/PsychicLock.java create mode 100755 src/main/java/net/swordie/ms/handlers/header/InHeader.java create mode 100755 src/main/java/net/swordie/ms/handlers/header/OutHeader.java create mode 100755 src/main/java/net/swordie/ms/handlers/item/InventoryHandler.java create mode 100755 src/main/java/net/swordie/ms/handlers/item/ItemHandler.java create mode 100755 src/main/java/net/swordie/ms/handlers/item/ItemUpgradeHandler.java create mode 100755 src/main/java/net/swordie/ms/handlers/life/AffectedAreaHandler.java create mode 100755 src/main/java/net/swordie/ms/handlers/life/AndroidHandler.java create mode 100755 src/main/java/net/swordie/ms/handlers/life/DragonHandler.java create mode 100755 src/main/java/net/swordie/ms/handlers/life/DropHandler.java create mode 100755 src/main/java/net/swordie/ms/handlers/life/FamiliarHandler.java create mode 100755 src/main/java/net/swordie/ms/handlers/life/MobHandler.java create mode 100755 src/main/java/net/swordie/ms/handlers/life/NpcHandler.java create mode 100755 src/main/java/net/swordie/ms/handlers/life/PetHandler.java create mode 100755 src/main/java/net/swordie/ms/handlers/life/ReactorHandler.java create mode 100755 src/main/java/net/swordie/ms/handlers/life/SummonedHandler.java create mode 100755 src/main/java/net/swordie/ms/handlers/script/QuestHandler.java create mode 100755 src/main/java/net/swordie/ms/handlers/script/ScriptHandler.java create mode 100755 src/main/java/net/swordie/ms/handlers/social/AuctionHandler.java create mode 100755 src/main/java/net/swordie/ms/handlers/social/BossMatchingHandler.java create mode 100755 src/main/java/net/swordie/ms/handlers/social/ChatHandler.java create mode 100755 src/main/java/net/swordie/ms/handlers/social/FriendHandler.java create mode 100755 src/main/java/net/swordie/ms/handlers/social/GuildHandler.java create mode 100755 src/main/java/net/swordie/ms/handlers/social/PartyHandler.java create mode 100755 src/main/java/net/swordie/ms/handlers/social/RoomHandler.java create mode 100755 src/main/java/net/swordie/ms/handlers/user/AttackHandler.java create mode 100755 src/main/java/net/swordie/ms/handlers/user/JobSkillHandler.java create mode 100755 src/main/java/net/swordie/ms/handlers/user/MacroHandler.java create mode 100755 src/main/java/net/swordie/ms/handlers/user/MigrationHandler.java create mode 100755 src/main/java/net/swordie/ms/handlers/user/SkillHandler.java create mode 100755 src/main/java/net/swordie/ms/handlers/user/UnionHandler.java create mode 100755 src/main/java/net/swordie/ms/handlers/user/UserHandler.java create mode 100755 src/main/java/net/swordie/ms/handlers/user/UserStatHandler.java create mode 100755 src/main/java/net/swordie/ms/handlers/user/ZeroUIHandler.java create mode 100755 src/main/java/net/swordie/ms/life/AffectedArea.java create mode 100755 src/main/java/net/swordie/ms/life/Android.java create mode 100755 src/main/java/net/swordie/ms/life/DeathType.java create mode 100755 src/main/java/net/swordie/ms/life/Dragon.java create mode 100755 src/main/java/net/swordie/ms/life/Familiar.java create mode 100755 src/main/java/net/swordie/ms/life/FieldAttackObj.java create mode 100755 src/main/java/net/swordie/ms/life/Life.java create mode 100755 src/main/java/net/swordie/ms/life/Reactor.java create mode 100755 src/main/java/net/swordie/ms/life/Summon.java create mode 100755 src/main/java/net/swordie/ms/life/Wreckage.java create mode 100755 src/main/java/net/swordie/ms/life/drop/Drop.java create mode 100755 src/main/java/net/swordie/ms/life/drop/DropInfo.java create mode 100755 src/main/java/net/swordie/ms/life/mob/EscortDest.java create mode 100755 src/main/java/net/swordie/ms/life/mob/ForcedMobStat.java create mode 100755 src/main/java/net/swordie/ms/life/mob/Mob.java create mode 100755 src/main/java/net/swordie/ms/life/mob/MobStat.java create mode 100755 src/main/java/net/swordie/ms/life/mob/MobTemporaryStat.java create mode 100755 src/main/java/net/swordie/ms/life/mob/boss/demian/Demian.java create mode 100755 src/main/java/net/swordie/ms/life/mob/boss/demian/stigma/DemianStigma.java create mode 100755 src/main/java/net/swordie/ms/life/mob/boss/demian/stigma/DemianStigmaIncinerateObject.java create mode 100755 src/main/java/net/swordie/ms/life/mob/boss/demian/stigma/StigmaDeliveryType.java create mode 100755 src/main/java/net/swordie/ms/life/mob/boss/demian/sword/DemianFlyingSword.java create mode 100755 src/main/java/net/swordie/ms/life/mob/boss/demian/sword/DemianFlyingSwordNode.java create mode 100755 src/main/java/net/swordie/ms/life/mob/boss/demian/sword/DemianFlyingSwordNodeType.java create mode 100755 src/main/java/net/swordie/ms/life/mob/boss/demian/sword/DemianFlyingSwordPath.java create mode 100755 src/main/java/net/swordie/ms/life/mob/boss/demian/sword/DemianFlyingSwordPathIdx.java create mode 100755 src/main/java/net/swordie/ms/life/mob/boss/demian/sword/DemianFlyingSwordType.java create mode 100755 src/main/java/net/swordie/ms/life/mob/skill/BurnedInfo.java create mode 100755 src/main/java/net/swordie/ms/life/mob/skill/MobSkill.java create mode 100755 src/main/java/net/swordie/ms/life/mob/skill/MobSkillID.java create mode 100755 src/main/java/net/swordie/ms/life/mob/skill/MobSkillStat.java create mode 100755 src/main/java/net/swordie/ms/life/mob/skill/ShootingMoveStat.java create mode 100755 src/main/java/net/swordie/ms/life/movement/MovePathAttribute.java create mode 100755 src/main/java/net/swordie/ms/life/movement/Movement.java create mode 100755 src/main/java/net/swordie/ms/life/movement/MovementAction.java create mode 100755 src/main/java/net/swordie/ms/life/movement/MovementAngle.java create mode 100755 src/main/java/net/swordie/ms/life/movement/MovementBase.java create mode 100755 src/main/java/net/swordie/ms/life/movement/MovementFlyingBlock.java create mode 100755 src/main/java/net/swordie/ms/life/movement/MovementInfo.java create mode 100755 src/main/java/net/swordie/ms/life/movement/MovementJump.java create mode 100755 src/main/java/net/swordie/ms/life/movement/MovementNew1.java create mode 100755 src/main/java/net/swordie/ms/life/movement/MovementNormal.java create mode 100755 src/main/java/net/swordie/ms/life/movement/MovementOffsetX.java create mode 100755 src/main/java/net/swordie/ms/life/movement/MovementStartFallDown.java create mode 100755 src/main/java/net/swordie/ms/life/movement/MovementStatChange.java create mode 100755 src/main/java/net/swordie/ms/life/movement/MovementTeleport.java create mode 100755 src/main/java/net/swordie/ms/life/npc/Npc.java create mode 100755 src/main/java/net/swordie/ms/life/npc/NpcMessageType.java create mode 100755 src/main/java/net/swordie/ms/life/npc/NpcScriptInfo.java create mode 100755 src/main/java/net/swordie/ms/life/npc/ScreenInfo.java create mode 100755 src/main/java/net/swordie/ms/life/pet/Pet.java create mode 100755 src/main/java/net/swordie/ms/life/pet/PetSkill.java create mode 100755 src/main/java/net/swordie/ms/loaders/DatSerializable.java create mode 100755 src/main/java/net/swordie/ms/loaders/DataClasses.java create mode 100755 src/main/java/net/swordie/ms/loaders/DressingRoom.java create mode 100755 src/main/java/net/swordie/ms/loaders/DropData.java create mode 100755 src/main/java/net/swordie/ms/loaders/EffectData.java create mode 100755 src/main/java/net/swordie/ms/loaders/EtcData.java create mode 100755 src/main/java/net/swordie/ms/loaders/FieldData.java create mode 100755 src/main/java/net/swordie/ms/loaders/ItemData.java create mode 100755 src/main/java/net/swordie/ms/loaders/MobData.java create mode 100755 src/main/java/net/swordie/ms/loaders/MonsterCollectionData.java create mode 100755 src/main/java/net/swordie/ms/loaders/NpcData.java create mode 100755 src/main/java/net/swordie/ms/loaders/QuestData.java create mode 100755 src/main/java/net/swordie/ms/loaders/ReactorData.java create mode 100755 src/main/java/net/swordie/ms/loaders/SkillData.java create mode 100755 src/main/java/net/swordie/ms/loaders/StringData.java create mode 100755 src/main/java/net/swordie/ms/loaders/StyleRoom.java create mode 100755 src/main/java/net/swordie/ms/loaders/VCoreData.java create mode 100755 src/main/java/net/swordie/ms/loaders/containerclasses/AndroidInfo.java create mode 100755 src/main/java/net/swordie/ms/loaders/containerclasses/Cosmetic.java create mode 100755 src/main/java/net/swordie/ms/loaders/containerclasses/EquipDrop.java create mode 100755 src/main/java/net/swordie/ms/loaders/containerclasses/ItemInfo.java create mode 100755 src/main/java/net/swordie/ms/loaders/containerclasses/ItemRewardInfo.java create mode 100755 src/main/java/net/swordie/ms/loaders/containerclasses/ItemSet.java create mode 100755 src/main/java/net/swordie/ms/loaders/containerclasses/MakingSkillRecipe.java create mode 100755 src/main/java/net/swordie/ms/loaders/containerclasses/MobSkillInfo.java create mode 100755 src/main/java/net/swordie/ms/loaders/containerclasses/MonsterCollectionGroupRewardInfo.java create mode 100755 src/main/java/net/swordie/ms/loaders/containerclasses/MonsterCollectionMobInfo.java create mode 100755 src/main/java/net/swordie/ms/loaders/containerclasses/MonsterCollectionSessionRewardInfo.java create mode 100755 src/main/java/net/swordie/ms/loaders/containerclasses/PetInfo.java create mode 100755 src/main/java/net/swordie/ms/loaders/containerclasses/QuestInfo.java create mode 100755 src/main/java/net/swordie/ms/loaders/containerclasses/ReactorInfo.java create mode 100755 src/main/java/net/swordie/ms/loaders/containerclasses/SkillStringInfo.java create mode 100755 src/main/java/net/swordie/ms/loaders/containerclasses/VCoreInfo.java create mode 100755 src/main/java/net/swordie/ms/loaders/containerclasses/VNodeInfo.java create mode 100755 src/main/java/net/swordie/ms/scripts/FieldTransferInfo.java create mode 100755 src/main/java/net/swordie/ms/scripts/ScriptInfo.java create mode 100755 src/main/java/net/swordie/ms/scripts/ScriptManager.java create mode 100755 src/main/java/net/swordie/ms/scripts/ScriptManagerImpl.java create mode 100755 src/main/java/net/swordie/ms/scripts/ScriptMemory.java create mode 100755 src/main/java/net/swordie/ms/scripts/ScriptType.java create mode 100755 src/main/java/net/swordie/ms/scripts/scriptMaker/ScriptMaker.java create mode 100755 src/main/java/net/swordie/ms/scripts/scriptMaker/ScriptPacketParser.java create mode 100755 src/main/java/net/swordie/ms/util/AntiMacro.java create mode 100755 src/main/java/net/swordie/ms/util/FileTime.java create mode 100755 src/main/java/net/swordie/ms/util/FileoutputUtil.java create mode 100755 src/main/java/net/swordie/ms/util/HeapDumper.java create mode 100755 src/main/java/net/swordie/ms/util/IntegerValue.java create mode 100755 src/main/java/net/swordie/ms/util/Loader.java create mode 100755 src/main/java/net/swordie/ms/util/MetaProgramming.java create mode 100755 src/main/java/net/swordie/ms/util/Position.java create mode 100755 src/main/java/net/swordie/ms/util/Randomizer.java create mode 100755 src/main/java/net/swordie/ms/util/Rect.java create mode 100755 src/main/java/net/swordie/ms/util/Saver.java create mode 100755 src/main/java/net/swordie/ms/util/SharkPropertyMaker.java create mode 100755 src/main/java/net/swordie/ms/util/StringUtil.java create mode 100755 src/main/java/net/swordie/ms/util/SystemTime.java create mode 100755 src/main/java/net/swordie/ms/util/Util.java create mode 100755 src/main/java/net/swordie/ms/util/XMLApi.java create mode 100755 src/main/java/net/swordie/ms/util/container/Triple.java create mode 100755 src/main/java/net/swordie/ms/util/container/Tuple.java create mode 100755 src/main/java/net/swordie/ms/util/dsl/SWEntity.java create mode 100755 src/main/java/net/swordie/ms/util/dsl/SWParser.java create mode 100755 src/main/java/net/swordie/ms/world/Channel.java create mode 100755 src/main/java/net/swordie/ms/world/World.java create mode 100755 src/main/java/net/swordie/ms/world/auction/AuctionEnum.java create mode 100755 src/main/java/net/swordie/ms/world/auction/AuctionInvType.java create mode 100755 src/main/java/net/swordie/ms/world/auction/AuctionItem.java create mode 100755 src/main/java/net/swordie/ms/world/auction/AuctionPotType.java create mode 100755 src/main/java/net/swordie/ms/world/auction/AuctionResult.java create mode 100755 src/main/java/net/swordie/ms/world/auction/AuctionType.java create mode 100755 src/main/java/net/swordie/ms/world/auction/armor/AuctionAccType.java create mode 100755 src/main/java/net/swordie/ms/world/auction/armor/AuctionArmorFirstType.java create mode 100755 src/main/java/net/swordie/ms/world/auction/armor/AuctionArmorType.java create mode 100755 src/main/java/net/swordie/ms/world/auction/armor/AuctionEtcArmorType.java create mode 100755 src/main/java/net/swordie/ms/world/auction/cash/AuctionBeautyType.java create mode 100755 src/main/java/net/swordie/ms/world/auction/cash/AuctionBoostType.java create mode 100755 src/main/java/net/swordie/ms/world/auction/cash/AuctionCashEtcType.java create mode 100755 src/main/java/net/swordie/ms/world/auction/cash/AuctionCashType.java create mode 100755 src/main/java/net/swordie/ms/world/auction/cash/AuctionGameType.java create mode 100755 src/main/java/net/swordie/ms/world/auction/cash/AuctionLabelType.java create mode 100755 src/main/java/net/swordie/ms/world/auction/cash/AuctionOutfitType.java create mode 100755 src/main/java/net/swordie/ms/world/auction/cash/AuctionPetType.java create mode 100755 src/main/java/net/swordie/ms/world/auction/etc/AuctionChairType.java create mode 100755 src/main/java/net/swordie/ms/world/auction/etc/AuctionEtcType.java create mode 100755 src/main/java/net/swordie/ms/world/auction/etc/AuctionProfessionType.java create mode 100755 src/main/java/net/swordie/ms/world/auction/use/AuctionAlchemyType.java create mode 100755 src/main/java/net/swordie/ms/world/auction/use/AuctionConsumeEtcType.java create mode 100755 src/main/java/net/swordie/ms/world/auction/use/AuctionRecipeType.java create mode 100755 src/main/java/net/swordie/ms/world/auction/use/AuctionRecoveryType.java create mode 100755 src/main/java/net/swordie/ms/world/auction/use/AuctionScrollType.java create mode 100755 src/main/java/net/swordie/ms/world/auction/use/AuctionSkillBookType.java create mode 100755 src/main/java/net/swordie/ms/world/auction/use/AuctionUseType.java create mode 100755 src/main/java/net/swordie/ms/world/auction/weapon/AuctionOneHandedWeaponType.java create mode 100755 src/main/java/net/swordie/ms/world/auction/weapon/AuctionSecondaryType.java create mode 100755 src/main/java/net/swordie/ms/world/auction/weapon/AuctionTwoHandedWeaponType.java create mode 100755 src/main/java/net/swordie/ms/world/auction/weapon/AuctionWeaponFirstType.java create mode 100755 src/main/java/net/swordie/ms/world/event/BossType.java create mode 100755 src/main/java/net/swordie/ms/world/field/Clock.java create mode 100755 src/main/java/net/swordie/ms/world/field/ClockPacket.java create mode 100755 src/main/java/net/swordie/ms/world/field/Field.java create mode 100755 src/main/java/net/swordie/ms/world/field/FieldCustom.java create mode 100755 src/main/java/net/swordie/ms/world/field/FieldInstanceType.java create mode 100755 src/main/java/net/swordie/ms/world/field/Foothold.java create mode 100755 src/main/java/net/swordie/ms/world/field/Instance.java create mode 100755 src/main/java/net/swordie/ms/world/field/MapTaggedObject.java create mode 100755 src/main/java/net/swordie/ms/world/field/MobGen.java create mode 100755 src/main/java/net/swordie/ms/world/field/Portal.java create mode 100755 src/main/java/net/swordie/ms/world/field/PortalType.java create mode 100755 src/main/java/net/swordie/ms/world/field/bosses/gollux/FallingCatcher.java create mode 100755 src/main/java/net/swordie/ms/world/field/bosses/gollux/GolluxMiniMapFieldClearType.java create mode 100755 src/main/java/net/swordie/ms/world/field/bosses/lucid/Butterfly.java create mode 100755 src/main/java/net/swordie/ms/world/field/bosses/lucid/ButterflyActionType.java create mode 100755 src/main/java/net/swordie/ms/world/field/bosses/lucid/ButterflyType.java create mode 100755 src/main/java/net/swordie/ms/world/field/bosses/lucid/FairyDust.java create mode 100755 src/main/java/net/swordie/ms/world/field/bosses/lucid/LucidSkillType.java create mode 100755 src/main/java/net/swordie/ms/world/field/fieldeffect/FieldEffect.java create mode 100755 src/main/java/net/swordie/ms/world/field/fieldeffect/FieldEffectType.java create mode 100755 src/main/java/net/swordie/ms/world/field/fieldeffect/GreyFieldType.java create mode 100755 src/main/java/net/swordie/ms/world/field/obtacleatom/ObtacleAtomInfo.java create mode 100755 src/main/java/net/swordie/ms/world/field/obtacleatom/ObtacleDiagonalInfo.java create mode 100755 src/main/java/net/swordie/ms/world/field/obtacleatom/ObtacleInRowInfo.java create mode 100755 src/main/java/net/swordie/ms/world/field/obtacleatom/ObtacleRadianInfo.java create mode 100755 src/main/java/net/swordie/ms/world/gach/GachaponConstants.java create mode 100755 src/main/java/net/swordie/ms/world/gach/GachaponInfo.java create mode 100755 src/main/java/net/swordie/ms/world/gach/GachaponManager.java create mode 100755 src/main/java/net/swordie/ms/world/gach/result/GachaponDlgType.java create mode 100755 src/main/java/net/swordie/ms/world/gach/result/GachaponResult.java create mode 100755 src/main/java/net/swordie/ms/world/shop/BuyLimitInfo.java create mode 100755 src/main/java/net/swordie/ms/world/shop/NpcShopDlg.java create mode 100755 src/main/java/net/swordie/ms/world/shop/NpcShopItem.java create mode 100755 src/main/java/net/swordie/ms/world/shop/ShopRequestType.java create mode 100755 src/main/java/net/swordie/ms/world/shop/ShopTabIndex.java create mode 100755 src/main/java/net/swordie/ms/world/shop/cashshop/CashItemInfo.java create mode 100755 src/main/java/net/swordie/ms/world/shop/cashshop/CashShop.java create mode 100755 src/main/java/net/swordie/ms/world/shop/cashshop/CashShopCategory.java create mode 100755 src/main/java/net/swordie/ms/world/shop/cashshop/CashShopItem.java create mode 100755 src/main/java/net/swordie/ms/world/shop/result/ShopResult.java create mode 100755 src/main/java/net/swordie/ms/world/shop/result/ShopResultType.java create mode 100755 src/main/resources/decodeforlocal.txt create mode 100755 src/main/resources/headerText.txt create mode 100755 src/main/resources/ins.txt diff --git a/.gitignore b/.gitignore new file mode 100755 index 0000000..4d57428 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +dat/ +wz/ \ No newline at end of file diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100755 index 0000000..1c2fda5 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/.idea/.name b/.idea/.name new file mode 100755 index 0000000..78b9a83 --- /dev/null +++ b/.idea/.name @@ -0,0 +1 @@ +Z:\ \ No newline at end of file diff --git a/.idea/compiler.xml b/.idea/compiler.xml new file mode 100755 index 0000000..bf2fdcc --- /dev/null +++ b/.idea/compiler.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/encodings.xml b/.idea/encodings.xml new file mode 100755 index 0000000..e2e88af --- /dev/null +++ b/.idea/encodings.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml new file mode 100755 index 0000000..a468a99 --- /dev/null +++ b/.idea/jarRepositories.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100755 index 0000000..6992610 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,11 @@ + + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100755 index 0000000..da69a0d --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100755 index 0000000..dea57e3 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Chat.txt b/Chat.txt new file mode 100755 index 0000000..e69de29 diff --git a/Dockerfile b/Dockerfile new file mode 100755 index 0000000..30bd36e --- /dev/null +++ b/Dockerfile @@ -0,0 +1,17 @@ +FROM maven:3.8.1-openjdk-17 AS build +COPY pom.xml /home/app/pom.xml +COPY src /home/app/src +RUN --mount=type=cache,target=/root/.m2 mvn -f /home/app/pom.xml clean package -Dmaven.test.skip + +FROM openjdk:17-alpine +COPY wz /usr/local/maple/wz +COPY dat /usr/local/maple/dat +COPY scripts /usr/local/maple/scripts +COPY resources /usr/local/maple/resources +COPY src /usr/local/maple/src +COPY properties /usr/local/maple/properties +COPY --from=build /home/app/bin/maplestory-2.13.1-jar-with-dependencies.jar /usr/local/maple/maplestory-2.13.1-jar-with-dependencies.jar +EXPOSE 8484 +EXPOSE 8483 +WORKDIR /usr/local/maple +ENTRYPOINT ["java","-cp","/usr/local/maple/maplestory-2.13.1-jar-with-dependencies.jar","net.swordie.ms.Server"] diff --git a/ErrorCodes.txt b/ErrorCodes.txt new file mode 100755 index 0000000..4db7a40 --- /dev/null +++ b/ErrorCodes.txt @@ -0,0 +1,134 @@ + +------------------------ 2022-02-24 21:23:23 ------------------------ +Exception log: [REMOTE_MELEE_ATTACK], 790/0x316 | 02 00 00 00 02 FA 09 01 00 00 01 00 00 00 5C 78 D7 00 00 00 00 00 00 00 00 00 00 00 B3 03 01 00 00 00 00 00 01 02 00 00 00 00 00 9F 43 0F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 E2 7C 29 C8 01 00 00 00 01 6C D8 C3 0D 01 00 00 00 01 00 E4 0B 54 02 00 00 00 01 00 E4 0B 54 02 00 00 00 00 75 85 83 4A 01 00 00 00 00 D0 00 9B 9B 01 00 00 00 01 00 E4 0B 54 02 00 00 00 00 00 E4 0B 54 02 00 00 00 00 00 E4 0B 54 02 00 00 00 01 00 E4 0B 54 02 00 00 00 8A 43 0F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 3A AA D7 FC 01 00 00 00 00 D5 96 A7 67 01 00 00 00 00 F4 91 F8 12 02 00 00 00 01 AB AF B1 97 01 00 00 00 00 2C 93 94 C6 01 00 00 00 01 00 E4 0B 54 02 00 00 00 00 00 E4 0B 54 02 00 00 00 00 00 E4 0B 54 02 00 00 00 00 99 DF DB 57 01 00 00 00 01 8C FA 17 49 02 00 00 00 66 43 0F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 03 C2 49 DC 01 00 00 00 01 00 E4 0B 54 02 00 00 00 00 00 E4 0B 54 02 00 00 00 00 00 E4 0B 54 02 00 00 00 01 00 E4 0B 54 02 00 00 00 01 00 E4 0B 54 02 00 00 00 00 00 E4 0B 54 02 00 00 00 01 00 E4 0B 54 02 00 00 00 01 00 E4 0B 54 02 00 00 00 01 FA 55 AB 7C 01 00 00 00 70 43 0F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 E4 0B 54 02 00 00 00 01 C4 7C F7 56 01 00 00 00 01 6A 15 07 0F 01 00 00 00 00 00 E4 0B 54 02 00 00 00 01 00 E4 0B 54 02 00 00 00 00 AE 2D EB E1 01 00 00 00 00 00 E4 0B 54 02 00 00 00 01 00 E4 0B 54 02 00 00 00 00 4B A6 EA 76 01 00 00 00 00 17 F1 84 35 01 00 00 00 90 43 0F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 84 0F 9B 86 01 00 00 00 00 00 E4 0B 54 02 00 00 00 00 FE FC 3B 8B 01 00 00 00 01 00 E4 0B 54 02 00 00 00 00 00 E4 0B 54 02 00 00 00 01 00 E4 0B 54 02 00 00 00 00 F3 77 74 95 01 00 00 00 01 00 E4 0B 54 02 00 00 00 00 00 E4 0B 54 02 00 00 00 01 35 FB 21 0F 02 00 00 00 8C 43 0F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 E4 0B 54 02 00 00 00 00 00 E4 0B 54 02 00 00 00 01 00 E4 0B 54 02 00 00 00 00 00 E4 0B 54 02 00 00 00 00 C4 88 D0 44 01 00 00 00 01 00 E4 0B 54 02 00 00 00 01 40 C2 31 F1 01 00 00 00 01 00 E4 0B 54 02 00 00 00 00 00 E4 0B 54 02 00 00 00 01 00 E4 0B 54 02 00 00 00 77 43 0F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 B3 98 B6 AB 01 00 00 00 00 78 3F 1E 69 01 00 00 00 00 00 E4 0B 54 02 00 00 00 01 92 45 4D E9 01 00 00 00 00 C4 5C EB 33 02 00 00 00 01 00 E4 0B 54 02 00 00 00 00 00 E4 0B 54 02 00 00 00 00 E5 2F AF F7 01 00 00 00 00 36 F0 CD 17 02 00 00 00 00 D2 B8 AD 0C 01 00 00 00 8F 43 0F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 24 61 BF DB 01 00 00 00 00 F8 35 12 29 02 00 00 00 01 B9 F6 28 4A 01 00 00 00 01 25 86 B1 54 01 00 00 00 01 00 E4 0B 54 02 00 00 00 00 00 E4 0B 54 02 00 00 00 01 00 E4 0B 54 02 00 00 00 01 00 E4 0B 54 02 00 00 00 00 00 E4 0B 54 02 00 00 00 01 9B 38 1F 11 01 00 00 00 A5 43 0F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 7D 8E F7 3C 02 00 00 00 00 BF 2F 76 8C 01 00 00 00 00 8E 20 DB 67 01 00 00 00 00 68 17 4F 83 01 00 00 00 00 00 E4 0B 54 02 00 00 00 01 BD B9 9A A7 01 00 00 00 01 BC 7C DE 06 02 00 00 00 00 00 E4 0B 54 02 00 00 00 00 00 E4 0B 54 02 00 00 00 01 00 E4 0B 54 02 00 00 00 5D 43 0F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 E4 0B 54 02 00 00 00 00 DB 5D 76 BA 01 00 00 00 01 FB 78 B8 21 02 00 00 00 01 00 E4 0B 54 02 00 00 00 01 00 E4 0B 54 02 00 00 00 01 00 E4 0B 54 02 00 00 00 00 00 E4 0B 54 02 00 00 00 01 F3 CA 88 41 01 00 00 00 00 00 E4 0B 54 02 00 00 00 00 00 E4 0B 54 02 00 00 00 5E 43 0F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 BC A6 8C FE 01 00 00 00 01 00 E4 0B 54 02 00 00 00 01 E0 A2 16 20 01 00 00 00 01 A9 33 72 A1 01 00 00 00 01 00 E4 0B 54 02 00 00 00 01 00 E4 0B 54 02 00 00 00 00 00 E4 0B 54 02 00 00 00 00 00 E4 0B 54 02 00 00 00 01 27 0C D0 54 01 00 00 00 00 C0 3E 6B F7 00 00 00 00 7F 43 0F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 E4 0B 54 02 00 00 00 01 00 E4 0B 54 02 00 00 00 00 4B DA 4D 15 01 00 00 00 00 00 E4 0B 54 02 00 00 00 00 00 E4 0B 54 02 00 00 00 01 07 35 27 01 01 00 00 00 00 00 E4 0B 54 02 00 00 00 01 A5 EC 6B 16 01 00 00 00 01 2C FD 1B F6 00 00 00 00 01 00 E4 0B 54 02 00 00 00 8E 43 0F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 E4 0B 54 02 00 00 00 01 00 E4 0B 54 02 00 00 00 00 00 E4 0B 54 02 00 00 00 01 00 E4 0B 54 02 00 00 00 01 00 E4 0B 54 02 00 00 00 00 00 E4 0B 54 02 00 00 00 01 B3 97 93 10 02 00 00 00 00 00 E4 0B 54 02 00 00 00 01 00 E4 0B 54 02 00 00 00 00 69 43 17 1F 02 00 00 00 72 43 0F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 E4 0B 54 02 00 00 00 00 84 3F C9 38 02 00 00 00 01 D1 48 B0 FA 01 00 00 00 01 00 E4 0B 54 02 00 00 00 00 B0 AB EE 6B 01 00 00 00 00 00 E4 0B 54 02 00 00 00 00 00 E4 0B 54 02 00 00 00 00 00 E4 0B 54 02 00 00 00 00 59 0D 79 9C 01 00 00 00 01 66 14 B5 51 02 00 00 00 81 43 0F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 E4 0B 54 02 00 00 00 00 00 E4 0B 54 02 00 00 00 00 00 E4 0B 54 02 00 00 00 00 FA 5B E2 8A 01 00 00 00 00 51 F4 DA 15 02 00 00 00 00 00 E4 0B 54 02 00 00 00 01 00 E4 0B 54 02 00 00 00 00 00 E4 0B 54 02 00 00 00 01 B6 FD 63 25 01 00 00 00 01 00 E4 0B 54 02 00 00 00 + Full String: Invalid Decoding +PacketDump : [DataLen:1650] 45 c3 37 c5 16 03 02 00 00 00 02 fa 09 01 00 00 01 00 00 00 5c 78 d7 00 00 00 00 00 00 00 00 00 00 00 b3 03 01 00 00 00 00 00 01 02 00 00 00 00 00 9f 43 0f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 e2 7c 29 c8 01 00 00 00 01 6c d8 c3 0d 01 00 00 00 01 00 e4 0b 54 02 00 00 00 01 00 e4 0b 54 02 00 00 00 00 75 85 83 4a 01 00 00 00 00 d0 00 9b 9b 01 00 00 00 01 00 e4 0b 54 02 00 00 00 00 00 e4 0b 54 02 00 00 00 00 00 e4 0b 54 02 00 00 00 01 00 e4 0b 54 02 00 00 00 8a 43 0f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 3a aa d7 fc 01 00 00 00 00 d5 96 a7 67 01 00 00 00 00 f4 91 f8 12 02 00 00 00 01 ab af b1 97 01 00 00 00 00 2c 93 94 c6 01 00 00 00 01 00 e4 0b 54 02 00 00 00 00 00 e4 0b 54 02 00 00 00 00 00 e4 0b 54 02 00 00 00 00 99 df db 57 01 00 00 00 01 8c fa 17 49 02 00 00 00 66 43 0f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 03 c2 49 dc 01 00 00 00 01 00 e4 0b 54 02 00 00 00 00 00 e4 0b 54 02 00 00 00 00 00 e4 0b 54 02 00 00 00 01 00 e4 0b 54 02 00 00 00 01 00 e4 0b 54 02 00 00 00 00 00 e4 0b 54 02 00 00 00 01 00 e4 0b 54 02 00 00 00 01 00 e4 0b 54 02 00 00 00 01 fa 55 ab 7c 01 00 00 00 70 43 0f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 e4 0b 54 02 00 00 00 01 c4 7c f7 56 01 00 00 00 01 6a 15 07 0f 01 00 00 00 00 00 e4 0b 54 02 00 00 00 01 00 e4 0b 54 02 00 00 00 00 ae 2d eb e1 01 00 00 00 00 00 e4 0b 54 02 00 00 00 01 00 e4 0b 54 02 00 00 00 00 4b a6 ea 76 01 00 00 00 00 17 f1 84 35 01 00 00 00 90 43 0f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 84 0f 9b 86 01 00 00 00 00 00 e4 0b 54 02 00 00 00 00 fe fc 3b 8b 01 00 00 00 01 00 e4 0b 54 02 00 00 00 00 00 e4 0b 54 02 00 00 00 01 00 e4 0b 54 02 00 00 00 00 f3 77 74 95 01 00 00 00 01 00 e4 0b 54 02 00 00 00 00 00 e4 0b 54 02 00 00 00 01 35 fb 21 0f 02 00 00 00 8c 43 0f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 e4 0b 54 02 00 00 00 00 00 e4 0b 54 02 00 00 00 01 00 e4 0b 54 02 00 00 00 00 00 e4 0b 54 02 00 00 00 00 c4 88 d0 44 01 00 00 00 01 00 e4 0b 54 02 00 00 00 01 40 c2 31 f1 01 00 00 00 01 00 e4 0b 54 02 00 00 00 00 00 e4 0b 54 02 00 00 00 01 00 e4 0b 54 02 00 00 00 77 43 0f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 b3 98 b6 ab 01 00 00 00 00 78 3f 1e 69 01 00 00 00 00 00 e4 0b 54 02 00 00 00 01 92 45 4d e9 01 00 00 00 00 c4 5c eb 33 02 00 00 00 01 00 e4 0b 54 02 00 00 00 00 00 e4 0b 54 02 00 00 00 00 e5 2f af f7 01 00 00 00 00 36 f0 cd 17 02 00 00 00 00 d2 b8 ad 0c 01 00 00 00 8f 43 0f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 24 61 bf db 01 00 00 00 00 f8 35 12 29 02 00 00 00 01 b9 f6 28 4a 01 00 00 00 01 25 86 b1 54 01 00 00 00 01 00 e4 0b 54 02 00 00 00 00 00 e4 0b 54 02 00 00 00 01 00 e4 0b 54 02 00 00 00 01 00 e4 0b 54 02 00 00 00 00 00 e4 0b 54 02 00 00 00 01 9b 38 1f 11 01 00 00 00 a5 43 0f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 7d 8e f7 3c 02 00 00 00 00 bf 2f 76 8c 01 00 00 00 00 8e 20 db 67 01 00 00 00 00 68 17 4f 83 01 00 00 00 00 00 e4 0b 54 02 00 00 00 01 bd b9 9a a7 01 00 00 00 01 bc 7c de 06 02 00 00 00 00 00 e4 0b 54 02 00 00 00 00 00 e4 0b 54 02 00 00 00 01 00 e4 0b 54 02 00 00 00 5d 43 0f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 e4 0b 54 02 00 00 00 00 db 5d 76 ba 01 00 00 00 01 fb 78 b8 21 02 00 00 00 01 00 e4 0b 54 02 00 00 00 01 00 e4 0b 54 02 00 00 00 01 00 e4 0b 54 02 00 00 00 00 00 e4 0b 54 02 00 00 00 01 f3 ca 88 41 01 00 00 00 00 00 e4 0b 54 02 00 00 00 00 00 e4 0b 54 02 00 00 00 5e 43 0f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 bc a6 8c fe 01 00 00 00 01 00 e4 0b 54 02 00 00 00 01 e0 a2 16 20 01 00 00 00 01 a9 33 72 a1 01 00 00 00 01 00 e4 0b 54 02 00 00 00 01 00 e4 0b 54 02 00 00 00 00 00 e4 0b 54 02 00 00 00 00 00 e4 0b 54 02 00 00 00 01 27 0c d0 54 01 00 00 00 00 c0 3e 6b f7 00 00 00 00 7f 43 0f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 e4 0b 54 02 00 00 00 01 00 e4 0b 54 02 00 00 00 00 4b da 4d 15 01 00 00 00 00 00 e4 0b 54 02 00 00 00 00 00 e4 0b 54 02 00 00 00 01 07 35 27 01 01 00 00 00 00 00 e4 0b 54 02 00 00 00 01 a5 ec 6b 16 01 00 00 00 01 2c fd 1b f6 00 00 00 00 01 00 e4 0b 54 02 00 00 00 8e 43 0f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 e4 0b 54 02 00 00 00 01 00 e4 0b 54 02 00 00 00 00 00 e4 0b 54 02 00 00 00 01 00 e4 0b 54 02 00 00 00 01 00 e4 0b 54 02 00 00 00 00 00 e4 0b 54 02 00 00 00 01 b3 97 93 10 02 00 00 00 00 00 e4 0b 54 02 00 00 00 01 00 e4 0b 54 02 00 00 00 00 69 43 17 1f 02 00 00 00 72 43 0f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 e4 0b 54 02 00 00 00 00 84 3f c9 38 02 00 00 00 01 d1 48 b0 fa 01 00 00 00 01 00 e4 0b 54 02 00 00 00 00 b0 ab ee 6b 01 00 00 00 00 00 e4 0b 54 02 00 00 00 00 00 e4 0b 54 02 00 00 00 00 00 e4 0b 54 02 00 00 00 00 59 0d 79 9c 01 00 00 00 01 66 14 b5 51 02 00 00 00 81 43 0f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 e4 0b 54 02 00 00 00 00 00 e4 0b 54 02 00 00 00 00 00 e4 0b 54 02 00 00 00 00 fa 5b e2 8a 01 00 00 00 00 51 f4 da 15 02 00 00 00 00 00 e4 0b 54 02 00 00 00 01 00 e4 0b 54 02 00 00 00 00 00 e4 0b 54 02 00 00 00 01 b6 fd 63 25 01 00 00 00 01 00 e4 0b 54 02 00 00 00 + + +------------------------ 2022-02-24 22:18:13 ------------------------ +Exception log: [FIELD_ATTACK_REMOVE_BY_KEY], 1990/0x7C6 | 9D 45 0F 00 + Full String: Invalid Decoding +PacketDump : [DataLen:6] d2 18 d4 18 c6 07 9d 45 0f 00 + + +------------------------ 2022-02-26 18:47:51 ------------------------ +Exception log: [REMOTE_MELEE_ATTACK], 790/0x316 | 02 00 00 00 02 0A 09 01 00 00 01 00 00 00 5C 78 D7 00 00 00 00 00 00 00 00 00 00 00 B3 03 01 00 00 00 00 00 01 02 00 00 00 00 00 + Full String: Invalid Decoding +PacketDump : [DataLen:45] 58 88 75 88 16 03 02 00 00 00 02 0a 09 01 00 00 01 00 00 00 5c 78 d7 00 00 00 00 00 00 00 00 00 00 00 b3 03 01 00 00 00 00 00 01 02 00 00 00 00 00 + + +------------------------ 2022-02-26 20:53:07 ------------------------ +Exception log: [SHOP_RESULT], 1725/0x6BD | 0B 00 00 00 00 FC 58 89 00 00 00 00 00 00 00 00 00 01 00 00 00 00 42 01 01 00 00 00 57 51 0F + Full String: Invalid Decoding +PacketDump : [DataLen:33] 97 6d b6 6d bd 06 0b 00 00 00 00 fc 58 89 00 00 00 00 00 00 00 00 00 01 00 00 00 00 42 01 01 00 00 00 57 51 0f + + +------------------------ 2022-02-26 22:37:35 ------------------------ +Exception log: [FIELD_ATTACK_REMOVE_BY_KEY], 1990/0x7C6 | C8 42 0F 00 + Full String: Invalid Decoding +PacketDump : [DataLen:6] f2 c4 f4 c4 c6 07 c8 42 0f 00 + + +------------------------ 2022-02-26 22:47:09 ------------------------ +Exception log: [FIELD_ATTACK_REMOVE_BY_KEY], 1990/0x7C6 | C8 42 0F 00 + Full String: Invalid Decoding +PacketDump : [DataLen:6] 91 84 97 84 c6 07 c8 42 0f 00 + + +------------------------ 2022-02-26 23:14:45 ------------------------ +Exception log: [SHOP_RESULT], 1725/0x6BD | 0B 00 00 00 00 + Full String: Invalid Decoding +PacketDump : [DataLen:7] 84 bb 83 bb bd 06 0b 00 00 00 00 + + +------------------------ 2022-02-27 05:05:55 ------------------------ +Exception log: [FIELD_ATTACK_REMOVE_BY_KEY], 1990/0x7C6 | 5B 42 0F 00 + Full String: Invalid Decoding +PacketDump : [DataLen:6] ce f0 c8 f0 c6 07 5b 42 0f 00 + + +------------------------ 2022-02-27 09:09:30 ------------------------ +Exception log: [PARTY_MEMBER_CANDIDATE_RESULT], 142/0x8E | 02 24 00 00 00 06 00 6D 78 72 76 78 6E B2 01 01 00 86 00 00 00 00 34 00 00 00 06 00 43 72 61 79 6F 6E 70 00 00 00 79 00 00 00 00 + Full String: Invalid Decoding +PacketDump : [DataLen:45] b9 3e 94 3e 8e 00 02 24 00 00 00 06 00 6d 78 72 76 78 6e b2 01 01 00 86 00 00 00 00 34 00 00 00 06 00 43 72 61 79 6f 6e 70 00 00 00 79 00 00 00 00 + + +------------------------ 2022-02-27 13:31:01 ------------------------ +Exception log: [SHOP_RESULT], 1725/0x6BD | 0B 00 00 00 00 FC 58 89 00 00 00 00 00 00 00 00 00 + Full String: Invalid Decoding +PacketDump : [DataLen:19] 5f c9 4c c9 bd 06 0b 00 00 00 00 fc 58 89 00 00 00 00 00 00 00 00 00 + + +------------------------ 2022-02-27 20:27:45 ------------------------ +Exception log: [FIELD_ATTACK_REMOVE_BY_KEY], 1990/0x7C6 | D0 48 0F 00 + Full String: Invalid Decoding +PacketDump : [DataLen:6] 39 70 3f 70 c6 07 d0 48 0f 00 + + +------------------------ 2022-02-27 20:42:18 ------------------------ +Exception log: [PARTY_MEMBER_CANDIDATE_RESULT], 142/0x8E | 03 1F 00 00 00 04 00 53 63 61 72 B2 01 01 00 04 01 00 00 00 26 00 00 00 08 00 44 65 63 65 6D 62 65 72 27 0C 00 00 1F 00 00 00 00 02 00 00 00 05 00 4E 69 67 68 74 0C 19 00 00 09 01 00 00 00 + Full String: Invalid Decoding +PacketDump : [DataLen:65] 59 99 18 99 8e 00 03 1f 00 00 00 04 00 53 63 61 72 b2 01 01 00 04 01 00 00 00 26 00 00 00 08 00 44 65 63 65 6d 62 65 72 27 0c 00 00 1f 00 00 00 00 02 00 00 00 05 00 4e 69 67 68 74 0c 19 00 00 09 01 00 00 00 + + +------------------------ 2022-02-27 20:59:05 ------------------------ +Exception log: [TEMPORARY_STAT_SET], 94/0x5E | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF FF FF 2F 24 D8 17 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 12 20 4E 00 00 00 00 00 00 00 00 00 00 + Full String: Invalid Decoding +PacketDump : [DataLen:178] 74 46 c6 46 5e 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ff ff ff ff 2f 24 d8 17 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 12 20 4e 00 00 00 00 00 00 00 00 00 00 + +Contained stat PoseTypeContained stat MMPCutR +------------------------ 2022-02-28 01:06:04 ------------------------ +Exception log: [SHOP_RESULT], 1725/0x6BD | 0B 00 00 00 00 E4 6D + Full String: Invalid Decoding +PacketDump : [DataLen:9] 1c a4 15 a4 bd 06 0b 00 00 00 00 e4 6d + + +------------------------ 2022-03-01 20:49:31 ------------------------ +Exception log: [FUNC_KEY_MAPPED_MAN_INIT], 1952/0x7A0 | 00 00 00 00 00 00 04 2E 00 00 00 04 0A 00 00 00 04 0C 00 00 00 04 0D 00 00 00 04 12 00 00 00 04 17 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 04 08 00 00 00 04 05 00 00 00 04 00 00 00 00 04 04 00 00 00 04 1B 00 00 00 04 1E 00 00 00 04 27 00 00 00 04 01 00 00 00 04 29 00 00 00 04 13 00 00 00 04 0E 00 00 00 04 0F 00 00 00 00 00 00 00 00 05 34 00 00 00 00 00 00 00 00 04 02 00 00 00 00 00 00 00 00 00 00 00 00 00 04 11 00 00 00 04 0B 00 00 00 00 00 00 00 00 04 03 00 00 00 04 14 00 00 00 04 1A 00 00 00 04 10 00 00 00 04 16 00 00 00 01 11 3D 42 00 04 09 00 00 00 05 32 00 00 00 05 33 00 00 00 04 06 00 00 00 04 1F 00 00 00 04 1D 00 00 00 00 00 00 00 00 04 07 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 05 35 00 00 00 05 36 00 00 00 00 00 00 00 00 06 64 00 00 00 06 65 00 00 00 06 66 00 00 00 00 00 00 00 00 06 67 00 00 00 06 68 00 00 00 06 69 00 00 00 06 6A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 04 2F 00 00 00 01 0A 3D 42 00 00 00 00 00 00 01 2E 24 D8 17 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 4A 04 2E 00 00 00 00 00 00 01 DB C7 41 00 01 FA 15 42 00 02 85 84 1E 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + Full String: Invalid Decoding +PacketDump : [DataLen:448] 84 0d 44 0c a0 07 00 00 00 00 00 00 04 2e 00 00 00 04 0a 00 00 00 04 0c 00 00 00 04 0d 00 00 00 04 12 00 00 00 04 17 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 04 08 00 00 00 04 05 00 00 00 04 00 00 00 00 04 04 00 00 00 04 1b 00 00 00 04 1e 00 00 00 04 27 00 00 00 04 01 00 00 00 04 29 00 00 00 04 13 00 00 00 04 0e 00 00 00 04 0f 00 00 00 00 00 00 00 00 05 34 00 00 00 00 00 00 00 00 04 02 00 00 00 00 00 00 00 00 00 00 00 00 00 04 11 00 00 00 04 0b 00 00 00 00 00 00 00 00 04 03 00 00 00 04 14 00 00 00 04 1a 00 00 00 04 10 00 00 00 04 16 00 00 00 01 11 3d 42 00 04 09 00 00 00 05 32 00 00 00 05 33 00 00 00 04 06 00 00 00 04 1f 00 00 00 04 1d 00 00 00 00 00 00 00 00 04 07 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 05 35 00 00 00 05 36 00 00 00 00 00 00 00 00 06 64 00 00 00 06 65 00 00 00 06 66 00 00 00 00 00 00 00 00 06 67 00 00 00 06 68 00 00 00 06 69 00 00 00 06 6a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 04 2f 00 00 00 01 0a 3d 42 00 00 00 00 00 00 01 2e 24 d8 17 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 4a 04 2e 00 00 00 00 00 00 01 db c7 41 00 01 fa 15 42 00 02 85 84 1e 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + + +------------------------ 2022-03-01 23:11:14 ------------------------ +Exception log: [FUNC_KEY_MAPPED_MAN_INIT], 1952/0x7A0 | 00 00 00 00 00 00 04 2E 00 00 00 04 0A 00 00 00 04 0C 00 00 00 04 0D 00 00 00 04 12 00 00 00 04 17 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 04 08 00 00 00 04 05 00 00 00 04 00 00 00 00 04 04 00 00 00 04 1B 00 00 00 04 1E 00 00 00 04 27 00 00 00 04 01 00 00 00 04 29 00 00 00 04 13 00 00 00 04 0E 00 00 00 04 0F 00 00 00 00 00 00 00 00 05 34 00 00 00 00 00 00 00 00 04 02 00 00 00 00 00 00 00 00 00 00 00 00 00 04 11 00 00 00 04 0B 00 00 00 00 00 00 00 00 04 03 00 00 00 04 14 00 00 00 04 1A 00 00 00 04 10 00 00 00 04 16 00 00 00 01 11 3D 42 00 04 09 00 00 00 05 32 00 00 00 05 33 00 00 00 04 06 00 00 00 04 1F 00 00 00 04 1D 00 00 00 00 00 00 00 00 04 07 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 05 35 00 00 00 05 36 00 00 00 00 00 00 00 00 06 64 00 00 00 06 65 00 00 00 06 66 00 00 00 00 00 00 00 00 06 67 00 00 00 06 68 00 00 00 06 69 00 00 00 06 6A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 04 2F 00 00 00 01 0A 3D 42 00 00 00 00 00 00 01 2E 24 D8 17 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 4A 04 2E 00 00 00 00 00 00 01 DB C7 41 00 01 FA 15 42 00 02 85 84 1E 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + Full String: Invalid Decoding +PacketDump : [DataLen:448] 84 0d 44 0c a0 07 00 00 00 00 00 00 04 2e 00 00 00 04 0a 00 00 00 04 0c 00 00 00 04 0d 00 00 00 04 12 00 00 00 04 17 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 04 08 00 00 00 04 05 00 00 00 04 00 00 00 00 04 04 00 00 00 04 1b 00 00 00 04 1e 00 00 00 04 27 00 00 00 04 01 00 00 00 04 29 00 00 00 04 13 00 00 00 04 0e 00 00 00 04 0f 00 00 00 00 00 00 00 00 05 34 00 00 00 00 00 00 00 00 04 02 00 00 00 00 00 00 00 00 00 00 00 00 00 04 11 00 00 00 04 0b 00 00 00 00 00 00 00 00 04 03 00 00 00 04 14 00 00 00 04 1a 00 00 00 04 10 00 00 00 04 16 00 00 00 01 11 3d 42 00 04 09 00 00 00 05 32 00 00 00 05 33 00 00 00 04 06 00 00 00 04 1f 00 00 00 04 1d 00 00 00 00 00 00 00 00 04 07 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 05 35 00 00 00 05 36 00 00 00 00 00 00 00 00 06 64 00 00 00 06 65 00 00 00 06 66 00 00 00 00 00 00 00 00 06 67 00 00 00 06 68 00 00 00 06 69 00 00 00 06 6a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 04 2f 00 00 00 01 0a 3d 42 00 00 00 00 00 00 01 2e 24 d8 17 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 4a 04 2e 00 00 00 00 00 00 01 db c7 41 00 01 fa 15 42 00 02 85 84 1e 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + + +------------------------ 2022-03-01 23:12:52 ------------------------ +Exception log: [FUNC_KEY_MAPPED_MAN_INIT], 1952/0x7A0 | 00 00 00 00 00 00 04 2E 00 00 00 04 0A 00 00 00 04 0C 00 00 00 04 0D 00 00 00 04 12 00 00 00 04 17 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 04 08 00 00 00 04 05 00 00 00 04 00 00 00 00 04 04 00 00 00 04 1B 00 00 00 04 1E 00 00 00 04 27 00 00 00 04 01 00 00 00 04 29 00 00 00 04 13 00 00 00 04 0E 00 00 00 04 0F 00 00 00 00 00 00 00 00 05 34 00 00 00 00 00 00 00 00 04 02 00 00 00 00 00 00 00 00 00 00 00 00 00 04 11 00 00 00 04 0B 00 00 00 00 00 00 00 00 04 03 00 00 00 04 14 00 00 00 04 1A 00 00 00 04 10 00 00 00 04 16 00 00 00 01 11 3D 42 00 04 09 00 00 00 05 32 00 00 00 05 33 00 00 00 04 06 00 00 00 04 1F 00 00 00 04 1D 00 00 00 00 00 00 00 00 04 07 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 05 35 00 00 00 05 36 00 00 00 00 00 00 00 00 06 64 00 00 00 06 65 00 00 00 06 66 00 00 00 00 00 00 00 00 06 67 00 00 00 06 68 00 00 00 06 69 00 00 00 06 6A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 04 2F 00 00 00 01 0A 3D 42 00 00 00 00 00 00 01 2E 24 D8 17 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 4A 04 2E 00 00 00 00 00 00 01 DB C7 41 00 01 FA 15 42 00 02 85 84 1E 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + Full String: Invalid Decoding +PacketDump : [DataLen:448] 84 0d 44 0c a0 07 00 00 00 00 00 00 04 2e 00 00 00 04 0a 00 00 00 04 0c 00 00 00 04 0d 00 00 00 04 12 00 00 00 04 17 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 04 08 00 00 00 04 05 00 00 00 04 00 00 00 00 04 04 00 00 00 04 1b 00 00 00 04 1e 00 00 00 04 27 00 00 00 04 01 00 00 00 04 29 00 00 00 04 13 00 00 00 04 0e 00 00 00 04 0f 00 00 00 00 00 00 00 00 05 34 00 00 00 00 00 00 00 00 04 02 00 00 00 00 00 00 00 00 00 00 00 00 00 04 11 00 00 00 04 0b 00 00 00 00 00 00 00 00 04 03 00 00 00 04 14 00 00 00 04 1a 00 00 00 04 10 00 00 00 04 16 00 00 00 01 11 3d 42 00 04 09 00 00 00 05 32 00 00 00 05 33 00 00 00 04 06 00 00 00 04 1f 00 00 00 04 1d 00 00 00 00 00 00 00 00 04 07 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 05 35 00 00 00 05 36 00 00 00 00 00 00 00 00 06 64 00 00 00 06 65 00 00 00 06 66 00 00 00 00 00 00 00 00 06 67 00 00 00 06 68 00 00 00 06 69 00 00 00 06 6a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 04 2f 00 00 00 01 0a 3d 42 00 00 00 00 00 00 01 2e 24 d8 17 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 4a 04 2e 00 00 00 00 00 00 01 db c7 41 00 01 fa 15 42 00 02 85 84 1e 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + + +------------------------ 2022-03-03 22:14:29 ------------------------ +Exception log: [FUNC_KEY_MAPPED_MAN_INIT], 1952/0x7A0 | 00 00 00 00 00 00 04 2E 00 00 00 01 6D B1 A9 00 01 9B 07 11 09 01 68 B1 A9 00 04 12 00 00 00 04 17 00 00 00 02 87 2A 25 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 E9 54 25 02 04 05 00 00 00 04 00 00 00 00 04 04 00 00 00 04 1B 00 00 00 04 1E 00 00 00 04 27 00 00 00 04 01 00 00 00 04 29 00 00 00 04 13 00 00 00 04 0E 00 00 00 04 0F 00 00 00 00 00 00 00 00 01 A8 29 27 02 05 34 00 00 00 04 02 00 00 00 00 00 00 00 00 00 00 00 00 00 04 11 00 00 00 04 0B 00 00 00 00 00 00 00 00 04 03 00 00 00 04 14 00 00 00 04 1A 00 00 00 04 10 00 00 00 04 16 00 00 00 01 71 88 1E 00 04 09 00 00 00 05 32 00 00 00 05 33 00 00 00 04 06 00 00 00 04 1F 00 00 00 04 1D 00 00 00 00 00 00 00 00 04 07 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 05 35 00 00 00 05 36 00 00 00 00 00 00 00 00 06 64 00 00 00 06 65 00 00 00 06 66 00 00 00 00 00 00 00 00 06 67 00 00 00 06 68 00 00 00 06 69 00 00 00 06 6A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 04 2F 00 00 00 01 EB AA E1 03 00 00 00 00 00 01 1E 24 4E 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 6C B1 A9 00 00 00 00 00 00 01 3A 4B D8 17 01 F3 AA E1 03 01 76 B1 A9 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + Full String: Invalid Decoding +PacketDump : [DataLen:448] 70 4b b0 4a a0 07 00 00 00 00 00 00 04 2e 00 00 00 01 6d b1 a9 00 01 9b 07 11 09 01 68 b1 a9 00 04 12 00 00 00 04 17 00 00 00 02 87 2a 25 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 e9 54 25 02 04 05 00 00 00 04 00 00 00 00 04 04 00 00 00 04 1b 00 00 00 04 1e 00 00 00 04 27 00 00 00 04 01 00 00 00 04 29 00 00 00 04 13 00 00 00 04 0e 00 00 00 04 0f 00 00 00 00 00 00 00 00 01 a8 29 27 02 05 34 00 00 00 04 02 00 00 00 00 00 00 00 00 00 00 00 00 00 04 11 00 00 00 04 0b 00 00 00 00 00 00 00 00 04 03 00 00 00 04 14 00 00 00 04 1a 00 00 00 04 10 00 00 00 04 16 00 00 00 01 71 88 1e 00 04 09 00 00 00 05 32 00 00 00 05 33 00 00 00 04 06 00 00 00 04 1f 00 00 00 04 1d 00 00 00 00 00 00 00 00 04 07 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 05 35 00 00 00 05 36 00 00 00 00 00 00 00 00 06 64 00 00 00 06 65 00 00 00 06 66 00 00 00 00 00 00 00 00 06 67 00 00 00 06 68 00 00 00 06 69 00 00 00 06 6a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 04 2f 00 00 00 01 eb aa e1 03 00 00 00 00 00 01 1e 24 4e 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 6c b1 a9 00 00 00 00 00 00 01 3a 4b d8 17 01 f3 aa e1 03 01 76 b1 a9 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + + +------------------------ 2022-03-14 21:52:45 ------------------------ +Exception log: [TEMPORARY_STAT_SET], 94/0x5E | 00 00 00 00 20 00 00 00 00 00 00 00 00 00 00 00 00 00 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 14 00 3F 88 93 03 00 00 00 00 28 00 3F 88 93 03 00 00 00 00 BC 02 3F 88 93 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 C4 E4 0B 03 00 00 00 00 F2 1A A5 AB 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + Full String: Invalid Decoding +PacketDump : [DataLen:222] 00 8f de 8f 5e 00 00 00 00 00 20 00 00 00 00 00 00 00 00 00 00 00 00 00 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 14 00 3f 88 93 03 00 00 00 00 28 00 3f 88 93 03 00 00 00 00 bc 02 3f 88 93 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 c4 e4 0b 03 00 00 00 00 f2 1a a5 ab 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + +Contained stat IndieArcaneForceContained stat ComboDrainContained stat IncEffectMPPotion +------------------------ 2022-03-23 16:10:55 ------------------------ +Exception log: [null], -4098/0xEFFE | EF BF DE EF 21 47 46 72 59 EF EF FE BF EF ED DF EF EF EF EF FC DF EF EF F2 02 1F 2F 23 22 F0 6F 56 F0 05 EF EF EF EF EF EF EF EF EF EF EF EF EF EF EF + Full String: 207_1 + [ Name: , Job: -1, Field: -1, World: -1, Channel: -1 ] +ZException (error code : -2147467259 (Unspecified error)) source() +==== 2022/3/23 22:07:56.005 ============================== + + +------------------------ 2022-03-23 23:27:12 ------------------------ +Exception log: [SET_FIELD], 531/0x213 | 45 00 00 00 A4 01 00 00 39 05 00 00 FF 7F 00 00 1D 00 6C 6F 6C 20 79 6F 75 20 67 61 79 20 77 68 79 20 79 6F 75 20 68 61 63 6B 20 74 68 6F 3F + Full String: Invalid Decoding +PacketDump : [DataLen:49] aa a7 9b a7 13 02 45 00 00 00 a4 01 00 00 39 05 00 00 ff 7f 00 00 1d 00 6c 6f 6c 20 79 6f 75 20 67 61 79 20 77 68 79 20 79 6f 75 20 68 61 63 6b 20 74 68 6f 3f + + +------------------------ 2022-03-23 23:29:45 ------------------------ +Exception log: [SET_FIELD], 531/0x213 | 45 00 00 00 A4 01 00 00 39 05 00 00 FF 7F 00 00 1D 00 6C 6F 6C 20 79 6F 75 20 67 61 79 20 77 68 79 20 79 6F 75 20 68 61 63 6B 20 74 68 6F 3F + Full String: Invalid Decoding +PacketDump : [DataLen:49] 33 20 02 20 13 02 45 00 00 00 a4 01 00 00 39 05 00 00 ff 7f 00 00 1d 00 6c 6f 6c 20 79 6f 75 20 67 61 79 20 77 68 79 20 79 6f 75 20 68 61 63 6b 20 74 68 6f 3f + diff --git a/LICENSE.md b/LICENSE.md new file mode 100755 index 0000000..e94778f --- /dev/null +++ b/LICENSE.md @@ -0,0 +1,7 @@ +Copyright © 2018 The Swordie Authors. + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file diff --git a/README.md b/README.md new file mode 100755 index 0000000..30e93bf --- /dev/null +++ b/README.md @@ -0,0 +1 @@ +#A server emulator for Maplestory. \ No newline at end of file diff --git a/bin/classes/hibernate.cfg.xml b/bin/classes/hibernate.cfg.xml new file mode 100755 index 0000000..b54ec78 --- /dev/null +++ b/bin/classes/hibernate.cfg.xml @@ -0,0 +1,44 @@ + + + + + + org.hibernate.dialect.MySQLDialect + + + + com.mysql.jdbc.Driver + + + + jdbc:mysql://127.0.0.1:3306/v206?autoReconnect=true&useSSL=false&allowPublicKeyRetrieval=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC + + + + root + + + + wusuc2i7mmicpoi9 + + + + true + + + + false + + + + true + + + + true + + + + + \ No newline at end of file diff --git a/bin/classes/log4j.properties b/bin/classes/log4j.properties new file mode 100755 index 0000000..25db09a --- /dev/null +++ b/bin/classes/log4j.properties @@ -0,0 +1,19 @@ +log4j.rootLogger=DEBUG,stdout +log4j.logger.com.endeca=INFO +# Logger for crawl metrics +log4j.logger.com.endeca.itl.web.metrics=INFO + +log4j.appender.stdout=org.apache.log4j.ConsoleAppender +log4j.appender.stdout.layout=org.apache.log4j.PatternLayout +log4j.appender.stdout.layout.ConversionPattern=[%p] %m%n + +# add a FileAppender to the logger fout +log4j.appender.fout=org.apache.log4j.FileAppender +# create a log file +log4j.appender.fout.File=root.log +log4j.appender.fout.layout=org.apache.log4j.PatternLayout +# use a more detailed message pattern +log4j.appender.fout.layout.ConversionPattern=%p\t%d{ISO8601}\t%r\t%c\t[%t]\t%m%n +# library logging only for errors +log4j.logger.org.hibernate=error +log4j.logger.io.netty=error diff --git a/bin/classes/net/swordie/ms/Server$ShutDownTask.class b/bin/classes/net/swordie/ms/Server$ShutDownTask.class new file mode 100755 index 0000000000000000000000000000000000000000..eb3a2f39a1d3163132fc06a157d435d1031abca6 GIT binary patch literal 2353 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 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/ServerConfig.class b/bin/classes/net/swordie/ms/ServerConfig.class new file mode 100755 index 0000000000000000000000000000000000000000..ba93b3a7db5c7686c6d5ea325f0df3317600e041 GIT binary patch literal 963 zcmaJ=?M@R>5IwgAx?Q$>R1}a8i}jo$%xb_i ztXK55qTsIREvnVDQgzUpd`OMfiv_(k{=jx5XJIi$qGP*J*ICYBp@L#EWjzv}>kk34LfB@lPxYTDrao!Qp0Ty1Pvxxxa04 z#qD`b{>BnHr-Qh(m?~C?nGh9A6GamDsFVAoh46rM+9SHp;~{1*?QulKiuCP7Xa7tE z{Huh26v*?K^!0#0O}UwPBqTQ|TBVZ+#OT^ru+MY}VUwhA12VQqDgywX;3;Vmo?Qm- w^h*ckz94deSUi4#nfP4z2SVR)`vM7(kM;9SKujb?k(2b~rpUTYdI-<|02`vk(EtDd literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/ServerConstants.class b/bin/classes/net/swordie/ms/ServerConstants.class new file mode 100755 index 0000000000000000000000000000000000000000..513456ed8e927e11208a48704919d9ec7050a870 GIT binary patch literal 2446 zcmb7GX;%|h7=A8WLL3C5)l#csMFm=!x^+XXF+>^6LX!bS+onS@g^@5rXC_eWzT4LB zn;-iJ`k`_T<@muL&=37dJ$>#?pb%*Cm5uFmNC+4qmWAGvLgk7gAJ~?kylad)9^U<3v@DUX~=Lh zPNm`m>cL|%97JyfhcrAPg&OixSPnvaUZA@kh19KS#u#&-h9fvC&>ngj$E}7o?X~oe z4U9$6FA%K;wm(#Md})4A!;^TbmbY==Td@6bS>R}YEp}ClLg+j0%y2!Ejih!AL66{R z4JU9?;DBp~da&gAWyjX%1HEATi?*NiR5?QVrV%60x^1-`XFr_Qa7IS5cix(_sZ_GU zt4=t(p)Q?0tKm86sqO0ZB5lPXa9YxbHJp|7$VkGJj2O=2#Rx8FNZ_Kt(5Apx4cQ@K zppSXe8xH!?-i+gtLi>wWr7E*_s(;`{`u}MU%Ya5Sq;N@KXC`s2m>f;y6G=0bF9--D z&ZbvE8yd!B(6K@?Z;Y$B<7lq&G8(dy*O5;ZaufMvs!)4xOO5@KhP-5JqlxTDnuaA; z`ZYC7V3K{2&LtD+;%Kg577MBTWGYYB*JG5preR7p)2@2Qne4ZWQ+A!1S@!!7ZfJN} zM&3!!W+HDEGe&m8OfmE}Wiv%XOlik@+9qYDnpwXn(@#GIBbTK}L6ZKW9MyCAVx1Ai z>*Sr_o71_=Mz%Pf%bOHD)W@z&j2j#HVfHSwX08*!LU&(G=BJn@gNaO-^rBqE$S`wP zQrTka+PIOQDw;+{hB($r|NLwHl`)JYjPz8o{veJ*(kpX0bfz8G&Q|BAZQrz}E2PBJ zUdgIVTD~LkIzJ{rXlSD|)t6sc*7a!K?Zu`;sF)?%rf& zNUj)8`bEzRgV47YGIluYm4nVUydT2{_%MQxw-0-qn2B)*a6$#o2xDiZ=K2p%0r6g@`AmM_>Bhn+WvlMXVgtFDV2f~ z+QU(N%2Eh@=~fiCxq*dVw!$dBVCjV(lze9)45GNh)g*M^4ph=e_*&o?`F=^Cw;Wej zN!T=?v+7|!i>4W_%MDbqg1`kDf*_n>Wd1xZD_ENP?a zdPQE->Y9_+@#Ym2)^PRq3a-n92$hhde7H;nf1>c0NGA@U3&$AgNp{LPQbw^4Y5r76`5Q`MBRo^QSr8cTmlJ6g~Ylgi=WDpsPB&#lvVQ2>bI$WT=klKZ`u*)EfEBDI5EGd2ozQ5$Z3G9dW7M05KmvN`k6KC%tZ_G`x8{-IM13o0_Wn!uQb zaZFIIGr*SLs#DS<+iN*{uLYK~J?u@-ZZ-=&4l4{?zgFnYzygu}l!j?sqp1{K-wjs< zMth~Y%$;1Bo4u}K7B{HqD6fFnNJ3F5aEnE53uG?h5;=)f5*j1tHQd1h&nwbs3e044 z{U=7X{l&_gjRP9ikm>r)ZmYiU1TXDa8!>X3G&=7eRw4*@Bg+aO1=>UC#I4ni0`qCEd%-vU<) z0;<($1yyI;rqCwST|(4dnGRPvuN^F9Kc^`b{|o!XR+Tw3LI{72@>fK2=cL`7;tvMO>L39F*C z=_={s@tIZ678o5zqMD=W*9m58jIqC}Q@g8VTCxcQE(9!*B3 V))h=rvw3PV)@^eItAvZ;*&pH+_LKks literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/Account.class b/bin/classes/net/swordie/ms/client/Account.class new file mode 100755 index 0000000000000000000000000000000000000000..e3dd237f1b56548682fd7189107ea750561fd4e9 GIT binary patch literal 20044 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 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/Client.class b/bin/classes/net/swordie/ms/client/Client.class new file mode 100755 index 0000000000000000000000000000000000000000..a66f40524f567f542abbc9113951e162f7d7502a GIT binary patch literal 7948 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 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/User.class b/bin/classes/net/swordie/ms/client/User.class new file mode 100755 index 0000000000000000000000000000000000000000..4cf1a820c597f65a0f2d0aa6f2a66034b8ce836c GIT binary patch literal 14429 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 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/alliance/AllianceResult$1.class b/bin/classes/net/swordie/ms/client/alliance/AllianceResult$1.class new file mode 100755 index 0000000000000000000000000000000000000000..e009e5b9e6d30e50947b770131cf6b4f4f3b5ada GIT binary patch literal 1690 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 b&!ZcqrTrOy;oZl;Ou=6{Ds)C1lob3IQ>gcl literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/anticheat/Offense$Type.class b/bin/classes/net/swordie/ms/client/anticheat/Offense$Type.class new file mode 100755 index 0000000000000000000000000000000000000000..4e50efeae90c0f735c7cff743ae959a8753121e8 GIT binary patch literal 1584 zcmb7ETT@a|6#h0GI0rhVQCXUHwE`+nR(8V-HA{=K8Ony~X^UGu&0%A3u$=x<4@K9h zsp+{N)wI^;G}6>V@W5iN{jG1^`SJ7fHvrdBvJn$FqgCiNpVu2JzVd2KuNwGDho01- zUtL!+^cGiFm2Rrhhg%ye1p&)N0!ab;v218xuL+Emdf_NAiQ^(=Naj}jkVx3J!-dN> z=eDe=jX-X(ahHoeHl}9Oy4>{Ztp;0nyU4ILc~9z=4A`{S#XbyBTBA$TrAKpR0q;p~ zd8KgxgEj_S4B?sss$n6G5gf8{*u@bXr7X7rbGlWd zEH-7(Qj4ns6WK2B*+4d%g)T!mY*6)u?g&g^_>a37#R)2M(${`CB{0xU6?rb?mbm&; zF0#lGcBAg=uqhxG93;~8a)w#X3he)vGkH5mIdC2HImj^nf{Tlo;69oXh-y5W>#>uR z$8TqAw!T75>?`?N-EY;FRpX&t4#+a|k9=~y4NM?Ys#j&OBpW`HM$DF`{o%Lmp+wE1 zMj>H?Y8RQMojUObyypgo+VTj+G23OXIaXcn|q4YOK`YP0xIi{muP5ju0bILPM; zkfe(M?V68;h+GyvJmeF<^ZQSl4`#<6QTkPQ`bp|tJ s8d0NWX$+%|JT_$)i_Lt!^S;l#AJ0tw`Ss2e)CbUdQU*qm7U-lNQ=KA&L${<%9j0*umvC92$#-jVVXgFGPnx6k`UR3pOaeN3)%NW5f}C_5 z*SCC|zywYO8(w9$Wy!NWUphING4ol0!H9)>(vc-bG{0&U%928@p0CCmyYG~zr64^h zZ%)rFu9z!pDkoF|9yUDVl#AK`b+_y&BLe*m1Vfea<&`CK@t#0mgdCl}BTGKDwdHhI zmISi3PUM=yawN`7emzr>^eQPD>X9XCIumK9P%b)Lj5$`3n2+l$ex~a3nM#q^l$+;# z=e+I6#d2|7mR2l=Le-(0vkI$L$yVcVGUjjEjLm2r&ISxX!})YH&Wrh z7B$0k=4~~{3RV25k~=l0#9Mt=-y{O<%Wk=plZxSKIlQMXt8+xx&kXs=-(?ynBZ@01 z3a+)f`o3dj99xv0zaUi|c?sBz>rw70-o$rY*H_%Ny&(NfH}7@EQD{dIP6Dpt@oj;j z1Gn4Gj=Lo@`gG(1Qu|#i=es5H-Y?a45DIFgvzC)DNN;G~b+^jf+4?Y6%^cboFk984 zwwrxYHKpGV+3MT~RZLlh!m{nlY%550^P%s5R7_+}Pl)k>%A-IH_!gKL5hLRRKJQC4 z5fGP3s>&b?{)G66p)^U9rKy7Dd6Hp>DWnPP2wbdlR+JACctzrWwvT_->n?J-~yi^RSUP-pY(7CJ?!um$KNTczQ$ItZAt$H@n>Lbn!oD72P6@r`Wg0= zCJNy$?y*%0X8EfW{7T6L+hL_3-M5ECx_=KH=}UX)N+)A`=t(DA_RyO?8Q(+yfrUXj z1?Z=R579=f$8nBl9iYwg><#h(bRn=jtF?!gX(#ZJLNgqAN#Pt;4?;8tJ>{ub&{K|S z33|#C>cA%ELe$DXK}gbLZ*VUC2gRCjaPVPn90|;y(qa|!iNKWd*_W7)Qg)$E*%+0L zH&CYIDzJdXI%R!tFjA-N3YA@LpiBo`;6AE zYLE0Bgk5`NCK3pr;&mPwV_w$+F$rX@0g(MTui{Yzkgi%F3z0zh_aO>MS1phS1hUis zh$!`tViU-V20--H zAYfH;WHw+e;4Fb8_;v8>;@88kmtX%|WPsY3{al6cY*>}*_=@6k!PV2rUY=t~%)Aqx iV}pYj2b%;360^V-zwhC3)J@?{&iS{KDB~q|k^B!io^3t= literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/anticheat/OffenseManager.class b/bin/classes/net/swordie/ms/client/anticheat/OffenseManager.class new file mode 100755 index 0000000000000000000000000000000000000000..bd79aaded4f5679795b31f1341c5e58672b5035a GIT binary patch literal 5861 zcmbtYiF*`h9e%%D8#a?`X%fSkLZG?I28y+1Lkeu5Y)J@`G&G>XWOuR|vY81xvmC8j zMQs(et*v4$-uF?pr6o|X^=`G^_xZ2r;Jv}3V@yX zcMuh*44_IwHEIN!PU@%ia7wq5;nAs+M%)#s889u=9TceS>YfOq7Apb>YN&%Iu*EXm zuye*vCrl$e=Y-=a)3DsIZnEkTI=iQZAPqxhBxt z)jhmSLXjXE&=^3IhGv8WZd>L#fxsElof&bG0z12g^IDF%Y12wZZccz(G_;^qpjOfx zKQ~VuCcBoaLZ>`%Qw(eI77guKB@omT3E!jweamJU>7J;?8iCf1F5~Pxy=o*nHYNHx zlD5ltcM$8aK7bAlw_<}pbKW{J%QckW0;ly<#u%L@jjmXCf&Kg)^h+l;1+ZDeZRlEr zBhSLb(X^eO(+Q}%OW6Nd0Z9*dv`}6S-%BB4wnsxR`UKkM^jRZnTXEezLND;kafv%e z;I0z%m(nUhUSeyDhA{dCH0j!y<7A9DBc5B#!s6c0FjTRpgsAjOo5>l8#W9JdG4tq81!@Ue7({d*y!c>-tNp>*}_sOLd zByzt)FC=O)EC6ZTgBnJqWowvMGI}bAx8raCV;aVBzrdOz=`yaF3hy&h#<)3026gdF zI?XKQjXIX*o<;jr!Z{+d;{yVTu2^g-lFFEHNfPwDRJ?mJx0vUoqZ*Fk9W+MDCJx$% z?Q}A%&+E*oVa{wn86LKijLS#}0`HOmaa^UfBE`#P<5Hm&gpR2I;u;d5k=n{|6sR(- zX}btu*@$I%Xh2fK3{2vfj`MP3|56*56D^D6ZJ5=N%KHD1O?)^K-Q$b}uF~kFT}Hv9GJ@W% z;XQaSL2G-(jXWAXRAgyH0(f6GkE*%-x-&!0K|G8~N#X+<-L$Q6Vk$hOyZV%#tGm*5fBal<|CoI6RzTVV^T5Ovju`8M`gZc6G^;7Feq+a5g+|q#e_74J&Sh z$J4sy$cBJtTT86R5?t6&V&PuHGSWJ$l*$R*RO`5MoILl2`zeX4t=u0Q+Iw(3Har1E<^%i~kDt8Yv zm(|hakTecty|z)vs&%kMn|28#3D&B45mX(yjNL%#I6%qCTD zT?{HZ(-%0~S!Z|O3};EWhKV~W+mf!b6=QLaK}gn6UUjCsoL`HMNJiB>BrRS$z>xQD zH^DJGla3p*PY_t?Tfj&D771g4RV6}mFEgSm!@s@6qB0BDntVqd_hXj9*R;pBU76M9 zM+|qyPB@J<_;nD!!EXcjovi4;XPcFe9@9E)&l+JbK)kMZ9|3KrnGv5ZM3}$PBf4L= z5-G#!9JcM*%zR{Nq!r98I;hfA!J;3S|EEj$NksKjYRq(vNG<-zf+a*P{!E2;Clb7N z_?Fnw!BnTkShLcq?ie&lmE;=0-vu@;QM{Bs0sNEc@{P9=AD;5O+SKx@3pR4AWN*dB z=_!tC`2Hl{6|%bebIlxmigOn^{l>ZZ9c!o9bvxN*`m7VD#Y{Z$k+Ll%V0zG4L&t* z1HOrGaYVG?+kDEy$5F{Ypt+}K0fD{+)b}o6=Py#dA7fD0X>hBA!u6`L6la*_)VeQytRZEq8U&F@h=mtj0 z%d(0TcpmGq6`R<~cjFH9@jJ}Bl2mlNM?WV|e@>o$Umkh-`?Rc7x*yN+t4hiEyf5P^ zu2gZYWswkT7jXL`qj-W0Qk;8elwGv*ZYn>BTM$)(^ms&ag0$oWX~_xFg3C$}X`&Z= z_KW>NU(~NDX6^ao09g-{^$7iOfc_XQ;}7Wt34~_F%=5?HKC>g#Rf2k@(p56MjIE{J zKS6d!h@%J4hzW!+so1r8$8%b)RJutxw&O*giOZAHpq;&0r?2sxu6&>M`EU=}zby~C z2IZg={Aoca?4}BA+L`0l>2o7(#gY2i8<)sL(`v4BU52|mfh@l*l9x}5RrRN0XP z_mtG^La}BSOKSGhoHTh8Q?m=jf;>abE)@t;hyt&q*5YSOAfB&p4s_52h5!nqLVwsGaJyV~(L K`~&|&`~LvPc)t|@ literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/BroadcastMsg$1.class b/bin/classes/net/swordie/ms/client/character/BroadcastMsg$1.class new file mode 100755 index 0000000000000000000000000000000000000000..73cae215f8cde434afdf0f92eb846df87021f837 GIT binary patch literal 1894 zcmb`HTW=dh6vzJ)yLRkM8YgjRT5f^3&4m)D>4i&6Y2qZUsqLh(lTZRpC+oqx&3f0` zT{p@b5_m*WY2$p=bV{2d*;l3 z_s5ra0la{%G`bK=A}((wotZ~A%dv}v64Tva!eAC&z@ZMUTb61SDz z*1o{x_{2u(fhL_#p&O|r(h@z80#kpRW!RQ>g1liWPZ@#s4(yscB`}?k6usbKi9Tc~>xvs#2BkmtfGKlz1|$ZN6-aVX9Ayi{#wUtN zJS1@Jmb$I-wsIQzid$_P=AxzT`hw@V9&bA=ag?`}%WiA6Ro1?*8k!vsOFY7k!FlCv z&ru4Q$3uH{N7pUi zT(nh#?PC(-;VNa_P%YDS!nG$Qo?`33J!{47NbPBfDR%c31KqqA!pludoMKO3&9hpz zKHxhoafW^U{05xwCQmOque&_+oWwKi9lX!GIm7a|c#* zeccL7THJB8{nyejN?c-hwxcEo_MVd{aKP|hy*Rf;%hvS+K?@R#9MlsY)LxTtVpk-J zY)?eRzA8~-Q}>=}?*%FnOKdz^^LAHs!}6(pXWM~W4e0!?(LD*z@0!F4M~(k$)Mmw< zbsV?t7`jP!A&HtmChD=Jty|g%XzvSjR~#$27`Eb?K)m4AsjK@+mZK}}=9czqYRe|e zK*=?fy{0^idEeMeX&Kvei}pEPb=#hyxh#Bw9d~_-_oj6h9K&{f%W0H#V7m1rHU&=p zm+MP8SEveCT%XdHMLI#RU@PC(erANe3RU_RiOev67x;-Rt5_pl2fE%yjGiD?zks;= zRr(H+pYpHwbM(iTK0^Fzh(`zyMR<%b5#ghR$p}XXyCWPW%ydMbVD1Q?VD5-N$()Mj z=b6(H&oK8ye3n^8{48^C#OIk0M|_dFFXCC|OvLld{SjYg9*FoQ=D~=|%-M*SnTJCD z1Vcz6izB4N7{v+FG0fmB={d||o^%1rbU;I>;U)~yI$H2a1H6GZN#DXdc$f4&ypIn^ zKg7qlL;4xM#y6zj;(Po+`XheA&!oTLSNul$yMTycNW?`(43cKWh!`c!iD_|~^o+P9 z3Z(O5SyU-LhL@>165I^*1-njT7yVzM|28JqlN3?@hoQo@|8YPZ8{yWk;x*DZZqRr$ QwA_FqO^5wU51H;i0S<+_MF0Q* literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/BroadcastMsg.class b/bin/classes/net/swordie/ms/client/character/BroadcastMsg.class new file mode 100755 index 0000000000000000000000000000000000000000..e2ddd9ac9a0b2ab94083d32dddbdecf5fdd55ecf GIT binary patch literal 7933 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 UC+Yf*a!%r1(vWHwbQ7-p2TO@T(EtDd literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/Char.class b/bin/classes/net/swordie/ms/client/character/Char.class new file mode 100755 index 0000000000000000000000000000000000000000..81b9d2560724d58dc1e03785d1900876caabaf4b GIT binary patch literal 193639 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 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/CharacterStat.class b/bin/classes/net/swordie/ms/client/character/CharacterStat.class new file mode 100755 index 0000000000000000000000000000000000000000..c43dbfcde432ec95d0c2975a72aa71cc87003170 GIT binary patch literal 16818 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 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/EventCoolDown.class b/bin/classes/net/swordie/ms/client/character/EventCoolDown.class new file mode 100755 index 0000000000000000000000000000000000000000..b5f7ce2b34bc254a6d7fdca35cac136193c28d08 GIT binary patch literal 1562 zcmb7ETTc@~6h6}{lr7~_D^~#pEi14H;)_Z`0L?ZHCfGFbaoJ8_$#$0PPPzOieK3)j z_}~xlM;X7FEeK^X@u8hLmpSJ<-}$n?e*gGML~rR;Kcy(0r;I^a$}w6NTw2jt5VkyS zwIj>*Jual>9yy`oN*-Ffr?9t!z~2eZ1f!JKV#I7!rO%*#RidA(l*YvgSKa}G4CO62 z?Vuy%P9U^<(4Z0xF)9jvF86uFWy5Q8l&TeIghumJHs}FW7!4ger;g=2;?VkVaLirF zDEGz_p4?=Vt}Zqijqjr_9yh(nJMj6I5P@{07l?>arLLZzTPHk>yhw84a?5VLX7o5A z@SY1EI+C}Vj^E)(>WieZ4=?_ik4|b>m2dCt?ltVjCq@$q^|u4R(-z3f2uIDTXAjlv z3O=LkA(uAj#8@_xwu2U&rMf5hUZ;J)!-j+L7>(2e*YTT9=qbDF%*Z1T^IG-)+8?kO zXsUOrW`GGaH_S}cRumVJv~|5d*vPtR45&uT1*8aGZ9Fk7szZPkmt!j3cWz)0c7DGATjlfmT0*ZS%)yDMvvrO^}L#%l_$6ot-zhlnZINT48v#%lR% QTKpy4)?vRyIVgPN580dxVE_OC literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/ExtendSP.class b/bin/classes/net/swordie/ms/client/character/ExtendSP.class new file mode 100755 index 0000000000000000000000000000000000000000..96f84f354731461442483db935caee1e77a12464 GIT binary patch literal 4851 zcmb7I`Fj)B6+KUuB_j`5*kLiYS%N9DO(Gz)X%I2kViT3YMUE*XZ9105_JA~_YDNU7 zOS+`#zNCB7Eos`)C2f;7m;!COr)`?Lmo0)shz3<%f z?t8=Y|GWGwfIIQ;7(!@@BCMeq5rKqdxJl6_@$^5il(etiRNgg=o z8df1UDiGOYTBbWF5Kd(J#$#x~vM6E_r&S<+T0g5Ni@G(HJT`IK$h!hfiN5hDmJ4*K zcU9LcCWk5&eI{!N_QUH)z<1O`N;qRt&u)(3R*5 zBj@T1fb=lxe$hiKNrEMPV70R16mED9Re%1ZEp3 z)*LW{o0H7fVT+Q0jX0>m^^Lcq39e+WDk&QdPOkxFG2Dl9QOsz#A8!^|yFi(0iQUB> zCZI_MPMGerq)y;)FpsodEP4V?HOg)g*$XxGRt;~Hl4y41vJ&V#UbS4aWQ?1RIZ-r* zEX#IvNwY)tRfKcNvQcr^DJdc&nJJ_MZf@}6kYUNiVid;pV%4Bg3ro!VshMlqGt$^h zS=ndyA2>Re89T`;(+6jWS`ZGO>D?QV0{DUBerR=R@IWlIAKdK zF-R+yyV~pSl`AitX3G(1%bJ#Pv|5@lDq}h;Kw)O>yj~pFE2g~nABNp&lO^eY+1bzS zrwl7hPSL4Ouy@dPdCq0K8)0wv!ldTfj#A!@QX6BF8KYE+Qba9EOlo`W2#Qs;=)Q5O zqNGu|zL8nhipRJ257amDG0a1o_eT&$#$g2^)*L*Xq zu3TU8+NP)(v+Mo4Ig#PPfux|ih60Hp!Y7Y>D?(X zkQiQ+TjLq^osyeunOc~GTaa8YcaMQY=6c~ciKT$H-w+V zhRS0@g9UbgZOfI5xU<1ar7pf}@m8FqH$H6Ju53x=5yPFf3r<@Emt(ksA4Ks(4bS37 z>{Dw0RxQ)C&e~^;WLD8m4}FryRlCAw)>;bQz2FNt=;Q@BtXqYm;q+#0`%Ja$cWY(F zvyo{{1)uoQJV(`V)TF%g?)AU)LS7r#-=%{2ruAYm$Foi1Qd^e8gZv@~}94{=9&p3g9CxL&j;X8OLjz8WAu=M`3^!|&6 zC-E)rxEUS`E9s){IEE9&-}ynXND7Ur8pS`^{;zGyF6Bu8n;5Z$TSka~Jc04t^#Jcy z^6u@tzJvGgH1IAw$Orsn;qSYZ@k7dNJ@4PcfA75;!od6Reth5*K8O#|>%$H{g5@0W zONqZ9rPnT63SJ}qO&1}aRyYsyS56vOOUq7tj3dpn!pHFm-bsXrkMJnRa(~;=e-Y9C zE6`3}#EJ`O3*Xt@^#pqQpF!Idbe!ydm;qK@!rBl{JQxz^ul`pCYk~~6j$l9+!u&XD zLl0JCJ-Z=!mDqq!k_(yE4nGY!`jq15(|k&PuJVW9lp*f5c#$ANej3n4 z&NRt8In!pD(Ni3RRBSm7ek}zi+3cfxq<)6)A7LDit~9-*eWwJug!KZKaWilUuL$vH zo1jYO18)rgch=Z@6rc688s$|^Dbhbc&gztS{11@ZZ3O6 zBJ>j0M3H_GTlnaS8q2{_om|N1?EyyTN+s~+njQyhjCNhXNtv@(Xphkp8Qrr4qux>z z_zJ%2^JdUjYJ0Os70caq8LyZ1)@8l919e}936fb_7-%nbv9CskRG7DPt! zDO%v`_=X?S^+R^ckc{R4-^W>2WMtcOXxYYMJQ}JewGQvudE{hUU1!#eIN&c@yM?5Cmo1ei5-%3fY7@z{yJ%(ubJi<-&nBIy>2S{9@ z(CLB|_%_kK@-`!+?GuD%-}Rw)`_Perb+dR&oiYz{ZvZl)sF9FT>4YQ>H-;NZF^DHq zyhp+{NRb?Vk1s-aMm5kjjxO+imciIDFOq*y1O8Xd{|Av3yU+DZlL`uds literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/FarmPotential.class b/bin/classes/net/swordie/ms/client/character/FarmPotential.class new file mode 100755 index 0000000000000000000000000000000000000000..cf11dea1cd73855f607523b31ec68944eb58ebbb GIT binary patch literal 1015 zcma)5T~8B16g|^jSh{R2A}Ym#REoA#SljF@Spe>O#C?8HZc}b-DL0Fxp(flb7szb{rUL|fDPQUk%3{sbTEc-fvFSu zT)Mstp1Qk-C(26%#_#JuCz}FBrP{VJfvg4F!6Y1kr9dTa{348wv~oMK>xDtUA{_?q zZa3MJ-ZMpntO~sFNHqicW~EteXK@L63sVj*V_Kjzgwjp4?>4lrTDqgkt(T{Y7>~C0 zcOSQ!J6r6!{m+7R8#B0S;hKZ%m=!3Fst}lX5`~?9qk82((5oZYu=xb$9Na*W(0%fa z7I}__Uaz(-EC{R)?bY+O3KG{lmXY)l6}b%=b@sx9K`nhAX`P2Fkl)sUdf4q8s;DIo zeMY9YLr?l`8R>LB2%5>Ujs@Id2BW*IQwMz_0+n+#F1mKI5fGYxleZWCQN!}N&KHP= z{mfXuB8l8VLK*GI)4~4jgRmQUDwPKr{&f^Q}Wi?nGP$g&J@`U`LiOPmRmu}qs5zaf~(ae1n=Q7fLoGB)Rn zZ!ufT(64(;J%+M~-FY`&HO;-qPV-B}* thwIp4&_4AlsB!}aBP+~iP-C9&_y=quzN5g%T}Cok#ab^Tdid^x!f(J3_^9(aUwJo1*5wVnZv0d+_96*gtP>2vNoR;kh3;oJ=!Eomv7%#@e z#0wWMUXXa;uD`&u{tKhxJJapj7?Wx??aWT!d7rPDe){?03P2U*FeJz-ln6!;V2B?Y zCx+fITKoFO-l1i>41s04WxFd3a-p~rMi3zt;Rr?%VaT;CSMNS+J9XRAn_b;(*jCHc z%>%6_~ZP#wM7_`Frur{1lrBVN#%VPH0Wh^cHIP>}hd(85^;^(jxeRwwi= z*D#MB868hV*r?ZiD#4DQ8V|Fd;cCy)+C7HwR{Pj7i9B~DJ|L{jPbzLvC=#7yAOOaX zFnwp}O{bC3IHJ7=dq)!qS+9tf&eA;6E5J?6(OZaG&3l_)K&A&M%hil_0rlz)7PQPI zqUqNNoFmECGKu7d#wQm@ok{Hc`ZGt7190@?H&x~O(&e`_9kg$1ppoh~QlSajArjSZ^osT=v^y_V<&~^w z<&2i~tqf+X=Lnt2EM42EC#>$s!P@*#ExM2~??Oa&GsB&3Q~0(H-&5ly*Eq-zd-7ZVZ#KY$;F zaIR(Q(nxtN+j$(@Kfhn!0B&%cpn+zDRu^q_2>pe8lOmV)MU1nBR-VwgHrDuCLUWK# zBkT~)t@dL1?#h|bqF4%*8*RN%b6HB|btxXaE+&rI)}5PaLT_ZOeyoa2m(McGIdV91 zO6F5pn&7X4Ek8F)LOR;A{*ar~R@Gk&1{;*KmIpA-igD#9QoU+FOs9m{{kw#-ttdkB zBXdlQ=PuIIZ9%fcxl-eEWmP}m}C%${INY}*%~ppQD8u!eNdUDodE0oy(H2>a-< b2Kb6^D7pd0HF&a0uEBuzalp!pt-+%|WZi4t literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/LikePoint.class b/bin/classes/net/swordie/ms/client/character/LikePoint.class new file mode 100755 index 0000000000000000000000000000000000000000..dac2856df3cf827c1a522eff7a2f6341501cb846 GIT binary patch literal 1602 zcma)6TTc@~6#fQ!+jZqqF3L^0YP&^N@ooXp3Q3bHL>eAUj4sOv1KVA)yVdxgd{853 zeDDYOql{;E*Fs7urpe5l>CE{qXU_iq^Ya&gMXadkKxY~W4N0UJdiKosreT}TjVdG0Rblh0sPXCQ#{EK8w{Cuo?DB6O1b~Yo^N}msGuJMX$)$( zgv$*1CUDCZ+zAY8*Yr#);GR(t`+VIM4*8T8jwNL?TxpM?62`EG5sVW39UjE@$=1i+k+z%qg^1x5zlZQB#$c4fhoaB44O18*bgRxNH@MuEr~xlkLZ#m8s5N z$u@nTlgxyC-}EB-saJtc8p%;wb;w5=&g3P{8Ia9L(Ri1lMf#u7+^v5H)4wA90~Zg` z_a(e=k4D-0fPw_|@_kxq(Q!P$Ly8z4p%|xn9fAU51^oy^y=?aFQM8^q!gaY@gdMsx*=2S&D);^g z$GhHmqce3zaK>@^1NEd4Z&sFSX$k+A_$hXoo5=Vw=A1edD+XmZ?`g zy28*%eJc8KO`z@2^tYo(ik9Ci%F7!n1~4d) z;pIjUu3O8W517RehBJ6m#RzT*47a|_v2CWqa%_FG=5HD0rzUfwns(VaFhkA)IqkgP zd`XhfROC@03Cmj#nKPT@K7?@MJwh@ z0=*Awwr^F3Wvu)7aFD2eSf0F&7U^+jI@4vt(3i zCP9}xU+xc2{u9qgJ155hzPP-yu~Xc6L_x&(U#XZ?s$$8hRKg50#BdC*3D`0CAfno< zQa*L!Q^O;D{WpLiq2!)gOS<4j;&ToxFJfo{47rW-nwFQ$Tntw3K4xPi+AT%=EB ziT^Ipxn|ksMyP z`~c|=1|E7sROCT=mx+;q*<2%EuM)|$5*dyqQp9Q;k#l(%B@yicBH@n+e1x?Ikpx#^ zM!J6H;?<0d#S&S^MuSKa$si*Gr|4?Uh)yDt7Z3@RBxEyh5NUo*?xz+aQ?W!gG0`AW z|C;_&+NN}y4D@n20L-Ed zbNt!)!1Z8g)cEx-Jj6C#%34|EDuJEAUPvi?f>IRidtRh@F+Ij8*UxZM&ZB3LQ}6ot zi}~b?l2fifLvB2$Ow6Rla;Y=u-znn9fBtF`>I-}!UH=9T)XA$IZYZ_m}og+S6B75&vF`*m`Y(<;ay}b%qM;No<|VZ z_X@j5;X}LmvqP#e$7}lgPTAxCNUj`_%_^J~tTdzC4Sc^{-WT9=3g^4(t-$3ft-hde z5%19zt!tqj9(6QNO?WOTe1OXq#-lK`13%D#YEhu83iIM|vKJ_H;$YVl7P?bWu-;To zVG(%?s=KOcw;c1aCPK zVvISsuJ9Q?XKLEOChD&h zw#0NiTCR61`r8V3v_5jt)8AFNhq9zy!bK^_oZgYRxUWzV)3msV_QKQN=DAy#s<@t0 zJ!&_c;E~-pq$X4GoAzPdX2EeBD@Vcum*=`tNmkYWS89>ljIwSampirCP?E*PI``!F zEA-l1t>RgAPF{&L$8qs;=N!mEvSjI6(8OG@X(wNuKH6-snazOX1=Q&uWPMM82#t{tZbZ(#v5U>y)KdMwX5ek!}foi C7M?Kx literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/MiniGameRecord.class b/bin/classes/net/swordie/ms/client/character/MiniGameRecord.class new file mode 100755 index 0000000000000000000000000000000000000000..c87a29643ab8a36896573d6509aeb0f81f19ebb3 GIT binary patch literal 2139 zcma)-ZC4XV6vzJ)10i7)Diw zy?E@Nau#3WTn3{W=kb-oT+F#sca0ZV&c5y2PGEd%ov~T58)nlu41(Z9msglL+0zA$ zi@2naYgG?D<8SaF1yvD<360C5(!M#g{o0Ce*UU3fr6TxOz zNJLlGm>1m$t-5s*711wh+)vU=VCZ~_7`)n=>zR#%#;)0sY&Dcp!B_k_wQGwiMIu;-62)^c%&QJ_U93Pj|0_x*U|*oxe^ceQ=b{&v6>3O%l! zgbalQ*=8qU(>+&CvSKlBH4l8pNQDvQzYQ`c&kKvX!iw;h>UOJT7|gWvFY?S(ijPts zM>Zd4Dd~<-vK2zf$`2)roKi!{tHtpFzZSS(Q4W>!f1O}bOQH>w-(22f#|Gmkg?xmAY+LjE4bYQa`7$3;&B)!$ixvK5_SP$$0dM_ z$3gOmAgjqB<8hE_f?PcUMDi{mZ0`h+$v8+c5u}m~G8qTCPLR1HK&0>lgzrcK$W$EU zW+KQB$skj4kUIpqdjyD7zJUCQwFo4L>TPzW^bS|wf#aM^zlr3xk-Qhl1aZ v(Sx{$5tP|+^O#~U&0w*MVD@vB&SD)K^qfL9EXSvKMw#Qv0RI!455_(MyegTu literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/MiniRoom.class b/bin/classes/net/swordie/ms/client/character/MiniRoom.class new file mode 100755 index 0000000000000000000000000000000000000000..1643078e9d3cd546f569e2a5a1cc6ad3927da14f GIT binary patch literal 2792 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 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/MonsterCollectionExploration.class b/bin/classes/net/swordie/ms/client/character/MonsterCollectionExploration.class new file mode 100755 index 0000000000000000000000000000000000000000..8575da721fc27f939be8af99fb8a6716c879d41c GIT binary patch literal 3606 zcmb7HS#uOs6#njHCOrwAg|LZ$EDBB%%qXZO4n!mgI3XcGVlXUXXXYkpoOH+OP9(0l z@4G(u=8O7*Rayl|S*7KZ5B?@g{Z4n!l1YPQlIfmvmvg`Ko$cn&zkm4+z#)9qiUgVr zBu%8ytk8MMTC%bw%bCrNO<&RlU!nP+?bv?5LQ|%DvIS|h7-%)I2ByM6NBddtdAD4& zb#~s%7D~2u{A^*)Dq96#m$Rd;Tfhk~+f3Yr?Hrud{y@p{JcV_c?m7j*V6GKAvCF{S zChoy*g|)Q<@{X@(b(y9tS*1liHlwgHldsnht)Py3kulJ1q6fVd9f6gh8+deb&hq9& z!MQpF;cTuu-%5k;Gtq}E4JO{93U@n*__pk|;sNY4u;0Xkct~OE?G`I^`0j{Xuu9?> zAzxujg%Y1)cEw~a#UPWPL@N&9Q3E*>2XRPYQ^3*c4dN`@S@fQ87t1txYi2kiYxUAx z8jmULoOh?`*F(F#9HWJ=%5To|iSW?wq7d`Ai6ab;!g~ z9HZa3VM<%{AcLPA=P_*HxHx)bMXrQf6*jE&ZdKz6j2Sp-;uKCR+!4p{lZ1$ShqKQ}3HCl;MC@l<7I&{`gwArJnX%$zlG zu41e3E@Kx=JS}4_LKq$5Q%4@pn6NO-iZJ7r=Pj0o1DVyx;-Yi)DuvCb7aj5Hr0v<$ zCH=VLxbzq^kAB}6Y`C0V&}GkN{cs98n=j@RcEwB_(~f3A(Z#@4E=qg8$g?acw^`4V zCYBeptj`Y)otVf^Ofi;Y^bfesk}msP*is0;N=D}zlZtarSmLt9>1=hSS1nVK9$luU zU50Qjy|zCKds9X7D-U(3i4;tD%&DQgGqnRCM*4`j{HB>mZ$E@AExAmQj%H8g`J$N)%75sI=P}@D9McA;#SU7OVZBFf5T|w zhWb?95EE*mcnwjUjA}L|?y5=6`ng4`MCMj(u9VEP>=UjqUaQy96#e7RNqo1B`&QxE zQEMS`L|RI4=sM{MLBNUjvoYz&G+_(0m*`Z*qnb)ZD%>0%7E{d(e9Z0=lRV^ZoLO1W z((YLBB2sEJ*LBoBF-76dm?$1%viZvlf)K*W+zQN-uyib`=-cPRhIz5po-gWJ-}cz= z(rl05l_4Qr7YYSRYbh1^)|6*7W--SBUK6DLOD7KA?6Sd|9X{H&hHsmnO9ed3#?LrI zGoK|c+t0V+JJs_u)K9^_c|N5#1KW^fdv^HE3>U%00wq!K9G{|KiYuG=?hpk%Tdu?C z*?S#rHC0_y0_@;(Ct9!z?YKKoxg*>bsiXpwqhmVcazeEV9{lK-Y#pkX7miq6nV`4&>I@H~!Hfm8^)2IDH1 z*8}N`1#%h7RUnD*h=8a@Ao~bp|1E%sljUIEK4O5h{n!BH;aDIq;KfxydRI6rWaLo- z$=w1-7*$HTeGHHdjX?TifxLv5r5S8UDdRI2k&w}O;no*PE5Q) zyY}9|{p<1Y4Lma1)!%7^s&C-%_*By9yq~j!H}S+xjE+yGQi03^L%BJWCo8fM%2O3N z9m?k`a%c0FuOqfX+!rO@LeloIx`6krcARIGxqyAVUmd|kQuhp|d8=~ye2H^X&O#!u zREfNT_wYU~YiAAm03Sv~?nmMuW|2x7boJ-)- SpkR0K+h>$Nr}8g6eEBbI!Vg^l literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/MonsterCollectionReward.class b/bin/classes/net/swordie/ms/client/character/MonsterCollectionReward.class new file mode 100755 index 0000000000000000000000000000000000000000..23879d70aa31cf533f2eca3f3186423c32a8db1a GIT binary patch literal 1218 zcmbVL%Wl&^6g`udlaP{7N+4}{1ZYVD)JuebN~i)9DS(uqY%9kZrBm7C%62I5O>B@r zNG$jOJ_>Qhjv5i%4V$?$=e~~5z5ez4$4>yy@Sutu@)im;6j2gr96RqF+jI2Hemgmq zZY)rGssL|KOX$2K4egt$#}TX zh|2egL`$U5>37EhRR)bx#rUBA>`|uYmC;S0Onh;zj)HmU%9qNhwtdcU_KaZJ`n;gb z@kg?2Wr&x2yAjq;hkoduP5m%T#vY-~x#l2n8F^an5bsyGi6z=5ZO*L0KN#0wfz=sd z;;!<2EkX+xFWg+7n}lszL0jy7hxn4z+u~{5VC8L|rV;~i9XDtNZsHctzmvbh`b=jI z%j8yOavQf7$@`4XF{jkq`UY#++WcQ&vm)D>_RTbE(cVx?MG&}?Nn~x6NIR3r-E1Oj zt3-B4WcM5*sqz9lnM4|^M7o(ocC(2zR*5_$k-c+>q~p%vUNVDDvLI&gUA}wNn}fgq E2X6Y>umAu6 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/MonsterPark.class b/bin/classes/net/swordie/ms/client/character/MonsterPark.class new file mode 100755 index 0000000000000000000000000000000000000000..1a1057ef8b44b07963f837ae79c5b02217031c85 GIT binary patch literal 4867 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 Tp7xmP>5FM{HPhufI*jkX6)dr1 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/NonCombatStatDayLimit.class b/bin/classes/net/swordie/ms/client/character/NonCombatStatDayLimit.class new file mode 100755 index 0000000000000000000000000000000000000000..0f7fcc5529b803b34a08f4b37c758194d9d276e4 GIT binary patch literal 3665 zcma)9YgZFj6x{=PKo}LRh@dE_*bu8xTk8Y0kcc)GK}p2=svVLGj3yI0Gf~s``ycdQ z^h4X#(5`;y59p`eJ&9ni5y^pmFLm@BKU$oA?O5?Sn-S*?m-pN{>$QQKJd zR1WAk=t&%9IZAZKbR5EA4TDv~ac{3x3|Hj^Lfhei+0Y>yu361qHLI#**3@J##&I-> z*L9>ZpoqUAF5r z-%&pO3f3pK)S>epoDz1N){ssYi@73yTW^_Ilud8xID@w}^sOjYLh4^PNmNYX9L^_k zLB}L6G6bRXllGlTRIj{Bp4rSuIci&W9gg^^|p>h+|e*h1GAmjHk$t5`#6WYI_}{P%FI-qEmUR*J#%?3%J2({brb zWeb%_4TmCLTvL{^nLL$6quNkZ>Tz6IuQa#RrzfGR=ohZc%#{kIyBhXI*w5Fkr^+6BZr(|+AcFGiUI2dt za6-t&ml1bALyEdhMsO(NrFT1WnU+zb@d2yOIw2j$A(1Oav+8#oy}+Vk=UL?)#aoOC z>oCT&?qVP8<&${<4Igr~lPiPc64zyg3KRuwcNBF=m-0q-A8%yG@kTZpZ)AJ%MmCke zTp!0}{;ia;N&{?aR2ZOuC6!N;tG_Al<#;;t8??;67Lu9$Eo{q-w9ua!h_$dgGZ1fK zFf)*7VK_68Y+)ob)YHP~&z`f#d}fg1a|AIQpsj=0j!}9VV@o{5)nRt2BWxq%IEABl zLd^%hM^sVcioU%gYTir^DRDXNq3!l&a^RRZlOxBynH)Od&E(igZzc!t@lKZrPB%qQ zVs}@j+yDK7Bfo=3J=sPtpCP~mW1sQR>HdxYohIctu$JX0*5a98vF%4rx**3FXTb4I zo8udsEnEyXU#7M=N=T5mh25X>u0(>f$Jg2jPQtr)am*GF*xC%FKMdqdB#=6aQ9$~` zK+Y4$1<%6EK!iU6gk3KJ$nG$ZOOZgavgvOAp{8fYy^%iTF3kCcpUXAnPSyhMn6`tmvwfO zbv4bxaFW2zF^#8K<=Tloy^+|{c!uYM#(!lZFD)6qw6(}sHKQ*r*#_yy%4Mt?n}8%X zfFy$QtKnmO62xkAg?SJL(u@T1DLxA}w=a#Q?m-yHX9V(j2OxeY?B;u+$roNv+`-wG YTz^IDUpx2)-*S=SVw_FoyQ!gn0Y_!7mH+?% literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/PortableChair.class b/bin/classes/net/swordie/ms/client/character/PortableChair.class new file mode 100755 index 0000000000000000000000000000000000000000..6ef06c4a776243eebf3a10deb56e328195817d92 GIT binary patch literal 6140 zcmbVQ349z?8UMdzvy*J5Elo)vrO+07F4mI_UYqzRRzX%dKGkeW$sQAk-J8#~5-}n8$ z^L=j~fBB)q0M1l3A(Wt0LqJCvf(pm%Fvg8=%!m(#yZd*T5nCa+AsUa`%?hP;^?l_i zS3m_qsMMhAn1$I2E90gePF|9*2BKzoBpHsxqGsFl#0}OI*vuPLghd-IT|x2 zT8FJ9QM;@h8rj|?TaVLmJZdQ|GEAAvI*$gD;4Fvm1RV=-A{CF?=16;+f@%+u-$EUW zuvnpD$h6zN6`F)=r(lVOr8<^jIR*LUB;rZih}+4q5VfY?s6sTk&D?E!HVM?V*KZeA z^*S1akIv=9C8p)9%fbpBD`kOnTg+s_n-3wZV>M1ym`z-5xmKyFtM}Wb60gBp4X5c? zhu4xMYicnYZDkA$C{)+wxW)~Gruyw-(=&9eN0UNega~Mu4w*btN3+;#j^`6|plfWT z-?YSNX9?&QCw8b^2(3EWaJGU*u%d;t(jhCa*KrQoxspt;1nN5K`$E`^P7PahbfH^e ziQl^ZP!lgIl#~6Ys2QU&OK1fj5hFD=5FV8Eu(PX4q@1f`D|!{m#J`ReJo7o(&>pwV zA=Bc{^U$Z^d>wC)V3?bYVQ&Y8N8@&%5gRi@*p4@9xKPKNaFIg24@M*rk2AxfiFkO_ zi0otzotHGNozH~&!%dLsAIGs~p*WOW}OAeFnF}ug%Ly&KVp`l+#1k_}aPjG?$ z^j*J|Fa{z<(qo}eSLZidQBmTdK@4da))B=Hg;RXOicv9%%y=X*VA5s`CWbz_gbQ$fE=01WBMCCmU54(8FND4AF4S=ymk7>~OR#amrk^%r zLdT`JjE11ZbH~i2y~T(dbhyI0!T>5LaJz&eoJ&U^?7?0QZ_)8qT%oYWZx(;x7P4?l zjl+~RZf@EFPLm*Lrxz&~IZV?9q;N{ZI}{rI3cP}0DsVGy z(eO?kx8hxeac#!Oc=|X7>$MGgj8@Y)uxyh_aI!y~3wG0G`|ut)2;a*xUe|tf0*R$zWk79?7fpj^ozNr0R2eH}l*Q?4aD&2f__4_lgES^ANVALA!(n6-=>OrtjbD4aH< z=8;Ul#~zaV!&x#4`x$<&;TJl7iC-z4THG41z#$h%XCkrl{{SLn1o9jFR>RXeekVuc zs{`T+4!S3Y1j`?E{85?~?=b01#CcX#^hSr`EI$_gv&5}>na*@WP8Iar)y#gX;pp|k z@fi7k@UvWY6}DBz+aYEYot4!!F01pk=ORl^HL&XbCy@u zu6)}}jHd0g+`ql39APn=^*v8gAnxQ~6%FOhr(0k8A`2@!sd-%;gPG@2WGAbd=Ox|F z^!j3kGN)j(jmZh0ObMiKLSC!w*gDYfw2W#yO_@mdfC@_sJf7`0v#p{+$*vKFwFR5~ z9xm)ph(qn-?eEo)lBTJcPDPAfJX1owi7_i;Zi+eqpBJ;M;ClD{qj$ycTj)BDXx}$xE#BRiNz^nfn8f^p4u`++cRpoZJQ%OTEg+)@elrr{4k%gR@U$!YVPNt1R^BpOrGp8)ZGmp zLxq3hUz`!*X6|;3;o!_dbWOC3YA$y;)VRAckb)j0MM#T1Ub#T#-{S+)P!tH8e2;hy zpQ1&1LkcHN;bcGksvP?Aj3Ny)(bxIu*A%7ajkLJ@MnC?HY1D z4cX*yC^V#aRCMPx$K#c2$O^wln{$AaWeo8=>;fQ+yb8ZZHxfwe3_v9K1qi<((A)md zs`3NbR0PN~j@MrxlmFmFk4X=onGmZIK&4KAx|Zo6pv^M?aCtzKAh>m67@OTTVEmNxLYaiNjICMiHEbhwY66t*p#!UZW@ zob`DXYaYx8fD#<7~YHwSj5eudpA>Wi+YCYSREwkfg?`}uvOFeqQV^+(2wTK-Q4J6{BjCk6X=;GzPRIWQK-Y-5qhBr za)cgUAFK^d;oIxA##$|f?+JA+rS1x>3p7>-Qh2mFupe_|?T0D+v@wNWm(I9y;K-e> z)hKgg3ct_WSt?EqIEj2W>N$?mCp&m5?BpR9IbF2jAe9Fx33Pw^Yc6Sx9T;YvJ>t9Z;^t*UX2TEMRrOL47g#PwcY*c7q_U3ajWX*7l9$(+!MG>S-4&8=9PR8r94NJgFJBW z#R%fYMYBtNx zR<%OSQOBT^(sYj^U9?;Yb16YW*~aW`8U~MWSfU}sp*#oG+?UXzVULD=FJh5~gD+rZ zkGC)2?sHe&-7jG+xakNhReA0z6*;Kku*Q0d=TZASN&+v+7xEHSB?8qvbu6DDVxPu! IsybNlUzB(N^8f$< literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/Ranking.class b/bin/classes/net/swordie/ms/client/character/Ranking.class new file mode 100755 index 0000000000000000000000000000000000000000..a18015e7f9e3b01841d9765d250318d13ad2121e GIT binary patch literal 1614 zcma)*-%b-j6vn?P+bvzDP(X_Ory$TS$|@ov1#U<*O^6sJ^?F%0uuyhQyXdVCQh9~!;#9lQpkA(~tC5l)QSdOy?zE2nS0^d5m3E$byl}oqJ zy1o;fxmBOWT1iPfl2~DhTvtK?tx1%4MbgU0`ztV&DY4EABfSfBh^ih^eOfs3eE03m z^{Lx9u}|xi89NFbyI!*!9?w-$3opE;K=~+6->35xYDBZA5xMRpQkOLEfD%RTG}@rI z8z4|B{iB)Cu}Zl{O$)jWT=}n4MEN1OX*lj{kFPG3Z#LMD^mh%CO973(WIGzA*gR1r zw?vWrL2(Fz4ME?>H2X^X(iEr7I|y^8g^W4dLe89PA#YA-EsTGU&OYHi(CIr&8Y9Re zPoq(clNYDxyFn{k?MkrllxDo2NklYa7Ur8~?_wYtF^?9}=!#~CD)4^8)O02BBA-05Tp2*-Ql4N(SliW!o9s1oE;E2s@2IUSL~+xaw~%uA8@* wy2TvFWffOdEK}^>w?G2GEcWJCWooI+McgU+6jTmjD0& literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/RunnerGameRecord.class b/bin/classes/net/swordie/ms/client/character/RunnerGameRecord.class new file mode 100755 index 0000000000000000000000000000000000000000..f44c93588917fb6714a68a065a4adabe3d160863 GIT binary patch literal 2260 zcma)+Sy$6Q6vzKlN=s`57hDiTQPH+2QQWN{T3MoH5qo&>#S`KP(KPX-sUE+R59)C{ zKKKFrQ0l#tKubu$Jj`U4d++aV^ZU=wUjQcYB##ujvPf&_Mn>SkEAy?XJEps?FRi_j zRv?hMYrA$ZCD2tUuIA8#To!o^`=AMoxH8Zi?>zs7E%kasZw9ub&)SZx*>!oY_Wq3& z$UU1`S$bYG7G?y_R`(Pr=h2J4EDmTmh(iKHyGaQ2y!5?#XsA;75ADTW@04@s$B`_K zYB+}D0+(aPEytE_pj#WJZ(4!$^_8aUN`KC*%N1!+7zFZ;*$9>$^Sz|S@b1>~IDx?| zhBTbSFhwVB%_HSjV0*5<)C`tQ>$RkO5^6{W{l z{x5sB8}RL`8m_6^fftxgRla1#3egJmRc%);HtTEBubFEO?HsClmg%gTzRl}sGaYQ$ z4S|Vx;P#AsnJP8(S)j0^60C$!mW!+8t=Ed|=nkVvQUd$eWl(L)^6A1JRYf9=?II&P z2)DJ4LhB_nmCZ`yJW&H00==Ya+qM?rsO$)6k*Uokoz8FOE<9~pvW>8YRSrY#+csEx zt(8sI-nPs?^_spVx#b0p#JgdfUlX!vaFbN1t{ReZo91@K2$f5U-k=PP)NAyY;@VU* z)uEcH^3+VVre>-wntLJmv7+%httLrM(A-!04pI7y><{e!io>6jzzrJtg#&U()89?{ z)57bxh1;|exPx+}s*WyocVsN}4FmC^AE&+{JZdQ)MwXNuC!PUPe*%3NB)^7eJc-j7 zRtArTN+W|H&+ig7wH>B#FEXvGHPBu9g2Nw4WeUvBPO?CYyL*d!8uugNDY~sfSsF|5 ze3anMw}E7~Kr$-u4DtY#NLM?^=!Y0cF%je;`5ES-1v2;*qpc`~DY!%+;~hXa^9(YR z2vUrLTuB6(O$I5(L9P?XjSe7OdJHm`2y!tFayt=ZJ{ja<9AuI}raFLd?K6mx2%^V9 z?k9pgN(Ry6ATtCq+W~}|k3k+Mf=t9gj6{%XGRQ<6WPv~yJAiQa3o7&lRh5faqB&1H LJ@g_hPY?V9uXdxA literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/SPSet.class b/bin/classes/net/swordie/ms/client/character/SPSet.class new file mode 100755 index 0000000000000000000000000000000000000000..9d4b2861b83d153fde2f5469a391c6ccec362f18 GIT binary patch literal 1373 zcma)+T~8B16o%jFC$tL%M7|0NC{il2AaJFUSo}y$gT^*ZxO3Z`z>;>`>~2y1lQ$-U zi5LC=f0Xf^*`|=X8gFKL&Ybg{Gw+=3&tKnv0C=;vROGpA35b$nj2p;dLLlaM=_)JNl!05?<=7dTw++l-Rv>vIgDQhqy{!E6 z1{RQ~-w*wXLV2SuF#o>i22NYn9p7oR`Kpf{6M-*X_oCL z0;>@Ruca$JE0A{GYV{<8M*Kk8Cl~*WXQkRjSI3uMygaIvYsUhK!;UQlauvswN4<7K zdNqs92~1TwO{-P6JV)7mXCgRt*zJ1dzeHtc$wEorJxeLx3mDVnI!97|02JuCQ-Q%ie z8001}jr;s%gh5!t16m5O&Q$@985!rEQ-EUr66xaNCC08%Q-pwnm%uD*&tV+%8o3;% z^^pYVK2;Gcx&6v;>pG za&A+C9ZmRC&T!TQwg#+2J%d2DSiHh?{=*gKhJkw=sQnwj?BIQ}`mOn|1yhT+t;aY= Ndx!R83bpHF?>Dyj(4znV literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/TradeRoom.class b/bin/classes/net/swordie/ms/client/character/TradeRoom.class new file mode 100755 index 0000000000000000000000000000000000000000..ea8e4a5981e4e10bafe9f84070fc92978c4e6bf7 GIT binary patch literal 6573 zcmcgwiC-Mm9sfRdmw{yzLIO%O5j8Qey9qX051?p5j3IJZK#~xz$uh8;EIYV6#GtMA zu=imvTebGG*0j~uqlN@ikG9sf_P!6RJ^ldy06(_r_xEOY8J1N@?WdoR*_k)*ec$i+ z{=Vv8yxIjGZe1=MW8khKVz=hAt*kIfe6jmomMZPIMSJ zOJU`_rCV}2Yo<4yrxj}vs=+xp*T6ax>v5jKDf9j45oem3W^6BM@jML#ykl`o>*6Mf zNQ;S9F*@S7DLWTsOWZ^P8yUX|+Z|XC(G@K|h|ZeCRP1XraX#KcW7wZ=mocWy)CMk4 zICb6~@wf(?@m3QT;bMhwK7EU=+0tX+Qo@!7)5+#tE9>UluCylY?!uFS4ux||`f6*L zLf1-Xg)!4p89Peab{V+L#O2shAb}2GPu8_3Y$nh+Xl17DfpLY#mY$#sevghQ+R-hP z-=?skjN6L?-Z~;aZZ~lycF;L%Y)qk{%*fVJNyJVQS4kqO7}!4HYZQIxH!vVZUtI{F zHoDizPLM_|JA-ygqt4Kvi6NnnDH+Xev&XIJ4EfcEYfOw_mqK-hT}Q-S9rB$9_9(0? z3FD&D6aI>wdre%6>saH2?-uH}kSEI-%m~)t1`{{RXz_ADI4B|7XCes(rz*`Fw_Jyy zjSI-f8rSXgZyXZ_QYO;auTVcvsX`ZKGG*oa?L%ZI)n`;jWK2vVOPXbM^Qr=Nu!JPN zQzmYbeq!8UdLrc-VDZP6a*kG0t7yPv6uU8P;vjCOZOpf{4Ld#AgH$mmH>1$jvSg^{ z(K=d3BxEx}j9Vy5}hcRELRAMxxf2zcj`N1gJ^FwpRGNv5FB!jiMkqvCYFj+TISHv4Wl0aY zR`LL2?ayxbx}`9(%sBKcX=otP5{}T6L;q9{10!z~5+{Se-HXQKPA!mPttos(r4^xF zUy4|cw9Iwm!UW7r6_RkM1bY#G$^rf_sz70UIkvy~sT6t&3*mny5XG&CF5D_^PW^Qz zwoKk|H6jakDm?b4?9j&l--RlYWBJ-j{6305;Ex9WBuo9Dx#QKFN6lhx zHk<=?o415}tN(T$IQ5q8?%=WQ2@&M zW#I1$Yu~slPXk^Ma5gur72Honc;%5E3J>zB0*CpZXYu0m*ZIuTcJcWeeCEki_vNvg zzjb^U!8dt*h)<6rj1Yf^V@IK4$6@R_is~bX&fnJYb|qUIj-W9XKZ4bKk#p72))iPyo7dws#As_Lt=+0!EF$yY54W@--~NBf>LkD+tpQEY9GG=-ZYbGV`cyCihpr1cyr0j$LaI^V); zt2Us^!z&ulQVdfIj$l@s*Mg%sMx0uPcn(hzX$@&~9N(phPZ3p|@ZLRLeD@6BDLIMy zmInj8x-`IvG6AlT<2HdMz`?I!9E($k<*W8b55)I+a?Ge6-35Nh=CddKjNQa zasLa=26h`5e--ObP(doZx9qOuyv?|ma;>p6-aB76-ajVDPw)b-0;`=?QAZG^yU^PXs8m)E$_A~7F z%&WMM#Y`DdR}*ZsmzV4Ne8uhOLoBf{@!_VhpZK%o&QE+~qoi5#?n%wz6EDU$&f-J& z;`Dg^$7XS7B0h^xKZ(zQDspG&VF3BkoWnJ&(3Uw{z=sNV{dcL`VPdD;2 znS}%Vx^@@F@BnPC!{c19CMdlrDoh&BA%j;~9Iqlv{yM4}Q|bcTq%K2FZROXmewKuk z%pgmvlM3UB@?FKdS6CdnjidZK$-B>vh`P$xo~YXHuZs1mON)F+m)3>!z{3?m_i*LT z!{wciD{bD$pOafsf|nqAg6oY}f~-3JZD#F(u538-HLTQiIDfb9HJqiJ){ XZ<^iug*)Xx4Io-5N24|w_p`+4OD7Dz!iRpUwI{fYy5gz6=&*4 zALLGjRd5)FJW16Dm+IRBg|(_!SgZWdiL(YOYP;zphy9w575EK)%ik(a_B;On3;xQd NDDPgv-|!DK{RfZUtBwEw literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/avatar/AvatarData.class b/bin/classes/net/swordie/ms/client/character/avatar/AvatarData.class new file mode 100755 index 0000000000000000000000000000000000000000..135a4892b5fb232f25feb3f065bd098a5f626164 GIT binary patch literal 2759 zcmb7GT~`}L7=9)J7Q&_^R8gRUrM69oWuYxpOG}0DVK9XjVzjAWOESWiWS5g&s(9~@ z=r8cb3wsVlj~D&`f0V~(c2fw+R^(=8XXbsMc|V@_o&EctKmP)7AK%9iK~zJBj!tw5 zB%YbiO`~es+s69VGgq$GaF5xN(-Dr+^tYX_uXf6iB7oY;tUy zp|u>_Sl{;^ndM#S&8CYn4C9i9_jHV4RNzYMg&|r3J;60Oo6dKnaskR^9b>q{PzQ&3 z$KF<_tLpTsa_ZW7Qx^oJ8z~)WjFTtZ(ra;eDwS??w3QC0RAyC#Kh$vp6ATvtSDh`N zWt%ZfVoJkJ9k*~>;A(p$T+g&U*Puq$v4aIMEVslIDpxntB}J1N9e41NK*XvDh+K?Y zcXiC-oq0Z@epitvPZAKj2*tb2aCX1G9ZB^yGZ9AkL zGw%uvEVR$wgTU`5)pZhEp(G^_iPLfx*X*4qdFDbJe<2YbGJ zZgFX?kSjb97zx2&bu2sURQGE(u{&(DM&@1$kz2QA!QntDt!%nwQ&D_0L@*m1Hg1p3 z=ktt?Q{US$?G0ITo}1MuJCNXIS-(vB@|G>v_G??RUN9Ldf&RQxHmgOmZmD%+v%}l5 z7`t=!4b^#Qanfzi`AmCxwz9T8<>?|T&v{+DWM~`nLyDCK#MyMpyARF1hBpZsbgCu< zZk}z=DGfFb;u5EscAcbQj+AH1&Ixq#RIO%GrL#-4-C4q`&bS~wljeKOj3}|UY&!e( zvRt-Qs``S@WaPA!c9pWWFB3S3Bj)4n!#8ClL0FSZ3S*QlW@wDgBqrh)aCv&wX0_yuCj&d0w%<8)u~D9A}b|J5eM#BrDs_!i$0LB(D}q&KVa XUnK(5cWBG6{64PBTvsT@@|OPs8@^^} literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/avatar/AvatarLook.class b/bin/classes/net/swordie/ms/client/character/avatar/AvatarLook.class new file mode 100755 index 0000000000000000000000000000000000000000..b519d877c4883b8c785616f454a2e41b3a9f9514 GIT binary patch literal 14605 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 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/avatar/BeautyAlbum.class b/bin/classes/net/swordie/ms/client/character/avatar/BeautyAlbum.class new file mode 100755 index 0000000000000000000000000000000000000000..22173ccd2bf8dad03de780604c27c64dda50a037 GIT binary patch literal 1779 zcma)++j84f6o&upV=a^>anpcP*J)~(Ito-!LMb^ET6!3DLc@@ZXL>2ydr}oy%1GM< zzW`6c71waV3<)z_@Blm$!|-oOIG&&aH``wO@UL&3^!uN`{sv$dpBgBjSVhT185Mzr zm+mXq_TAvf-tWJZ10_(|@d8iX6DW4qdo^4@tqQ}$8!!cK2U6Mb*I_jDq&bN9O zJCf>vyUxSJy<^}qmaBNv#9L?xw9mT_gMiFl7})z`^@Th5N-}_&3J z_Kkfkqu7fTm89(qw*{`}96XVMj9ev$J=Y&gUb+w~Z68hk^*%ivPL7lN&cjE~4xPj2 z4CONhB{09|1@hT=)R)nrOE`i0UN~_5o*Q}E&NfTxg-6=Wz4Iyi?}`z#+;x~YmMBe> zK)3r3p`6@r>o>LVtQ0r?*DHa!1I6Nf?jC3KW%fbV11v{5POVb+sdixKCebaWZx}qA z8Z~WX?PDB-<7glsdpbo6GYxr5*H2(2r(BO%bv0r9jhw>-jc2969Z_S_YxK+@zz+Zz$oJg)+T07hqde`~| z!YZDi`crauo$E!4gY!^A12wF`qGhJHv4MAJX{AP{v`-}sG(T0cuAE@*Os-BLpvmU=C#ox`upYx7}NyVvKwVFBNYZSju@ixUfiTJhj*^Ic(hK@LO zqocnCJ9G1G=B8tvVqtfqd5Wdx;>`uWzVbcl8--I`*(m+w#eR?f337V*Y+tgrH{yi3;T*)B zT!_2V&e$Td?u?3Vh?)LMA@05gBCQiYI=K*Y=OMOoAwJHBnCZ$CV&^pwdSv*y##R#Y Sb~0o0w0CIl^5kBOPyPa$xi+Q% literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/b2body/B2Body.class b/bin/classes/net/swordie/ms/client/character/b2body/B2Body.class new file mode 100755 index 0000000000000000000000000000000000000000..5e6ab2514654d699fa31267d7d6d329b7417bca8 GIT binary patch literal 3431 zcma)--*XdH6vxlD`O%~crPxquNufYWvi-4ARK&t6DO95U0c?p>1>GhKT}YFfAJsnS zj1M~FgZ>>p@PIRBobkawz`w{R$M3njO_Q6u19`~Vd-mRQKi_lDJ^RmpfBj8FH|VP* z4bWhmB05DWrqPLK&c0(-oa$3^WBZv~YHAd_?p3{}rO{wES4_|lCE}FSX_$14=BsYg zYi-H&kxb9e>YAtNQ#h&|nsQ zb484&9qc+qMJn*i*N;%vF=k=HxYM&8U_}uqOAKIGmvbHsUJfDnqFk z;6a!}Pb4eS7{{bdQ6rd==K?$&N3wa2GK>j_^`OzYe&$}CSbzve3#R*kd*|~ONo>(6 zE@0SjAxOs+$=Zk0f?D$@bOu8RU~|Qx&ag0e(;$zAc7ZP@P`3*3@u8kb`LEo%h-Xgzou;Lac{ zuCB1St-|8|35)wCEbf@FXc@wyO$dvdCM?>7uxJdzE(Y< zX|%E_w5qe*f+z!}?_tIrKRR8b_c6jgLbWEISU2ZlhMOP_iYL|-5l^fpDxO$ROi(Wc z)c=a?5n27zY2!4grv-IJQ0I(PyiIdPYDj2G2u;a0nMZ0C#YtSi&KIF312xQa32L%X zlY_@V*PBI8o1?2Vj}Oj*P`3v)py;TxI_fNOs;tfu`CxSx_hF&V;@&FMS=>#bj^Fb6 z@>y6SADmx{KLsG-CqCsQ^k2vB{@IzZoXM#12gP6FVE}L>Qbm}~>DT=U0icF39|Vgn z%x1ipIP{}b@Q0L89#NDBM>yrr>PUE`DhACkdNt;J`mi; zX&Gbu5Emd%LO}R(Gsvd$){M#^o)YAN`qqrfAiDsm zhJbLdWsss0WK0J6S_$&08e~icX#r$E1cX}~gFIA%m@>$L5@bsa($(AjhV~smz7GN6 z&dMO4DM7|%kROyFpQ}N}<&69Yke@<8_>;#VUnoH)WRRbgAdl1_UEgj$BfkLT*ANi? M;xfo%(aXR5A61{_(*OVf literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/cards/CharacterCard.class b/bin/classes/net/swordie/ms/client/character/cards/CharacterCard.class new file mode 100755 index 0000000000000000000000000000000000000000..e6fb77d95cf78a65c9407df49df2d751ee6d6180 GIT binary patch literal 1922 zcma)6+j84f6kSKYBzBaN@_e^>k-XyRky?uIGF4x*_S za=V`PW6OQ+gpM2Q&~lxy6Iq+DL_THWG~Q7tboEQ! zrB$;`?HLnQoTYYG$Kp#!w&>?f%!_`C`av?gQ$`Kv$MCL+3s_LNG>SIxeU|72zV);h zf8n?w%%xrwQUt0tCES16}`&BIuWV>5MZ zn7Ag$igbLGmUi954Jp;|Si#(vJwNvLb=!-)ovz;S{UCM(QlwCA2^-&72Re+rC}w&dpg{T0z~vH=RyEzj3a zdiy&%+;#{~;dCo-oo?F+J(2s$eEi%a+B>b$_P)h15NEM&+iVuei(Vs-FI2E+Qp%v~ z#k9)`_4*t6GU!~Dz{(@5!I0rAZ{?{l`7Gv4eC{0d3oQ_aOkMd|&V1?s27>;s3Kcwnh zLf$;54xFoTN)@J?W#bnpU*)_B9SgKGSnp@7U5Hv55VM30G?{*r+7gVvV5mRY8vZsj ud0H85&st`C?q&0|GRo5i+tWOuJ?VxT*dj6m_mf?n=GOzt4++qY@aSIzmP=^> literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/cards/MonsterBookInfo.class b/bin/classes/net/swordie/ms/client/character/cards/MonsterBookInfo.class new file mode 100755 index 0000000000000000000000000000000000000000..725665274fd36b6495dfaa46e5496df4e89e3cdb GIT binary patch literal 2351 zcma)->sA|86vzK32?RoFNlK}J)n2%S^fFb8R6~&#(sqyn7K}puG9;%kn9Q(dCMfUZ z2VKirwQKnRK7~)>^1o*W2w8*6FK4p%?8|TV*?Z@&fByIrz(ahSLkj6EGI{i%S7C79 zI<$Xz5=jpwf8Q+n*W-8=b}e4sGdjV*kZ6ZnQ1=+@$~l*ah_-#OgC%`C?An84(5UBcp-PM~+SN2Wuo z+16{X6oyM?oUqfPGJq1Mvnc0r3%3<6ocU-1*Ig&DY=^*?OA&9!?Np|>#s6*|hB&9K zMnhrbMcWDNmaf^pz0=f>9LEi;z$Q5%!Vo_g2io&(*4?RV!)#O(ZX~>TsvYfFfo{~~ z8)($$2O{qt{ii)MZ5|zj_U2M`b<^D3Qt02XcO5Heds<=qY~ANNJ}a(UWuDn45|FA* z-C`Fly3Hn=lbL9DGr{iEVAEm^Xq9oS7IP1_qJG<9zr~F2gqcCD6!Nn@G=r)-5;)?C))plz~dm)iRamB4$&6?%eLKrJE!JbWs*_G}t z{9nVvyp!EseO`6@I70Cx6ywGUCt5~rx+a}+29FmSBTjW$Cnt~)GHeVdRp9P0rGHKo z8BPODax#z6)KUU?JREMIt8QMztZ!Df#Xy*4LPvg9`0wpZ6r>?SKd z)U{de%48+qT9xw>9I<*M30HdDK%Jdqb5r@a&c%}A8qM(JvVp=qN(D+E^7#?vk2UUN zh6-*(o}W;i!fa?Zg)|;e{*;=}d{i*^5^8}fS&2B0&!Zm;e9e^?I&#VJIlvd()jS_j z+GH5T=VAomF}a}J0!h=6>V2y&$x9L2MnKwK0X7=sR@7FhgGi*CBP_kgUD5JvAoQNmEL!n3fW;l_4#!%@gt+I25 z(%$~SMisUN$3+b;!?BhbPoLu?P?AR}_d_Lh#{IEKgrCWT`*9Qr9i;psh?Mqbh&Ue; z`Ji4Hm}jBRaJV$j)ttlh;y^Mq`bx{|X*86{y%>g+Y4>AagaeVN92ZG58>^Jzq`&l} z#f?uH?2*iFi>*lskD=P5=gy>Y?&4|U%S)BdZ!LBnIofOq!Ez z5IQ2y$d|jHU~d!{Xp+sp2h?oBMvEeMR)jWI3E5b~dO@)Be*>8BuwLno{*r7?57dca ZV?JuPsH`+QAF%RSi?uaEo0K!K^#?)Jb*=ya literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$AmountOnline.class b/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$AmountOnline.class new file mode 100755 index 0000000000000000000000000000000000000000..00c398872e60010bcdf8d8cf7df3693f66035aa5 GIT binary patch literal 2798 zcmbVO*>h7>9R5z5y<2#smhFLTf$Kpv%)=YD&b{Jw_4>+NoIyiRm;hRD~7}Y%dylDLu*fO zQA3hp^JPBAGd6e1nS$~xr+lbp*(KqnprJJd9fpQg23BJY!^S471>wyJk3laBm3O4# zjwu*AdU{7z1ZI78>kPDGJwqGGoN_(8BpKRCB50*okKtVotEV zVNrLGpz-O;!c-b#=Q<`=rz};WnSU)6 zMZU4op(srnrWkTfWm?9T6}yS-8m_uEM~yqSc3@dnm#HMqdD;3@M#<1L-I zcuUsURpR!_pr8W~q}8ktA9gi^R`!LG$GtM8WBm$VF|^2OYO8gnZ|KxyEUsL|ZSpHm z1TH9U&JcH_M5hXF%`?SOD=0<%b07zN29xHKR7I;Qik7sfK*Nqh+LT4qVc7lH0RH7h z^vL+`ICL*b*x&&{+=w80c)3lVGz5yq#Nx3LPC^+H_QaK%<%v?*C3iME5;n(SGf?AW z$Z%ppNb3J|#&2pshg?@ltGQr>vkFhgP`jU zBX~W97JEb;DpHZ-wq2k{lwOrjs5wmd1WMN=_1<(?hru+XBIK!=dpVm+85Fes#%s96 z(7i1Bm4ednCEcq3hEnyy3}6Q)>EDk3X#w#B3Hm)vs|<~d#(3Xdu%CkCGxX~pL!ZJ~ znj0Yi=Ww1@ZMcAov_rxyNB?J%wD;pL(5CL9ZM1dh9#RWfdmkGZ24fwu``E(pJv@Jw zX80XlgYmwfv8(<01q^h=7qBOUCOQ%k^sqk*p!)~40QyS&S7fJJJG2EHEKJ4xari!t zFxJNkAD3E_URWf zsdL=ar*TU+aa%9pYhB<6{ZbJ95anW$-WHB&ingC(H&LPlQq&N*M58||qe3}J;#*j_ zOes#`8_d8ayHz^hir7PJ)}S#BTmMF%hAx`?i4%VjG!BO#EpRbQ;|@}Dg;w4f#3iJJ vlBh|{NnFJ>fq7iV+X4Ir-k~u`@OSC^F+QbLI|)wW20o)IeU2}18y)`u@(UF1 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$Ap.class b/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$Ap.class new file mode 100755 index 0000000000000000000000000000000000000000..8b6ef3d6cac98a357c7cbe73d5398db500a90b23 GIT binary patch literal 1241 zcmbVLT~8B16g|^!yRprV#OAeRS=9Rm^4j{O)47N^o6HkcTz^Wvvp?c$M5jb zU!f0beDDYOn~d>pOVqR=iEXm8clOM==iYnf`_Hf60PNyH76~M6SPoK1Gi)glx#o4K zeJR|)xL!vJ6}jFK*W8PQcD*nNxblr#@dK%KYLz zf&}j}%-7FEl(WcV#>OQFmodvw7($NJSfy$i@;_j3WPMKMYrtck5=T^=Y)90X4xo(sA=~LK)?+J?UG{q_l7VPRBdJ#vr9zsd3>9VDI9J{8R-M?J zI+Rj85Og?2rikt4Xz{WqweXv7yVSPjVa|a+E1nmUkQhT8>83Drg~6H7}}y10%xy3g@10TPQeJ?ANMX=SvgRzHJ%=zm_IXZ#t~GhC&2 zX8^!8EK-!g5|IrKA0tVBU}nwQ_yT)(;XRzykC<3^_X*Q6SrRc>4i=H^!?qe2x0=XX ztv>P6;4qePgHS|+0&WtuO*ec6w@7J`c1g+)$x1;0 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$ArcherEquips.class b/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$ArcherEquips.class new file mode 100755 index 0000000000000000000000000000000000000000..4439bb3faee55ac2bfea23cb399ee550ceed817a GIT binary patch literal 1482 zcmbVM&rcIU6#j;7cc2u}g$hL!6-0`_Dr&VB4Ww$UDbxsQ(r_BKld{^**4?c?PR7KG z8vh8raQ33c7~|Qi|A2}90UkZ6Z2-@F5G9_M4|fW{Gt zBMP12w35E*-ErKCEzP=TS~XiL-?Y|+D=c5SrsdS@LRCC-p;EV1ZqsAX=WJ#B7Z|jO zR7u0$qn~J5`l?|db4^44vx^!Auf8X1<4X*?(95wqjy*6KMz&R~Iiez6&&>O>eo^>> zp|>ji(37%}a~k&;%!z!eur2QorZxd=!enFUM}lK-90M3+7;BfBqjnh#QK0Y|kv>P5nBN;Z{kGz8zRG#J8YRP{%6a_bmIu zy16JCp`IKmj$;h5WvA&{^0FQ3zV#jOW`cGZlGmHcx9hTGdp1pDK`F-~;~Yc!|E?!d$}1(^Tupdh$Z+d@#UUi=za{u|fVzNA>pt>K+8OQ9$yZ=6!pFn3 z29Lq-V?WvP%>W$02zgyNNMM`E9}z((oh|Ox-^R+C!HeaH(OE1JyIgC+oWYB{#90_u;h;baHJ+LN_BD$lPr0+56eu_?q z(D8!|oui*)nq!83j5_{CEk;O_K&9h2L3@I7XURLc3g+PyPD`Y524};N46?MxC?rYc H=g{>Nk-m`M literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$Atom.class b/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$Atom.class new file mode 100755 index 0000000000000000000000000000000000000000..d0636d623bc81a9f1ad0886db983c8913df6ee5b GIT binary patch literal 2880 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 Fe*vy?w6_2N literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$BossCd.class b/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$BossCd.class new file mode 100755 index 0000000000000000000000000000000000000000..35c916511bbee201ecb774b9603020982980aa17 GIT binary patch literal 1096 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 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$CheckGift.class b/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$CheckGift.class new file mode 100755 index 0000000000000000000000000000000000000000..24fe9fac900458acbf72cc0fea0c6fb9e173568b GIT binary patch literal 1626 zcmbtVTW=Fb7(J6X*?6;D;xyc$4g|0r%0jr~5C|>=OHQarWC`&!Sr7KWdKPwOL+Ov{ zTg5Xk;U++U5K@0rRq@T*&^SW4YAt!k^Ub&CobNXN^Y52$09-=V#Q+8!WIPOEnBj~P z#@COcxFLn#)_xF5p^P82c+3MMVn2x5ZLS*HpKr9Ks&sY?!?RLJGsiGkDArw!AnU;O zFlsTU`e9ZGonbs^iQxW?$gIe=xFsI(xS=i577tsojbW@QOz$Z}u28Jq<7?bcj12vn z)TTU&G2|SKd-wqp3|o7T88TY_CQ_Z%5$t3*dOJ$;Exso5ha34;Wb%gS^KpkiPuMc# ztD%^5u$y6fiWYL!^lz@-6M=ED7yBIS_iz9|lE#0|tICL`ptzhh9wy@EU4|WnYFBQG z(Df+WASXQ>#36=J%CuP&TJt7}EEGD?rS8inma194v%%ESP%hR-aG2r1QuMt5EX`3% zQ(&0*25_(q0wuicKMvs}==3tn*mf zeb<;VEvXr<*8VSXnQ|?D6+vQ%YPQf9&$eApI=dMz)~P*$7M1SEzr&!2dEBHJ#y1wH zi$7Xg>oW{TQa_H0^v^8LdO5XJAj$<74!+$8cZaC;IJm9B`bRfh0@;WEj9K{XqZ|xs`x!ya BycPfe literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$CheckId.class b/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$CheckId.class new file mode 100755 index 0000000000000000000000000000000000000000..7f782016d59a0ac4dceabc78dba22dc347465e6d GIT binary patch literal 1714 zcmbVN>rN9v6#fQi7wRgCqM{;2QA@q7S40aaR*{;bi6F-KYuHZOk?kzbOjX{**U%rD z_`?VAp^RsC8>zH`#3s8l=j@qp&iT%zzkdJt31A-2a_B?9hXEfMWEt)#VFU9q)-@@D zrU}AG3T1<^!8H%9&_NhCn_SgQuvlwKRZb;_?3`56E->^Lrq_osh#?O-9|zzwjPJq} zszu1<2DfY5TY}-x>XzV}LX$=*5iv|u_dHR`;Sh#B9QJVpBMei!th;|Gp z+6L{6<;og{LZJt2rSq;;tEH+ZSDo=OjD4qQV9x`QpAFB^VSh*L8~EXb&`o+-ls?p;(d$ z0iBg@uDQ}-7<<`LRyM`DG?HjpR4TUIN~#8ioBR6kmz8$^5Dyu}n}QB|q05M*jJSGr zYnDnxyN$2K`J+J-6U zG7XqWn5k+UZ??8d-TCg&{Btk~y5nQJM>=!-V&k0%ZK<;@+Yn_QMXS<^(jXo&Om0&N z=pvz4Y#x>w&hBkWNlb~r zBqnHDyI&uuK9HsNBuN3SjMhx?JJ^@x^ErCE&tOHIr@fyVUN8lfW-n8joA^a-A#g0VlO)8$A2 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$CheckNXValue.class b/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$CheckNXValue.class new file mode 100755 index 0000000000000000000000000000000000000000..b41f4e00ff8e6e2ed383945267158cc5ba978c9a GIT binary patch literal 1694 zcmb_c%W@k<6g_Q8Gj?a3IF1|=911xYBiSKi9Adzdl{j)9GO|q~M@1@|v__3IvD71G zT8{Yws#vh#6ZnH{f{QA$$dWH%%K|7~DQ-(57A{jxQD{_i@9oFwbI-lg-#`EMDS&0% zD_;;yAyluG+aio4h5v$4 zdo4Pl-Q~Fy_VSR zdNyVm#`bgAtUi>UHacB!@HQ?o*gK-xk(-||oK6=r1FH5V%bIe{n_9iYkUm8A`vZG= z@KgyKmlz5Mvv{d?ilz$<>1}U(TrtEL;)S3_=0wR?a--9#%5Y0mn=~?B3Ov!Qh|o82 ze=x2ae#CIS^go=PC3WPk^g5bO%cYNmG>w`al;cHXQi;6=b>Ga(VNlW{tWz4N4nd3&QMtjI9bXp^%>JE|fgnlY+8!)RFxZ+l&|`>ODA&;1uz0*Y6JANo@Tc5Rw z@%e-3Qg!I=S@FDpD48{cW^EBh_xs%-=T;DD8+RBM|67%bLs2Oi7Mdc83`u9O zx);rF2$TpcdcRANOO}yM%zgv*xI2BB-ewy7M=X->^cLVfyid^xKEM)~-I89j(Xs#QPZ|oDehFT1U+6++u{|OfV84mviqx@GS`EQuyzhj>N zfhGPYs{DDEdY%#?ddMP2)_BXv6Zs@IaRpaNi%HzV3a%0MJT9R?V+l$xgH`e@T&F!T vuu;TugWMt9q~*XFf+$k7b{|6#K8#Spy2J*7e$-uc8)dSbRxRK*wlMM+NS42a literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$ChrPosition.class b/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$ChrPosition.class new file mode 100755 index 0000000000000000000000000000000000000000..e311fcb3123b077a8d67b3d3233ca551cc3f3560 GIT binary patch literal 1552 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 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$CtsCom.class b/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$CtsCom.class new file mode 100755 index 0000000000000000000000000000000000000000..bf8184bef0513183c70a57a27e7fa3ca61daed87 GIT binary patch literal 2854 zcmb_e`*Raj6#j0LcGIv36cMU`5eoFlB0>d13vGB6n^H*)R`7AVxui=r_lCW93-$4T z_@gsE#!*Lw8481=zdGYTPXfyL(^Xo^!tQoqK=#^ZqXYCh$obT}W6+ z+UQ0P!(l0mqi?97*H>1MV6TIIgNzxh!dCs#Nu4uHIwlIqpf%Ofn<} zhl&?{We~V$IJt3 zwqu8doi<)ZhGF_CT`{6sb8-(twLm=;@L;uIIGMYyEX?%kv}fj(W;i=IGc^0(VY7Y2 z;w~GzF~G33$}1wLq|41E&n(lMHe4F|+TM1ddOUh*?8QC{gEodR%rMZ&zQ|Q_jFQ9T zh1R?*{(+TZggk0v4ExDU3Pek6@?6qZLOM10Y%ytvl1<|PUbS%0#%nmlaI%vVjWmq8 zYX?X!)k5=-)ria@_d{}ZW$^!C@M$sXnVB7;SRTN*jn^Z&Zqh=Q3c^HI&2zUROfQb& zn1!s3#==w!$c3eA z!Zm5+aLU4I8)tB~WxlRMss~q9P>s_5Xq(i#+?0BC!0b@dP(#aU%;3C*H*CyC*|<6O zq}5)McrCKtmloz2COUE5ws`4*oY7Rs7?L?vB3?JldQ!}V)g=)u@Fkx{`ev2O{UQ&% zsNWb&nq`l)b)qAIPyA|@d=NK<8yfn~@y;0)C1SQYfDbBPk(hOtNkw}*8WdxYyF4h9 z1Do5RQN>gYPDiAc8cwbx+^F1~dfI)l=pIU|MST&N(L~DhGl8{WGztqrttWxFl{~LC zxJwsQ7`Wn$7qi=ZlVIk;dqxBL5C{H0dGblvmMlNhWkl zUKO;tC)A`Mda(m>J@f)mT3D?S_q+ZMDr86p@RaK+vLsqVAUz9$L>!%ibM$gfX=A}> z82@*PPs*KE%4ietT3(oCRni-Jpwg(}x`iM*R>;nQM(&H37J*4ko<7nUWcd%tNbqCue>O_dc0} zHSD=HyoQlu$^PWn=o*~<<=8VU|HBsAe@G}utdNh0~i5yLC}7U ptD5$g1(xCATD+=)Dm_!QO48q8g?fFoK934+P(W|uLwt<>zW}azPdESo literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$CurrentHp.class b/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$CurrentHp.class new file mode 100755 index 0000000000000000000000000000000000000000..7649f2d5fd7b3ba2e84197f394369128df9f6e2d GIT binary patch literal 1365 zcmbtU>rN9v7(GL`U0PNyMG(ATfr4#CR#8wWD7A^9NdY6I3E|hU9oi+kv$z+;$MO#n z6MX<*!9;x$vq9irCKXz{4oO9+o^UdcUA3gzCK_P)IL{ummqKGlfOX2I@8^^7h zLbpBLuuLI+-KcYy8@_OL!?A5HtDat{+NLZvM+~uLQ=0x$hDat`=|(rhNHK6-+Pn60 zDK%A{Nv-qaW>-amq5ps%aoyswrf=>Y2*Xc6!xa_18v4-BknW_TNQxMuH9-Uo)=~mV z463-QVF<$v1Lq7S>5H16aP^2=f!N$<7|xWkMfWh0Nm`CNRm+L+SR{h3D~_U>Ldt zGh0zH#jx5bOP9LkrGHs-$eS7C*aA7)P4klkn>TX-16x(=^hlWzZg literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$CurrentMp.class b/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$CurrentMp.class new file mode 100755 index 0000000000000000000000000000000000000000..f6f6007ae2b5d73ad8f517d3a67f68e38a4c3db5 GIT binary patch literal 1365 zcmbtU>rN9v7(GL`U0PNyMG(ATfr4#CR#8wWD7A^PNef0u6T+`yJCr5eS=|+VyI- zFdg5t8n%#uY3*^3TY>OQ%XJ(sYra{iIkqgeMhvlKTiU^6hDat`?M64lNHO$0+FNQV)zy(;=-=mu+-z`JH`jOeg%u=V;F6AB1AXXcNMEF*NQxMubwLD8)=~mV z4C=USU(8ordnsscT%^b6!W-&2~0BdP`ZPP@O@qv3`6H& zW~(};7*;RJ(z$N=>7UjdFla@$MkIY@TZ*;N*%96*-)YcHvg}&CQRSYk#_dTh*t30x zr{(`8&XXD9NLXP&RLhwQ@s!=aWU`&MY?aKn_Q>1mzr&ytbFWTk80_?=jYdv-!Veqd zWU|Ax)78X=8+w*_W;YYmSpoj6x=akCFGCsFj;PwcO=&Ag=>|NoT}g~{7b-lpt6f)= zrKseNpv~&0JLH$)iC3ZRiQ49y14`Y*@0db{RJH}na!H7aA&l6j@Tqp`O0QApx$6fy zs8kpJ%|y~rl2UlZ2KRj>Eq;2PFpf06C+h10X-16x(=;-vWz`m_U`` zx)L@tFLc_IB1}ve#Zo96MgyMm$ci+Kbdqq@GvP`vk*b|*4Ao_+q`kvXZY*_u)KK@} z2RMd+Veu%;HlZ^dljgqI9`!eLPh>bx9nOgWlbB)%jIf2{O5^ELw~lF?^zd$gQ#j3V zcAp=iM#O-??bfRuf~@Bulg=>Ld8=`2nzC~yz%1Tlm`V6hw6%)3{YKgWt&HW$8irF8 zMdvx+yagIn)=In+rhW9CgYmFn^9t2zJdYEUpw=dj(R~NHb zOj$ci>|{qO@o1E6i*$=`#}w6cM@KyF@>Du~yjigWNeox_2mGHMw-`L}QbZ$5u9goZ z-~gU$hSsyg5IjCbM~3xgcE)2vshLnb5p;Q?=USh7G?PhI zsUQ{Kjbti%dHbH*1c8j}@Blzb8PdT|E@zLC8mDjouBNzGC>HQ7G!zFb7?y2PGC} zv7_~Hw9_h>jVG$G^N))e>B8aIyjbtY+s{R0Tg5RQL$rAuZ%Qj#HMFT6%uvShyj0)n zTl0+Gn+HmXv>kI}Tz%?q2Fb%$3>OYiK8%Tn2Mp)lZb~J~X=4F%^cK5c3Dgj%(szNh zkR&5H(fk$c=j`}Aecds9gAZvP|c=4;2r<~ literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$Dispose.class b/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$Dispose.class new file mode 100755 index 0000000000000000000000000000000000000000..670826db02cb7ed4ee2971e8f45dfba65f167cb4 GIT binary patch literal 4112 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 T@Hn9?W0h={C=*!58tQ%l5>j1% literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$DpCommand.class b/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$DpCommand.class new file mode 100755 index 0000000000000000000000000000000000000000..159d9d624c7972224b6bbb40017278e1b7950c39 GIT binary patch literal 1886 zcmbVNZC4vb6n-WoyO6F@Kw792(w4SKYP*WGYC~%wNQnlh1=Hi{r(rWE*^H`(jec`sX>$Q9#jq5dez&#@Z*Hi5_mv!wf*W11oZ(Fkk5?z-+!yJ$_HLUdrMfOxif-;5?=nE}ZO2{IxKvN^;{X`AGTFXohsY zQmBpK0^YST>ya7W+Tt= zpznD9P8xcCwew0P>9VR5htaAp#b(&v6~PYQZPAy?Nm-N2I+(c4LZZbF=z~_dWV5k$SaIB zJ97eRtXPKZwh9AJtod=qdh1W$iYka<`f(_Y-xf7r`;^CJDV2$3OB5DP04H_ymv;BQ zC~Xq;9NWrjQd zPfiSHSClf^1iZ5$OjFhMsD-sG9%9`_C90Rtsa+g(6kqPEJ>e#eB`KjbYGo>T&hTAt z>*+cspzGA*T0+lPmD&qCr9mz9ym@V7eCVFVZbR$6|E=9;!ZW4bvh6~Yd8@TeJ)$&> zD#N9(RhX0NAlKykBFA$7^q^eQgmQNabRiWfMNn>Wt)qJyc~xvS9x+@UNW*cbv+k2Om+;3_d206h6US8mGvsMAp(%q%;;a peIV}(e2NEHj=ff}O5-qjeMbK;utC;1`CrEhHt9fH_!8Tg{u|~=7dZd` literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$DropItem.class b/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$DropItem.class new file mode 100755 index 0000000000000000000000000000000000000000..c4bbbd453b124dcc3ad5136d90acc4fc9e68cbf3 GIT binary patch literal 1252 zcmbVL+fEcg5IwyNJ1~qQH3J$VS6cGt*hx?DXJFkC)H# z1&t4WfFEGgk1LNbsUVkOtXMxv*wBeo%}U94a2A6$&bb)EFvILgylTXdVW27W zvpAJn#)_d(EY-W}GA&!)K}N;FD8_7@cX0t18K(Z0%wQ4ti}nqP-6$qpOqwbaerf1l za&Z|~=x$*W@A_IqBumlv{ZhlmG{d7V^wUY3&OSawvubfD7zXQ7iS;bn7Re^xZc${o z9tXVD;E6Q;e$di8GG(ZCOYpDfRv2vYP6U~zlU9o-!kL$-Y#sBa4bm>yp;wwa9R^9u zlO|nZM&hAwo=^AWl6PkdEX7?c2`u9t S?zdA`P$BD3N&zcaMgMQ|K1{*@ literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$EnterSkillInfoMode.class b/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$EnterSkillInfoMode.class new file mode 100755 index 0000000000000000000000000000000000000000..dcb89284ff948ea8fa756e04cfc82440e9d7f91b GIT binary patch literal 1773 zcmbVMZ*vnx82@dO=91%}H3+pLw8esHP)-q0n*x?dZ6(DS(}^?iYI|9mZSHpK?FPk9 z;`jx8tuN{fFZ=+0DD~O9h%xC&#rkU3M+H?6et=U5 z7*d?sy|-sR#C%Q53dI}hw}^< zC;SODq)f<(-F!elhaH<3fdiE4Bw{+Zq`q5I}Ntl^{~XSJrVBz>yKG^ zps0D1wQFTno^4Ad9u1Q{k?!)nn8K^Ib;RQ?Po7CZa2iq@ryor7gFTW`yC!iDA9is?kDGX=W5p1YNEgw-l0= zf+BmtCt2$XMluAc_;x5$(aWd%@}#qT{5PUVQ-scjz{|VB&_FO$9uc#pjrBn4+pjiV zw3+v{w#KIXa7Wm_?wQ##?)tcgPd#k7^|?>az`qM3)l)qXqdmztYLlK9ojzmuu|C$} zkzo$HMej~5%t~A9!SJv-W;R;5G0lH2W=W47j?BlK|K;9+h-`Cwi$@SG9>*PNMYDp> z{^`JyYscCWqvCHXCDK;Rjd9JYP4Ah9Eru&oxgVF3hc6f|z1);~m*#(7%NT TB-QB3BG#};X?>1uJjBA^0$THa literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$EquipInfo.class b/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$EquipInfo.class new file mode 100755 index 0000000000000000000000000000000000000000..3acabde257d96bb9043b847df1bd2ee72909837d GIT binary patch literal 3060 zcmbVO+jA3D82_C%$tLMiXra}hNTCpC+JUHV+pM21VN}bX1*%xOV9R?jQqkn;Kj0*TW*`!UtUec$;` zzP3VGv~~SKv|Mg->9&sXGz-oRv-(dL(5>;z>g{ok)CAOKWjQPe$3`)xx1`y79wUk z`h=biB8&%AY{6E_V3^LZmdxl`7O@~A*sfrQik)~+U}H&2l9rax({_ZLNFC4|O`wu1 z$r*L&nvEp{c7BVNS3N>TyuTBQhs`x@MJ@Wgk=VC=Lr$@WeQM zx@~I{#0ZBAmdimLFEHgwK%Shv=u^=zk4=!cxnm$p{xKCta8x3@V%w|(fto_(JPd2D z5<@B;$1t-`7=fmh{FXCN@C5T!BDQX3*a^BcTOV{ZCx~MhRdHOFf0bePTV`h>VPuaj zzxwf{z$Tj`CfD9lm(`rZ@j5N%#mQJOh^KH$fhJQkR#eJemX*{sQzmJ&FiAN(j|ppW ze+k3?*QM-+9$9@cbKK%l?6wlj%<5j2ZGR>;rl*Iru_P_ky;fXH4r^&c&T~eOGik6H zb(J1~+g`YhrKQj4@r=Wz+QYZRldZ9>uvBu@)6C5J^O6dPQSL~p&Wdoens1kG56Lc@ zZ>g(`J@`!+Y&`|lkUtTu9$Qw=j#8faesR--FX`yAf0xH6*-e{D0hS4u-6*59^aP{U zuCQfx30^@Z*F$Y_wq~dD89P+GNmqvUQX0jj-BuvM0V~7wx9y`kUBys$2GUUslIOF$ z3l(t4r$LfvEsk$r!EFVTj9kT28$ZMABv;G9K`WDv>j#Z&wHIFF_BKgJAas7yAUS?KuA+ z$zK`h03V+^XA!;y-`rv5 zgpR=xj~sRmj(DYakHFwO4te+`>I?Z8mb1DTpWtKZ-5c^PV4w^a;G4tDqGhm*OI1dd zkg~)p>JRx{W*Cs89JN3wkfU~N9wQf^c;?_K-xF-9K9S?+ewXw(lC(y=HNi_bDe2AK z_%!6>I+CB~l*?5)Hh1I5-1UE?q8>;^qrA$1?lGEhJy^( zYQ$fdrk_V<3Fk0F4stY$raa2LQg1rjDP1kUrYyB6^wC)#I(Q*|ve>2X5ml;`xSMVy|HRSLbXRjZJ iu<-`o)bSSHrX14cJl^BGnxlG3_r5Q{3O*(h8NIx4c?SYCFi!*)>NOS#?emrM4&%6v6)5^ zDFbN}Lofx#Pvb0-T_9Oe;g;vSw!pRAM7iT7y5!pV=JP@tuVL80Srg}w5x9IZRNxF* zBmViLRasL4k8|Zcc_{O))Rp{t=sUVn=rYz7b;M9e;Q~esTr_bBuM1r5FspQ(2_rJx zI69!EY z1NTilh!WFj;}}@LY_nl!*az>Lcn^;RF4g3|Dtg+I;g%CtIg3091A#|9%BK5pPRd)s z#0+KyhAdXciV6Z*VN~~Xr<6svfr-ti2;VpHK~#a}R@DjBnqKmi(n-trliOw!eQZAbYVa>wOPrtDeL-ITr) zty`M|Vbx*Uik%U*PWwMtF0duk_sXh=v^CR}vMxfFgkRY1l{)r_Ri)6}I@PHr2Sb*A zg+ZL}!A8Y9bga;+QDN3YY3;LzTA`=cy}ECyMW>mZc9{(BM(r#x`mC<`s@ik{hbf!W z+6!gqu-XKsPj&8J1#XEi6EvtPHGDa}%L6-TmH?~6SKrnhU)ix7-RLBaHE7PVJbDvh zNR-%60ac#jwaUq|7la1B6nOam>WAtw?|ESm`to2!g;mcEh7&Ko%gLg2-F3EKA&FfohlqO4(OHqrW^=5cNWijUg2zze)GxX+2%1OqvZoB} z3Eb==?iG{)m$%}pp*+1f0~kY*w|eyH1B(L*{(i_+o}=J6IQc8Y&&|h+{EZ$X)sH34 z%@}}Xl(I?a5zoeyV{{ey{$9F%GvIxYNKp zFYpj(;PFo|iFuNl<2*9jkI3jn(jhg7p;Q9H{IhT`mBLJFsOdyDHiR-(h>ZTGtYVFB z3{mBua<31ca5sg%zar63CQ0>-8+};E2FDRXKjmt38zR6KK2!J{Utqfld5*6*CJFhP VUxf-+8G?&=jw(4F?4yR!e*oJho(=#2 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$FindPortal.class b/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$FindPortal.class new file mode 100755 index 0000000000000000000000000000000000000000..3a6e261501038669802cbbdcab651352f6532125 GIT binary patch literal 3276 zcmbVO>suVv8UGzv7-pRWvIY%ljhl!F3CYlisDLQhh^z&)LWnWib~1ZdChX2^X3oZ> zwHIyG-t0|nwcaoF`o-h}_2Gk`>f`hHN2$LvGYQ*Wq@B}3Z{s#V7?MfP;5>iLCa zC(t?R`JS2*XdfI}HqiysK-R)Fumo;s!jyiU$c0r$EnTchft`yr>8#0+6yKK>fg9(x z)tKnQPJvsB{&}b3mGVwlj*jF{L^8jB#q&$GAXH8zKk1ch->J%}EPAlZK+eLo*e%fC z1l{5wtq29Kp~q@oMv+sdg`i^l~928-LeoygMf0SsF>j3WZw4G;^=q`>W4Ik;UgQ`8(weZ<1|a8%&>Dod>p z_^zW)dTN!wBIWoh(k5;ZzE)Beqqxn$n1$PMhrs@AVv!s#V9=AqgWXL2W&+Yu$w6Sm z!~`Y{++|@3cMJ5yQgNQ=0@ta~`?eE{0=Y!Jfx(zfFOAAXt&r%ZnB;w;(!vVL0%J{yY-tQzc0Sfk zdnKTH-&_!uZKvkAtI{TA^sGG>lzF`vHVV2durFRI#!Mk7G4tJXo-dPfSaQzj`pU(Hw(NwS-lxQjTJ`8-q4}2mkI`v3 zd4l&qUXX5G@vO;~hS~zC`|!l+*2E4iv&w35YZ17q*{;S`l-_=3$X#WZ8)%l@`bg$M zPZWV`w>X@IAGc|N1I=iSCnrsu!sqHTymWd8F)e< zyBO3%SI&5GmKx`7bVS!Zi|?Vjue_>U_9BnDoA&)cIm%;i6FAyzXp7rd3p<_W%v6US zom6gHsqy^Hu_|DN@?6~uWht56En!H8`?Tu@G)c=4t#e66d^>Q^Ebzx{5V0He918*! zsnDs-OSKx5qV7)oHH+u*f`J$H)&3ht<>syS{PV$@OowaIzGwI#33PN{YHZx8U;;YJ zmr6xO{c}OERfmR^2|qG z->SR{@;aLNq=56H3;$pfOe!_6XT-Rsy~;SJwBqrY^18t8l%nExnXfvvnDZt(M#`xL zk*Bjx`mlz1n_*5_QQZE>AaaqftgujVqDZGWyV)EJyeDvTOVGE9rGXCw_H8f9#3zBr ze)xQ5>c2M5IzBYH*0{6z75sJ_{1?Qfn0=0`X2Tpo$lq2XfC!2^6Lp*?h05Z20(Fq~ z`JvA;Z)3;7%P?{~*3o_G;5vHe4`q&yXZkXqqVHw&4C@~^uH)u~_mSmh9fuYUe}SCV z>C0@;4#bMw9$v?-8@MwjX!d1{e~NoZoq2j4_itdKmGeNtdFU#K(u@3G-oU9w+M^rz z(bawK$2{>e&QR{rb*yUV+o7Fb;5!xOQFNNOqT3urk2!{3^A7Aa@5BLf9JV=$F>?yz z=G~Yz??KT#hErw%k$D`?nfKx?a|V~p`>ae*sChKu+Kzxvlt z@dN|fi%;+~{G9n2!=F;Qz4#cvz%My#pQL0zGCf~mpTQTJfv3JEVuyhq1HUH4z$j^e z9SbJX&w_byA}pLic1qVF3@Lz!j( literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$ForceChase.class b/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$ForceChase.class new file mode 100755 index 0000000000000000000000000000000000000000..c71f83749be3a2515d22e00568e29106a157df93 GIT binary patch literal 1950 zcmb7F+jST7EnIJxj zPr$WaMDW7TYu`aXUqinNu9*ZIQutbPk$w6P>tB2Ae|~%P^Dh9dp_)P;5(bhc`Y|AI z#Z#dbe5?JcqpU_?*{-9!(6Z~&mv*Rp%hrvC^s0fCuQnX7&|V1)%sZYFUKdDYvgH(x zV9-FyL>i{R^g%HTj4p7broshBxm9{(vZWp;LUOCtR&;K~R=E_8V%We7CXQi5VB#PL z0fQNqbR`ft#su5)uC$t=<63Jf%%w4kF#{(|oWzR)LrIAm~n1MY4e}dT9~W^$Ygb8+#ov`~Q>|=83~qGj z@3vt0E4XUlO%re7ZGn@|fg#XeRh1@@j%C`H*iBZXzA5BP%;TCsnm68Nu}E1_o5d8~ z#d`+wCT^f0km==0dmcG=v}cikulX3r?s1hSbTYk0o%N;6!I{bQMa zU}6C`1%@lWmQ`B@okQl&94bh*Y@jHR?@f59*BMMNbRka`bd?1RmmE(mHyah@ugi+d zosp8ZrCXN16RkU&$*}HF8HIf)|99pb6`<}ZyBRXq{Qk0g14d0Dx7l^UYoYIWwOqC= zAQ}SWy^y+J1d}D~Iv?vyuhqWC5a;0olzxqc9)Ctgc7wH$m$@W&I;^DDbdy?GaAMxN zJ7I7kQa&Hit)>?`4OMmmhiv9OPlqy+6?0rV5YvB6w$oo(PQND`iq35n+HDn@zWS!= z_^P`8-40ou>^O{6m})_#We&oD=vJQ_DZ%mAMvPdw>fqT)zMK&u7}7+p~|(>F`eC z0j{_3{{6>)M9>n5pq+(5XuFt5|AV>oBV06rReqxGn0=_2$r$o1VNGBNALACiRx#X} z5h~WO&M49BHp(pI6V6AG+{KWA(|==f7iK(}W{gjH)`!oq!EubXn_PXq2@&86e5r5; TUqQwuGpKM((PWX0+{WO)6yz8G literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$FromHex.class b/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$FromHex.class new file mode 100755 index 0000000000000000000000000000000000000000..e3e505d465a79910f2c7fdd154e4558a1396fba8 GIT binary patch literal 2315 zcmbtVU2_vv7=BKZ?8$~;OCZ#$MZkh7r41rPAy_DZ(rR0f)>f=&x0^$o$N_ z;Ka~|kVH6+2sDBHw(`^7`;MEpRJ!b?&61^TKW!Eb*D!tMrcI|@Htf8Y9?F+3J6GQc zXooD@@&^S%sorUcs6gj}ao$Lm47-q?^j*s?9IaTTymDiZ2*t1taf$VDJb`wBjz@U~ z!jvfsY)bWxJ$ji9RBVVNfsHh5EG;QJFVLTAWo(sgI8jrPjAL_PJ?cAk52JWeKwOOC zDK1+BAD@Y%8(RdVtCmWJsRWKSo5>NDN%dYu*`~@inSbcK)ro8rTLlmp*dE7o=wTQo zWf%Nn4ZqRgVrLxBBgKmV`XQfyq(*ylG3-L0#O^ryF(9z<0W^WhT80E7d8=SiB9h9D z_Kqf)=RI+}fW6E~*;rIL$2JXr#`24#Jm0W=PasL{O##&LAWHkNUm_F7OL$qJXRYE0 zoDf(?m;G_&c}9VNC7S_j=nYEbpupf-`W{b>xFp`ar(JIj9%?ot3*t=i(G)U1z%RR#iu?YD!T>8>B8@Odx*n{gQ zeZyQFHM#E9eh67L9P{##XWcpY^d-}7B#X`XjIES?<}gu zOsx0fFdNr#F9>|o+$#;ny3!HO+>-Ko#vEs{veZ0l8ZFh7&xZtSK{s7C*qbZo!Pu`n^APSFvfLKhc@!s^V!9 zU5RIFL>1dI;bb^c`XzQS63S>vEg8OszOG18iWQT3nvXXseQ@f8UkVZZTR^@nR5W2tk$p=_}~hKSoAh#bNz2j_aRbT>lg^`e$(T&vAkDCH)Jm=wITBeg)rh z{Z9W1-|Ju3U^~ZmX#+ZO6ggTuMcVa2UV>r$=poVdRu(snWMli}O^t((*KSGqW6OcoSz7-oh;2uCbiOyIiAWndAQ)irgj0d;n)* Mu^tvsf{m`f0I*qQ(f|Me literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$FromHexBE.class b/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$FromHexBE.class new file mode 100755 index 0000000000000000000000000000000000000000..a9c64a61dc82bb1ea76a208bac35cb5e7a5b7cdc GIT binary patch literal 2077 zcmbtVYf~Fl7=8{3*=)KLnsO;BwMB~I)>yPu4bnm=1q@UPf)#Iv%@MXFyK(oV(iuPc z6P&T5j@J6Y&;3H3I>Qg}w>bU)XS_U{#5N_2IJz^t=k}cUectQ-{Kvz60I#8tKno%U zq83^a6S(Lqoenr66q=9p&n@y)AudYvreHuT+w5AxKXbN{*YYtps9|j_c?t zfk;uCAp)ro@-0J?&xjK0xew~2y~?u4w& zw~)pQ0s}`yJ~T?;7*jznsUVPB^hVbqw8Hq03tTx$-l3Tk49xjnXPUH^V=@~J z;jhPMXpL#)@Lgb8*xPj8;J=ea%cZ|XTTUJ#RiGu<6zFZz_jhVjA+IKz&S_S}t+1xV zqCi_-OM7QYmg~+-U zI~41AnUi@h&<64X6aOt8*py~GPY2qU|rFN5MTU|{5|jJ`hff|;xJ(n;F^emhrboswh#6#w zyGCuZxQZy|h-~A}`gfQH4DlQPUadS19XO8#j;APMk*n7?*dve&u!LoW>v#iiR#7Wh bBkQsVWamiRf9Tu literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$GetItem.class b/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$GetItem.class new file mode 100755 index 0000000000000000000000000000000000000000..a7325f5c2d4eacf14f9f8526ec84f45c47503981 GIT binary patch literal 5124 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 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$GetNPCs.class b/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$GetNPCs.class new file mode 100755 index 0000000000000000000000000000000000000000..0eaa6691a2304bad4dcf0033c7ff6acc7c055ead GIT binary patch literal 2035 zcmbVNTU#4N7=9-t>=Kq9=m}c2lu`^Susu;N0W3{9wINhM)MCY9GYwOdS=^au`&0T0 zyw(f))C(WI^&fca&+wx9%@Uw&c=XX+WM;nO`+f7yx4*sl>1P0w;8~>5<{<4MgLZ~7 zC5*4X3!{n@eqH-PO$ufFV2ejQFe37UuwLh?qW$SgU8>^liJ^T$Dru$|+Hyl{9dOa% zAnTzM9>ZWVW~j8`%4mO%*F|yf#BgkJ>E1?hex~?vV|k{y%5c7vaBUb_^Or?n3RxV( zaR(QtjM{Xz?oyx9N{HIp$$5wHc(;m*?EJGLh+SJog z*iaPUb}s3EfUYIGsRhWWN@4sJ7CI7+Lw1HZf-WN{N8 zdbopeD#L`kB{LjO)og@=35KaeuokWz`9}1>oG|tpsF-3{p-vw!NhQjS`lg6h`DTqI z-K8+#wKX0|du|HTW=oRO-6Y%oW7-0>S3DO%!%(7$76!FMvk#`QeiRp|0NdRop67nk zDOp>vMPwNKSJZJH3dy4?Re9=&jHHZW-n%xwB{dQHEsDi7C*B=y-iz(M1`a1|Cz6;B zU{4Y7t`)kl2BT%VV_IQQA+?bipC~6+kr$J)>7@Z$7!A!yhwc0kddgYQWqHdlUamn z&}^R$0-9vT+ECQ?RiWvv(i--1W$P#$)Bb>$j z4!ZKgJ2hBI#{iyOJ_VmPpc#wl}!w;E{s?2l>H2$tR6v(xkA0 oRa$$<=My@uts|xJsm5pcT;MU*@kMO)1RJzw$*O=S_zE3=1H%q3CIA2c literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$GetPhantomStolenSkills.class b/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$GetPhantomStolenSkills.class new file mode 100755 index 0000000000000000000000000000000000000000..241ddd7de88a1a29ea283a1ecc380a79b3f2a7cb GIT binary patch literal 3157 zcmb_eX?qh@6n<}@oi-h4DVvoo)PikMBFLfykTwt+NC8O=YDJw+Zj+(2gqfQH?)z`> zZ|DbkA0%u*R zvcV(IuUaze1X`2Lih$r%DfuRU_L}mYpq2l^eoN3~LzCu?wRD zJK9cZMWB3XI06USB;(y|IXcXZ((yey_F|tvpV4U8PXvy%-Cu6Hrm{RYTWGyd?@Jid z@Uo5rI4H1ZLoXxHU~H5}4+a?=E-bgkKu#u1?*>ddwgEvshjBzhM#oW%3+&&})8<3y zspl(M6*!gDlR!!;Xp^P?Oo@(TI8GSDG-X2xT$?PtNS1O**mbY+o*OhB=||>I>X^c` zfVS-U*9@~RkV%@@Ei_db#A|q6!$}=kydiL?!xHH>$wZPwEj(#RfuZZZ*K8DgGLr!~ z(rI}6^;{aK@ur3|I?m#p!08U~E`kRU`AC*^CJLlOYKHq36_Vk_5cDk_Z-+ueKd0j&E(z$|&o_Oa^<%F_VzZ+xws&+~!3=Zj7%P&IGYxgmQuQ!~%5W8Fzkjk= zoNWc#Hr!fBTylz@3?Q%LDy~r}D^ktNATVl-$eFI}bp#>iViIhsqT#y0{AS@GrMv4r zn7B@#>onJM5`m)a+w)$P1`U@iSKewmOVVF3mTc~fmORt2E3A%i-P+u)>K27=cc!o_ zDgVie9LXmiOS7q{_hMIQy1>KslUwW+B4*93v#^hEYG8yx_YJ>Bhj#Zs6Bw}#XQ^sT zv}~Io)$hNcb(`w%W^Hb&B9IDb&6%x8lk{b;>6@}(Md?en``~2QmjuS{HeF>ovSI}m zlRD$No-)ERpwiQuDqYVhyH-dsrmfF497*AQES*M7uOOT;eN<8mQmAC z*J0s-zG`TU5SY;6tq;rs|Z zf#T-H(2M2?2aB$fHO`?CJQUd5OMQjO3eqS*=_q4i1nkV`x289QdYr}+e5T>^u&IB+ zx!RTYxOc~WzVJNrKPOFVi|qfF>(bdv0(D0qWv96HyV!ehR1P=fERhD{O zA~?zfr}&u%Y~#lcKWzCw$5ob3!Drv}ZxFxmC50mY!()g7Ztz`?FW@FhTn%C#x407u zf6Ut<==k(gXwR@iU=6#0-?9H04y7=?hF5@Rcr}F$L z(TIn4aTj7F9TKvoYo11jy2hq|#fcM7af-k5{9RbXW#B1hH&n#N-%LP{twWFDJyZzU zhkFD|;eC9-=U(o7$kpN^M1YTQU(&Zv@M(0#fXU}U+Fj*u1rFTktpOiRJfi5A_?kDu SPniM?e8U)hi|_Fx#{L0=0US zpHOssamE>ke}EUC^`SBj!?WXG;iHc}`eZ$KQ);^{#4*Y2-Fxr3=X~FH&pG++?_Zt( zxPVWRh(Y0qYe+z47vW4FAb+c&;C(zAh!!yi4c)IDfT83l!deLgxPN_R% zP$zB24lXh%*<4-0(FcFh!}*;a-meNye*0Y#8uoJ>&@g}(813zh({v3>c)nf^MC-B< z7z_hTA_!+fv`cP#jX}?rbJLM?yYSiMpzEfPL<)yEUeqv%ml*Q@{U}3HMt4?fYi+@B zEW0bNa5^$f*McIYk>NP3;T0TV80rv)6X zoQ5|s#&9+Q!*m@-m@=^5Hq1{c7HIfC=}K3mPn67dw`-$|JOO$#2Vy&e>I@|m@(R+o*dUX zW(Y;q?RciRN;g8fZ|}+es3gmfx!IwLZ;86?+jJX6$8m$O7Rm9so?y2wW3$tf?g__e z$?HEr)wlzu=84ZbwkND^*E|t*-Yuh|X}W|++K@A~CVcu^Vd$Hsmus#caNK5?_JZBVjw0^>3M->I*p9RME+;6AH(g7^px9B*YGaAYh44p zha%1TaS0__k%u?XM_<6^kCXFCidW|2slLj5BGq4+S5wK#%<$~UlZm)8kr+%2#vh_I zGME^hPzTjV*ms`iGkhHfGhA86%Nc%9`C}cg=GSpNuKa{ka_{W-F(tzvL0`xC{RI1A zmep@U5@W=9oSNxnTmi=@ z#&8u=M3cbd8p<@vxA$?KsHJfO)0iQpW@+^>VjCo%%8}-%aLmz9-Qtd{*DXx zxIoJVAK*t>-bwILK$$9M(S2{v?Q_pPeY?N^_;v>18P+rCLc&JUfrS*qsuIT4@59KK z!VR?RHKb6+_3Aw0o)MAjg+aiTuiXtlkgDAF7*a*4q$x2Za`V+Rx{bky^=h;IetZ-*LCWRn6TokyN$9d^Lj` z7_l+xU<@}I2L6Oplo2&SS-OvSqy@PQ!?`OkDlz$S2NRg2VD9@nhqBQifpe8gWxi@7 z%dp<5peqka&%O}m94%Q6eJZkVQ!26D4E9B|%l8|!GPoIfyiw(mjQ#V)q^V2IuyIk5 zOG0+YTcEQR$HHqG%2d20@FlqTTnc+vh*YIM^XjDLTt`YR42ERfDGWnbpfPkwpMh0k z&?bQ z&=~)Q^%}RycG>}$#U1j}n8RIKi8p^jlAs7Ae`bF~@4{!;gT1HdJIN=Pzhd}V-ioJE zJ{3=E$%XNW;p8c9#c2|V)6CFo1Zy8D%R`^#qu+Xi5vztttByHKV#zvaQCMlGK@Rh@ zD`vfbJdqf|DDGjAYMR6VmdHvFy)^w_Bx?65G6B|4<^wXju#AT^57WjK@>ci2G}iD) W;4z-yX)B~a4=<3RkSP>ULi#6lZ+El+ literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$GiftBox.class b/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$GiftBox.class new file mode 100755 index 0000000000000000000000000000000000000000..bfd503e33d30f11b189ac671cdccebd552d88402 GIT binary patch literal 3477 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 Wz%AUyT03POcgZ@GGK+QG!@y4wlr=^G literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$Help.class b/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$Help.class new file mode 100755 index 0000000000000000000000000000000000000000..2a75919a40dbef8ba83d9bd408b0b5f2bde84681 GIT binary patch literal 2979 zcmbVO+jA3D82_Cn=_cu7Ay6PyAYg$e76KKjBou|v+G<-aEiF(`wwpt{G}#Ti8=!dC zdco_APmVJVBQN5k&R7sfMxS)_)j!7Z0sL(eXxc=mW+uDmeCNCWzVAEx`<+|20d(Wj zFdE=f;8zhqqrh%cx=H7vWoHeU%sWXvXGqgc>QkDn>8`Ysx|PpsX4XmW&*lv?Q{D+Q z?lnxq-6!B{kB=${3UvK1O->kLG$~M3EW;xL&F8cWS~91ZlgUg@a~y&2q;yM5$<3Q+& zSgRt6R)MyMIh0|J1r(Y-=18vAx5o$S%XsHh{}|ROSg&FOVgjxI&MNST7mu!6MbjOb zDM&g~t6Q2y;$6i>3!Ct`f;JVKu|*)Z$U=<(o%ia-)N-XV=x;(Z+Ev6o_f%V+FB-PY zdiE7OA+Tm1wqe&c%*g{qBbSwS5ZeR-DnZD^XjxfdXe1HCZE&RCvyb>f5ytveDi=|%AsO@ zLfRwRM2?imfTe4>QO!2IeTC?ErwpdId$F(o#b%n2%1cr&y0o&lChQtj-gsG1{FUmA zk5ZAI&knJKJ$L8Zt->H64F3CBIF8G?6s=*oSET|gtGnyIypQSyI+q@8Wh67ifS%JX zUlv$VWwbQ?dFIon=+2ghsx3uMh%|eWNnbYXYWnn`Rw!Yipva)By)J84FwLuG*ecq( z>@`Y2R$q9|b}voL#Zit_BQHk{#~{4()1QX?Q>Dt-deCqRIc>&?X}MhN-t`%yxRLWp zBIa7L8LPNmVAJAAY9=g$Zahp~-t`b1l8)PFIUIA#4_KBJW)7*$R!*~mC zE130~{2fmGd0Y+if;BCZWq8Vc-^%^wM^y+d z5cDQ~9ro&+*O|i=6&WUN*l;B$;CnL?fRsa+l;=@Eu6pfcUm_{1TtuF_`f)e5z#zXqezG1RYsY zC@lVff+o^_izssl4R+k#=j-yf_}5*-&5jm-XDSd4M4IQY;%79c8WVG9nZu)V*cfg6 z0b2#Q`U+QmMB+rG!~YYupYT-qlQN6r_=vR6FpjHC@pYWW z_vHG8vcED@XQ<^Ab7rFz5@-2srZeS}m?G^uKMi|G3sKKG82l^b*Jx`RL0bJ1Ipm4N zT6_Z&7C~dCQNVe=y_HQq0f*}hlsixrxI)~eV_^lW6rz9AVC5lZT}mAO?L@e zpo$0hi^>DINL3BEgc-hDsXEVOq{kr~hT7xcWyB?3!K-+!#HZkOzJug@ga3E&K6eqy QpJEtS7}N($%qNKc1BV$qpa1{> literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$Hide.class b/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$Hide.class new file mode 100755 index 0000000000000000000000000000000000000000..512aedca36b403bd8676e571e2c26953b4dbe662 GIT binary patch literal 1324 zcmbtUOH&g;5dJ2+$tH0T2@k<1kN`I1&tVN(7F6ns!!eEvd>Ki6OBhl?+xGjC`S*MiMCtX&aYdGvv<0 zEE76GNWCU&B7)dW<1%_JT(QxI48!m#h;|^G&JG<6NvSv5t$jfVgZat}{+c^YuIkQK z;7e666$okogBFHtT*WX$-*1z36^MHHFnPdzElB(e#(EmpaNWWU8#lvn{=j(Zc}>9; zgB@XX#jpamZH!`!!O|k=BxdG!3snnQhSI5gE>>op>*AEXuui=dsYECDZNA^6n@q)X zd9%uW8Oq&DGiXT7uw3~MpCw8|ycKRcATLY#bD_eHmiEr*MwQy@HmKy27sFsMxnHO7 z`_DjQ=-CRm`|>$Ih;p?s!;s$c+P*8E$*3TIPN|*=ThB1E*;avUiK^6+%CxGK7w|xO zirmbe8`iG{=*~WsCa!o(&||X^&9Ci?S8eHw+V;BxD%bdFNTJ%aS*xz=Q5>NSK_s?? zruCvx+#qJn(}9I0hWUT%8BOE5Qo=7cxz+_jsd2SCn<#jigXh`{sFGm~=Jvoe=J812F%}3lG%3+n5lEBC JIPoh;{RFQMQ=I?+ literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$Hp.class b/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$Hp.class new file mode 100755 index 0000000000000000000000000000000000000000..55d75e6b3cbb52ee7decba188d073c61fb74ff7d GIT binary patch literal 1279 zcmbVL?M@Rx6g|^!yR>6y?f5NXYPLg`Slxs9Td`tA#THRkU)}QU5UumZ-cNd zh3jkAYe}IZ*K6{SdyxoTFYtY?>e?;VeW^;lj3K!#m5iP+#B=#t8be6gNIMvY!!Y)m zA9J_GRl_Z-NHj#qFx2Lu7L+nfmtfCZPkmr)R|QZ>VjdkB9++d_=h6g=Z7uY8LtE$Z`F7xP2S(M zqNdagg+Y<0nmm`Wz+j6L;dLV7*gn%_u&*^H=2|e*tc3t^pCI=S=;d`T7^t^yHnHqvi z?h8$S7vb#DVmHu{jYkX{|2H-aPFX1tmRekEqcXPJ#tmfYS2tG-q#H?kUZ>2Z$S5Y3 zKZAYfzMi9}c@66&=4tKp3J79>vJ`G&k#@|-$B5GnWLK=UFR*vA?=i9b5hK}8-8gHa z!HmOTP7^JxSFkOPVe1eRmWPZbx*YR89NfYZRT3g@BS$PYrjW-niC&>yQuPBF8Wh~2 pEQY&Sr8q-%E@k%)5YxD?v4#f%53!DoZq+8XD5j|@i%mR6>KB1)Qe*%C literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$HyperTP.class b/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$HyperTP.class new file mode 100755 index 0000000000000000000000000000000000000000..a325085c19e902c4daed9f8901429aaa920215b7 GIT binary patch literal 1955 zcmbVN(Nfz+6g`Ut!bUBrY1-0|KoSyc15ryMO>06hCMj-RNHOEikf)8bV>Yo@uCylb z*qJ`{wO`Uc&`cik0r`>sMJHF1A&yMqPW|B3UERIsoV)j4z54gXO8|FK%U}p86NZIh zj4-Syq3z(A=ettat-yAgQYdXZ2i)h57QXFxtrk~qV3*vMROQ%W7+IA{>NSQ`E?-Zf z`p<6}q>(W(X2HS-4AY6gO^>_65A2E-txc{u!+1mJ$P%Jm_S(k`cCM1ICeHN{k`y2g zQ_Nr-7fgI)A&Uuy!hb)?kO|S%;ofmuFwEroaE0oGFtG4t@ym}3|th8w(5QLZ?OYNwJx z9t9Kg78bC`FrT2|cuEN;1h(7Uc}m6l^I=f-lom&t5-d;i+QaYH-2Q$tiSJTVtko(> z-}fcFPjwH!osNDOQ6$ASzA*8ng(ZB&FqPC4_t@!84L|d#rWtPZ6-H0+ZsdI3#0taO z`4I-WH8E}OOWGLsl;}t^_X_~<0kE7tDeJ~b?(d1?rs|TKn4u!12c8* zusDM)GMM5>IGs@KYQNg#=n0#s_^A4XA9B0NRl}}nU#dniU#HS>4yeIy4rCO?Aidmg zkb;SGq7kWs)3mS(!)Vu9Vptd$zGoQGNU3=p-w_XFl*rzB8Qcm*Fih@tl$I?~mw}}8 zmXz{z)K$c7X&~5HcDqxU@;R({OVHt1f^IWdzWAjhec{HF?OHNw+zBPe@rX+3Ls3Td zL_o8iv~SbHmKSIfR3x|mUzHJu3N@`?Zt@_A$aTvOSFucApYS&X;*JsezfG1+E2DL| z@Hg0>(d)12KYR^i7I)~`iXHF`z9lP-B35Z9Jp4OGVbEI0ns=w3lZ3+J2|ip*o#5lb z2|hPcf8h%4%>FTyT6~V&32wbXxB`<9=8!US7&Y?98U;)l^SDlH-dKo`3vqP%cCHZ$ z;ou(D2|I;3l(0ckMrneUu}M1y?vuw59^gA#FOt_5S(Qg%0lvo%0#*Eo?Z{;ZKhc^Y Kmu2i=7wOkzBRCfT literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$Job.class b/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$Job.class new file mode 100755 index 0000000000000000000000000000000000000000..5defce4d2825879766d19ca97e1828057b09df00 GIT binary patch literal 2588 zcmbVOTUQfT6#fnj48%e3f*Pe1E!cp?v3Ms)#Z&~##TpE?_BKq8$v`rb&Y6Jzlm3G~ zw-0FTT7B$8|3rUDyZX&!lyQ<(SIb)D-1gb~+uy#N`Qz_bzX7;~XBl*%TZd+#2fYGU zT^X2a&-2TUH0#Q=YmRgS)2>>+We3tXZLeOp+_Ewk%5}#rv{nMWbB^l-^8($u$x;S= z=+}`ka0rIL;I_4EnKjF;n8m8+2LhRfuG_5BLPZ8#+nt@X@mn>CXwHg^@(cO>tFskEy17kQVkWJ~AbV8ZM zz#>`Q+uoMInY053A_Uuq4-AZBLO|cOYE8NRRN#2%b%NQD`urh$h@6f|15>ylFmQm5 z$Y`t4q{SP_h^%jIOFPIXG{rkf`~edx)73FaT~vGT7H*@Db&7D&KDUK-+pV zcn~Qhg6p`U2FwDHSQc;@ocMBvV138$D3MEb(Fwd8xQFU>DV|TlcZah&!pW98J%lq zG_5JDwfvJrLKfquQDR`iTp*so*72JpU~1b{R_OV6;*7MD1n$rQb&Z_7m|ie0i@ ztBYaTv+F!;x`9)dB}X}o=z{BdWRF!w$7k9+ONZf2K;uV%5PDpzE_pfZgHhKqeEEIT z@nv~~jtZPhD{VQoVA~#%gfdjpyCD@{8iBqwPL@0s=m_ij|K+s6&>hbURNz~URT)&h zvKs6~C4(v)9ou15?y$cf^hw9v^>!qCZ}QNvcFQ<96ES=1V&rtVLyz1Y*V}W)Nd1^o9uoq_ zG8?B~s98!$rGp)QB28n*gk?pt7u=1W(r(Ulu+L7kk<`g|9lHXf|1QcPw}`@7e98}y z@UIKZAN2Bfkt>s<;MgrZP}Hf z{VDtcp5Y;#!VJSRKZM`F0KFX92}!oh1n|R3`t<3X^IatW`uxYA0epzhOBh1ILovWG zMg*=HWy9>7B<*MwcC#>wwK6u0He@OztI{w^x?O2HSy=CMwP_4i0weRhy**rSCl21hqBAgQGw~ouFXag$11Wq zF}2yXF-+ri561$$f#U+>I~Xo*#-N!zX%mK1-b1mpWv`9l1WtN572q`95}4dU*mj}L z4VksnBjPd5cif3H0nXxWfuiY~4{u|~(yWKK+xIE3=3!RgSS|~(zQ+P5?T~SoP{BI^ z&fz?PS$M)#?zl3B0@rir{#`?4Gq-dc4^moeBppIdG__H!Ubn5%RoRYdnQSJJjMrqU z-FnMdv>TdrsOQW4UwLcHmU^V3o+ZlNXBCZ<@X>kM@2A2_*5Ms6P5)o!kj$Wq>$w8sy(6Bp)u=kr4L$Xy`R zffXyG2g~x|R_aSDNiU7mqV5-G_x;Z1TsN}+zvvmOyJ}5mnkB0nlUV6)0JUDs^Su)I z-%rQZt3e6FMs^hsdk@$yGL8j;RDIRcsp_mUG=bB3RAqX6mg-TIP>S;*%E+q9c#U|= zTAbWWGV5Vk;OhTtU20e|Mx~8dW|#)VV*iBaE5;d3k>TztxoH}@)0d{TE;Q-3}p|~9!~thC$5Mav<{(xk2xNp g|0i56-i65UDQ+q(;WOOoyEM__Sfa}unz)V8m*B<0#{d8T literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$LD.class b/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$LD.class new file mode 100755 index 0000000000000000000000000000000000000000..3138a4a1918f1c2734a8cbee864c86ff28593739 GIT binary patch literal 2181 zcmbVNTXPge7(JbAGLy~ZVhAxHm;t#YA<4>BVIz`@Kwz^78-frOJ2TB@$m|Tx%%c1T zORbX95+1bF2cPj_rL2-ytNc$|o}S%k*o~&jeb}Dv@6zWx-=%;5^Ot7;-oSbmZD==; zvCx4|fs=tsa`8uDO&}au-Z=8OU1bh9$7K$)^gc^gOpFlcfjult6Fko|5Y-;z;$K zH9FP|x~`blj2y6V5QhZ1Xfv1QTflC$Xs}b)py4RS42)Yif(d~=O*o!Y7Rb`|jWF`v z1vf2`Sslidg&bZLur`FV543n>bfE<;3(|LUsR!PC495+euy7Km1a>#wyh&A{M~B2D z&ORuzCIrrG=5!-F&D1ooGwY3-*B)4Oud|f(XW9t%;e+vE+l%dhWf%s&7pN%%XP!%G zJ!v}S(-wP;-O+g`j4Cn_IK2gsl`ZnU>8Jr$XY8DX8O#dw#VT+Mo|;z)t0QFI*?zZ7 z%#)T9`_^VQZMPxRU7$gyU2xvQ1zZ#`NKl=cL1w(U8X5E@fkEEzkC!{r^Oeh33yh+P z`xfT5oEGtc0s&^`LYEooE0DQjwX&+BCAsSJWS|f_(qER5r}vG+OtR*&C-U3o>R)fn zGg$Spa;gdMm~Ls}7U*fxH>YHyT$ahQvqr8DZ3`y#!BF*l647 zs0f%vj^~SEoETUWIQ9R^iZ~YdfJAe?jN=q(VV+a+GG93TYXf6IC;u0@%W)N4JH~&8 zc#?{X{MTZbpWq6=t-1o<##QdRa1AA%&{%YUFDB2bN1kQAN6+|AFa~;R=zDS`b8KM8b)*YHXWhijOesNraF@;3~p>aS&f#p#>v6Q!rfYs<+R-h4!L?P{(r zp@@%*XfPnU>P?U;vgj6!A&wYgxk19X**UZ??tBn51ckI wY@pvZY5guw+wdOV=Q>Qw+uVJyg0>hk#wr{I7YcV$tuj2WS!!KI8F$h37jx!YssI20 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$Level.class b/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$Level.class new file mode 100755 index 0000000000000000000000000000000000000000..2def68ef3fa24857847527a37992150f747e87e1 GIT binary patch literal 1967 zcmbVNe^(nt6um<>SxC1crKpuk5wT4`*@~8`0W`)UsVQv<#2=`2vpa-sH@k6ngY~0$ z`~sfi&-M?>@eekLP0M#8v*)b!T)vjY zAck~g4V-}?Fmm78wM@_Q8)n&$WkZGngDoqJBu#;_T;hPKcc(ctxqQnSft5a0NN4PVg01dJYxn$7R+%$J|!y zX5y8oHe+BGuTW*~Epy`-Hy-Azn^1ZVV$Ohxt3+}AxMq26nN&kLi+Q}R;|&AXupn@y zmww>;(vIE0H(QCm=8f%bPVgK_UN>6@_G~|8`-IKp^CsTX@wR~i76oQc1>KBfxGtMP zOx79MWpFoF?n}-|i2Z3i^t|1UJGDbz%Xmk}y9SDQPhhf#S6>PQhU;NqIkpvbLkQ&h z%I}B_hfw*Nj`sx?dm#Es{n#5FO(*3epp^oLk_=Z|U#_*Abs270b&oUWDuHczH7j(L z-JR6p9XAqK?o;hQwUI7pK|q%erQKG!SnNM+Z!C3J3tLBu@}P;-Sb+8pFWKc&`6MxT zS}Saj|L8H%7>hkeK$KaTYzp>+TUM)k>})k?hqhdC6Jd^a#%NC6751<7wjaAqS#u+o zaut0)U|(U;6K(!fcK@WP+i$5*+P9jLn+MsVy8SQZ?Xn9Fc)J2dD8FjEp>#IBX;H+f zUW88jEZTNJTFQqJGaE8uhiAw&zN`jOtm8|8h5uJS8lxYp&CO+hh+Wak2`~uf!wfTMM zOBcVx+{|N~y|{-_ju%pD+yl)?4lnbU-@~i>cx@lo_pqekQc!Rc&Je&$Z5368}@RI}KG@1K7YO#|iq? mXnnK=Ey75Ik0X2%;Ztl$e1^~QMdEu87RM}oOSp$RhW-ZqI4H3I literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$LevelUntil.class b/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$LevelUntil.class new file mode 100755 index 0000000000000000000000000000000000000000..d8afb07d6b15f20a62bf7d1219c623f361fb1e18 GIT binary patch literal 2897 zcmbVO`F9g#6ulpvc4#}aLIo|fB|s@@t3)eMBn7RJ+F+nS7erK;OunX5l9@0wDMe9S zaNot{caG=yGyV_?xbONed0g&H5*rc<9D7bW^KI|lci(;Qn?L@(`VD~H_^b)bP^UuC zP>%+I?UwW+?rGaenKF`fBSyxQmKQN*bVoNl=|l`Wo7Jt98yQYzO)FL$2{a6umg(&g zs0;T_HDNg#RWxa6h9srGXjq9=0^PU56(d5LO-nB!=VT@TGQJ#l3amY9=R<~WZSg`$8Pb#XoD5~=GNFON z?Y@&W8t%f~0?mxk+b>;LPs=4hF|Zb_)v(TIN==z=&UR%ZI?<(Ky@n7r2((uLl~$fK zj(a*ItB5y>@#OmOO^(ESr&Mey^PKn0Ok`AdXZGv4CiI}r z&qkkye%wQgb9yE($EF3=gyX#xyq6LaZN^qaRNSZGehdh#2r?6xq&bqB%QKFhl^GjL z&Pv0JR@f@dRGKeM`CM(&u-zxBPRqSth7uC>?jdXCMH_zdePcg-a8l=B!Uq9Qy=1su2`xtsGGOX~*;^ z#mzOjuYg*z?AKfi5*qg70JBC~_Swl%)@jBswv9_tGixW^2)7d2K^#(XSi`t4?yeg{ zD{rR@QbFTEtxYnIEtu3Wg(Jlh95H2vGML3n8?$ZQDJJB#mUR4xioCQY zOiLcfXOq&I(32U?tV-C1o|)1e(;t^66>r9*<5&%Kw{>4tdXBOy%6Vzz{j3bthFxut zO~8pBtB_~;%9^5n{VqXRt;Oa4+5<&u%&-u9ZV5NAPBL^SO*?Hj@Iza?QUpYtP5gRl z&g9DU?71GmP_^I1Tj>Ukdk-mD!F$Iz$(~>0yJ_6cJBA!FgN#(({q9!3QhD(m&NGo& zIc2&g^E7N(HpyT+WgG+5{+AX=>5GC8>McDhdAKPkQQtUKq7?_Z(y%cYa)nFHrKRFX zbL6SK>B!UsSz!yTMo?s6*f4CG^7qhV!-RDCjl=G8fG?xA>#6vd-Twcnn_%O-Qk+;u zcikY6gn#`{`hj2r9DaEDf6Ks7(ZK&6M-e^+pY?s0Aua{WdH(m8p%gI3cdfVqr!mh_ zBhKJi&hW6<28E`87yFfg1*p6G3RtnHW2I>O94&pT+6q|Bnf6Pa9T#!@e4Xg~5*?id zY`lh^qn8ohrL-&l%mR9^;NChM@rMsIE?`G-$g|OQWdRQru$S+T7cj=h1bZjagXrp4LqYNSD-0Z(WYEOyYdw}m9NpIe2Y!Wcj!^R$5!PB3@Sfj zMEMDm%Foc1UofNminGdZIH&v`#J!EN4Pq~z!&zEqlz1L5@aeyuh&6|Vb?6;Gb$$yYhUuin4VCB&aN!I{@Mvkb4}4L-ZL_f3x8ItInX+b-U5@ve*a Z@V>+c_z)ijdoSRVz=~iRFW^%&{tGRcKfM3| literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$LookUpReactor.class b/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$LookUpReactor.class new file mode 100755 index 0000000000000000000000000000000000000000..af17087a48acd761dcc6bec05371094dc71bfc92 GIT binary patch literal 2152 zcmbVN?RFDY6x}y%Gfg_RAqAu&2pDJ*ltC2yNQ;)xS|lynl=#tKx09RX!pxmGa|h+I z{8N|w@Bv)Dh6|p;<(Uu5G%2);{K)-0`<%1SzGwdW_t~ESma$Vr4ig3@O-v!ra8n6w z1;2QHR|?AwEZdPnY0DmPpW9mamhHJNSKYu`>AF%ilNCdLNh+ytGfY%#og$`DFi~HQN&xAGf*;d0%e8^M;S28kcTZn zd3b)naDtpX;!n60YUx;Qp&MnQ2P00>vVHc4`tlicr99`lEwF_awc?sj=4jjeK> z5L3K^Wa*fTZV3SIZ;q9#oAf#a%(hvkqw_9PWoYozCdU^u^Di^hJ03>5!^+Y1EBSA@!>j z+x957=nlc=w?#lri{8N|P1e0Y8@S7G>&*mA^||ADI?z5JZU{Z_y1`r?Ul*~Cdj`HS zaUU%TEPmRtN~C(?Jr-6gE-G2@Ufg@0(pz)0tG}~vEj3CUtW&FXMDldPVPjl@nVkcM zF#&IMn7GWk8V62$T{g)kcbvA=qEW);NcVWK`$*WDL`ZCXTf`#1Gw}&-me7vd-AFOU zglpbYO88BO2SF^618u~>_Y9ZEC_jun13xmHfBjXGOavbesktuFmofTHfb@wx{nuz^ z(a30=s{ao58%=Vk(|>e~!aul5b2GVs5AY$a3b+;_ZiB3!f6i6h0%696rYvG@hZI2CbHMkPEOJ;5NP#_zEky6W?lLmBuK`H6mvN53q%8 T+9{LGBAR$eId|{_e!{|k%+P31 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$Lookup.class b/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$Lookup.class new file mode 100755 index 0000000000000000000000000000000000000000..cb0a75131a894dbca2288a1b0ef620d772a7a4af GIT binary patch literal 9269 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 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$MageEquips.class b/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$MageEquips.class new file mode 100755 index 0000000000000000000000000000000000000000..77edc89bac2e39d2c73152e4c8cad8d49eb5c5bf GIT binary patch literal 1470 zcmbVM%}x_h6#g#L&V^b82daWUC?HY<#y_f9Ff>(Sla?kznlx;@OmE6)=T4oOs>F>8 zAHRsske+F|jw4jfH*+<|R{1TBL7%gg9b9M7#?uuI zsl!bT{a^2BIP&U=hQ7gPbmU%>?ZvkQ4x)#nH;F?q7>4##Y`CH(J>M(@(zzi5!O&Be zL8M99%)8AE26McSF7Ao@3#m;Bw$fx1=tqjH)Ff zdQs_rDV(lw3^L@}72KCqf3zg(^5*@P-Sin^dABBsjH0dNQp;JB-ilajki{svmS|Lj zXNUT>F&3=b6qIiZwr%As1DB7a)e5NA+<4oBA$Qr;;$87Tm<^%o=5pZKs-8_(sE2SS z43lk>?3x`zm-Cwj23DXIv({-kV{MZ}NT{gr>O@7~KA0F1JGsfFW0kUZF9*W9R}#&L zNsctfIr3X}Tb?Bs?TGQ+yYEkjtuhSUZmGa_WX1MvnnO-0HxPmCDoT8@E!LeeY`;;& zdRz%dQg8%OZf`--3nfq1RyLY6kKw(ErE1aA=Pb)5G@%bA(pRKUuP#I95(&3lKj65= zkomu*WJng2l3uM)*U_@<&+U z8(1W{$R9_*E>j;1VA@}gXs84g3i&; zF~u=WKSmvYrxs(xNyyT9T%bEeu@_0Zv(^b literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$MaxSkills.class b/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$MaxSkills.class new file mode 100755 index 0000000000000000000000000000000000000000..1547d182341d66b38dffbf6b9202c56b77736f9d GIT binary patch literal 3588 zcmds4+jAS`75{y^I$lZM*m4p%H4P9$lG=_PK>&wF4%iW-G4&-_!GVO^T3YONq+Mrs zWjiF0a0!=$OS!ZqK!E^5+ESo&s1r9cv@e~`w9}bR`_PBZ@WL=W@CPuHLd^MAvSrHw z!z&tF-=00c^PTfM-#KSje?R}H4*_h&Q&A{THH35!ssygFO+VpHIBwQ56L~L@$yuiD zCo&_3Yh--WO=O&W-mtS?qAQ!X>{L+_sOqq6%fC)QZE7CW5EfW5YK$9+f^X##U9M{! z=&?LM3Qanz7N{$0cNpGC+GJf6Y7{l7)ezHBhvfommx?CEak2AZ)4$0X3Y@2-Sc$lX zdL66q1A%pwTR67o8@BHy*djG6@E(?T?QgBO~VY(Y|BO+|Whj*&H8 zFOlA7<#IO|z9CSWSEVzNc(j3V<(>wpJYHz;L4_+?-FLRc~I^)pd&3K4SCkRoZK4RqGJ%d z1tJ`JD(F7WG9S=|_bwumQQU?-8useA9d`(9s02H<&DCW&c4ExP?Bf>SJ??Sw`@!+A z;_kMG&49*$nc?0aFug*K>m^yL(DFI$;m_h&%G>uB{GEXZ4(Tr3t-;VSgp9!I%8-hK zWtJgLxLoVpu8Wgc-n_K4954*+yzq`p=9@;9x0dUnSdN_Zl#}J1YI`i(>?`DlOm~+t zl;b7tQ37t#W@978wH5;v7IJTC}uuAR_`EWb?1j{=S# zRs4MqO9@^DuheoH;{8B9%->SYEHT2@dJzB%qbx`WW#v0!se;{Yb>SE0gm|bf{Q61dWLuoUq3m<*Y*E6U zn)xIiie<-Q`fK*o}F&B*y8EflL3irPXkyikl)pko#ASS3DEVIQrKt1D!Eo_tE2 zE^?~=9&y6QMNZN06Q|k*6*rA_0$ZqorqL{L0u%BoA@CPmG=;0$tKwB>&_0b025Aji z3A9;W1)%G27TZPosyMqDAU^PtE+bbs9Gdyn^N2LAzQ* zs;ZvBty8%3)XY)YoFT~OJkReypfQALKVsyfo_t(F1#F;kTuT$^q)80YLEKG;kfZx> zknYDZI*b!^1iz*SaGD;(-{>LymmbEabQGV{BSND`#VUGCw9wA2{pC&Zof zq{!1#;t)M8j?>S?OZ1F*o1PVC={fNadS3jGel9+vUx@ScOC?M%C@blNayh-IY@(Nx zE_zwnNxxF=qE{4$UR4g$Ys%AfQhAkLSKgyHlt0s(%D?F?0Pyx-cz^J@6~R4Umc)7s0MwYX6cW?P#Qp3ZRQ^UdDw`kjaUZb2_AgTm%J)qoQGCey#o`NLmtW0K6B>cv7}4; zz5jW%$zY2&!cSs)rd3;rl@{MTn$yN1jl&;PW48VdgR14xi1?T1pfTjbSxZ=#!RhNH z^2HN5ZN=}qV0P1aGORyOR4hX=ltxm6+Dhq|$5Jc8-&@G%*HF$jjCzt+oCu^eW+QeZ z@iLK-2nMGo)TqrrF@;KKf!n^XiAb757}h`-+G1LjLsFh<6Wh4Y@aW&h#o#_uN<^Ir zH)cw0x-__rGW}KQmjUsGMdvD69!W+r-}nsnaT>ltXBvj}7FS7kX9-xtI#~r=!*%kc zm;1;fN3yt`+xr5$-Kcy*@f@T?VOZ~ATkqjoAEscH)Q2K&;3mmbyM+ycv+2nSvCI(Q qCiyeCgDS~2irpn^>j)Wxiore91nOvDdz!U_U6KxEm9azB6n+91LLn9a literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$MobController.class b/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$MobController.class new file mode 100755 index 0000000000000000000000000000000000000000..e0b275be6bd56c96bba58276f6af172b17dcf15f GIT binary patch literal 2269 zcmbVOTUQfT6#fnb2Erh6(}FkT4pyh7YL%cBW0AB;phB^gw)QYNkb%hz&YW2NC+#oj zb6?`ZhpxW##h=u*dif>^WeBvmoVAjfv(Mi9eBZv!y!q?(uK@1gSrScXHjpsUf>wbW zp3+wMgC7(eWtBq9b{*wu%Pz`5+FAvc?Uzc@D}>g3q2ze!+Df2x&hZ?5SD<-vYAuO2 zv>Qm8=zu9OdXmpHy$iH$DZSt*w?K=@sceH0A-M%>GupSRTB#&Xq07K&6W!<$7&^&7 zz~Bive0l7& z44gM{0T%^&4jk;O5I|9edG$h9!}KJw7&37g!vYDfD(>6&?MiRUTH4rFwoVxs6*$*G z&viDLAb-Omp(IAo9))AV#3ZH!`bacOg;hW8dphu4R|Q8{=j1LyU%~qZu9~<8>kw=1 z5+(fzj8E2L6~|N$UtAQS_|U`*J`(7lVGVtT>10i0qMEp2;wC<>uIe!DgZN12R+h%>8czrcgKvW}p&^ zrTf0GLmkN7oYFj4jER7$2RNj8LyD~bd0xr-9=iu?g|HXstpbkA%NXyyNXt}NaK z?=91>AbzQCr}-ak!#s}%d^T$e_!J9Vwc{ZcDT$2VpqZM$@|DC)Zn^@ag3dkk3goZu zVL;#~+~UI}f!{DPn;1w`Fjm3%Kw=NmO_a6GwoFID4+dH)xc(ZqfC}b*{`>a`M>8TE zgOPvp62A*BW6T`pJRU*T9L173Ud48uRBode8GOd4F-+idWRZw4AxBwsEhCR5B2I8; z8DB5}k0?Ebra#ebV8y`TAN&Go!IzXaVGWOY@2CD(Tz$O`5#kBf6~4i@_^zt*6q5Hg Ys%-FA#5PwwRKAC&*kOQNc-Y0jKO-J@W&i*H literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$MobInfo.class b/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$MobInfo.class new file mode 100755 index 0000000000000000000000000000000000000000..8d68ce0c8522dfc1921931a027247f519b4b4c6d GIT binary patch literal 4550 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 E0Jn3Z*#H0l literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$Morph.class b/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$Morph.class new file mode 100755 index 0000000000000000000000000000000000000000..c20f604e38eb6e38939ee7657f519c970ff7185a GIT binary patch literal 2179 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 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$NPC.class b/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$NPC.class new file mode 100755 index 0000000000000000000000000000000000000000..4bbab56d9a8b7479dd1c6e83e45be32780808f1e GIT binary patch literal 2837 zcmbVO`BM{D9RIvcU?Hv*v5Hi*QP2`Ju2PTIpe;sGY(NT%2R(f3K9YsaZrt67w6&M^ zzHk2x`$OtD(|cN5draH^$4B8SIqq>I5T0(h`8;<_U+*{bmXoef42^x3V+98oBHfAc z7@E+mBBo&(G=`Pa`~uf)?qu~rClFcTF*Fsp=L;ekR(EF>7{&t6aT<3W7z(DoSCpiRYE4ehv(p{q`52&Oav#;}ZV z3xF<=RsT<_`*c}`ieO?^t<>t(K#l#OfHh)raRWJg@z z3M|)=k%z>Kfo1FS93%__ENctA>b)CIJNnH)2#xWPG>}F^nmFYRUrp%W4_iA`(p8vGu z+@~QWIU9*{^x_VAv|q!4g`=GkwMRAd<6s4~0oM(3t^}QmcT5T#(r|d*+CWa89MNzT zgH+3;b=VC?gQXOPGkskhIGhAIT!LWRge3U)k^p`V;rYcoYrs#XBqa?c@Pp?au)amqwQuH z+B2?~)p>y%Iib_Zu4z5vW~uwB_7ZqP!;>;^vTTn}P75O#G+SvTJ+0v!I73^W&xo|^ z7(6&djYz-zfI9(cUoD$DG%;c@V5$%rra;Eq?qHiL$P|-B;#f3xDjpC7DlCS5|1a>a z;gK{|L)tYdA1gAJBZiClN#UKSlu2vGHMl*_JxkKn!)TDRD5k!CP!0hB8*^SoHA$RXl!k{t2bpG6f5_#5HD2Gj*YoR&kzHaY}?k_4d!o` z6-7lmT66*{FUBq3qAc}0v=z7{S|!rLm|k*)MDt&)Xiv78I;jL<7vw$fb#wAWpaM(WktJzQn1C_PFG-xhvX#&u_k zg;cn7YEBjjmYuJ;tZw((a+&YE8m_8}G`HAYf=ueXTD4>L*k)G2;>GWpwZs_>}>{|JH zhMw{o%9pU|w^m_59u85>a8aNW5@vmf5GQbDYqa+|)cqaTv3xjr6S1DwRVA#x)>Fc| zeNlSezpo+L-cUkk3EfFam$1Er-s;aiExqSTczA&_OX!o-BPFDh(GmudB^kR8mjUQH04{gDBod?@;%y=AFy8e5uM6S zY*T*1Ugc*TR&HTT`2`couQ;dthOF{C^2#3wls|D<`KuiNfl7=x50A7{wD1uS0xB+{ zhzkU$hKrb`Z-o8oBhOhw{0PO2DD>0d$vo~IiHFW^Ob zuO*Ey5%ux}6d$ubF5`;8D|i*JmAS_8I=!2S>kaz8hYyG%t(4Yrd`MaO2%q3HwEqKX C0UYuG literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$NearestPortal.class b/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$NearestPortal.class new file mode 100755 index 0000000000000000000000000000000000000000..2f07005de5072aeaa94d35e454542ba2a4509003 GIT binary patch literal 3331 zcmbVOS9cpl6#iyi)>bwJ0Vbvdrx0utB6^7eAt*SJu?8ea|+V<_Dl76P>RVuby3Njl@701m*CxOoOj_asP z1={)tCQNh*EKO*tDW{y-DvQcQO5o)AxL13Dqa4po!NNili!3b05`k3-*%qI2^iE*G zlvJ}C1p4|1MiTcz4`wB@DRd)k;aF{;_()GaDqTP^<5tZl-J~53n$K! zw`s!3I%TH_boA%*0~0BjI8{^n1UB>^-SpA90~6g?ft4m!SvU==1x`uCA>A4)!=Tmp z{;Fi|$2`AcmjzBuDxNEu?Lxmm>dwYb=Xub=8Cb*YvBYXr27x_AmFKlYkWe+U%id#W z%CY zoaYv8b)BQ8xzkRmKwx$3RP)VwlxcUiSjc0T@SJsrz0eA4Hfy<**{R*lgibS*5saD` zvv8G;rZ0h?mJ0$FEo_yl=DVYIH4TAHUDzrBt!doCwU}VhD3dFDfehGYzS4kWf)lzM zU7n3&ifZWuD!TyJW1EQ^ENsV(L`V|`$Yzud=Zmd8wsH@n{EwZF>C|vDZZWaLf{jU{ zrBy`0oVJ58!Xs?l8}yBm1&N*PXE!7tH>*1=z*UpGIFhm^rUjNKVrkA(6mbeu*kxe` zjNN29#_S4VHdkZZ4r$I+f@cbzg{rPX2j%mnG}D@F3vlvgH>bF_M3{>p7TnKV)2OM%BX|J?MdB| z>998^Y~Ru6nAonS9in(BS@{2DoDFTteX>|nG`GG5Of5R~pwDiPpfRU^2+z)H49b;B z*IMgHyKTj30&R6tc7Brt4@<`nZ~X$Znk&<-}YAoF8F`Av{woicjEOF-oTqC-qM5hZ4SV&>BHhX?jCPO#_vxwYlrxe;`#dpUTU7Q zv0$Wh3%_2`c(Y#2LmH}_T~fO~K+Pu;i=_mjfQ;%9VG6~xLPU~c;X z-P;E1SWw3?bsV>3S*dYY%EMutloZ&}EU<$Dhp}vQ@F13_Pp@Nun==pMtnY9E#nwMi z$A%-w0ZGp0IS%S7-c+aRPe0f;*jCt7o&>bjotXu@WnzS5Iu$xy+%!}F!qGy8RWBd zh_CVkc#u050}tV0+R?j5@F+_)jNfnokFoNPle`GVUwGSuY2xNTu$KjVf>Z-f;wk9b(lzJJj@_#h}@){-I3D@_+^@DKzC|o}Y*U#_;W%X-( QJ5&E9q4O0E;#>6o3+ooLk^lez literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$NpcInfo.class b/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$NpcInfo.class new file mode 100755 index 0000000000000000000000000000000000000000..1de140c0aa3cd152a7ecf76bdb78dc5490c53e23 GIT binary patch literal 4006 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 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$OpenUI.class b/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$OpenUI.class new file mode 100755 index 0000000000000000000000000000000000000000..c28555551877cca922f3cd26190d335267d6aa62 GIT binary patch literal 1344 zcmbVMT~8B16g|_gEz1@J1o==Yh}afn6$R0PhBP5IDPRQp!qc#ww4?28-PslWJN^S+ zkodq4@JAW%ZW}d40=f?~b7$^7=iWPK_WO@-=KwaaZX$-bfrN!5QVc6f__jWFy_ytu zOWRIU3gz2QgL~ZZg=af%tHo7K+ncqPRHcr^kXn~Y`Y##cxqLN^G{eA-5H+3U*@JRc z)|O0|=r>?l$Y6kB?kb)VF*5WMvA->}=5@g^nyb9yAGzJ+s&4Q3o>cW>zG~tIh71f_ z7{N`3q2DfL<%_x?m~@+aT9A1OM%ly|ZW$Q2Fo8*i#op{(rG(>4SJ`duyr&jzNztsm ziPluS+ZO7e%#h2K^OehEcLTo@QVhFs+rk~(Wk?=-(x>Wjxod^ys|KaF!C2PhRmK%H@VH*-D=G}H}D*>C8K`) zDRjLQs*7RbZJ>PF5>=@sb!k&6*XN-=h-3N6oPNEb?(?C(Bo%K73XY@{NQPKASf2P0 zNKe%EKewr6v%Sbd1@uNY9ml0~LLWj(?F&s0l|;Woi`TC94LoO9{Xe}>4rS85S88&t zqXatw!VISA&k=qxQ2I#GI760AGov|K_zHFs9naDj9+T#AkJeVl0du%dRv+f^fOf** z2I3Lu)WUi43(Uf>af-f^!a`#C41;GFJ;hWA8Ak{?MyxR7NSO&(W)d0Gz@(XuD8@Q4 z$RSUjz!VBtAd*E|$H6j4;2|wzSfYf1aXNZL*5gCOG?q1<;Hkh0R`D$ITEh#PP4b$? I8j9%q3ELKGwg3PC literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$PNPC.class b/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$PNPC.class new file mode 100755 index 0000000000000000000000000000000000000000..de19e242feaf3a870b45a3de31204325fbc36e51 GIT binary patch literal 4072 zcma)9X>=3U8NJWj2+dH4*`l&k1VfD%#-@-48EA~apw>3THim>WWh{-Y0eMDfMqsCF z+N68abfHZ*(xz+DEu^i$w55AVNSdwLNt!fi(lzJww5LCl)B8p;9!pNC&e4qC_rCYN z`@VO-`<~9ea_TgIO?WYkDpV_|(NK#zf%UfO>FyCHm$FQK)YX$2%d|Z`nKp7p(lc{< z(it5!?3Al_rbaD0UTg`}ZM1C5+bmGsxOy;zkibQ|U1P+IMVDvoY%;phN^K4!3{`=q zVK!bP&~Txt;+#}K<=kG6>B?vV3mUr*7>5l#W7s2lzn8P@k&e}aVa&xv3hFh?!+cIX z<&v;HbHrqrP}az~CY!GkBN4_zEK+c>h6r9Ou&fMS#xYW6&eeOf$*qQG2-J_5o@|(A zHtuA{w~QxJ0@23A>hAK9*08BF2Xbgf2ulQ3#GQO56}25NI&9ggs9{IhA3b7u>8Qum zMiX1t$Yd?k@H#|^ol|vLW`+|qG*-mtW@S?PuqY%SBA2`p7weHhJXQP8Sk4RnFUWy3Oo6cCadgtWY| zJYmx&@ppF>+BK}j8w6^&oGX2nal@LiUc;q$qd+Y~#>d&s{F4oJ#AwJjRr*jmh5m*aS8M<$(|?w13)G;E)ott%}p2@P+?TgW&@ z?RC69)6E)3Y-1=xs@61KC9yPPnSAtW*oj?C89hsTxw2yAm0Kwz^r2tDfQH=|hFMLr4lN8Z{1@ zamP*?-X4|`!ql_jR9hIFY9LxyYi7&bMF+7sqt`l(=k2}W3g5=Gh?GIO@!nR=OR!R>TZ+Q*(|8T$AYS-_|z}P4o`z^wp-3 zl4GS>MvW|=V=dz?$?=xlSR23XEyL;6(ZSB{-P`)3jj^I%tmqgUYl)4w#ONE7&V01D z#ON-uk88LVZ)Y(ib0*i-Yk1aS^NPHgV_~kJNw>@La7eo9fnh}cPVS5kKuY|(HM|Gc z2`Gn+Oy1l%EU<9;rkB*7nS39vS8#)d_u~Vk-1JNq=P3cxSdY7SxQ&`T-2^&kz!_lG zBq3%*?nfl%4-vDUEm^uB(eP18=vs0hkqY5P0WlWBO?-`q@JWHHd0M>{)d|IDQN+*2s+z{=6BYasMoyIU>QJ zWWK=C@}R-flxwKXTwciS~jLw7ASK zz#C2*;z~*dSMC_7Mmo;!_l)Gh9wS@Y=WxH1&n3++OP;9p!8@nBMv6W8+LyOIYt$UH zT#NkZw0W(f^6+2~SX;i%iak9~k9hGWEAwen3^=$(UR(vVoOvj3<;>K;c$OF{vTWLU z-jh3%NryP34?~2vGenQ!`jQgrHC=Cqg&#~Ne;WCz0(TR2eBQ~H&bQ#Zw&?`KaliWqe9CU9cj1Tp ztrZ>cBNW)0g%dbQ3kO#vQO!2Qj^@*~w<6qBuM{xrcyrC#lbEw<$w@5eZ9OB+i>0}# zfTgh-K9|R8TO+jvtSq3ZRkjOgD_~ve=Vf!(?k}KYs+B5Wvut%1u&uSGfE}#`bf3Yj z)(9Itk(yRfz!i6556y2qh5aDP)JYtO)kW$ikQIn2k-GZB6Bw&PEEEaVzk|TuHG%h5 zV-H&&lucB^$F}(pF~pT{xv1>B~-h!g6caku&x zoKydbm(;)E74`38j`|M~RbLYA>OaK>^q2p)xIoHr6mf;upC2G(nF2=9$Yf|ngSN0qHmfSjq+i?bWLE#~L3+~2Q zgm4c-&O`O=m$6VNXnq;H74#|m(^89j*;R$#;Xb|>aKii9dSD-fiwE(LiQnU4JmS0T f#iM+O=<*o9PvaT3>gjw3@9NJI{U7l>UO?o(eesx2 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$PirateEquips.class b/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$PirateEquips.class new file mode 100755 index 0000000000000000000000000000000000000000..9a61312c73f81e6d4eb45b4b74e5ca687834104a GIT binary patch literal 1493 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 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$RemoveDrops.class b/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$RemoveDrops.class new file mode 100755 index 0000000000000000000000000000000000000000..e0f74876b1dc7ada8c68b744293b299519219fba GIT binary patch literal 2199 zcmbVOZC4vb6n-WoSrQgVX~Cklg__ntYZt4nFQHfnAk{#XAbL(e4Z9OE?Y_j_S+qaP zFL>++e}KoI;5pVm;_=RI>{+rL<7qx*cJAK$Joi3x=O(}X{o+>u5Aan zaL*UYihc+}M+(b}EZddBSC-x5A-9zXEj#c$?mLmS?s(E~r8|c5s`RB=V;E~J9ab@p zih-($378D^QJ5`4XBa;gYFi4|p@_y(dnkxfaviIy-&=`Svx+H98>pGMfEk8`Q2{B# zW*GD%h6}{-l%H@bR?@XPLN#Ydk4q+IF-O&K+ZKJru+$EHG3<;RPq6ExUr@ zN-j~C?3RAnTskyxond20pj;*A9&J?LPiO|Z6+8&4s7lo z@=)siz*tm0Nn&q~6mc|llXMb43OiOrwwkLpS4?s&Pf|Hu?jKtn6-xh@#GoFvd(>|? zM`o2^Fcf)sOjTSw2aTcRqzyHlIXT@<40C4{dEWn5m6fxutHXIDC#PX8EqZf}uxc*% zjvQVeC{SNv*!iCtj6m0V6g3&cwGpn=a-AR!ZLuwr6VFb7=#Fk`hWY*2SJD%QGLqB> z>%Jc-u5SYgcy|~-cWAHLU@%vx@{-RzLBSJgw-3}dL-BnqL*X2dtPIzOk%b@A@LIR+ zfYQ-Egj7Bd5lt`}1AFwa6GY0uI>Y_fyB2gN8$qBV74rVBP`$v3rpwr@Vhh^_J~y$0 zN0eA{)sy~{{z>qRZe((h6v4YRP=oL}mF8u4zYk_WHYg?7p}FgdsNN2OXK}xo@9m6b zz?KFk0=(AClrl?|2OiA6Y`!h-x*e%RvxYAjX0sJNK6)x_Mc0tj+O1*{dnWGUgBrdf zwQ?;zbQN^7nvZ;6ge{jxQPLNg@nqnD;YLpK^VBmyP*?xkm0Bj1nzCG^pGo~01GOZ| z^!*O)ELs_@rRAT&exip0>h!H&qw)uC(6gC3;3nRsT?Gv+kwpi4`j?m1+2vChrVIg@qB@D zrjapVT9|;vFh4G5g|agoYYTPVS6i|t8sa_=+>jxgFVybxU2gZ4?AkRMs?r1|an!(+ zg=5GvOdi~3NQCk$5#gxn&{r%>;{@51onbm(9VYB@uWfH`-xZE38F-c9;y9F22_obG z!ZcoESZs)%zbo9F>WJKq3__I)BK$e&= zRP!C)ZSg>Ad+1E4jwFp$YXAG@5)mrC6i#2!UCa5g3ANx$`x$)E?ua)netL>y(~M9g zA&EO3YVg9?(-8>bj0bIE;rIwRRMkMqv_EzD9g=bmlKSA@Kg6ydid`OyWmF|ARLha3 z;?CzA{NAu-X4CHnj#!gXQ}>Uc@Vr(z!>LB!(+{pCLrJYJd!DbjlD-Iu=L;5$6!@GPXv`N55oxG%ZGqjT%xhAe=$%6NYVciSvIYV)@1QJuy3R7_vl}5 z!~6yB)3-GUz!h92D}xf2$)gWHrMLvGH;a2PHqJf75r(gEMO*QQI3B~#I9V@dPwnCL zV)o6%kC^=|zPN|CzQ;my59fw)b_}0>gG@1df#NiT1T=&Nx(ep6NSeQ4(tL~=^9kn6 z-?3yqMcMoVtLC4$Vg40CEYg`7ns?W*g182R5AY$a`m2nO2yPNerz!L%S+zT0AvRDK*u*W|jzSvPqSd63OK9K|WS#@( C^Z~;F literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$RemoveQuest.class b/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$RemoveQuest.class new file mode 100755 index 0000000000000000000000000000000000000000..7c918b31cfef6022d0179e7e90e7de2b96f31028 GIT binary patch literal 1237 zcmbW1T~iY=6o%hG>6T>y0gK|dSg|e2YW=t=IMzChovF+SOmDaf+f0em%|enz{aN0i zN??1kN1F(fBE+#PPAm?EUd4{J-Sl_&lbXN*L zG=9*RLRmjJ;+h9mXg`R;kgKlo8{JT<=D=deZ%QTYbB4)srQ@Q2X$P){8F&n(EM}AF z4D&r<-^Rk&H(c?apqXdoN;@m|B#H1xS!q literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$RotateCamera.class b/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$RotateCamera.class new file mode 100755 index 0000000000000000000000000000000000000000..e8fa72b00d0064d2f4bd1d0126c4a46099f10cd0 GIT binary patch literal 1447 zcmbVMT~8B16g>llg|dQxpdiZfA+|+XMM0%NLK=xp8Z>}?!IxooETh}mIBof+&zTB=GuTTG)L0~T)D7{n06>{Yx9#E@VsBHEN9 z@W~^SEwwmNT7mC=jL+S~DxbzJj93`8aT|9SaxD&CsFd&`87jBNz0Xvd_eSVa=<$HT z)?vgWQQ%dfIYTy6EVe~F2k^EYy-P4C=s50Ln6PmV_Zgg)plvJ}2KIHxeUF76Pm~ZZ7=_y+K5Au+D#V%ZcLKZdHG=q zlXO+ZPX{P-bkjIRE0<%(*i43xYKp4njo^UM;;1M1Z%@h`B szk?_~p?RFno|4bv9+<&1JU3XvvcLy`} z?}ax2oW`G;(SSyYgn=YB37l|LkoK>+UcpxBil5GxZRG^%e97{xe4xB^-mO$Dr{JfD z3KiSQ)OP}#25iR;1_c_s4ox;Ag(it+11&HF4%|&^&h&_ zgq^rY;{68Nu}k3IRkkUoO0Q{9FmYp+LX5LzD?c;tTrAlEw|hr6mw?KE+$-ADX z@`0JV;RM$8K678rnp30JtU2IwkuJJ}=D>`)F{mT8$G~2g0xb-3FsgjtDpJ$&uDhsO z$GOQA?h`mR;hMfuW>8Y54xZ^wn_6qZtXQ-DVYBM1m_eE&g#!$<=4nDF4oY+xID~G2 z!ByVAH#GPMB5wtnu2${*jMgi#t!{BOu*>OT%P%n;{mnRxBN9gqq;bDM>vF=fPN0g4 zu#j_BxvIve1$K6255>HWI4GkRACx$5-~>)C%7|+rnr5qkzyonWj89!*g8F0fB1&9E zL~3KHJYe8K^aKBvh?K&BKts{hb`KhO z2xn*@u`kfMj)8FjOXdii)#hYYUHR`ib(|kIa9)>V%65WD9a9ayVFOt_D$qd##=VTE ztU!fDc=kr7N(?(eHgqtr>h;i}bFc~(>=xxhdRmumI=su2q%dM&6k}AkSk`O=UGM4c z1$;>2aRWI_2$*+M#@eTbb86bEmV*nf7g%Mwv$3W+TWIE_fs6PE;eXBYW(9`Vl-*kI zHu67`tb1TDE*ZFtC)pfX>N%a@R+<$;JcK7nA$UJ(;Ax$hgl|8i+SrdRo!lwi!Bzl1 zN^c7aP!iJyiYN(eULjDYmu=b#T$awx73#7Py}t!lFe6bmP=O=Rwk%+gg;iIw{4sT% zHnX8$(l=%eTm^+DoRGYIQFhpdmyp?rKpS8Ef2u9=Pe-nits`d_9V@7MY=(WYs70+~ zU~R3%D2u&eu%8BJ+yZ568L=HTR;^4aZ^D`?lhQWg=B@Ii<=J{45feelW-*^xo#g+q z^--@>*Hyl%UyXq^pjsnMKY{(1V;(Hl@+31r_-JdFn`3lH9f2EGoWOmn4PJ{|0&zB~ zkNq2QM;K=0>Ww?DIZ8CoXcXhLrEb*{o@s5qM3i){RBVS&a`S{!tw?f%eC%PGDEmr0v_x^^oJZffd+n z-U7XMHFas`iN+l!H|bav#miE^nzWLWg2xfW_Ee$XDA(kpK3NRq^Da%%Je0C&Liwyp z7VQ`p!>%7l{7B&Bs-Cwdc1s4W@RgnLtm_7T;90YyDk!-Hf6FHPv>7kqWr?5Zy8Jnt z@G^{SXU?5b(F|38)6R3sb3MZC`S@EDG1i3+bNnkS|Gq9lL{$BfI~Mo*Ir_)I7V7EZ`JC##?w( z^Y(|l!;8E%oc=4eX--lWFch-h=Dy9LC>d7H`Q%@wR*n@5m9nD@R32j)_)zAetFPhf%ym+1 z#y9Xy!sjN*dyskuU808{iLL)c=fBV+QINRuHhLObDg9eZ@Y)}O5NP=edY^a=bFZR9 zhem{z~;wNPLMfklH cet#W)e~aJqT+d9McoBbKEMCEFyo&b!07Zc=rT_o{ literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$SendQRValue.class b/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$SendQRValue.class new file mode 100755 index 0000000000000000000000000000000000000000..1260a3cc965b6f8e12b2ccd792008100cf8d1909 GIT binary patch literal 2928 zcmbVOTUQfT6#foL7|4vGs3@)4k*ZBV981M2K`MlZQ38@c6s^)><`_nk8JG)bZ}w_0 zFYR;R`V;g4X}jv`Ti5E3a&^yS)RDlVG!N(G-1h#yeVu=v|NacXdHk3}6Ji455)x=; z=r_5mI4hQ|8(gV5idHqa=_=ZSYO9*dZAG(cHPzG|WmvBnX12a!XdX07!yRIXrPAdj zTF@#WDM5t9aA2KG&o!#b3=Iq|hBM*S=DE$VFExHwT~?K$2IgJ`e&Ebs>g?t*oEB!+9mA4UWTLV)HP7Z5*Y@OIJpJx_@Xz_ zPDDDeU%&wgop^&`_bY&T)8!Q(cFUq_JDirA$jJNX4oWzL!whW|?oRpm3#v(K>G_#d zdVDLq0b?clE|Y|eBLcc4yp5v_ecKno(E0+5L(B+9KrZl2L0u#b9XKxG9i$k9W#7(| zcNjWS`S4=krqBu*5#8t!a6&>aPBQFxO%#JfnkMa0en<7HWT&%HPfyO@<(iv`_&(f; z>It_5oMPzN2G>^f;XMJTCG_JAgS_r3H$4jRz_2A(bv-hKK!0qP>kM7%{nBuoY^30< zpE&0jj;HclKk!pSMn=LQ&Qs{9x*jNJIF(xexFKpIQIPTFDEL6a1wY`E4nBPE6X&=+Jh{yQvKSpleH+8?~`BJ0~JNCQTD$~jOlG6YvA!p<)r6c z4YZQscHxqQJT5aNR&2wi3`{jD+URMz+=_7&1WZVn#MRB58seXRut=i!PtD{?({sgK zcCt7+m%Bb!$dyXNW4TS89C;l$xhSE8Y4Vt#GQ}(WK~U!?wH1^lT*Gy8LU0rmB!;~& z(kWWZeBa!Va1$R=nAKhso?8vH>v0x^kdI_XSQ$qe%f?35YQb%Wbcss1JXH+9$t#At zAj?7A<#qX(enJjoM?U5V_=sWGt14H|yCmkJ3D6~QPz{Kj*TGQrzhl`ol|txTG_^yh zHzVjb$nEf!fCYw;bqURHiA=O_`>Lw*eLtfiCF+r|x(*PF|s*=vRbu(vLib&Z1|!Mva#Z#~?=yo2Et8nTi%M?AucN%Mb~_O$b85R4L!6 zc=svZABgvM##b@W8ShE-tzxLVGror5Rg85%!4>~x${%K8 zYnb&n+ixZQ#N2Gmms*-7X>?XvgX(K0OfmR8MyNkP%%V*k#Xd2I4si^J#LMUsub^KX z$ADPCm^gugcoj3^6mE+}=wb;qnjLW(KZ!Ge4Nlj2Vi8Lul^DZ@LsmFMqYICW+C_F* z#tP}}r^h^s^~;LZI?MXj(G5WF~IE!;0&ik0aBt!6z92oMH%sLT!xZ7w)gc%gq51k3QRXh|J z%7=qZipDX886OugOZRJ}t;Hcjrr2;bp28&`mr-Q!d)=n6ax3azQK>kvy3UX;%EKJP z${;=m_M4e)By@z9t5Fy}(imF`GIzR6$ZFA%64ry{GP%0ue`!zGcz^l8j__?i1L@ zH|$m3Ex-d!*?PESA6KK7h}Sd3zZCIJbw9a%Sl>j_={j zH%x8Lm$Q9sdY;ZMI+QdV$|O8OIfooS51&sU&!;fS3n=nwEby5Gz0gO%60VU4Vc|M% z5dI{N;U;cTI=5*z4VFg+cW9ZyT~tVplTnqld(V(EST?wi2NE?rL_M*3gjJH9tV(!< H#~A(z7uV0M literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$SetBonusPotential.class b/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$SetBonusPotential.class new file mode 100755 index 0000000000000000000000000000000000000000..aa280990d8d5e867abc7e31df809da530e3f98bc GIT binary patch literal 2011 zcmbVNT~pge6g`V<%Q$jU2x*&!rXoP%j~X?kp-mv9U`P-#HpGUPJPCQnsI^zFc1_FQ z=|4yx+)f`ded|pBLw`y;y=$2^12kr8&q%tvckiBi@7c4z|Mklo08dcQU<`(dgoPwh z3=aiYj{Gi+ngMq@((&5?7s~OEyvXwvj~qYjbUe|N&RVk*h;nQ(q*ekEs8t3dmp@1& z&9JpEy%v9L&q%HgyP>kl^GI_ocGif#9*VD4K6s52B%!K?YY$SQfIl z$}l$yVVSTpTp`G6hf58D;YP0VwRh|}ZBMkEx{3nPTFxJ2@E#^iOj@{(DTaxEU0k7f zi&L0%*NY@4^FLy^<9Ht*nE24bO?<>KeFhyDJ*uKBjvFUk!jatE+jn;vZdcyrx2#j1 zw(v1-GfcL)qV?2;FgjU3iR0|$-W?!+cKTc&1I1%tabVig#*B$O7G^QW;GDrXYCS_% zrUE zBi@YF;Lh2dW7S#n{gB{lAKEF^;F1KKB&|vxTcK1YNQsvIA72TBD+G_qZBNQU0_O;f z8QiDKMgPV?nIc8c2V^<)X7o-LegbIXeir&DX)p#fm?gSwV3d(EHeeZ>$QsWvWo%*AaBW326g_Q89(mmIA}_HC0b@*%l{fyMoa)^w8FqA(o_lZiZ~y%CGk_0q-^K_M7Lpt( zj51tPLOao;AZ$wEbRx&|rBK@O+HUB2T7-@lbULnTM$TrlBUR~W#V}fwO6r>oiQH=4 zMjB%lY>shohLy8ymdH9ox+V0s6n>L5a;xP&C4%HPoqcoe#8L$t6PUCx#W9U6!_rv_ z3>orZd~F?8-Hu?`$dw0*0=={!bXC*D zKF@Iu3k>64+tn2jMQ)3{%?pb;@l69F-_u9m)26S^>t*YLW9 zC5|_+Ore}QCGsRC$JGJxIDbla=XjqCtl%vR7dhTWjv@QPz%vm7&~~G$c&y_z-ZvU~ zj!U@AkW}&Z>@(XjWxI`s!qWu{R~XLs(eKNBDxjd@P(U`;@D9hjSSNJEl-xfo1xkm3 z?~9N)RED0_Tz|@kGjGak0#`Y%;W`m@(A8yf^}-%QX~0qp#)uVO)`x}n8E*B(GyrI5 zGej$tuakI^rJzXxPL`z-)o!OD!acX)(@wS=c&=Y}LuuB>n@Qc4Q~}#(B7GU>1?@HhQ)hbrDaFd zWh5ypn~Dn7)iO{7bp6c0o+st_W+YBhiY^;c&O}0c&&!^HhvM6=3`KMA@PM+j+;3Z` zE?vNzo=4Y;HZo+(zD>3&ZbVH@Jzo`(z7s^+!j}x!|6j2Zjvb|_4ShF?Vwk6@mu{OI z^g@{52q+ee()R;eIW#gFQ~4jkp2Wu+^fkxeX%uMAj|5PpcLo^4O?*Ta)$FiBNGW>$Ijnraltp~?Q z#Y9aj>G8R_;L@t&#lvPkA knK{zmrPbXBU=cpYJ%Jkb@C6->ppLI-v`OR!&A-OjfAfqOr2qf` literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$SetCurrentHp.class b/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$SetCurrentHp.class new file mode 100755 index 0000000000000000000000000000000000000000..b6c6463b7cac46f3756bc680e484c8b7aa212322 GIT binary patch literal 1289 zcmbVMT~8B16g|@}U0N0q3JQXPh}eR%ihw2slcv$oq!MFEUw9gJC+$FYw$5z*h>05i zhQC4|)cD{J@HZLb-Ige6QH*V}vv>B+x#!$_cEA1j@)f`q?q-lc(uU<=04aubB_h{6 z3$-tW8yMGXN}(dxYjDlINNCp!gMcgFxJ5sZs??1bQkzoA=pI8dm#<|oh_sE2gCRH! zqX+yccbi<*-Li^AU1)~E7S~2l$S{$s{7$GwTB>>>Uryr;Mr@pQFp4pTsUBWJwTWFd z;slUrv>2uDsvHc_DF&a|kxI zD-6A9^p5P%&30%a8|w@k|7R(pR8~spQj;4KvvrPp43{xQAAtCm04YL>uG18`v@%); zmOg>K?>wHNYy242OI)OTr<;IFn58ISW%l8|!Ggb*b-l%acf ziVmbzu_ru22@CU;$SN*~TyyagB)PXqT9LN0#h@JVgmC nVVTxR%DYa{jXfj`Rt)L5DR2v`xZTcL!v?Jx%9_F&?jZdWtW92P literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$SetDamageSkin.class b/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$SetDamageSkin.class new file mode 100755 index 0000000000000000000000000000000000000000..4ec92fe22f01fe783998275023ef1f2f35d3b9f6 GIT binary patch literal 2833 zcmbVOZC4Xl5PmKsEM(WBLB;rjks^kmE}~K;NJ~L#+5qzE3$=CGy@ZwQF6`YPYOU>Q ze?>p`AJ`9(w&!^It>^SN^>{jW6D0&R+I+ZsUuNz+GxN;c{PXIMmjJHe#~2#Ws34*t ziYA83E)R6^(DN;u>yFUPg3aAPH&+bbFaz%Ersp_@YYBbCa%^|Bykck?vRykEW@t?H zEHtB;p?zK$c|MpNvJ8hNNwI3XN!uEZAqG`}rePmGV(6-8aFk3lsDvPx;6mQXa43~~ zU~CwA!Ep2XY~b5&J|oTUXGkw*C&#DmC3jjCNuNY{a@qHsdDmr+?AVksi9ZvWn$>W#|pYMoJKc8|A$|} z(DE9LAkPR!=v)|`31cmzAjNQ|_Fm5wf#C+CjAr!pQpPE*p%-TvlntX$c{xJ#N+b`e9e z9Ir8Sr?T}GdKP4sKh^LVMu=yIWrfBW`ck#Z@1hJwWyVwIPVx0pBD7 z#zTtCaFd$nn@%;i+w?n_^`1T|xWh13L%Ut6-Lq4RuGyOWjd~V^s5NK1yximFjHLqY z#B-i$6c!BMmg~x9Bv`SD&*OD@^*+WkR2Y1dn?;$Uq56ReS+H1D({DOIJv-(KHOcO} zxWYS#wT7Q3Kic-VjVNw8c}ec9wMiCaB(~dm#Uz!-wh#l$GBm6^443KxsOlq?-cDg) z>kQ{UM3r>*QBN^fsRM_pQQ$G`uf<6)XT73t@^L#%Y4w{e&P!>A#7xl*Y=<(k2@tTTYdD;gWv3{=!t&{t5ewT!c@dR|B-9`W&FAYy+vnEY zqcx(!TYBV(X?g@z%8-?&IeP2DcXg5`H#`w2_@180|5p`+Axk~VA1xR{gy46S2~OcQ z{ZEp=29SqnqVX=Rbow&-M$<3Ao`=VaG|FSBt@xVeT3G=1@C~h6@Gb7s4k@$ih>#@k zbMMQ@uh^fCD=-){EiHmpW0IUtwU0tdQ3*VNoR7;ecbA0^5f<| z6mo}j+R)hcFWMEjuaIF1Iu&}bB3PrN2CT!UZwFl|Xca6XB2X0A5O^rCiANld@dV$6 SvQP1hzA=)$ji>klE&l-uE-tMA literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$SetFlame.class b/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$SetFlame.class new file mode 100755 index 0000000000000000000000000000000000000000..da79c14f362cf5c271e7b140c1bbcaae52777826 GIT binary patch literal 3867 zcmbW4YjjlA703TKCz(4LF6I(I9z{Dmggi(F0z^wfG>`xzNq8ioD75xw=8_D|+!^QI z380{YfFKHrRY0KyL8jt^hjhRfMJh$nPwiU$()OEc`K6C9ZCATmwf}Pl0u9u#I%}QT zd;iWk`|NYhKIhC_{`$Rh0A}H{016;<6dEXkPs0qy_CoHOWI7tNLkTw&iN|cm3q^XY zv=#B}bSRQcBrGTDh8m-Zm@_ADY4Fv@oS4_3L6ns*^~0}WYNu;;+cSe>SH`V`9b|oP zFqL#;UM%S}1ncwETbHtF^jh(Z-4H+kgLD`M2IDpj69x)p4ujG#h_QLCwkt=|Fubf~ zmDOv7;+E4LYWLDHr@KxDWNH}Myw*yj;@3i&8g#vMaQc)0N-n;)JZY+b{JNcCE4_US0Wve#~Z{sJ+&YCMq$<^J6ZRcxJU9^Ql-K$^A+pY0*%a zP^c}hkueqNV5J{RG!*o3NjoSLluMbbZpyZ!ek^0_RT&8%)Sz4Oxa(Q;yMiq(*N-2v zx-02Y`;pY5iEcl-=(a1G_9H6&OR|!)iCPIBRX=*@J8t*daX(hEKHf_uPH*vEKOEMj zZP)e!n1qyphrvUr(_Y!$!59mfR7+)*XCTv8)zrL9vNZJ8w1clw>~HaQ-5Rwi|f5549@vjDcq* zDprxpb(9Tv8F)@oHOT#3QVDk(ctOHJvT0*H-p=9d$45kZ zxFZt>3`wmUCv2s=IfbD&@y6WX8@lMq6RJTA^N^^!PD9mz{__{Tx-mJuBK7>rWxVbJ z%fFVaRL?O7Xy88Fhm&AIa9LWb)wY1vtw7@5G#%(R?(+K%R5!g2lG=3m^#NF>Qv zWE;Bib=WR{!_ZF~mHA26)A5Oh+W#+28AI4{_*%p**HzJ7&0CDcQU0uwp8_y?`1t)Z zS|Lh}vZ&$=w3Dj(b$-ighz&SK-N-k<8+emeG2X)4BVcc${3{wmChQay*_ ziqaB(pR6pbIg25)Do$ZU4tI>nVeENKYOA`0Kt*Y}YEV>@L*>lEN*^0ett}c=IMY{9 ztB>;KaQ7P=h>$~MXo^!t0tuWA1S+Md7A{v)&_a)JI$Igb7+p`Dvb`*TzeS;2O{ zMRi?*@*<}GwVHA_AKgKevnYpAPWFv`Wi$JY_VwPekh0ac9rMUHj`Ee(NY@9|cApPd$?YUo$|f1_j4H~12M z9RVF5NK?mTipjhgOVr2g{~7!*r2PN=@%@t_72-oWF2Fhbf^sASI#27Pn+a literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$SetFlames.class b/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$SetFlames.class new file mode 100755 index 0000000000000000000000000000000000000000..9206143139970911039475548883cbb88dfb4bcc GIT binary patch literal 2445 zcmbVOOLH4V5dOv^X=P=dhl3!25ah%TwuQV9hz+qF$In=aUx{Snyt7`7<#nW8WoM*Z0n)#$;%Rl14iWm6UxX!-A3< zBojzrp8?ZE7xpvswxcyo1R3@b&u~#lwKGGqe_`9M*;dK+idHTRT(3Afu$I6<95T>t z;xOJ|IP{N7)(b^ZkehhL4y2&zfB49D;!V6|;E0K%c$?wa9(Ka3QtGl^Ex%JC9?{v$ ztJxKX;|s6S8&x46Gx08tGjtb4NcNO^KiHYtY52L^|7r&VdzW80JU0{#VhzW%WePn8 zPMA1}UIuFqzjpQvU5Y0;o!ZHjd`g$qpM7l>WHxHx6hr#;ww=9Kbt`f7Gn~wCi9n=W znezOUP;kokQsEW>e;3$L0(}@Xk;VrMh7{puE`Nm~Lj0%#`Y>d|YAwyot}E;#6Q^5P zb}6s0PfVO?VGFC56gFbwQ-#Hp+xZm*oi#Dqf)+J2ZsJ_aa%Of;shu}5sjyB>s3Jr` zq0=U26dG6P#cH{tz&R5aTIQ2^O(tvNVoPzc2`-peRNy{kJy|N{=w2xY%O+M7o>2IV zU8XCc;43C_Egw_9lnPumv4+nX%xa}zha&GcuG7E^1@}TlC`Gzd2Cg!kZ+DI_?H#f= zC&D@1Bj|jl{Q}*X0}HMvma63q5#;TS5+U6SzGIix?7&s?CKypi&M?)s?%QoVN;M)L z2&Wp-R%5Rj_4Su^7ixgc7PXL5Z8_=8QN(soq!Lt3|88U7C zH}1N=G!$M$wOb-b-Ik%lrX4%N0*MV0T~sp8-9@|7Oluy-lx-GNTX*6FCq8Ihl8_~QN&02^x9uBI?Km{F$LZc0y z*tgLQgB z)n5lF5X4AcqnSk`qcJ-86WFd^zD`mtgRkNSeVYvh+{7)Kb>cSe5JJZ6DLLyT>{v-o_9q;{$zNO4>O5uI25LF7pk#tOt(X^q*SURpp zBYm*35YHqdbqr{k(egtrKh|`h`rWku52Tnu?K1+OkPcLEkH#akPe3zy9UT&(L=`oG`*?sIt@RL(wLK$`5Ag*$ F{{n<8ix&U@ literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$SetGuildStat.class b/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$SetGuildStat.class new file mode 100755 index 0000000000000000000000000000000000000000..f39511eaa1e9a3fa7528b7bfde43040266ec810c GIT binary patch literal 1868 zcmbVNTW=dh6#mAyjlEl(rfF!)ZPTWWV>@05w3OPUB&JObc6xD$g!(jHPd5wRU9+<; z^^q@_rGt<;~wZ$OAMyB3L%BS-jQcIKQj=X~dzZ^keFe)?LZGg&d@8m{j~s|@MV z(slt;$ZIGV&|xqvOv>4$>I(2IPHUJm@G{OY%ulS% zP$aY+;XM%H`fh^%Zs`cj2jr>1`Y~Ed5>tcc7%qGo3{4&i(+?tQ(~E1G!9#O57=}sL zwJE$xqDPzN#K zp%k<{g07aLYr()pT%uqpqPD8SkSVniDoX~IlrKlV4QEh51yv2p25QQ>IFa3?{bYYj z?VrV)2HsNoEDi@f9*M0WiIE!KW@wJjc)787&?SQbU7)qPl5|SQEx*eM|xfRGr!ySez|4*j`spb13 zZ1%a73axQixO9(K=nYrD6sRNQXncoO7JV6gv*pKNd$Id6jmi!E8(g8ekp$pfT%}bW z@8KF*)aE~tMuxt3%lpte)#oUbXHM*+xK|~^smfa%+e~+U61E%#KF{l58bNbIP^*zk%zhF`S z70dc>sOgV!ReyqY{dctWr?{j45jRmzfTE5DWhKb;x3)@cWYNZTd_b(sk#CLarO_mR z5$V4$tzkAED+X=2-@onySj3YAx)8Atbr3_G;f@r>)jNSI`@*ej z*Q@zL8rQ3G#XTdG>jm{Xmu2l{%XMGo+9QVef-ilu#1KiQO5L#0Z6V>{6dZ=p4oo4N zgq*8#v-Pea762E33WA4b#CUzC$uotKn7}jq1}kx#!>?P z7_cztUKK^7=gr>`ea5kv37HDJPF~i;eD<0C2rz4?qHLi6_-Op;m1X6VWg-;hqJ>vA8rjbi6 zqc)cQ4EC}0`#OEY->_G3gZfT805cQ}bmJy&(M-7bJtFi1SEu)5AJCKj1Z%Ko4}Bk} zqqARdW-&dohl}ZvFSxXat08yH%@*l+8yK^= zO)H23bGSpa!|26b+#?tFX*L4Zk0>5cw+r*gPC(v5^1( literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$SetMap.class b/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$SetMap.class new file mode 100755 index 0000000000000000000000000000000000000000..72c18265cc790e81abc5a3836f515529678b8b5c GIT binary patch literal 2173 zcmb7G-%}e^6#gz`*$_f$Q)>Y&O_3rA$WmGm4J|?xi3X?*O|_^qm(6XsWwRUi-YxQ< z=({t0@kJld=|dlV@K16a$FoVM4ZEownPKmbJwLzioU{4!pJ&ej+{U*l^r7EGA`Jrr z3`?%imOA$QniN(;S+*mEt1bJG``p&Tw`{M`;BHM>>$Qe-i|rG`z^ZhmzQfQzldGnX z#Gr{(8be4kj7Dq*S~}K!dN3rV+6fv5!e_WNQ+~{!aLeIt-KuC`y7fZtVG8FkV&Z%n z7m#7N@KU7YYEcgrlTGd`LC06vD5dZQE}3{UjmsEin2LlGOR-4FGF-0jIqq4W9Bx%G+)sG7LJa61BBjQ5_Ut)?nMZ*$@+ zQS@q*&`4RjqFuCm{J^1`Oxd%!Q{}!4&z;MJK9q#tT9k$V=e59KitmLTX!5ffgED3; zEZxF>FG$Id_FA>bFc}RhUa!>1_91n_bX2srOG1a}pnNa(aLzDX(cC^F6kFh!SZBya z*ocL|kg9lrZ&UNNK<=J5YCfC;3}g2KSIdT|N+k*Ub=UPY*OJPYVez$*zu>zw#RzP} zw!%3cu)Zr9zSh+MQ|QAq~?Q1idmd z@ioK5e~XgcHVn9i1^PIKe|@0RzyLiL>15H$Xf^V`f&J2YeUqNyYZ!C5Mf-GH083b= z(;(i*3f+XtKO=#DTGwWuCw{`xY+~_um_K4J-`WkI;^Ow)9~jEdonq`MGWlO|h2A{F zJHRR4eTu<+X7&{Cg>L&1x}BttEsS}L7#7Bj1xy$>Fm2q#lCgvpV;Oghl~zbuk{_oJ z&UlIymVISXM>|dM>Y?1%~ literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$SetPortal.class b/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$SetPortal.class new file mode 100755 index 0000000000000000000000000000000000000000..a8dfc89d4d20eef5eda09f45deab5a7f7274b03f GIT binary patch literal 2026 zcmbVNZC4XV6n+M>EQyOEiY+Z*K%_|&wnem+fD(e#*bu3qsT6I`x|xQlo85G0QuSxq z55ZH<>DQjq|5T56chSNor|I#-&hE_Kx98sH-ue5@AAbT^!%ry;U{FWGfQBK4>n>NO zeCGLe!Of;LZAWldnf8I@Tejl9X?xA4<<_NHs5gaMjCKq|tHKrP7Q^Xj+-*~`34_{w(c%nx#Z$uOOAHs|AWn+rhmmHu z5P3=0JucI(r_%hnkZLi=;jDp6m}59aB~;s7N~=Nkmot6L_9#hB$2`MiEb_Jzj=AGW zp@iqAkU>^Q&cGF1WtfS{9?yRiF++m#`7opnl{|w*17@Ha9Pg!Y8D9j%q&#SuQYm28 zGOp{mVc<)A#c(y|!1i31+d(8|%d(#mmBTXcgx|yt#U0+F;xRn!O27#q`FMJ|`XJz2 zzN_-b0=VB+kzXR&X{;E?W0hb$^M#@UWV-zKRLxS-sj1fEIR95y%DL)0u2MpaUY-1& zDGQfZ+RZ22-?g4NbTU@2@+{XglCwJ zE1cvJ4UDQH`fXdSqtvFVUfZ|%mI#x7e2U7&U=A`&JZQU0G53V;ng-~C0<9E3hG@M_JCojw-dgSu>}B|S zoz~ztv{e-7+lU0PfgMn s6Zn=62Jiq?dXJO(F73YC2a~Abdya?L!w;dzJ|5FMMIvk1$B#(91y7qgyZ`_I literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$SetPotential.class b/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$SetPotential.class new file mode 100755 index 0000000000000000000000000000000000000000..18f0c1c6b5e4dcfe8b991ae1b662c233287e0c37 GIT binary patch literal 1972 zcmbVNZBrXn6n-w7WJ9{KmQrmM>r!Z&7n7AxXiF#x5!%&|0!gVe{dBvz6IPSEarXx0 z@Awbu2Xy?<@tZUL3jc_X=VmD~fDL0Zv-h5J&&zXO?zw;b{p)K0kFb-$7z`5$3rVCH z7Nk&4^nDPvec|*X$Lsn+D#zR7A@`IB9WUthxNJwxYP;vlT1+vdmVN1~6$T@h-%TUU z@c3E8J7US6j)dw5$|iw*yB|cp@&ma-WZRyLl->2Eh^dNfpP=T$BPxRoE}5__WbqEe z>?nXWg354-5UWiQX$%b4a`kWcK6koYcATaPec7qzcQbewS4>P;xQa=JEB}hPQi+Zr zGwD7LBSGYU*l@@39^N-`-NFrgz%X?Rosa`cqAT}X2YtekT;G1?ZZX`fzfG>HL!Pqm z5pFU}bc7;(Dnbw*tR2L5wsUVckUxEVri{K4F|gP$xwJ8D;+BOO%rZEq@Qu=E$ZDKq zbnT$o4Jchs&b=@SQmdM{!%)1K+x71Tem{*I!%S;Wgu?bCTL!k!Y&(#)+9SrBRx4+4 z8wCqRd_pLx8K3rb2d?o*7bNGpc~?u6Ejaj;!5Z}2T!~f?_fh^#rq8583sN_ks4&z< z1#s^5iDsKZZ3T*I;qxv-q879X+~qpmjmDt&QiLu3vP+zadf@TyE)RW8A2Aa;T!!_L zHNSxGDuXG05Z*wMx8)1Q{^GpLMU%kWqZ@Q*B&=cnC}KZCs*9^a#{K8BIU0`09>0E@U!)HojCA#t?wpGeRj_`3Ky{Ub7k3G)!+uZoGv zFSz`u@Dr{b;=`#!eEb`3H%h;2fxB9uWE7KHn>Ef{QN& VzCs-M}`+{{h??E0_QP literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$SetStat.class b/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$SetStat.class new file mode 100755 index 0000000000000000000000000000000000000000..c55bfe48e44026ef5f4e0415aebc20940f15bcbb GIT binary patch literal 1718 zcmbVNU6T_<6g{2o&1A!@K-g7R1Ol#WvKtwRfGZmVF}M&-79?AFkf&zSW=E2lb$SB$ zJG4r{FRJtp@Ul`q@B{o2{tq9ZJd>ncD~V8L9;R=1-`n@xb5D2vc=r1f03V>4MglVy zq>Wi51?^y{IfO zlgqc#NMX)G+QtFc0*Ag(ca+mre#dD>q33r54n#pcxU0jeGFo6Em#>feY^3oL4q7;5 z<1jJ;hxZ+7exy4(6iDr=&}dEt7ITv)mi;Wb9L^}Q5c7myy)rf{4~-Tv(~vN&nsl#MsAEU+|2oA&!8uNf&qv+k&FUtjxN zz?lZJ{-2?wU-pULN>0ukY&x~Y)SQkz8{riV5e<3c!#Z|Hll_$Ms?WAsZ6#k6a~sJ zfbjwz}2jN~RvTs@qbb7tcqFGTQNsz@_o3Cs=!a z+6^{P-_veCVxrOnhZCp8J=nN8MT{*L5K}8~bR5#YT9_>rJ8h}npssz<4{r|llfxbe zh#IBn?y%!4;|EShMF1-7kdq@*@CnQ}BTA*Ac1HxJn?XNx^`X5pM z>&Ci_ePV{Twc%4mDz|7{4NPR=y1@DWr$1t-`97bjt}voX2~d&0!tyb0rS`6Ei#t*jjs%e2B|yvbYDU zu{K+LjQMgQb7T*T4{*GYSsECNh0M``VHYyTXxvAp@E9j9$kioz?CU+e`Dit>wuiT4 z6f=lX6qy_HTO{Ron3wmlARizrzeisFfTH{n>+&a*<Y~l*XMfzOj dtacN^;A4EEQAdN}vCB1l$}vrsGqi7D?r%g9&wBs> literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$Shop.class b/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$Shop.class new file mode 100755 index 0000000000000000000000000000000000000000..6048c7f45e722f7486e68faf9246606dd3558ee8 GIT binary patch literal 1120 zcmbVL%We}f6g_SplMDkXDJ_&YC6pvB9SI3GX^~1KM5NFKiL&X+omh#{j3?M0UJ`r> zKf$I*EcgIE3UOx=@raNTn1$_o=bq!^>*H_VzkCI70N=$5at`ty3Meu>P{R7=b*zU{ z_>u90Pzq)JV9YfStk8ZCM-f*;;~x$qsoK+sp|~%Vw2v5a^~S(O31tVahcoaPYKu7A z#Llof61Ep;IkC^U;v+$+-Fl-t2R2!S@&BmoM3bwSKJS|8u>k|r5d#w1G>pzOjoeI90xUx z>k-Lc`wJU`+lvz&h$k{T{qNQ>d+Fv3o6i$vWh4gDNb1R%aFVyhUl`}(9 z9}0>`g1~u`-KnR=%S381?7y8*Z?@(sg-Xcohd~gNjqT0D)7b+F6u z@c&G~;B}M|x*c+3GG(bta0?gc38vo)NHvNyZcyaY%xEq&KZAYBeqW?9{f*K)T%xr% zEx;x&Q&h$kT%}A3eoSO3soOk-Q$2f%bH5nU7mw0=luI8nmW^p8uHiZ%2!k8ANj!Oy mmWtZKZJO69Q={n4F_^(N?h4e=Kr<`Z!MzN~=qx+fL-_}#YBE&- literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$ShowBuffs.class b/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$ShowBuffs.class new file mode 100755 index 0000000000000000000000000000000000000000..2ffcfd40cc70c50a0e3cdaa6e4881a09bf6a19d5 GIT binary patch literal 3538 zcmbtX`*R!B75=U*X|>8aaYP(YdDMB7+QH7Y1Waq06kBc@5!(UFaT($!cSlTta zt0XRMD22Z13;F>1pwJf6N7^#eQE-{*V}|Ju{S(@m{t^9+3?cpQl^jd9JIb{FL3{V! zbH8)WcfLLM`tR@m@lOEm$D1j%p2;hn69H|(3MZTkk*e^F+|g^`0PYfqd1`vs8g|L@=FQ`?XBi|(?-$s< zjyL9p(KhtSs6Qgme}g<9Uy|wSFmbnmL%4_01hqKpsS}=z{Ui7XJl9-268GaZ_=?s z-_!6(>RF|&j0;iVdh;U{w^Ve3BtAub)Wy*~Qkk0z2fI@kMP7b`4{q>N+nVj2mLc9D za~(G@f#b5SUNkKwqDn#<9>%1Gf`KWV5ZJSU+mdh5cWBn|My<$Vp()aW{BG*;E$5l# zkYwn;Y_@$bvRuyz?2;9R4$;Uo5D$aTEi&=GdL}9-~Wii0yDG;tIXV*bycS$ zi8BJ7C%i?^Kks#`D7y2blElXhJPziTu$Gn_kNNaBR&9;VhCPQCk=cSpQDpSXITlk zxe0NKU+7Z;BOB_psp~g(SJ|!ASu4__6EA>mPbjrzp&t+S6>BN zOU^G+0z1a2xrs`7)(NJp*%D{cW4>*brmeu0@Ab)8wBWK`j%-x#rfga{&QgEQ1;?&L zbT!n|5>GOcJ-ta&{Ak&qd;zm1LY?1QQHMZGI3ZRPmT#m=jhbtcTK!(Yu;R0_ zdrE<OzP|y3@eDP@Q9qNi z(yW751ACEIfx3WG1-}y5&JkBhyzzn+9+U|(qsfXFxn*bC4P6R<*zTDW;^F+lBoZ=K&5!kyC*YPU684laF&tRktaS~Hb$m;}K z-vkFo{V>w-TY-UAjpcesP1y<W7SSGfLy#g=cj2!g{`~`i3@l1Rb2f3WcB^~dlp{c-$Tw{TUT75j8s9MX$oKzGE0 z`kX5198#D>FP_6Upz&^a4By1JSj=~L`h6SU;oK!0#Phg^|J>|DCtkpJDG3%D-^2GA zn;iWBFH#0^afFq9nX2j#hw(%F2<=4uGk%PpFppPgx|?e?4?m@cn$@ecdW~y281LhD z4LdaqY1nsF-f;Ukcn_uq^9r`Vi?%ChyDI<97*+FkiD3=pcX8``ILL`B=%JgR5vmP8 o$1nKoVo}^-rEvMGXp2Qz6|Eo!yYIk;a@dSvhAl?g{upoSez7r#JhpOd%V9fqFzoBg zD0PRlP#Qb`;)!J7bD>p%oM9NP{WY|l#x90Qms9D*LNn%82#8##C9Dc{L79RMmkX0- znqxPKcqE<)za{jde`n#53~U;E84{sRV?XH$A3k(?3OO9W7(LN7+gwvx&UM-gGMX0)Ejr29LaIYU zM9S@Zhn`(hhLrRR`M>OCx+(cw1|3WJX4h3`9jNQ0H6`g)so0>>2TRmr2R9@ZV=#Ck zS|lM`R~NX4#;~bwMez8xcoM7T@HtMbx%zG-$EiMq-W4%q>R~4eL6sqo}?WtwS4k9I=|&P{r>l?F}eZazKl=q?a?Ud%KNHGTnwD7s;m`70G6I zJjVL*yYo{Cf{;kL7{W`DV9;V_-Jm%o9>pnj>e z0{#lzdkrtSf=#8j*plDreZa`Qq;tJQI=|;N2J-vrD;RZYl5lB;$Rhh0!`UyG&VG&4 z?dU?{2#!*OV>lhNJVxtzcr}jnPg*9(avYB>`-$DZ4^pus&oRSslK$kRFGw$%_d7X8 t;Ni3b#2K6=yNkll(eC^MBn-+1v$!B}5tnc|j;f$aHbYV4sNgCFe*q!(ndJZg literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$ShowFootholds.class b/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$ShowFootholds.class new file mode 100755 index 0000000000000000000000000000000000000000..1819e512af96c1578cd539801c212919bad56921 GIT binary patch literal 2163 zcmbVNTXWk)6#mw+tjdwoHZ7$tElr!GI3cY_paJ4g8j^+@5~tL`#0@uD+Qgg6QXTdm}>S)9Ax~ z6$f-2L_fp8UJ4Al^x%16&2#L4;UIb0FyAtbMkpMk#KU|q4&wn8M|3=hqYRmjTVg0E z17_$E*&`jgg_fKQ9K%B@j_WvqhZ*{J4YVN)YRwFa{AL*C>YCIT&~XZ<8Io=!KHRqL znC`lgLa?-_l9g}#Hp*P@R+YH00 zT)ea$e)6(?2Jy6xskX_2Ev-%K)UMQE3R#=4QL=KxTS71Dm}x^-CZuFm$6Q-dA;~c2 zbv%#DM1`2|QW@xOvraCu#a__yA{NM>OdrF=F8ZCh&F>YRiXy{YEY<(-nFT|ons?)_ z4o=Q`HfPwsAY5K-)T`WIHmeRv`WHOQbjqeLux z?n+9RP5H+2t2^&4>g!VI3wNE$O(m77rG7dYXBJCs3pv4%SfdUYj>9`i3Lz0j1;j|fe~U3LZV?`&?3WulykC;ge8BHzofF>Rd#3F4jdqJqeWthCbrlz@E za9!@tI%W_^u9=Q5r_s1b|55Un00o2;eV6ED(8_34Mz_H}i>|NGS6)N=3NO)K-vQt% zN_5h&jF(A5%50nrsU-V&v(%X1s zO35mBFj~nbn;4Uy$F}i!6HjCnd3dUc{0`QZ*i<&v#y%^rpKD=LZR{ASDNS5zqA->v z^v?Fvzu%R?^gsqPK_Ni<28#AA2DR^CXy4N9P@t=r#0u?FG#g!1a1BWrI>}$9RqkHH>y#J;x9|quq&%A>?L*>E z`3Kvl;@BT}pLD7uO~8Up>rujUI<2iD5nw$)4T56>*WpB{Iy_p_gjz%$o6!CN$hb~> literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$ShowInvInfo.class b/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$ShowInvInfo.class new file mode 100755 index 0000000000000000000000000000000000000000..24d056fec22020edc378453e44541f253befdb08 GIT binary patch literal 2784 zcmbtWTXz#x6#h<|WYToFwG@eRmrGg-!3t=binc{0wJkzwvDDi%IZdV{GcYqLtv9^j z4b(@MKKP<*$%{VdLoKca%lq{Y>4V^RCJCfTwJywBnRDixefH(s-`;0_yZ-ex01x23 z2pZ6+A)q6OkiY>;dU5xh?PN?DFSzk^-jtRXPv;EBNPE(Wr|m+)urhAEFH7?!CGb2WU^UXv5Dx3&o zr9khV|M81pHP&co(b0;v0^4is)dfsH9f4*d;0;UHHL~<_e{2~yho+4gBc3;`Y&_*T zrj<>!k43N!cW79zBZ@l(Hq;m{p^~&_N}z;hjC@hL0$XG46H8kw%O;fK4LUYrlR((B zO9lnj#@g%MP|9146KHQ_BOUJ#~PaC&1R73={oZ*hhSON|*w4O2R@$Sp#kQkbDB+bI~NQg^JrKqsn}$}FmOy4+1PObhha_)%9$OZIAa zdn#w2V?0S~$|ijW>|GaOUBmlp$G&SV)Lu7%(> zOedIWIV;mekH&iI_+6(__2EP{I%O!@$%268Umh)0*p+v=$NDb_bS~?%l4IZEQ@LhV z627VS;No<%!qPdic4w{F(gDyP!^slD)+Is_SdsFK^yy*ajE}d5mv|#C)BVZMlwEYv z@`&lDt@>Ve_p165h@L1~o>`D%rfV{peU@c=hG*Iq9qC%u@tZU%-}Zzjr~v2TW|v$d zRHn}*1zKsQJMwJNbY!N~zP8ocC}G%_PTO=$$xvr#RJv@*?ARlm9JO6f!zF=(x5sh; zJ!x6e8OR&1>$_S-d)|L0zkAfL0gMJAK2P&4&QWj-c6HG^OK2@C=CNu4ZNr_{4mBPOv;{VPjQ2a+0$n{pwH*!4<1R{c zsLAGe+2L!%BcaIkJHpeO8GNQSTC(ecJ;I5i$9 zZw;r$gKC;uz{%8jNKKzy09UDE9?#Gwchat;0hR8g;yh8Jy!T zA;B!>II7umc%Fd0zuA;Rq7Z*!mxgs3_Wgn%Xo$3dLDR{Z?8?D e!Nmm^uj36#^>5*AU+N;>;TWNmiHmp_O@9MM*ApWE literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$Sp.class b/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$Sp.class new file mode 100755 index 0000000000000000000000000000000000000000..f66e5ad1d5b3634ab0889465b1e4667d968df75e GIT binary patch literal 2143 zcmbVNYggMw5WQ>5DA=Nq(4-`xd6lF#kEqZFNDZ`(f#Ade8dKAhJ|g5jMu{!Cl1%7t z>91%%IB9!Me?WgzPfzdq5x^z~PW3^nS>26YS>IFAbg zW2fQD5+Pj$GAz`#ylma~iTjbaE1)HFsiKbeJ3#88Q!&@9VDE`li(?qketdut9hVJU z!Bv6FU9O~CXCexrMXZsaCU7OR?%US^8= z=HW3~yop;nJ~A+d+XB;FzE8IxFhn3KKg|lZ0+~JomSabV<6|UsqzsH>LSX7N9LG)z zB#2?_SWCh8%TAh`dKgyzw-51gh(?@vK z-bwXtsfvAS;4|D4=vRqqGG5@uJ0Z3-n2$q>=bEE|(x)b8LEfvV7AQ3ELNyirkzC=b~v>QRIcRK;a zUinTa1#TyMSa@i>ZCN!;R^a~07VQp~PM!wASb=5HvR;Ya2J?<9*Xz|?>2F!P74BTf zd$v_6TE3&?_NEr@Ie|dB2ilqDkMhV8=<-0?brs`6Z;aiB6hG5DNBGbgJw<_-st(}{ zwtl}Y3(02ham?H~6=u^qlVJH}+8I8<4{dR<2#B1(rQ<32xze(+Ol> zVoC-x#x#~14add_UcU50;{5`F^p;MJbCvaGwjO%(#25HPVX1e|N zOrN*cL;GeRgqUkpB@f3qo7MO`49+mZoqAKn}5 z{8;mXPzSNj{y%;aLypbqXDe0^C}@#F4L9+CSD|_$AXxPAy-dmED!9hRUqk%b{Jp}r z`VB3ERel>S1w6zWrGDh_h&$?V15s#P=O?t8H_#VHe}OqZ+Q7h{7=HE|7uTnL!=>>C zxOJm}JHKNxifzg>Q*SWaz=HCpLHWA|ouA9lwG||^RSanlF`}(uQp;gZd)&k^PTdh) z$7AH_mtOG%>s-~>1~!RF$27jeQ-)aJuEO2Y-=hB4++kGzV2->+kx~TP_=f8U^`24s gc83=rt_0Y@cM{*@2mIL7dX8PLacVulbJ*zr51RO3E&u=k literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$Spawn.class b/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$Spawn.class new file mode 100755 index 0000000000000000000000000000000000000000..f02a8a72b4e1559744664c22e46dc4a1b4ec6898 GIT binary patch literal 2907 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 yx6Yp6;-45M`Vl2{ literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$Stats.class b/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$Stats.class new file mode 100755 index 0000000000000000000000000000000000000000..8fc6a6984643f81ae1daf8c0a8072921d9f3ea88 GIT binary patch literal 2921 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 Rnl2%2IOQ$+n!csT{{aHO5DWkS literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$Teleport.class b/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$Teleport.class new file mode 100755 index 0000000000000000000000000000000000000000..1f82a7bcfec3e0007027a587eab977ca67b4fe7f GIT binary patch literal 1524 zcmbVM>rN9v6#k~Sg>~^#K}AqOQQLy9qIjXTSeqD|;3a}hjK9Y1q>Q$+b!RG&n5gmc z2tI&s;2$)a_y9hX@k~L{7K3q<*)wP6ob!F>%$fQ2{qt7cSY<+G*g@dtrqDJV!%$}a5r4}423K`|!9-Hk z^VzD4-Pq$G?O`tl8TM?NRFn~QL1Fq@Jko;Hzr?6G*vBy1#i?y%!@m=1X=JEe4B>z+ z)G$LbQ>j?o5sW%G?%^noQ5wsUG*s415B_i5H(j$;2ge!ay14eR z*|JOY#Nw}f6Xmc*u)F4^61UpThay_!4;!?So(}`wsPaf!ePc0UmZWAV^`!St-MNXI zXK=)d2--H~LT}35;W|ZquvNoRqX$dWRVTKk)QQ26;8C4Y*t{RFXTc=OkHfI>V+g3(4MOA7^H7h9<8g848@TRxr_v@%O?lRRV zsd!V6bIi0DyhuE0%ShA~S6fuIqul|8YSTMW3WAVWSQ`qES`?Zd3+nJ&G`SIK2J5;K0}7) z-ns#@$dT5MNlej-b$&;I5+qMeeoeiHn@c-u=>IU8nEr%aS0k^8y8W(~BLeIh07cWHo^~ HTtoj4Hmd!5iZlHY* z-@rHMKcS~Rrw`ymsdpBtJxLUg`^V1Ao%`dv-`u(L+wZU509Zv+Lkw{h2^|WO42!M^ zjo`%dEn67Pz%U(KxS?S-xX;Z{_=f2!I&0}i zmYh7Jsw6|h106-I(H^B*vW0Xs-Ay~)1jjNCviX; z5X=T$>}wZ7i+oVx+^{vstQ&n&(yZ4u%fob5aXQsTW6TA)|*CH($5<+ zK~P-Y6l9zX>EtDF-4{Q%Y+qR0&yR@nt~`X>qQ+k^O}hG_)FCHHSvFDE+@#4PF9=mU zrMB?@ijXjrU03);hX;Ygmg=lZOktfKCi%rcIUq^@4O$sAG8&cHQ?M7&_9p%1HrP#k zMRWa30gv%Dt@^QrDoMzgrO`*4z_YnG>aWmdN7Od@U(6-uUt(x=PLV@?E-8nl#A~E? zecWcwNxpko#I*>Gi?|dC8f2o5UDJ+v7AxT ziC@}SC5u8vVQqXN@x~$X<}pNg7U;#j1)VKoklm(t>JG-(U3v|cah>I`z*eZ&tzw7e z@r2!jVE55v1)Q)4QJ(p;T(FHD@<>^shHog-%dqe*c8Rz#e2?#F7ROc6*`ry4y8k+! zkX*qJWD^G)B;k)Vjo~M78b`^+KCR3>!~$3WX$ye^)X|8vY#h?4k=8nFIOzWq4lXwj literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$TestCTS.class b/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$TestCTS.class new file mode 100755 index 0000000000000000000000000000000000000000..425fd03095782c2c143e3378d73124365b3d6d80 GIT binary patch literal 3995 zcmcInU2q#$75=Uzd2M-H{{$yBG^yOUL3UzqleU4>X%a_GYEwHlws2^i60W7SwDxM( z-CZSdX-g?7gqA}2ZGi%9C=EXWrhRZj%5=&D!%T-6UU=b!KJvma1s<4zCh*;r)JU>} zJup1z?)^RI-0ytn+@m+ITzVbAUHDlX4Txxn>WHCH;10(O4F8ntWi8Vv_(sOIOeZih zdFjbaV0uQzEfl1a^^Kuy!E#cikwD{K%dvue0+D3zbR11+))3dx0$t$XS~C3w%eH+Z zFbj)Ds-h{)k?TosX)2Hb6`YiI(ewrGN%qc+{_he84%NcS}X7Z-NncL@$Q8$+} zJ%(BXjwsTMhwQIcvx-|PQCG{B4`Wipl#Vn$LiSxln?NjU&K7A<4K*tHfN5_hj_UZR zLZqdH$W-3-0u9GV+bX~1zUf6GFP_`11l_OWV@goGBTAEy^FNEKdW+F_br$~?#sUpxiYB}bSVqwa1S@VOl^~{Ed*DnLJV3wx(sFEZ$psIo@Q$ zDpHj!mEG=MQ`Xu~C2!j7R+5mwEh|K>#t&Lokp6-|!wfGL^{od9lc2M%k zJ2X7Zm(rGn*{tj-!`Z|9dTh1lZH3}`jMs6OUPexo&`1Wtlw0&N=3y(ON_F+&4=6G- zO-vS@z$%#2mT!?jLyqIJbYM~@vb)x_=H0@kT+O~dz6&WR)*IRN*Q+5v)Xphbpt=}kaDgD#pTtMwCyRTw!t<$dyPbUjA(r`4h!GX@fbec zhHtB?u-+9b62!XbM$zAm<9WQG;hcI`zQ^KWg(FIsmFknj6<0j_{|CS9tLg+&d3;v7 z=v^S2@O^>qlv}j32}VRhm3Il5AfFSbSX?E-!a5#5&$!a{)@DqV8|9LA5jS?x*O^-IPbOs_U1^I7;?E*&zzk=Ub->VQW zv(o^Zty%{Dhyq)^v;huWj+(KE2ROsS;?Iae}Q@N;ZxV6&NWm(l$O zn#Okg8m)cXqq{EQ{lGG|zlNRny@K0b#hxQ=iC@I;jCMtLEMxES0k#Jo9gpmeb;i1) zub)Fle^<0KHn5D;nV2~LuRpzld-^Y7ObMCjk1k`nzhj1r{q4nD`Qf?#2qz=E8#^02 zW9P6z4O6N)ex^~K54*KZxEwaqwF}3?VPF3;PAFI+AuNv}!T#I)Q}Y*W!CzUZ{|y89 zJNDq8*pGK;+GSQKS6D?{1}ho(q5-Ex1doU)9w!OTie@||;&?{1;5nh=1@_O2>v2J} z;$_i>Wzmk;#Ep1EY{sv|7Q88L!f!FIm}kuHeNX?@XM7m;}$TJ$`kkqewI;Z>s1+o8=H zOWQ-MxPeqTL#srnH-?7x1B#Z9bD;sB!DspH nKs`_M_YA&)=kOgKcrk2W!VkEr>Q{@k@()ScAK?OiimrbHD$|fF literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$TestDrop.class b/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$TestDrop.class new file mode 100755 index 0000000000000000000000000000000000000000..6567c7522467685962ccc4cc194d874e24aaca4f GIT binary patch literal 2470 zcmb7G+iw(A82_EqnNGV50tG571r}^^cdH#h0qxRa*$OPS71~;bdf{~EbUUy+v&_u4 zR56BxH{VPQ@j)MqiO;;O#0OqY{3DE)c#HR2G)Bbl>@KyPEm1d_Ik)fo=J)%Z?|f%J z`0KqJ00!_<3>+;6G!r^n8TPv}w1NfCw;gGf0xMs1q#IiKIpK?ZD19sMl}f_318c}G zIc~N-VrV_&xK238(2`6|#n6U!12Ge8U@~ktC+3A!6mG%FxuGmbpP{WR{6Nx>VRLfi zAA^a|ciciIm5bpntTV9Q#0GRQY>(h7dcu}|V2ye+!y*(69R(Sxft2N}S6)1_n6nuY z$y{nA>gmi9GjB$@X4c}D??@l%Wr%fr^)~s5$ zYE~KLn=r8xyXafwd(sP>(D7VFyve;1Iz{WY1-W*k$G~nA_bKnL2%#0m1k7&88bbhZo>y<*D zpO-f6-b5%UeNxR-mtd?g&FGZz>emv(!+69%zljVEG4$Mt#R_*)fiR7Vi=!tQwB(68 z-a!+GRgA{k@v=fYWa5aL)XAYfGi>599HpZ`Gh<#jE`zdIaK%iK@M$wq_cHPMH{2g`nN`z49|Vys#hg6>HfgenTr%z8GlT{q&ma;#FCk^W?zf5(WI7sV;zJ8ImR)WSI@U>J(# z%>VsvhQW{*Wxf*9w-5bCDW+E`NK;hWs4OsSi$Yq;HdRn)(`zS`s!G(ZdDAFl*&~+Q zqoylQ1_N{G$&q<}j>^jJsCknps{9ZXP51>0zi|~l4BVkIqvySfs=;gNEalISigHbU z14Sw!ksWV>Z=gWubi%99aXjj%Ozv2ICj@<}sx!pL=?hLtPC0=?`#a=PofWD|5wd;% z%48|68aIs+*cBy7&TS#(mdaA8@36}d)t0B|t(L(*#8cEa>jrolr)kuVGnl3sa%QhXqx%+kvsc@99maq**n2~N z8?jzp4F_8eXq&ZdZ{c#+b*$~zXG!XVIE&}-JZU;W+MR`f zL3jBTLX#)`NIlq))T-Vr3Z$)ptC*uzPHMjfhk7kIN9!r*H_^%1pWyV+zk<|FoHlUY zK=&>Bv!WU3G*Dt{KQ*}Y=I~Iab_)f)KqG$|JU|d2L`7mA3%FRbTEvUg#>i>{i@1dL FzX90LqsagO literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$TestGift.class b/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$TestGift.class new file mode 100755 index 0000000000000000000000000000000000000000..f7cb1d308d1adec95f8e9092805e52c1f891607e GIT binary patch literal 2400 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 BRz?5- literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$ToggleDamageCap.class b/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$ToggleDamageCap.class new file mode 100755 index 0000000000000000000000000000000000000000..7dd2c0d40fb93b9f55705aee82f74e43c16947c8 GIT binary patch literal 1105 zcmb_bU2hUW6g@+M1&X3ns`YcNNP$E*G0_L98iHwRf_*52mp%=<6BxtJ;>;|{&+
kOEu}VMh>np9Bsl|o0h2$qse3@R+;qpoFUtb0t!{>OC?U?a4htYk7smJ z?MFVJjkuPHetwv>Q)w8E`~N3=hrtmag&$iAc-Y*CniQ#Xwyr4DCx1!>Z2TPt<<0ek zGTB*!#!wnWvG&E0ObhYnV3@~AM;P`_V`XJ1M$$+sPgkkPaw{W6m`^rx_|=^Aaicoq z6b}VCS8Up$Ae}WDHHNYl?_;S&FkH^5O#2tng^FpeyS^V0rNoBN@s8V`l8j`o{RQk(dR?V8xkf=_ zhxX-_0j{A&S`oXrPA7@;D*{VEop#mvjN)(i;4aA;o!leMJp(hucwgWF>Ufx%G|(hjB9jUlXrcHML5nZ& literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$UseBonusSkill.class b/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$UseBonusSkill.class new file mode 100755 index 0000000000000000000000000000000000000000..2d185ed1121d8eb37435333c20660afb58970240 GIT binary patch literal 1382 zcmbVM+foxj5IsXK3(H0XBnqfpM9f84MFBNPRg6WMs(=>3yzn$^rjn6lHty_-{*HgZ z3sOGt0e+Na??Q>F3PM@Cc{QCX#2*7I;O!OdTAZ{UnB*UT-zODCMuP%k% z*0$49ofhp3MOtgzlc9gI8TXq~ zGpwCS^g84P219%mP7sP;IV-*!GwhGT_Idq4t>`rA(PuBsE5abv+-s1I;d9U!Qq}NH z*Lmkev{`in&k<`fD$BpKpy$KRV;J2GlrP(&Cbgtu6_s**9`+7#EL@t?-!VIxFse&J z@wTAL=ILB9SRS>R^hAB@TZbw(-3=^MKvP_F9G9{QV+bg@MSU5~!v-1eTnpk0Gku-C# z%sf)&9LCJ~h$4LqgAB4135+9$Jdr#mI|i0Q9CKv$V4e~NM(F4Xc~7^&G#2no;5int S6oo9~C9NifOkf$W(Dw&HZ+;s9 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$UseRandAreaSkill.class b/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$UseRandAreaSkill.class new file mode 100755 index 0000000000000000000000000000000000000000..feb760efee895952e350e55567c94a853a92c874 GIT binary patch literal 1724 zcmbVNU3U{z6y3K?GVL%CD71k1(PDulMMkPELTWKa3egl;P00&SH8&uML{6LVdA!ifezaTD}l z6)V|$seONbEgw3=bsIKLS#TUw@t(lqNr-J?3!GvIW>Y1J94Ud>TK9$gQM$eiM{du= zIvh3Y{mkTk<-gQ6oiy zr*>tWC@%kl-HweK>J}OfmT-gN72v!m3=cwgccu4|GJ2Y*xEpzrSzbyx&(h5F&@zSw zTk3~YB}BVlE56R*$eW!bk9P>^acZ9AU}W6JO$RPM6DYrmwV_ICM?4>UwcfX|EbyS1 z&^t*#S!9}jXO>G`pwy0rgg@QYp?Z`C0~K$}fzO?poQ}SXb+#UFmduW(h&n|U-mUbG z;x{Qx^^@|_jDoeJ6cp3S>Z|$exO!qWdpnfIwG%_jeK2tukC@82W4sAed)c#Z%H46^ zb}vd}Pi^R&nZxZQxtZycs@Y0IqXX5~i6&pIFpP}Mih~%-C&u(ory4gY@=^|Epm@3Z zuht~s#1x~B)o}agU6OXC=v##;dtuA-A_kP%&{t)f>dg!15ho9$#8~)FVD34j*R9fE0!alC=;nU3jBr^YV z3<35ED)uTI`!=ff9bC8X=6G`lK5-XKT7r#ZjsGzq$QR0(>I(+PZy7ROm0eZy7z c8AO6_abIBr5AZNI>EL^gHcf7!gD$530%<OJ@@W@{r33_fM>c~An?d2=i9e&($>n4 ztRMEYGR_aXGLfNEi66#MBu(4;8|_G&U|(M_Gn{IeCPyuWVLZ9_9p|jDkB;PP^11ND#LbRcUCWw$o@&B~7{4 zqi3cOhqBj_iO%dF&T-e(R^aJKz5aG#UBFZCRG2zmv0fR8ll82=+c=PKq~DXKSJM--CO=Q3|1F8 zaL?C1LVV~S&vVU=fnzLiEe`^41y^YmaShk$$&v$tWuTL_V|df~lVeQ%hRFUFz$cV& z(ubKFgyIHn($6H^A}h8Oi?njMgC*|s^xUPjyo;R0ibVxgg&OYRem`oJj6qDndRBQ@ F{0^wCN-O{X literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$VpCommand.class b/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$VpCommand.class new file mode 100755 index 0000000000000000000000000000000000000000..049715386400616c0e44f564fa049721d65c36a7 GIT binary patch literal 1253 zcmbVM(M}UV6g^YgUAitJMU*0dJ_gh#7`EJl29jhKW++6tHb#san-?-N8kS+PLIm3T`#hFud_0*o`;rtq8*sGqZ(Jp>#0L>1hPGNS zoynKlTixwbD4$9m?33a1=i?yzc-*2hjQ3$<$Q*PSSe;Nww~W&RSi41JaJHi)4#acW zb?on!)JthoF%(}V%E(aoQcLo2Q>n;sBO^r;mIsjcvGKTGWLr-0P*8G?x*`?p#^PNf zW6|9C*dZ@x|K$`ap?kC$1Q7{IF~ni*2u+uXuE7?4yoj{1vC6Raf9*sX>Pm^Y*5+EL z(()($ge|E>F`tU551u*Xi5s0WgCb6yB=?l2D5jE$t$sF|X+i_XQqc84tUt6|B+d5UPk3JVO2t Dd%jS8 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$WarpHere.class b/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$WarpHere.class new file mode 100755 index 0000000000000000000000000000000000000000..1f1d5eb9c2179144c27a5457d477514f8193f6e0 GIT binary patch literal 1784 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 Vuj0*A~1Ss<0OxQ06Ne*@Xgp-=z- literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$dc.class b/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$dc.class new file mode 100755 index 0000000000000000000000000000000000000000..6da4ce8d8f0d93ac0181d3661f4c42023890558b GIT binary patch literal 1590 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 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$maxskills2.class b/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$maxskills2.class new file mode 100755 index 0000000000000000000000000000000000000000..61af55799c9419bb43303069653a11fcb74d4a20 GIT binary patch literal 2224 zcmbVN-&-3+6g@+-EQBqsP>N`)ZKaq{$_i4f4Yq}}6=;A;5G=LYVKc%)vWvSLO8*QW z{R@2dg%+!|{&@0F^82cu*#v=rA79NwX6DYFGw0lU=k6bW{qP*XNAOc8b@5ujjjnK(wTV^ zO#Wn>fq=qb9#xT)ju_(}yu10e& z=ggwc^%V;r;wqy@zc>W~1L^#$D9LIrEf}#_uq?4=ipj-w$<#AeheK68vMJoasEIKP zIouSuSnuq69>eSUp1m%eH5UKEMws)xD9%JD>)u;dG3#07@KwyJuu@{`vNgGJeaFSK z$lpOOyYMrW=x%%iDc#1$CdMsHU{c_8J*DcC+fisd3Rrdm7Y@d37rch7pI%;I^l-!@ z9&y-RmYdZA8e}cz{335Xo_9SpT`4cAU`{TTXlcv)jx5c~z}4%TF&VA6p+N3Ga`6f` zXZb+XrgAD;^T|R-;huA0(7; zR`}$5jyx7~Vd!MA%wV)1!it+Eb{c^b^}UBJWq)8FukQr+MxF1-kwo_KzeWYe3K45> zO0L)Pl`8m^z)`o|IHP-8dDyRemO$5R#f#jsns-B&c^>sVKa%>LP}$&-1pfU>)IJcT zV0f~ucsRkN2v~voy5a_^I7giV=j#!bSK-%Z)Ny>$&^|{GZ~=<|sHCy-y&%kGH4!ueV`rV}^69 z>VUiWgsW!EqCks2{E~i+9OW~Z_nx46s&@;ir#P{VQv%bMwsBhETioL0yub_eTupW* zw~+p3*yu`j7+dJ84)1Z?#`_Ie=+*ll5GC7}Oe7LdaeWK7zWe*BCYFRI){7L0Jwuc6 zBQnNM7%-mWit#h98!s?!{DNuYS3EF&!$afunEVj64xkTn_>{8@hA@u>Vv#gH!#$3A zwut+b)Wr4Yc)$pKL93QswR}m-Lt0wV@Dd#+I!&DU6O%-dv^HP~4#y7q7r9b|3h@<| W6;|M4HFjA;nPZABcd!Nz&Hn&?UToq3 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$setPierce.class b/bin/classes/net/swordie/ms/client/character/commands/AdminCommands$setPierce.class new file mode 100755 index 0000000000000000000000000000000000000000..3533b7b3bd0cd4d1405232ea3ba1a067806b6e6a GIT binary patch literal 2188 zcmbVNZC4vb6n+K*3t=z zU+CZPOZ4=EKfoX5>D}F&l9Fh8%sJWFyL0bzU*@@Y{{H9HUjV+qQ5-`UHV`v0f>DMw zPiRa1BK@i(tcJ2|*Abq!>^k?kt%YydveDpPRav=e!}0Qw#4x(yc#hs=7)~!%;uyoY zfw+kYm<*R*@Dpyi+^bmyPm7xH8OEC2SAs-_WV(2!P}aWV)v}9)I3_V=;G&63NHEL~ ziYreM5^PQA1L?a}hU@9Y;yEKq%dJ}Bem0IPNE&$0#8te{F!S%K3>OGBz~4IE;|;;E z-Y??w&Uz{rAduTh%$T@_4&sok4NDWz8_Ignr@(-=_M;(%S)v zCb48<8Mhe>3NR}D6^g5eEeWFXiU|uJGhA)(W09Ah&Gmt!>-45H_q1ZTl`iy}_CX6A zXH0y8y9^U{o$HcNiq|NvzD%tcxW{mRP`Z8lM$LC;otIT|GF5auvDa!G34fm-x%4Gb zls0!O+;;-G^D(CD4kfiUkamL{XQ{m6S7Em_x!On%#0zPB*r$>eYJR&;O?dO&FzB4Q zU!xo@_d%mgFYL8MuP2%|ydhh`>|h0k5vl9JNQswai|DiCgf;6PPiiHg48!y@GIAQC z;wXnIne#kJWOs-n44HvJzbRyA=uzQDf*8p-AaAonUegypw;W$o_fMNt(Yf=u!fVl7 z&DnO4L7)@hgwfLY+7n9eN~H}vW4QPKI7R)uC8bu{=gpGPby-zYqxd?G3Jwf>6ZFY* z8mMPo7dH<#DT-?LDThFK-!!Id^S# zMt(O59v{6Bw$64pX9ptBUAOFLksZS!!?owKm8$a-k)i`gv4vE02q`U7jKM5;p78T7 zS4t=YKQJuxB;79;13%IA@!zV%!6x@&ZW2EQTDNn(_qpOR$J%4i)~`UC9uaQicQ z2HP+n;B$I6BL%D@OVT(t=t7Q+Ut*Y`fXs3%Q(7L${0U=osf`P_+qk?Qn~t?H-Nx+f zZ*6?EG#iMEuW$!wWA)6_4Ech&OILdV6XruC%}1Csi&!;Fq4&Fy2W;X?@8Nk1n9@Ccepp?BRO z@B6-Q5fKp)xdcQ+L_|bHL_|bHL_|bHL_|ace{W_t*#Q3Y;y?SF*_rpvJHGe5?|t8U z^5X{|7Lfzg^%JB@MmaLNTE@s&B~#Y9{cert=6h;Zb*U>y}?sWq<9qOPa?dNiCK2xlz z&E&HAMCp!7QVk_r{m<_x8J+MmTFK;=Y+kqZ<+^mx;dXiaGquG}yI!XoWX*l)&(UFT zwy0!bi(Q2lD;c+h%Evu8A?5c4Y2A>GJ~yo9b4|x9*`!Su!&Yr-Rdi%qCClu-JF}?6 zWLEPrN48gTfTfh4Y`@MF9NBSXBH9KV+1Xx1onI^_GLGz`q~5Y2t$tU+&xe8Uc{*@p zH+xAb9ac)3t)$knP7OZ8ljwDejM45&7F&u*wj~pe?5SkArGQkgzoFjEF=rF5mv*E^ zNy1i?4jcQjUM3Z~p(A_S3p&UR3LSpZb2pmd+DFM!%NoTZm`nTGSEe@S_vOP?d8RQ# zwV#qY%gUs5KC`;L)Ajn0v%mf1?!ZVS-5}iP2nNP>PN2#0u&35%^A3xF^{^*;b$Wf< z+ET*~RC1tY2bqR7X1mdyTKjp`u5*6Bj>RPGJ2`4pEM>X9{uu#vKK8HCzCj63yFq>6 z7f|Eok#w%73w}W7uC(u!dfnC6)5;3!NUM@&%W+4CcCj%4kXs3gUa^-7jlHm$>_9**Sf+hV%8uCKeBF81w>bwf6v zNn&MP&yl0;bq9ylI8pHcu>rC5$m-mDUI%S{m^E90z7e*oyiv&_ z%dw_WjvT9Gf6MY2yximMi?`G}a-w|~v}=#$Dv@&JWP7h4WyQ>$YQM~NuqpR++3!cz z>GlSyZezhM#_LjozB$ug%c8}1bzijZo^9X7xVBAx-k9%m?WbUDzDt!k-@bPUP82*H z>XM`j?d@cv4%zH6cP_StUp+x zFWHZI%I(*!F1F^&_Pw0w4U&E_8)kjhfUnpa&_=%l1^%kNyU*ie25Bv!@f3c1A}e4%ia}Z7v@usd+gnL3|%ttP5hZqDWbk<-z zzx_PQxdTPBS1rzS+rAq zoL~Jv1ex*qwf#oMD9LZ^i<__i*1mWx#eZjCJVo)}+wUP)_+5_t!CoVpHWqZyk#yvb z_Vc6OHwlG5*;j(apgGi-@;}=zD5zzF=jN!$U+nEgSqN*}UzIdj?#q!9ML3fLshIS} zc>HZd)1*Ss-|dH~DQm*r|F9n>e3^Kd{%JoYk|kT9#wcmERDa|3_PTj| zvsCDNI$!b@m1CcPFj`aF-Hjuyqb!7@#@nlLlo4yrIBFAn8Ky#sj+CP&+8di_Pa6df z)MWcTlL_|{JBa0M$`KFCQR{TnX7(;{A}q4ya@6MbPLk=;q?=x^(Y`J0&1JjKtl|hj zP6w`|wz4-eCU@VY1MR38Be1#JD=4XMHqq;ZM|4pam5eWzPqlC?DL$K0x@a5VB0eX= zxuapHJ-BCG89K9}WWvzN3yuSs^Ak!Y8FeT}L%lSgrqJM725u`)Bq(u8=L&dGc{+dt zJQX>9DjbgunfkaEL-}?JR%XpPCS+bU*<$K9l)*;CU>=&Uma@sbGL#dJipH5;-X6@) za-Qk4Sym2seL7dlNvJ63I+XF`rBCNAsr|6*qv@|W;&=c&!uGA=VhyC;$Y5+kCv{LjEV9;JT*e1ERGrH!CVaAs>rC&`IUK*@|#h1 zgYGQnC^${VYf7pz=tEUYJ&($Giz3s5jW0cz zI4nwRhB}V*a#f1ha#f1Ea#f0+BCs3-rA?KQOypO@BaNC?L=~yjP;8JI4~y_2y%eWI zMn$xZCYzWUT|5~1GWu4IU-5E96pAN!2!ebcXs2#aJjh7%8EB z6p7YBK5wEHJf#ccb(`{B6G5PPX7-fh0Oo^cHy@EbIV~#ftSLRX1sl3N-0-5;OfszN};t&vgHYJQ@tT62}+XB7JkB$Rdwe8>3wrb4mj9&1G8f5$D0 zE-`hR@}=RvaQyW_kJeNfzZ6j=?-Eg_6O4<;W!clC29bRm6M0><$!uehKXI4`6wTF2 zKSs%PGghDVMlcTME0sP4RVaA|T$zWg?=)s`l}0nnq%5tqN>nEU7q5GCxG4~?UNo?B z4Wbd{l_VM-uOK^eNVJM`t4g*s$3(fR;+li2{BFiw4ODQ?^ME+_$V5{d8^mv1e1(jXt+=a_tz`y}s^lcuMz)h3WG9&^ zyUHw?BYVhP*-Pfhd|4n1WsxkArLs)wq+S}NNmfXUv`JFhr9(PptsEkU$q{mtbV)|K zrB~L8CwVDIAffcjfE**o$q9Vr6gf@KkhA0*IZrN-i{uiyOs5WNhJGcYf9_|EpfHUEaa96k!oCSA=bKp$42iyhDg}cJN;BIgpoCW8@ z*>C}z0~f;G;Uc&PTmtumOW|C&4A#IpxEHL4d&34e4>rMl;0ib&w!nR18(aXBa6i}% z7s3v>KkS5y;99sC9s-xZ!{7n%2)Gm;1rLN>a2d?NTG$QiU@uI-b+8_Ka5>Dw23UZN zFn~=kgw3!Yu7Cq@B|HYUz~f*mJOQ@Bli(_N3QWS&;A(gVY=>vT6g&rZ!1Lf5cmeE$ z7r}$zC2%dg3?2-xfQP`V;Gysuco@769u9ASN5C85k?hsVGd;IZ&UcpQ8Q9uHrJC%{+WiSSi;5_}Dw3}1(* zz&GHj@J)Ccd<&iq--c(vci@@uU3eCJ51tL*hv&c#;JNTacpm%+o)15U7YI8%cp{Bi;RJXYtcI7vN$?6d1zriK!mHpkcr~03uYp^_YvI=LIvM|8;oQv)N literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/commands/ICommand.class b/bin/classes/net/swordie/ms/client/character/commands/ICommand.class new file mode 100755 index 0000000000000000000000000000000000000000..1922cbe540cce778e4babe31bb5c1448f0e594ee GIT binary patch literal 509 zcma)2!Ab)$5Pj*^uC3Ottro<)v=@Vio~lq-5QIgAN-v($G;X)-W+j`|ev}ul9{d15 zN}SY6FM=i{Z{{()H!~lfZ|?vu(DhMaIMd4V;yE|7MDeWPGEJ1WT+W3N(kjDco@GMM z3Vs!SM?R_y!9qLLFP&u#lk{=DM&#+lfd^<&oit!BU0~#><}|pu~hfE3U=vt#XyrT(4}%GvWFI-ivsM^Uq>4qLML%d=#CeRUI-XAA^~Lw I#8q(k1-`j;#sB~S literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/commands/PlayerCommand.class b/bin/classes/net/swordie/ms/client/character/commands/PlayerCommand.class new file mode 100755 index 0000000000000000000000000000000000000000..3c6ae0d7f5f8b897abe21c587e5baf9291c1cf28 GIT binary patch literal 553 zcma)3O-sW-5Ph4bO%tQ7^&3R+rXE~G5Wy-!KoE)+l-{@7wOz@FY*Ih|lNa?Mc<=}K zqr^!YioNx)GxKI=-ps!J`ThC^aEc8N7D^6mA7xY+>i6PN@KD5ke%-xSGGnMTb*!^9 zhSJV%$3+#c1JB1Ce1@Y~WjuXKOiwEwrCf$u#Tl0aVT8<-;WCLL5%*Hw4#kTy!59+h zgHd<-nSlik78nj@Cc2z(*g?`$47HYy)zvWSDswBkA!Qn^M2fH@jLvb9w6lRu8ID^s zPnuf!gu(5rtX-^4S_BN$COvp8j(3v`jZ_zUw7^vBey*v#P0Cqdn5X0A>XH5>ib-~| zHA08v8Ts`KQ2N8ON3l3W2GS29Nhr+JDgX#qwgGb=A=H2 aU!9EFDk>}W^A9-rtpBwxp*6}`SpNg_d3RI* literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/commands/PlayerCommands$FifthJob.class b/bin/classes/net/swordie/ms/client/character/commands/PlayerCommands$FifthJob.class new file mode 100755 index 0000000000000000000000000000000000000000..bad23e894e45c2934973fc311cf0c5553b9b2f57 GIT binary patch literal 1415 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 Lx4uBTl%e*&=o&b& literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/commands/PlayerCommands$SellItem.class b/bin/classes/net/swordie/ms/client/character/commands/PlayerCommands$SellItem.class new file mode 100755 index 0000000000000000000000000000000000000000..18bb67aa406753b204e6c324ac5c8becce8df2ec GIT binary patch literal 1368 zcmbVMT~8B16g@**wk<0lh>ECuRctG;iU^t_;Uh6NDUGqDFFXy~Ng1;{TW6*yKT97l z@xdS9k22nEYYbIBbRXts?%aFsxp&XZ_a9%s0eFe$SqvcIAn787L54LYtY%Z z8qW`;P}cL0xaPhU+Vi6@u3HvvBpdbhh}7~GIb+D(Q;zEIC1jf{h=iy^oSxywLz z37%oJDQwNxvSs(U;!Q!W#eAXCmuxx_#yb;P4qHJfjbVnYRL4t31cA^QjN-b3F&E>w z!7zIv(EdqF5cz7$XPCdZW*l0|;wEl6xb0#RcNp>)g7^A~SuzY6%XP0&h8OvA{5z{f|8T5))`za-nXR|jjoR8`XPmC({0}N{fKyU1WZ@9%akEq z6~?}fjCJsgVf{ZPMI_2f(UTBxV`6IQUmC+Krs$c8zX1?+4AOd!b{<(qHdXur_NjAx zpVs&o*u*rgZZ`lk1Oj9*hk5eE$#o==AUj$-g|oMq7`yfvBd3`7jWgUi-=c!s7{N{l zZ>F1r93D_EWn%#k2{A=aRUQQ*m_(8M19*f*vJ-T+M7!k!FhhhN3p~LJo_0c3u|_sa LAyZhzIx;^2?MQ;j literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/commands/PlayerCommands$check.class b/bin/classes/net/swordie/ms/client/character/commands/PlayerCommands$check.class new file mode 100755 index 0000000000000000000000000000000000000000..3a017dcdb004664eb580d0892386d5ac8bc69d88 GIT binary patch literal 2343 zcmbVNZC4vb6n+K>o6v1(gKY&{8WC!OwXwCfN}x3akZ6EF(iEk>Og1A~lI*0rlM4UD zKj88GrTu{C@WCJ82Y-^sJG(&wgyM0}nZ0vg=9xS9-nsMV-+O-mm_cg*J?J&iXCj1t zhP#eXN$)G^R&0@McuA{n3r8ibDtEc1gqyTvqrshum(17sj&L&p%g{eK&b z1`tNXz<`M}Fd4>A1I-XTgRv>pLr>6bG@i(HU!(P@2+m>9zfWNrx+2I(cb3%JWa3 z)fgitUeN$&$)+Tg2=rQW)x@aQn50?W&by+??TQXq%*3l&afTH6)%^uwyk=s2A8Jl+ z$v_jO^j$acI^qnM8@whm(y_RDWUDI8JjH!?hT~cNC30K*DNok9vzaU?*LF7PpkYj! zcmp?RM~h;!Bs`CAQn>EKPl?fSutX_>n@AdX%fv0*J}D)$+!F<*(-5k-vblC*I`$2H zFYlOm2X}*j6{X_!0AlO}H~(Fm$ZDtFHSwPIs84J+*R&vIVp&a^J)QE$MCY zind6bnDzNaz|WbO*St}d(xW>N1;YnA^ovv=L4dnO*uaMjGu;b_0{+7LwNjw-f=)l#(2 z^sz7>1EZVerZ&1&1;x~=x(wG(b;!q{<8pVC4lvXOjg&3FIb1mb%x?`00|nV~EwNzh zC=DIzQr=B{4H$;kT8^?CqGWqE1uyM5R95;H)7H07K<|>VcJHHbg&a=RM6{hX(-luz zwks+@0~$Mu88n@=Wl3^G+Ym;7;3`9SS$JxZD$Rh!aPNN>5X1RdDV3*O-dqx@Dl6V# zKfWBmCaMN(UA|k?nGgDc?L3t=(QXexGg+XPFWnu6uj3urZ5sxli}V)Mg*Tp)ves&* zI?URArbBXQp?~TQW!t zug=k5tATH@M1M0dz%o{diy)6xlIX>M5!Xxf@#HRyrOD?wdt(lO|V|$nY zc9GC}8gK66Z6fyqG8K@SfV>}&43Rx7_^S?lnxf|#_?Ddij%ME@iXU(ZKVk$wVT@!G z_!%kuLQVHqI_z)c=QFI6Yy;2zbHoB)v4#TSkk=^UA)O?IM<~(gq1iggd+;$nA$pN? u8^k@{0Q2xEJ`?yHUx522WmJfsBefv2n*VP=k}OKHEXuSXf+k!j4F3bjD~Wah literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/commands/PlayerCommands$jobAdvance.class b/bin/classes/net/swordie/ms/client/character/commands/PlayerCommands$jobAdvance.class new file mode 100755 index 0000000000000000000000000000000000000000..b630f4ccad0a191f698e9cdf506beb3d06d99e88 GIT binary patch literal 1307 zcmbVMTTc@~6#j-5mM+UhDk$QOi`XKvii$Bs6NC^+DltO(!h@MkCuPX)Y@L~+{16lU z8Tx>U5B>mul<{oaNT>z~`!FZx?3wR;=Qh87|M&^uIhK9&Ambq$pcj1%%UZh7en?DB z$uPE|h?LYW6noro;iL&g631NEZ1^VPhtjOIRffJ5rImZZkSP=^KKhaK;0G8$z%Y9j z=o-N@jMSyu7DhGPYp!`+l4+q(EO%YDEe{)>@Z5|WQK=t83*Y zG(aAg8KzD}+Bs}UV!zc83^S((OHN zv>kApK!6;kF+-O0@&>Xk(4qMwc$v|`Zx}wp*fC1_SOK3gh%YUq@wPW+afj@{5aw`~ ru(BwS)`KGENsf`_9%&1^U>5hWD2e3*JZ!lv;W0^{Tqd!EC&>K)X{B=^ literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/commands/PlayerCommands$marvel.class b/bin/classes/net/swordie/ms/client/character/commands/PlayerCommands$marvel.class new file mode 100755 index 0000000000000000000000000000000000000000..1e413a0118742dd52c55970e6c9bea55d08aa92f GIT binary patch literal 1275 zcmbVMT~8B16g@**wk^wtt)PfsK*bi36*L-CB$6hCCbcn^^o6HkJ88%4&eoYJ%8xP8 zpP&zz_}~xlM;Y(7jfQFf-G`anJ7>;4_s+fh{m0jD0G{Dd7Gp>_NV-U2oZ+z&)-!J- z-IBr!jpqkaDC_whuDNf8_WURexoR2jWx$Vxt_)0u@hz#O-DXG>OU*3O$T-Nln1IVr zIFGbK^b9j?VH>`dUHgJ7-WKFqE0$^_mrWmGyi>?(*bT~QOp%U|>mw0lFoR1DaxU_? z%&>SS$^LOyknnofXIMTvUJNZ~F^4M-uDY1VHHPAup3`)e1tVAtJe7Yu;sQ1D{q4)V=K%QJJ@_EqY zTE_O!nY0~g7@m&`{Kv3m21mRTe$P^%t>U?Cac`6l{;X4}Nl)f?s7Y2X#zFaV-KGrk ze_>AEm>FEZA_Cc~5eYzh)lRf+~W z;Km4pMJ&*tA^yfdLNQM34YEAi8SSanFJPbg$2Vz>kAe5NMXNgi;5Lx}87yI$Jn`jS zB>SXOt0!<0xyjF%KEdp7miT7`e840=_L=4eXcTaV{J<1eaF@7}D3UdX5>{!SCC@#w c)(*f7VeSj8lgd9j!{y)Y_VgM3Y*Yng@A0OwLM2Gc$3{3Cd6L z7x=6X(S?e#T)z05TrR(pDXv8d1969XA1E)>o<9s!WITUQCek-5@%%UpWz^T+_E6qYNi$^y=2n9!Flz$YYOPm70YwKT z7f0X*GEHHtbHt|T{V)ZGa)Ot3L zvo4;uNo2Q1zU5zZ@sj189mPJxiIr7coU^k0jj__kN-nrqu##NMsL(dyqKiwmtxiAC zqgbl~YSdrX^0q4BG8P@Y>S75Vi~qU2ExnvjSchIMt=oeq~b{S>b?GHq(fG3*!wJZ{jV1Bb+1CQChRRk8##3U`3$tz}msv z0;@BXe#)WL3pP(yqZ#)}jcQD%q8{hLn`su`h=`nFN;K7v{`fpas@uTlJrU zHdu1?werV?VO9^c{eUmK0F9fEsBMoU;O`}zohRa%`e3#)84&;cBfQa<4g-PutgpxK zl)%xhk^UDQIohvJsT+?IUtJ4q1?L~S0(!{~hrpSgab$u}^#UERup3bn8)pTOxXevhLQ%#)l+$qOlYIVI;wsQ1d{>~gs}LH!%J z_3~>IEPsn)y?lj#Z1^l}_$A(D;78)T%kV#8o}td-7iMt}Rs4!Y{Du|WCy?K94S!5w zR#GU~!27f%C^WH2pn38iP%A@;g`fEg>kdxjk;8QgGHBr=($iG^m|XiNG8&gOI@nV9 V1lzbV)!M->X^C1_vBQtWe*o~d&;q>X(d`ZY#U!;PVg$N zMl-0sthKdud7OE{>$Ez%hsN&k9Y%3rDRuW8*Ic$y+zsg7IaKzH@0VlKQgF_3&u@%> zC@7SzWerGvt>NFvo;*Z>I(|+3g~^i;^mXo)C8v8ig8XTQ1%qeOM5U9nvU?IRrIKAS z#UhYlg%ey$Dgk>L_F3ZCj?!{SA^R4-LB4d{m)It5U=Ekr7P=EKhAXtPxcYbTRL2A4 zM$~uYzG5g55S$7W(Svc0Ww`qUImW_w9XBzFY0O|2MJ!+uOSn(p`;JfH0dkz7@Q|D& gACc4KGC4y&CTGbfWRYAU7s#jNBDqQ~kZ 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 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/damage/DamageSkinType.class b/bin/classes/net/swordie/ms/client/character/damage/DamageSkinType.class new file mode 100755 index 0000000000000000000000000000000000000000..30e0d58ca5399c6f10e785daa73c8f5bdfebf107 GIT binary patch literal 3047 zcmbVOTUQfT6#j-J%n$|`p;AHALa|M-HEOj|K+8p_sX;9RShOt;$pJ|G-LcIcY zN?f0x5=#nB7Ix%pkiBU-8rWMp^j7xPWRON3`lfiK7}%k>Sw{UDr$lAmtQL!+QepWsI(D<%VEKe)JM%N{itF8Q`S4jCd-$+*^U!p>V9cw!0Uvkj z*vrSeH;+dgUs$E}@tbx=;tB_O zUPmu$wQp)gK^_+Uf{quFA;5cQM+!6Jrh@(}J48Ho+}8YOtx^% zTC;MFYuKYha~5=36kAmqtc@+cty*ZwS1esMKDa?%~#g8b-W+u zH%`NH)boN$;9IMcB3SlHm6m!`(^$g|6*qOP<9!7^566M+u6ZjWSCHV4g|$c<#Pio_ z8kghT-|_y4jKTnCEw|)|N^imQR;sJp43Aj-TMT(8#nqqwFbw%*+xUZvJdat9W7_oa z4SYzOAzo4RB(s+Zt&jQXe4^tTRt$W`V`+ys#!aHL7 z>D$2J`%qZFZj1f`N%T+)MU><@%|p`Sh-Z;Nk~R7cb=}4BzJ0%;{}-uqmA;$l6#V}H z9cV-+*jGDQvPU87;a^-)0*fTA!xH7U3_HqifFzusv4Nq^dl&{baAun<_esxTmPUvW z+0jIg{N#wTpH$zk=>JIux=P<6B;7INRG5~L=B|s3Cn*U|x%to?yxI93)Z`CHCfG|N z22_|rSX^_I0t4X4C}q-4p-vxG$TjVP$hDBz0h31KA5i8JH6+ZrWDTl0m#Wc}nX9kS zV4G8GFw8lvhBkA~AW=IJl64RvVHc5x8V(Sld+#wHzj6&OyeQ;9lm~x){G9@}o=+t1 z;=*ktBsY~zN=}uWnMz46ExGCXddW3OZbnrlXGm^V(xl2a95$d)}{%u1wLhTO8 zQ_@DL-zE9WMuX8H?GH%)ijg+blJD8TJGXI=`zh?QY_*1<=GDECT07x)1_!l(G0Bs^`tz?b+M9sdFT CDBx-U literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/damage/Rand32.class b/bin/classes/net/swordie/ms/client/character/damage/Rand32.class new file mode 100755 index 0000000000000000000000000000000000000000..831ac584920cad64402c048cd1e470e6c1626bff GIT binary patch literal 1790 zcmb7EU2hvj6g}(sGhVmb)VN6-$6it@XA4=dp&?CaLejdmYZ}xxdEeMe>f+eKcBv{9 znaJt`5)u+Gyzm!5LaIUHfgiw+!aa9(W4n=G*oT=rcjn%?_nb5P?|*;)1K=}!Ig0>h zA_(dTA*{i8=6vhe4X1f%?;bpJt6dG@TlHqWdt1XyZe>4)C}I)J>WD+v@Ilk<+MO4z zcCGH(M;*J`sJqRsU481bood%@+coFNIdttuPP10XYY25*xAu_+tt^So={PT0ls7M) z3p(aTp293WNgeMXr6GFgb{~7etfMSj^EwtLxANk=qGNH=S&+0#Ix>M!AHF}20e3?R@G_jJMFrxeP^)ywBFHRSN<3J8|=U7 zzVJajHA%{;SPvTmyzZOX%XVy();g}9(T@uUURxA}V;>R2= zyzFy~`eqXEb2DzG7`oaUAY!Fro|UjtanCYRkyNaoiZjz{Z`{)jRqG;oOOu)<;+iD| zCNA?SW^onke0@)F4c{P#@34Ybu<#SED-78HFNsf1e$c=Aop((tz@Fg27|G`@ zihiB}Zw)eL&${wTdQM{PM4*{mrL9GOZ=HLIw^msz?eFEdXS}sq9_x8Yfl$CX{#zDt zgYc~3Q?^^gO}4tBinP2!{32Nr?hyoOat|e1@*?(7rZq$F162GLPPi6`O_5Gyq@ToC zM207&v*m2E_bu|UO&)fT#9i`PB%k*t$}vafnDl$k&}2C}FXfdiM|jil#pp%vs`7vZ r%X*EpRKz(exN%-4M&mN(RL5ohN*+)I70ffu_`xoW=z7Sj0@!^69}@&q literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/info/ExpIncreaseInfo.class b/bin/classes/net/swordie/ms/client/character/info/ExpIncreaseInfo.class new file mode 100755 index 0000000000000000000000000000000000000000..922b3c6b674b4c9b74dd0aff5a82aa8c25572168 GIT binary patch literal 10273 zcma)?d3=<`8ONVz6A}_93ArGE7!c4TpaBKsmIR0i1PB4b;knto2@9Kd!ya5-fH(C( zMFkH;>n&PAj7O1br5;qRTD59zJ!&mh+hS`yTC{zhne6-S&d&S!$RC;P@0sVB?>qZG zGxJP1_`_5C0bmL)%>^H1WJ9KaUXX>*XN7;YzdGc%JF4fkuCM|zgsjOyI~bdakWo?D zk^{XVCmV7F90dYljBUlLqie#EwxCtr8LbY4f|ebt4lMUa{DGJisSeuh;p&-dyBh33 z#PUb22KtPU6O1 zzR(Y$IBJCm&}y3#ZmkX5@hA;Lehu8GzkmVUr=-gtiLH~?CMyykHh+i39gY?-h&$x3 z;;^zqvp*(HZ*NcbKSjWJwik3o+Y)+WJ|+s7#J0SkP2Y0D%1<;! zz*K38SRwz~WXm)GHFCV59gX=zp$6@drwf=N?f&Q*zr8qU+g2pmzfQnuY!}wruG)3< z^3WVM^NjqT5r{dV`;OyM8Hz+QW&9ksV-=RoH^tnP8V3!>9Snt%Z5;xZ zv#l@`Ty3Qw=MvNk0V^RyPt{??7MSvglASWihHy4?30MUYgi0;hEjvyrPY;uv+;t&; zN0eSfW6%+eKRU#uTpBzkAkLIoL`e_N;A;e|WvL%YO~&N5VZDHJ8MwsMfrFec-~tX( zL_rqoIc&oQ0UO!BK(n#yMFK8n*FGuZ%eTpfO9foUj(P6DWMQ`}1Z-xv0&+`D1{d*R z2)LDl@e5OHT4Ze4A>ek7Q_S{7sf!SYxI@65i4aYub;yRh1l%n{80;M4UIF)U2>#-l z^rgy%2LwFG?gg5ST^|zgFuU>>*O0oB+3<*f-Rzi`Vqv#O1?)|@HK#6fHgpSkT)L%L z*zHLHPbHqU!L$b2uus6#@>vab4)F^C&m=y)bFa#4>Edn*!cq z-~7a=%EXSp6Yvf@=8p)P;+plHfIEC4;BVZaIJpB&gxU;j_=kYQ zJVuV=&0hZ$@Gtf%C9g$>UBZTc3;3G-iqg#-;9CLTB?8FZN!v$k_^*H?GC;bS1NIqnt|v9J5L=+Io>e>%Q;>)Pmn*l zlH&{!cq|U3o{FHsCYsEO1{G$wz~gvYI7#HeR_@&V9_v2SQsh@is zrI^#{`DpSRgSIs{-q~tJ7W!L5q!cxV1O8BpKN956Jz{2Td62f}ar#F5qYmzqXjY>1 zJtmIs*`dU5IV2}0lDqWG4W$cxFdhZ^k-^<1-NQM}30ab!mF9$=KUGV9{vtAI`!p@` zDbXp#Xo5&e-eBpS%x zu!u~mY@sX;yKBnuALT{4vLGC%nzJs**;qnPoP16`kqd1YLaVEf3h{FKNd-0i=Hoh8 zwp94amWo~3Qb8+Qs#|4CMXGG66qPNNowB7OQ?^u7%9g4}*;0WhTPg%)O9h{7skoCZ zm2$GB!cDeRpvjgBG1*exC0nYnWJ~3gY^i>dEmcXfrBXKoZoAtPI=SY%7p z3AHtVeDeT^Bk5B$eL`w`RXq;4o4er&^pni=GZ#;!pF(xOY8*wMkoSi)=e>}{%UB`H-HS(K^7W8PBDWF)IpXI$WjjwUOX6tP89}_V|0)+j3DF9Ajjw+ z=MaeB1B6#E{%WWWH-HS$LE4NU6U-n(bdco)67&G!<�EsyBcP(?LQ;kcnoHVLC_` zfvoZX;q{wA=$^m;a=Z=_GlEPqgB-7etR;|j9w5AdFbLf}7(l9Ykn@Znlg%JiI>-hB z+2{enI~aq|ErtQ)1RdmJBghmp$O$^g>`29QxY$dyKrsb-K-I>;6R zxz+=O_izTGdlUo6$vVhZBgm;{kdt+gZ3MF21B4F|3_`at29R+&$gM_@X=addI>=4} zxx)j5PcaNacRL1<2|CDKMvxja$OIkaJ_5Pl1B8!J3_`a>29U`*$SxyDtr=vp4)O?r z?DhcRa~y-v{gVOYR2^im5oEd<7VnL!rnAcqO$ zOAipP=NN?UGz}n&b&#)&AhXRNi*=B13FJEu5H2VggzioaAj@=+BSw%$GsrRxgzC&* zh#nwZ(J}~K#~MJ+)Ic!P2r|bEa;6T_n?Q0rK)9r45W3bifSjX)2qVZ`GsrnQNFM?z z^Z?mHK}w7u^UNRt9i)sv`g?%zr2>KQWwQaKT?aYZ2-0K*Y1csp6UYz` z5Wdx55V{XmAij4Y6R4oay*bmWx*@m&^2+x>XE#JI*~r3bC9HFV^OSI*BWzN_C5~{p z5`N+cS1aLKN7$-_n;hY0CEVr+JC*QLN4Q4`_dCKaCH%}0_9)>oM|eUBKX-)vN_f^0 z4k+OTM>wd2R~+FrCH&SA-d4i9j_|$`K5&GOmGEarICLB2(oBA?^uIg$mrD4`5x!Bv ze;na^DIg>S%uqs>63Y4VCPQ99y#ZtBI~+!LO2Z+C>iA-;fB{$u!>E)Vfg@ooy$_SI z8tQN~%%MA>#W)7e!m+R%Pk}Iwr($a&Y`{sd8K=p2(G}gfZ zJPlsO26zi+!3Wp~pW+-ijPu|dY@#)(8GGXbEW$;U1TFNJg(X;pOK}XIj+5{VoQY>) zBc4qbKek~j+VnGy7G8)QcquN&Ew}=2!j*UjcH(_x-Gi&#HyHQ!+-LbnpHKIXG#Wj5 zISe=g#hHE5|K;VdM%@Kn#m0a~6rOJGA)m=)JN#&}0lqxgJ zRi99*OfOg6uT+_1u6jVJGSOW1pi*VFx$0|5l_}?{Z!1;iovXgDRGECP`ms`F>PfYj zztuyea{IZm$~<&^zErAAMpyktswyL0^?Rktv~*O=AeGln2etv1%zd@`}Dlew_^x=~K14!eaeER&g|YKbh$bDCc~Y%Gxv9A?#%M<+rR$-u!v>`eK?auLZTl70>k^( zkyU6|?rvedwy*3!VBmq{I>C~_nQX3_LP{WUG&_ASjSL2pkP>I{fxwKbf{!a`NHtjdp~NNDCVBtL>z`S7S>j5#v#x9}jKSJ#5+AWP zWLUOZd#t=6aTB)$GVK0Xxpn2!c||sTEHTkJZ);CA6>C3{$g(!mYIwoQ>wsKXotKzo z^-#mJ50t-2#%1r&4KifABQb@7z~HV5Ry+5VMW;RTw;?A?8teKio%v{i7H!0$Wng4E_AbH${7``?6_*}uvt_7 zmQ`zn57V=)M%D5iUTb9{*mGI}cgyjL{O6-zpsTh{7GCO=&VG9tCY0Y*w3pIIg`!0# zdEGdiGPpH6%PE=|K&xO z+w=~7Tdg{r=W|Ti9t~4G45$@(I3fI{8AE^d@iYh}^?oR++e1km9!l!zP*NL*l6p3j z)TN=Mwj?CgX(^zZaXA2mJ@K)5svLW98oay||+VFdZX401jW zk|U6O4-kGE3_^p*05Tc}xnl(R(F`&g2bm#|*&ZPLI2nXSp8;en4l-v1`N<4276+Lp zko!GAxH}kxMy&zlY8+(I2x6H*uEs$g5=gNJ2)8GL&}=t=T#tjS7(r^Vwex$A^?Dqn zL?BOlfbe`^5c-H1K*r-B&x{~-b4JGFAQb|6-UEaO6ob%5%K&ma4zg_oQD%_aagY}T z^0EgAPe=x#Z=?Yv7YBJ|1lcizO)-}G>-Oy-aA=`p5R-aE#9 zmP=Yb)bf#*kF|WN<(ifiEw@N^v8FIcgHj=d9Sqaam+0^taOl6geN5wkrfY)+TN6*< X(wp&4pjSGxxI+8)L-d1i=r-N~@dL-o literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/info/FreezeHotEventInfo.class b/bin/classes/net/swordie/ms/client/character/info/FreezeHotEventInfo.class new file mode 100755 index 0000000000000000000000000000000000000000..d16f13f41a5096e50a3ae2a33bbf2617097b99a3 GIT binary patch literal 1071 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 P^WO^2^btq+@bUiuUTPr( literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/items/BodyPart.class b/bin/classes/net/swordie/ms/client/character/items/BodyPart.class new file mode 100755 index 0000000000000000000000000000000000000000..a26cbad2b67fb78f3f03db16a2464d259d6f7b97 GIT binary patch literal 10548 zcmbW733y#a*?_+5DjHRQb zOOj1pwUJah3lM@5TnHhAN@`0Y9Z`fC)u+}-k!eLp$TF=2D^O zPzl4#ad^$XXettq8#hA2NaI2!$#go|X4Gg2V~ld^T9Z+3Xq<$6uCyYa+-KDU2@{P9 zmPXp6=Bxqv5|$Ygu8k&|A_<<$VhJV2Wv!32(Isn=yG+e8 z3FXFy>LN`|aqj;L36(|(s#3nUGsZKvQo<@D-I{1qgy*Y9!fIoJCDAxvpjN_KK96Rr zGu{;CJ6b1UJxhNGJgyBAHujc0iUtXrjm)l1Htvb0t7y%c4sMmO&FGxsL{lmmYud4< zy3F_;5_TG&R}-a$nus+<;*~T-=}h@935}-QEr~R>@VKH9nvDsSx9y7C##<%CjLIrM zkfxc6Hq9_i?~xEc$@07>BqUF=Je0i>QYTp+OIkwbNtW-*ehCLovUAPV4oWz5lAUMl z5ecUm8}^57-02d|FfR8~LpEh+NjTe-<e4Zqa=u>|O1Q{4x1_c_!E5(o372rKQv0l%R=+6WGUGzz{A!m=__9%oZgeU2p|dSo zS(~|uUzKphrwVJj3%@4e>!whY?~5eNZep(R4GC8p88*`24X%~&P2+Nm>otyVNw~hd zfsM4bO#?SdxXH*YQ@Q*3{f>m2yPNfU{#^;*1o4(5(k-5$<6gl1P+ln)D#F);NJioE^$P6 z`*wbCl*G}-<(P^+GlXL$jx#>n`0iVR<0Ve$*4-~eoFuWJTX)YWPLVj(=q%Gn_nc0b zSlDedZ%~{man?!JY|%JJ;#^~Sfc~~&c66LCalxkx_>4soi%db-T+_c5OC&BeE>v8R zxe?1H78~UiS8Sj+PzUW3E0dk6MAUqtV5!71Q!0upN?SYWe@0eFTw!ERaYZ$4EYWy0 zX1)fnO5#eta&f9Ll86{tEwRRzHOW+@!+e3@8i}>OEbnNhuNNcNNvt!{Ew1ppTQ6~g zFPkQRan)5sABu5`3b6jV6gvBf~Y_Zw73U z*vjXU^OxUliF-2DGRvqAYg)y0$PD*CuMusWG8i#F41#JpGWQi)&0%jk0X8;Yyz z%j*zkZaLMD=xn?kzZ}NPBz^_IO1Hl;o=nikc>hTS)w?76B8BltqNQ-nuHDhbbWt{5 ziC+uj*Ck$s-=Gb#r$Tw6vyJ+(FB0#Ju4$&v&Plz_E{)T|E9xcc(&n?esP`321Kj>K z60gN?(ljiNC1UBN2m^aJ<)2wqu)&P~TN1Cw8|Yh~u8V+G+2n4L_-*_SozH#gK$tzL z;Quixx8Qff_&tfY;%&4|@<2P&v3Ox|Di!IXRzn@>R5U_ko<3v8LU0 zFcPO5_7FZC#ve+21b>9kucu>~D%7WBsyuGuy9vE-fB0>%i)7cf!4 zWC7Cz%n&eJz&rs91uPb@OhAc%asibBRtZ=wV6A}l0yYZREMS{}odOyKGz*9chzm#x zND1f^a6rHz0jCK#L%`Vr&J%EffQtlNBH%IsUlwqMfUgUp0gnlILcmi3ekI^H0)8jp4+35g@Unnc1-vfcEdlQccwfMW z0{$-G9|ArW@E?JWKv$p;m?N;SKu=(QfrA7N6*xlRXo2GdP7qiiaH_yUfwKh86}UiP zk-((_iv^YmTp@6!z#4(I0_y~B5ZEAatH2!scL|INY!$diU_#(tfoXyJ1s)W5MBwQH z&k}g9z+(b06nHV+EN88B)|saw27_mY}*x0t&dPFMPcOU+|Pnj z-OXqXRwpTr+Ym{`OtXI5!32FWo3frA%U?0(DQu0=1D#bDYe_`Xohhmpq$hF%y%}ir zm2~m?n{A%aQ%q0LD|(lo@8CAPc%*GtQzSprYW@s_Ig_eRwb_Er2+po{iYw@~)3~Q5 z((VsZET*iB-81QNq5hZj8m`%27oX~-mKM>ww2r<<8lx34bC3FD5;)V%MAF7cF=Cqb zk4Sq>G~JqP>c|Z_yR)4=PCV?iNhjeX5ytk+c`UInxhGm!&GSHKM4Bl%MA;acskYun zPxM|2{z>)%m5~Ic7&`K+DK_nF|D1P9uOXjw;`*-kXz%L(_d4rixw_L;ZUsoo^B9%NM_5l!)XHrf$(XhO$- zX4XG%0>jQBgpvQfD(%8{wwKSO-Say>60=#TuwP0CS`4yl&4`*W`=o& zPs+UTF=bkqlvQC;CWT4)6DH+Mn3O1CQci?P=?^AlJeZW_U|#R@CZCkLU{C1^CS@p? zl#gIi0)j~y2PP#Ln3PIjQu=^NIRoZnKA-UUlut?ka5;tiOp5ZE6xlN=m}kE1lj3$h zrf8i>Av%-7aVACJObWM|6kjtbs%BCg&7{!T(1goOf1R4Rn2#wIW>Waeq)3-Z(JhnW zSSE$7Oo~*Q6rD0D8f8-W$t>_W)n}nk3L?3j!bT=ViA)L#nG^^zi+xg@$Hx@fF)5T| zQuM~8fQ?Bp8j~V3CdFb*3c#2YbulT_Vn%(o`lK+5J%vt8ikFxaATcQpP8ZWsUzw{7Z zej6R3v!4D9aha)ql~eE6p92ot?0z`;1YYqFpsDZluJ3FhBW*2bqqE7Bo6kh5Wv*BW z0SKBJlcx;72d|zy;x4@Ic2kGj=u4$wGL&#Bcgo%Pqrmr~Lbl_f|NeEo)!PyT0HUu;T>KcL?!gURL!=&NBmAy>mp zg3>UD;Axmo=%-;3Ay2~+LVpd*2?I2g5(a9hAPmw_MHsB1nlMDe8p2Qw>j=X%)Dwnl z*hCniVGCiThV6t=8X|K}r=g9Iuc4hVUPA|Af`)yBi5j{HlQbMA z6lgd~n5^MU!W0eX5Tfj|0L9D_=K=tBM|B}(rQv0G=>NpHD(buX_SNp zjk$!)8v7BpXdFP;s&O!3o5o>;?HWfCc4!`^HWKz}Y$oj27$Y3e7$?9o4cz|$3;~~On8c!n} z)p$l-g9oQ;JlpULjprGjsqq5Cvou~*_t{NVIE_w|eT;LK(z8wfWevQap5Z)vED*Q{ zAHM?v_VCG|Jq+8!pSwXW&9;Y6g$)t?Vgdt@y3VQCZyPcq@LVq{?P7$%yKO7&$i$BO5br*c`$x8eoWPbn6Qtawr7DUZbxD_&ClRX-NX zt$0}tP-ko z8m5M@sJG$`HC)YMvB`=z)d)3=#TF~xQX>_;3h9n-x8iLzN-ba!vEt8av|7TV$%=Q> z7&VGTixuyxv1&An-B!G(#;GwZ+N^kA<*TtQ+O7CNjaTDXbXf5hH9_UG*k{FuYN8s? zqRWcEs!3`ti^Ep@O%s(_Es<~d^EjHI#osczt7^|3$mR`ehNv3PwNK#N)(lmvJ=Z>h?^-iVt?}HUeAWln3|F-E<2G6~eO~}?6 zr#5=-b8ND#$yb{)Mp`poHF)mxTqoC>32L+FzQCrRH51hq&wY{20Ba_xt)BZ5o59u; zsBND6GMi!6Ojg@7W~4P!)DF*mh3ky5W~$ohxqoDnZ_P9n@!VJ0OtfaY+U2>gv6*a5 zp=$KpKe3r+%?#D#xv#UCVa-ex^;~``ake$HRI}&uGl=u7nXOtpm!CmgXw4ke>V=kb zJBzKEt6~|m%$j*>w-@5A21~4&ul9H$-deESnguHEg-W@dN^2IXHZN4hW|cLIRKg3D zvsrCTkxF`@3N~x4S*+T#ngYsytu#w4w&PzSxd z_qk5WnicAhm-hjiPHQUFVK475Yz|mcrH*9GA!}Bu)4cw?BjIV*tWrla<_v49>3hiQ z&zlsUZB-3@8hNYv9fjvvwVJ+?yw&`s!walhLmy1uV%z#fC!E?l@DdXoazN?~gmcVi z68(rQn||DtLqEbYKb7i3KV|AmKQ_vR-JswgcyJv0(Qi=l;JeTt9;DxoJp}{dB^U%B zz+g&748c4Yiuo{%{*F8xD_{g}gpu@T&QaI}qwxY5gI|NOcngff2OuAR4&(7fn1JuY zMEY&rB&Qz~IOAZlGY6(PqsoI9I|<=VqAYd>>{zPr@AM1(@r+ z2lFVZogeUEL0}v#49tZ^ffY~`Xn@6mJ+LHj1eOLahGl_kVR_&VC=UD>N&>%y(!iTg z7WfyG2m3%pa1^Wv&V*)n;H|JG_%PH4pN6%;*I-@n zBdBw;V7)sG>fLFu!CeL$-L@KXF)7{XbU|LiO_qH3?sCM z^I&gyJfy<&p(9)c>F^fl47b6)@KM+wz7!6GuY<1eU2rh`C>#nu3x~sR!;$bO^cS04 zI4Z`#>0&nh>82dc6dU0z5u?B19D;MiMR2aTn*Nw`JDe{bfn(ws`m4^Ha9n&07iQ&B rLL=y>0-{bctq;d(aaxI#f^cFKW4Ajgr_Fywy$9?6mc literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/items/BossSoul.class b/bin/classes/net/swordie/ms/client/character/items/BossSoul.class new file mode 100755 index 0000000000000000000000000000000000000000..4da84f4d2a397bf1581e9a2482a7d76125f4e7a3 GIT binary patch literal 1133 zcmah|%Wl&^6g`tBapO3Tno=H3X%k*fKsEb97ePX@6v2Wj5>hvgGiqI22iXp&|HJ|$ zDi8}kfR93)ahwOC5Lvo2b93)G=RWfD*Y_U)o}sNHhcyj(0|gWX>SykI*ACq9#C|n6 zlU^cFeCmgOawxE7wfiNkqohGMP=+C}AIijzKa8TGFYWW#_5xpqiS3=bk?SQgvi(HT z-5tg8>(Mw6(Bij#5I92t;V7)Cfg0)p>oI>mx_BoAc6&>pG8_{_<*R@L9VV`6*fek* zTLL@(jb=qBGMVOfFZwP;v@EB+f<)l1<*bNl_XYCLM?-3^_54u29G?$lbmR^Kdd%L) zbA!Gc`RbiH^U0|n3p`l{UeUG#fr9096`$w|=&GV=8#xq*u6V(fXL$@QFBC4&v{si~ zRw%PMw5(;BOM_4(I^!cxzVKDemFb-K)fS=2`R2G~Iey%h^u}THEP@r`2JKD0-l!Gi zS?hd-=xkp?>pZ?h<#U>Fi`GP*wnVGbmQf|xZF=@5Y1l@CF9M`ABE2c1TuQT((Hv(q z=A5SS4I5W5RmoH%Qym-p=1k^{$(%8njJ%UF?NZOAAe*OBQRsYu_K}wyR2iyjU^4|Y zCIJ~B$AcC9;S@eZ&HTOy#N3J literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/items/DressUpInfo.class b/bin/classes/net/swordie/ms/client/character/items/DressUpInfo.class new file mode 100755 index 0000000000000000000000000000000000000000..b92b70cc791be1214d240273873090fcfcab2c8f GIT binary patch literal 2170 zcma)-ZBx@g5Xb+irImU}1x3XN5PWE>5(O0z1uX~^i=Zg)Lx>VBiIWB&K7!xHH_j-| z_`(n1hjRRH5}?NG=u9Vjw|lqy+r8WC&tKnv0Jw+M0x~#|M^>Q&IRnL4)?3SLSl&x> zdHt1RhX!(YUC#}t3>+wx*E(?!op}@#4nY~X?m3~^eCG!nu48UBO}pVbUTE5zR$$qo z6PRx3P(2$s&F1qrHSdMb5L@p1s?~HBEH{|(8-8HGsEOah3fb$ zDvF~D$3&5{8-BPMtvRl60w=kt`P%j9sVeJEDV&yd-3;|$V`DFp*v={p?ApX2C@X=# zUZCxq!VrcHoX*+zJQm9JJ#%?GT(Rue4y)Gbc(%Xc z)I5%}rCNDS{9jhMvg==Bi*7{06kR7{&O~X6_PW9-#$uAyC^J^SDkL`*ZeiR&Ar4Ue z5E3(6s>Tr}6z+((UV2+f)mi-BRXlXsdt!TQal|~WaKFXeS|0|PVL~iw-SwQu+gs~S z@XT6oP}5WQZL6_n1+L5!Wj5S&n+C?}>2m$^icB)?=I#N=NHAC+j^YBv_P8v))TR?9 zQLJrEZ%_GWQn|Q{21=#BNHqsLSzaTFzkkjb{%aSHYt`QlY-i4uf)!gDVnjL)=UDs< zJ2KBNn}DN?-2F)M%14s-Jd*6ZNb-tDlGmBC2t!(!-v^xC=6-{+Q27RxX7P|SLs}s5Vp58ij>;Ewec~VkaUelJy#37`dz)viXmr=}Uu*5X5W)B6mqJWfD9CLK6&xw3=79h?`*UnH+4^4bn=i2immpG@Qw w<$m}fzE8j+zmNFR)cK#ggh2)>VHwx3!uRG$3)aM5Gf&XI5@9{z{tTY}25TBebpQYW literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/items/Equip$1.class b/bin/classes/net/swordie/ms/client/character/items/Equip$1.class new file mode 100755 index 0000000000000000000000000000000000000000..f4aebd107dbe2ce378498c6c71699c94a303b751 GIT binary patch literal 4713 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�nnedYk2|=_TIW_rUfpX;4(|cLf3v(dNH6a>PbBkdA@YiAQs-pCpip`P zxZb#`*-EIEI@}?^H&o*=Qb*@x?5)#chu@vl5fP8ZNXftN?q%d?WF!v(?UPMpb*qwg z^3bYna^AUXd?T@Xm?Rvg?Osfg$6oL${5E=<{$Q}ms`1|gW!^3%y z$TnD)b_(C8H3h@6I)(GHhOFE5MPAl6dCF$F`g)$Kc=BBMnq4n?^s_cnOV4_)_M$U+ z9fcZp-Iga=<~w%Hu1# zhZiW$!LuIE7Cg`3`2^1{cxAB;xrJXaAQlnv%LQhu&{Z&R!NW`aPvGHY{!jB!%v4dN*NdP9F*(;yBr;c_^f3B*k#V=4YY+Re6>W4^({1kQw9P$(9(2#5$KA8VQ1@JMpnIMu zbT1H7+zZ8Y_aZUhy;vOKUMgblWun|&CziYG#mVmF;#BuaalU(%Snpmfu5>qu8{KQg z7WX=_)xBOkf>&+217+V)ZK1PbMLWcy7yTX?)_G^`=E7<`;c|K`>=I}`-pY6`PWg~uc)cT0{en^XY zS}$Tjll!ir)_u;ausJjVH`2TYTZoFR8=co-b7_Wkjq`@{A5V5(M7`BcQqmrcDYg=F zj5fxJzwv<`L~rh-y+oecMduQP=xl*)iJGhpi7tR8?T-4db?X-0y5Xx;3wZAXp)}1q zDv5C3N{T460GGRy9_W2uTt}VwDyv*|4XPnqT5o73r$A^!-Fho+`1kanx=)6dy4z?B znpnS0NOv1O>24TmeV}yL#YlI}q_~d(X<4#TlNm_fgMjot1h@|%V!uy=-H)(X^05YE z1UIEOXz^$^EGaq-aNbD@ZXL*KF1Y=MWf)R97ulnW4^z6rWKq_wytoFiBJt*o<1d7n&*SNt25Go;u6kP3quJM(iB_z*PL# zP&J?i-uju9{_5qpEp3X>fHSr_2e7s?tVuD-0#x>4NL+W=mA1Z&U;BfP?&Rm zIPZ%`z5Mvz!?Of2-Y`n<1J`FMpp=uZ@HT9iuk&tjh_-sqH@3@vQGo3gUlc(3{6&Gw zuQ0!I^>?l&GE)Qx+dI%t_$x*H->xBrf_e%BfJM~3GYdFh5PF&$Ku`o)C%2eA@Y0%mPw5byIGRC ze>d{HP^bEC=OfrmyT~OJ?xdYGPUN_*`v*!uI3EX#^(#`fMYqB5UP#|y9e;Cant%L` zd#FzW=NBt{Vtv@m#(ZMElVN^wj33B;0J47uApGll4CJ#wAjkNDq)*q96CLOCWR8qQ z{__;;iMLs4CO-`~1a)dYAalS|n4MkwbRgpWMjok9l*slp555nU# zSCdQa4A;bX&}K9z^2=l*SAi|JzFzi7IjSr3-9WkM#^fstM(Rb6Z@AanxL~Az5)qzA zR=9{%_+V-avr~97^$eTI8@Ffatv+!cByN+$P>jto$Yu=&bwlswH>*rvClgxdC3GNE z8hopm18ynP#of(B-bN?aVZ&-<0~zA9 zN!2Km=!J;01PL#tyl|AdhRf38>t^E19fMzG{0>p^$eNnUH#&JfT|N|Eyk)6rQ*)f} zL9?76^iOO;?c)4Mgbh!Ee@OIa?0RC07~uR0U+5tqWc_A%IKPt}qL3BBkw;K^!8I4# aRzjmYVN15fro}Cca>JplP)?`?b^3pWuT4t; literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/items/EquipAttribute.class b/bin/classes/net/swordie/ms/client/character/items/EquipAttribute.class new file mode 100755 index 0000000000000000000000000000000000000000..325a5ae767156ae1a0d905a5d58a7bbce6ecdd8b GIT binary patch literal 2291 zcmbVNU3U{@5PmkFZ_>BzCWZ12BC;D%^3Y zf5E??7rLl${5o8Fj(@?w;6G4jX6tDMDu&%Xn>gfNSQfho@k z%iS;hpy@j0^=`S*b{#J)H}2Vi-3Xna?1m1}3lDp4XFd!Ax84h#91Ns1(#ROdRQ<*S zr)l7Pbvv%6*_YDDv9IClfwMu^TWz<~alIDn1~hcPuHv_wp408JZb)O8b@^2<4D6;| zZ%b$ejUv-~x9Iu1l*`S)_PUgn>wA29hsI7e8(H?3eXruL*X_^>?Qqd{MZZg9H|tZY zU8l(h_G;{7B3lV;@+aJWjRVY?*8@Lv#JAN5{C1lUjB6ZXrK6RfQE>A+bqW;}n~iaeOZ;&uE;L%WpVgFYvZfIHz$Q7bxc=YxC9B1D;W<+km$$}9EzRK)2#X7O$oa~kt_kKTF9V8QFH zQ#2cPyXUOjHE^!fce>KHyWQzN!lH)tTGRbEumkabSz`fLsDWo(&kbj(cKxn4PcBWY zaqX^ZEa94gB;9MkSW-ymiT;3HEYr)p?j#*m$SG)rVTGc?PKDhH`xFi+98x%=r5;9_ZFn?V7J%oz-8x~H>5m!oh~ZA`Z6?K)X9`$&T?CxO}$5UsS?$WB5yh28rM5n znpmPCnxWkkzZ4OqzuM=HUv*}CG0#rZ0+eMJJh#)NwL0TAsv>OCz9SG9+3(~X;(nJf=*b35wQUnQZ zMZnz4gGq9R;%J~w@ij?0Ovr!v2va}d?H9QC9Z3cp`kxUU+t1_fru`K8;}iL!G5H*q zUcg}c#7p)qVsvbUdvHZheNR?=<5eV)VvEV+W6w~T-2WpMzZV<6bBMIywTUqdU_aQ` zD4k@F_az_x#Tg~>fY=1ubkjP#&G^cM9AA3!2P}Ro23x6&i@P|qbnMQ|^YCmQ{!#)1 zI;Qy>j9M~6(yFB*WUX2{qDQY~A`Du!Y(z`3rXq}3HIt}O0^;@%5IIJWi*S&Dih7t} zAi_}s9ic=p7~wdP6`aZtn?S<@8J6wy-VxQHVn-ZV4joXDdhubSBco(Qo=h&59c3|kLLVRKl73N~%q!6E) z!^Jyt>*?qC>?x+WRpR!%f&%@{Qp+f6mK=Tb_>(a}4W@AmgY?!zctjukuVCV9vi*j> f^1osPe_{vzqEGqX)L8#gOC>fN=^+C0mq7PFq7d$y literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/items/EquipPrefix.class b/bin/classes/net/swordie/ms/client/character/items/EquipPrefix.class new file mode 100755 index 0000000000000000000000000000000000000000..f78bf88d72b1751f59ab918f78d2df7d8a13d71c GIT binary patch literal 7129 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 Ch-S_J literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/items/EquipSpecialAttribute.class b/bin/classes/net/swordie/ms/client/character/items/EquipSpecialAttribute.class new file mode 100755 index 0000000000000000000000000000000000000000..59b0b8dde3fa71eb5880fa31fb3ea5d5c978f1f2 GIT binary patch literal 2007 zcmbtVU3VH~5Pp`gT{dr$g<9Is^ed(cREv$Rwvxoqlr~Wat(#D>ew@wnO1C8ovP-RZ z-uf5(3wohcZI2#3z4ixr>2cu$g0$>Kp!bUU8(!=ii7={s&H`$aF51XsQqcs;u(UC-&1!?5q|4?>xQhL}Jc2@U2> zH@q%`u;2Yg!&-F;))Lbi0!gM7H~UUY?)BO%*f1j?*f3Y|>5hJA4_sFU0h{Io=GkOa z9);3x$rghtfi#19-Ip~PbQya^;3#A1n)AT(+x7#m)2T@>pmf=MOyD@1QA7Td%DybyDCIV`7Y5>kfPs{fxj_He|+zTiqb=_B(Qy(xJ#4?NxzgcFB%i%Do=7 zpjCEVA_;Bkg9`DQ!0X6S9?Ok#b+2M;Sid_}l}!|IUPn&g4ZNu#?smGqq}t^2)%(sv zr`U1)cCo&HU%Fw*L=kW4xG1oKx2e!C94h|cfG+jW=?rB3OAVKE6Q?&jP7stP0Gl3; z-!4r?U;@Q|S>PSKt0A%K`ChnAHJhXwpWMzjxMo)c-a|=4l;Ud8whhEhg4dbieQMxg zC+Vnxqyb@I-ay*GQ3J;foG@_8z*z&!%vS4U-{TnLKr!Drpm^#3_k<=nyysEEN!x4t zPB`e3Uo1yeqXgPAY;dKcx%@WG*D5WEQI7~9dwqhA`?)&R)z_)9rrjO%U3tUf>SPaH zJ{R~AZd|0M6=|K#ZY=N~0!Y&0P?Gk9lC%_*q&=V{&AyT}zS)M=A6U4uR8pW-XwnUOY<`Cz8L;e{GKar;47JVm_jr~_}d+dLS`1pjG)(TH? z;TbgckG$mn5g}sa1sl7{PVbt$IN}zfh_OfE{NfW_DxCZkSAJGL9CMDW;O&MCW^fG5 zm7$Z&xTo^rUz|}C4MHQhLyg+qObjt=H}xSbyJ-w@#BN#yWk?XVK!U(U63HP>lc1t5 z*<7EO>uKN<+#QGfhq}(6;U5$*y&8=@!P;X)m9`O!D@|8gIj$?sRNA$KWhix4shhfG zDb-Tyb;CNN)FVo*SP5%G=^3Tpu=EtZRltG*Zdyhv0tGB8V9QFTVk6+R0=6wPWsHEO zr}*G8&T-F1d96@K0G)bgV3A%+0Vb|e_qGVXgITo6@`(Q0zJrDDk-`tu$H=&QpW-t* I8^P!Q0b0+w?EnA( literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/items/ExpConsumeItem.class b/bin/classes/net/swordie/ms/client/character/items/ExpConsumeItem.class new file mode 100755 index 0000000000000000000000000000000000000000..fc686eb08590f9ee526f5f91a7b0d334d4857715 GIT binary patch literal 1583 zcma)*-%`_15XQe#N@{C>LbXEqTM%r6HVOzRP%jvr2~)&Tr}rV8DZw^z(iFM$f%L)| zi!)yM06vuCZW3Es%M889*=#qvzuo=L?>|3(0ocQf6k-@kAg*ED2V2 z<1=ab0?MxK*nU}Hs8FmXaSO==QYvmk71(g3uQxxr-ia;sMpL)ywsd^mIyF7h@};NS zz9jd{i;w%R(`+@QLGP53-NuQ4FgW3;iZRZnG;F6L&)GGuVj^^z7m@3Zio3`PsGe+? zgyhsHEu}a}QT(KeDdYr_HR*E=PENc=3Nx5ZU{1w676g|1d0oe$CT-Wzk6Qj4)A}H( z`APM7%S2sNxYy z0;#Z6#dT_2>!4T_NE8gi2(0)%VNjZi?a0@y#2`;`e50>uQt#ZB zXUSJK_n+xiREbrKJWW1Es*cl>)Jay1brqZ>rr;z6(V2oEx$E?NOmCkt1clC=_5(tj zZX==1v@xR1wvpDd@isEwf^VO2Ob|IrHO7!c8lxCThNL=0&o%mggYt6JI$8Y71tcP{ zn1%UrEN!aE7W2f3gTx!rFcrrSYu}OhLPiW+SP7ijpokg(SEENDY>56QTY_~B<=@uv< Wi#Ak4zN3abcCZ_i+@pVEDE|d3{P(y3 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/items/HotTimeReward.class b/bin/classes/net/swordie/ms/client/character/items/HotTimeReward.class new file mode 100755 index 0000000000000000000000000000000000000000..ed5d90577340633a259428f938876f8a47d830ed GIT binary patch literal 3664 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 RSMMf9fPjz5d*lf;{6BML7q0*S literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/items/Item$Type.class b/bin/classes/net/swordie/ms/client/character/items/Item$Type.class new file mode 100755 index 0000000000000000000000000000000000000000..3b1a9a240795d35375288e7c4cdd1c39acc93550 GIT binary patch literal 2871 zcmbVNYgZdp6x}xuhNM%9u?34Q)*5R##*A;( z?V1@_g#$Q`3mPu!xP(_(|86>az?s#O?NGP^mqLnE2KyjJ1Mb04u|{>C5%wpwWV`jN zwlA~n+fj{zoL-kHnhyIqhH(u=9TRw6AhVm=jtR5!{F2k8@=iq?x0kBDS`@gd;|)yG zci9T&r3B)+e6brz+2gmQ4l4hl1L~(6scz`faz@8>sRk{(BZtI)u_>rj)n0bZpyksp zk)xWa`m+4Vf;b;YgB(G{&2n98nu_T>wU|xc!;aZltee>gV3rae$(1`s%-@jNGb@3E z)xfN+O_}Rq!QG=ArtL${#<75jNa=DQjCLIDNDC>qnXP!iB`08dT)@eTk@!VqT?f&z4%nhv*YGUDd}a`wS0A>SmZn*%hm8D z=l(AOG$yvb)e}1v8Fr6eF;y2e2u^-h2T29t+^)4$C(9 zlw~J}e!+MN(!!BaWaHU;eC7%I!`jNbROKs3)?t7a1X=4Zy1U3i^D+N!E5{Q zSdO3$;zOo}-n7(ah&n}7$xF}aJ17l&4=wQn5^n<>W=ck$+J z#MNplkyI;9t*#}z)GED=>DxFcJJl9mM#VqRG%w&7E;6qXg0|begk{>rumW2>SK;s} c$#1am02|oEXWYps(pT|055yPv3g6)9zY2r4Gynhq literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/items/Item.class b/bin/classes/net/swordie/ms/client/character/items/Item.class new file mode 100755 index 0000000000000000000000000000000000000000..9a9b18e585069701612230f8c41888d2059c6d1c GIT binary patch literal 8072 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 CH(bmB literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/items/ItemBuffs.class b/bin/classes/net/swordie/ms/client/character/items/ItemBuffs.class new file mode 100755 index 0000000000000000000000000000000000000000..da802640b15901d3867a1fb736af14ded7d4fb8d GIT binary patch literal 6475 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 bOZesli_jly>o~U_f7;xNKjW|XJ6it>6+-oz literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/items/ItemPotSlot.class b/bin/classes/net/swordie/ms/client/character/items/ItemPotSlot.class new file mode 100755 index 0000000000000000000000000000000000000000..be2afd2ab2ac50475d90a5ea13164f54de1af32e GIT binary patch literal 692 zcmah{O-~y!5Pc2_2_ck_(l4O2y#a?>Rge9U`TxX@Db(KyjB1~j=$y^E*j1BXNk`E} zYN(66tTIXy9?($jFGU)RB_^lCDw~o!R{RcDO$x2-iE<{KBiZ(+rWAO4*V6spnSJ&r zMddUF=e*AUcJMl^7O&9djRPwjm(b^|g=GwCT#5J~@~aVt5!WJ);=P9v*YT+Ce;n~i u#HTg#n!~@v@fqKejDoSVcM0*kZrk7(%0LgB90$z>Y~eYd1hzT0@Zulc&!zhS literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/items/ItemSkill.class b/bin/classes/net/swordie/ms/client/character/items/ItemSkill.class new file mode 100755 index 0000000000000000000000000000000000000000..408f2ed4a6741ea238c9d29e0031ea191be555de GIT binary patch literal 759 zcmb7?OHbQC5Xb-P_z{AWKzNi_5xs>RSaB|JL8@daY7eO*_2`%tEEq?!4gFGFkU&Tr z_yByUivQRVt*Z1;S(?|*&irQ9ufLvO032ht1qY1)ZU_&)!qR1Y8|yUA&h@v+rAbN! z|Hx*xJW*)$_s0upVj(~)#3DikotaV>Kd1SbHTt^HNoq}2>f|EMq8we> zG*$45TB}G(bwYHdPNPU~dDf4j{jq|3Iz2NA-J#9Q*PH8!$-l>wl#$+Wn#Aci&aL>f zpj%$pLg8@upDdp_+PNu5(wU=0bc>nm_A8F29M`x_IjYUpXnK<;=8F}g&iiNwvN?R> zP!2ci@Z*LmixX0N;DA`7T&DL!)=u3WJV6b%9}x_89?`z9F7zmSa4GpPvT%MKw6Ma+ zUVRO#Sfj@RRU1`V(#T>r9Me>%xXv^n00hhJ!tzCXQ!raI#kDg!{_V_IVB+(GI0bc98k)aaf1>= zjFX$HQgU`w?T{cPk!Hu>jhf@`z2F*_7-82?(f1oJk#26~55vw#oMqqmYTfzD^Q-HR z_EmFhzuI&vD!;4TJyqfI#w8{gHgN)MtEDPmlp0mWO-Y<%+~j}ZxYG>0AaU{kfscHb zfv-ti!exQ@rR~+yR>2mycE9f-Byk0qI4(>Xht7dx)f~TSZR|W$ zZjei27H`BcCt=}D>gN%l;J52k$bnO9tBnT&igiC)^VOYpeMdF#@FlM^s9}hWe#>dI#|N?s=gDnn}myGs5Mk{RR!DJ z&TuA6O)!?|ZRiey4CK!rqvN41^8*&8p15SR&r&G zpB#WBJrY{dOQ0ofx|X!qTGAG4NgJyrt)!N;a$3?x5o3t&3t*1(;*cIA-diYAzK=+o zCdr><2h+de^=G*9BWVI9`i^NI<1O6o;TMRHBa&$`^AuN~K`=h_0{#wJWEX`Ee60O+ zISIuX*AYg95i?gOpJ0Aw>K82jq%oXxki5V!x<6(jKv=`;OHo0nyy<~v`c3u`QrD2Ki7o;Yi9Bfh;q1tuw9OH5VytMhx$2&0XveCh5yKItalmywvNRV-oM52T9_N$FFu#Hc9x&Edx^XL2DDO38r zaO4Tze~hr!u18Emt8uL^M@>_!Nv(bmGcRa$K&vZpb49DBR#%M_zR~(=t=}+XDFJO5 z)rPzoPldXMF>UzJG*XeSVNx3kW+G*D4d8? fXe#$GfIaejP5(*X!o+tpuTXDFpP@`~A>8{HvoxsL literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/items/MemorialCubeInfo.class b/bin/classes/net/swordie/ms/client/character/items/MemorialCubeInfo.class new file mode 100755 index 0000000000000000000000000000000000000000..c0d4f3a48da14bacb99c9f6c1777063fce452def GIT binary patch literal 1799 zcmb7ET~E_c7=F%H)-gLoR8*!QPPBB>;x~$-f||^Lm}t20!lZOZtd3Sk=STcO-guz~ zX5xjHUihQb=bSbSVJ46!=d^Fn`@GNdew<&wzyAPm1NREZAZx;~(1V;n{|oPp=Qg}> z*K9k1zHjk6sf63wvM*Tn=UIuD*?$^+38StFGS&WEi{tbFb<7 zv240QENPyXD^WA>8ndk>Sqq;<0zL9|D|jVvW^QK)ch&JJ6}`{GUKKhYHR{@0z&;F^ z*l*zg4hmFu0Z1OpGOpFNw)+a`kcGoILi=iBH|+a~=#qt_I3`f=l?JM+-4PJA0vU~1 zIF3;=B9>+(;M(K65>`MNCryl5IEB*!<*gc`Fk~%)D0CNE@k7slDOs3;4E?AsXWqwB zz_6c;FDeD&793Pqw&bsXZEvH}1#U`t=W)iuS-1j4YSGn7m9qBKTE;mG=W#)xH$kt3 zO<&#%RFV&FoxQVa!ZFHPXLti-xpI>EmQiD+clJ5= zJU9i&alOK?3)}_w9_Jgx7kzA!tGYdaA`JB5D&MT+5Uyd0UkczlR|W8ap$zUL3c#tX z!*r_aC^~B>R@&%qW6(Laj-d|p5Mu*_bUK7y4rL#X@EO7|N;;I2z@?!GtaT`kBU*_f zHlk*hfrT20l*m_7&hlT?X=8Z4QvC_j_y{B0#tFV3u9A&i;lFAd6BRBOxhqy#D8a)p z_1Z)10gnA3Gg-n3PDYs##x%3z3H}DND(~58os83(V+J>g;UN2mqImb_O_WVeuHgPh zMe3L`G>H;@dBLRoUG7OG)?j|-@r)*>3I*6*t8lBUb8)M4wX5@O%%qX08A@d}r_0x= zRMG?!EcQ8#FqoX$(4R{yBh=NBVr^D2^l6KVi(QG#>LygZ)FD#(r)3f%lO%HWKSWeJ LsPx^@5%2y5_#tCm literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/items/PetItem.class b/bin/classes/net/swordie/ms/client/character/items/PetItem.class new file mode 100755 index 0000000000000000000000000000000000000000..85ec4675ff25e66d346dbe00856af65357fa3d0b GIT binary patch literal 6838 zcmb7Id3;<|75;9vNz&USq-|&^g>-{#bbvxx0+l9hO4`tdCI+DjeVM!_ubs@qH*Z1% zvIvR-5w$1^C?Y8P4xK`g9RvXdQQS9FRNVI+^gHjpnM~fi>972eoHy^@bMAM}J@=gN zzUSZC^C*B5Ra-SmP#Qs*MmZ`JS`wxcO`V;zhb%KXnu^BamYHy(u@S>IVvcD?Eyv{R zZvI!OIKfI-&Ps*SrsjbNDisdfH}ziA5ewC*#*7HG#!S>G?4PuUqsEvK8!@Btp`Qtiz>MKs&15J8>BeyAr%+Ekdgm$|bs zCxQlz{V`V|x^J$CA4~ct#!N2IyQW{^h@Q8p*e+XefW~|r$dHzrrg0dSDa;_oeqv0R zsg#>JeWH7~#u1`B!(VMAX*=TCa*d;Kv_cKFHko5_)0tB25XEC;(PL$u4lfqRYqaA8 zZ=KbKW3D!hA%#Z9Bj9e@vEtD#D{l5%qoy01l^XBBNeY!7h%WBt!h&s>uI8=Tq0uS6 z)eQOjSFP?DkHnW^7j227r9_rAhS`H z_aD&spct8H>02tJ}PKajI==0cQO(O%Qt{f}yV zEW24!iMofXu@hHD@Cl7i;wptD0Rsi~ypxrk`@+rc<}sNwt!yyGOx9nXjZfq12(Hn% zRua}qmPve8n#pyv+SKhH{++m9=D+E#^v&yYBb^;8k%S{cUUQB znKZWhH6Fk&x@OvTk|CaxUpO}oZeuBT*Pg^~jRz$N6~xUo#g#o8593QL=zQfB^l9pT z-Sz6pqq5bHxfNuc=suzGB%Y!x5(ep;Y!r6i2B|>nL}L=qXnZ-lpnJY2@tnq2q)KTj z<<7UveL>?zeAPqZb^Rj?N@77$Sxm*0bI~vH z&sF11ycNO!w1OOk#(*dJwa2fq72E)xdV*9XT9v9Yx;0{?7&d>x(t=zmu+rXqhUix? zek#Jlw$C|{O)qk~P3eTgCO%-LtiiasDv?OC)v<7pU@UMO(he3)JH?~P-f2erZ6lEq zUfa$J8#3OROpKehj8?_GMQfF+F;EGTTNVjIVNJn?7o2G6IHc@*$u8n3jg2tmhXiMZ8{_mbS$siodVaFGyE&3f znF-cd9y79`*!EM5F+buFT9806gN>mf`to)%ctBy%-qv<)5kL+3L~`7mvR>VnOxrP2 zSSV{R-wT9g(q9!02+7Pf%yVagmga>Fx}I=MNRUN4Odzl4Owaya+Zr|OiS_2hx}=rp zOvclr32Ie{if{nk&9t`No0UluWs*)<$U0QQ8)FUXCPP9I%lg|zR{kRs#E*%ms0g= z7XORIWgHQUW%ps$J(Qjuy3OaNJl(RauH52$-Pcj-hAiFEx*PLaTQXQsH#38Ut#!2- z94fzC%eG_?m8T;!SRwMb3{DieDudM`*ZSk@GuR-%PxasT`}0rp-=E>j_sDoDm8P8T zKpnxhF-(V{mJZE9l$XWBaVW1PQ5=b5u$;G^qp%i7Vgz7a?}r3dCLRX5{%c%ym*!8;zgR{E3f1Nl42Dtt-G*g$^p3^ z108grGY?2b4oHQYe6mj@1tCC&?x1@9#&v}PA$ceOGJh9_fM#jFS;Q> zMuI>#gaRR92?H_`1hR=h`icON<0n9PcMbs(4+0qo1ww`t1|%K?at48HE&@c(zX0L& zI0Q&C2;|IAAmn3VK$1Zqg9H*Q0z?Xs0O8d;1c)63vNaS4$zK={I|yVOfov}VL@J;F z;YW%PAmhPPlL!Su23Y`vr)E3|#3qnb5g={}CJ=sZ2mx|VFe2ljKuB2&fbi6u69jS& zft*_eh?IPZ2)|>5068xR-)`LLopd2?Dt) z6bSDcVL&bk0=b4jt}OyY+P(ncN2m}Wmj;1c7Yc+o+%O=Q27%l_AU75PBD{k@RD;^z zxAg}3gz$>NhcS6Nd-N5p8GJm0PwmEMPHE%w=Q6lK$HLn0r^;Bk@c=}(JfPk&bA^KDWaN|i8~7340!P2@5+lX2Wa9&{_3a2p%X z?Hs$4#pN!R+`F+J_wZQVi_N$XTX4VYQ;UZ-*FOi&( zSY@eAm(S*ET8LpS{rc~P^dXozFK}O8%(GdOi*gMdwa~S>C}(rCZ?mDLHKWwksLR>D z$hYn7b`9qNFVV-BN#9<{v)_=j-{9GIcdQh`%;Y}q@71aPUe#x@pMNzXWjCX&R1S`} zNCm+GujU!A&l#`JGhU98x|3AhD*2k@o1db68C5>DHJ-&f*P=(Uv$U^NE#_J!YKeP` hm`emp$-56Bg29wJR5f`I&8mg7s`+C!=eC|S@BcsPb(a7D literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/items/RequiredJob.class b/bin/classes/net/swordie/ms/client/character/items/RequiredJob.class new file mode 100755 index 0000000000000000000000000000000000000000..6681cf1ed0127f78abba1d627eeeb400fa784753 GIT binary patch literal 1620 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 M0r}R%f0HWy2Ms}{Gynhq literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/keys/FuncKeyMap.class b/bin/classes/net/swordie/ms/client/character/keys/FuncKeyMap.class new file mode 100755 index 0000000000000000000000000000000000000000..e2fa9cb067eb6b3a4bda0dde4c06819504c803aa GIT binary patch literal 5266 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 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/keys/Keymapping.class b/bin/classes/net/swordie/ms/client/character/keys/Keymapping.class new file mode 100755 index 0000000000000000000000000000000000000000..712982537423b04de97e88802a3ab488349a42eb GIT binary patch literal 1515 zcmb7@T~8B16o$`iw;zgEDzCEy_}k(d4Of=GeX? z+xENTQ|>B8x#vO(wZ|w^*=UVXfyVMwv}l|xMz-Y2jy?sUC%D~-Y}XfDD%(AALdR7+ zv_JBGWWVM8j??W5*=A&_ewQ<1H67`iMJ1X<s^Pb$&jEfI-hpTCqcP>vFTj2O)}H2t~VV1i5F=9`m2M(X1#gDXg($We&F{y5`Lz1I(TtLc)&OJ0}rCq5RxDE zI>$V0I(P=7awBjZzvYBN>%pd}P6Xby)%edeR{T$+Gw%=!GtSE%Z}L!+LM(f~4o?0A*Bt zkj|wfFMdC4dGrrjC!*VE1p^&xVnlloqZ?3DP&YBpLCnjo23~3|vXEnW#*wSX+q$-J!cs`tUuBD_9@FJA=8T z4_6m1C|_N?pow9aGPsGRG0xB!0Iz{whg?aH4MHM7%&0j^F{ObE)@Xfj&5-dc} za+H9q0c8CO5M4K2rOi~3sZo$>Du|s9GBui!O@P=}fFupb=us-j^eD)7D#%tk$n+@4 f4nTIV07+WipzXLB9>@Pg2?cxt{S=u(Sz$Ito9;*aam%tnCC*JMq4k`RAy3nor$@#Idd$%PqnyRsp~>TGD&nssEk~q3Ejw8 zeYcp$I(w9H%8}j3DVa`WW`bS^D}HKn!YKN8=OGWItty)L`y2I~wLG+OR*V<^UaDv9 zhl2^B>3$^P_)jiE>%lEDrEg3a>+qK?oQ7rN2zCC0a7v)?3ye)xf|;1BCvTwFBHdyP rX`q2E#`fv~bB7gS8(qd=KI0pTZWud-@nDr)8-uln9Y$V%Vch!$)0Tzw literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/monsterbattle/MonsterBattleMobInfo.class b/bin/classes/net/swordie/ms/client/character/monsterbattle/MonsterBattleMobInfo.class new file mode 100755 index 0000000000000000000000000000000000000000..96a77ff12539c9e59bf66f831aa2c9eaac68e467 GIT binary patch literal 548 zcmbtRO-}+b5Pbs+2%_LeOgwrp0T1@%3H5-+#011d!@XOo6qh#HE&97WnRxIA_@j)| zT|D8z#3p?&uhTb^nfd&B{{V1?-3Cf1*AO*PL6y*+$!94NX&=QXo@wO?)l*}QKPQws z-Ej?Tguc~YWG^nA7%k?RP>Ipj3pJIgR9>fI?rg>!OYajchK1_qYUtu?```%Cg_~$X zYhbLtSy8O^_ah01e{vBTcW#j?ePu#l`@hZMILsRdsPP)YDS^Tw80)MAGci|=-axN; txWO300oNIu#RujMR)kHo7=!tQZ%DdgtmnqPBDgdLYa3gPynx)e^9>FuhYJ7z literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/monsterbattle/MonsterBattleRankInfo.class b/bin/classes/net/swordie/ms/client/character/monsterbattle/MonsterBattleRankInfo.class new file mode 100755 index 0000000000000000000000000000000000000000..e7a5cd46d0e82ea3f3d885f260bce89c9887b540 GIT binary patch literal 551 zcmb_ZyG{c!5S-1Egh0YW6m%3w2?egG5-5m3LJ9-{O7C+FadNSxJ0E-(6%qv>z(*n0 zmr#X*0!yCJcs;w?-OsQ04*;jwt)qZq6{QBss1RCH`7A{&?UNWrQ>{Fq(lgfhGeWW5 z8C9`H=v(bY`r?wY(PEwo6&r26P!pL*<#i(F&Zf+f^gh<&dZEs9btmoY%04R@6Z?bu$lLr~a{IWf8O2#9Zn4p)BB|kAK;bQO)wY%Juwkj{*Zm(o?)^g*E`tfGTeyoB}B9g0aR*FcWk6=neFm uhwF?X9B`envG~Be!HTenCSx$4@C`{$WBd;Jg?tBA;xrkT* literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/potential/CharacterPotential.class b/bin/classes/net/swordie/ms/client/character/potential/CharacterPotential.class new file mode 100755 index 0000000000000000000000000000000000000000..a9464c8bf666fd9e1403968df94ff68dff63597a GIT binary patch literal 3070 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 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/quest/Quest.class b/bin/classes/net/swordie/ms/client/character/quest/Quest.class new file mode 100755 index 0000000000000000000000000000000000000000..0c15a4433ab4c5049ee533502cdb167e117de3a4 GIT binary patch literal 13652 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 Op6=1QOE&jo%)9^@-MhyC literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/quest/progress/QuestProgressMobRequirement.class b/bin/classes/net/swordie/ms/client/character/quest/progress/QuestProgressMobRequirement.class new file mode 100755 index 0000000000000000000000000000000000000000..2920ae9f17c48211581235992022299a1523e3d6 GIT binary patch literal 2800 zcmbtVU3U{z6y1}gO$bwy7U&liOBGB~?8t`-mR2Aw80ZI3j22OuPA=_eG81MdeE3^@ z@yQn-a4je-qtZ8 zBQhL8ft3aM_>PWA9Op+r{-_~Us1&P`dsoMMlFKu<5Avjr_a&KQvQv>17Il<%m{z@- z^5o+w9Uts4#UBlPn8s-xXXN|n_vRzhuw7%p49wM5&};>3fv3y{#Xa`yKvkR|i*xuW zjgNJFBKRYnB^9TmBF(~DSa1QKrZKDIBIejhSWq{eO@r9Bv#BBd$gH>2>H`f&*!R-j z0kdg*reWbt%up5JE*p&9<~rLARkeM4qpmJHjvJVP?K-}O@sRq7(Nvyq`+;&SWt81| ztKrOYNgT7G=+_qQDn3e;-5TF>OSYp{T8$0m-7yKMVQ9&<%zD-IY9#aAlM%^HKm$mxA|1VjY9F2Rj+wY$oxNSHYlVo^r41{LgbSkW}PioDZA#jSG1R- ziI`n{VyR}h_GzqZIJ9Hs%4$19-nwhnG?csfI-EYcuS=<*g=814DcYcJ|0q@wp|=Lk?mEtAvs!`;f?85-Z%q ztr*>l(Mx|Kv;LBo$TTUAZsVB5k!?&#JhY7y5)0dyo_CxL|V41GeCcA5oCa-?-H zyz>os;{))*1I$1&12g>qd?U=m9)Iba{5a8+H&^n&~~&8t^J{lv^5BWhoOuj>r0+~k<51F{!oR| zBMX7Tit?3S70A{by%LHj87P~mz!d2I7cZNEFP|Q9mG^i_Ky=DDjVS|XOq|8Ez`{v> z+LV_-@uAc)H4gS}nSyzqKFPmI|zOTie@1Js9d;9ZK6H&f`#N+3|H5Z=r6WVWP?W z^J$ZgpRzE>(2Wg>c$?)U2Xi|^Un@`cRHPpCo;)|m1yIMBL}h42G#|t&)cT6 zJ^n&|`+@BWw2%5rbye%7EZKq@hC6mwlG=UsJu6O0WL*|}?nvlq6!o<2y2&{!?*_xr zk+&5$&y^#$$no>N%%M+i*9~fJ{giw!PUz)z6*-~ulyB=G?AiSx2bq7wFStyHGeZ}k zpeNl(G`>T#3XRM3vm(5U61~usNYD4^({&mJjrryw#BcPH!8LmF?FpPi4l}d`F^M+e zecYfK18NE2HtpoSWd=0o|A6s=avE9sGE0;>a$Ac@Go#%Ji9Ly`SDn7(V^!;Pnkw@n28YkJp3OzaL`$^2T zzfk=85HsB+c5;C8JkB5B;?l3QYgCD8iUqhzbzQ(2y4_~6m~vT5Toy4+e>yjaFZg~< z{8;gvi~Bnaj(mh1Mc$lPSh|N3BXfbz2$Q3+O}`DW>I_~ZF<2>+D@kfC9wJq{QKC0fTyxAd zaR;9t<95c$w-auq$;!-sL)shlw-8&31x=w{h%&|>4v85NZ~2d-r)ha zl?cqemI#&E4E#nQ!q9xB&6jO!Q|z^5AY5cHN&!OzjF_cMoXgR98eo)=b-30tG{k83 zSS`or$Oz39uC_!Vxg$UFZAUN~*=%`Ax}qjS3CFVM`HCy)dm*FYir(M{vx!U@D&g6} zwCanDrn-Ds6`lyV67?E)S^_~mq0)9^|I~O?s_r+Vcx$D+UbU*P8I5+qFZoW(^?+-5 z+y(KTs0ZsU7oL(|hv$4ndIFAZ5me*N4OM)bJ2j3CV{dJzp>`xTXH|~1=zrw^rK}7~ zzT0$!0*ylcOym+IUo5kzXs+u*13#&63|l17G9|XM+CY^k`*J zbt9f26t=Wf9fy&(bnWbx-wJH;ThiNn8FSkuDH0ffBT*|3&rxu6av=L$m%J4j+JSVX$CV#+<}7yz zpa~e0IA{rCG>B(HpEs;8;8xJ~MZ7P;9u{<&uE2rg-u~Q&_Xz%@A&pT63tSv{UPZ=Z z1TwsH#c#xlgUMe9l=%WXLF0JptAdr_ww=60N&JY?#fbyzKTcyBv}YoO;fPkcjez*L6(BT6`G`<~ ziXB3@j^NXTGM}*cn^2)Ep__E8LrC{o6B_H%mw6CcIDt^y`~=NM6&E6vrqM?e_HCd; Sr8{(&?qLa4?$d*K@$e7*m}fZv literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/quest/progress/QuestProgressRequirementType$1.class b/bin/classes/net/swordie/ms/client/character/quest/progress/QuestProgressRequirementType$1.class new file mode 100755 index 0000000000000000000000000000000000000000..4afd1b54a5db72212d24061fd7e439ac4b82afc3 GIT binary patch literal 1021 zcmb_b%Wl&^6g|^8aS~h_N@+uRw1oi@UKU8O;UPhBMASGbBnm=ZO`K8U;@IifX~plb zVGT$KA=D4xqY!sYAY#*1B+GZs)tP(GoVoM!*Y{%pPjIJ*1!PPZ7P81O?1VD0_Q6EPi9J@)K*>0^Uun2IMX%+-#8+}eJ38;jk|B2}0wOT% zR;qiAIhKA@Kpq7XMGL23F}QQA&F?XEdHcvuyrC<`oJ#YlBYYI|KaTK!j_}kG{?`$H zvLg$7^#VD5+QJe_3`V`9EH@%g1YMzgji<@Qb|SoY-Ncu?9SNcq!w4MHtlGb+PNyq)Q)4!?H?_Mpi#EfSeq?y&-v-jL{&i&4J&ffj^ zf8YBjfG6-L4IKi{I;Nj%Tz9>yW#(#)T*bCb$In%k4bQ0frkA_cG#h@d?zu~z*=Xc0 zN^vHTE}7SwmS@(uVs^D|c0nMjBZfG~{On{=pjc?5{ZZ+lQ%9F{5Gzd1O%~*nJvwyx zBvPCnmvWDeUZqi-o|-JnC->>-!(IU`HFvJ?++;~$YQC+3C9og;8useA9}h6LitRe4 zz`k^*aK%_La<<_t<)#;|m=%9CfdPC(!$BQ`7-F-!??ixTj6Xo z&ZrhGo4rNg@qm^pf*mY|9d5Isd_ARO66XcF7A>cG-tuIW{Tn5xOitHjh=$Fgcp7;P z&**p-1%bY;&^A;UmFrE~4VLZ0;bPeiRk)D5FokIiGdeEf5?kGF_!y#&?4+ra0&}U- zb<3|T7ma#~rc*(aPSqNzR+CO`HtCdV(y5Imow`?(7U-DIOM1@gcn)*yH?sE=BX)pv zhBL?TyzCxjCC^EDUdIdg6p3KFMpa-UfX8xkPZ_?Ecj`?)piSn3WiD5kUPCIDOwTfG z>lI_cHb*tQBygckh$WDLA!A-(jA^zt`CvYQVLUJYcy}Cz{NtT~rQ-^>lq2KNoC! zyc01w=SV9qsT*bh_a+-{o`yTo)d{^5y;9lN(UkSAr8WvYI^kBypWcGym{ZN#g6Yl5 z-3k~x*t-j>-Mo57$?1YyG3+^mDAQ-)IO-TR`tJ+Xey|-`*UJ`LgvhgkO4gEN_)U+x zI℞b7^*bmDK-0=$pmRrp!sMGju`7!yyK41iDMUQMt+r2)45oo66jbY)S16rTTx6 z`@<%TJC0N(^aomL*`bgG5|b}iOx3;`8eSFHt6COS^V6F%0{d;Fwoo-vn>iycsS^Sh z)8lOgCUcp5xmNesVLQ)o->p-{OCegxv&WgX`aDaV5+%3kRm}62tfE8r>T4qsA07s$ z__8XRvi1mYa@=)&zBr6}(e#(yYNI!fA0_Z({6xcBI(~|u2^?0ys>W_PEACY@S5TO8 zg|WypuPUvb_6BxR;D%*T36=Ns4j{%-);$sKo7Ye|U9};Th=Ytyg*+7jBc^(Fm1M;JR za)Nq1$Z`D&rNbQMFR_l~4eYyv{qIl`xX%B$nv?p2csbC2l=kF`M4!ms!ht&wQom!H z{wkm7!P-~w88y%M5VfSoJR*p4?9L7!yom?1gRlP`NB*jmq|+WwgMr4ek4E-G8tdm$ zF2HBihUDE*e2#jb=hF@>&=p^SL4Y}qGQe2&Z#eQ7rLeV^2b8&1Y_Y&x7ruZm28-n= z7oX1l3&-9<*E%9=7^aX>g0_Ys3d2fBtl>Ti$Cc2%hNwa!qLAokPJn|9bdXsZ;-TX~ zoT9vi%xQcHU#8AicqI_))^&YMqwg+!6<-UYnc?PSG()$LyM>Ppyobkuf8dD@{!K8@ z8@R9y{}yyd2wRGNkA%DpwKza)FW~Dz9^NN_64vE)6tg!_8u>E?{$AuIy~-Rt#4E?^ zNnTU8ajbk3pB%n{%XjeNJGYT3M{eTNlq)THnA25?W=lLSrxz(NNjZehfJ$Q;X=HiQ ze*_mWf;pVPB3ZeW?&ZyNFXJ2dCS#IVX^5qJdV6~DEecUS{B|-StC@F_Tt#k4ZmNfF zmj~X47G+{0k_N5Bv?!elx#oxt9FgqA@9+ow5eNPU#eu}4 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/quest/progress/QuestValueRequirement.class b/bin/classes/net/swordie/ms/client/character/quest/progress/QuestValueRequirement.class new file mode 100755 index 0000000000000000000000000000000000000000..e6df26cb2498313a49673ad0fc7df9613938d454 GIT binary patch literal 212 zcmZvWy$ZrW5QJx=Ceg~m$|umqeE_i&D?v11f1XRckRNk*(RZ`(0emPi!NSI7n1OG0 z=kb- literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/quest/requirement/QuestStartCompletionRequirement.class b/bin/classes/net/swordie/ms/client/character/quest/requirement/QuestStartCompletionRequirement.class new file mode 100755 index 0000000000000000000000000000000000000000..b791831adcaf4ec1e87c9b73d06996d850ffaec3 GIT binary patch literal 2711 zcmb7G?NSq07=BI?*sv}jsGx`yTd)Zt+ghr%QKW#{v_Yy-TC^W7$uTS@yRg}adM~|# z`lGfrI_&HAqEm2GL(>Sn2GOUE}$ zo0eyleCe4x4O#b1Pwq5qPu3LgrlJ&m%k!7q+ICg?w(H#L@CCF$C%-Hp^2*(Sfk7M; zI1tdO={M@+E$SG?Aq|HO9Knddc@l-VxAS0xB&s^ExJQO2fMb-ovE8x&I%4z|f{u4^oK= zDa!(>Og?*8RqeEa_mQEqs#_5_R&c$FX>D7jO=*%cw`CUG3e(S}F)c8B$9d?uyUs*C zsP4p6c~-{^&T5!7VB!O2*ull(6JN4RkF07#u09Yrlv&Ic_Oe-=bNEQZoPm#Veh;dO zzGpj(sP}>E)hxp6VkV{>a&z}$q!5O=xQj?i$0xX`;Zp-SToM?4Ly7`D((_z)`bgYW z%kG+vd0f%3VBj+>3LFhmv0Zc7@~zc|zuh2OJ!#bh(z~AR%e=#=Rhi8Ua4PO}eQuTi{ZZz-2Y-%)Jrb(r>V&I0drPm{j=9iV7uMFH&C`&8RmWQH& z+qlEVv}9Y*OR*h{>}!0ZVco!8+!Hw7tu*Zc=qEUDxvn1~g3=s_ZVC!68om>_{&r~X zKJ|NMJ+-vg|Ucv2et?2@!x-AD85|x|!=5b~xfK_~uvJ9L_-1wRq($?e!N! zH;48$q$myP)zxejC3{=7pQ`?{{K>Lv?Xf*k#ZA%OPQAq1rY~{HgbPV8x(%-+uh|MQ zlfhNUn!I7L%&Hu4ier|5z_&`ndq$xIIx&uSjgfn+i*o<#$`f6cc}qpg^K_M< z!`>jdPG0J>0+?herUDBip;SAc-Y6fTZn18*Vl@hFWoRq=23x8ks!L_a$kvZ+P?8ZW zoM~ccWx9#cpZErh^RKF?eurjAKiZ%=y6<75eGnX4-_!+_$LPhr~Y^*D#SL>mjNnD~zo0 zRK*%P6NYnHouf@Gb*ecKS@=6g`i{gJFoVlg187oXt%DJD%RwQm&W?gU|AwiMEp>i#@(n75F(QGl)RIMl}Jz3fJx~jHM;X;qESc%Ed}LDj59VCBtY({?}a8XKjtZ1 zw6TP<3fZ1EE=@BPx4JKiw``mjMS+Ulgu{xB3n_ zY+T0;g|*W%YcNLz`_Su29*u54WUaCl*R4Ly<89ouaLYzTSgpi04Z6;K&v-k1^PYr(JTUueE z8HDv=Uzng9_AK02IQtsV-5F~*+3l{!0dGvlOUyvMI?G)=bkvg}+tX}RJNQYO#fqj| z(x(ektddX+chn15kNjS@ANl%WAU$6_@kQMf%DBdfO+mronUZb5eUg%wmiIj6Tqiu= z<&(o(@y^y>LH!z=y~k73KoRfrw1)=x03Y&+WKrfh?fe_8pQ%h?;=FXMGk3(uc`N3| zP_>J{!bETyH}`gZ>$f%IHl2jZsQkf shm*5Je=tUl*d>nJ3QH>yhgB+%BbM<9UolFK-yD~Asj1js$9Rwb1-c`6hX4Qo literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/quest/requirement/QuestStartJobRequirement.class b/bin/classes/net/swordie/ms/client/character/quest/requirement/QuestStartJobRequirement.class new file mode 100755 index 0000000000000000000000000000000000000000..425cacec321cdd187d0aec48b531bddf7be67e31 GIT binary patch literal 2215 zcmbtVOLN;)6#lO5REeTIoOjY1LP=dakE(<=6r2WVnx+m;LhItv@KkIOD|MtqlG{$# z`~?=Qm|@cm3z&hF&>4m`|ARIA4%6~oSxICFgc%lk-E+=&zw@1Qu6}*?)6W1dV_QWG zaRmttEjS_2y=mMt^qOIB=&S3SX4w}wF>BeDKPM2+WJ?NK1(JbN-M4D`b;GL`O<#qA zcpKWGDd^D9i7tU9+w^tszT;LbQ{VFRa?LVrUoTe;*C_j@tMAlJ&(~dZr*66CmbBfF zD@EUM{UvAp=AnTkHiHF$uEOEw+&HIl)1-zT^a`|Xm|-9}X0m_t?8ktDK@CF~CeUG~ z#j4{nQRSXdtDCEz3G`)(VRWEGV9&MVBu*(vX?OuI3UoB_pgKmSBG8{{>>5!pmt9lw z5>6|4S;H942#g)4%se$>&W&^e;fr$jvl=pT>(;Vk`-WwEa&cV41SSO%p7qcSeDf;K zL052I!z-8;7z&tLj(*kfjn%rpU8lybX>19o_g%|3!~7GOe6}PZFKD=k8SX=yYxoYi z3^d7^57(*5CA_ZS4GlTW3iKRmvhPA!tA@8?KA^yCpfwpWr{PV!Map)t+_#S%6-`Ay zu4tH-da0f)P)SxtmOHNE8Wt5?*N~Uy!DxPYJCa@-v#bQ!$+&kk6tK)TVWk@VMGCAm zn|f7X@wlS=Te~*(YFp9TunoWNvK*(In{YPL9gVJ<%aO#qQ=xBH!LrSj`qsMX-ZIu} zT;yP{~_EwU*s^hUxZ++Iax!GY9^%fSd zykskjIo!lH3dwDEyiIDQ7M;3VHm_N-F;f3@Ql68{dD^t|SQl8~6_ckipYQU#kKqPR z@SR6J?>D(}1#!Ls-Q$lT#-BjB^B8SEK>aT8F7n<<5Ab|VpqDs(xWzB65rg+o;urgr zwpf6t^Go8jjDHXHTfW2~LF9J8U?jLD3~tc6O*?0kcS&lIQ87Nd#&^+u@<;UTVI+pz zhn(b33p}VgaVmfuXt;-v48;4mLok6gd=P>zgrG?YIFX-RJ+jA2sIz4*+ zn@lGjs58KV0B6vFG^TJC(>&%cA{+1+rOy=YpE4m?h?xUMGcd4DMrE$D+<#zD!KJ52 zp~8g(4JNM*R70{~@hP`SKS4W-e07-`EX>7c68(wP*GNvv&s{8io)C|o|2`>8*C02- z;(-)e`BUkDjscwK4^ZcyY&sx#fvDZ=3k#cp80iCoY1~DP99rqW#ZHMaewaTinTRCa Vf!H&2D`*$uDH|wC+om}N=TDj%0h0g# literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/quest/requirement/QuestStartMarriageRequirement.class b/bin/classes/net/swordie/ms/client/character/quest/requirement/QuestStartMarriageRequirement.class new file mode 100755 index 0000000000000000000000000000000000000000..961b4d341625913bd9ad4360992f9c2ac2e858be GIT binary patch literal 1073 zcmbu8&2AGh6ot>tPm>NQfkF!@|D~V=B)npQQrHB6kOEOj6^ZVg8LM$MnV}vJm3Sr= zu%Qx2JOB@cxHeIlMnI9e@wGkoeE0g;^Zmz{ZvYg=U7MytqEc4|0F7@VZt&sAoHQTw?zYU;RKZf9tvu^uOP)$8A111!0doF_a#4Y@!h zRC;No2+h7u)T?|tR%Tm{W8PWrr=g5T(rCAyZC30=XN0Z(Y3l#sWL@rHBC|qgT&2@K zv5Ygn+u32y!wKKQ-TxC1ss~0}KIFA_-#-VPil@@bL2lpXY`;-*+U<-O8>QUH+TWAd zz&MqB>AmBm7fAs$-<4A+lev;Z#s0?nz4Mq&C`ZoT*0Fj;6d@Rri zI~s2BqbY&kJ^u|Aj{FnwxXdfTkvLZG9fCgbq=XARy3arZ7yalHu!2=y5ia2}k52rE zV~Jz+{%6!a@T4eidhzP7gqfIA(ZU+b2v=}*hI#0fjGnK*Qb5oVf^Q7hJ>mv#&Jdei f#&uHvilsM)Xnve)rd1%-k4SYkX5Eu+`}~cc8Db1a literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/quest/requirement/QuestStartMaxLevelRequirement.class b/bin/classes/net/swordie/ms/client/character/quest/requirement/QuestStartMaxLevelRequirement.class new file mode 100755 index 0000000000000000000000000000000000000000..2acb7c0dadcb81d842e905fcbfde731c4d814d7b GIT binary patch literal 1492 zcmbu9ZBNrs6vzK}>*zWQW1u{Whyt!dsn1VSgF!JQ!-+FX^xdVqVa2Y6t^?xN@r7@E zp^1(}6F-0-%6M*9Mt=avLs$Vr&jZ`FgGUU>yiwJVhNdE;;}mp;vMU0!x#RgYTbPZeX*srV1JkN=pId?O z&8?Pb2Bt5zTDC75a&1-4R08e?D}1*kwuSR@f0ZHS$SDR^$)FEe75zGL7+{z_Db*q+ zWk|1!Af$$R36e%OgEJUXF|1<*qYNWqjkae#;Q=qVg3T7`@da-%WOjTz5S6;;Q{hT} z*{EhPj}PDw_^sH(Wg@a!c0$F=G}iJJ5}!6avV)6LEUaLtd{;K{}EOdNkN@AW6CItkv}nww5e#k zA$zPk`8E4*0Svu#W~{d>d^4&m6`Am$gb;%m8;u^uO6Gox8 sY||~=j=&3~P0H54BmJ7BkL_Xd6OH4g8!@il=n%qSPlbJG^i24is z8$S8sgRTX^rEB>E{829VnGWqVDRH^FIyZCgIeYJO&Yt`CKY#oM;1hh6MG9#XhJ_J~ zDx7-keCyaP$9rUN?LO9xP+|1C>$%|#g><1Co;x^@FCX?RLj* zv|R0lc4N;8oJObv`$<=KLOak;x^AG`a<(lywa^K|4cFruJ~%p57-Q(ow%_$gtZKqG zVPO)d6pRjI73Qmbl-lc(Sb)k|hEG|@;k1JJNDB)y77E3oIny{}Vn)(t70&me4-~Y< z(i9d8Lm-P45i)P#EEW_j3So&ai((UNSuEk4iDe6K;7x_uKF*_x*nDQ!omSNRds$q- zMH6pXD4?h?6V1x??b}Z1Y<0u^E-MbS(^kkl4ct&yq>DzOQmjkniiNi&EgPNH_WU5s z;u35Vmn~euy9#HLfE6!+XA-s0BM!u|dV{}=zD<;!$P=a@r`0!yW=J*Sh9OX}i4dj`10o#o=!v`b@; zHof?tVxt6waegX|Z#JC$xY&`%Bl7K3lb%SLtSlnaO`pQ%UL8cc-TAJe_e0nBIwrOi zaxVcZTZbofY0Gz-3Twyt5*{oMSW7Z=&=L37G)L8Pe~@vpq3NbfYWA3_Bosx}{BF?D zcU>9x@~|uElE}p}Kj;(`FU%DGcpvfdOvx31IU5n0BXGIR zff<6&MWEI}Pz;*FZQO|gZZJ|}M@#e6*pIM4s>KLl`XK61)@W3<;x2Eu7|Z5*Am$m& zUkIAQsz67Z%O?uq9eqOb_^*A*7fwi4xQq2Td52U|MSi8!!|Ofdxy=0p)A$)iT9l*{ zN=k`>@`nZG@fj+FyT|Aeq;jiL%jc*PSLV4*h?wCS#(P-&v4``*HrGSxsBII`^lZ-Q zGAq0C3Z@Ng5`2rW2G{%ie}Gy{w9Y*t%KeGV!<8Q1`5jleeDDGv_jl!50zP+GNDe#r Mq7S}Kz!bjx7shnMZ2$lO literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/quest/requirement/QuestStartRequirement.class b/bin/classes/net/swordie/ms/client/character/quest/requirement/QuestStartRequirement.class new file mode 100755 index 0000000000000000000000000000000000000000..73d3ec50122f0701d247e76bc6a9cb9938987e80 GIT binary patch literal 289 zcmZvYF-`+P3`PGWkPV?AH3vYX!3RK8pwJ+pWV>|UiN(%pva5JzgT&D&H~@!2nW++m z6t=8y`Tr;X{(b)dc*1pofx&Alk-}%EYbUe`WWAF%lC4?UMp4@K5+bQ=d#AF=yG2&Y z$QqXiwZMhJwBa3-=k|l%t43@rFfzD1iSQk-MFYKXEJYoA_r;YLgPWSek!3KL-M^h2 t|Kod3q>rh>(;L*`3F2E$aB=?x}P7Z~RWSE&y$*#obzSwjE- literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/quest/requirement/QuestStartRequirementType$1.class b/bin/classes/net/swordie/ms/client/character/quest/requirement/QuestStartRequirementType$1.class new file mode 100755 index 0000000000000000000000000000000000000000..fa75db2cdc5325315defa1ba614d0ce5c29a2142 GIT binary patch literal 1121 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 PyNWOH^dNRClgH+ z5>5O7ekkL)U8!YC&@6p9z4!dibDw+9e*FCU9l$b{bYzfKp%~~wj-hv-A9AbCy_&VX zyD#jJA-CjuZn(mbEt*vgd1xwh16N=$lsyqz%_Bc>TwxtFExYatFSP7E9&kGpf%UE> znxPelBOW-`D;caGH(o~}0mX5Hfov=!hE1Zk$wrjPvS#eMUULt{nG~~lDONgOHmkH<_8wV3^KS_Z zU6I!eW5r6^-1LUDv5rs68@YHAgT8)ji$>`BUQ@**hQb+eb2}MfQ0hK+7}n0$OKoP^ z?9?tZM9`EcWk-v zk=;c7sM0$fA-dnDXaiaL0ea~atTgcj>L-dan4x=jG|~r!Iz&SOcj(&yjnQlrVbW8+ zNh&p%Z0(r25XC^3Wd6pk!l?j8M*KN=z;hlS{-< zo5x}-sv6ZPeTMph3bxlKwF2XR6*7yvaq@E#B1LPnr4w8|L0{);rpVywlol<~qG1m6 zgki97k08?QPTXK8u1GlZ0^EH(AlL$76nZ|S>oK0h;8pr2bsFE0e>;1E8>g83NO5|t Tb1ANo$TYBsrybm9QD*rU?T#&F literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/quest/reward/QuestItemReward.class b/bin/classes/net/swordie/ms/client/character/quest/reward/QuestItemReward.class new file mode 100755 index 0000000000000000000000000000000000000000..933c2b3365fce5506fe556ae57276c85f3945c5d GIT binary patch literal 3208 zcmb7`S##4?6vzK^7CGj!hrO(2u@eUo3KWu%(uU1#LI@6FYYU1k5`kkmvYY@drTbpG zOdtE+mp-&JU^?wgKR`cIr_=wD<=C;637t%Iq824+^lUG zGesklv#q>mWTs8m%y^b-%$BU8XSmk9>1K^F`AB)z%q9O@L&VN%&{AS_mBMPQ(GZ<2 znR(Cl?sFm?Y3q&{NqM66n&=t&l{IhP}&eGQ=##0@$MvK0e_~T9iR~%?T`0{=TJE?xne*$-$(Xqb)3xP07;N>X?V^UkW$U_mLpdFlP5W6x zQ}&!yMM%V#H7AF#KQY0+m6_&g-2Z$Fm=u;T>o~crzUT!#O2bMfA#-=cECgP+`4z8W zdr+bwXQcv{br_tjl{yYnqT^@oWvqf{vzzGnQp5UcEv7~nW{54lSHsZa{pw1!zp3k1 zyEPAS+G5Uf_5;ZqW8IRKlx&&7+MK>vl45!4oM30=&i94sEBc7$u%yS6=rUfWu(aPVeo!w%oV#)?+3 zy`YJ|Le1MN1Y~6+$nH=O_KGl&m5m_#2(o_(5DB<|Jj8o}t;cBLAJEfP#@gSpVI;|y zZDs5f@e|f}C(GC;?_L@4pAnVsgR*6dAGxjc4(MWbyJ*;$)FnE7LkAOi$Bxdez*w1Ds$3IRFRnE6woAZ+GgASW6@P7~zJ z5+HJ<1cWzV2*`;>kn^D+yg|Z11{y(z2{N(-h@5Ew;dL7VGSCQeF%;xue8L3EiGD~a z$FH|r3b>3{M6!NQi#%7x8zM)8@k@ccOj%>z0i6aevnD54!&k5wSNZ$z8sfZ?58+0g zAH558+>1}~8TmiwN-5ee`2Q8Y4xoOdltb0`C!*J$;p#}TyNqjPye-l!BP(*Mj61>j zOdtz^EGBCex`$lAO+Igt&LrI==`y6tlFs69xZ6Hq<)rm35cc64JSJ5Xhw&{NVPp~O KceEM7_x}Mkr-^I; literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/quest/reward/QuestMoneyReward.class b/bin/classes/net/swordie/ms/client/character/quest/reward/QuestMoneyReward.class new file mode 100755 index 0000000000000000000000000000000000000000..06d7b1a2c6af5ab48396cbb4c2e0d16a35ab8f13 GIT binary patch literal 1486 zcmb7^e^1ju7{|Z2jdiURaQsFA5yW)}Rq+QpKn+R)nJ$W1;-5!*86{hbZ3pUmGSNgw zqKPlS7iD~|8?{Ucnq^&|yL&#*_xax4e*FCU9l$D9G^CJLkkQeDEJObuKj3DayEU`2 zvnQ;OA-m$ZPPoR9E*Mo6Ij9OW9p|7kthypJgG0}^9bq;C)2chd4NYs8``ikJZ@y`Y zAT)h($bH*hlcS2G2+?s|7 zOe&btaaj^ak~y1hA|*$eb~_`7E7Hrnf?0;;v)cI6pJQt>>z*wb`pS+go;Mpi!hgkg z>NJusdls)(x$nrhGnff?oq*wC`Tq+hHl#$Z1+i;d%{dUqa*V>6Xt^aNqe^yLyR2ooR878F7AUUv-Assj5B5c literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/quest/reward/QuestPopReward.class b/bin/classes/net/swordie/ms/client/character/quest/reward/QuestPopReward.class new file mode 100755 index 0000000000000000000000000000000000000000..8b8fdc45c6a4a48cc1d29ff6949b91ac27b9ef39 GIT binary patch literal 1579 zcmai!ZBNrs6vzK}8!M|7kSR|S0R`NHQWYQ20fHdOl10>+CBD40H&8O#*>zz2OukT~ zkZ9ru@Ix8TZMRxFkr#b9?LEKqKmXI)U%$Wq1h9f;ZcrX}=)mTojGVSBo<$6aoC!qwlk zMa$D&al~CyeTArxb)JZDuXWqc9f;kQIQuSywvtmaQ70Nd$PxhFX zvzk#*WLP?{m0th5=BG9sQ!orxEnB>3AM6PC4c}?dli{jk@J5}xmW(?OQ{JA{VpxeA z(c@ij!EoSZ8cVA)7IoJ;6kREW9)EkVawO$Ko#tum(QM|=)!`>F^!bJ}Oy;XmZ=+KQ zu%<)pO`N@mL4E$-5KYf=?3M!RCEEp7w!=3x)`r7PhKp{DvBaeHK*+wV#|_~%bwm~3sN9v=!;2!p+HAM?poUS3fi~{L*huk*E{Mm zr2uy|jw{f}iV<8U#AWaZON4t&m=s-~(6LOv@c_KmmHGqyZ%fCxeuA5yXl2y8g$Oq) Na}`fx+%-RQ{SRl#PnQ4y literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/quest/reward/QuestReward.class b/bin/classes/net/swordie/ms/client/character/quest/reward/QuestReward.class new file mode 100755 index 0000000000000000000000000000000000000000..a6522836260738be97908e13f9696cec23c9e50d GIT binary patch literal 259 zcmZXPJqp4=5JqSHi^e9W5N(`R5G%z>5DnOmn?X0M3GS{5cr*(S;Gx7_ZA6P1zA3)P zo5%BZ2Y?y$BWMVi6ztH}rO6cI$)ePX3y1PZhNNSI=L=hhhHEkzZo;vB=LlK?lAJ0+ zO~nD%`<$hVpd(=L!_*~ZY%DIwrEC;wb)~�r5dq{J{wr4Oc(CKbN_;nvQn9n3fkK fd8q;=`LY@ZA+I2y>8I@<6<#xfZb;Dcy8-bFHXKY* literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/quest/reward/QuestRewardType$1.class b/bin/classes/net/swordie/ms/client/character/quest/reward/QuestRewardType$1.class new file mode 100755 index 0000000000000000000000000000000000000000..f0bb120bcd36fd8c774546f621bffa4209812b92 GIT binary patch literal 980 zcmbtT+iuf95Is(uI592_CD71vDPY=!LJdgpLa9`WQzCK$rv=ofjk9W89J{QYMtl*^ zfP@f2`2ao&G3!P|qK}bm&zz&(*>h&czyJIk19*l9I#Nh$Pz_{|Rj?WG*osD>=y}{4 zM3(D&Jcuo~&jfR0F07A39>td6BPM#*YYE;YdFRtHSCBnnK5+`R%aw!rEVZ8IkwadC zZr~gY1zWQeGaoA0HJyV(56)YXG6K44=IJBCfGj#h^kNZ7ah)_r= zB?DKa6t&i|8H3t?m(b zV_L9D?FqbiE0MELhwOwsy6XA57x3nA(B-1Tx;`-r_0VPhJ`S@mUn{sIWp)a+@Yu zDU{@#$c&gfSf#i|XpA&vz}^oi<6rtWXkX|F~uj?#tVuz+HfeQQ6?GLM9exWl&9#uOYbuDw;HXW e8#wcUiuGjaJ=~|LCYv@ACIyS4p7^DtkoyaEtMH-# literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/quest/reward/QuestRewardType.class b/bin/classes/net/swordie/ms/client/character/quest/reward/QuestRewardType.class new file mode 100755 index 0000000000000000000000000000000000000000..3f4785e029aa86e29f3e00ca218878c0175571a6 GIT binary patch literal 4327 zcmbtX`Bxj)75*MtM#uwJu#E$?N$ki(2nS)uZk-A{AOeY6WUz&4u$$C_G{D$m29HL@ zO7|t{lC)X6rfa&=C2d{O+HQQ>}~q+_`Yqob?G_UhP&b^$FpH8gf%q$u$8rJY$9$HVB*(5|BsAD}&@iesAs zds97QSB&dMrefH0nemw`X35LOaS&Y^9?|hA4$e=^@QB}4SMjud*BCh8RsISsu6 z*{vsQW~2I16~x)cD7 zk3kO_MvLr{=E+r|#?w2naxvCcf!w7{WMF33MyvrC@k*qI5}EL$bRGqbxejAt~A z=orPb0{hp^*&v)&%~}<<4uPk9JSqz|kr-6CL59+m*YOd2RG@j*vdg2EE3Ir_tu-Zb zd{LTcR9FoKoYgR{V*=*{+SW~5WuaA$J5s5#Ub}-;vN2S_3T{RblNv7Qn8L@{*|rXn z^+uT_OrK2_mn^R|UoaMvl$G?GZgQcTY&6~ETGLIcrkiwCqfOq|bOo9&B~9{%rMmz$0!R7`vI_=%rk~(&?fm`((y@Iq*`*dO2flWnV8r; zX4&T1+QN+KPD=j-&Tk^}f#_`MYndf5$DEQ;nKBqiD)BXiZDWB7+X4mbyC92m-eR4L zJjkl&ia=_)#1`#!oc7qvNOenZRKc zE!9jd`?_=0%#5i(@q{tUvC?tt6uS_l{uL}Y|4>80bB0~6nAPN%<6NyRZZaDMqO#$j z0`Rt8HdF>xJt#Ohk@;_jjY_3x@k^P&F9?pHN2}F%k_p2tzKL%o@EbWO>@1HG zEPCFyO;=5iCK3Ctz>x=Xuvs`Y{6V1Wf3vdnHex?`jD{cN=%5XD$e|zL%2{2l9MRRv z!Cb8z$jR9xr%oWzDQ9ugaq@FaqMT2WI?PpG@fGa3h5h&N@J&(zpXP5=y_5Wp;xj(~ z3Cfcv;%y>*2M6v!NdBe`{Ga6$-9P&|d|tihH-cPJV;&)dxwfQx58TG#^uag(g6=;l zCaJWQuYtW(zK=rMA%(T`C=cKZ$|1Q+;fv(^5}!8VWvb%m$u}^=RT>yc{~6uyDu#7m zI+VDEZ4qBwGhV@${ljnhhlkVuK>BSouOPIHQzVWmLR&^Ji9SWdm(fL{UlA?Kc!Q-dp&@J(Oev99ER3sOyo4qT-5LibfUHqNp31rl`an)ZfD% zS!j*wZoqOE-O+J?;7oIOiht@y*&!l+X?+*pBYzX##`n3(Fc$Fx?qmi1kfHiHeu-a0 U!laE{MXpH1@H_k-e?-TB0i$VqkN^Mx literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/runestones/RuneStone$1.class b/bin/classes/net/swordie/ms/client/character/runestones/RuneStone$1.class new file mode 100755 index 0000000000000000000000000000000000000000..5b5ae76bfdcea1080c350fd61f8137ad01a7e859 GIT binary patch literal 1109 zcmbVM-A)rh7(Gi%w=DxyL_rimSfTjC3L+{XiQz|yv>3L*3vOJtBfGGjC9}H_?o9Ln zOpMRqwVD`X3=iN#8NZp3v>`?l)8;#KPQKrnFZ=V?_Y(k*uvkPJGA6PN?Z_Dz6g;ux zqe#{RZZ~3^iIK8 z_Y!J#fnGoa$)cWe%RqK1s?!s9uLpux)5Z>$HFqZ@rDr|z+;Gd4f#RoPr<1teKE25) zFFH{wJ-!;Kh%WUc`T-|ZVM@9pyfBIbv0LGZAJt9F8<_c@jiAP>be&J5m}X#WLU6eh zx^c|o(l9NYO>1qG`qj#*6Dd=eCcH~z8W}nPAHKmj`BD4=^RxPQe#N=$#z$nIY1&7$ zy-5d%=9+YnsM(~$MDtBLO0?ACJ*Iez`-I{x{7EM5poSsgP%8YS#!Xk)Zfi&gTew7RNz{mjI~XO@ zY_(8+yJavG-u2t8iZP5U7}b!(Jt|hWGHAJHg(%{4)vY=V_x^ODkgDX!2=Cb zct}nE0c<&~2KCi8?H1p8&#;{8i7wiv=Vf~ghVNR=VYat|NFejiXqd$#hDgqGEPsPx zv^P~Zaywm(BCOJoW}=8ip+zwiMM4;!YFLCWW+a>O7>cQM-&3M~ey0l+n+LQdLuJe1 zl~!Y)yL;xoO_sfXG@9=BdKePrX5F-_rfZ2Z-C7~XY*5L>&7sm7`$rZXJ7!pij_J2t z!Ua?5D(z&B$Z<8)-JU=(`dq(#Ze$r$quFxn{Ea21F?db3MX@GSy+SlBH9cQJo+0x; z93$dvI}Uf{LUD1%YaZv9=a!iU`zg7gQJ`GtvdOn;K@-g1A!6|9QZu_iI=aaHVkw~;JDWCbze8(1yaLC~m$ zI#7&SxI=_}<)JPw{??hHYxq(V|rq>>IxMU~2Y zL@EPPSx}@Bzrd3-42uI@%`YjMXUiC1D@d|c%&|3O*g6U{(@^(NS>y;Gpzr&Jl$$7! M6wGGW#OwU{FI+}z!2kdN literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/runestones/RuneStone.class b/bin/classes/net/swordie/ms/client/character/runestones/RuneStone.class new file mode 100755 index 0000000000000000000000000000000000000000..dbfaf793e3ff95aee90711fcba2ceac3877b191e GIT binary patch literal 11914 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 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/runestones/RuneStoneAckType.class b/bin/classes/net/swordie/ms/client/character/runestones/RuneStoneAckType.class new file mode 100755 index 0000000000000000000000000000000000000000..8b4438d85a28ae4a2e185a22f8aa2e220e3df1b3 GIT binary patch literal 1489 zcmbtUT~pIQ6g^9teuMzE0tGC7AZlBLD2iV#2!k*%(~;5E&UAbVA(mj8IB5#QfAT?# z3ZtXLvp>r5-n2pm-kOKqy}S3Gd-m+T`TghnF97p+9zl;l&M|$hzUO*dmZ{b1nqga} z<7>vY?&*eadYad8%)0N=puMJLk(W!x`_ldgGX{Z>3K?O6K0bV5+WLOUs+j`wg)V?| zj2u-FW8`GXb&I~|I@MLztGJDlyQVu^c96YSg~~okaogQn@;rC1&Y}G(1`rpBOqQ1l zZ&r!|3vavPqacCH5yVvtVn{$XY*ImBFr6vv=)1aR>rPeM*xWG6P?Nn|5AZKrGYMD+(kEuA$py-Lp7HJ5k8dxndLNwI`ZY z(=W5eQaZCv)$VUwbpKeW3-W(pa z5j2_^LC$_b>f@QIEgKHkeq_sBg>m6qb~&+1;Y}nS9Vh zV&a1zzz=2o&+Zb;;WWIQ+5haEncvQtvw!~n`b|U|^sJu})RUp4K`BZL8a}X&EVE^~ zd*++n18E0>((8`v1Z6=z`9i&qdZ{l%{RRz?A!x~!f$4v0dksgLhrVgI9O(w8y>EGz z9Z1jgZRtw$WwVJ?6}QOz=y+D(v|V;yHE5EZ;xnsj23-%;F{>K} zO^50Wt678QSf!edY&8JB*=_)QsOq?KyK}fJy&Y?}1y8oxwyjp(@*LK&Ga2kVzMy6G zGcW8=Nl<1_2HXQdv-yIWK)!hK%LUM{t^6 zq^U*y#$;6Bz^2%d%vU&M03k2p=0oBAnM&f_J9HIJHc;;)#Rlp_q+qzvR&)kjB7W?z zwL6|Iw;Vo#p|c5F%QKgfeRRNpR-E4C7H$T%NOY54iAMT8wl34>G8NOld((TGD|G zsvxrfnd<_=hrl5BXjua?@>S``ycT4I?wR+17%T^&m4U$XkHax`6Pn Lh(Vr&*W>9w`x6F? literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/scene/Scene$1.class b/bin/classes/net/swordie/ms/client/character/scene/Scene$1.class new file mode 100755 index 0000000000000000000000000000000000000000..70186db975a0e7485db799573c307c3fcb4532d1 GIT binary patch literal 847 zcmb7C-%ry}6#gzNYgdX)M3|^JrRwH{MiY&RKN3ZTi`#e@fd`)Mx(h3Gw@Yu!!oTB- z&uU_fG5i7kQO0x2lBo|GljfZBeL44h=SRQ)_<9E5IXoLv$eA!4Oe4>*B1Ph-CvMN1B@Xi;O2 z$3snAb#P4+<}l=^ueMs6TXAqB<5GDnqmeXmlc6{%yxl#@dbOU>T4a#C$nPFO~ z#m_YZDcb3vE8-pA4T+g=Mm`UBc^qgwCTBYd_m62~V{CV#H12*ZREv%Av z3B5y(BB1^S?ChKU3Fb%r&3?v3WBWafw;5a_I6Z;O1oIPkouHY)4=_-`0+w(YCDOP< z{w^Nk5&6e>iPz+FxJ`QbO!Wz6fKCF+0v2KInUvA`-B8U+mQ}?)@&;;T*D|Jtb@FyL I69q-~0$1`~3FXnRzqs{r|uJ z{eSPVXAeIN;A}A`f)FY+RO+ZgSfF8-vB!v}4Qn8}sc)B=a0S9^Q&!4dCs5JSy0r$? zsL>G7Q43vQnPs}s>|WbRrp#z28%?BBrsYNxgN9=yT+@kW6Q*TGyXBPx5`&Jw($47? zwR3q)a+;x|9t{H8C7JYQ!yOc8>?{E6cAbwiWHM`L)9z#cFXfPSJ3xj?-{DB`ZK^w=+ZZ z3D>3r=m|BT?G)uTEdexB5Do$^kRrb`ah8TPI$~HWFt5OGl2lT5+i}gL!0I5g0Hq*< zNo#56b$FSEm+M%MbEv!$9_@BIO+T?6dP&%|J!LPPq%NOgex?GxLC3l1pmQfY0s=Jo z)YM}>#6WD4ObgD}5yu4r)hWiCr{KAhn8*G1oZX2o4I6cA!e)k2f!D+of*CZj8_i2- za7O!fxnhfsZuAILTI%)e3EDv%8nzOBk*`mY3p`hsQ58WiF4S=mwv#V|pl5i9N#aB@ zD57LqIp!7>UviF$_?a?AKs4-+D2F)nnoVqL8X%7sTPOKWQp(FNM zgNBt%o5{s0W)@2_5%eLUA*sVe|D?>vSfF##n*FwuF{q2Pe8VW2y|1wyo~?pv2wKRW z6~Q1<8g}W}jWj)U3YY>_rsK%qm=k2>rC`RkRF$Q}#t;onRdu_DtvOF1>hZ5QD$6jBGX7hf6hF zrsH*Zy}*hht4(2lWya>!0 z=y(TiWHv66-t%r*SoV-jmth(7eY%Q~OsY2mJA*dOgT7!Iw!yR*fYr?~OXe6(9XU7W zm_*l$n{~W%!aX}uW;z+c0oDRRL6sco-1RuvI zG<;IW-MB~KvCn z!15xHbUlkDRyG_=@w?e`Dm0tbGdnd!b^`291SQTC;JGR1daQ`^01oLmj0c#p z_c|=O0xc!{$}W{j{2@H7;Zr(3jnA-?C|3*ep<726*kaqRSH`@it=s}x!k+5|eH) zce1tFnfVq!uXy^4!Xa7I$vT+d%?X?~y>DmL#3{I3Kdrv{X7S-9mY^?COCRLSUUVg9)t5$qn>T?J{6BgugRDx|28+G_wcSXkyIBHa4fyXA)i+*Wh5yO!=!lMIWOr0aTW)W_ z(HH51@%pe35fKs)k0$jBciJs z5U#Hh5jH}iR>vRk1V?pp#ABe}%YI6avkh?C(?&LHW;HRBtyPKa<(xe^O}VrE-YLYCsR$`dj|kxvqKCE@Y# z$_KfVU*!C@wsD-$)^;D}AHquo8=V!vI94CR86n=!K7{rVyO$OsEufs?Q?2B|Q!AD$ zM7l@KMtu4*wJ`##X|^< z!x+QB$k8YGA+wH`*B(X=SW|fr!*cEzE?;>EsR9H1OGzsEU&Q|@{3rPzpso*NKd|7c zgSciKZ{Ie8Gl)Us@|(tR%bKbMw_#peQ`KR-chaOrIjN~?4DTO7cmx$AN4H4XDK7^D!(jTM_rB``2tjgQ)yLiH1 zypFR~h)8#?D|muDOa@Ons*qL`=6bX8ei@d>xr*`k$^w~L48$%Ag(VR<04i-BB9AeT)6M8={7!i^ubRcxC1#Xv4E1H{WaKO&JI z<0n3m&AjJLq=MCRSkFXP643rB0C~CWr+Ehm^Emtw()PIgj89ME=e$a&8+{00}1>2QsB3YSWmS5yvuC4Qi^s6!8~>Rq&#)gt*Dkc6@7uZ((jckmtXE@%1}DmRI^nWGw5b@M3u(L$)C#E1!?(Y+u6rsI9M(wib0J^D1xL|Qhibz2vT}SgCbQij=RQja17(c6xRkQHsmQbsC2}35`UaX z>rAyWaRAyl9=sPjBq0&VDD#+)|HOA8{271YT~?oc_$!~5^7(Is^Aw)Ov!o$JSdK-t cs1eovlg?2+=gPCZeY~TgS~Q48F&jNP zrGKF>l?sVksgHf=Z>p-EySo9~a*C9fow+mjo_prrGqZpH`}>~&9%4U-6w+B_3=Cmd zVe+~C(l#5mcWi!l^jtfk!tevvbHh!A^m4g2iV=)vkuxv`L*bsMLo@i%Z`WOIHUraX zxY`R%=frN?PN>^v@WO300<(JJ2iiLjLm}nX6_h1V;|3-KCmZ=$by=G-a81@mT7KY$ zuJ7eAjrX!B7_`egBcGJbawH>(twwH{c5E%)NURN>q@Z z!fgnVTLu>Kk-}74H~p8oD}&&^3u?J0WmuB_FSFUpmSxG(JSqlOB-OZGulM9B{&4Dr zZd2FXz&&c{Ezk2qTN)K86m~^GKbbAv4%{Hro}*2xzM-%%VB?AQblVPfy=FH~HJwI+ zQ0(K*|N1l2VW$=OTaR}353R#zY-rW5YlVqj*VFr_%_H4Dv`J3k+OF@|jhfwd#ZDG8 z;fYJOYwuDpg&}H1M8peW(F$TqBvn($iReV=;*sOtg)!D8F@-U1U24K`FXSn=W1O2k zHD9^9x1zfZX =CzRmrD^C}NDCC3CZzR`KSa*>TbIj?!z4?RCc3$k+t)!H>1OK$` z=*O-Ud$No4T~UHUX+Yz5sGqRIh8G8HM!4L|cy^PJMw~sq54cIKrucHD`Q-})g*&vS zXnoA_E^Sle6MV`AJ}g{H$z#GX$1T2a{NAIr%29C~s=R{wHF8^xoCJFs85FR_nc&k2 zpW$yA_OsL09gnXJg*YQP?+2j~g{|(t+2%q9<5S=T&Rd8`ZKMJZ2NId=Ct?mHvN@PY zSL@=6tdhvuTZl+&6x+(*M^fF3)|6i3dOwl%9wJ{c7!3XzTS@TGOeJb5&%H)*voe2< zxxZjkqRBZH{=mqy^z8gA+`gZw6f@^2OVQF%?@R1H*qI>~C67&tcMA*HrdX>{(zO_v zD^>b21s+A*Wwygviu;SvJxMbzi^r6E22be8`|=M8{AJ@CS}9o3b(`SqDeZ4beK)|~ Ef2Jg>&Hw-a literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/skills/Core.class b/bin/classes/net/swordie/ms/client/character/skills/Core.class new file mode 100755 index 0000000000000000000000000000000000000000..bdf04a76d1e96f2db450f856a5ec154d6c5d9421 GIT binary patch literal 1045 zcma)4+iuf96r6Pv8wWQxN})8+6q?p?1pa_RUm_t{3KR(xiATp-TDPt(*-rT>UXW;! zc;Ey0D8#IjHYEgvEbTdae0FBe<;Tx&-vPWpuL2D#21*vn&;{xz{<-f)ethH}j!tBd z3+T_oILr?OR_yN3#4VTxDi&_T66nP;ce9U4Iu50KmbpO`$~bp}V?XtST&8Yz8b(p( z_LEc+DWLJj0>V=`RSPu*Vn*^q-cKfRUSYIhp@}<;9!UnL`DFGgxQlfI_blAUhQO0W z<|K|OH%wypaFW0AgHuWEri_DREWMb1$@aQK#jt6ir5G$S46djJ%C^S@=JokPpf(6& z`Fe6TlIc5t6fx2qB!M3d{WMhfS+JBJhnc|B!J?jjbYh>}*>Bt?uUEzDQ_TXl{Rilh zBKMVMGnv=i`L9<3mAAYU{y8Dl@Z9Z+)6|ElF3K zNem8ssSsmPNNcH(o#jG|d5@+-+7z<=7a?i{N=OI0JXKMzW<@o6&L!%XSX1@^?HsmR bw0MV;?6C2>H=rBWH8!vZyMXQzRD<&ilTfhZ literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/skills/ForceAtom$1.class b/bin/classes/net/swordie/ms/client/character/skills/ForceAtom$1.class new file mode 100755 index 0000000000000000000000000000000000000000..9090e3e6c6fd1169da55333f4c2e83699ff3f140 GIT binary patch literal 1825 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 R1%!S0;twC@$M|vb{vJ=&;~M|~ literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/skills/GuidedBullet.class b/bin/classes/net/swordie/ms/client/character/skills/GuidedBullet.class new file mode 100755 index 0000000000000000000000000000000000000000..ab4830ff4fdee58d3332c5d488236bbc7161807e GIT binary patch literal 1222 zcma)5+iuf95Ivilli)NLNPw0C>D6&)3>2P9`%p?zq;Qd1^1z$ptf;ADBYOklpLjun zMB;%D;G+<;wn?Him8wXyyOYd0XXZ@){QdPCz&@Vjkw8*GN<|tOhJBX{BlzO^eVZGD zz_1*fyTY)}Oy9Hw_l@A(cAUTveDKLQrQrFd|Mf(e;?N8@L*|+7+TwsArM+)-bI2m6 zAg|&YREFIvg1;QvecnGDIt~{M>4Dd4A2G1Dgj-TklvtTz!2R}-lwVd+!F5V;*Yf%# zLeo0)OrGm>dxnZ?2+N!hat2TI|>^e?1)ZxPNN)9O}N(@hsEnn!YXHaWW;&?116vg~43n@2mxTMC|>a z8pGxVj77s`$e(ya-{Qx%6jh!DY<)C8o2XM`30lGgeP}(x8(B-I0-6gpC^qSJOy4s) zOL}q)rYCLc73;g&q_(m8E1n)Mc8Z=(PW zRWxQeYLjMbc!)L&tXi E0WGA{iU0rr literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/skills/LarknessManager$LarknessType.class b/bin/classes/net/swordie/ms/client/character/skills/LarknessManager$LarknessType.class new file mode 100755 index 0000000000000000000000000000000000000000..102e8af10fd5d069aa8b556e304f5148d9921db1 GIT binary patch literal 1632 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 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/skills/MatrixRecord.class b/bin/classes/net/swordie/ms/client/character/skills/MatrixRecord.class new file mode 100755 index 0000000000000000000000000000000000000000..a1ace94a097982933f247e83e890d81d11316ca2 GIT binary patch literal 6035 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 T{}=p?Z>#zIcl;BtV%Glv?!xQ| literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/skills/PartyBooster.class b/bin/classes/net/swordie/ms/client/character/skills/PartyBooster.class new file mode 100755 index 0000000000000000000000000000000000000000..b7f8e501946105fe39e5a6a6e6e7c5619ac5438e GIT binary patch literal 1312 zcma)5-A)rh6#k~$A6mAh<)!AgCnNUU0W86T8yxlG&}u1Mmi3 zdhd-lCR!3Nd;p)sr!bz=uI&ai;pWWDnf-pwIkP{1fBymCF&NKr>+c4 z|HxDOjx-y-Y1bX;2BuxJlw}7}nf`%Oulr^o8;54)$lD35KvwABDN7ymNg%o6xK6Mt z5HIbPt7-HhokB)OKXie`3kqyoDmZ@Tc|M5>^xI9P$VkO$NCC0Iq&Xb}%$Sky4;@7& zR3k&_f{sB931r{M;Cc5(Kr59u_ zoFJ5qK)ApS{vw9!I&NT+N|&zf?UTh)Y3ppEp6g0Ga6H$1)eN>R`#=WEjJ}EK6mIF5 zVTq{=pt$6=40nU^WgP~C`#b5Kny1Kpe68(dV9Rmk%VuLws*1H&CvSsWo^92umU8$U zCgVZP@dcL7+5XQ1h|Xu39Mvqp)9rn3%Vv3(7H$?zYm$_rZahIR^JXy1_H zko`ir7;aM>M4V!dFayXSPqBbG%IF;&=3&x_8i=8gb1~#h7qnl-S7d9S>4OegvJD!E z5Tv^V3%C;!yhailVTwiz`I8BX!zc2?N2KDP5Z9PZYg_BEjkei}q(F#}jdypkNPPDw zn?P*%3H6-ccqn1g%5^8mVCt;D@rb`f*B`z15WGrStd=y!s9(KS@uLSONpC9RDcSXu zY>$A2>5mGzRtUpJGR7$`8CnZtJ-%GK3o|r;64EF~TxGhh=no5-s-df*F?))MS?*d3 lQ@rL|DD_x71Dzw6^T^WhMz9cZ8|~l{?i07b1M(Nc!#}c=^$!35 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/skills/ProcessType.class b/bin/classes/net/swordie/ms/client/character/skills/ProcessType.class new file mode 100755 index 0000000000000000000000000000000000000000..c87e105b8eea3bb987c46c53f6a8e24487531ca2 GIT binary patch literal 1743 zcma)7O>7%Q6#kyQ&f3m8-uyUC>o`qAppHYcG!03MW0R&3Y7yFqq^VR1q0MH~Z0qbs z-VISIPKXobg2W{!C`Gaa9H`W^5=cG30fYnxBraT#xKv0SK;lwRQ{JrYklLx}VV>W7 z@6DU<&3v=|Zu^Tn0CE_MB7mR_NkIrr1oe{shOQNL`=WMs;gV^1gr;%Jw!Azcm>!sq zAdHBNsDfrFgkjtCGl06X@qFwA^WPi5sR1gj~9Q z;iGP?fkk#;o*@%k|pLGGo8q~MM>DrUnZYf{H~gH# zY+Ddy8-v7N1aYK!)>+BM05Uw|b$(S*eGpGqY6kw`bxpkG)xlecooCa&30W#b3g)^u zXS4SV-|H8@ac)PAt4}y~zKm}K4WGR*JMiZxy!Q~Yv+9ZuXKq4f zXWtf*RW}y+uzECGI8?^$UaR-Q%18@%R0@uU5}}0j5xVNq-VRau!Ce97%iHgZOASI? z>JK=^wv8pw&bEUuG=U`BUhKmdy6^(_<1`N7GyY!OKnl0egD?4;afhY!HTv)^KjiPx zj~`h=KXJvMSr)&r9DZd1++_*;jwARJL--5N;2w@*8^aXDF$!aZnlVZ$#wdy7q~Qb& zBTHi#r*Y)yB=R(c=jmlk&=*o2((qx6&Qmfzpz;i}JHfbd7%S z2l%6mccvu}AjU6qI`__;xsP-E`_Io`02Z;CM+QwM431`G89MfyBggg}|D(ONyC>Y3 zA-f=b880z3Srgkiv><09&(R9bFyo8Zjy?rpRSNqcvRzLKKepYP6FP1zLOa@*o)_8W z=-91EcR3UegBjIbS40s5+sUI1?It=nI?=^2a-J{neF{PbzP(kC%Z|G*D5AXZ-JmK~ zj$^@KSUX8rS2?bshoRdGT*o`};)Xb;r;6&SUXB~M$&gDJiaxO!Rxu&y=eVT^j94BB zmFOVHZDlZZ7R5DX8|E0nC>0~}j)=9QSjRc;z+z}kSSz(4)V!61x4D$_{P(MW31ND|RVQqV|!*GO&FxRRbHDeFDWDPe|Q zq5-FMm3DJ_59ABq!3xGVm|ygnHCojV0m#8XFJ90Wr#s5Jj+cZCuTV@`e$YvE_Wfkx zE6fJ2DC}#Q=@w rAS_y^sjPDtrh<-8aHA+=4DT?mgYQWKOoOLT@fsTxK0}ED&*05pUM&{) literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/skills/PsychicLockBall.class b/bin/classes/net/swordie/ms/client/character/skills/PsychicLockBall.class new file mode 100755 index 0000000000000000000000000000000000000000..470ce78ea3454bbf373a0d44e55920cf6433e507 GIT binary patch literal 1566 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 ZvZkBc2ig+?dD;YodnqgORGnNu{s$?Q>lgq4 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/skills/Skill.class b/bin/classes/net/swordie/ms/client/character/skills/Skill.class new file mode 100755 index 0000000000000000000000000000000000000000..a4e6adbb9edcfda730f3375cdbef0cd573040c91 GIT binary patch literal 2591 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 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/skills/StopForceAtom.class b/bin/classes/net/swordie/ms/client/character/skills/StopForceAtom.class new file mode 100755 index 0000000000000000000000000000000000000000..ec47b10d68593bf617744e14a03970ae9e25c948 GIT binary patch literal 2068 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 F`G4ufOyd9m literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/skills/info/AttackInfo.class b/bin/classes/net/swordie/ms/client/character/skills/info/AttackInfo.class new file mode 100755 index 0000000000000000000000000000000000000000..5db14041fb340f520c9fe50c2fea6774ff34ef90 GIT binary patch literal 2735 zcmah~Yj+bx7=AYmO_Qdy1w=(eK~bp6mOB_kd!bTDXlzPt!P{hak__GKhTTcq;05pZ zAK>5c1BY|;9Djg6%HuP$Z!hKpe%WW@{s8H#v4h@_*xtyaRhxS{eu2z9N7004iR*5c9jt25HOvN0H z6lpJwI&>kF+D$g1*jLhRC$1ML8EV&SiCB1A#%{8vf*^5K*ofRIt%bKXkEKH+?Wn$6 z9xLx;G|5Ui8h7Y$UwB(kHA<9LQCOg{w4MV+dWsG@G}O^cB5q1_bfo+w&ywllnIb)F zyv8~@Eo4zPs*wt{*?g`@ht1}o^4E~hsE!or1*011r1H@s9W!!4%RqLbSXZs*%SAeF zn90M;mYJY16<(LZm$5@9`wMG{&<|vsxGihp&a-I=ZVe>^|EBCYf!tPe-U4M;?5eu?%tC zruFOt8Drdw^Ke^#_b)1G58 z8;fQXrl)S2!NJQI^TZc$>lZQ6Pfq_YVxg;3TTq1?c)u$X&0M7f8?N&8Xmcx7F=+`u z+Q6k1@oD7SC7uBxxY^JeU0Aou9okp#-40_JC~z(-vK`s7RZ>xHkSYCXbTKX( z4bUw8DU1YO7Bl_k_jzU#0kSiZ4-!VpDwMan?YfMYOejPyN1h0lMQlT}GOJq(vv{eW zh$sFU(q_%;VkW2-b@4lxQzpmg&ekdO%Ft2#&NFx%SIMDQ=vAy7IzcBbPB6YkuUq*I z##4+g<0Rv0wm(B>t^GMVZ}9@_FEU=@Xg@ScIYbW-)4M=<4!S7 zGtMy1vfVYBv-#g;{dLB9&U=I9n^d-T71rNk{{@z-EaPRhcJHyg$onj7=KOdhxBGn`s}2|GXN;dS ze!=xWWc-rje#QP@v)wn0-!kI4qCxQb9kTyM16UC)PCO=O;!n!0KBoL5DquN=<-SL> ze`oph&hpUC^7)OLP)qsOdt>pUN(?J5Cj8ANC=!HM}!a|0t1I@6+{C2|oU zH+MXf%S~nG@yX2blFNdUykrHun45vUir+Wiu9Ye?wut_)V#Pg|nCp%-! zC!y(>%-B|P*2=m(_LU9ZlAAMVM0NkOR{)@xkyzXMh0h**2SbWC=yX$)@8Ar z)10X!^}sXD!anei{CxNUiH<ss6{nIO zNb}PCN}6w9cjEQ#*@$Utb4eC}IWALy95Xx>7x)Y%n)NxJ6QytfGDN)0v zM9r2GC0a@pW+_pLr9|nK5~Ws36jv$ng-MCeNlLUcDbaVNM1z6sC)9lk;CBV1li1&Y z44Z$DVb&KY$Um)Sd!j(?Pvo?B@Y_c9_}xqm)J2=9o3a>*;zY`khY>HDFD_~bEZPEH zT(_v%Q=m?>w?JLymI8H~;f4bBn&HL*^_k&7f%?sGus{Q5xT!!9Gu&LDA+tMFpy3M5 z0cyqSJw8n@c($O?ZKWO5M}xGDqHyzm9CQSlQS`NwG=OruQ&O)K$$V-s$}q4C;xZ5% zoH(~rdEz)XQ0&7x4o9PW;(!F?6Ne-ypExK@@`=OJET1?qA^7Av-6(p7{()zBhs7cD zDeZkq2Us5VFOB7Vc^8`&lklkTm4M8R3N&Bjhz`T+N2)*qWsra$JA=Ep2Bb>`Ii>}9 zPY=?if{X*?L=6!BhS?*yJ7_? zbkCn$@d(=gf(r62K)$O1@;PoZ41#|JG$270 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/skills/info/MobAttackInfo.class b/bin/classes/net/swordie/ms/client/character/skills/info/MobAttackInfo.class new file mode 100755 index 0000000000000000000000000000000000000000..69120c12a450092a8f95a0c14cfb10295cb9db36 GIT binary patch literal 2732 zcmb7GS#uOs6#hC1*|-oO1OY)1M6&=B!WIZiR%CFpkVzm3qUrQ>lFrO@k3Bs=Kylv% zS6oY9eepr7Y_OEdBM(0K=&$f6Sn7A~bR-obB~?@Xb$|Dq)2Gip=ezUkUq8^| z?p2QVCt7unMcWmh~p$DFa4a*jk0Ps54MC?F1cG;CL=qI%VY{h4r#hma!)TAvP*J ztO+NT-Ydjrg-3)~GwJ!3UG(m7Q;EoatHPtQTsi5RSv#J(BtF{}9uuSZFMwm)coEjCH=E+eZb}8%@qQc9h2E6=;aLo#P7I4~bufjgz z%BOP!wr`2q0fmETrE5yRTo>t7H4dY#0!I|Ljk~d6r;@Yzz|OKhrth1xmY16~&{&^X zyp?V7C8&6DPumqbr0_K?{BW+@yXcM%vI%U-rc0q)ubHlsHKqLBb|x?rvUWn@Nt~n~ zOEF;j!C=81a!19`8@_6Ni1r}Lf~X#tiB^@w^d^V zqZJraIESYVY`UK@dm?4qxh`GJt@RD}k1V-7qwwr}E-gZs3KOuHoUaFIZDhoww`cw^8C2FD!*GahzeWDQwG=t$`)4h zjysGxjg)VVRBeqfM@UuH&lF;f6kLteSdElcjg(W3lu(V-O^rOBG*Z(_&X`6Hmd4j3d?P~6mgYH58aY84IW!tMCmJ~u z8hJ=*d^5tgqV>0up-ga_#;+^ zSSh$B#2UeMA=U|Q2(dwMQ;1E1TS9CR+!kV+;EoVG1RFv$2<{BAQ!o}HCfE|9MR5Pz z?d2i%>$`7ICs^7f7tQ>HLt=D1#BssS5S@gcJJ>8RS9ItRhaPe0nTs6aA>!hY2%*2C zKSaMgC-1OKgqt|~Ey|1#Nny_y+4KLh=Y<_Fvg0?AD%y?<>x6IwGa)j9UIQB(Ss{Efooj7fjGX#DSXFccMiR{!*ljG^y7DW{eja)2@l!z zNE%x)WYlBWXyy^tinB&LMvRjfH3l$djIal!Gu9P%KkAH1V-TM)zJbrV)`!YJajgQC Z%?>YrlPMwc7vadzgU~jkejzdNS< literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/skills/info/SkillInfo$1.class b/bin/classes/net/swordie/ms/client/character/skills/info/SkillInfo$1.class new file mode 100755 index 0000000000000000000000000000000000000000..12002310296d8679237ef91a9deac9dfd5137928 GIT binary patch literal 1188 zcmbVM?M@Rx6g@*rx2*$IL_z#QS^4mTg({+eBnBZiLNO^p6aF~tj&xzWOLn&4PZNCr z6XP@ZTTP5Hh6nIDd=BHCDbU9FL(FdG%sILDcFvu<{qgJDK7jj}%cBh`3u%saWEjRn znK)`MialRCHRZU0FT=!ft0ER|B4bBw`$3?biiS!e5{AsK2;o5eP1y|>_K^#_;lgfl(Y9X7 zQ7bw*x=>)Sg59DgYR?#o$G4<=+RbqaJyb}yG86$rYGkxz;S59nme>_eAi_9`C2`S{FST}#S{P?2G##vLY)O}u5Ibm=+-x$_1Kk*zRu`0 z_oVN6O#d(yT?pMEQhvC(ER$;FS(u^m`>)BNlb5AR9z}{w@KPAccs>wHNmUr2$#m!| zVTC?Dn|epe1d4>Wh!l~c9q|4u*#7tYXIP)~+wlb_(<>j4er#wj(e@_oCz@%}3q-9Z z9Uz)*(m|qymgphPTf#>*Z;8L5dCug2M2?;w^x`!7Fo+?-VLJLG;T=4{L&60-L4|M? z&*2h!*nuKU@CvU9-{39Y5vFjPY-WtvpHu-f7@#Vk_H;kBC}R09OId4wEJ$O@q~FCo W!ZfC7oi)ld{Tl&!(_`8cvcCagU>NcM literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/skills/info/SkillInfo.class b/bin/classes/net/swordie/ms/client/character/skills/info/SkillInfo.class new file mode 100755 index 0000000000000000000000000000000000000000..5ef9cb66404a53708274f194091f93ec6a28e1a5 GIT binary patch literal 17968 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 OM)|dN?Od&ss{RL7V#J&P literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/skills/info/SkillUseInfo.class b/bin/classes/net/swordie/ms/client/character/skills/info/SkillUseInfo.class new file mode 100755 index 0000000000000000000000000000000000000000..59fd014664c365cccf6fad7be863e6582e387b96 GIT binary patch literal 559 zcma)3%Sr=55Uk$BB*qxu?+18O56)G59TbGXqC(Vzo;I6_Y2D1o&P2h#@*skUAK*uc zy)mMA^3v5+({xu)zkj^E0ocV-83A%d~*T#4JV0HY+6>;v;55Inh?TB zYU7(D*OnM^OFKevStFEgtz*yD5SGI~-MgL>b<%&|CRDX)vbp+J#45W`x5P7D$SSv~ z%{Jgf*Szl3nj*`9>d)LdKWGv63HbxtlyoFyqmR0shE7kTMk301XyYh3k5bNfU(EY9 zi{Guk{{FqacrVv&H;wh7xFd}H{+f;K1Xz)e4&+1y5Qb5eOzib>6k|O;j)@*lVycI7 zk{(iaOR1k0wk2Iiu(JLPS|4~VKcV<2Jiv^^?D|>EONZI4>Z=xWm={J^kQiX`6F}~S Awg3PC literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/skills/info/ToBaseStat.class b/bin/classes/net/swordie/ms/client/character/skills/info/ToBaseStat.class new file mode 100755 index 0000000000000000000000000000000000000000..32f9cad540192ef5a774156819fc648119b8b63a GIT binary patch literal 3046 zcmcguT~`xV6y2AZFeVNHu|!c(v1$ndqZXqjNGq|_*dVPaTKnbAWFP~>OgbMRt*!mG zk6o)Tt$&~oeQ8-;sqI5opS$|n$Nq-?g1UO{B!Lj1pbup&GWXs&_nfo$x%=Gt{n0PK z0yvK^VrYV-Kvoe!Geg@fU*MX>?HO$%KWpedL-Vj{oBjxc)RUZwVh5rMVk&k*W$3pJ zU-K3nw_qCDyr=1wY1qD|7rD!I-*7c=&a^B~n<)9FV>2jrZN#!M>_V%8HWlrNGaTK@ zRfe20w9FX(WhZ}$+Xc&@`H`MvZsVP^PTteVG_Bw%hSUFH#0v|Qb>LFIi`;ch$JH(w zt`oyS zj&jeafRjp`h&t4m#agqpAn}Zfl!(WcD9#^$#_$}56r@!Q<2->|6-CzejTv$7lm!8D zVwxe*lTGHG zL;=QByo5^(JBr+^o=TY#x+PFuR`IexB^QW5!QHruD}uPD>4Jh+s6q_{R^=Nir%n{y z)r+K!QDkNk*Hd_ua z7_O&<;4X5XQ0O%-nmLAH|TOyIiI4synVVF}W1 ztKfn(iF>YKRaa36&&r(`rZJ3$Kl4sHN8JlzhS2xB?p|#dkMGlCLk8aG;7nb;wKt}@2^lQ;fqbH+hr1vMV zA862odHNNvLEjxV{i+oMI4IF9ig)0W6>VlYvTLTb2Pb}nA{R!al-yfJ%Wv3SM#oU3 zGg3z9cl7=`{f8GCJnr@V}ON2ClxRG|U86k<=17oeZA96%c} zpTH^layeaxZEywK;0m_E6>R+>4yqt=^9i96*bd?|!c>n<*b8hm91Nd_i0=Oji$6|^ literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/skills/temp/CharacterTemporaryStat$1.class b/bin/classes/net/swordie/ms/client/character/skills/temp/CharacterTemporaryStat$1.class new file mode 100755 index 0000000000000000000000000000000000000000..2078d766c054741e8653381c48d138ff8ce9f413 GIT binary patch literal 6926 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

6rT7^N6Z{0biPOCT6ntV$5RirI=g1 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 C0YSt7 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/skills/temp/TemporaryStatManager$1.class b/bin/classes/net/swordie/ms/client/character/skills/temp/TemporaryStatManager$1.class new file mode 100755 index 0000000000000000000000000000000000000000..22db99a77d0fca30d27ad08b21c955369c01868a GIT binary patch literal 1751 zcmb`H+in|G6o&sDyFO(*aoUEa;nc&>CLB6VAcfFU8aqy68apOV(~Dlf&Unk7W_u=@ z8MovP2_66m9smg>Zh<0%5UP;iiYuh@07&ovmC7|@tx4!4Qn)A}dFG$*UwhW9wGaO3 z&u{Mncn#|X3?P+7TH+8g0%cD}c6i$l+OD>Hq3sw~dy(yQRiKY3pIr)=twFH*Nh>(*rkZd78^1iD8rkWK#vvcG>qsnl*v> z|6>|>tqw~Z!BK%MFOjE=Kx$&Lmc?TN<2ThUWgF#n?1ta!JKY6Wn|3t_{D3PPlQ$>YYMzeoX;uQOZRc%~n zQT02qZAm=CcBbjOq3`j?vl0_*&x~zi0)p1uZO1#98!ZmMmYIgRmnd$TV-3t;g@3UuS*`AenmF=N9 zFLLWtkJIXEV>on4(sAHK3p6n;zi;YIwqKXH!gj8%X+L8mjwBRrJgIAJEiCke9&o*>L6c$%=ZXY?87J;NuN_l$p@IiI|5 zGZzw`W*$s33Ue{xi_Aj_UuGUoc#gT0@I3QK%wJ#xc^t(tjA9I@afb9PrZGc$ z0dtrqt)ht*=^EaKL)yj`LedED;yu#$@c}+0{Rki96VgxdIqr~th41kL>5ups_eg)i zulSAhcihJV(mw=53Zo(|O5zA{3d^*38D1=uQK$O=T@AXfxCG@)xbH(nLc*ayfJ6{fbVvq>B$=24#ADS}*L%GW z@OD+al_&wc@B3cQUGHPnRoB&B4;1D7RzJ_oGnq^P_v7#V`~%6;Pjz>7cXf4jb#-+= z&-{AN14Oh>V4pBaQbE#&90~}^IU>3`I=m`cvtoG3vLj;U4T1uDSJqTE>?=qO8oV$_ zAwdIdqQ-{Gs^R7Fn)1fFx>!xa@M+25%xL|}InmlM1xaO5giMgK4Yi~8g7&M4H4Lv` z6R)eNj18}@A6{Nn$$86HM(d*G4Y9i6^{XnYs_KU~#HwqDm*G#mE?T#?v?1CsCt4F- z5vvnqyaE|mFR1-&zcwgzG8fpvP)9B;R1;fclQFQfp$95b*v&8(bZ5lj>xJn zUm2@ttculh^6rLuFtlA|4eDB&8r92CZ`uRsD=N!lvuc*d1<8YFai+e8_T-o_$CT7I zRK{z<)Q|cHX@H@DG)PdlGy+&E9tcvRq!qD-X)ZC#Dyw6b;1+AXp#mC$yj9Wq2Cnvk zSbYqCj%?<^^fKp#_8#?R+XR z>A(+_;NWOO9M$X6BKIs0J~=`M62{OXLkH1fl;LAYBoP!`8LgiiI|}$P;FfTXgAE-* zhYHd)7Th_3J7t)H-iHY)Olw{%nxu{{rjH$SErwYZMQK@($_-U8BmX9hEf9I*wckiV zbNZF8sca}`na~e4?B|XDe%1B;+#2>vj{kmc4g2x<@0YoTVOmPd4XxnO6l6hC6RiqT zrJ&Kf+4_0Wx`wrd@pwIYB}^+xalcj>s-_yyJX%p9D0h(C_o);fyd+4qyI;zT#>$FV zMPXxA6_1`c3t0@4eRi{s-2RsGkHZp+=^=dG~pd~Dh!L?I=6HagJx9F=dt)a#+ zv?4i=`_iH812CxK=FGRlf1*>7 zqPDRi*{3|_7e=cZA?MZ%+T~#0HRDd+T^z1ho($?m=yWGV{D`McOqTQ{a?fWF1 zT67dG9!8?SN8<-u~fp)0uW0_diB@p=Yb zW$5Yz2%W&7YYqK{Wm2%R9vxf>UYkYN8@houprp$B1UCqp@w@ca;3ZtZO@?l!TRj}Y{1(=iLH4NKo z=pGBJOQ<9F(fvVsz|e#Akf1(k#a6|m6|uVd;iasG6-67OP!T{H`^uV5;o4bX`w@CHNRJtMoVji6|Aa+Q=gRuIaY&-_!p7yxiyATOLe=8-K56JF zZm-i&7OSgf$TNnXwG?PbP#{9j8+w6Wbce(=Rwo8wi0`T@JfbiFU#3@r^jAZ#(rbcx zrDbw?B%!xJqgaOeaX&2(v`2agEfa$@Z_t}Tddtw?=3#R65( zo^7ygqDqqo&vKyo^G^j!jrR<_Z>7exc=fVqLrEQXKa=f4Lm#=!lpxz1^ogN=(5Ei* zrKacEXx89`JfJ=|^iLKUti^DR81|*1ujpUyAoCPltMR2vR#x9xCjXn~m2aTqWtxRs zPt0L-$$t#}m%f9f0<$Ki$jz;2(TYiJpQiUqt5m=L?31cnCYt?&p&xl33SmWrHBYP| zNI$hu=~;g&=C}xLqwR)%VWp6z`T;Qu+F=ASh$m?~wFZSuDB*Tao>kKj!x}0qgwRGf zc0#YLanqusM9_$k$bx3;E|C&EBWSNyluYAYxA#TF2*W)cK@H}5YcKSuXlF!wkpoQu z8i1e)8Tz$#w`Nu*L`Ne!aUCO2)DjhhUL9zIM&xljd4_Sp zEEl-3J&fqdb!A;AxxC}b_BLV)u4(is_9Fjdihz z=p*(rqMzuGzA2B^l*g)EWo=1EA~Dd2L1HinQP+qPE^kHFow8nwNyO8ycU$e*nO2cX z>IIE8HPK~Nn4m;~7!njijTk0|w-!e$qcs&(JXI902EQg(=OJ{9g+SL$?dBxf{Zm=L zZ8Aa-l!%c=jN+aMC3=GUZHy6P#W)NM^czG|;aX@6Q)?>h6eVc&ZzJinjEkVjyFb0T z!qL`tf)NwBwgGqa1jS?woHQYBHAt^Duy&L+)>g&BVv^VgTD^dcWne1JTno(P3`2uO zt=P|qsm#C~KnSa{B{;FZBMC8$Iju<0v%ifX|7Se5yF%6@XhxRAge9gMF@qz zV`Y^Uti8S=W*M=+IKY*L`^T4IfDIa48WwZJ+@L5iVxE{UsDD~tpd0ENqBRZm!;xcJ z;sw&Lvc3o=qME5-Y-@4SgGyOleM6KQQ6>&_g$eS^bcX;>x@~C>N5q#|^pk^P5d>d) z4P5J&O;i`FhY^A0#qbI)eRyge!eXIVY{U}Q6it1srebF8fwdJd;e^E@;?SU2YQ$mU za6!FyQUEH9DcBvh3#TH=DT=|Ufs|~fn%dBSR&$EejW|P` z>8c;oD`Qn)gnq3D25i4o6~mWv{BWBJZ9QB3IVjFC;#_fF>m^C63}~?{VOat|1#iV* zmO30cnb-Iw;sPTsWGd?V%A>Kajfji6_X4~EgME6VSZBm~aT(Ya1dSz&RDxHTwlGvanuztblbbZd>9eRxTu$AoB2 ztfn0O37wA%z0-(|qRC|zXl7h4cP=BRq2g|yel`ipOD){573j#RHXE@;Y-JX1fYBGN z?9sw7;zEa)+Q`WrNs4=oxKG@Va$swQ-q)u^^5u;+w#mciK~<|PhcKHQ5f6%og5qH# z9ubcU>gwxTEpVd-%PXs3y%RJswZa)NrYajPaG-ulJZ{7j;zr;(07b{R~(a)xxl9t-z+-zEsw%u$U)htZYlfsb%}9 zEM;Ca;wAAilRsVu!@Ho7srXV7r{ZYY=&<;!cr_?qGvame2KvvhwwKQ9^LQO>m4Sx1 zYuE1Gf+FcDZQb57;%@?r)?m5I%7R9uR<2bZuZk@#g-gXdM!d^Pd<5bs$-R(i?;G&} z3$*qL_!!s1!2{zXBR=L)5pnswbS0?60{kCFe98hm;F`#I5PWWgU7Ye7!CRj2DF4!k zuk2FyD0lW?tX~7G_%{!cQZPRN-x~2BE+*_2Q@FOlP7~i5@jaJfW=7Yd(=iKR2It~` zG-4Y^gb%D)HFDy_!^V!C$W{2+i0$GRSA{5wEsxdI#~?wizEa4=U=8;lNnCEBT~JGD zq~Z*0q4F~DRKs#iIz|Rqu<;UR-s;+-Xf?LTP`C^knPqEL+^{l+v061f&c=|XGGe6R z2wj8?Dn`-H$o4E3c*VvrHqvmy4n}rNR)74s!^Vso$KcLJ<|e?SMvORY?5Ob!?rLN= z26rl~Tv3S4Lw8b`hRNBjPj@4GaC|nFQbqAKHFM&tF(^1^FC%+%j5&bKST!r=#Vc#L z`(z&@`*K9*d6hM*mc^nq3&2@OFry9@Do(JMk^MM9*8YtZD`M4HgfMh~kpnFhL@Hm! z)*C)O{^X^+lVYOvRF>XrV)B70Z%TwCSi!CPxftWt)}Ij9F{ZXtf1WA$OGhT zLF4{6G#F>@z+hWitEyy}pfIN}#pfDXVktgrMNPaeR>mCDP*gmfeKIux8yI$*8ZA(R76&mcAc4m0CK+1f=Sm-J~)DFrDBV)V`!=~5NI2h)Z$`wYgv;{1P zR#am7Qc|~!!ABUmiov?HD!zsR)kfAZAUF$jgN2k~wMHJvu*d;5l`B>@)F?E)BJAzkY2cs$m~<2WXSJ%(7>+FA=d z-pCUyurRhVUIp7C)8dato@8lJpPe$pe?A_Pd;eDQw=i8|Hjg^cn z+E7;s*}?cOH1Z;gZ&r16V@<3uT31)ewOuMNG4fK5i7biL#hGBG4HmxM$je&7YuTbI zuQ2jTi)m_Ib-ZpKu#|hU?rI~i;h3ya2*%ptwd`oHRQ|=t>)iAet9kOMD1--sjk&?d z4II<4DBds=LVV`Dd9k|E7}Pym&`n0(%+ZljSi344W;90YEc{j@Z?g!YSS^UHMoUZF zIZ57OLJwFX#E_>AFksjBbzxQ>wua#q^jlV zrE-grTW#{vm8{OYLZ6f0Yvg?#(V?_-I_Bee0|?;9K49d77Fi)AVUjf;Hu4dMb}NiF zG*rdrt)4d<6G`#Bx_E=D+cM`oX5{0RbIKE(vs6B5oq86%(N==KZZ zYok?`NOu0@dOmOD3pQ>}W%Pxs zFIY5fEg~#iFO{zw`38e?W>we5AU^8YjE04l<=3~2{F}|g>cE5vm`_JAs<(}NhrwpS zA`k=K2!$BEEZyES@_nA#J3|C4tgMaIrS2wj&JT_Jh;v2?t1uy=NnRg+V&p#hdt zE9FtnsXsIFbA|>=8!A^+TUqdhkzX<>o5xAiT@aR)a^im(`8CJ1p9Z#qW?nU;F22U& z;ctxmmgAh_>SgZu_^*-QF(f>%vV7G%u!r3Sl|LByqXidLVy=%Bm#?&X#ZN~5%-~MR zZk~z7WKA@|X}=ixE63-h#V-PxT|P$*6&WQsRdB(|_|(cMj~1nj(hSR57_F|gYgmQ` z3^v{YZ8tMswbq|`vH7U7j0&p=XtJ8Op`q~h#d0Wp>T0>^$Jw%tYNz0%(gi&O3kvTx zc$=dz!m$_0jNh<3wlk|N>9rLlE@w+$OrmSh~s*-14 z)y1f;OdWGzJ^Ht_Jl=>^6-VS5)tw`(_6l|#JA&C&^)#xNO^@zaQD3rrMpfKOR<(yw zeK;aAyRjUaSYaJZW1L}6qxNEW2Pjz(9L%biT)5&K+ux`G7Tui2dYE12z$)dU8)VdA z8^JQa3VV`su#)8*1x5|wi0sl@_CE4P1;-3CYB;&14KG3Lz9MOJiO*y;bvD=C#O4LC{ zE%pl;d)U|stn90UjdC>{h_X>57(9`|ON~0rrsk1Wx)#Mizg?=LMp-2%3k$C4Rcl=_ zqAHAvB~Xv#<;BF2aFkOkj9RHG(OnI3YfG!J>t+W7>R?_SsZ~Z*DHt9++Xj5xAc+PY zjHMD66*sE3B~sfVbw<@QxWnScRh8hh#_AX*rN&iJ7R;*AsMX0#yiS{FJNGD~*0uy& z0v}`4u`R)tB!4jKcm`(`LPf9!F-Co&QGaA;?(9m)O03yD2{x^=&NVWslZ`qhfsRQz zZuCT0C)KG&oo20vNEU^UQbe6$)R}BE%43Z%&1S^5OKGGZD#QcmA}rFmyki(O-?@JDR!NLt+65r(D5x!`q1 zt>+1iy&T;d+r4Ivy4s@5qi(R2NWtsb4G?>yQ8#fcTnS2Jm|(eok`&?Ww-|LRld2nPTvAuLf*s9R z+9wlnD@Sri-(i&1tC9j@)C2}M8D-Te29FwnK{{as78s;DqHjT%pxSKI7PS>DZ0%3* z5NKg&Nt&LLR;P{>Qk!AJQTG{jzj^=}8{!b=f(}YGwzSTdBKuoMX0R3|tw5853Qi&^ z?x1CLu^37Ws|VF1uo)^?={lyC?M^L-rXQfMsV9tjlJ&JfjopuC(9=de!ysJ)TL1%| zGwOMphFx3h8aOZJF*!tQpfbR5kyV3CH1sW(gO|YlSN+YXzjITvYJFo&M7?9wyXrj%nlN){UeUW5VttZDqrtH`Fgi{mMQ)L9oiScP(k{F-nU8AVm$+2n*-}(b*_AY4i7T2ij{Of7c_U*T*t)%DmpYOub@IXuFWM8dLCQ01=aRKE)+|H->aLiBL1(Oq;` zNFlq?meyr+c3l;h2(4(9iJ;tLc}92FJuohr$*j8q4%auoNipfmjUPkxUaH#Is zf?#&%P|y*(uIDaEwq$o{)>rQt)O&&RbidXP@!lv-G_8N@iusgr`O&rG=>bMtyQ?m3 zXvCR^h#qWozAk`ZtFwE}?pkGLYkdEMve4*h?6Sp%x~ZuLB3Lz;5Z2T6jG&%r^ek31TKQV?es5|nUpZRMc7v)aAP~oL zIkSzP!VoJS^yG`ucGOvi$&qEFl^Fnwy^wmqcJ z+E_y$Y|ePV`aZDgv9npMqEBVRl(4SQv7laV^a>4{c5MSYm@`&a$LCEl9#{aOjXr{T z1AD#YyG>}8P%Y0MBv>LN?Nc}+sIfL1kS+@oo;Aa9#-*CM2ezt)`mm1c+Mqtt=sFFZ z&OJvc-iCh$%;N!Huu2@=u;1GeEeZ`qEBT-pZ*nnv-HvWn4mt^=;QPs1Px0kPI|e} z18^d#FkZ2ikEvityWafZpQGrK#A71BBIwBy`ES6 z9oU};Y7|R&cYehZNndXC6|ADG`l{9N_|jJyeYL&@ZFIf4U_~m5v7@=25Cje0b&qe?=#-6o!jy>BmA#*Gqdn!J}8)&XDy?_-o+l;7`zd^)#!T|1Mlu9Je})#(!I~< z``MeCBTDMv6cBB!YG6kvm|WWHhm3w$KLXbCoLXkbnXmh2HZ7FJIeNP9*7Bf!%;?AU z6HsxhqqS}{jsa#Qe_G~Lig^wnj2wIpXQ9av{gi$>sGl+VS@xM~?Rw&;WkzqT?npWM zA*RC%M!(3%$J)Efk2Qbu_<;YGe%a_(tj{fMUC}CD&+1o=eoeoQp|qg5w7BfB!o`P` z&6-nun00pSl+vli*loc`gG_i+j120xTG%3G+hr#g@q>b>pe;!(4s2M&7JA!;%XQ|^DC%|Am9fnQ@gp6Z7R|2rK9UZf2BE~VCCg_6Lrt7pb zPJ4!_MKRv}b~+fRqeYKXLGG?5x7+D#9P6$Un$E_%X|~o*SL0Y`m3FhEwUrf>%h@*S zRj0dgte;Bzx=e&R)iGT~i>S z8sP2WwsnAU>=LP+wZR`)Q&m}wiPhF~uyOLa`o=TQ*YnXP#x%q@)=9-+3z%g94wSM- z%Ti~!aYk?sY)`to#_pCjM~yPhXdA@_4X#05yb4nUM~yYkIF8Cf>he`Zb$0pVOfb$w zhIT28vtuB329S%laT3R>mO7J-vo|MkD_8~%5gvVvabM$1v4xdZ)~<}#EUd&yB-fe7 znQELun+JQF*59XiHH_K%O{d5>#m;mbnvY|i9_NV`EB<)cwU}isAXTs=MlITa%}wn3 zPo3o6VHXM4??Fd3)nok+c-Uyao@@NP8M{`|82#}lXor*PdNX3 z$53qPFYlssyXFB7yYTQ%BkXoNq1@FDZ;N)jQgc1}Cux;Z(OtBue@arfUwkDlF?%xQ z=eJ6?n{~47Vh&H5wRqrJdX7%PiK(L%sjTC1>WbdxnwF9)6LZGE^icUx2+wLB-?h*N zxIJb63l`hKwx*eg#Ap|%p!LR9t7dsdA*iw$F6n540~oiShFx1sTyUv~&240VfiiZ9 zfKD_!4zGfR(Yi{0_kgOLccCr=I~ zOq|wMNw#%ubYu#D{3ePehxWeg!44Ir!aJplMSVTnuXtb7SFurD_iQ6bl?6{RH#^c+ z#HyleF;~=Mt{9M#VJBh&ssf13wMG60K4Jy^H=XL4WFN{7Lg!&;aO8yXs1i9tiR)6( z1r7DE=1fUPwNtXT;7uz@&_FBx_+&KPH+B~rCr>#@EofE>HIn3OHF$SVx=c;M^}ls9 zHnh;1pl#W#B4`TBu~nLwlt4Q4h@ew{+sdpBmQ2+L{@2Q~#TJ`Au()9n?%tvE`xvKZ z4cYt4JtyIWF4LG24z;RTULs5D?BXx!yT>I z8N;E~84$2@*z?DS3JTd;ZR?O1=R@AOxu>RLx;;h_tAGQ5J6uF5wpagGUf7u!;rXC_ zvaO&zToy34xJK-2&GON1v2!zR00IDG5OV@cy#St=#snRhQnySq@J@$f8|=hYd!RLA zW+G@x>HjauS9n1Oap1^hW0rmBZct6LoaHTHdtL;SAq(BqC9t=fkM>{QvSqF)ZY4|p z7wV=U{@=zbchCA1EMBGm->F=8m#vwnajlp&Pq5HudV_;`8HL$It%~7qo_p}bTMpR` zBZwb2Wf#O{jOc|34|&G;OIxTl{}1scq+fl?!4wDpyr!OEVYh-L1f~hFEY_+pK{^$1 zVHoK>M|scDc)~54wSl007GaukL$eXGx3Rf%>cAEhaoH}D0_^VdV{M%DzUKjwszq^L zm}u>x247ie8zU#}j5f7$*>#I*;S6DI%)7ZLX_3)Z=(rYb{6FaRohVp5B>%e0@-t~z zzt5=MO`>56fgr>hEJb?kqE)&ao+Cl08EoJ)4D4v}HSWqK$Y-G`aQ6lD_%jEr!#w+Fl;pg36`4z2&q z4D~oz0plBnSq{!HHDGTpT01A!urgjz-#*}c8Fs#M{uOk-HqO7DZy@{qiLbI|b$nH9 z_-xx+3j`LsaJUZVQ=M!-_-hSY>AC2>|UY$cVAllCi z*lwJUXhRPEJ3G=g_Y>X$v)ViQZ#e<^yIq?&t9>A#QFs75XCKmr_Kvy~kPt(%jPt(p zK@R@YH|?|N=bS)0K?k?N#lOd(LLtBA1UmS)7Fl7RGE~w>U3(|c30tax&L)t{JLkET znN~bGVqYZe#!bpI&b!WgIe{L67VWlF{%vvq)a%7X^)}Ai&O14QKL5)Eumly}ld)ju z@9*Fd{=X8ifeagDoWF^~bC{6=1q{HZ-kZ)_Ie}qqFwOp`(+EyD(l~E8uje?g1Ar3^ zkpTAZUUOcDt~3kQp1Ntc589eXoMK*N1_PK&`nMXrnFeAo01dwP&XdCG;*MJCi#z-z zE)48K-P!34A$VI*dlJqJgrzeR@9;cm@s6vuTfF0j?d1C`q{iLa$@l$9vfn)8Vo!Pd zgi|~}`J!$6#I@QM4kz|xz5|dRuIm;KCw2RTXSq#}tD@}_7iZfiZoW?Dn+?3U#5(yt z2k*FyI{7{q@3@9K`CdYK>{5_?pGT#*p~2DD05Tty>`8D$#^r9s`I|}P-%G*8n<;A( zh5cZTAME4@yZFJp{G2ZLg*Q>p{G1R!`{Zw-y*ANcq!Y2hedrJ9%#&y;T}6es3$%#dqGEa*?C=%Mq<_=?Lec@a`*4ov3OaSC zd14677sGL(_f%RaifEBjic{35*UMOiy=cQ8(v zMuPN45Lb26cEVNMOFMPy+`02l)Zr&^lHefH1@0g$$(0SjDWOEzu- zw>)ov9RwJzsdd>6t&#Xg)FHo_jxK1X3MR$=4gTBU+AuE_mO{!%=P<;(-GDeqH@CApllp}^1f9dt&)aDjdU+dY=}N#T zQP3G1WCbzJs;KnY#qf= z#uwl*eQnCuK2)g1oFP^zByq-s{gv;k>ZdqeD4lyL8*6NPb>qEB(yk=VcE4 zijWY^LNyEY>Wlf!B3zIc+A6XYisj;xFI>iumPKUcWhIM1$SWe8&*gbVAe2%>2NZ#( zK79psW73!B1)4?Y^>i>lyRM^Bj$`s6E@EMLL6y1}Y!$sEL}yp`#Zo}@!9l$}Ep_e@ z127k6Z4vosA16o4YzsDs`5x_ZThMM&XakuRbQU8R|1yj=bbYfJ{d*EMF9bS?@u;fb zqyN9q`H3rO{=H(-;({TY#olO9vzWp)v83$gy`|G~$UUNv2vm6D6sBj`O@ju!P z;xZg&l+?p1cPgO0y-xc(F-Yeu)ZK-JQR`XGa+~f$%63*bE0OLtQRq}+S`Eo8Ou}wx zQ34CUX?m=rxrarUKKb;I&~DZl6fZKT4P&&Jw?3s)Kl24yVH=UyA8Q@ zM>?;@Naxm$W9<}PNj-k0-a-VauKhHzo%#mpk!j)=>M!&*YS-acnjNH)AZ>)u-$tXY z+&}Oq8r@?%b<%ydQFocQokB?R3l+Gj5cv~jZKv_bf$(-36BLuS(H?zB@V&L(g!=&| z$^aO4p_uE63U`>yY#}$SBFEFBC-(9=WX0abNlu=F>7wUVWH_*?=hc*z=gi%}ljSQz zd1`cZs6D|DM314g$1x4F+S~qs&=~bjlL2E5QeJFSqU6X&?eWk;8gVUq1ikHWxRiX>P7CRz9vLz0sYG zB0QR*aD0q*Ki4c46f}#2kwir2+DT?;%L%}z#Ly%qwoP*K^PJ=afKbW=;LS0yf|g|U zr<<)}r4{K-;)v@h3~^I^0|oU4(wLxXdEQ=!3DcXfn?-%k^)%2*d{3%%cVAixwGGJP zP9hffZpf|$kW_?A%tQ1FW#L}=9C{63Bzg<#<=<&ARM#?k2Oki57n1EgI)mP)i|7No zl|H1qa6|h8^a;I)TiO3XpV2qCdi_`WLPY4RWT%#SBNd%0Orlc}@;VivH5hFY<$UBE zWji&Y{kS>n$+6u$k|J5{Ff5Wxek7FMY53iNs%xtNFU26*ND^Vud0;pX3;?%nmjUEn zU;rp-qE})XL|-PS!aNpm;bGHf?D zi;MiZ&wPo!cb{%p1cYi+_}B@2Dpk-mji`XAb#{!20X4*Ko) znAd*5JoY1<;xufccYt^9YaZ05Cwi?<%* z-KK)1)s}<$Q0Ny3LzbqlU@QoVW3u2`4jDNCGBN@IiQ5@H0XYSjc;&$oBFF8>Tk)E* zUJ^OBDem$nlBhP!axQBN42IUo+#Z8Ul8&tN&XMuG#$L^;yqXR4bUg@xOnUO2_tM72 zo5dx*EN*94lHDjI^5Cu4Bc;HB$=VNeYi|jr2=~wnzW)Ht=G9}lS8{K!WL^OJ8afKJ zrh@bW_dtPtsEgP$rNG|F0(-YCu#2~#S&POV?HuDZ`E!h3UNr5SU(gfU>Jv214a^;S zx40C)m#?!@GtfbO#!DV7X@)|h!(s)Gr&pd5-6F1z-IjG5Fu1c4ZUzCX4FH1-q#Q8_ zp9;&jmE%QP4h?Yy5to;&=DrDL1ngLzg)D{Uld}V3BUStey#rKAg-9)SP!neatPLKG!et5aI7RuR|6YPEOzYSlSTG;BRu;U9JEu7NYBsPn?nnm+H;vS-{ z;sHtbh{uSwh^MxS7bKpqY!z?XRj{j!!Mw(^i8m>gamY?eODFN91nmV&cs$<56p587my;}ogUQlm zCm)WW5AWi`5%l4C)>6R)ka?+aNGa6A!V!#Gx_^U2d-!k!efXX}96=v{e;|J_ven|7~Qm_|ShF<5AE}Io@Ix#YxN@bTOc-<)kE>gMjbj z)?_~mhaEyrD`=K8kaCWn5()-%luG~ixF|N8W+qB<_4~%b~eSyLGT09 zv(l!s{e__4x+))zpbwAxa0GpLoexLQhd26g1bz5X7H%nkUN__-1EbN|85 zjUeDBqKQmD_w8htey94m5%hWM3?Gi54?o+-ilAGX#cJQIAV3l4`neJGb6?=Y5%l2~ z`)~yPHmvjE2>S5LeK>+%El}=NJ{&>7F(Q~hul3;w`sH5l!x8l1H~Me{-I2(6Zt>v= z`sr`?;RyQhjXoSfAAYxm+nzui5(^Z8*NLQxe;{B;@32|Kr0E^x@z8a0FfWhbVWO4@c04Z};H{`tThVZf6k$J^b7|_RVsW|F)0U({3DQ z7_?N$BxVkJ7yx&CID#JB&emI02$S`|{M^76Wo#<8VIQ3f0e^zsTqR3>g$(*pkGEm zAC908ALzpo^x^qF96=vG)WU5`5%l2PZu^#~#RxwYf+?x&TO!qHKNW&0sq9-K)i^&D zf+?x&TO!p&n~LX6g`k%TFMIoN1bz4vAC908FZAIE`tV{Oj-U^p>BAB9;RpC|1bz5i zAC908pYOvF^xP`tx25*y+z2v!i(1~Sjz|LJp)LRkYW%ba zwoGdQDQS z@ot`@Z620j3c-{-_AQymed9dIlnKs0&My_g6b$w)iNSsINFpuuXT&I&C5o{!pH5*h1Ez_Y)Jx35Dt#suhy!Sv;E#yUp##NSS|;%Q zV=)g`_RYs`&jPwpl;KMv3$b!sM30Jt=n1ieUJ?h>yW$Y~QY@wK@qsQaq9Q1kiELPt zy5c)oJw;6PMR=fCAx4UoVv0CI%o3~crLbzGt^qWTf3@N`ailm^)QJm4Jw8TMhwC#| zi#x;`d|79$cv2iKUK7WP_mJueB8`?u((wnFK$z(h}+d^;tqAT*r+ZMO=`Wk zOIJB_Ni7mL>bE|q@+^gOY_o+|B1L|wsx%rEDSO>);I#)b~Yw{k~L&cMN zym(3%i>Gy|cvc@Op2ICxFX%?`qCQEyq|Xzt=*z@k^-bb6eV2G$KP=wF#UgL%x5VG{ zr{Zn>jd(}z5brrz;(e#9_|WMqK5~YOPn?P3AI=Q%nKNH}?i?n*a4N-@uxb9wIZ=G= zoFl$*)`@SO4dTDfM)95Vp!mUgTKwp|A%1c`5I;L#i(i~=;@3bBdp8}V2<#zcV5roA z@zMzt%V3~Hh60DmaA1Xu1RA9YoFv-?&X(;1m&p!+>t)BlU9xlFewiD1R(1)zCA$Sa zl6iq|WcR=h*&~=Odj@;R-ogHIkKkz8H@J`7GkAd9E4Wzp3$Bm@f=9}M!QKyj&3a zyDSZTF3Unc$OE$+xhSi>JSeM|T#_|V9-K8+9-1{(F3p-F56e0X;g~GXS|wvyjdDfS zNpfY@dGd&?%jBx8n`Cv?U9u+YVHwYQQ68D~maNPARMuyGCmXYN$kpL&c~rQoTpR8$ zj|~r($A$Ni$A@Rg6T%0|KZXyJCxxr!$>C$Y$; zpTjT9bHeY*bHiWB^TR*L3nGrZDAHbD9O)%5jSQ6QB4g!ckty=>$Q*fPWRbio5|h_N z;_}+aaq_yzsq*^BMRG&rDtTk%HhFVov%DqpxV$a$qP#uwj=UrCh1?kV4j)EP@@|uj z?;!M$n@xXw`Czo%YNpD2ObI@AaHzb`tdjSewemr8l6=UVCm%7F$w$qt_+G*N@(J@K zzESX|e9C+-pE3WD&t?nxTy}f;e0DGSV)j7!QubK+a`rU&O7?vDYWBhMwd_jydiEOm zM)oQ4t?YB;-?Fcef6u-}zMZ{QzLWi=d@uWD`F{3$@`LQJgy)|`_fbYP?3G1f1 zB(rtX8a3IvnKbc;vlAvBTFQ<|)-mf7e!@}f9e%nFTCc!eNnI+h5=-(Cf(0}LXG3;j ziVeF3eT^UX{Xq>#3NZS6U-!$Tik&pgs)4UIGlKF3dHYx?!8~ zy7g>H1%S1iWO?k}h@a!}iycQWBheWA?w8?rHed(gx7uRCY8yoqChCUpI1byD^#;mM zmXwkpHxY&*7b#f};aYE4M+^9QGrVB(vX~rUu3lDx9OF?YZ*Jw_HxIuZ@H?y^FKo*K zs<7K6YbXx8w%-lE#<4!$4J&M7740$%_aw}%Th(psaI{Ck5Pq?nkSQ)*ZV8;QQ)rxZ0Yn?EO@&43=_wOX(HZS2KZuPd-39T`{ ztvF_>HsY*`%2j^ID_}Awd}t>HWQyYg7|C-Ul6pq+Tx%qD8Qn&lYxK#S&(^Z7e2034 zznDtP7h4z3NWS4(ewv!_(+mms@i2a$n(+J93As5RGR8#jSf0$#JIRFGQ!#Ge3C0~> zLQBaVnG@PR%@CKQR;D;^8&fh<+(@_GN~Y8jFKrGn)x%53OoNxq3EPNEaGvU&ilp~W zkYtEUBDvi|!sA2Tz7r%F;@kyT=6tRg3^b{YsRbTHSYU&=x-`WAE^+1p|V5>tJ4muoyfzdnfj_6F;sOBV^v2n6(3I8Uv&`+R9A7Z z>LD&wy|9w)ja6(vtXBJrJJmp}Mh9UfnlB#5s`dpnM7*qqiNC4g;v+R$e4)mOZ?V$- zNsW^|)dbmJO_ambBso&;Ehnj|avxPFi`6taM-|BfRk18r)8#5PL)NRA@&q+YUak(1 zH>uh3aWz-IqDthy)O`7~LTyx;>ZcA=`>920jygzHswHZ*Iv5{kIYiyA4pq;n!|)M` z!_|LORJT{spYy>t)bC3Fi^SV00`AD7U>`*7+^H?Vb2B}j5Me5YRe05r& zTAdy^U7Z=YSe=F5KRfV(`g7o)>fFE&>bzhlb$)QTx*&Lfx+r*%x;WUNE(xBiE)CwQ z)(5w$%Yv_|D}!&VtAd}ZYl7dZzXX3(*M+jx^`VaHhET4$F*H#9B{Wps5*n>;4eh6H z3mu~F2vw>(L#L>w(D~}F(Cund=w8(vdP8jqeXO>^1@&ILj`=fA8|{Hr$(g(=!BLM~ zZ}svm&2-M93!zv4MEf~s!+R|Z@3#`W$_def;uxDQ82pYVxa$~J!4qp1gxoa?!`wAX zAoR1hW|liORU;*o@ zawkpL0X;9so^s+AcV)wi8>qxTQr<7rBS`09nUW9B$zN!+yV%)o7dzW&DAqfn9-Trt zdq*OX&K-V%yOdo6b>0E5hn5%_NeS=}oWd}Iuu?i_5dZv4hyP4PKhv?^+p&P)75@R} z|ARV&d4;nFj;uJtIFaWFbRN!F;p1cOLPpkNA(IVdbsMxxcKvtP6`PXlie|zx15OlM z)V-d|#OZVIRSzy6x>-HUi=Jlnm_7cHvV^%axrEs^DS$&y4O?@kHP$4&(+I_H2a*By7cDUpi8d z8?gbCYjPv0J`*>eY}jXF!;VWf?3kStU~~k|BawQ5a`3&HJ=8-~pdO*I>QP#x9-~9l zs#8x9t1=F%1pft?uaGuoVM@t!PP?iNL|=rE8vfd zL=MZsNiG!5x`exrEJtBstR^GOTAS4ibFeUq`Dam*XN!sw-dWpRza4u>WT|yf8^8|4 za2b7qdcs-D^CMmA0dd@=S-ps*^Hwa^U4~8KT$h5Axz+J=yWT(QC0-}{T>CUUdy-s> zS)P~IU~A8VVg`piuFb-sngrKoCAby=munqFCb$;Km}|Xpv1!AO3ZE~R;xGWIxACQ@ zcfphIQL%a-pQ8GZqUvKhUVTC*t54}%^%-5NKBp_xKj~Wa1zoScqC3^Uz>8ml5C2Uc zD7X@S|U6jVQou-ayM5eEry9&fa>9-O7&emvH4U>2QBCs_`3=v-Rk z;OnU1luIdYc`=9;`DvCHAvi_SUlSph7ehi>zH^UXv3PY$xC9}K100yZ!7w-dr4USu zz^C)rxwNaxYCqF-EBvy+W;^ZnJX?{5nv$aXb->Sf*+-OuKlKz@%+ z>Mb5>DQ6>fH=G2{vu$x*kpoFF8?dLEane%a3+@>z@^*SfdbTDBvR#9+?LlK|QIWUP zE7AuQ>Dxv{_*gY6!rz|HP?7i3E7C7xMXt?Uk@wRpG6)qJ+(t$CTsKn$ADwSq5$c)V zze6%rguiswiXu4t+%vr*BT$i%nJZ!smZKt&h>32Vf@y`jIhfx=HLH)(k&U5%cD-}m zehw!4Iq3Wa)2>CP{^3<@e~2jeL~W0r!1if6wh8c=dwt+8*kf4925Mw*cTU+O&jEx(z4CM~j$6#B)8cyO>7E?7PtQbL z&pZbZ7lXDq`}!{&a)SfQYE|;t+mw_$7zmazY&MAU=mr zy}F?=M@0CKVOWS`v-!0h|7p*Ea`=xW1ul6&up=kT;c{|1aa3pilgod)sFF!RHkqq` zGKaYC@pcN=d($v{fa(yvFP)*M&?S05x(d(h@xiG(bP?UBi|JuKou1V*=uJJ7-qEw@ zQ;jns`T*LdXA7n0h#Xxay6btOAHEGWOqXF7wOYKaYwUpFDg112Z-@`(yprHQggpL3 z$mKtdy#bu4XqdRp*}xw6I5D!?xe+0U&JZ)5n|OUDp2Z2hn-L1yDY-8Ncc2KKeFe_f z;oP+Sk9iauI$e77=+O&e0H3*UJ>jT-rHg?hTZ;j2!npiv#{RA~3Pa>&^oK^>60@KxSBJe>Lg^$bZvmc4Eeg-05ueGW!()t^S){kyB8SKebU2 zzH5UkQY@!usK}4$6*)aqMd$_Sjqa?LGB;CEdgik;Wfna%Y6o4?GoRNwv)7@Rd~n}G zCS@lt9mz#)BDsr%h6&GW#_Jd#P;GILosayf?XwG>p!OUtz(-zpG;5YMIg95!!jG*w z#CLP_gNxmB%^F9g={Zj1zTyxxJ(s^lw?m#Gk8YsQ+#!z+eGn(>Ftq04)F$D#%syRl zfpawQU|B~YRL1Dbs2e^Ow1>Wu3iMSpRbNfB^|iE6|HU@Low^ozgFS>R5AIIhW|2#J zJ9WcF7TbBPCX0g3rk~IvA?lKC9K*8_DiFw5I3StMGdF-|Hl$E1p$RdD#7z@NgGxNf zjKL^!0H^&mWPH3K}w7=r6CEM#~RGTeiV zNicPdet?$fhp0k7OjY_(TCE?WKjuzB4`{d5xyR%57Lwz~bS`)aT<~&Aha|WFT*Kde zWyyg#?CjQJpT?&Ty;oD1sik&*FRF5%bH7)iB2Vm_{ANA1z}@&xuhyIRG|*cq)k+?Q zCF4BcJjm5@9!g@Y@G#=sCS%k^*h(*G*2T;ec<$eJW?T#Y`wb;FLoDz1V%>bhX6C;b`i zsXwPl`k%D7{*tC>_nH#4+xT1sj@3lB8&TYu=agUyh#kO7`39B#~><t0q=yag7oKAF;)0wt7UFcq?D?RD-wq)EFVzZWd zTElt(Ho=pfCtz%MV4*oXc|`H4B$1zT`y9)Zha5Bv13jTuS%~u#AZ)YQlY(rsfxVB- zgO#pL8%DvOa7jZRE?;oD&?j4VtUBD+#;W*NPE#136}d4G70C|Q13G>i)H$WD$l@BJQq19S0Bl6>O2Rofd}ybl&G`_dq13OIScl!2ab zNDJYXuy)w0@fCUt!Db9g`4^JP$i=8AbJRGmVsnP1RSfS55nwAegyj%qV#bOCCL~kSk<4uq$xBfFI*BY-KGGu?@l354#?>9`Xm7B7lY26MJ#S*;#UrD4m4l6T zH;m8exkYdC9MV|b(_7Hx_@fxC?^X1WJwezLgLjjg+wb=7;3L94UqMu}GsMjRXCcPZ zK~&+m7pC!eL8X!ejyW&m{tO;3G3OO5nOtFmst?H93+)Ld+q1vd`?&P1Cp_Le_=CVM z7je)!hFx52SF#=8R!p+pfOw+K+^ugwM|gkU~)KU$-ll0u+Vl#ECK5iaNS z5LH1wGUIe}dkOclv8w<42AqRWVoq6a;FEztCl43C^}rrnuat^+OLjvyw;LFzy}`g` zJWaBL1DfJ;QLki-dE0~lkAauclsw11pd(>Q=6RNX0v02;0QaGKc=#d?zMf!Alm07& z`Wx$L$WZ^9Hte?I@`ZKOtp@_wII^$TpmjsEN4HeH?iZ{lex)wBJYgtMj&_u7A@BZm zfkMT%0`Y7zCfU|8t|Db&ywAg3G6rK|G}xBscFabj(P-R9>s59_Yp4)0qsH{zOG56Lu?!${z3!_KDORXvQwZHr|q5XIjsX=nR{Y@HmEWAG?u4(EGk!IrOFfUIvz+Cdo>pN85a+G zI8#_Y(RC?9m@c;{Tic{vlp*IIiFsI5TXrEae~W(SE`2DLyE((|r=^Qklm4i5vBqMz zbg|QLi-S#iLh0gAlm163jG|3?G9E!3*2V+C&+*7=(qG~cZqi@l5oyxj z;$fQfcX(ts=^ycE*Q9^O1N!Z+c;qxW0*?+&j>e;7lM}?FQilY>W> zCZ`h~U7MUPcyz;=Mm+MGoIE_bH#t4==+Wftfk)3KXHPtOH97t9=-nhw#bb{qc?KSR znw&v+^lfqq@Yu6So{h&|I6jR>zb0oG9{rn~k$4Pfl9%H#ut|P}$Dk%>3?743rsVjwcK$ z6m|ZI(5;XnUw~u3b^e22H}t(1+UES^{9<9h24GROp=|+`gawkYU?9w~fk?mvvb|9I zK#rHAqnjhpCD1j{-GlWE>|xV&3G@y0v!VWh0fE6@DBlYW4Ga&Avaq3n(ScEcaj0>3 bjOQqxloP^*L#GGE2eJYa0+RxJQ{MjvH1JGy literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/character/skills/temp/TwoStateTemporaryStat.class b/bin/classes/net/swordie/ms/client/character/skills/temp/TwoStateTemporaryStat.class new file mode 100755 index 0000000000000000000000000000000000000000..cf23c13c377ebeccf9ecba7c521c9d3005db0e00 GIT binary patch literal 672 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 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/friend/FriendFlag.class b/bin/classes/net/swordie/ms/client/friend/FriendFlag.class new file mode 100755 index 0000000000000000000000000000000000000000..fc7a13a8fb88e8cf815637614bf01474bdf4756c GIT binary patch literal 1742 zcma)7+j7%Z6kW%%Em=7s!U2bba0>x!lOmwd(mDwVAtnKX0R=N2o)kxM#VGP%%k&5O z)?eX)nzk_Q!0^TlAH}fukr|sw9;^p%t$kT%pM8-(fBEkNfF(TDkr22LdXe4vz180F zJ$tWXHv-=aBYU?^V#h8kQ4ZW@1_DWm6w(6eSS?Vfj2KqKlB zlaND}>h5mfhaOuFNldUs#xd3Ko8hoTRvGTMw*9~x7>-CBRa||;fNM(P7+a34HX5yN z80|}AM&dX-On&DupgtjSazDXPwx=b|U`{}vudP;|tUCh5XCs%$#5~UFn3Fh<3j(P| z&+Yg(i;S-oZ@!JxYafQ0Q=!br^ERY+f>PK!CYTTwDC9dJRfJWyEh)n}2 zlhiku;unFbgCZ%^K*oSHFkv8T;HZIP296sz$+2q^x3SK(RCnnJEaVHLSCjJo7MEOW z?NA{nDl}6Mx_jGRd&}JpNV9Z6TBDD&K(^9qxIxWr`^?uTO@{6sacB2enHDJe&8LfG z9KRX5QMXNg$voA8l5KiXjccdn3!Ahmi?oMv)k#72;ihqi7Dpbd<&uEuw7TtvSEfaw zI>d9&OMQvwX5|W1yFj0Wv6X4wZ-68%s*<#pO41T4Njs+`t(cOuP)gF?C`tQ4ObMO_ zz?$K8Ae<(?GS=ywJA~#)@?-XJ>R+7wi22uq1UBe5t!(VSfX%-DHR9t4Gb@VkkpBq5 z{)zAW?~+EwUbu&fveW317oWHR4N3MWUYvc4OT`oa;Obw>htE7jR`5pyIgDWn%$1`^ zX1uTN!*6^e4G&10K$T8kr>^&4Id!9lNvCd+Do28J(+G+ffyZ$AhkT;G z^7H5abVT+iO?!)<-#}C7*JM&5U7=DcrI4x6VmhtRxI#<1u8^hBvSBDRsnAU;ZN_Md%+TW@fR%OAJA2$SA*YJ-7UYCPi`)QB<_eGB8*AxlL60)J2| O68#2j;R(egQ2Poy=4YP( literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/friend/FriendRecord.class b/bin/classes/net/swordie/ms/client/friend/FriendRecord.class new file mode 100755 index 0000000000000000000000000000000000000000..94b6855e28175428aa93207b487fced125ee94fd GIT binary patch literal 1846 zcma)+YflqF6o%g^P-qE?R~%#egb~W`Em9>c zr(D^y3J%AunL?Og9Z8i5g$Yk$m3P$Vf7~=nYa< z@T}v)UV?KujXb6~_aU4)Rgn2v4FhuuJ^#!H$4xcT%a%JDcd?)ltCCx7itC=neR0Jl zO34w|1C56wtbLaRY-#Q9z3 zKZ91$w&lJY;SkxIj+fQ z=p3VBCu;TVMp{@=$;jv#=EES<1es|9 zBCRGMe4=Wx3}*2!$YK~|E)wKrG{|BYWPu=yO+cjA1%$8S1&I6)GO`rzk)=qGLUfNT Ug+W#bvf2bhE}IB%`Zaj<2U*TF_y7O^ literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/friend/FriendType.class b/bin/classes/net/swordie/ms/client/friend/FriendType.class new file mode 100755 index 0000000000000000000000000000000000000000..c13fa83ffb8b53be122c8ca59e55dcaef4edf1b1 GIT binary patch literal 5444 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 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/friend/FriendshipRingRecord.class b/bin/classes/net/swordie/ms/client/friend/FriendshipRingRecord.class new file mode 100755 index 0000000000000000000000000000000000000000..012c1f8fcc6043a599b8d48ae107181d2972b3d9 GIT binary patch literal 1345 zcmb7@+fEZv6o&uZmX_AxAYcn3P;N9NZ5kjzxStN&vay{p?VvBE7bb#< z7e0UwW&GDnVWgHsGs#~2unyn+Yww@GzW)I53NLaXX$8I`a!``i* zYBx|wzcii+wiJ@3m7^R6kl4>M$^kL*_7 zgxM=up3PdA!#u@`2nFpDKvl(I(ZYRkn1~(X?Beji!ZJ$K)^t;=3i)1BB!!Wh@$}AF ztFGIJPQA&Uv6}BX%_FC6WZm6N1t+GXuu=PO@itjE(nX z*riUtE)}lr#>%h;PcGHY9r$N$S8p4UU@Go)d<)j(vSOZkCU}{X9N8Am5~6-+DKhOK zl-zEPD_q&Miguv<4eCqiR^}+jGOlv8A_qLgBd!$I!XOE*hh>1`YU%=+)$#>~E-)^( z(6x8DA7{<8u;d%S5WivG$`Q<9G^~;jv5Va*%!$WXXEi0Sf@1`m;7nk@qWGDU1Y+3n zzOYY_?*?xXHp!TDdG;K|7)steP$1OgA0X)~kTgU`0pT<0=CT=c39`@>j$sqd&+( zFUTxG=57FyMhXbu;uVOjBSn@z^(eB~7vyQ!P?2+seE9hsTX9KAf+2XGaDK`evSZsH@sMG=Tsdl9GVN&|IplQ|3|xW1u=~%vfQKVL znpAxg6Y~)znVmB)at1B?)TDfKBG(*-W+K;2I8VPJDD}w<&Em zVcnV()LG@y-KgQs8@PrA23^fe*giw1TxsZ7WLP<|$F}9$;@E1-&d3?mJ?^`EK_COA zrDR}PY1v4%v}NS=&#MDU;oZdC5PhklR}HMG=wce(5MwXm%6ZekE#+KIoi*m$ zGNcxah7dfc`gR!du((b;wocp4iY2vW>O_{?xI<_XdyfpAfcjUki|>Wc&_Ahf<_qSu z{SVMy$8?G4bV^rb2Ds2FAhv8_hp-U$M2BMT7bAQ2=Kufz literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/friend/result/FriendResult.class b/bin/classes/net/swordie/ms/client/friend/result/FriendResult.class new file mode 100755 index 0000000000000000000000000000000000000000..85a38fa8c33b66c05c8f52828ef5bd27c4d51094 GIT binary patch literal 3704 zcmbVPNpKWZ82(<8$z&!E2oa(~5CKQc$|&HPh>}EbBniqulpw~=q?2@*bmMdnh#T(v zhPww3o={J2iG@^IRC&{jRaSZTW|b$8E~S2dzfLA0QBpZf_gnt;`@i@1oA3Vq`WpZ@ z0hC~Q67%!N=$UqhvI?zj`=$NQ|KY3ipV6w{M_ z+Mt*=K&8tdC{!F`3M;WuW0Rl|7vNp1AXT|sBaJJ#X4HIzRlQ*`OMz3!1P|Z z$8oL3b+}%kzU*g4gi(%Le!u-7(Iu+}MdL<|o6x~9+;Dl#jO{sG?1ScIpGb2|e1|tIL5*sRN!1gxS%{#cF@Ymg^aJvyexcU{Sv{%YN>fRh zyxA~@dOd5z%!YbAm+Y*;QR!3e6! zYMtdhq1aupeBbu@DX!rq3gMHtB91EL+Y!F`NruA1;rJ1*vkQh}cKYzmCL6xlR>L>j zDc?2JVUy$YQO7i&2G3kU$D2IcqS|cpOh~Mm@Q! z(Uy|$p|PocpiC8@>RMaAM0^@6rg72dNSVoHTRsuJ-}qDfQ4SmU%kdZRcTRLRpTU(1 z(}>1f6#ClEV5`FWSj)i;3g^(--`+Zn9jE{KekSwi1G@i$*>h ziQRf^XZ|~J8EdlC3B#?+rh&B4!6_zGTcYs(Ziw|>f1 zlb>PEt<0|rb?BbMoO-!PQmz(pJWmcOyug_-h!(l`2;YX$FVgEvc$quG)BgEhi!)xk zLa!Aes>bVX+RoDJo_Su)nJIfs;1#?Y+5V8WtLdZNWK^Q4084gv7{(6cAUe8qh1aMdNw>>g zCz_& literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/guild/Guild.class b/bin/classes/net/swordie/ms/client/guild/Guild.class new file mode 100755 index 0000000000000000000000000000000000000000..cfe08f124e33bbf2778098d07412ac9cf799e93d GIT binary patch literal 24084 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 A1^@s6 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/guild/GuildMember.class b/bin/classes/net/swordie/ms/client/guild/GuildMember.class new file mode 100755 index 0000000000000000000000000000000000000000..4ab74aa4cc822ec79d884a93683d8033eb637a5b GIT binary patch literal 6353 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 PeEKKf|3&Srj{p6Ch)a@( literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/guild/GuildRequestor.class b/bin/classes/net/swordie/ms/client/guild/GuildRequestor.class new file mode 100755 index 0000000000000000000000000000000000000000..07e090a1fd753100a35f82060f668833896dd632 GIT binary patch literal 3629 zcma)8TUQfT6#ga&NxDFhWHmFB7@nBcQ?`QeF~c6pU;-aYn|=`mKVVx2+uYQ&Svw4f^Y(rnH=vvh`e|k8eG7+^9iC zBbpR67v|EMttZV%YanOM%6|nNvBxviF;<6Wv_!B*#agr~Xn&mj6+|++J*3U*3f9Cr z2FtXJ*g3<@IQZ79*nl>Q<`+fR#+FOE05+-Ej3*S-&}=fTVC@p4Nz>Ldx_G@6+alPm zVh7q4tS)csNhpXKrah)*3k1f1B!#D4Dt05Lpq4mts)^>VQTS*u(VgjQz9Fs?4UlcXGLzmiUT4SrJVP%8HZFH#t}i2A2zdw>7p4I z`5qO=aNI?+_%9S27c^0{)ZrvfMewwWJ`m=P>R?!=$*eOhGcjDSFKVe7ohhj5X39$I zF7*mpeOPw9jbcE&ZI?~Xsz^GdxVq#|_CGHk@_!VEL}*CGFfJ;nbA<*iGb7ZU6R-hX zRxyH6myW)ymd`6_SrRtqV~^Ctn2M{oMlvOhg@1*S*@|%$H}DKIWL_dRJSo_dmDyAd z{ByV&!SgCKFh*|R3$~H<%8*-!rnLN&7`Rc9V{Vc5bR-2tT7@nk0!CVv85L77sAxKA z++3mNC9z1&sK|;^aN3%XwW-3Abxl?hK)&2kkplsQEicl_xPlFr3#M(%>SIRUn8@m< zOw+P8i5mr5ot^F^=JZ_N$lK&rPbAYl3by*2ip9&^XA%9xBXE z=($miPO=jXS}83%rsWJ-dmlsgltHh%R_I55&5+wkJ@!dMj4`FEtH5oel1mjW(JfU+ zC+y~{C@<6Xsi2;YG1jA1E~uT4rKO;L#AXRz(B?c>!|di-md-9|bc;#Iv`{P|sob`_ zU!>HY(pbq+Nn)4XT899)T58x^q$}2qScP0lA25XMmZb+sw^;R$VLwyRULdI(d;;u1 z=f6fL5V^(kD35K-?Ep`~2uIcp6xdv?=BmJXp6lB>?qGo*Slj#*kVDTC3v+(K`NkS^ zW>%3ivwEDFHRH*y;(V9SR30y44PSWFa(szm`#39{YvMmc`N`3HnWJy+sb9E8xWZqcBmLhh_Yex}J%DktDeKH>`;%Is2HhKxPljWUg!7jS9o5xy= z4Z5QOL01VuR|&!Ec*Aoq!P({K0U|%rTmZt4&hey;~V?C??s=CZqoEbgrU z5-tG=mw>#5w>=<#Am|X5?2H%D+f-k~33=-;;*8AaWDa_Z!EX=={eY0O_8V%8xFB$X zjx*id4%pA2AK)2$5N$ZbSRLl+e3V~%aD?Y+FYju79M9rJ1>|H2auV<0T|#}2mewIK z6T!)U`5K5I%2%0B3X$*Qp6Aa!dK08Xcf9j^)P(ML{)qV~gVy!CocRVq(bSJO>jWnOTXF~Tl0S?xuNUZhv>LOP@{!kd{7km+hKGQL1~S6v2# zp_#4*GD9HQ6@W;K79hL=`T&`&24eXF;bqtl$ZR!`Jb~CN0Fg67fbgR1XKSw7)@|Cl svw|)6oKfUH?%Apg^IWx4cYT}+;4`PTK6g&QMpoGuTz^S(JhHy}4?Co@^8f$< literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/guild/GuildSkill.class b/bin/classes/net/swordie/ms/client/guild/GuildSkill.class new file mode 100755 index 0000000000000000000000000000000000000000..19a2d2ab99cdeffdc43aafee66f2ea32fb27d1b1 GIT binary patch literal 2518 zcmaKtZC4Xl5Xb*FLIPnC0ZEIrN~CCj>e^bXHi{1rFf|2g(zNz@liUNV%Z9VNq41sh zqCKb5b9~Vc&=1wq|7>!SxLJ6?PVT*PXMQtxX88BNxBmcmh+or4;9Lqr28NMTxbVt4 zv`oixcg^kED_sv1k`HXx4ptS;<(8_W7{O=?X#-<06t1~CF#X?}Uc=VrzHinYTf2d| z+p?X8xhdcBYuj-YQohLIx`HZ-jq?U3a6w_%(TAGnsw}%x2BvXQA+3)NY)`LSfmXO& zia2QnwqtJCj;`4IIxqJ!2HwN_q_4G(*Y+&Wst4NJvi5m|99C)_78{W8NU`}pK z>!U!sjdw1kY4Jk?mvKd5WLF2JHX_3>r;)|g6c!A8ghhpg2wA=9y3Co~bj|Hnuw&I< zYbJ0^yY*&6m-m_;S3|k-QdL}BH;}`U!Z=+N`r@6>Eu9^)K&%+}7&pk*w!KkN$mY(z z*7j-|xP?y`IK4g{$ks*r9>|yYyKUez+)*$(v4ojan8^*QxBc8Ta8LYX!srHaEU)&3 zfxHw^!fvGS@XTx$B!gDX;e*b;Xt@C&zH0k6H=ej|Gq5D(KAnX$N9KX{eA}nfx;BfA zyu#I(gH7#fj}_LaT24z-X~Yj?y?cD7K0Q^A4?_LodSRCDzM5&&%&w;2t?-T=?a|WE8VgBbqGY>ztF>R#UZtItsZz6UIaSNEW!>2v z3ifPfWuPuj=~CKH^R>c`l}=^B7rEv4Z4Kp$OI68Kw=2f^v%h+$xgM;mOsF+b1spEz zdLrZ?WlS^W#rtTp*ISEcq_f+C3~ZQz6&sWU5t%MGTV7qu6k$4hlj^2azrv-M_bjmN zf@9j6jX4Z6E)V2}Qzsoxz;NcVc}6&66&@f-$%^OiRSw@tt{zc7=K6`oQ><}=QFsIR-5k`4tE% z;7dHGR4Cyqe&4Mgsne1Z>7Ffa1j36@3PJi(_TKd0=u$M(kNZ8Sc7JRWZKn?;*#${<=0*bFhxPYE SI6)>D{f}J#M8uzc{PI7;dg~Sd literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/guild/bbs/BBSRecord.class b/bin/classes/net/swordie/ms/client/guild/bbs/BBSRecord.class new file mode 100755 index 0000000000000000000000000000000000000000..4fbda580b161b239473b06bb087e697292a36e97 GIT binary patch literal 6456 zcmbVQd3+pY8GgQ8n{1|SNDrD8dePQoL%IkEg)J>jda#hRwFvGWawrl?(CKZ zRFFeC6)zM|6t$?Rpd?sO#9I;X8*lNz`}otJiqHGa>}GZ{>96?5?#y?+@AEzH^?mc? ze;<7uzRniSfuG7p*Qg6WK=caL0U>5s>Sz)1` zR4&@ z8~|?j1?Wu-mWsABszr1dSSAze$GuTmc#?sWu|mPnB5l{%W|l0475x#^dY?P&f;D81 zTUyd81FHp0gPn7oBt@NKU@g`uw2oS(Y<`DZ>>c4o$X7Or7oanNE(0laE1VLM&GimR zrt*e5G4Gq4Yr6N96>YYpYcTqc2+D0D`+jgOv*!lcl=-@uhHxe=dc zuAW75$k(=uf0-i%E7LVBp^!6>7l*F1^U^$EU{spTcHqmxi*4X49OORCJj1odUjo!! z`;xc<;|3gY^?6}+V4%%NjaEl zXU4kPz+p_1y^`gT)YXiRP`Wr!cKl%4Q?&ASj`2(*U5l3|@CpO3#B~ZM&KRjiI3XOc z3$(1lIYB6BcZ!i1R#+oL>w1-e8*n2Hf53L~TOC5J^`6}m676Oolf=zQVseYy3!bI0J{+DExWawJh$`C+qAwm7MoUcvS#ZGVjU z)HF0Xq336}ZQnJN9lDGLh>_ptI)|)ciGsP#?73-{D#sQ4Vy(<+CgVSY0ReSyN_@8a%iE_ot;^qz3^cprsr6Jm|=lu z{0H^XE$%T#EwA4-xr1XS@#=wrNt_mSXU-4nX6+&7m_hUlt2+Htn6I=^PGa=k)GR4; z`T=b=SmNPjz?=x!Y}9e6(5R~bj~jeePc1CqY*x=I3o2vPlSM*S(S;Q@*VF?k?$6Ub zMN{>turQq3^+`dfTT<%|49Z{=TcXpSmu?Z=MD09R@MI`Es-6s+SwnS#Qs_C(Tqofs z5?lS^8LU>!1j;78q+56OPG;#hJyI4UJ~!v_fsUYX}K+$4Rn|KuJK!LAPAYS(4^>)T>@8Hb}luSf+K<=8f%4{3Xdv z9WjI2_8e>F1!cdVOqdqhdR@09d3|EQDvh~$Z$T4&nZ&Q~>ja)L@EiP=$$qBL*v=vM zASJ1s9l3zF>K4`(5{7c_I^HYS6#ZgnDWg>QwrF z4f-m>s%8rg-ztL9KC@65TBSgb^+GlVYUo^4W=;7mdN93E$=?gZem||L|$t76m^_Bg+-~JDJ)HOG)!T6YH{Nf zR?eteL(0JWuCHnx7GXU)cm-L3PWE>3qMOp{H~T6A^;D+$lWla%jh&m9H{npAcgtm* zGUZKZYb4Z9;%ET)2F{lGXLYBhv1S_U<#}rGOi$wsX`elfj6Aml{k=!ALvioxXRxo} zR|=qqJJ^6Wq_GsIVHK~>oj9G>;xjbvCBCLA?z8YH9wQEgPgU_e%{hWK7l)^Uqk`+A z0N*TJ#7d026b4Q`ioFW=U@>1VRd@nd?CS2B#!HVp_pE@ghuC-neU=mu{MiJ*k>JlE z_;U$9!)&>j<+I=MR(|BCdoU3jt7i{Y@l*w55H+Cj4_%H2v zPhefZds^=sXiPnfkq0=lP9qV&1o}c=)>!qj&(eUtmu=>3F)NJSMOU&l8BAQuO`cSus~ zK8mqATq4P}lEe!$;{958BeT{`%z-zDRCH8xNQcgNqT-uX6;hEKX`YRN3YRJx&Z{Qj zT|Ge(Ud9(c37^~0(QwjDb!r-gBhNh}2z+N)rc2u`L~twS;WiR-JI=%%%*%IbG$|H` zZnWTA%(_x0Hdb+M3~iBm(cQ}okSTCYZbXSO$)m8PYtErVAS^^b20_NMPf~D)WZvQcjyQ2PZcSvS?Rc1TB z$0DoRw({f6_XC+{1TtGv-A|x(8h1xUEzqL;Kxy$swI$`u7zh{$1k5LzdzRgcM8gp@ z)Qc3~0)7PwZ*sog8YeL9q}nOXY$NK7^X2H{N8yj~V@{~U)A|r5hq9lr{Zmfnsq1I> cIU9oM7u51Q{2qVApV^aS&tLF2`~w~T1D$OE6#xJL literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/guild/bbs/BBSReply.class b/bin/classes/net/swordie/ms/client/guild/bbs/BBSReply.class new file mode 100755 index 0000000000000000000000000000000000000000..63f65d983108531cbabdd5741159a3462a2f25ec GIT binary patch literal 2444 zcmaJ?Yg5}+5Iq-+jg1I_5*nZ-kc7lGNt6d^o0^dDOw>3)z;&BX9ofF)Dm5}A$!Ymd z{m{-7I@1sR0sT>(o|TNDLNH@%wfFAbJ@@QG|NQ&c-vFNDeGYx-&md)B0BMD*AMB5| z*|OcHxn299>w!Xg$#I=vS)o5)sAe&UYz8?4LogKbt`1E9=eE~yw7Kt_^_HXEz-)G$ zR>Q2-d~PuoG;v(^=qC4R0L7{OHqBiwP??z$alg_&~9X(w=6=BCrq z6=z?Uw(IiFgko-Yf*rg5lO_RK?bh23ZMl3;<*hn;XKQU28GDle--^U?QuI z?{Hzob=!e0l=})3A%b7b1MT^a9}u55twu@VX2QlR?P`w|)2Q05j;7I|ABf&$v0Y-% zNR`8b(B4|#*s55S_X^Vq{@2>>N9_f4oMm0etM(L1@m!p#nMTd*S^B+-?fTIkJ*C!I zNUV*reocFoh?TK&yKc9tw&#f6T}%Z(I%K7IF62dB#t4gfD{lV({z*zQt0t-i zcJ#SoJ9EKaQ~s6W?O#tSa6L%7r@V=|PSbY1fy%9s4F)Uiqf4l)`HbAbbx z&oydKC>7;E@lUAV!}IHW%B%)wL<-Z`;F|!T5jOFPQXIVIQyjEtnW7vQ2gT_lWQzBW zFkHNUgwa!f6FdPZjJjS(SOp3hGl{b%ZM|A!k#9_>n-8*!A7uPufXHf`YOhnFlFy`w>G3J3i0g-B=+PM<=^l`Dw*WYv6M zlJ8IgkkL4h^+X^$Bs>AgnX-*i^O``c3xG&Z2_x?kQ}Z;QnsOqL-Q?6fjWe=CAnz^! bB2$3hP3(m^sD$HUg!;GCtK9j{$M^pM1R~if literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/guild/bbs/GuildBBSPacket$1.class b/bin/classes/net/swordie/ms/client/guild/bbs/GuildBBSPacket$1.class new file mode 100755 index 0000000000000000000000000000000000000000..2a78980fdea685709177295544573a4423b33144 GIT binary patch literal 834 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 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/guild/result/GuildResult$1.class b/bin/classes/net/swordie/ms/client/guild/result/GuildResult$1.class new file mode 100755 index 0000000000000000000000000000000000000000..e6d2c7b620c51b5961eab3d22cbe19b067f5545e GIT binary patch literal 2076 zcmb`HTW=dh6vzLQxN+i68|NNM3xO#4@5$;_rJeA|Cu>+=JLZ| zU*7}pJah^j=u9FZaR^-kQ;rTY{=Vx~ES;(Q8Pm436J&N8mR-qs+HcrFW|3j-&aM{d z+EaEz`vS8QlbiX2w7uAaZuBIPk~j=0F!NshJsI}2b+o=0S zGi@VG+i0e3w58p#nd_l>AC>4uTA-i$+{(ME5?Z$AT!*GMeX!|p9s4B)Fes4Z@;S;D z=$x3$B{3{;?6%rd8Cy9!nW9^6nAHVK+m(6Gb3M*vRN|p1lLgCZ%Y?%ZOC0C$5GPvJ z!J?-sx~S?p%#|IFNIc4p5q4xftpZ)t`|*6(^O(fr?CD+AZ*1k9JuA?mfn$cm6Hx+7 zuH`(~^pwOz6kfK>+JoUIC7$B&Fps`r1=WhD{xSH|64PuMWXr0qyL-*SqZ!Od%(5Zf znqxtEwJ3N-;w%S8Ihb?If_k%{>)YBZHtLb-yu<}Ig*BimH63BCBG0oD&qZlutF#_E zulKZF@|N6fF2p5Cr{aDmMK`c+-O0N10{Ixf*@ z*CeuRq>4A!ZE+=v%}Xq_$8v44>k>JR^|hwELJJc2x-5~8qBPHP&9d#N-=ai`qXXRb znhFA2hlbLwb~yPLC002e)_GMqHCl~Zw(_eST$8xL!4s{7n_Y($qJg$II8iq{AIYY0(Wd%|lbS^Nwk|zUAx`bWn9GNo>=xJ=i@$Nf)&r zTz7rSU*;S~ds!-mul@8GT~O?lF`s5W z9P>G58S^vDM`FInd^G0E%)K#RWlqOD$J`h5B6EMtOUwf?7nlcQUSS@Jxy(Eq@@E)E z4+b%UA&g=iCrMA?G|rKp$5qUc&SM2-(ly+KNm{`!e9{1K;ce1)@GjmXeIFm-L(-4% zDejVffp760>G${%Kau{7U+^pGZ}=U5kp3wkIx!>?A}t0;2gR5eCpE;3I750?ToGB) zIk6(jq-)})FsWT9Hfhsz@g|{*_f>j!(Em01?_z2rNshw5Jc|77|9&8W*TeC*s5T%{ T^fbdSis}TU!p%)D>F&P);M4V5 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/guild/result/GuildResult.class b/bin/classes/net/swordie/ms/client/guild/result/GuildResult.class new file mode 100755 index 0000000000000000000000000000000000000000..1af658f2843219e85a8de56266238f9e5ce99467 GIT binary patch literal 8139 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 MJ;mVw1_F@#f630Bz5oCK literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/jobs/Job$1.class b/bin/classes/net/swordie/ms/client/jobs/Job$1.class new file mode 100755 index 0000000000000000000000000000000000000000..b02ce8865042af87f20cd5ed4bf30aa4e86527e0 GIT binary patch literal 804 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 CA;u5@ literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/jobs/JobManager.class b/bin/classes/net/swordie/ms/client/jobs/JobManager.class new file mode 100755 index 0000000000000000000000000000000000000000..9f457db98348f6d6aa12480553063c34ad379711 GIT binary patch literal 6085 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 E0IPoafdBvi literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/jobs/adventurer/BeastTamer$1.class b/bin/classes/net/swordie/ms/client/jobs/adventurer/BeastTamer$1.class new file mode 100755 index 0000000000000000000000000000000000000000..f6f1306f876a0c63a2378d0efbd581c2b12cf095 GIT binary patch literal 1099 zcmb7DTTc@~6#ix@l$OOp5l|GbRobF15Pe!CLZh)s0h1yozD;+Bc3?YeW~LbYS3Y=& z5B>ms*T3NPFBs1j0vJMKceCew=VZ?L=3MsEpAR1a+{f)S9ELe1tY==vI+Vg|8!w2Y zP}bXy8^+_|F5!+A+FKFa*bUwmI)fDY(-?4(#vsE&uknR>h5_4>rZ7j*wO+&hEV39% z!*wx?GYn(fe3yG2DL#uCAzRMIXn^c72+eUo3mJjh}c`838{oW(f9Xg4h4 zs_9jg6-}WT(z`tBi1jUoiDI=>J8^=jQ z%rMmADvU&ZM@A9D=hGS#w7BMhr46hQ@=q!4=#)wF8PAIL3vYu&thwH+TW(jm;xuKy zT0M~?R*L2(V@0d*gaMO@vRF!bX(Sq=)g(bYFGLpnt_ SD`K|mVYo#)OP&;Idj0~_O*cUR literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/jobs/adventurer/BeastTamer.class b/bin/classes/net/swordie/ms/client/jobs/adventurer/BeastTamer.class new file mode 100755 index 0000000000000000000000000000000000000000..bc8b4e59aa50019988fe17a7d1dc1ebfe131221d GIT binary patch literal 27840 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 At^fc4 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/jobs/adventurer/pirate/Corsair.class b/bin/classes/net/swordie/ms/client/jobs/adventurer/pirate/Corsair.class new file mode 100755 index 0000000000000000000000000000000000000000..8c63cbbdd227f8a6f2dfbdbd7255c165edd8488b GIT binary patch literal 15735 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 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/jobs/adventurer/pirate/Jett$1.class b/bin/classes/net/swordie/ms/client/jobs/adventurer/pirate/Jett$1.class new file mode 100755 index 0000000000000000000000000000000000000000..5dbdc39ba857a81993a10f5c07bbb3df54065919 GIT binary patch literal 739 zcmbVKT~E|N6g{(BC|j$zi+uR4h-P0AI06Fw$G_?Tjt8Hl0axl<{BWsEq9lywY~D@rT3%1~{# z4yyA%xAy~FLg?dih%1<8sF&MPq5Hh6o$O1);15Nb%iWI*bIoom`YWRoppJ%*nGn}7 z%kcD{y)P}3BatKwv&{?jcY6aFyH4vv;q+Y*O3#M{d(YslWr<{%j+B-=`EgI0ebGxv zX+&8p(gR^s@jVhfccd)Cv*4khb)8k(80=-aiRFeW zoYjg+Jt;a!zSnh}W>)F`Tj`E6`uV9HY29X43@YquEzMdgtd$n`sKFlH4uH{1^Ci4N z>;#okdC@*awcV(lA^3``hwaAPn9Yyb!kAqju`g7jf}0fYP*LDD9kNdMU;_(ygGFrO sF}iq;E!?8j@cby;rfgsWcPUoL+Wit2@qo}PbCybl;UQr_N}Z6N--trCJ^%m! literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/jobs/adventurer/pirate/Jett.class b/bin/classes/net/swordie/ms/client/jobs/adventurer/pirate/Jett.class new file mode 100755 index 0000000000000000000000000000000000000000..e8c55064b3b9ae34c598d54faa66986cec2375cb GIT binary patch literal 12977 zcmbVS34B!5)jwz6Brh|$Ss~!CDToSTi7cWdfFzRu16gPmHmz}z3}j$36K5t!Y-?L> zKWbNsOGT@tg%(?FZKDL->e7m>cCoEnYpdP+)o$9wqKNta=e{>fW)cXWKg@ggzH`q# z_w47~dHUT4zfDBT9j2QcWSHbsltZ~pi^73;MeOQGv?~~>=!sQyhJt}`ykdK#BUa(> z+KKnRXdqhA8;ttnfr|C|!IZl!7!Jl)FwLG-KQe;OZhzF@8OKsD-l}GAa8n++OmZvA zC&hGL=CVjQ7Waqav5K{k4sT+Bor1Bofq0zBIjd#%7B>}Akx9jhN~n}+MmCagpfetf zge!dE_5RKs0W2)q7KpcnqXB`Aj9TzK%$=BN+FGTKal=z;CAF`tAOm{))bM zFjP?=jK!<+X%@{ksa(+QbM5_B=4mrwWrURJ4E=GL>e7 zFqz%{SYu$9C6_I-VzHu&XbD6f*3;t?xI_N%wu+{X?GSO5NtfUh8lRr_h2w#3fvB4< zrb!p2Y%jnG>_v zBDUqAdPNP?2p)I)!(E}kx%V_7zqm)HHlgkwb2I48teltn3c`n z(U9vUK(vWAo3usIWuhE&GdOYuC;OdM~|C z(fb8=Sq2Ra{#_tLAg)#PLHZD=ghgag>72DzjN>}G-lUHx`Y8PmB31^OX&TWf=J2{K$xA5(M#eH=3Eh(cvL{W1F^)2yr= zMnob<`y_qJq)#jQ4DDf>l6f>Mh*aP7%%yNJh53|mgTnt%$ zjqWz-9z|cLZ!ldn#@&ZowdLG&v;v>A<$qc#e3H@x=$neZrCAfVSYy(COiRy%Bv@-o zBrZBghZPM9Tfw9C(FjcVC_P}(gNh!ahY=|=aO>=$4Jiaueyp#vGZ5&KRT8Ltv$wct zfWEEhQ6Vu0!uNHFB|NU^3HlDgITW-WL9(Xb3i7^Mrl})1N^Nff2;TS7lZuW>3`M3` z6N$xS>U)a5PfuHpcUV+`-_O>4jSj?!qZ$TX<)RUCSJX)!EEGajEW3&#jaSQgAE9wOyt+F}9m z#wQ5ne?`z6Z8(#$}=Hv7*)yCw5+!eq0lB=tjYGgJ5MiV9m?#CHHl)_E@RfeVJ7yj zq9HAiSUf5MVOH!AX&5c7%`hN#D$cPYVROJAi-cj9Y%0!^MP@LJ`rR89IJe?_fy)i+ zL&;Qu;zI3mk*P;}1bMOI5`^>P zV0o9oOi?^lV4RRS79HfX6`!L&_si!QiqF-btG!tv%V%dVLW4leQaoEA^7SSV zNVpSj<{-~eJXZjfCaF3U5?RTD`HCxKfzk`oJ}gkYP(E1XHmq5%53yMBMXA~9SX9qm ztoV}DELfw7t5jU2X}?-FTCRA7-Uug0`qv!j>J!q&^Ge0lTmuetGEEyr%WZ#zJe6w| z*YPTx5S}klSu(9Uy}oI$;>)gf(*3J!utu>i4P8itSB3f!%Vc();(BgCriIyt$j(5u z?v6+_u7PLgCSGsydlWZwOLip_2=}2Oq*rwWLrDLztR*h7d`9MZvp`|9UT#yofj1(} zPi&q*b6(c5vk^#kyPP*G-olp&ieCTK;cA3FJKmg~g(96Hvbd1ntN03T$6~7!vOW?E zO2vbdW+wqUZ%IIC>ivp4L}I#n)4SI6H%7dzh*w_jQXJr|lH&y8iB*XESwsy-tAiM{TIfoTTge&=)D;7&o=I~XD zqf+CPrPnR8OzWYptE}ZB#pC>8#n(x3S`rJO4Fl_e3$V&4qzL>G z#UEuHxzry*)5#l>}5~56L-w0`)P)H?Y)NR!naW^uQJ%N~YCWWc)v(os~K8Cl!B+ zKMmhw?Xo6_$|5!ze%m)>T2fl2muO+0KAz|xkL~REE+^ij__M;b0*e;i9cV-H?%*30 z-y~mDr+C?r)ICw?or7;t{5fd}7bC-L2tw@PZ94hUANMJ~O+Jo?Qi@CRqM<6rB+}3T zpI3Z`pe?jEM0STy(YPC~@)r5CU-1|9w#n~xVPyXf-f!~3Gwnl519s*DHy@yG?6|tR zzS`UB^R_qmRR`H`n_b>)Km4HW{?xjy|!+BebeTKx<>tBAJ|pn zYig9ut2g-?d|L$1#&xe?!!@9$eRXs724CxDnR^Xd+EBf|zOH>^b#t??skwb^U8`VO z2WL>UrmnfErG2BXzCJnqHL$yGJy2KIZoqzR&2_0I$i4Hc>+5}Wwe73gnm0?=29C|s z(pJ;dT;pr4t_ST64NZ;hEe!x`Un~H~$3_KMBmnT$qXH}xfDNYrSRepxa6Z{I)c97* zM-h$9k9Kc!Tgw`lN=tBC*e`bsxDrU~AWQ#wnKe#t?^dm-g75O8tqqRV2g8BJzMhUi zwAJ4c!c1v>q|+bT;Ex7nY)?Al-N6|2E6dQVgn5*U4pA^{RTzw|(e2b|(^g%tID%*k zi31(KH5BY^$!MZ8U65_=BP8#$!N-D_jw#y0q$7xKb>hZiW)`g@;6MSbJO3j@^-)r;9?$OjD;f%+6Py}QVF-nD@GxuQ$u$^XO*BqTK zGtD0>GR+Pwbj09FE*|TuRFR`SAdV0V?F5p@0;YCV-QK$Dy6wM~T%XG;Y3(u4~Cbu>^ zML1@+6{E*u5E@A$rsLSlz)I`R)!h>5i*^Q91;yvN#8b_edoToqMkJFB0r7~~45d*R z8Bxd|iv?md9hZL&+yIx7hrdF%5c4679DEnXUrif-4dc7h#`j?S^|bLfFupf!{7sC} zaZKVH!1%tj@%nhVkQR<0mlw zPTKgp7(badK8EpAsWELwR|+?x!1q1PkMGksg5RQC%sh>m72uliEw_Bm5yDA@XV2g- zG8g=91Y{Hc0B;j4DE=Y;2qVDDy)rN{|Cp4GYbnOEDrfRhGVj5Qg$i5Yy)_L@P7+NH zKg&PSXnx8+v(WH-GRVY=?m2^0a0fZRRenE>17903KKnK@orlP2tQeqkAD|1M^iGfS z0h-6?xG$BrMNE&;#e=kTNzPnZSe7$L%PMm{xlaL;2hTyONgx@d)rW?@BZoHhq37f7 zo@fhpzYIOQ_fj!kf$QvcT8XQ$dh+8!u!EX$Gu4HD-!@!D31e1(74={R+J$&qNi+F5 zus=uWPoA=ypXV2F%3|8YFY-%Z(o|Z36}#EU!el3$j)F~zJERD_MT zgIOUepfKz&0-flEzFmdmMQH}E&E`^^7U52;68B+V>Ib8)!Byw`a8-G&X5KXxu}Ma4 zwzUce;9r7`qD`AM^9<}!&%feVaKQ0Y$FK6QarB8)BUd+I{3N=Rf5X28HB)IB{|<9` z*l_~?p8r5D>|4Np#G4ztJNZv|%h!ybMmz-K@VgCgcM{kN4j(rmC6kbx5}5kG{AXLc ze-7Lt)>c~`AIn~Oq@n3Ai`YZnpoGJw`LfR(oBpqW}= z1~8({ZQ*w+U>^t09tHkSG|todIdAU$^w~5O#qe_v&}~e2+Sa}#&sgFbQEM?fOlwoh zn$TL6cqx!w?iQ&oz#oT{NO(>{;=T&cFL~U~!*qwotq~rk{dhA6=s=lkkiL4D?zLzV zhg0Y&v>i^XylICsP+26<_iN~*bYvf0grj*pMfcMqgY?*A)LU8XDLyvzl&5%*zPpcd z4-GvmuTNE$cuEH78IOCAesXB&u0ym}*2y08v~p>$Wm6{fCkcBoK^W+?VGq+UJnngi z>6H|%MV=y?)=GJ^X)X2?dWut&frO`oq8B_RLQ$!wG)2)9Am`Pi^t;>0RX%6#5&C0F zRUgDpS%^Ljjra`w<{m1e&%zJxrO9+7zTAYL#N13vV2CT}bF`Xng^#+OHsbp8NYA=CCt6_WqOvrLchi}=Nohvy-QzZrn}JrzK2V3^;kyt@>%pPo<;-c zrryWpbeJ!sL0(EncnuxpHhO?BqX+r@^bmgncXxZ}5x$WgMP2_GAEd{T5PTN_?n#8_ zr?dt?2a4aI>DrKrv5T8u=Qr@ft7oZ(|H=QNB4F|8uO+}?eJus{S^8@+=(s_9^Fq<) zgdN}wZBsE!y#1U113k+@!XUxYfYbT9?ZV3VfbGK0;{DoQa%nQ(VY{&T=;geL=#WPX zc(-BCl`aULZI(}Q{6LxlSX<=D_v8)G-^&me;7jiC};Ln3eP} zTm#%V$gKzxu0h^(2)dUu$d^|Z&C$?T3bYO3@)Qknr^h9GZ_|W+bda}O3wz{olzWk? z9HK4B)EgnqjxMX@EtPtg%qc5LQZv9Yp#b~r9OU#_Hlk`V=j{Zcy(D}!oaSQw!Z1pejZGYtn^fx}6{?6yoKX@^{&R%+h>v190 zME~Y1=s(&?&claK9mj`HwABV$wmKmA61K!*~7UkrV zoa4ylT!&)QF`4rmKj&JZp$0K}};~0A!&+{b5%RJff8c%Wji>Er?jH_-n;I8xvus>DppimliOsP}ClZKxNB9$|0;o{b zms`n&M6(zdzk+(PwJ3SCl0@o^YlFoVmSR%Z2YOALK8j(CT8DKY&Ai2tTg64q~}J?XV@b zSeS7!Hv+f5ltN^&dp8h$JPkpD-FXg262ZAzrbPJ<@qx`p_{;avxq^mu{|Icrdo39b Ys0#99r$cl~>gxjzu}8PO;feqL58)D!0{{R3 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/jobs/adventurer/pirate/Pirate.class b/bin/classes/net/swordie/ms/client/jobs/adventurer/pirate/Pirate.class new file mode 100755 index 0000000000000000000000000000000000000000..1c8e9b02c8b827c88c8febae6eab7720aff579f5 GIT binary patch literal 11488 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 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/jobs/adventurer/thief/BladeMaster.class b/bin/classes/net/swordie/ms/client/jobs/adventurer/thief/BladeMaster.class new file mode 100755 index 0000000000000000000000000000000000000000..c85ff36c6724b698337fbff793d267f53c5c9522 GIT binary patch literal 11803 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 Xm?i0R)bHgF{C1O6KbFfMS9$&i>DPUT literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/jobs/adventurer/thief/NightLord.class b/bin/classes/net/swordie/ms/client/jobs/adventurer/thief/NightLord.class new file mode 100755 index 0000000000000000000000000000000000000000..c95a1b9d9b9f1e878c82be6c4b8f2fa588d2d34f GIT binary patch literal 16585 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 Pv3al{kBe+M)!zRDT^CsE literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/jobs/adventurer/warrior/DarkKnight.class b/bin/classes/net/swordie/ms/client/jobs/adventurer/warrior/DarkKnight.class new file mode 100755 index 0000000000000000000000000000000000000000..a467516fbd2cc165cc192a12c3bbfde32a60b051 GIT binary patch literal 18414 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 yY>R|;z!|vH^>O!%=hCrm;OBs}DQkF&8l*5!g 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 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/jobs/adventurer/warrior/Paladin$1.class b/bin/classes/net/swordie/ms/client/jobs/adventurer/warrior/Paladin$1.class new file mode 100755 index 0000000000000000000000000000000000000000..f3d8367a705f3efd651f0f2746e6909045c41c33 GIT binary patch literal 1116 zcmbtTT~8B16g@)=3+pOU6;u>aQQL~FXpEXg9{4bjl#f_apQpRic3`_hW@k%$_v;_{ z>`%}KH9qhI{87fcOG%mtX^flf+_~q@+`0G6nP0zu9s+oQ#})<{o~Z>9)lK!99S4;7~AC??j}Zt?i!C<8+@N( zXhBBOEHdPZrCJV!YG~sO91CY1oWtnxrjSQXcRezqDKvxC;b9`S8Vuvb^-?8E+q=RW z!59h_E;zV|OAJdVSMRsD=Dwl2<2@OMv1>$o-(5aNcgRzk>o--y4TG~DQS(bm#k7NA zrSkttJsT6aY~hN7tC(bXdUDD>EYHjnd;1BM_^jB&#a4Y+_{RGi=_RbYh=~9EDJ5;n z!Htx$k*wM6jo?)pI!r^i9NbPr_NFo`yv>^;V8}14KroC}WF$6|c3tQlUJnT=RFu!d z8rL%QyI|h5WX$mV6zcl+=}}=-*^GFqHiq!1w_ZUl^t9WRi+9Rt|8o1@A{}j4Rib_I zQl|YmU5U@7;v)i9BR^EJjG7z5v{c~0#Y2WkE!wIhR%D0xS@m0rc-j-eQqpJ;52a$? z(o!*cr5eNVrijfNX)hCEB=mB~<5q8dS_&3Xx2b3LuSk0kt-KQe!%{U z^WQN3x?H%HIoFSz>CCyAI$vnt0PfH@jzJpVQs#Gb_3tr-54ewyxJ#&Wlo$6Qf0o<30T9>M|F5R@Y+C{rr+p4Ji-?{HiW|Bz|`?t2_y?ftX&OQ4%_ul#O zR}Vc#M8_KK9#Uku$+XBt2~4vC{%}Fp`e3M~&0o;bRnXkt<`0Am)&!fn3Vbc=@ZKHr zhYHsFLZP-`s9>4>WJ;LV7HA94XPQ2(YVaYNTYVv4a~PdV@iuq*(j-cxBsY01N+#F#YL77aG2LclebcKC^a96?NU{h(Nz?9V1 z)i#?+S4;!~rU|*m(cuw?Rn#<(E+?6d%Szwqo zzIDEWc3)t1L1iH92OnXr$I^T^9cR%3DrU-vYr&M*76>o(wRZz(5WG_6E48Rh&$l5m z-#A)m(ITo~O76mZfogDGTNjf#ZN>DZg3!el9ZyvNqqAF!r6#3tv@`Vj{|Y`1mHal? za~;@fEUFcL&gk+7S{nRe0jti}yw)EU$WO4So*Ka2t-db#!nEkW0_*e@GWrsWmeMk4 z8j#6`imCg*GyXS3hG?i0Em}b*f#!f_VVl1le3KooXkZ80TMAam_X6DtY;+2p>ZX+z zokl*U2?InXt^?QvGYC_cY^*F3^HBNq>P(u?74~bksKwSd^?qMhFd%iq1^m?(wNjf6 zewBZnzg@FzgM3Y0e`b-zk*K9 z76s+2R-pnDX&GJ81=%Q=R*C=OS209ipsbtLxoN#c8)zd_?$^$VSwc2f!mj!q0P5md zWvB@c23l>m!|(uW6rEwwx9Ci$j`g9oFqSs$V3S0YAV!gEGqr z(<D7d!~mjpb5!z30>-@%PhK_t^jXq?cE)2YcHtwb%HzLm%(lDgHbag z+FyS~)!bydimrCk_bj@GuI<-XcSr=~L%whjuEvOdeJh=M46v29x#>EKuBRKAGNY46 zn%FwC#=ijoz;vvT9zU??Cb}7hA)u>=N5{O5Zf6}RYXfxws`0XdeTi# zS@bmhh~rdyJEY1V>MGE)mifXyV7#w$U{w(M9T+eA2Jp9`mpxo1-t{-36MDr>uL|$IHe{R< zhv5FJV=DZ5{)r`xo*EWQJn7dh`kA=VDT_j2%thTkL}xx2!{_Nui{281@CGrBKey-? zVlEQ`S~#TYR~G$Rs$7UJLLD;LyB7UM2Ft1pAjYd`3zzvi5NT8fn%gVt>ZQeRE&83b zNY^cDg2xAf&1*|w58>|Lzd#uG_ZIy@$Ru)D?b}dMmvG#t2q*Dh!h#d+7isnvi~cH7 zXSVu%?FMCT+AOsnTl5c+*F=$5G0-ySKP~!~%xRP_Ef%5v)S}Pmb0`PQ06ki=v9z(F z7(Sb{|8ME>L2UTJHMv0lg+*V|SGHSI7wl>iX92lMz8)+d-#GnJSvawbV^#=ze zGolrB>#DXcsB1Ra<>my7-JHmj8r6>S85jaa#K{Nr`cprB${was1B62lE%SNU;uJTh zTAaq|Ok)RY7XjGzpQKlDDA*lZAW$_5% zAQP)u?%^aJWwDn>GYxMIhT1j-17TnL!uGb#$n4_=(JTEY8Ef%4MwBZ&S?3Fd;c88e zr;3x$=#&Npy4hS0PvD7eo@DXiLY;{N&=TLnR(!RAc0{Aq{*ESSMGy@(mZuEjQravP zGojtZ!;^WM#nU;*ws57AVwg50z)|(0jf{{o&*JnsFhD$ahbHNwzx*CxlPif&f*iKNs`^9tgJqhh#M?! zR3^*ux4_C#sjBY|1bj{H{<%rKjF-FlM2lB2f~Ij%nMB0UY}=^<3HO&E2?hc*l$X}l zlp&Nn%pOg1>L5+Qd#CWJZeD5eY3z$n7TJCXjBdGP-uki(iN2N=UBh(pw87wA{58`$ ziyR16LvyRYrMunVvanmyd=xI=iXaBxYCih^S=wWTc%hhd?_kpTYnhsqWiFKBTmpAL1_ z5p0TWlO6+kpWf}VI4n|NcC~Ht3*)V`c)c*5*%=by*~pvRe1^r}68kl%o?QZ;9Fox0 z-Q4W=x74ARo4?I;%r{v|bu6Swd?ue|@plCwF04WPv{U#Ti_hir;O&d3x2^J*Y_vUU z39$!LmF;L#APwib`Fy4^1HjRrF?a!{_V8xDz~T!XgXNF9Exv>=wN+og+!tKV zc&!yXV87N7rOWvWH(zP-ReUuB$=uNH1! z?WNM`0gE4uYHc{3_4su26@rSL7Vi>6VTHs<*kg5x`0ciMkBFaY4#^M?S^TgJVU;3X z(bnv17lcW>M=gF#+NHFu4g^DfaB*i#r}(n`gvC!vmrQLdD*Jzao}ae(M_RsH0FSJ7 zpT*DGtM5QuEY8dG7XMgMO=3Z@XMp_$e$nEWWOG3_4WOc7ED=5OPb_|gUj=lw*0z-m z(}_dT%GP;v50yp(v>d1f{M~T3EdO5a@{;^{ zLAd2#7XMqg#og82BxYRf$!8XS&ih3f+4iKXG9bRc==Oo|M7{16Xf{zuVv>ydd0b}S49JDhGh z?$3@LR?EO(Ls3v2W2quF7ZyrurDC1b_amx4LN*iP!sns(A>fhcsADZP-?oCmjwU!Q zAxX<6s|Bjqtx7CaDvn!r6qPYy#{jn+IBn}H3kLksx!h6<)gn|i`vT3fpCTK2$ekvt zN=q#kg)%}M6$nI36yVrjRb{DaQ7K7wBv;)cwpZ0!s!jlP;xyDE3!>^R)u0;f1WFaM z^tPTE8?Vr#@*-w91!1~cW~t@sL;+=>XgYgXbN&M%&}7RbrA`uoI$3gQqaul!z&A@f?6!)7X*zgX{*c8Wa^3|rlYNg za=)TGQGMC^f$R{c@3n7+>H5s@D0RN2wn&tSy#zbUSsRF8S(xNPOI@Tc1_f;XH@d}-C_uby`}l+1vJ^SFu#n@5Bz2{_%B`-p)c3^c%Nr2&928V= zRcoi6{*_^_wbb`zjKq$Z%59dqPAYZmDajahgQaea_zx1`O5IJCx>@Q>f2U64s9P;{ zn=sI@ehh>pv)Fbp#2uFEk>#b>q|!D~$aig^B20hEG%B#z3 z8qv12qPSkhvldnrSEHFON;4Rkf`tst&@){WmqLUVde_?HXX*sHI#-?F@o}mCDCJqK4|q#t1c}?h!CYc^$?Dkf7$0`trUp z9)*i*FQj2*?ZTCf73C}I1^wl+bQ{=lEVw-r4_Z1 zpwgf)bXpaX%QfASTyB&UBos+i5E1WEU#LyWPNf-cmBTkj522yHF4+lq+qx>?*|bZT zhv*ieb{o7B#!5yY6px;`0yt~^EjmfNCP!Fd!vEOdXA$w8wL>!)cf_I1}e8 z4s|3uT!k|wZor@*rXZWsycWC34w}Y_>oQ17@n3+x>*KUXoZ1}JqmOG9yHx2Be~j&r z!+mFw)0e`WVWS~}d_!*=B?R>my}nP44b^a;?Pz@9GMzQLU_nCI6UmB+Df+hCflJGt zM0*oJNm~DAg6#hMx3M$AgMt1{?G5~Sc4faKXopH)9YGI)zWIQpwf}_w%c-19G88X1 zDI#Zbvf~yqh|d6xrMUqveq8e*b{RG9u|Cy>bkk5G9Vb`X_t0In_W`-=YF{TJHB0^+ z={8cBCJpoo;sJ)HY70odvCH3Yms#?n&_0Z`x>vg*Xi!mCvaw$yoox`a+1(*QjS3zm ze`W(~df!W{4f|DdYEq{d?TbN(yb|>j4x?Ix%bjCgmfOW6(MJfcJ;N5}n^ktm@ zd8(Y62zJ!Tp091e^od4@#lT*1#~0CigulIQH7u^~ZZn*nhXDRU_M1z%58`HZNi621 z;}Ay<9DXQ!5f$M`Do^Me4dG>$c|!~q!?lhyh>DzZh`poqDg`sloj=!YEI{vp>S73m z6$dv29;nbcN6@uP2Q{*D28y-X(b1u(Lp^LHn$k%eaD-%F`}6b$DuS% zETdvS1l9(udpg+A?9{w5*c>yM{?nviyl!!*BvTrl9SAKv4Z-eEvwvZmczKqy4}FAC z9~!X+VY}S}(vn^h42F@s@^x1G!>z%VuCxT>1dmZ~G`NjM%UEJS?M%{aqwQ{6U|n!6 zw*55H(8IS1{zy=qfaH$Y(u+boY#-UQ&TIuqGrmk}F%iIR` z#wW*-ZZImijWy8L2X6{JYLkp6;u?#>iLArPt9FouwDAv7Qfep4yP{?OJ<7e&vf7RE zo@kl3qr5j-Ru7^4a7=kU%8$g9A4U1GXqo^*YKwiz&Z>@|!W`w@`jNru=i1u_M<{=66tjH(I9mQT|P| ztlmTUx6v|92Gwz`O4AyNCV9#^4qZle63@{D=A#5a@H>zF}PIPwGSIraqzvond;(#Q%sE=j^0my)?4=VH$VhZaSdDKSbw1z5at%f(phNKVP#p=(3b@VS$e^GzMa?`0u{Z0KHC{yZV z&T-aosgyC(0%r|Xxqzpa>b6pW{nogXCPktC0gbW?%cEa=>Es9a0gPd2EM{s*0+=}n zXgg^>g<>$ez=1H4=4iNB{R2G{iNBCrKr;Z_C+eRzY@7s&B;f0Y+-J#rFc%muGV^!R zlpDz-j~;U4(NyTtSlvbb+$@(3+$wowxq4}hv4;YCDBMe%(0w`n3F?Px_U&Fe$7|;0 z_tIuBD59xhugRvyI;?Cxm~A7NY7-qsXV6q!Qz)Y|X)S#l7dO6xuV?AC&bQ(2qs9jH zFU^Eli~2Vmp)tNeeX6OEOdaYoP{_oHC&~dMa%r3-li~V;h5;$1h(^@s!k)stJR05I zKuc>5FjDm}T>zfDs5);iA#JvouEdG({Jn$>)K;p%%Z-fV)3+3vUUM(qChx}r1BEUr z_DC_OC;@ourMtJ%h+J<%FM;6xoZBf$*KY4QuuGWI)TEt4Nq9d8C^(l=aQr`?E(9Z9 zL=|)~or;?PEp!>!^YT6v%%f@cg3w~DUU&lf9If`NFEo?1YP3KOsac}{Sui?DeW|_z z8yvt)BFnlx#N4#M86twhGQ-LEO71hxaMLAj+Pa?>e~#8H2jy)%DKGknqWK^vcWnM{ z+F>(L?$}=HEpi!!30&kh3KPAqeKf`k1U$5d9xrms+cQ#&ioyg(po@|sFP_Lta#q4U z82eKEV>x|{XNEV)gxq_RvJxQp-XyPk2R)aS*h?=%^1bE``l&ZbSj!_H-q0VyyXbAN zN7^^p)sgnUl=kmioy+xW~MroEDJFIT@o;MlIgi1EE2B0VicPntU0yw)CnEF1A z1UHPPZ8&&+9ZkY@i9EUicMEUC1-+Z86n7e`=vG=nw?VP=P=M~l&7iwL40d>DiQ+tz*={|=4z|p$EzM=3~QDh6iHf0kl^b$#_fF z+>lSk0W1dBb`#y$lye)F=8T8gE$5r*E6T@s_W$=oX4y!E2Vxro(c)r87TUUFq-emO zY7JQE5W70h1-j;Cz7MkI$=A&H9etiB8eD4Rr4kGlr!)2d{Jk(d4`E>sL&6_{1$-2! ze~jkP<5Ua*ET^Y53MT-H(UfbXVNrsvg?*ZG{yBHcqg{Ib)CY0o#qf9hjtC(j1{XRhdEDo4I2gZ4x zX48-9IC@b-d=%y!MN>7o6uyqrkXl;BO+#|#C?hwbHT1j%l%+fkz*%A4p>o?MjZP3+~VMM)yc zBa1xpkf92bowwXVOWx+#OPF&9CG;HFo0SZG!bjXpmuFe>HuGlMY}XxiD}BqZJNi}% zMU+cQr5`%mSLOy!nIa%B#;%#mo< zH+d8Dckn`I1#jbfB`}EZNs;eK_+AzBy;krCE!nqlD9K4Ss8~4$DAH;%C+8uqC&HqZ z?%|VnaZ?Ya>jPH6S2Nqw6;#dDz|EF4X0L>MiiTx8>86Hpu__pM1t1fFzOGB=61se#I+W$n<*V%P1hlX*-Z;$BrQe12 z70oqX{DqpaV&!3;qGmobA0EW^D1&K#m$S&lBVc*FIOsT56T|k%$M>1U@stG;NQ5!o zF^Mk3M&g?r+Jq$$ydqhGNh}98ZEzAF12Dtj{#*vOUR49tCQfkPPHu~FV^9q2WhA0* zB)8c^CfpjMFlkWF2DSY>o2Ww*5p^r_k|MLn^36p2amxlVok078w!bWLgY@<;zB%ow(Mg&VY z^zaYA2DZUy^#8`q?GfDct-ObG;Ar!m67}#sg{fJo!+1OV30NdCxi@jLe7=7e?||d+ zEPa{N3&^!wFWg(0rg@or9bSf&vR!{qR+{bd^ImPMVtsdh#Az)aJ(`IN&yQ;t-fP(| zz9kI!R9`czui5=xOH3m`gZb_}WE7@((;PvXCvT1*rE99DM+FHIquKg(Z-xj^rZ;m3 zKjWb6iTqxEZV$h(jgoS5^LF#gefp0dLcl;g3HtAFO6F|J;>pm1Q)mp#;t@QJX7Y3@ zM807G=h7n1qZ%&2&rQsr(_k{&phiNt2)2g{=`lW(gJJ<1@T+jF8z`$Ny zzj_WAuwLb*{4p<6ikGWle4-k~D_~4dR+IP?mB%Y_(DO7ki<@9nn_*B})CufYD|nSU zgID7~RI9pz+tk&(R$a&K>K^V;KjeUVf=^e^ahH05!|G*Tr(Wmv>eswM{h2o!sl3S; z&u16~{4L`sKGQgwzhlhjvy2Kp+c=)jF&g3q9+2H#3z;FhErEp(qT6>q6#lhY%^Jl*M$X`Vni zdc1TolM#DsUS>=)ri;DBTaJ+ntL`!{)Hc|lWb<4n1kExxIU(pMbG^392{gtGJ0a*1 zrq9ST^5GE8G*8vePZBLN=V=>}`wFM?tJ-U=2Z27pkwnQ9Bgu%s!bzlahEC8Rql_TL$tW{x zm)}4Z;4|Y0ByCKjp8f@?mY?UUp{KRPBxvvUSW1utjkx#VXgK9yYRSx`e?i&Ygrem8 z-2J~I)rSwfA8A!37qJ`%eF+jJk|4=)xCjXwzSHRC-$nvIJDYF&<*#GDp8=C^&~ScJ zuh8Bg$ch9Zlwt=Vm;#r2oGI2|0-0hgSJ}k;y(XrPvWGDWy;ZpbGTykyr1+Q6mcOFW z{BF!lW1X24jn9C7jl5h4P!Z;hxljTq;B8wez zA{6CjJU65Ko*i)*Rd`+tM2yAr`(WM2@x+e_8gIyt!QuI(9BYI*cpS+6TaS4caJOG_ z5&d&T7FK{nQHB>UI<+HNBII=22p*xhcbeiU`+1~UW%0NO!CCHm(z3ewh za@lWbeQ%kLuNdwzs&fJ22S_MJQsM)V16<_oP+90pn?(Tv>0^qpj(tX^EUqY3kblU; zNzDZ|)Tq4*ziXKLkeWcWS7j^OqjL7D8IlDwWyMZ}yv&=nM;(P+p5*ZmJW52J;ngo1 z;*1DfaD%DZn?BAo_NY1bCX%#XE`MYjDe^(Kje69ISQZ(SA?!8J(`)WgIkBk0Cg3N! zK4&L4?W581*sG3XWbC1HxXIkB$`mcj=~Wdy{5Q>OO?p0cd?a%g%X)|^fZZBqsmm&H%^wukMuQ`V!y_Ac+>o$8c*v|1hxnNE^-hfFs4jjKs$id*6q=!GHk^DJ+J##-C$S-IL z9LYTRk+Wg7<}2J@!NG#tlu36g7qW5q@g$Xq+Ym|grb?zyl|^5v6dteA_&Al$<+zgQ zSDAbf!lIjS9kEAc@pd(Wf1*b6+X$0>tGxVYHJbme#wf;JKvNy2+-jmqQ-`Z8$k`a& z%*#Q-D}djPF>t2ydP zb&Prex6oceKJeFSp8B_%uRd2LMv^Lpdr@YLSLMc3wa~~>6~+uzX%wo(#&N33s8`j- zDXP}+sXC)Y)f;P6gRxOH8e7y7;|jIZxLPeYZdE55cc~SS;FF9e)yc-Q>J;M*b*k~c zT50@6oo0NZe5RqA%uLm6j!`Y$I_!ZLz`k=OnJsJ z^3|+E#Uui&*3zR3v^Hb1A#PpM`d>ywcJ1p+p;r>^*igh@eJsG`bw#|t!i02Bp*wen3g|uJ@%EdXk|}g&xidKL z7V>1d(>)pP_d-W{#3p;C1%%)wSV zL2bj?rt8SBuBUc&6HevaOqbQ*m#!>dKb3k&ohdl6cT6=eOE_)ZX6-V#&4_1rai&n*s)_GJ?X?)>9p70-_|kV z5oF4iPv1TbcEGt}%8rahQxDKPG|aFp0l41zpCyIb(LK)1yI@KIWqC0Y>ko40Ru6sqHjg-A~!L zr8fuX6id`jDpPwjmgJ<*c$%UyVq)zRG?pZWTO3iWv^Wwu_npPcpkr*jYCMdV{ir!H zv9aF!BK*)?GFFTGsm_{z3nrG4Pqmq2WHlHfd6uP|$67FDo z`sKpJtVBdOaIcZlQ8@Y_38%>GHaOtG99lzOrM0+X=lOQ23*dlXV$X27))?31?^IW8 zqs#EPW*cq6V{4&vz+ib6wuJNsm7FY~_P%ZigC*}Hhm7#h>IHGt4t2dg5mXr6kn<+% zjWZnhu@#6n83%x7XL)pFHdan5Y>@*EcwU46)so$=WbAfD=@+80px;Y4JoYj)1Gc_# zQnV1KLl@vw=pvj7ZBTE}Dx3yAUA+Y@@N>EtCp)*Qcc}*<^?f+C`I!10J&l83KLK^$ zP`{^laisDi9HacF`V;L}AF@k*#L38Yk5PZ&N$RhhhqHUgDC4+L1{Km$&EYOuKvkL} zL`#%wj&M^0_`gK71V?hl7Sf@oI8MYH=xZPRdDrQiL?6N3k;H_D{z*q`9g>VAN#B7! zlU&nd6wvMyGy>;Gc#ZQT8DPAL%L3mRZ>2^V5**=6hGD4TiO|MaJVbE!y#hHeSz6~pK9w>dO;enk=rn?Laj%f-#fjxlN zj5PWMPB^_|*hd>AFA2Olv`wV99E&oHUea8H>>BNJG|vQ#U^}bRX}5MlT{!ZwT|1!( z;LN*?a&V1XQ+~YY-sMpnWFI@wDR+>4GU$ry;5Kz}YK!&$y(?$8x?RM~PBh|jII>Gw zNSYj`*7!wKzmM2Q*%C{E38b!SwTM?)2okxg#w z$YdH*u?sSdvW*;Q+uWE*r`wb2m4V+gGtxbB7r>eRSWFL4WeZPITk0M$c`-+yRi_@x zPLL+)2muW!$*4fY!59kH5}cv@&QLfc!Bge96aL*!8M>tIzri_%5H+d#q_&y~GcpSf z%FLK~>|+r!&v@f_oISC#j4o1R7vSy-l6nBqs5WZw#K8!TEp&;oDj~^OZL}F{$@_ohYhv60 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/jobs/adventurer/warrior/Warrior.class b/bin/classes/net/swordie/ms/client/jobs/adventurer/warrior/Warrior.class new file mode 100755 index 0000000000000000000000000000000000000000..f200bb2148c1825ae79e33434d6d689162ff74a9 GIT binary patch literal 9624 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 HW0L;?wahUU literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/jobs/cygnus/Mihile$1.class b/bin/classes/net/swordie/ms/client/jobs/cygnus/Mihile$1.class new file mode 100755 index 0000000000000000000000000000000000000000..e52e46eb3ba61e1fe1c57aea6472bb8547f9db44 GIT binary patch literal 841 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 Bf~o)j literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/jobs/cygnus/NightWalker.class b/bin/classes/net/swordie/ms/client/jobs/cygnus/NightWalker.class new file mode 100755 index 0000000000000000000000000000000000000000..71bf437a4f24973fe5a0fcd7977ac50cf26cb6a3 GIT binary patch literal 35530 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 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/jobs/cygnus/Noblesse.class b/bin/classes/net/swordie/ms/client/jobs/cygnus/Noblesse.class new file mode 100755 index 0000000000000000000000000000000000000000..114f7b5cbb4c2839959f35d257e0d1ec9f059504 GIT binary patch literal 5458 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 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/jobs/cygnus/ThunderBreaker.class b/bin/classes/net/swordie/ms/client/jobs/cygnus/ThunderBreaker.class new file mode 100755 index 0000000000000000000000000000000000000000..0a675bce46b177f8bd68d425369311d71ac28a36 GIT binary patch literal 14268 zcmb_j34B!5)j#LWOeUE;NJt1U1TY{%7D51N6e3763CTc`iCNH~H4ZaFGBBBmv#_YO z?zS%N=Rzx5*IKa^+k!G6E?seHt*za(wYIgj)wXoCwpLNT|GDqYl8`{`uRm$tz3<(7 z?%B6H{musmpCY0aT8V=+ve?P0lZ|qiD#L+zO>Ao<>JJ8L24gk8P%sdV*KCSxz<7Iq zI1#I9k8B79VzB^I&KbdQFuszhqP%tVeZB#2)a#1}qBSmz>MGXdQ7+}#$)Qs|=}e18 z-x7_IcPGK*lCJRQ)wF0q+?bv2_{ ztgw_RrTkyAz@9tp?d-f%ot1Npd86Q;soY`88usDWH|YSgKTRx`~Q3CA!U zmwFf);TnJfmqXn~Uz*{SORPl*Zqdn2YnY~jUEP7fp-9vl-QE@Vf_Gsr)Rd`l9N)Jko3YS+mlW?6e8{7its@Wx1uVT*1Ine6I=+b^h}rBkQqWNu2~vcL;v}>X=zw~FQL@anwK(ywgI-M^o z9I0dE^h&xwCojSN3e&HFprPu^KZL3)3YDe_flBB7ItApw0zl4IQ?c@Xod)FF1o;LT z_6Itmk)b@=M4Rmt(rJ*wObz4Yt`e6(Q66-d+?a}7${RO@0)wyIUbiZiYHFxU=5GOeO^aazz>rsi=Q>+vuYx3`71+G(3k+r=wR8-b(JlOE_2 zylE`q^92Hak%MLG%WGRiOqb~NF}jqgG#K_p6$4v?{R8oEFx+o4)Qhc69}d~kXh+18 z^Dfira`9}1pDyZ){Xw5#)Fj4ol}=X+B}FO!?g_ghk&r*KH7sk+lr^8w>63Jw zp6#r;s(0WPM^~0)AWC%#PLWt9Pq`1k#NlrA}4};PYkX%;uAurhEmk`gt4M4 zVVb4{cK0Y@Ap^^kh<7M(%30m4(=Bu>0_)ajFpi*Dek=n=+gh>CPM=|_9wEfB0*Gfw z$Z*gOx=oUnohrs6vDid+==3=;umX2~I1&wXi~YqLn^ucP-=)*tbPrP=UKtRW6360a z`0R`$9*4c0*qfU`jAP+zchG%0eO?@`eb9I**ndH%2L$^(cNoc6qj#{=LchNSgbvXc zb@~!L#8hk`->}`)-Blk>MZhip6Ea4T^BBx9=>T@gD}|UZ>+}^xOt>@PjYYzFw1@WE z=@FeCrF~=Oc*pQqskGrHcstXQ@%pm#KIq_nI$)>AbUH|nGks*73N_rv8v)Bq>uSf% z+6)%%3b%0ONu8b&uH=LjEMdymb^3;I#2OC{24u~*bo#ceu_3lc2Sw6P>+}pgi=1>Q zp#q3<{lXLzq5qAn$IDt%(&EI1=sP-nSFCMPECAI*5(%sf;}_@jJ)K^l@59BVGBa^s z-JlcHi4y?`jb7C0hx8*ReL$taMgqXpI~JFX+^KH7=qf>GvI^yV_tQ^w`YF8x*9zmQ z_xp|SN?b^JB_zBUFu_9 z5o)Vn>GW%QO@tkYVc%>?Ix?^}Cc=g{?uZ8bL7z7sz`?(z*X{H>oqkVmz$s@I4+9Pd z5sridZQi(VK)@a!s8L${L8m{`pWrBcl7P-TAwMPQsFS#ZR4SMLqSIeR@H5lVvO5~| zOV$yO1~&&>kpxPnsJO7d>+}zCVH1We5KaH5PH!7NBIWS*(7$zhN6dk@$tmyZ^q$1X z$^F4CfnodM>;%O7I(?u(L=6zIc4!haYY-!3+q5kn^(whass?!v6Oc+Oi-_5(vyD;d z=6I183_&tyjir5KSD|&Iic)HY#2`vX`0QZu8j zAUjLvlSHAWLH85BKz-C_5E4!K3;`cPP0Vw2KABMy7kX1`T#ZWKpfwF}J3LS4`HZ}& z*Z`#%m4c!?&l=Tp;7XmVq`01#PIVd*8#l%Tn`)gGa*a`9rTJzcq`)D9jlaZFI}qac z@M4{pC}%%}%oEO!m+Jfxu0=*_I6o8icTX%8!DZY&@Hnz_A7l5KY|I@t^SEQyjFALn zf+iA4F*w!S*~F*oyi63LNM$ibBGwk!FytTV6n&}F`3(82tIrLQh;#tt!%CgcRIa0I zz>BQ6!yAo)<+9DRAAT{dTB(JTKDG9@yb#4)c=LJ*wlPJg)zyJW`g3127XlM^SKWkGR|oU!u!R>I%2HY``_q{QWhL%>WSdu z)p>*XfC&aJs+8%0olIoE&H-tmN#8)d7H=>hmO7wwP?b>1m`e!slzj<~~H5Ktr0?E>(GHkbvjVqFm^yhMW9 z$C$dt+WTQ+Swk=#m>m3ZzRb>-OF+9K)d*GTQj0e>(B>Utnlox>%Yq?TTKFoRujXrz zhC~xExpV&uT(c}F)u+ww-F7CzVK2JVbq@Xnf6~s^>3lukaBM@^&^h!)n}qA>K817@ z)f=W2*~Xd%yCysC`yyeV(WR{E@(m!8g#!N7iFhK4; zvommELS=;IqbW|tx-zA;g>L)o7KGi`UVh^l#Qdyi{vYg1o? z$J5o_B-Ll=e7w$VRUhDSo9kPfU`?&=_O*R&^|H2CkoqKyFSEGS(+QyY^_{Lh7jSEC z0$LNhI+~gq``qoTd%E17c5FI`OnQ>5zO}W_v%1gK+uYvM)z{sCw5hwdqs8NC2ZZjH zp7zG3&c0?3;5nNCw^tT-w>0%N_tbYby6f9zj{v(9%R4&VZD2=(rxhM}QU)JaeV41g z5qM8K=3QTXcXz#OE!frtOxN~xdpbLs8a==l%xMIBg{khf*y|krqOX26i0^B0cXvs) z3@2}OMf`Xav4 zRwE{wS3)LDDmY|SZSW8A7}TO+ya3=p$7pM(8`97mEf!=tZM-lQQYvt&m<8IXeM`XgvTJ4aX9G|5T>m}Vmw^Ea!sj zQ?jF%8PkxNfvJNM+={a*?9|s20EIkpC8`SeVRwq7ypnTxbNZBF%kc#&c3kwKa4GbM zZ56OilkSmC=edhe?3BAlLq_!4>xG8ro`LqOak=a0iX@`G!0Mp5vEt!ZU<-vtWY0+C zQ@fy! zb%p$&5j6l(eALNx73;yR_awhPqVpg5Plf!!SVCQ2sL>ce))m+^4L~%D&cEVc7vi6W zF30?A7McfU@g{|W?9P?lc{=}=UoXTz+KG1)PA+YDLKZ1jRO^v|Y|lRrZ`IyRrhOyip{zb$KCg89y@`OTQ$o;AM% z^Ur0?Z^8V|%$#;%ephDBcVm7}*8En?@6DQ*VSZoM{PURKpEciz`4=*C+Ku@GnK|#k zd{@@|LCn9HHJ^g{mojs@2J?rq=2u|8J8OOs<_~Ah4`cr2%$&bM)8+RB;N5g-eFzWb zHy4VR=&9i8gf8JnAK>s;G5aIF+wr`hvT8qZrDY%4tDdIrsw7QFQt?h&Q;DH7Ni%oS znR{t=+k&T7T57E&)|vNF&4Lo^!dhEZi7iQ|+)mR=YzL@fd5#nRC8;J!ORHpX`c+om zb@atOIK#s7w~`$Ay9PL{#%L|DZKY+@hFkS^TzY$`i#n(m@A{~l_p0?)yf5TO_)%cJ zjLLW)=&|9;1)Svlcw!`tPEd3J<7s3$il0T;?38P#iFSUBnW*X=>_DYQWhULrFcW>V zl^&ooc4MF^@jYy*s?1Yiq^_)2i8zP&n0&C9LT3m&Dl zN$OZ`v()DBayzD7kI~socahz?i>#K~TuW`9)Alr#I>Ea04p856yNrDD7B6aZDwDLa z*5S17rC^dGJL#m7+?`;s;{YXgQjx$fy6A4ot8`kEbg@9nt1JPpKVDsQMUt+(oyw|< zu7OZ?(p1@4R9%vzUR-;Cu20fUkJFCc{q))8`Kf`P8cYz-4}k+BD68B<;aMR!KJt_s zNj$H^vq_$U-|b1d^HI9DcA`w~FWQx)2cM=wW3n5QXUOl&FUi?Q592Y>Y2QmotLBSk1d z7t+PJ0>6ynu*EHOCvAmIZ>N295iWKv#x>0)^iTRYbm}rLrOSB^UBOG~N_Npz+(uV( z4;nG&(e>;{EjUCs@+G*Iy@GC13Uwc}n4#5=Lw_gYtIkhgR3Pe;QZkI5M!eR*GzgN&Gn@;&~v6=vI)p1EbsU z1F)Smg>Hvv@1P|xw3WE_ZJ>J<+slmOQ!FNz{MrR9oGoei|#gn_rpQ?Tl21Kwi2?RffXtycKLz4SL_u=9)&OyjLuTZyfDFa4_o zN}arq@~*NWAmmtTZI$9U|C6C<39ur%A2fY|if}1B9l@%M9)yGZBK+Bx;QAhdy6%Rn z{4!kR9$H6x6@4oW^i2A4$)l76wI?+xCD8zBg`(5~c&90aumb8*egP-iOsAhVd za*;InAbwNBf4HA9S@9}3DUP?@WJO!iVIe=|J*=g7(F~^*Qhm#5Ejql9jw}E_#F!85 zqG@oBM=K99RN*nUYqS6?Gk z={<#T@O2>j4MqJ@1EaKb+Z9zvW%1)IF%}JwR+-dK1@+&Dnp+jk5c3DLR4Mj;=U1IF{3ic6Yry(t2C~xnvvv587gL}fckBKI|Tkd z4Jw{N;CYtj;3Bo0p3l&&p*H}Lnjf9j?f$gD!Jt`5QB5Ef;OV9CfAiL zin&Arj#YTA;)$)8r-<*&kvG0tdv(=bo~no_bmoXM+M$fQXoAz0n#_Pleye)MKDxIW z&>*|&!dd%xx{wUX9YTD24kXXakXcI;fX4TM%n$IJ$rouB!s0vx#%lTryy;I7!(XBc z=w*1-pHY~8PEmRV{`41${7!>}H2GUi@ZoW(!H zCg|{&L+Q_dOz6z&tMP;hM<2c9)5?e&u zi@6LOZbfdCU->A{&b=4z2|N*Ix8dnqS=o!%)(dXh$Ft4#Q2wvZ1e+yFU7h4pGOU}U z$p00z{nyZr*ASe33(I_+PQe}UB6{-$D6rE$K=rhHhjBteX|<%Z|Nj*}Jn7Dav@ zX-8-(NS1U4w_7G54?q>ggVl2DUarVa;Z8A9I6+utaXV>3YTVJP61P{XBug|hx9JMX zp8)MJQ2sNb>|YR155p|~o>uB*2#Tf{QewHMG>Eh|!-XLjX_q6lnpt9X+MGH2`P3?KykohYm*+a| zNI7SUgUL-f|Gd<|ks9RBluS}vi9dOAdyHqNG?(#wK>EhWan{Qn51y5HhVcFcX$@np zy1IB?hxuK29yC%Ie*2~_J>8Mx3J)-4Jcpj+laXQ0rPufrdY$LvcQNH~TNSX7O5AW&vCh?8 z3a2?6iSi=+w~QC_N?yYCyp)?^8g015KaWr20H2OTdpQ#DI$XV-fqSMEyaOw5<5j#1 zs~_eDeu7$U1XtBx z;0=_+K2%tKD&vjtoc(kv572VlB-im~YU3~}qKIN-3y`YDDoMK}O7^5!il3~ju7bQ% zC4=+}dd#4aW2V_w>~brn8HqG5Jm04>BdI)s9?ZK4LoC?7Z{)m9nvK?0k)X{Ckn9X z_n3XPj3pS<-=0PNM5X5-5DDO6K~;$!Ij6n~wIcsHEw?tM-$aY8PdIul#e9?J5t^NA zj7vPd)?&Wd(~I)z7EfjWh==R6A literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/jobs/cygnus/WindArcher.class b/bin/classes/net/swordie/ms/client/jobs/cygnus/WindArcher.class new file mode 100755 index 0000000000000000000000000000000000000000..2e0148c5358e4cc64fd850b64f4449c2d964bbec GIT binary patch literal 25337 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 Md$Vz?@niD-A47Z2k^lez literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/jobs/flora/Ark$1.class b/bin/classes/net/swordie/ms/client/jobs/flora/Ark$1.class new file mode 100755 index 0000000000000000000000000000000000000000..2b89f70dcbd34f7275f1165031f8b25b80b5677b GIT binary patch literal 2514 zcmbVOe{-$Qd$%OiJK5pIfXj7l;3ChY+oWv8A(nj zpMcN9Oj3sa!SFZ3XJS~%o>+F`IN%xkth?K{yKmp^>92oY{Q=+;G$)ZjQb9_^7{(cH zIU>;g7p_;6LT~xHWlP}%`i@)m^}6kPTwnEevr7!)K~wtK_sGILkBJfbnNTr_G{f{h zx3fG5xV2k!>Mp~BAsAMZd)x|yr~A9owtZdFc765OGD1~VT);Gg5~5m7Z+J*OxB>wi zX=HFw!K{io%rngG@O`eg18Gx^9zQUpA5fml(viUmLo%1IOyV+LQ}DWqD|mz9{^^yYaGfIHmL>KmlvZvCO@q}jhV1JF7UiFhd9Ak{ zE0C_E7hK10w}fX*VF7O|xS`@5WT|HT5fa^X*IVaSlVKruCQ!bT#x1<7Ag3Y^jUhXV zwlF$|iG~O^q_Asbk;@OJL=v@YdOcj%qg|whMch$vSA`DJ<-<{4;>9WT*JF(8QzXBv zn8y3~K*2o~AL2fxIskei3Wkdmwkhjk?chmuM_57e5yQ1y@k9bP?a{-HhJptSR|k-z zWeP*5(9(2vK2~91nPkXo6xgLMg}2SCHqFeMuEp&N_hk6oolJ$@gyDSAXO|2H)#j~gjgyvMgk7jM%ydBW zgEH#&x8AOJ;(e+x@|0CF>MzL_mkguH7>>m-S(Xil2W^iixfeS>$E|01Fx0prj1{6F zU3S}^B{pP8>jd@XyWtrn&et8wc75qIN+M{wH3eHk4_$xjQ1K?ki7nv=n{L=?Gi$CJ_<_gwI$`@WVDsaE{y@Ay&a8g(3OMp^n<({*>-dq$@S5q3H7h`snspW*hw zp7?)@9hYa@cH441$pW|SvJ8Zg!S_QBe`RJ2KZcFsClv)e%7BEhGOTdtmAhJW9N`sg z?)$=5K#k|-i2|I)rGh%c^|QCq#nvI7?wJJL#6U8W3EvL@8tF!lMtUisl>~j~=xv2k zqJMQHk)l!4ZXbbZi$_qjJ4cw(e#4A*2;~r$G#aN~;VSSu-b&!t2;)=wohDnb$CzU# z@~ni literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/jobs/flora/Ark$2.class b/bin/classes/net/swordie/ms/client/jobs/flora/Ark$2.class new file mode 100755 index 0000000000000000000000000000000000000000..03b0139605f0c9f37827f8825b3a16f10d5d5ee3 GIT binary patch literal 1435 zcmb_cYflqV5IvU`wk-?Pit_Ms{*35d?=|g=!e_wl`g&ACA(V)#{c7I z(GX$`KfoVloVyf=4FnTSc6atn?wp;OGqXQ`eLn>79O(oa5YZ6T(TFC7c}E1MzvFsE zTbLE!w4^PZz_d!-<5nO%(=Xdn`eq<1TW0#$yGF?MxVM`Nc)-xK&1F^i3`>JU>ns1x zI2lI_aSaI_&CnV8&!*gT3%>b5QX=M@S2ji%GDdF44y;m!Zy6M0)Cw~yzHwBTaZ;FZ zRG6U(GtMilVSPDH{c6?Gh9pCC&f=aFL7Mwi^^5;esgfh5<1*SAG^K*WB|~IzXj#Km zhVD(i%}vRj4KwTJs#a;y7P7eDd9J4t>(tSu5{oTW{V*%#yr$!NnC)C)*Y~+p*(Puk zw>0!9)o(M5{#8SBTS7|JnhmkGyCoPV&X>1Ni@MNI&|V#eQgh})krbH`3Tr4~>&W6% zOTUf*3^Fv%bKkZY#?R5>g0xgyQi|`Mj{AyFt0}B}!#Ygmi>l@-$0Hph;h|b%HHC}f@((r%I3*S2CiB3rE#gtx{El02yu*WxnIJzL?LvxSz* zD$@wpa3becJxeUwDk4S=8CIVpx&_CQu5UXV84;A+qJ|j;HTGxh^Phbnnym1Hm#!LP zec5q@mzLc3)e5)ObvxNZyZD&?9SzA&r5`|+wvs$VgE5SgeL^6D2)zNH4!{n7B)&r1 zQ&-DAE=5;ABl315FX%07Z}E=odz4TnE3t!*WFvS=*{gj-LmuPo8zxlM zbU&lJ53O%BI+ZzjlHxsjX AUjP6A literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/jobs/flora/Ark$SpellChargeType.class b/bin/classes/net/swordie/ms/client/jobs/flora/Ark$SpellChargeType.class new file mode 100755 index 0000000000000000000000000000000000000000..4befe36b55d6f437f203eda27baa31a5a8b41602 GIT binary patch literal 2839 zcmbVOTXz#x6#hll_b+v4tuaiiBU2EdR|kwl6iIm10u zXE6T*~4EqYj>MCF7n#JuEZLz*;=zb}KF+8u}kcx3k zFbr)A%-P*Gd9%)~uCdr;I9G^h&syB`N|A$_@0#{XDQZCgNc_Vpj^HRms%+Y({|3Wo z6e`rL6qiI6@+yww1VfzcGO$X9&I&4um?VAai^p)WQ0zN3FX3ecr&MS-&5)Jhc74+# zX1KgZ*eTC<4Nj4tD%_657p5zWPih2$8u?H1r5y3_6&0`IEY;aJJfGo6p%RsEc5U4^ z9b3EZ8VytDzEK*)d0bHNnu?3K#BgBSogLuhRnxS5!xf`Rk|xw z0HtZ#jcL0lN)gpq><9Il=bCyTMIuR}B&P45`8pCB3 zS1?byD~7)$DjY8qD`_M}nco&PsZtiAaFkuas|wL0je#`OG=_!nJ1X84oKW&xq)5y< z4RU6aNb8CsarT`BuBy8R$L%9fFLcawUS|-tI zpk}Vv-0!+1mmpp&QKz6B%=BayE()gf)pDqBSiD_t@cb59o_Kw!Q0Wh@c#BHn=|tW= zHJ|Hi3%nD?m@ZQ{4X!WMjNG4(L@Ta(xj&0i0<@^2<-dQmGmecTtQ?N2{+QORdXPSaj@)(ovGlSmr8 z$#vgx>1qtNqq~2jEDDtZ1M}Q&ScaFcI?h_RvrAKqBx;AEm_AYQXa5+Oe7bIUucJZE za?7fj)OWHVO74$Fv~_K7QMS6`f~~9g2p?zhsq8t=lKRI7Ye|qvt=P8V%5hwHYyPNWVtAqqK@&W&_##*!Kwgf1w@24SJ^Jw-(8d<7Oy-mhgl|CdVc>aqtnC zkdN(w(_7G=)KX5Ka54y(eKHl6V;9dlEB20EhkSj!8AXE{+(8>Fl8~YJT;wL2H z!nb%NZ2?LU>QI0pbnuBR1E=>SV(JvjX2f6!q0h-o0^`bGV9W6h#B0lm4f=1koZO(U zvz*$XKKEon)2KraAsoULzbk(dLaq`YDS!I_SMMP%_X~-U@^^Bt$o;kCNcnrY&&d5^ zYNY&w-0#`M^?S&QN(Ss1mB1#lSjAzi;WR87x-B{l>ehfkvN1HVBG(ql1-x0K#JKQr V7d<-3$)dFI88Q5Ge2K4d@PBx0#GL>D literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/jobs/flora/Ark.class b/bin/classes/net/swordie/ms/client/jobs/flora/Ark.class new file mode 100755 index 0000000000000000000000000000000000000000..c1ea94936cffc306457902bcada9feec991b4f76 GIT binary patch literal 24090 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 Wl$i{n4H(Pjc#TtxQ;pNe`~Ls|ZdUaG literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/jobs/flora/Illium$1.class b/bin/classes/net/swordie/ms/client/jobs/flora/Illium$1.class new file mode 100755 index 0000000000000000000000000000000000000000..20daa1b48350a8c1fc908e74686c8a901dcb7fda GIT binary patch literal 942 zcma)5%We}f6g^HRnPfVpX@T&52bu?B+8t6#7gV5zrtP9ANbH=%O&mF%GWMjO!gsLX zAr^c9ABDJ+rjikxSn^z-Yu|I9^ZU=wUjSaADkudl(u2OM)%22I$8r?ag z`+|H{al^;WjN{fn9IxY839d8CkFMoHPnI6;gt&`)6wO&`8D7>M2gm)17})mz8kcMF zh~asC=_)mP4BlQm6bx%!sl`z`?Th3+?<>-5bmIY6J)X!6FO*)^3WnCQE^6CthVqFV zX>QYmSQlBit=MrATU6W4^|DC2#1x#wX)+LRWftJd#bCY2Izb7%(E}A5sYi#xj^iOi z=|~v69~&xX*wI=fdx{$)3?5Rs0~%pgsbs^LooKJ(KFJ4k`iwksBoCUcugEvQqulg< zV2$?mZ@B%TS#Uwo1-=VP4){WJIdTkg;?wsN%1CHl44%MZ3n~3iGrYq&9?@;}!aW|- kZMF{PVKNj@Bb38aJe$i+)Jb~t@EdatLz84c8jmEczxC+tcmMzZ literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/jobs/flora/Illium.class b/bin/classes/net/swordie/ms/client/jobs/flora/Illium.class new file mode 100755 index 0000000000000000000000000000000000000000..70e15f2472fc1db1a38367c2e8ee3e4b71927a1b GIT binary patch literal 21613 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 qG(@Bi;HmU?^mp+@)TC;0Va`f>dv`Tq|Zz653f literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/jobs/legend/Legend.class b/bin/classes/net/swordie/ms/client/jobs/legend/Legend.class new file mode 100755 index 0000000000000000000000000000000000000000..09a40ba426cde69af42c3c56ee2aef8e4ffb3b5b GIT binary patch literal 2079 zcmbVOTXWM!6#kCwSdJr1NPuE!xF%pb7txkdz%&iGfrv4e83$(IZ6hzSh$1o42HJnq zH(q#YADWpy^ar&6snfG7VZe#FB{QqNoc+FY`Sy(e`R}j40sM%YRTNOPP_i+GGT~$> zm6N=T;=V7P?Zoi{Uxvzg7HuTXooItlzV3&XG&p_K5p2#@nXI)=CXQHo^C4}!$;!>5sxg1S7-NNpPjP$NvFq&;m*_&1Mp z#PLt%R&x8fv(7^li}=@`66&r9#ioqguDb^#3Pb5BKMEZ;e84G?>hoeWF+5DXM5&L?bZI;x)PYA6&{^k+1*(+}l6VB&c z8BrjCJbscn##t!|RbgI}E(768j`dsUoF~J+sf6or^HTxxbx*JiiOba_mw}Vu1=q&U z6i=Al!?BP4xLFvKOznhgdv2wP-aoYWUJ83ONQFvR`Y6nM!Y0)GWX*J~`2JJV151rw z^9iBgv&^VRIKYqI+qx^BXTq3f72fhg5u_c-cwz*}xv2J{o!FDNd@ZYqRCr6z#0$aU zy4)P%P9Ty*CKgr*bEDFI^K5i49=;(CE_+2dgBfnN`mYSq9i7Khyjtd6y~v~2 z1ha4+7Z`-EqJbt;aq3XZV1MCVi_dBdJ9DH|AFG#lF)@lh!#7SD^tIG_h+fNFWdyV^ zZvv@d0gJ|q8kTrg()e(2kptGVZ}6>25%fqRu%SQaTft6kRlMe%=;ja>z1? zA8>`wud>A$3bhqon`>zEsO!AIUwye?;L;kWa7zZxPERwq0w G>i+`>`w3kD literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/jobs/legend/Luminous.class b/bin/classes/net/swordie/ms/client/jobs/legend/Luminous.class new file mode 100755 index 0000000000000000000000000000000000000000..25cb63c4c860ce1fff4b999409ab2cf7a8ca3d77 GIT binary patch literal 18739 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 O$8Wr7{K|Nl{Qn1<1l%(K literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/jobs/legend/Shade.class b/bin/classes/net/swordie/ms/client/jobs/legend/Shade.class new file mode 100755 index 0000000000000000000000000000000000000000..1ddb4c06e9eec822da8d3369723cb5227dc8cb00 GIT binary patch literal 24663 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 boq$u|6rv`GZwJxgPSK2zQ|tttG79}4m+k4$ literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/jobs/nova/AngelicBuster$MightMascotSkillTypes.class b/bin/classes/net/swordie/ms/client/jobs/nova/AngelicBuster$MightMascotSkillTypes.class new file mode 100755 index 0000000000000000000000000000000000000000..c6015949d96ff1ca022dc353031b0fe202dca3b0 GIT binary patch literal 1657 zcmb_dTTc@~6#j-@Sr#Z2K@hy6wpCm&;H?!)5d%qqheee5w5?-VTxQMg7DLp;ALN6A z3ejkM_D31d*;Xl$7nAm3Cv(nszH^`c{PpEKfV;S#K!?DLl7ZpBbiJpxG&X#r>ex~R z#=2Ya4drfH#%T3v?~NwAFJ* znt|mB%$D0gpJ)E0j!x$9S+Ht$)pAOf zOJGRHFpg79`+!+h-=N?&EvGJ*o(W85TC8Ur%lGpw0yFSzRm-<}V1kf;RL2RN6o?mW zWd~CN1Fcj|%lYgI7v;2$GdL>{A-@7*K8ct{;`2;#L16GOOEOKOGYOrM7j<01I9D}{ z+!vV3WZP3$%HR)YbjE#3CG9QSN-ownD$-lFsJQ~GhXj~yOIHQbWtZk_#qwoO<6(RBV05?)uKddGFagXM>5%Yn&AR%SEDy1ApN5jI__hk zEh$Xp1vJyGdsX?s=4z!6?C@nCJ_=@0`oWy*2MJ6IjQ`i33h47nNiUpFNx2_A^j#=k zrAZm2$0k-B;@1J7leRcKX=O*WX X{!%#ODclRsB1&}fTOm-yOmXNpT+oH- literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/jobs/nova/AngelicBuster.class b/bin/classes/net/swordie/ms/client/jobs/nova/AngelicBuster.class new file mode 100755 index 0000000000000000000000000000000000000000..976afc1d4e4a294e4a9c0e00337a21e29008cd87 GIT binary patch literal 25682 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 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/jobs/nova/Cadena.class b/bin/classes/net/swordie/ms/client/jobs/nova/Cadena.class new file mode 100755 index 0000000000000000000000000000000000000000..1422f7255a19cea8a5cf8be17277beba6d11c2cd GIT binary patch literal 20497 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 YB|ZhTv7ShWTB8p3TcfS9)~@9Le`P=~Z2$lO literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/jobs/resistance/BattleMage.class b/bin/classes/net/swordie/ms/client/jobs/resistance/BattleMage.class new file mode 100755 index 0000000000000000000000000000000000000000..a2f615cb8159993732fc20aeb7c00102ffc7cbd6 GIT binary patch literal 30145 zcmc(I34D~r`TsLB@9yS!b7zxm5>8Pd98tu8i6Xg>KoT$sAb7x%EU=pF#$atgvyTzF6}Mv@%8$9 zL*78Uue{bD@}KAn2y!0e5BNjV1dScjIQXOOE4)44_K>fqycSngW9PdlMNsB3-j&|+ zPH$j&d1ElJ+;JM9;s2zPNf|E6G%1U+1?@ZdoQdGnctfF1Uz2yaPf&VCkJlfl?(6Z^ z)(H}`T$C#)PcPRO@^_Y3_w;yIHDV)altcNvZMPsbX6$@ky3nK|@(6N!0|EaEf2TL( z4+g3`L*5>KLQr;NY$EQd;)hC1Dy1QU%oYAnZLlv8stNY?V(Er78b-riG{U5jw3nb! zgKuUaf&@91`$7#JfMLv7Yc-9fhCs--+}Bf;MtjpfE*fpp7#b@mCx%CRgrF3EAT;0G z*#~4`UmA*WCXJ^FAQ$GI6XLonq2dIuJ{)@b>Ckf{ZZ@V;7}S6&>WFgH4)7hX@*; zu=CEKx5L-dTdp6e^M<^F@&TFE^!d7LgWaoYRxuLx!)!mwSiKr3Yc?RLnrd8BYf>E} zXnexbHbcjd9{(`#05F=oy4R|1+}#|z=l`mBo@wa|1iVW-eN_%ETST5z zYNL5Bns3qqI$Y3@7&o^E1MSx4%G>;1zIl*pL9W*N+Bwa2t%8QdG5#P!f%Qdngo}Xv8Yli;>Uq_2K!UlEHS0$Ju=lM+ zJPyFt_7%R4zD{4qjJ{A`j}LGzA+L*;n$*s0zjq>c1Ou$$LcQe>g4##}qV4aE=@^y@ zpGnJTIc{`;S$jiseLbzdc0v0L4rL+~>Ex$lTy(5Sozw+v4N8WDhakNE-nwAGlIle~ zMbM;fIu1A5St)liLoOP-D3=8FG9Q6}vwj8#H9+EGS|v&Wn}^hgOzIPu&Z`7X+YPby zkQ$81lT139P65leuK-8v^P^Iutq2RJIjJdselEyfOBwg9c3` zuw~DZ#6N@y$_JaJ%0*}F)+{DXGpCykMjD+?`3&M&CY?>^KraBq8Gc_U6xyg{m|$%? zJIa^w{c=4DTzVdz@1hG#x{xjsRGhGhPX97rd23%+R}e}fn-!(q%5X+@ve$N+^efNqm7mxDM65>@Kve z>ITPVREI*|_G7hmWWgVixNhPjdhx4Fx|*)B7LT88RMP&E9v=(6yoRoG(e)d#yplvXB{nn&A z=uUL?+B7Ro+Jpd# z8FPX__t82Rtv4x58w5@NDPRtOE@}0x23U}7C+7GhO8gvn_jJ#e2v;p)4!Vyv znY5W5#GGDVpraKs0I=qQlYJp3)BPqrz%)v$Vc)aP=MAmkhyGyFL-a?m1$#w!K+vK8 zlP$1cbsjxp(xdFzq_N<$=hINfi#~4B6D+B@J-)8sN*}M=TeC_JP~xL+Zee}&q)AV) zKgRmVzVmVEPTtA0COyYHN!2@H@0nen7fgC_;8GpD)XOHlLVto+jcI_cnpMy`)j$se zBWUISWUtApX?H}o38o5P{Zl4G_h*w{XOd-Gh^X%Dtn)4HTehq>7okpb#1(R|8GGBL zcj&K{-)6fXM-Fb$2Dj@GPbuPc{h0T`n10WszcHo@;AZyL`FcY=eeG;CT7t|~y}W}D zO!_;02x3_H#Z5td{}Zex>H8l+Dr>KgP5Q)AauMrh(mzf5l$os*7A3IUrz525xR6OJ zdZx$}js*T~(&zMrZK^cK29^aa|Gx4k`1gK1WjXl`xPk(zrvI4q6*FiSFct5cr_y%% z#zo(n^c{V_+b|Nq+o5T1Tm)fBtblhjX-{>A=6rq*K<%VmF8GB)2r1}*J=BT=w`K{b zt^F$YnD8+u8aV1Rg<%SZrcz&b2OMlr$=8!aC6HLSOp&5V+!G=3eIgBtU8Mi7#CcCK zX$v!yugDOYE|F!5Y>@*-8yu0f+MR=CW%{%KI40S>N@8)gF;%G|PvpCV+Y|-7^NPXe zPvQ_wD9f2)CWMaHtkclJ^A(xG!`Xw3uHe$xm~>GhN?l@zDTXquTA2^6DXg4=(Th}y z5+Ba~3VQn4JMiZ}e^lb*(wD$XVw5TN7W=?}V}tdbzAj9QUFHu+4YY=O{DI|FDPjzg z4jpNtOpJ4h@urv{CPL<7uDmr4UB2V`yq&!b%LBn4U#+(n{+T;o>)G>h`2RbxuPOFp zb!EnRaEAlD;qNeqO*X{=tZPdJT-isAaujgb)g|fYh5}h87UEchJX7)0w7d5VIhw zeu$Mf6a-xgB6QK@ZLs^R(nX_aa*1YB%;9h^Hx}+ihFHErv+sluk3Gy3EdqYL5kN;G zwdX87#@8OIa*26@4*V%x+Z4}~siI9RFva1#DF@iK0fv2zSY(PL#F6lJz-^5PGHO;? zt2H2#He?V@t=(202yhVfmn49rZ)5UuES)Bf5=%_sWdtCQKn zbCWE}@e>Xh4RKyBR=9-U6vv2TlOvM&2QB?>w1zmvk`#y}j;u-(T_WHTK~r>#r9r{UQ>j$yfSY$`j@W=K{qf@ zuQbK+%+ulo#?>lQoXCjEhz<*29E-=vrZ|PgqnHIcf+5o`xgk0ix$=-{;J2%*iDhjei;x2(;-y!Y+TE`$K1G3*C)^g8% zf(}W-#ej#C1Zv=2R9nRQpJ*qdC}9VOX}-Y}8(Cm-L9u4v@zMLUeXG)d6F;=eKmSPU1fCpsF#5#ch*C8GSy8{{ae-i1CxJ!QQ zaZ@}YwjwS@s*24EWX;Nm0tZj-c?=NU9_xyyP4SF)*3uObdLfsTY?%fE#3X&*6fcMu zA^AWHGeUI_N<(1oWPe^i%R>-G?v9NheCLU$)5JFM3S$Ss_rqfrH8doSAB;Z-8J6S{ z+wqUqx={o${RihS4Q%r21CfvfT*7U3+=hwQOz~&&IwCmB+(Z{23{krSJNl5FwGnTa z;!W|EJf_z~m}6Ca!66Y&qr*NSeSW)*}AVdEga){k$Vx#Lq) zd?x;7C5L8s{Z@pLJHRc~8lP?0=cf2Ve939a5KKL^U&(-RR&P0?0o<(0B_+Nx#n)mx zyT#g&jEI^?P1$9A0m~N6?eTT^+u=LF@%>hO=MvwWVu#p?OnuDp9WXgSSmx*86q?Eo zM0Pi0d|_e09K4n!QwoW&J9U{qfWlG_o4bKNx#f#_JFC*9AssI1G^IY*XgQ zT47uU;q5|dvzIHrv(jXVEOkjlvR}xdk$BdoDNZiMiqXz?fHe?Fk4G$S>$}%|)AyY>%eq#~u zlxx!s(Cc!7DJSysTx*}%%}?%Y%KbQ3k`FPBe^h6(Qsw?~vP&Ld$_hDUkZMq*P&lA! zI0_|1%d5z!scvg)tY6$zeQ5pS{REW{LaN^6vSVZd@aq2ZKvPz71)o#5m>5)|?eZW~ z9;|)(6QNP$A*P%ztC5z4{Pnf_G&MN}w-g^-i&tsE|vCDfb2ka2l1^&oGx5TPM+q1Tj4nFR;1)Fi&sVM<@po&EXFa#OBIx-%KRxID&`$4Yo& zx|E=i0~yX4UM&$w^VzNV78M?d9pmk;-spGlEDeEHZNRQ|ijEvBKxYIhgz8rKY@$MLFB9 zYT3ml)h*Xf0w;Ny;PSk}l7O!;^DA$VRN28rJ%8ioUkzD|Iyq^T5xp2pp+?W;m7bj@lzl&5l<%EewcYbDL8`g|m0 zR;8LMjb%0s)*I(fx*?@JnQ5vFJ(T%V&ce`?% zsz46|^7ODGQ+Z;;5P0j}5>u6OZ-!Oqg1W5pcD1lN*~Fj?Gu3dOB~^pQw|K>orrIku zmDRgl?QN=kcx*}+p9;hYUxfNhTan{;$X=_%cs!CPm zQU{spU^OjS4Oq#bCTQjArT$JoyF*56DAG?dD|)KP(gbw4E7E02nI%nhOh9h^bPj~f_=+Z4A+MUh9d-NKel%w zSW-2ZY8IPg&J@R&t)u6$U8*rT!Kg*D5j81DvuZZg95olnw9@a~J(z-sKBLcdU8-74 z)yhz3*6JDvN`yf!6);ZbnQA^q@~m&zcJnHSn`$ASG0U{%5>+4VOT!kaBTRLqItpB7 z*`k?zsUu32ziQyQ~A=d_+UH z?DO3SgZCuMg(?Hi67qu_f2yFVy47*4>^eHQvn|*V;3LJs9&mU0?hqSuyW^%qO@i`o z`HE)^nW|5%gkQFdOI-8xX$hR?MSzAQrGk$5N%JPkR+0lT00ve?CzwjdGI9lwexArg z9!Z^Ss#Dl^GP|Z7c3%;kAyEUrI%ZsVL*4Ow==G?>TKBM+@_u5WE<#X|AT#WS#hRNZ55WK|^C>q!&gvYX$~2Hq_Mf-1gu%(cJ{R*0(I4Gh=aGeRbPREX80gZmnI|HWR5A zcXeZ1wZ2{5+}tp;q0y#CYO8-a4o~2ux}b>(VcS88jHR`frE03CRYAGe20QRvR--@Q zYwqKyw2e>yLs)c4aK5+4&uzQYq5W81Cc%45;#b?@)s`L0NI!BZMrehs?xNY98k|0aii{q88T_~$rf6s10^s)g1x?x0jmH86 zt?SuK@t&Z)6yOy(8wIBYMlW$X%{{oqhcf`a>I#9LWj{2kE&h44>KZ5f0Zbrv+yv?tAy#b4*A#(wf2pF(cv55I%693sB zx&@ekg>UGvDkcR3B?f2MZK>HiNho8fl*su2mPNJfr{gA?_qTC_IUu}7kB;z*6So}; zY9LYIx%eWN^{y5h_$COJT;|=qq$Z&)3I+4@GOw;jvEQq)1Lo?s%hrR?ZD4SRv3|Sm zFi0gG#x-(wAsQ0niH@%2a{?d`lsO;CwAt9`*1Evx)@S@o&PYX)qR_0|M8*kcuz;=< z9%B(PB@{%01v6p{-d%)`ppT_73&qlyJTytOCaFN38DP5RYumd3`4FFe$Iu4W0D{0% z&;dG{EdQ|u1_&R|YpFfftO|K2>uB{1f56*mF|gLXprjX+Omg1!Wbu(I<}! z8(PI78?K`PAh5L54)7S|I4ER|$lyGWk87n?8wnKq=~gzsu~s88?*f5AT4Wl&pB`=S z?X<|W`c|~Tw_J=Y?Fq|e*s!VP)lO~*s!U|`Bx1zNw?<4PF~YJung76|$Y2HkL8@E^ zr@D-E;4RV4C3B$5$N+aFj{6~f7Qa4rw!(6__r$7d^%QZ?aXeu_)_qW}Otkk!2tfvo zi@-j~IbR?i?R;}2Y7ES||&>RaxIsP@2UvlScvqvVNmZxQQtdb^f(ct=HfFDdyj z3flK4p8nKG*GdwHW#F>eYrs?1nU+yd>Ob=K4s^eOl#Q^Tw4$4+=8M){N5O441jnU* z3P(g|(EyIcN=C0X1|{}l$!VHV`$7y40-sy2Qm3^B`w)iA@U!oh6|0v_Wa1(Jj=WI_ zwQp~ClP|O)*wLHiG)AQvdmH<>jM1hs#uy7;k69&uU}f-FUwNaZ1D^0M0{}W)O7Dtq zJ#90Gt_s)>SqscWS)tR{JE}1lJhrd9%HknC%q|SZ^$d8B-~EaozUMcsC4cx?JFguN zZ>_hpvlaYTl}+v}hcO;m1Y?4!w&+$lxArxSq2it_huoPhE&<|D1~ZKVOryjo%{HJc z@IvE%Lu|}=V46{BRJjb)X6uZDVfm6sVPOppA_}iFBECo5ZGUgxy zn}p24Skz@42JhsDha$4J_?brFB~*#x*9h{cGiV42btYO;osRbESX&H3`>a@78EBs! zYm4D%pA&1#m1v(EYpe6nK0mH~0ooVF+Je`=DAuN}XkQ#_t4q-SRje%zM*G)s?U86- z8f(i((7r6L{V>{>$J%NL+E>Kdat+#7#@gyPXkQiAz8dXo;@a1uy(X@G9opB&wQoTC z##mcSLi?szn_flx=D7A}W+TwaD<}VL`7R8(#XPWRwA^4ZeQu-G)N8OK)Hh^xo z@U^-X#3kj zt*7E~kJIvTVHz5yQCHDXWwRC2mcMz^f1+rc`&-%D~^{ z0CX`Jaw!$!4fRr5fsOm|ae-s-;{LI81a*>+x^U&EMs{O&lu2Vr4~ z4n&J3!%?!47T<*nsUZa-alKNnTwo1|uHsO4s(bh`u1VO_oDG;zT%gHi>!{;#D(0U} zgi!fv%H(Tf69ptKC@U)|-Ap}J-f3>Sl-m*@@7wBU?x z@JO}R-r$ke1~F@!x=*bGB64W9S`SbStWcvisEuHPy=jWtM0aZb-%K~!`#&CpW1)011uw+=oSFqyJ32N9erdh3DZAfOpvMf zdMm)W4PTk**UMY-2ACz z{CjZCJ$;F1+Lhb>f;1ogwhHqP^#HFa^u|7#pokwsjIY-be~GCkv9qlSS$w z2om%Lzvp5>WxRvuav;+uj|&U486tjar7>arI*|*Gt#qggr>JzHS-43Q3-FoC0LE2C zimFKUI3A}`4~zs;s?x<*U;c`_(Np1cr(8vTo+nQXyPjrSSHrKTYU^sm^)$u08hJfU z@VFkQy*#e4*eg$r4vVo@k=tXe73Fzik`@YASy=2}Ha;vW_)n$v;KA2Z3OA=k)LdHR zB0X|p^2j@Z7ZTUvkHP7D{Ep)^J$`RS8XPu24C5C$@Oz~v4T|q0PnzBX$bl=@T2bvz z1@EmFb(jr!K)J6n!;`T|%ocPN)$tX|aSw^M%1oedwI_3(m>(7k9}-7ZW_hw6-}R~| zD=ZdYMb7?RPxIx{%4|>eTCvQN78afTyEgXI_q^F2XsN5oxYt^<&suXJFe$r%;h-OZ z;R#;*<+!y^u-AU5pHBP#v}aAalgh@8-ylwniSAc)FzE6KRQ#iqPLF}pABSFf0^Gip zCek*T@h9O`JO#t@H00_Td=ch3coEOTe!dJv_zFzHtI$M$hTy+W>!Cw8(_5JBZH#^g zcmFC3dQYU$-$XvWFZQAjL>>KI%%cy*Qu;{v=o8UN{}3zbpJEk#Do&<e7c(dvY zaV32zZlwQ+e)>vmrLV=G@%GtU^o{r{eJ4Id8U1tGA^rog$4PRW3KuwjEoGrla;h+J zwA6uPolcyfOp!}Osys%d$u5yDyG4fV6FKrEk*g*6Eh+#kBh(+&!;}R`($pjBQG7A1 zjwY$c)Z>(iRXz6I52JUtQkivEHbkD4OCopW)X1|e;St?{t0&Y}_9t+)O+5+S;E=~_ zUrJHBJWlHigWPhtR)G#Gk{#MWJE=r^wK8V_!|1ASlkAMAO9%8Y#qgbeNI1lNwxf zy7ljS8tW2`JE+1X+FatO?UX0eBYhKNeUYxXVFq;YbOEd>-AaFZQjKJ5BM$#$Z^ z3nE;AE2cerHD_wKiY>&+>N$AQN#~wwrdXB-@`o==G%W$x75-k$@Q$S3{7nly9%R~jfp)-Y^5L4+5 zVD1xKe<~`WbE-5wTR@utou=vOf{(gLy{KM7-y*t9(~~`@&!hDG+@@zPbRGMvk_zYz z^|JUac>X}zq+U^f0-rG*Pv%&uPWvlb1kZDcTV3J~kd$Z_;<1rRo1vLLuDHcLvi z+d{3l7M6QLd5k2ux*u`y78d{9B>s&z05-$$&?fPX#GhR-KVhjJ66;teJ;C0DD=bqh zQp(&ZVQC^79fGLNu|a0Vm{fbqqKWeHCjU?|m#W2KG()sN;j}^F%%e83kQR$Ydh165 zwxLv^{;XaHoYj=48PWw+yks23N6NE zVVS30*{G-L)ShaEE2dwd4{ZH%IbYfOC3UTiKI> z4w(XwijA8nyKEs}EJ41dpXzkp#ccqFy>Fsa&X~}?Wr$?tm@9z7sZM67jY7tq*LGwoeoFn4EkK0 zsp;MgLmr|&t%%YP?=Mq-1yiTvdx2+YMZ_HYMU?JeL=DR)QN!|{77azC>1p*YIKV(2 z><_kkF^$%1r^1QI>~8H!SVD3zrS7oI4c)g3zBJ+Y%V~Ubt(+8=Q^&8BRYTzP zuMW#;G1Tig3_f8xe8MboF3^8I6^RRQV)8=TUtFY7WyN8WZDgd=SiMP{>7!D;Nr}xD z>P=cUHHEVX+1L#9BHq@r;k^zb!thpFoPKITtjJ7lMT=WFTI4|!!10@94N+Lmi0C;h zQ8SV?toRie=GTDuQskqNLKTjk%A#ErLtj|Vx|+sYu&)NNO=_b&EG!qqMxb+1j{0y#SRSPgD&a(&rIZUmC=%BI z&}*TP*U%Jk9RR#R185}{s-gf^SpaH+_M)u+g>aZ+BY(RG+V_5u@2)dtlbw` zJAS`+V(q)I_U}QMd+_SUeR{tZ43UsN63DYtR%F3on-ciUmJ_`b7{FVQHc(qw2C&IC zb&y4gGK;rwAehc!vA!kXcilHU*4G~C8xiYU7U>%qPp~pd1Hm>x+BU(@*$hADe%ePo zKxN_&R4E>UI(isp}Z>z z!qUG95fqhemfaE4Cs9_>rjO3MCxNirpdz0IOxyJO?A2nb$ol+=9cvls1s`W&FWNmv z9z9OqIm-A3PksujIt9R4zRDsu~r_hGgB)nU{*j~D^2CH!-~oj4YEA(aq@T~ z*H+i5o8*}sALw2yR$zm)QJ#ZLLcFC(b-Pvb829sJtd&f2Eu?#SGTiB#sSK&9j2K)18NbBoxoBo3D2ERe`#hcVA-lh}8 zJ9IGuoKn`1=U5KR^KecaZHvd>89ud=u*vO`tPj;vb<|>OCZ_GLhgq zO#KZ>ewclc6Onve*`bR_jk;VrwW3w0|2eg%DC7;cj{~0Met>$CRQO6t3S6DzXCBUGUAK7KxLnut*5~ z5gHL9*#ix>Ogh2JviS{7&?brBTd>$o;O#Nib#x;0gT-b#SInG;#C67a?vua18r7S1 z@^Xa#{A1S@*lc|{&9+^f-sb@*LdeTwMTqF&vNDe`WV8GY63X%#{Ikk5>*eJ!!)Cd{ zpTe+x2D<)>Mu>mY7$i0J7hl4s_zD{MYpN03;SPU8OAwu}65nfDO}2Jm(>2yMgf%b^``ygB|CTrRc6aUters=Fkz`p>(wTClSJz74uo@+F6+*1S5v;n zzP>Ije;bx}*|%u56*-3GJ(a1RR7(!iJZZKZ9>G`IcRZ>x-IK1}!}mSuoFFh!UO|el zk6{aOhS9;mbAnO#S93pddmeMGTnFz|bn?{(ebv9~#xf|n&8RRqS6k(P^>Ry0B$vXo zAcR^eQ1y8deuk7ZLMkeg1|1+BcstQae(9oKi8x=T(S>-I{|af+dYM6+WhOl!v*}Tp zLoXo&c|+#W$1HE3s$KiPbzjx1d$^PH{S zy%c;w_f+){h!)&J;kKD0MPz7}z(F1%HJeC4zQbmY5%i_S9H{$!qJ0bp9YF7>f3na< zg;CF|K7|S9D0V72cOe1j;$StJLPEL-`u%&FjCgh@6-RRw-y_=ML`Cg(Eos9>^ad)or|hWB-Cs zv;YBHCjUkSGrl?)6U-m39gf=|AB>5pwzIMnbRJ1raxWB+M^T&HhnB+)>5&s@wJfJg zP422YHVhZ+CgpXSP%IYj|lbes3UQO z?cG%5$%o<8*n;>71QA(#Mq8fb24wQ!ackwHrC{cb@(JWsF#awT^X-bEe+jSryJQtq z(Lpp)9!&enX*5|@YmnLB8A-XCCD?JPut9cFxn>Tl(5oHh$y!_RJCPO{vkIY2M}R_4 zBBMOSjTqPC+#sJE2f^Bg&;W9ad{62SKwp^xwYj=-kXk`RjbubFG9wpRk&EoeMNZ@* zS2G7W+W>DqfAA2$A6aZ7_T_IM>NeghfGDI`Y=cj(;d6*qKeLYrTjdBNz+Xtz{W!^w z-#ht~K1$VuUv_HV#qU~};7wjev!ta|Hw=aI*!S51_{p7FlI|c1~t^9%G z>~X-%M)_=Io+ocySVFnI?7?MNzUD!8;Lp&3Vfm&fFFQLd|H??>TkrQf`k<>`>vse^ z>55fX`Vc$vVAYmdhAG4HqkhL6PkQ!uTs6jhWM$x|aN&fVU8H6ZPW?j_CMxjcy9*{(6pnWnqCR_O0S*>?WWoA5hNgM)!}34YLfiX|4|oE% z$NgYMfvPBU7rG000=K(xVnxw-cM(re7(am<6S!j&z%&1@-?)({Dex3LSW&1dirhu+ zLY}0+T{N-6Gv4jtNs8hpDZnHJJV{vYj6!lGPg3Y9e6XTORd@hW5l>R+_DrlO9`7#Z zNj&kB6k?LX7$p5h2~SYuDSEKNqbiEs#cmHzP~(6cdb{- zNSH;0^+9$Vhf?@v7}18fCtnl zEBF}358Hvra8J5>cy`AM_b_CnY}w_m^=dR`Ewj+fm;#UCFsP?GL%LpnNcJa()V1ZxcjI!<3;$IJr#^mY7>2Mz<4MY%of zc`XjAf*rH9>cFr%gnw)KWJ_xHTt4W61Rf5!^wVu%?#N+=nR77lFP zjtB0-sKi7yJ`n&nKsHc@oCUi%n+jzkmC7dA&$%>49)<#33suTis+DcjDCZHrB11>Z z1#k@xr*4!TOXU$_Z+WDcD321;<&!inme1d>0=n*&$Dr zN}eK95<{`3^@vs?r3}gq(+{NFYTNqo8`H30Y33@v^-xfl^00Ayij(^ zi*ff7TwN?LmA{tP;_uD!GI@u*T>eg8DYwes$Y=5Uvb+@S808`Z;dlX^;SRxijc>Q#Ba`anLQK9dirujC)qF8Q#LA|Ej_ z<)g+B`Is?YK5iT!pD?QAR%4djW-OFX8cXF<#&Pm#<9PXuah816xL7`CTq<8Qu8}Vp zx5}4|-^*8w_3}@~qw-bbCHb21wtUlgU%q90BHuQ?lgPLv16|M#IacZ!{L+vbOhw5j^pIN9LLLlJI<1yJ1&=BIIfdl zI&PF-Ir`<-j0F?)ol8`XbA`%vcB?$+N|opf0@;Gl*#m;rA#JNS4Iv-QRoZHlJ_VJL_8!PsviRyFp1p^={;+O57uUx7T^?kkqp;@R!!E0kO9z7qL4`o2M5ks50E zm8z3OhuwFcn5VwQnI4=b6|>cM>U%0yU(rWu2l`6XE(9Js(N}6*Lv?Bw`i2;{QYFrH z;k=haQNX~vXEe-_MN17%=MHz`*u5^fr8<}3Fe4Y=5c)WujJVv+Cv|ZhfeHGo!#I4! zXWrnNRO!4# z7u-#%b)KyY?itkRJk@aEZYIrh_8ENKFN=nZjXcfI0Q|pRdkC-X`B`h@JexkY`tvug7f00lGd7L`Yya))8tphA@UvF` z@0Xv*m@oag%m4T5??Qs)=kH!V$N57-F6?H$*o8CCKacqfk)JCs-)F3Q=yy0*E%;*% zR*;O7QijfTq##J1ut6>2?1EJS!G{qb`lEq^G12S+A?X=8X`K=|F@!!=Q5>G97?}pj zwU`^9V6a!1k2}}{6(aMo#mZT3!AV_x7J7p^I+o7RN1xSrEI0vrr<@AZzItIRJzr=o ztP>MhfQ#e!YzAPx4Re=c1zv*>GZ(~?{rU*EnjANa!=8mxG}6c>VdNP2KTOe+%mtvl z31`_joR5#eWg%iJs?i7PnXH%fyl=6{8?#@JZL$de)}r#-TA&pKriUDbpB&gE`jR4w5FO zmi$tdJ#_={$rw#%jFyy!)v5YKw}O^~pJ~8VBW8vi%Kd4H(KOv-G#hh`7V`Wbi0q=% literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/jobs/resistance/Blaster.class b/bin/classes/net/swordie/ms/client/jobs/resistance/Blaster.class new file mode 100755 index 0000000000000000000000000000000000000000..4b93385e59ecc403f641f384544ceb9824d01f5c GIT binary patch literal 15652 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 Q-r%n!i3$7?zrN7-UvnT9!~g&Q literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/jobs/resistance/Mechanic.class b/bin/classes/net/swordie/ms/client/jobs/resistance/Mechanic.class new file mode 100755 index 0000000000000000000000000000000000000000..2c82f6f79d61dd7e87b7b563a3632a7510da9937 GIT binary patch literal 22535 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 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/jobs/resistance/OpenGate.class b/bin/classes/net/swordie/ms/client/jobs/resistance/OpenGate.class new file mode 100755 index 0000000000000000000000000000000000000000..943c2d67e26e4708941ba182907df19a90269cdf GIT binary patch literal 5048 zcmbVP`Bxj)75*LwiDfX@4p7H6h6KApV9QSGwl=nFgK><@7K=baT&IIHz<`*cGb3E5 z`;t28zNA~arc2VjNg9Z8({%R_J^hb*PEWu0W+bH1$Z2zq&dlh&cklh~z2Cj>y?_4a z_8S1s;7&8@P@h0dLj&Rh?JN3*p3dvmQhI7(#mIUB@zbVddS?adll`+zXhc&2%^F&u z2^_TyFYR8pot$Z;*W7eAZyJ`DUa=S4v}3rY>*-e3NKdUB)^Etg%^ z9X;zAPI`o2L(~)6F8>f zI35t_+5uXDg@_l;JQFH#GFj$qgvN4%6*`8R@lKpb;9VNtjrY*?DqACVK2NIJ4ucx^ zY#B+iBq~CsmCAur8isIMAd&SI2plU18KBsa2_TkLhf3I44e!M{#@aQXloU_)kI6g^ zYZ$=={%6(&I+9}%;>{%2MGX((l0aL|aM$(gR*@kBhpMtxMXI6x*=AhE`w|$}Fo8*d z!4MC#wq-FmGJWfMc9r$2*f_1eY1IyDbA-h546<~t%Icd`HMvsT=2XG+O)-t#nAY$x zuF&d&W9zxB?go0Yoc zpE2`N#e#+`n1Og!cFjB)m7MRN-vfa~4NF)imz)9{;PU_NXgEO;Jn}tN+`dw}PXCrpi;jw;3 zBsOB_Nc6UG(=sLtYYT=mBMHVmaNN%7`B~jD<^NzX<}I6S<;QBMueoP2ylxQQ{{PWG z2~IM*czWPIUY(dqrzt=yI|98`rYhG<6OGb@e-t@Xtv@1c6p==Jk;7FMA|#}lCYq7w zESY(3L&F@Qmf}b(Ijr2}P_d9@i%|(`4Q)M*#a<|IPw~^8Gri@EzGf%_x0ltFI=hf` z>a-(pUpR5q?M9%pGV?dqi`gFzDLx(67C2v%24~6d){MsuZbDxVD5bf}_Vr>x(s*89 zTgd5s6<+rpuQhQ@;4N$}+*0c7C4uIQU2w9-MN<;KwFu&ib2JXL>H6>M4?_NtK{SMVvJFY>%>J3QjHtd;-!S9u={gnR>+ zR1bCg#%+7Gus-AmTj|btj%h8Gk5mZGFhy@|(l>c`+493tV0J{$=QAb`o9%c_cCs?4 z{@rA#f4;2&+p@pj*6<7bvR(e-9D75K{Yk^m<-tlD;|a(a$?L9bxC#7~2dk=pM#Uz9 zzw;P*_oZw(ejw3Hi*-DC$NA*lh+lQ`=Az!bi>Np67V6E*gnIMX!FM}1_y#=9=QI5G zEal>S_oQBfNDXWvks91YYwE}*cBeXGo9IY&G;Ctu%SyxN`0Pf4&;5u|YZDG&7f1Hu zAoih$&t80mzJ{+y0ci~bIZhxC)BqymB_r@Gz7YXrcNoZtNFd+Dx1xaT4g)z! zAg5{ok?E2^zK!oh0O|O3C^csyfjo!rRsq>hmW6?wCy?P9KqOlv5FQjGfb0tc8I1(; zJ$ye3NEy+6j*Jn=%*ESv( zcn-VdcWfJa9p+N0f!i>66W@aQ)GNr}g0qP^8P%97ms6}$@XD6JB&j`xPE50gALhmX z3Qi!yNX}psk8;Ih9C@6ouJW{fji(*o&b-uUJr4QMqezMJ|CEFDh4^sz!ln9Ez{dn(%a literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/jobs/resistance/WildHunter.class b/bin/classes/net/swordie/ms/client/jobs/resistance/WildHunter.class new file mode 100755 index 0000000000000000000000000000000000000000..91abda11187af080e4433a17260c8dfcfe844140 GIT binary patch literal 25859 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 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/jobs/resistance/WildHunterInfo.class b/bin/classes/net/swordie/ms/client/jobs/resistance/WildHunterInfo.class new file mode 100755 index 0000000000000000000000000000000000000000..5a8776d9477112b227346f4433ebb1980365920f GIT binary patch literal 1555 zcma)+%TE(g6vn?hGo^N%^3vi1MMcz7kg-1S0ir>pHUTwCaKXlDd&R*rL)xj2y<0c_ z0WRFQaiNJ~VvKR^zv3UD3!{E#+5ncCxVf+1^PS)Q&Y6Dw_3<-+^SEfkfSH8lAb}2r z?j`S`=T^L6(Y;Yz(xphDW6}@&XiCA%4$r5s1*s%#2V3DNoD6j2)*gk`vaj9cnp>*) zI*8n*uvl}ey5`p+FDPmEj$bKXs|S&;7J_@B!q$?v64k4^JR24jjD>>8b~@-nH`Dm# z#|mm%&UzhelQX;Om;GRI?#YU_d7N?3haE&))KNih6K&eYF6>UC-@zX2RXEs+76t*| z z5nl)*i977zh;XGDcWaH<#Ix^TsD6ow6uM^oKwqyf7j<>cD^_^YI}?_?%Dh+gW#2rs zqWgYLVSJ|b8UN$(1kr0P=!xtCUq{dQL+qKAotAx?`*l|S-guEhHoGZz8w)2y!(5g+ zssjB8*S$UTU-2Zk9kCj--b(!Rr1X^-IH#9aDqf@um*e_U++<6!WVge5wWP23;@!5t zTWd_(7YA4hgY9i{WSeqjNNdG2+lg}uO8TASFn3q^yW-rF`v8^O^2vUWWX^bx^xHTj z$FUa{$27+jB|9n7g%O@OjX;dzD0fQQrYY)j7STlR9g=UjFd#ybQ{>iz6Kla^kRTzN z;%#|BM{a~H>lpI2g1w)>j##0uajU5y>hfMm%9^cBZl_!tWI75iDj7`J%g`G*9Q|d=-(F7)&d`ofX0t4nGp$@%3 zpG@8MOQd_Vvb4%~C;P?0227(l^DOLfcGe00|DD?4#XvK?!SnM(YNTf${=^>fWr{im GF8l$Ox&$@= literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/jobs/resistance/Xenon.class b/bin/classes/net/swordie/ms/client/jobs/resistance/Xenon.class new file mode 100755 index 0000000000000000000000000000000000000000..657356afb4a6ffd471abd35e5cf9c91db0526ccf GIT binary patch literal 23021 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

J zxVF72Q1v`2167lVHdH={`pgI%wQh(59xG|9Zt!yy{_W#OjZ@0cVty{+M?KrFY}nsW z`4HulHW0qi3AB~ARZrl&m6JH2Ug#^;^MeyudxB)enta7c2RA>JGXWc_oyB( zpn^g_sbEw69%!!*)KB7%r|`M^pmP!)Yo9ZLa$Y>yJ|{3oy_>v$Mi=iSo(|M}8DIBc zSF3vad`qBy3NKRL1a5FgYgL2&g%bQcDgx~BSNF}3z&?N7*1*0~_}lgxrS=rwV0TB_ zj|24$4U_n%lPsII=BykX0qr<`;=n;wf36&~L^-*v$2MLsr+>9@`LzNyXvI9N#6lji zG%+$-aUPHQRx^Uua8-XkHsL}H@h~odi;?0SUXOMh;epy6Sj)ZTb@&WhPT*2JhRg6c zW9>=0-mC2SL-zbBkEectEnMLC;CJYyGi;L*Y?m@bq#6U#h@Em4c1sXfGgz)+3|uQ0 zVh?q^PQox`3lDF0A}a4eObqOkK@7?mh9u3ikQ=dIZo-J%hJ<_=mfVX2@&Igk1Sxq8 zX?Yxnle~eO<>$CXevKpY8{8^y;eA{K-{z^n?VeiP;c3MC zJqz&xPZK`qX~j`b2zPqg@F7nacX=+yM^sQ#|M|q@x6&pTp`57vQZD9|pV<6FE|GQy z{}KFHI(VfMr`KgIuPTYwE3%HZRS}~v$fa@_s(E*|Y>-aW$R{{IVcCc|v~W-6*&uE0 zl1-?kl~>5+vKjTXakblyTCd8qdyN>n?cP9trrld;W3AlIy$rHQmVS8U&=0(xFiXrU zNKSswdg+l~vO$gKV%aL&7_aj@tEEr2(?=G1R!Bc>D?^i~Ng^@;4XvI9vV-&DlU>AO zA?BXoRP!Gbd>WcHG-^m{SgPTuXjrB3AP!4T(0}-!1w|Tg^Fi1)22{UIIO@H%-da!K z1by>VLQn8KzpkiEy14q&@F3aeZOqs3@Z0cec&hdU7M(`!eAJ&#E=nno;!iLLPNn3$ zLY}{pJb#t!c9RK{LJ6@2ZgDxhm;A77{lY2yQZfAtm`7e+cpSf-LFR9g%zvlo?Y|Y7 ztG_k;WchpnuS4qN@V2+5wZS`u|Cz*_q|ymw=;2LD4U`_o30Le)dSC$8u>0La?jAbt zy{O~K$~@eUv++q1#-}(b51@}hzY`DPIv#*TiNih~M~vcgbpJ z>4IL~-{QC%FL>p;pvK_5hHm8HIJV;TlSFx%c=k2%xJqv z?ur&G96#uS_XG``8E8vOx&FXW#y9B374Xl9SiYmfsCODO2BUwTy6ljGk}FQ<+0RgP zi^6pbB2~M2IpI#ebc;f_p!)&Mc-;ZWE$F<{?(EG#;FDn*=!#n6#3Reby7g1Co4 Hi@^T@PE4x) literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/handlers/CatchingScheduledThreadPoolExecutor$LogOnExceptionCallable.class b/bin/classes/net/swordie/ms/handlers/CatchingScheduledThreadPoolExecutor$LogOnExceptionCallable.class new file mode 100755 index 0000000000000000000000000000000000000000..4a35ef9ba4370c982c39d45c696fd8ebb91651e6 GIT binary patch literal 1908 zcmcIle{k!;v%N}258+0%;2LWiC8r81}+*{ zvTzA+zEtgItjL_I{k2s49+mw@Ig|T9>wb|D4d`*R6&jv0QAWi;)xt8aFw7s31H)K~ zpJ6r|>d=2%*Mj-fBvcJn! zYjERc8j||5?WsV&4}}GN4H;S|L3P9(r)=k54*6~WFzn9%5bv3JCqrYcy_&Hf_TKtGMaT1Yh}>+-MEU%7pa*36 zKTOw}Zef~aTRe*I$cV0;wJ8Kw_0WqVPC$u(e;dEBX$}^_XsqSvN8^z8@6zzk;rjHn zp8DyY(G7TyWbf14BUfVwEIw zWJqRku|})j>2Nvv&SZ7#Bi(h<4WQg2P&9AJzXtFffzqC8)t@l=3tnOPzVRc@&0Hw_ zj^a*UOPfDq@hL7ZKgCmE`j3O%HOOzB_65?;4{?7?Z-WdraGP{Fe1bdax`0huO*)&S JX@3{FzX88c1d{*& literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/handlers/CatchingScheduledThreadPoolExecutor$LogOnExceptionRunnable.class b/bin/classes/net/swordie/ms/handlers/CatchingScheduledThreadPoolExecutor$LogOnExceptionRunnable.class new file mode 100755 index 0000000000000000000000000000000000000000..c2bc1e7b1eafef2b8c5bac297d23bc85f712ad14 GIT binary patch literal 1465 zcmbtUTTc@~6#k|yZYf)e<&KJrfRutPC|+Oz1p-1+!B9d%d|I|+ySVI-*{$$9{1ZN7 z1iVCj_eUAelu~Mx#DtfbowIYk^PS5#KYxAs4qz4wjffzsA*Q1N*BCZ@9-6^{kOh~U zdx2T9{es73U@qFBQ*!-c-YM}y+2e)HlH_*br4ZiIA$Q85kOMhUT=$m_9ljsB!rv(S zzP;mdhHGKT4F<*;W^-47w-Sh>QA0vU6Lf}_UHh$VdbVFQ*LQZg6H=fV*LTA?hG=GZ zOJ&xqBZU@*xU7+B%U$@LQ?#0pMyrN49qkG_{r45ZBn%Cm46PS`YsogE8$B9s=(ven z4AvF$q)479GIZyJESmPdO%*rEGP!F~fs0&PaolE@;8F@{xW2(F^{3uU8-u}^u^Ji& zuICxPFg)SYePf3k#Jw+pKHSmJuVVm%f7CA@N^+Z)}1*LqcFIxDy} zTxY7@N?-^X4Z}LJ7-8tVBnO6u3V(+7`cUV%TM2aFo{llqjnqD|3-h7vyxEkt!!^(- z^;|T8x){29yw-~ZOx#yP@_?bM9-T&39H^1BhPN0tGgq3%y3}i9q+nxi;rkcBS!0Ea(;qFOraUmbOH@egw_;U zr)XDSDvSareOJNXQ9yNTBKr}^&$!O;9z(eg=t}p-z9GIHRrdTR7$>+pa)QyXFtX_H&5);tNKQjX YKf%q?F@iY)Q+qdo0SR(Y-}8w425o17#{d8T literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/handlers/CatchingScheduledThreadPoolExecutor.class b/bin/classes/net/swordie/ms/handlers/CatchingScheduledThreadPoolExecutor.class new file mode 100755 index 0000000000000000000000000000000000000000..60796fc2a70c7976dcab21fc68913d69559aef23 GIT binary patch literal 3036 zcmb_ejc(gi6#lN8CTZr7E!#56fV2=GNw;}}@>gf2BWp)X)|Ms&v@(z|mqJ3uJdzA| zkF*~&#rI50(H&d&U6bhL(>^qLNdCYa+b6kdG&9qH#ogq=)uCy~q zVN>{Tx7Iz0qUGwy=X&Yy%mY=y=zph!9c4%>ijdEk6 zdGQLha?ZSP_7xd9TxLiQBBvOP^Yrda*4r|B{0aF!4R`3xPTV##b0sXwcnvohuEx=N;BA@5ymO#=bRgeN zhMyt+8#3M$_=On%Yt!on7ChvZ_B@3phJy=mtkiIfJ$v(5=Y7v~>^Sln6!DfwiMJVA z<;Dd7)Q~#kM_6g6@XkyPk5eFn65bPrml?jFh2f`5K@6mdRIg$sgzJLGOFOs;&x(KV~Bxu*Dz1`}S_95CF!(BV=Z>yFDsL2Q~o5;)tY%0ggK z#VSrN9K#?o%y$HjY2yxU^rC{oFlFPg;!sA6JN3LDJ61Xyv({>>>na^e(==>N)FpB3NoFT}D!2i+gH|w}S2MDu zD&ixHu4ZahP-m#i^|@<0WY^PC0uK$_nI-ho3mnHeEijIAx~5xE+ny^|+6r(kGaS;$|iZ+wz(UmHK$MF=%niU!bF@8Sf+%R=wiaC>rmE{ zlqQ*OCiMJ(zSe10%qOciPr!a5Nx~{UMNb5-)5-!qB&iUt!bkX+zGyu@!Kb8yssk?5 zoX};^>Unx+tJRg?kXl+yoFMx%4a@~91tiD}p{|OASU6Od#TwLLK8qUNq6B!BjQfn% zZICQSb8C1&(&scHp-vL@>zJb>#%hrx9-lh#^BVLq{`_qmsC{MlS3VTBNHK z=z3S^8l}g*sk#I`HfVK71)=>vDtt+-Zs2ib@iM)|Zy}%l9hG092wJld4(17Rm&PRQ aVV~Yfl1g+z`HJK`$wg9k5R9eKg!C`{{T3bo literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/handlers/ClientSocket.class b/bin/classes/net/swordie/ms/handlers/ClientSocket.class new file mode 100755 index 0000000000000000000000000000000000000000..cef922f0a4b2e4c2caa661f1a4be1f971b0d0bf5 GIT binary patch literal 1241 zcma)5*-qO)6g`v8SqwPP(w2R%6AbA}mp~;5X&VU=L?WcX19F@xF(h{6I8^jc`U!pN z@(`r9;sg3kRnwYo2#l#t23k zVxG5HvmFvIpcXy%xQq!*{sZT%t}~a|5kgJNm=P+)3tO4OdUijX&uo{sO1VN_!W_fQ zb=S|-O>VhGTL@0MGQ^qm+b}JjZ#OF3De09uS^76@L$B}Xjw$x%#(-NhTMTp8YIHex znxVI09yq$oGj^jvkH?TucZ-Ru=>L@hfkQ3s9COmkx3|V1wc3WkImKYRM7!BliWNy5 z`=WdpW^Wj}r|43_ZR*YQdntBPyj|8ZoRg-gNva<;N3V3lc#%q-^embmNH~_Gs;{)) zQAHH(wqx+urqDBfS(-)BF_^?GHIn%JpsGNK#{0BO(adNLCQre>(!vLoM&Sk`NYE&I z2av>k*QQ~CECT!)0s5&;e?TgKL*$ftLmTR#f9NBU($8?&uY^nGfHGbx2Nk1K4k@2X zd2OMCL2bB$A<^7U@#@R}Di w1vyWVK@trZqR=BmYm}&rVVGJ*C^X>(!VA2l9fc&SLf9A)_h>LIlii1vzjbRF4FCWD literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/handlers/EventManager.class b/bin/classes/net/swordie/ms/handlers/EventManager.class new file mode 100755 index 0000000000000000000000000000000000000000..a4699956a2ff7ae37258a6458c5d84392c64d019 GIT binary patch literal 3759 zcmb_eYgZFj6x}zF41^H^iWRFO7AT==Y^!ZGhz|q}4PXt1YSs2KxsuVz44q6Uer~(^ zcdGs1qigjCboDoN_1rrT2AEK^Wi2v~d(YYD?6c3g^XK1h{s3?p8(E~#p`lYp8X1P% z6TZO<7Pr?5ORGUOxyIP89FBN)oyg5TSHby4|Il6TX==$4~|9#_L^9M2w=BMDiQ;_ndK5}Nc|8K3Yk4hKsECj1cpt|Y4uA7;d$}i5$$gLD(6HtonqGyyWn3$l;3V)fJ03gvFo9Egwl$oMw2COlWew z-oBn^QP6Ns$H(}DI%;nP`XZpFG`MXD;=Xg@e*S(I=W#*9XF5K|7YzN%hbsSd$FT&r z8MF;gKW^>t%4E3q%r5Kz3&@4{>i&A}0 z`;==4+vP=5?w9|9nw;cY>NX6jpV~8;Jwcy_+3y@c`|M7ttQ$-%hC?xOqgh5{UYbf?ojeIe5CG(8pQ%IKP&dl1rEH%!8CrQHytrAgUZWc6-F;+aD&## z2D6wW&o}AbN04i`=&3~iDa4z7aP$C2qI`(~THQjF zyS5O^gt&l3ib>|S0F5w#K7}}wu!`yQMzqOFgcJO@$FkJyb&|b=f+n1Ap^7 z1)bpSrx+J{MEEX2=dyCv1dVcmuCiTwCOcl^ObV~?>6Uu@uD+_=`aRd9)Bt=#CY@yX zfO`H>G#tj1+JFPUUNW;(O8U9H8w${**3LFThtZ_)J+hG5YpNobXi7NyX<r z7#>}ZdF~;~snb)Bxx~Fm+O`^RP8brAQQQ+nQMNK;dL)(~A|zm0!hNhTY~Q%=b(7oO zG)(zy81j*^0pCY0*K&N0)mAl!+j5d-48gay?r?_4 z`{?vRT~*G;FS8Z9p3GdvOSxvR&{xOyD(hULcnDxwVY9w^^S zr4%2DaKN&kA`wsVOu&~CzQWfGYd2+u;ZDW2)T*X7J5n-a$5Ug3`BfUnUCnl}CtzQ~ zH~5wzHbiM4j84FwT-}nLZE`1P@}l103GY-hL?btxn9J!naC5OC;Q44-)>X4=aJ%VO z$f3Uyk;Zod4kajf!LVf6HCZKUbuJrLZRbqRST(8=Y7$gL-Fa;AU?&Z=*(AZP*%_Zf z5*Z0c$WnJ9pA4aEZ5aYd>RhB#MmKr3)u?d0s8$SmGM}+D)hMa9?yfrz15RCUGCUks z=gLsy3@iSNgKiP{jjL!C&JCTK-_d9-Tq*M~+<>axE=;9B;c9it+z31EN~hj2>lVW1 zI1mh?-{SJBQ+G4eKf0YRPd=+HTXpXT2By&6Vx9Yo&~eLjsLV=wQ>T0;Ow)2aJ4)yJ zFnBMWouZ*kPFUv*Bd4@ySm$b$8lPewdK20ZIylZHo+lH9VmXygr;^2TF;_0+GfI)+ z!H_JMjzCYHDQc!(ARB#GxooOjRE|>RM6#&lvI9P+cPY*OJt`KgmaXx$?$*(qci=jK zJa#iiO*~1LGQhCxmMP5wG^gvC#vH9=`epPRjQ$PwCru`hr_p^4NOZ$70*U-U7T z2^Dlb2XPl77BEX!^cwCVjwO%Bj*o>B-jE%k;(Po+JcD?K6Z}Y=L_EPy_!*P5H-=wm z7C@OSZ;{on^i?@3&?tmzF9e%R0%Q_)iSKzK43J$}y+FK;M4#lmXMLYQR|syEK4Fhs z)c4XO7w(Y@ffEsz+(L)k2&Gf{!&2)>vhL-cGCiNXK68#tSUN z4?10ef}17+C-p{e3FXqAOXC4uYeNF%h5ggaqrgFwTCXScs1w~cl)sT>j@rNeLqwjK z<1Cvh&Xh^{*4jUyB5xvB}U8;&B6EZ|9mSmSJ+vm&8{4K9_jxhNHS VSr@kE>ozL9XGc|z9l|d5z5q@EkRbp7 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/handlers/LoginHandler.class b/bin/classes/net/swordie/ms/handlers/LoginHandler.class new file mode 100755 index 0000000000000000000000000000000000000000..74cf700f0b478c2668f0bdb0e7335625a519a763 GIT binary patch literal 26986 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 aQ3(hkprytJwA1*Yj|sYjfLfXqs`NLwnf=!Q literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/handlers/header/OutHeader.class b/bin/classes/net/swordie/ms/handlers/header/OutHeader.class new file mode 100755 index 0000000000000000000000000000000000000000..b9a2fbcbb4a5ce6af7032c4629e41e78edb64f7e GIT binary patch literal 114934 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 Cym_qv literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/handlers/item/InventoryHandler.class b/bin/classes/net/swordie/ms/handlers/item/InventoryHandler.class new file mode 100755 index 0000000000000000000000000000000000000000..43283f594560462236db922a3496b79a4cadeafd GIT binary patch literal 12772 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 R)^VipaCD}2ymlgd{|E1ZOEUlf literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/handlers/item/ItemHandler$1.class b/bin/classes/net/swordie/ms/handlers/item/ItemHandler$1.class new file mode 100755 index 0000000000000000000000000000000000000000..4e83455f96d803457a6be5d63f79d7543a7f567d GIT binary patch literal 982 zcma)5U2oGc6g}Qb)24xS8{Z#eYdh8!M1;f(D)2zHX_d-AFv_!=7;2W-5GUR5LgGt2 z@B{c!i0iZxRVomX;(L94ea`W{_RnA6e*k!dZWSw7bx`tf24#k>5~*)abrMS9$Ht#< z6-FX4zDz~z4`?`?MOyb5s#6}d-bfLJ42@x7Ct*aPpRf7{HmB#Jf~o`8Lk%9o<~u&+ zewNC}KbEmbj=4EuC_j`+rjHp`+nte%b69gw_ppu)hC2m{Kr1DJRBGkF=fMdn&xxMr zKErwyi3?@=E0Kp=*kfqU z5?&dR^tCcsEc)C`EE$Dfh!2@CDZ~C!ae_z+mHPeM^oqw@Xy`!A`)P|;IU=}2Z6Un@ z-JGN!abtwRHobugJqK2=+gCu|3jH-)0mD`D?$g{x-0tnqVBN29KIS>sXe?6>*cPsn z?^z!%ZeWWn!_7Qm5gyQfyH@Ld0{e!uU$FTH!nNRR2QF(Yz|`h2C6Z?a?Vv%ngeG>; P&Ld59$hrh<#nJa0A3FhK literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/handlers/item/ItemHandler$2.class b/bin/classes/net/swordie/ms/handlers/item/ItemHandler$2.class new file mode 100755 index 0000000000000000000000000000000000000000..5eb2c2412b0c7bf341641dd69b1e26af4756294f GIT binary patch literal 1660 zcmb7E-EY%Y6#uymbrWvataMPi557Wa>DG*nk8K4;N!=zRPP#bjCh@>-ol9fp*ui#M z@iu9D-TS2N9cj~$22uqG@rDFEBcZ+S51Dq3(~zhw+7{XOm*2VPoO|y1@bkYPJ_c|B z)fD>BuOlI_2Ll?WJQZcb4L_(kD%%LN%4^YT+-y0`hVmlAv+L4}s<)a-!@#<9TPoBr zGdXp&_@52uk{Co%M@nEXgocybEa`xntAa4=M5>W3(2{RUGP4>^XRHk;vg@X7X2>qH z6>6ptX5vsYyNB9$wUDHXz9BG-w1!d34t&@Bvbh$>nyRRqbd5;E^#8a7=WRq_A4WCk zoGwqg8u}-v3Oe>{7{4LcW!9D6TDIg{ExW$xD7R(=fgf-nV*&>`kdZuPGI$k7*m5J@ zep}$3c)J=%FKjqr==femb++FVIJEN`3r^T{fbtIhk24BJR@)x=QJdj=1t>Tp=y{KCU-CY z4*NO2;s|^BRA4UllAE{ku@{zJ5V*+Fz2^LK(YUr;E|jV)za%iv@`PzvWftTF7Fdun zzFsye1*4QRbS!E}cbliYdV?~rVeq`|QmvwkagVK#lbm0p85}M;o+`B(t176VWG+R7n`K`cKiw;|)duD8gk0!S?=&m0+-kPbRx?j`r1?6X3 zDPKFN6mE$ID(~}9iGt^;Am_?3RAKrs&Avfjp1$-Lmk%JMuK-EN2usKl7Kq$IKm7y# zybta1qtrd(DxU9!0))iC7`!RZw}*M>7-@uvXofXT~>BciOrCJ8M`c@Oqig+fl4gl NEAZi5U;3p7{{cb8pzZ(w literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/handlers/item/ItemHandler.class b/bin/classes/net/swordie/ms/handlers/item/ItemHandler.class new file mode 100755 index 0000000000000000000000000000000000000000..2dc5ff2dc33a171c075935dfac481d693b91e1a0 GIT binary patch literal 47403 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 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/handlers/item/ItemUpgradeHandler.class b/bin/classes/net/swordie/ms/handlers/item/ItemUpgradeHandler.class new file mode 100755 index 0000000000000000000000000000000000000000..2816f820664c2fcbae23908c884bfaa97a2d92b9 GIT binary patch literal 18090 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 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/handlers/life/AffectedAreaHandler.class b/bin/classes/net/swordie/ms/handlers/life/AffectedAreaHandler.class new file mode 100755 index 0000000000000000000000000000000000000000..b8384e621fcf2d25a9271ce0e632fc2754268db2 GIT binary patch literal 2837 zcmbVOTXz#x6#h<{GGv(AQrkkfNwHvCD1%TH2w>BaLNuk=lqz_M)8r(Xb}|!ZCdGRD zEk5asFD%!p!h_2vA6)(>mfy^TGED-w%vzZ_mwoy6xA)m+{(k!84*=KkgNg+D6eKnD zW1qm#hOuSnmSNZQ<@F6&_67D`Gi}qqA<#EDwWeY}QVLWJ2cQX@vZb$k4;{B+O1&cIn)DY=t5xEcm8>fb zPv9Uug^aX()6$F5&m6!J993{k!*QGt7}&E*vOJ%f4S}P3G^16$7;a{UN&QI;<2WUd z^rc5$ZcTPZRPIGXCLhOBZP^jmcU@UA%Z4urZvv+koYC+WCIt>Xhqng;fmTh6TJE?9==k;E5hW>T0# zUc(3YkjIoZ1=25+W!*0DNDB-WOk3V*HP)rOYOGsa87??w!&)<3Gnls*lYZUgak|)9 zbIn7iF> zqD!Z{Co(Fg6D<7{6D{t(3Bhi@Al> z+|5#UC6_I&o4KHdR24lF$ zZ=cIZhahGnM<`;Ia&(D%SR=50%;IBwLO?2GxsM05H$%vu;xk72IVB1IDX&fiBMNV{ zFSs&5y%PUlN*GulQiIfS8bnm0p+3IH&h6mJ^iLS%`})xzp(KAsvhNq}L~tX1Mnh;P zBaK~XVYfl?T6g>kb3)^)_ASrp2B(%gaV3m^nH zNB>AvDT!LCUn})DRaMWdm(*G>mF1l~Gxy#(=f3{>=eIuqJV4XM1STDnJWSz&z@-!Q zT**L%9eHqcqWwhR!lnsL@=##1x^n1Z8Z!=D4{yN}SPpd}2R}t|+i2MvNIx(-Or+mc zvGNlg%WX;mZbv6uVLOgYTi|werI|Ae%(0f4Lfyedft4bSUi4h|tp8RfG{WP^MH!bY z`pW|Ms(H_T6ozDBqEI%%@09yAe-fJHVjA5mdEy9rdo9uH}Q^xMGv=dTVNwcZUkgMg?JW=Az*=$WiAjE z13U{{o_mVEFlP0!42(cHI8CxZxmd!x4&L*yjJpDNapQ3wVBG|!lYzmsxHs;yHSj-!Y=9zRSdWJ<&s8n430_CR(JFTVqX`mf! z3*5|A)#xM4>66niF+F`~28Q|B3d1N-cCIizOZlhYq$evvi!thRs-3IY)vC>L*$DSi zfd<~z{?3zw#?B9|gTu#+-zHmPIEUS*(P`}KU1Q5;K1*`;(uS>Dwrz!D9T2!->ypwW zWe#|LKjcnw6ewWzDN=fXheR;X-y?iUpIf}2hWHz;M;!z#H;w} literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/handlers/life/DragonHandler.class b/bin/classes/net/swordie/ms/handlers/life/DragonHandler.class new file mode 100755 index 0000000000000000000000000000000000000000..54a0d1da4885cc237f05743bce7085557c88efe7 GIT binary patch literal 1890 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 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/handlers/life/NpcHandler$1.class b/bin/classes/net/swordie/ms/handlers/life/NpcHandler$1.class new file mode 100755 index 0000000000000000000000000000000000000000..5266fc3e673763f75c7f1343a533fd02a476f9c7 GIT binary patch literal 1754 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 M^?&p}y`TL52aY#8g8%>k literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/handlers/life/PetHandler.class b/bin/classes/net/swordie/ms/handlers/life/PetHandler.class new file mode 100755 index 0000000000000000000000000000000000000000..e810e61c4e7afddaeedebab7b6578ef488c824a0 GIT binary patch literal 12970 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 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/handlers/life/ReactorHandler.class b/bin/classes/net/swordie/ms/handlers/life/ReactorHandler.class new file mode 100755 index 0000000000000000000000000000000000000000..8d00c18592adf12d37748f878e434342e5135876 GIT binary patch literal 4418 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 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/handlers/script/QuestHandler$1.class b/bin/classes/net/swordie/ms/handlers/script/QuestHandler$1.class new file mode 100755 index 0000000000000000000000000000000000000000..1c557cef957b8eb69f3c093f7667ac7a6a2df8b7 GIT binary patch literal 1033 zcmb7CT~8B16g@*rx2=m5EVQCxwX3uutVQv~kAzeRjio5t-~$gjY$tSaJG<^~A^swt z)x;QM_yPU}|BLa?(oj*NG1-|j=kA%g=g!=3KfW9Rc!cFFMv%~u)G>+_!>kmM86J8; z#}Q^PG==Qb{Jby1sQuO#45LMn*$c$2sT>3%|*`Ty|U$gl1?5 zjvpPTSw9XMHHNBT9XgTS-Qd1KTaAG)qZb;nFXIN+NMTtJ>dQ@0?w%aEv48ycn=X7>33H(f6G%$8^M?e3Z*+|Ftcc!A1Z z)NxT|pFYW6_jLU zp5!rf+)#qalS7(35`h&7U&9kTPIPW7dum0I3aW&+hC`kKa_OIX*!=te literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/handlers/script/QuestHandler.class b/bin/classes/net/swordie/ms/handlers/script/QuestHandler.class new file mode 100755 index 0000000000000000000000000000000000000000..f5be53cdd26fa18ed4d8f1fcaabbac4efc4d2a03 GIT binary patch literal 8178 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 ME|17#@&sD`A4_fa(*OVf literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/handlers/script/ScriptHandler$1.class b/bin/classes/net/swordie/ms/handlers/script/ScriptHandler$1.class new file mode 100755 index 0000000000000000000000000000000000000000..67531dc4f7005666249b9840250e3a38bf6ef1ae GIT binary patch literal 715 zcmb7CT~8B16g|_f-F98dil~4hSXWaL!^USnUI>K7QW96-fv4&2gbq$;$jmPMB%js9 z7-RSW{wU+!r3ujojmga1d(YgDbMMTLpWiM4yu#A}4K#gtA#R|>u&PCoxC>)*DUzv6 zgf8hkkZES+S;5dc=c*Krq1WFy9{$z&MF(wkd;}qGB4pV7!+XMYu7q`ot8*t;C3dgS z_&GyAPA_DUP4@U%OtJBdRy=iaO)I{p)i@q>sF7}nc|;7|11*hy%VnMx+!F1ze^9Na zun^)l78(4idCe6=v%fL$ahGA`l%MlNaeb1EOj>4>9Vt}4ZLP6BmKdVz`~C5$$f#ob zWu~N-#p^oFA%nMNa=|b^lv<3+=~&oze5?pr7@CZ$LvCed&%ik%p1r5eXLgX9(q>{u z))BvrYO^X%iMMs8jFb9gPZSfA`*_Uo?0;rXq({OPyT%d!aG(#;(KzzS10L3DcpZ;Odg##^*GLafNCp(#CW)y13q`rIz5oCK literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/handlers/script/ScriptHandler.class b/bin/classes/net/swordie/ms/handlers/script/ScriptHandler.class new file mode 100755 index 0000000000000000000000000000000000000000..9bb670a041465daa646ad9cc3d2aa243f5148765 GIT binary patch literal 14773 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 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/handlers/social/AuctionHandler$1.class b/bin/classes/net/swordie/ms/handlers/social/AuctionHandler$1.class new file mode 100755 index 0000000000000000000000000000000000000000..bc2b87258d1ebac362b71b0ee459d1f39b58be93 GIT binary patch literal 1398 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 b8~vd;HptvYgLnA*MB-C?#?9v>hVaFI=IEcs literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/handlers/social/ChatHandler.class b/bin/classes/net/swordie/ms/handlers/social/ChatHandler.class new file mode 100755 index 0000000000000000000000000000000000000000..ef63b5d177b737ef012bec9a0bb540a9acb73cef GIT binary patch literal 12356 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 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/handlers/social/FriendHandler$1.class b/bin/classes/net/swordie/ms/handlers/social/FriendHandler$1.class new file mode 100755 index 0000000000000000000000000000000000000000..383168920a034cd82409fb24c251b65547cca7b9 GIT binary patch literal 1301 zcmb7ET~E|N6g|T(+ugOu3J8cI2o+dGD)0}oo-fi0GH?X(cyO!Nns z7=MG$YGRBr`~ZKH@lLzRuEhsTn>lmto_pua?acoA{o@3{W6b5zf|P=^idJM8MqM80 z;>hzYo9hQcHyxY1fxhb#So(4Vo5wZIkU2D*kPC+KvEugH8PjHR$Rej8ui_k3hKWR8 z)o?9``$89FDg8U2}AMBdyp;bP|=Al21RztH5`W2SaDTBH$&gPacJm{;qK{WuM(Qo zWt%(JlJ9%IbkVEgl62ACa4~P1yjC|NC6`rPk&^zTgoIw`HYu;F7)TUb zCK7AM@;F_=ZH7XlvFkhg+zc49v-H(nJD7|5zr~PV@GLrf*HC2 z|8t7TbeW4_#S`RTU3FdVFF1w}ToeZBa_Dp|S)o^64>_aAB&G=O5Sc=XX28eqU?)HG zU!i=FZ`(IqNUwiF`e{Uah_*IpAJI&M_7hbabdYGaL5GPJn$#nbH_3~VH|fVE&qev4 zk)x*zJ-CQo3}b|Fl&s$)ypMS-5-#BxDukPO36s!54T3Ph8@wfahxhnEn8ID!W+vKf xkt%>r2&f9EJsr;#Qk4ENlw~Y2AdLr6`a?V-OkM>0U**~u>MEL*! literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/handlers/social/FriendHandler.class b/bin/classes/net/swordie/ms/handlers/social/FriendHandler.class new file mode 100755 index 0000000000000000000000000000000000000000..801dc5ad456d641f22e7b414c8667f8bba078c94 GIT binary patch literal 10359 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 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/handlers/social/GuildHandler$1.class b/bin/classes/net/swordie/ms/handlers/social/GuildHandler$1.class new file mode 100755 index 0000000000000000000000000000000000000000..a2a2f947039e262e9902b92313fafbd4bce44078 GIT binary patch literal 2618 zcmb7FU2GIp6#gzPYE^dL z035~T6qcYSfm)5FSf-a|q%@X8E9_dZxL|pC*Z4suDB6zY#&Nr1V|tImfpl)# z3GG6kHJRqp^jyyAi69;4oQ`r%Gw1Zbb6zsio#ab5Xske^LgNW@{%o6Xtk9e=HeXy} z_uajTl(0!-6;>-Gq;j6+D%3RZ=uY4sg$?JdDJ$bz-dLu;m@CR4_ad;5am9N`$cIeD{=B7ZP9o@q!shuY|@<(Ev@lj zMJq?6mcn*4C$K}t;30)A3%X&v5{KcK>pGTao4EJe7HRpdeo>!WGsH}$sYSO9+f>(vPZW!<%CAe2Q&_fxlYW- zi;gG8LmG!GMya~0r%SmRVhZYvmjJPImh6!~e5XGD&s zJZ@{Gi*`oiSP)%c1YuV(VD`G(^Nio-T0vlf#?AbzDDm&Arg5E& zGC<^g5+VOQsBkf+ae+8Pw+w3d1og!%)Q#^_UmPlE$PxK-9Wmm zN;i=vs&q4HU6pPnZH&EVu`PUzaucI@Tdy$1Vv z$F>tYFo+y+hzHmvPO#-K5ijCRyiL4)1AKz3#Lw_Gz9G)yd;CEB5kKP>;&1pJ ze-Qt~U${y9TcuPz)~E)xUTq|9Qq5{7u|*wJhlxj2m+B$*s?%zOct#b}IMG!X6yvLl z>MeDJ_>Ou{eMtOBT~(iR-x|Eg;cOsc$x`Ii$M_Y8m@z587x}%6eWw!i>|5lgUu?sR p2$6H7-lqY^1iC$v3_s+R!|aNtX^^93VgC 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 mPt$d*A~xyoeL4CEy%XChq5lKTOl3O& literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/handlers/social/PartyHandler$1.class b/bin/classes/net/swordie/ms/handlers/social/PartyHandler$1.class new file mode 100755 index 0000000000000000000000000000000000000000..bf3397fea33a59f3086221f2e3aa2128fe5659c9 GIT binary patch literal 1423 zcmb7ET~8B16g^7|+m=PjcSTT;U5uNjIVPdzShwi1mLQ8wvUN*BU|=vQqg6utfqtxO zmTvEBDJPvbvWq6OG7GNjxWY$F!Byd-wd7;l^s*UOFW3;0YYIAqq`4$X+Q+8Hd@2Oj z72FVl#*$#!G!9GYZUr|*I#x<2XkYgW^>YsAqKB%WSBRQQqIfQ6otB#PD;N;@j$)qg zmh-!D!(cg&WkjPP1;ZB#H`oC)ioy{Eqe9qS>R4D-()QduHy!)8wqpv$|E;d3mhPH@7lUL9novh6Wj-NztW?KLN literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/handlers/social/PartyHandler.class b/bin/classes/net/swordie/ms/handlers/social/PartyHandler.class new file mode 100755 index 0000000000000000000000000000000000000000..8bc457d3b8bf19410e76250a0433ac9b35876bcb GIT binary patch literal 11349 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

NB6e3`Up6=oAyo3kUzz;dMGKa&rVn)M3 zJXrInW4TbkvD;$5X^{EAa}>!7q3x{s!s4i5C10tMNzPRKLxGRl#{YxN7AY(t4SK z^Ciqn=!MuIr=wlY#zt9#3#1L3WeYka!3*Rpw#p~5O>X0z@O^AMzK;*eVO%6fdDZ(U zE|w=?$@4sqdJR!|1GfAYyX0-`_LZaC#}>#}jXl0;*z22xgl`^te5WDhI}5$Ojp*~m zaEY%Q{W`Sop!S!dL9QUT3TilCJ|$N&G#|q(xk|1^fRfIWYxoqTK99?_{2HKE56X3N zJp;OpSF@j1UnyNsJ|j1vin4{|vwSis)o%G5pT?;`&%+0wG<=}k7n2)F#fPA;OKy_S z^Ju8rw?n=lE7`D5@pZ@-K|WBf!sC3CCikPGu&_-l$nR+Bp-Rac39@~$}SKJ z92Wln%K^+#PZ8m#+7*=zp~^uyJ%@t>CtfEt{Y=O#Yd9!p56U_D$ozewcnrc(#nYkQ z>==T9yLt$|?k5EW)06!h{^ytRFYUryjlQiEG~ z_2bS zxmTXWeex=PC_lp?c?(D6_jo{q!wt;PuhN$fs8FXw{c~zPr z5yEccya0KG-LZ!V33^P$K^_SB4M*ex*KG%7ixVEQeNcAL{Z)c-YO&cmMt{t`KFY{{nBqNxId~Kc z`Ftv`ELDxR&|#9d1(xP*K`?ef5vR!Q+_SP`fcZKlz9TQOETzN>6#DZLGaPCf9*~Q6 z9FndBw)__aPdrindnOfOSUZcIBMaSXFGSg2nteX2u#{d!oUK5QR2@pwbX z?@}jozpfllW9iu62=b4E~L0gzA4`#?>os=RlUv#3tF8trosP?`me>>cQMVt z&4z5JZ=CrT?ov^4`t9nVD)L#YsxtXP<|I`D&m>A8K7c8U7UpF4tr*W&mQPN_d^f*4 z<+4+HKcW?JO68eaR8C-cD3zR2xg5Uf=L#9Iw{RJCxs0YM%G@>eCntNRf31kgcy2Oq z3zP2w=C4~k%%e?$~2PV~@)d?$}fA*pK8{KD|I1>H=&P|Drk|Kb4o{6@>l@p+R!q literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/handlers/social/RoomHandler$1.class b/bin/classes/net/swordie/ms/handlers/social/RoomHandler$1.class new file mode 100755 index 0000000000000000000000000000000000000000..46b4d0747629d7ec16be46679421ebbbe2377fc9 GIT binary patch literal 1625 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 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/handlers/user/AttackHandler.class b/bin/classes/net/swordie/ms/handlers/user/AttackHandler.class new file mode 100755 index 0000000000000000000000000000000000000000..2f4a84e3c01b0d72d5ba278ee816de2cc435923a GIT binary patch literal 23667 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 g-!F{d%PCbsl@L#Ua8ekP!hfwhU0K)NNhyVZp literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/handlers/user/JobSkillHandler.class b/bin/classes/net/swordie/ms/handlers/user/JobSkillHandler.class new file mode 100755 index 0000000000000000000000000000000000000000..85f6cc4a78afa365fd541f4061a419a9d3fa1ccf GIT binary patch literal 34089 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 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/handlers/user/MigrationHandler$1.class b/bin/classes/net/swordie/ms/handlers/user/MigrationHandler$1.class new file mode 100755 index 0000000000000000000000000000000000000000..c7295ac09471b86c61f669f4e4091bf06749e7c4 GIT binary patch literal 805 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 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/handlers/user/SkillHandler$1.class b/bin/classes/net/swordie/ms/handlers/user/SkillHandler$1.class new file mode 100755 index 0000000000000000000000000000000000000000..fd9f38dfd85ed4ea4d65b05763e8b64a4af21f91 GIT binary patch literal 1501 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 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/handlers/user/UnionHandler.class b/bin/classes/net/swordie/ms/handlers/user/UnionHandler.class new file mode 100755 index 0000000000000000000000000000000000000000..e6bb2c40aa25dfbdd2c5a948d2aa1b2ed017a892 GIT binary patch literal 7508 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 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/handlers/user/UserHandler$1.class b/bin/classes/net/swordie/ms/handlers/user/UserHandler$1.class new file mode 100755 index 0000000000000000000000000000000000000000..8594f1c32f561ace0ed1c56b946ff878411d8941 GIT binary patch literal 526 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 z z0bXB&TliB%KCiG$YP@kfnwF1r8`3GI!mMC`fSh-&SP!i&+T1*(9)W^BWif!zK@um+qrm`Udw+l@0J zp!2BT=r_)S_Fhau<80#`h-x);80WI~*4lUqyV>4EbPsI|@w&&9`%L)~q;FBalWboE z+0ILlO)}X~Y7@&d$;Q9SbMz;2ck(VxuZf(w7YZMoIORX%@t3{B2Z~Hk67>%GE0D!? zfWE*q`OS^ACix(?i|Tco0r_r4UQu35{^cq9Cz6B%@`DO@k(=-Q%f1tnAD0%nWAYHw zRH@SaDmOvCy|jymAFqc;q6^RRQqRuCPb>8^n4J6pp78*cV-htYrjXp53+BO(aiu)( zi$!^mxg_(XPgjZ|C!~g)uwPA{_^6rz^{r;5KT7bG?Q@)kuz9+U;Q0?^*%B~ zA0Q|65AfE9$lLr2JoRs=@QGP z7pt0T^Q!hBxVUT2e@UEE=aG4cPGoh0|A#ZDf>q(9eL^^I>zxT7)9_DG0tMfGM8n5A z+4fSf?PUqJMG`|oVG((lK@-^)=$+DuF*T1pKfBzlBPLlyIdVL?n6ewv&x)0bJ{S6ARVRyJ=YIMDB4+OfANZCA(?F#7W8+ zP)jS!y<#J7)g^B&=Ua`qwQ@HVqg824HDcPuG1a2KsB%E9;x;8{v-UO`iLdpyksDtd zc2lXAa}?LqDHVB$2h?ekl*h&5(Si@|>qTGs6I%Ojqbd06zKzD=%Wsbqut)0IO$+oG ziIFBLh$+T!VT|mI?MQNeBI^(98USuAiV?72Z z^oz^^bq$*oY$-SZQ!+B=c)oQ#ZWVD=gGp@PNDqG>g?CSK8aQt{IBy1xle2Ij*KC?C zOQ=+q(jqw*hq%q7Hd#g+;a(1+vv;&_f{LklOMT6_9&Q&`qZd-)r*MA|SR6vR zC{3lXucDR_6^t4+ee|qprBgkg;<=+n6*y)22FUWRge(&TQJb+UEz4lA8=L1Jq|vsn zzm0YM6(IG+`}V8d^JD7k3)l{Fp_9;J{-f%yR14g*J&RJU9J;^(TfhO`G+g>=ygZ#I z%dIp;_RvBZq9wAIPLyGdaXT?mmB1CM?+LGAi6LxU(PHC9Oqo+pv=DSjm}GAkU() z@@$$Y&!I{3i!@K#I}Ysh+5F@R<|kKBl1v*;H*VF`E2Hj2Te6-zmO#=; z>1jg&g8`g6k|?{e#M_fg{3E!9Q@QnnmYAlD<4fh_IcjF`Z4ef&Lx7fCwZU6~9#-EP zQ1=a5y-i2#6p+{{Aa_ENF9Q88p&1C_O6BD=UtS4XUPUY9HJXl`=PpGJVh`5INUu-g zqdtj`nj}7!8Fy%WjH89dotpcnpc?e`Bt8nc8sXuhHV4r~jEpR4?Yn@By-8d=337AQ zrmUcN>0@d?7WEKUAUsAv@g5pGpH~ly^N9Mkq;)$CB!=EC1yeu51h<_Rohy~slae=3 zzT8C~c_U57_Z)dMEs(e9WpZ+CI7(-nwqOUaEV<0G_%an7=&^Vz;b6`%?nZJ!C0zsi z&Nt$$Jd7mvF<@$6BtpYc1dxXQwJK7e(qk&6JE|{HXW9s>Pahct1uWCmEIZHqge3}Zi!YCLE>gl_{+Z#TY; ztA)r4#elvijPDrF7~dsfJf}Z@pg&*GpD*dpAL-9mjGv$v&bCyyw3P6GX)|-aZ)Q%vnVs#gqaTL=o?t$UHY7A8Iogq87?L71 zf&oVleD__m3o8uCC7&J8^X;OJ2KT^_gg`t1fY?y{?${nNP zRU@mm>#%Dg|A!f^{R6ZvBbXX5(L$k3+;y||1%3}T4< zFiC$v{vj6dl>8FbQ6;~DSFp(2*hfG<#2dUN{|@i*fqVi})MhGf_K0o(?FHx-(0ICE mXq2&fhN&p-ltB`Y;_}CsCZEI%*}0gRp+6%a8_$>yx%6*H)E1rq literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/handlers/user/UserStatHandler.class b/bin/classes/net/swordie/ms/handlers/user/UserStatHandler.class new file mode 100755 index 0000000000000000000000000000000000000000..73cd8d582f86828c087c0760cbbc5dde7886ed96 GIT binary patch literal 15611 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%0A{+2-}mwdhCgIr%-m(|aI?agZ;mE( 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 R$dQ6jt9+=R=E^es`@eytF=YS% literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/life/DeathType.class b/bin/classes/net/swordie/ms/life/DeathType.class new file mode 100755 index 0000000000000000000000000000000000000000..ce6bea1261894c5df4e0e1f5277f67442b920221 GIT binary patch literal 1687 zcmah}Yf};_bl*&Q?SmJ~s?#0=91XT{aFaA~;I^fUSe{eeCd zU2JM<{M?UfI_G6mN=s(+aNhGg&-2gdeXVf-E<+7&n?d{qzg+N>oQ<) zESk$N?-33g=;3fzCP(+}&<+@g@_FBG+VTa~?K5zY0SEpPZAS+T9NIHF$=t&Rj$lYY zJyA?&A1;^zqmTAUQ^!$^s2DOZiemzSa;56p^om$K`^0)~B`cP@p3JX2vCEB=j^j9? z;-rC7I4uy~0W7%94Z8NZRcYG!HGxa94)$Eds@GE;2WF$@xa+CT8(2W<#|rEV>U1{2{0jmDd(md&MGXOlU1Heff51pyLr8<6 zp+`eh!$A#)m^E$SCT6(4GSj-iSS-F@g(;WcX#ZSwm5SSwbzD2w+*q+|1#6{3CzE@; zHoi~iX!NqxvQ;TsHHTF^DZguNkYaRqy=n9tj~#k+$aL0StI@0x&L5+qQ1LSSl@h1d zuG@_w7gUMGXK4qf$`!8_bU^Wm4rOlJ)IRT=P6_B{wOK3Miw-9n-d@Xbo}ifts_b!E z<P)=pYlF==U+q@~@FmR3YsS_WeJcn*NbVIF_-RpO^HL%Or%jgjS#-ooG~ z3~%A+Tk-_v=zmbgf`mVXc@KY)^q8SXMdCBYwjdbq`vbo~Cq^5EMck5cnma=AjZ0AA zXGG%6&?aJu;g2}`PGb1ZFh#+?0_a5-`oLQK#AL-KnGb*Cj1*+()Q8*jN8{?Lr%9XD zL!>_ZY7^&oq;)AX0Gihh+0eFZh-B|<%VsHoyU2NIC&_Z!fy4)#eIxJPsn8KA*UmW5 zmW$}T3?4ZnUj$4<)Nc?ar3J+-`CCxUQlLfcF9loZHcM&?5woPV&})_=bkuL|ZiR+C z?s>AWX(0IX^ec%*ClzHA7vDpX-W9)JdaCrU1_IL4rFShDlwP;=uB)o_BGOA~n)G_5 zHx&s++SvZjxbYr?T+H@tj8PeRmcnF*XhIUuag{o@NZl!*8>`eSpVy)LctBVm%wP9K BJT(9S literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/life/Dragon.class b/bin/classes/net/swordie/ms/life/Dragon.class new file mode 100755 index 0000000000000000000000000000000000000000..83480fdd04594c655474ef6fae92f5859287fa95 GIT binary patch literal 1541 zcma)6YflqF6g^YgE|h^PRNf$Ow?$ds4?q-(BqUXuK>B^z4zRl2X|`Jk|4I|B#t;4g zf0Xe~cU$VV8ox~L%-nm(q%} zfnyO%#7ODv+rlYR0lIUc203NpRNWg*FUn^Hs~YZb=*TjxMe?zv>xw3qQ8ld()a0N! zMJXKyZh6A=MXO)=u2h<15L|C|6}AKWuJe4>%sG%(*8jRM=K7@w_b4@TLp4E8f*BC&D{6PaHZKDM-t7N~UM4 zeRvr6&+QsbL$sBh`7@+^QK>pqumkE2I|!O}7|gid-K^eIPEj-iVN|v|)1FTwTcXkN z1O*<;qGMjESJkJh(@eX1M^*FE4Z1)a(si!XtLpS92=hX;JW@xp?pb2rRz(>M%C`RA zyfCpq^BSXHg3(HkoUA0-^i9zEh<4j_uI`h$>91g)$co`Ht?EkwMIIGhYFn+Bn)O=yd;h3D{k~^rFHB~m4-a$poO#cCKIgriGx_iTzWNrx z5&S2P7PQ6?QD{Tdz;(9irpgzbQrF>F@28e0rp zzupWgpDQ^1wNqgiZl>MsT#;tnGI1`qoJ$pQ z_IxVimMnW-)9z8Y1qm8r*>ZCQ%U$90Oq|n`3VYFOAU1Eh>HPWI4YVeD(sA@56~k=` zw~OC*1*|*k*tR(<8%mvAa!=)E&zr7+cGI49@@Cq0Me%-x1EP2%6<2MMJ|=GtD%^oP zy(K3#^tFkewb;UNm%;!J8&IBVZ$k#QCDw{F>O}dV!Vhtj@o1H~oqc*c)1qovVFa{V z+*38Y;?i1?#I!eUOyM|wR5QbVJ&y+J!??naF=3#?M_6!5+-oF}@g`0xoRn?G^)_8= ze#sP!yA@6&Q`2`q>l+t+KT(*%nHtB0W6z7aaZla73eyeq`bF1$3O~dBo+U>cLg^-2 zE#R0d5{o&~ho39tFhj?C_+wdSVag_#1^MB(X$l zzYP3V;Ypbmn`6c^8f5Hu3QtK!i_ifXct+vb>Oj8?Jg@MAo>e|?6$+Bwou`*lm&LvyS-!{hqqUdep%Q)k@(N#7s4qMOVF(ah6K6rkwv&QU&UhbIZW?5YLY?5!@BJ zrZeQF_AcMGSC2;eSfzPBl|~A=a@k}zB7uw@OtThVYZRY6Ut!?)>|M>?i)>$F|78=e z;13*N-gBr$&RpH{fYmM2U$@M7-7?X2%jDKAb6U5&75M5q*#43KU!BFDsE}u{7GSRX z0#UYq=2$n|HvEOp*Vr4Qtig73vh{Nq$xjjc0vlIx%_n;H>wIoOgwLIv(}i{}yNS1e zH#nlad3Y0Vu_roZ1<`qmI%WTxlU?iT+|!`*7OiueH_z8e4R~Agi}rVX?eC)%F>3D( z5GQY3MQ5^m72V0s$SQUuJKMOA_&>$l-o4T zAa}%dYBasRH)Tv5)~er%%fv#xaz&$F`6bpDYy1`O`qUp$T5OWpo2;Oxf?K8C=ePZv zH&$>+Mvhc4B<*MgX=zXR5~nK2O8*|e{b>bfr9Vr#`sVt02?qA_N_>E(>&JE+q~q@3 zcJIVK9Kv1vH_StI9EW*nIMQJ9Ol^}HyodJ*ZQyS;_$PgbYQ!Ks5%gyIE0_}`tAe7m z4^*%u?ZpayQAgZKIN&IsLqr^=#YSk!W3<;Otv*K3;|*AcYFLMASbs;xw`q!461#25 z&(QfHf3!dXRtyjB@eMw`AZ_#282AUy_>%|e5OH8s$4wnjK16^?I`U)#NVEnL^@G5W z+iVR)?B#(x^Z|b~f}9Qo`Jk39gOrvfqsgvSJQM_(BFLF0AW}SJVcvd2K)Qn<)1e?A zhJ$nmLGCBW*(M;83BUC{6^%DZ}bP(inD9FFUL7onRJVTIYn}Em}E+G8ms)0z~t0UJ0v*v|Rkk2sV zPp$_mv!>zv_6pj|1bL+ih6{|8XSn~wkh literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/life/FieldAttackObj.class b/bin/classes/net/swordie/ms/life/FieldAttackObj.class new file mode 100755 index 0000000000000000000000000000000000000000..3eefa70de0147de1ac6c4b4f1ce7552361e0af1c GIT binary patch literal 2337 zcma)7>r&fB7(HtYjvWPZ0YXBWa7}GfP}2n3gh0Y2v@UL-Kxs>_vb_WmBQdgo@&bLD z{^?BXWcs5I(1+^ue3Gz@?J%9OceUDY&v*8G7ya|^Uw;Fb!|N1c=tv-Lpc7pR1CI91 z%8BchY;7J?%(A_!%{&K%uBWzR`|}F%bS|@<#3dvXNEx^cLt&)dxfNTNOAEel6<@Cv z_7xKDiKD&TvVzK`c)r^}53VX)u4sSVt=PWpIts(-d=uD_Z9r^2| zt$l^0c8YFE=Nw=B-ZL;H;8zH~r4J6vmalUq*%>h~Dmy808(vgij~lozuMNK5&=u_+ z>)f&sNgK$>4N@Wg;;FC2e!{>9m<-vU-C1EMow-;QK{O3~D0*HC5zkIX%s(>l5RVu~ zyAldUMRp{NGX_4E7$&_sy~lWxz^s9%m{WN8Zk-MTk<9avUU%Ix;oQRhlBcPU!fH!Q zgTy+2Y_{c!?E*5J!ZSQiV8Os5mK4UC$(3#G_-1j>@~on-J#&dq3Y{mOElkoaOxijL zGwFqa6@032iLnc~(p_sHSS{s}xhu&Y3PFmGku&f)Ru#G_!-hU^kM-i|sy-D4x&M37 zFYq#fH3RE%(V?b`wzyU3DR{0`Dq58&c@x;UFw0*^W?O|ab%`%A$BB@)9sTm?prF02 zaN~O3En4Mm%d=%2y^Q;Nc71XO=Am`soHd6`YdW>dKQ=91$#u%7 zVK&}xVbu0iquac;j`f*amM#HPo9>ZU)GM|G@W%OKn%cLHEex}~V^H{#V@x_Vn|@5H zopX}!+4DJWay1`V0A1O^H&DL^c3T|f`vA7uPW0j{KJ^FdE^Om#u4s>Mh{ldii*F;W zUue@QwgFc5&YwtRC#$%U?Tc4&t&ZIvSl#3}KtH$mF}RIB3*$mb|XZ8;yej{uQBC-Sl z{2B<1h)IJ8M!{+qA}U%Z7=~z)XQmp6G=@k76C(T&ag=a35}9r$@}Mn|LVF_9%|xb2 zWab@2B=dww5v7R8LKLOsMD{H{sbanv?g@pTZGcPG1WrO@H-LMEy$EiOaH3xi!??_U a-&=fEMZOvI8M^Vj;g&r$xosYfVgElduK_Ut literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/life/Life.class b/bin/classes/net/swordie/ms/life/Life.class new file mode 100755 index 0000000000000000000000000000000000000000..531e142dd9dcb6a40cd251cd3f17427aa9f2345b GIT binary patch literal 11039 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 Nc>11xUtg4Qe+Gs|V9)>n literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/life/Reactor.class b/bin/classes/net/swordie/ms/life/Reactor.class new file mode 100755 index 0000000000000000000000000000000000000000..0ad164f2c9afc23d946d177f07d1962ddd7eab8e GIT binary patch literal 5114 zcmbVQ33nS;75>JXZ22X2(ll+exJl}!wj821-J>+6wqxSdc1-NJO&TC$X&g^Ino(y) zaYG9&Q1&$}g|bt22wQ2CkU}Xtl(O&p`ZG8jzB@CP#v?g!@Hy7g+;`u--(BAK-sstX zUw9h8ZTM#zO=wP`MWGdK8ZNgDKkF?zZoxFNMK5cab4GTI9~#>Bn6~Nf)zH#6+CS5d zb`9u28l5R9g;iLsVPm7!hYUUMJ1*DRdXaY4j@_%D)U%dupU6)6u4$jhiJ5MNHCU^m z)$?_qYTBSk*C||z^%_#nqHVaN!<3JT{BngWM83M@Iwiy1cha!^(Zc;QwNYV{Om(`U z<7u;Kh`dMPN^H@vsx+_LzEd1=T*LEe@MxN|+Z3)sFK15}{l6d(Ig=CD?Ca=Ehc7op)?sHyLE!(ml_p znv>NzLAXQVdDy9;-81~DFh?zYgZ(pUT#M^c*rjkiZqRW3|6!lWBHS6%Seyt-w63qe zzDR=MCWV`E3(G+aq3Wf5^_qeyjok`4?9tFg)BByGG3j`wZ#uSyEi|7%S@umUyQC3> zyI0|MJfFzuYH32l*1n6c3|$W@41xJ>k&X>&7$6!^cmeh^gG4l98WzjjTMvcJZxyn0 zGM^2!23nSQQ z(Yjn+dSWgPmi@`V3t>&-g()0Tn8Gx(nt)Xo2TL*QvRCuE7n#t|R|lk_D@p4C%qZL? z30R6~%+OC7K|})Oh{93a!!2ogL)>AuVMW1m3k6&3MG7y*OPKzGVU&iP(kTs_>eF9k zoZMP6l&&y~JWJ@7**J&m(AEW+OZG=1u{G{FRJLt>)-rOf^do<*9XNsc6ikJCv7ljd zpc`~1laepHE=eXUbaFUotJKuKp@S2{QyQ)e_rOZ3tW*(p3XVbv_p#{`m14FEmM};_ zW8=E5pD@Um?RudQNHiRa@3JcJ1OLTsw270jrt zf#5X?uN93nZHzm!l3mezy}}zrFHK7^@tYLhEIrm{dLx!u63w?NybY&AN)j2p_Z_kHO^E_7 zV=poPVTF$fd3DizocrV)`l!OkFsvG5MzzJ|lUM)Ys&b zIHT}6d|pF`SJD@4DT;=ny4?}lKSH{=v(tZR&C z(L}j8Yq-<0OXS>k^13ynyQVxx!WMtt^te?ny6ad*KX#-F{YD2EsbP?3u4(5uLNDDmyk5MriL5q zqKr;{(!@SEb#tty5AX4cn6_8n24G4TyTlZHlQ5FJ!HA z;UTy!X|bMFStJ%Gzc8+smMWhQ7`&6UTWU=9fu$E`3wm!g;F#y$Yc&kkgFQ}DXl@XIuQgCLXjYe)6u*Z%y*v5RAO#2P1Fw!N@CoF!IVCjHFDC>%kWUwDI!` zeA>_TVozl@o`aTIn>ve*F9q6Pv)4iMqbsoCI=!K<-=th-^>+@(k{YY{mO+a}vlzLm+%xix$sD8>lB!!PfJ*dMwji z!9Zr9f@}phW+=V2g4=2U*Ap6W2Rl@SGR9BzJu=umcLhxn83kSoE-R_KgwmO6R_Fn&te&v31*nSKiC zBgC}z99%-Jz^mY-jHfDiP{xNUc%_W5uHbbtzOjP0$oTdO-X-IEDtI63Qv3R$fg00f z$ot?smBIoeu!y$EuC=iP4oRwnJ-ClA<}Rz~#j-mc#i7Xa&oMS>GTxCR2kfc&Uh=3ALUVd+lk&5ySnui#TjgAXzO zhhvaB!^pbRa`;A&a#1BxnE|bW&(=(Y=Z+D>lM2d8muwCxI^T}*Q$97}XZSfsiTf9n V{T_ed|DP#IQ}P%54gbIu{{a>nx3&NP literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/life/Summon.class b/bin/classes/net/swordie/ms/life/Summon.class new file mode 100755 index 0000000000000000000000000000000000000000..69a9466158a77e6e839bcd4f7ba5223c19f9a895 GIT binary patch literal 19279 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 HsOtX#g1>C% literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/life/Wreckage.class b/bin/classes/net/swordie/ms/life/Wreckage.class new file mode 100755 index 0000000000000000000000000000000000000000..63384184c661369e9f34daa2b8d463795639c7eb GIT binary patch literal 1700 zcmai!ZBNrs6vzK}Th}p*fQmA~2NZEbq~fzqQ9;ovQ4Z+L+hEh*&6PGw^V1q_)eTG#_iVJgk;d8lh|+y-sU=1!nPr>>wJvD|B6 zM9j?A8_)Nhy2!>X>=Rj`-VWW!YX(IMvqg;Kpov2kCQwqCNyMr7o(>|rw&{j$Ez+UA z!j*#2(2+zNFIU!HyKi0FcY}uQ1d(p&uv)|$l0CEms^t znYM63QdDf|=t=iD0yksf6lQ6`kgJ~d8FhwH6P(PbU$>J9L;+4r^g|mI0^==wPY+E>oMTI@|`Lx;cB$Eo$18&=q=i7aSYS-lj3m3(u*xvoC z3YRTh5xGhEvv=D}N^YfD=VxTi3-sgm)=M2eb6@(D>|1NrTz|t2J=yn!xoFdCDI856 zE$*&%_jY%hhvqu|CD1O6aU6$exo?eg`GbmR9tVi!rD+vW0h~0<@6?$%zj8V_{FOV-VlOPkcDeVFx z#}trTsUX8ikf~G<&QBW1a1!J=L8f;Bkvt2??NpG_B*;uE2&XO$WHbp)4IIFa4wDo3x2c)%_*i0)9H!NcEK^g??8 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/life/drop/Drop.class b/bin/classes/net/swordie/ms/life/drop/Drop.class new file mode 100755 index 0000000000000000000000000000000000000000..79c88a0d62dbe378326890a364cc95bc15fb812e GIT binary patch literal 6096 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 ckrSHqo4=FQBK!mYRB6C-EdMq8uN_PO56 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/life/drop/DropInfo.class b/bin/classes/net/swordie/ms/life/drop/DropInfo.class new file mode 100755 index 0000000000000000000000000000000000000000..e08984540dcd10db5e7775f27697f7f723dd0130 GIT binary patch literal 4241 zcma)93v(M+75>(iEm>J7j_n#db`r;F{7~YkZ63uq38BuTQf;TTU4s*7vzFG*Cep5} zT_p}Jl+r?gmOd!Z7Me__Ed&ObDKl8jz`zgSM=^Zo?&{&qiorA9d+)jTp7Wje)xZDq z_kRI6jeAM7pf!$|jyAMw=(=v)G|~mbUQb_Iy>8|_4eh5a+w#t6XdRze?mz+^aU^x@ zfUerfk{q?X+d}Ns@rV%HEzc}w&I#!&I{FnUcg?VKrjYjN81(sB_MBsz>grw{ z`+TCYSrlTDCx>+$P+G2=wplVfbKcza1gUHu)bS_|Y1pxDdUM96;-r+$$nKbq@!D=6 zCy5je$8ki*B#vt64;iEES%viT{AlPP&jrKIJ4Fq#@yvu``IwH!@dWMQQlLQe_m)N6 zaUCZb#3?fg{Yf2Ptl`MOmv9;!uiUxyoYP{jTzdL=Uf#m1I zbfc8uR01#3!iVz1MbmZMqhbt0$0~9fTC6<7J}a(hmCu@vb@5XN{p4#eR7=P8D%JOr zPzySWRiDn)LM{PE$3~4F1ge}b>2PcGAm@Z$)^W2&Z-|*q9k;8oRE-%80}Ey5U(sB) zTx+#pe#5pM&+sfp0*$Q9v6VYSzga zg=M2;$vPm$ylWP>ZB?DoSSBWEeiIyIHOzVz`QpX9YzfZ<-r3&IXNn zh}ZugOnNarhy>eY^qolNbi5 z&>rk$!|B0(yiTg{=Y70^A8{1kKMr_%FB1X*NHZpM0r!&t+-KYovraYv=bJ~s#Z!+c zr)-0mLQ*b=AReXgG$B4lh>sKO6F7on3g&TNSPkZ6&2p20<%FBWkN9j-o+#waCr&L^ z%4!XqpshykVKBvUROT|~A7J8Y1?l_f7y2>&pOi76Pl;_?A;HwG>~)gPev%g zOn=S!{dkLsAbHypq=_bvx2dDuaVZMU_7kg ztp-N*gyS15xV%llcv!)gso*P36qGU~K={^=0MZ!-@@gayKKi17bcTVvP9SeI0U}jU zfbgLh0i-Jox>^Y}-H4 zveGKc2Uu8KiE(yHW)JYKFS=idRd=&hS}iX8M0l4a`913SeuENIK_WR&i%ti~TUaH$8!`}k#W`3(6kj78vc4C8lfO2229z0VN+1J2@)cp86dz?%*1mSA7`fG;Ed62gay V=SS)xxQpxGaQ$2EeC*=xe*x|~z{CIm literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/life/mob/EscortDest.class b/bin/classes/net/swordie/ms/life/mob/EscortDest.class new file mode 100755 index 0000000000000000000000000000000000000000..4bc6d92653acdf48b05b3bff2a96c7a24fea3e6c GIT binary patch literal 972 zcmZuv+iuf96r4?*xHWE*h9>lqme3T44ZVIPs>b483A6Rv5C5X;iqXV zAi64f$HtaUj{PK2i5(leDq$yS^zmdG`--i=3ORB)ed1q4qd=h2lat`hbUX;+Gk*{= zQ|m=TKkWOlRPiEdq?eNX4zv7n^c=CxLeTpg_guib2()0WwAFF4wU)JVEWH0*i{xW; z=kaUmBWa$TE(xf~>WOiW6DjZu7~J_R^a^T-+H!8%a$K|}@FCIU zzQ^c``X{t)_Zq_e1@nBjd5zT>YU7JAnsy$c$3=Ke+Za1K!F7cXGjvEV!8qc5=bnS#T>C>}r0G{sBiprG)?h literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/life/mob/ForcedMobStat.class b/bin/classes/net/swordie/ms/life/mob/ForcedMobStat.class new file mode 100755 index 0000000000000000000000000000000000000000..67dc3c89793be02e6c910a01580f157dae0c6108 GIT binary patch literal 3827 zcma);X>(LX6o%iMWo8l@h(uXsGXhzVK~aJ%0gMC^GGsImKvcMyxg`peBX!~ z)P_-~P>+y>rW5vr9ZlPrk?6qi2`5po5Zao`qzYXYYFpce8W2H47>x?Epe(G)IE85b zq?=2ooalHynob?3b%&!pZZ6>@WA5-^!R8qCr7^){G`HDn9p+7PO?|8_!cTG@_gfVQp!sdp7z@$b5dTWu-vcr%PSS0@yd20A@$EH ztn$jvge~PY3av6{C|k^rI^K}&3LVmpztDIvJe?@3Ne4Jl&h~1o!At{%L<#Z#X^fASHjI?sBy~8Lib6MDwXo0_yI4r2qX+om3aN8%h9k>h zy~5O^up4{02!ASF+3U~Lr?6LM3UMvFCbKemOkp1ed{$xdb|wMe!0ORilLwz!Td*n-kPl(@G|;!P+drJ;yD zC_5$2;|e1sXTNNgI8zEI#HrZwK;?ebO6|BpMz$rA*PABJtin4LPSH7nyh1^oA-2?# zOemZb3B^T8q}3^f((Z}h_V=W6z-OsWijq6d>~H6mSr(`D7tyrEX?gsWt@G*@nI*o-yTlWGq2xG z*y$lVmy)t}))humc?)a$jpG)4^F=cMh*@ZDHTwh||1E7pT%kL28&>_VUKVCE(j>-W zc2OL$!x2i+ngSWn6m;<0G9PC_JBa=&XBLTB^KP{@BZ z64X4)Q07^N7tb=3d6wbJvkY6FWw`Pz!<1(ko;=GK>ld%tNBl~)d_U$_`3>+1K4r<00L8E0xyG++pF;R2R@Pvq^Q^$myePVJ7i#(A zB<;%|B0Mv-WD-z=dNg?>%=gM6J-tAQPD0H%rpJo1jlYU1%r-%q13`E>b?3)GW}6@j z2(qvWh-{RAFwE((DnXh|kR^d23-DOHGjN1ldsqM52U%FkJ?K ztS~{k13{QxfWKN zX5z?d^ZE`3f-seqK`H{;Y7^ujK@L>`kpM3se2tVrq%2{13T>t$M*=~Zy>;gSU$K1}yX0^0 z%-??PifcQl?U1&IwS80DqcdHHA7B;-8!r5Suvp!~(RP$pmQm{^+|8K7|9L(o3TQ?V z%P@h}d{(Z*BsSs{6Xj|2;0)8lSsdm=GK+JpInVdwg^FcgET`Cu_yS*YxnFVAMX323 zsW3YKm34;^;a{-d?F{=1`#uLkf19Kj{N9WFC%Utz|) z%4BtodEz=l^bJPGn>-b_7!z*uI^N+;xXVL$kCNQ4kRqq0i0}Y@!)K4I^;>VA@BRak CmQp1E literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/life/mob/Mob.class b/bin/classes/net/swordie/ms/life/mob/Mob.class new file mode 100755 index 0000000000000000000000000000000000000000..d2179b056940a8d636d3b5049d04d37c44ba3e85 GIT binary patch literal 81558 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 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/life/mob/MobStat$1.class b/bin/classes/net/swordie/ms/life/mob/MobStat$1.class new file mode 100755 index 0000000000000000000000000000000000000000..c76dd51d73e78324febde248de3c38c3bdd71aae GIT binary patch literal 993 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 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/life/mob/MobTemporaryStat.class b/bin/classes/net/swordie/ms/life/mob/MobTemporaryStat.class new file mode 100755 index 0000000000000000000000000000000000000000..380a198a49a435e730f2801c5eb0a233f6600371 GIT binary patch literal 25769 zcmcJ134D~r`TsNX?(Umx1_*%=!hHmR1PsWX2omlfA(3zh9(Rqjt+uwc_Oz{v=J$PO-hJOUo8|ET{}kKo%=6AXGxJ>Y zJkQMgzWC+-r-*2}b$^&7SvCa}1t}z`aARakq_QOvUtd|jc4M@uO;G6ASUlD?Ly$FU z^m3c>1ohO7+S_6+l?x)N4Rw*tVY11}rvg$obyL)xdI%a7kG55&wkDFzv1ny$sVf(z8bAYq2s7o$@#APxP@mjgY#Q8&9!rzasHVpt8pPxbB}^}bZe$HW2#UzMq^4wTN7KN&HiUcE2?Dj z<9df_XIGrUi;>X`!GZ4?(608*~JzC=+YEyXG#&CT8uL1Pb2w`?@khKS1*t)LSjARywRSbWpcXrxt8 z=V>;!C1dgRnyaf6okS<2dCK3s*pXVjD5teSf2yL@tWbqU3Ops@RYVl6r6!OP4`*jf zbY~8-Y8OzH*4eaP(FSI_kArv$LE9AF4p!Q<5wdm&LE||vsuo496bGj;x}c-{OEA`~ z+R^;ZtiniRv#>X{#Gs6oO&cP~NE5`RQqwwBS--h0mWYQbK}kg^Vkv8mMmNt+Y~C(t zd{=ciG#*X=EsD0%HbLFNcwUGZ0tTS*;GBo{antH-l{(CDhJia2ola+9Ku~G1XF~)P zXCzsh_KeL5(;zxa(b;s4AcZdV$vM$=k@gm>eQFL08>{6fa1NR?v(939IZx5~JQtRi zC7taSKfX}W*XbfbVKddbNNN-GZq(?LYQuC1U24-e6kSG_3mTryzeGHa-3z>`tZ#2? zh%{|tiO7$}n-a~@+BnLAQMF8tL3E{}t62E*z;J9xENz z4Nn?4!|qdbzlJ#?%Pe_N(L>CS0z>J>4T)qMQ{oXtyO|PJ!<;3&zCDT_qck*LTi31b zvdWHNS*v*Py^8kf!J9G@iqR8_p45ZX%~`^OKBeest_K@8N2AT$>lsDQ>Rzp;7f<>7 zihjUT4x1^@+TIrB&OcQ20(TD0!4~x z>V|c`hOa65xo)^N(=b7AD0)-F;!C2DR3gp;|3c9(xibsRG2EqIbAuK}~b>oJea!B-yr|F}$bfcY64Fk+w)njDZRIK+*3tf_4wVhl>8l4a1F_ zW64+^e;u9@G~_h8fk9XJ{!h#y(Z*;6#bVU3J6f&e>S?k(lq-9nz5@(4MMN0J2wA`MdWkM7y(MQ8}WMDDTSBX;YpN~Q2 zu3HD&#aR0*F@T|YjsZD_frFG7%)n4XB4%Vp3{_&72Gz8#ZBK3BR%J?z&xq6x4GNel95^9 zKifm5VwDor;#g1z9#=8~s$qL9^!dk&Vkx+TVumQU#c{yx8E<|9Ef+P=axsg|{;JW- zx#b-A3SusAdbK$=D4x!IB^K~>@-j{o<5{T0@$4-r$G~Ynid)wyv6x%4+K!(#ZS}Ni z3~f;21crtk==gEt7)zrPOT{wR<}6CY*YngC8uG1B;>6CK#xt%}N}SXgti|CJB~I-O zhQWx5HA+M}gC{b$Nr`3#cWX?vw{#MXbxN!^Poju;U<$ZJ1NVt3v9ZgO+5DtMiB^6R zoZGrq+XInMVlzYXmnPezjjTD`E~!LHW6+uiTh+)OFh6NmVvEMGD3UT5wkfe)V_=d^ zow|D36mECA5@#@!3CUJ*{CE&@kT^?;vpH@JHnl_}N$kerYf7BUqRbm~Ln6hX^Od+D z143-YM&H6FBra0oVsQ!V2b!{LF>CwmL`#ct8vymkZS1USuVWCcV}-d)iOaI$oN(bl!cjgQlij5f!bz%wYp4dOetxKW9l#La?AJWc3?95au^x7S75 znl><2pDN|RIeHaS>sBRhW0#~KsO7l!#(bq*w*(H7xI>9M*+I%fGZ4ES=A=OEQsQoL zk8x+%^1$4(0Mx{r>$k=^ygqtVEz~f}iE}+8?R@*`uou@8UYsKmjwi=P`=?60Dt-o^uW18_epEJhyLh9s;U83o#m~j-ws=E{ zH^p0m`X5XrFpiP2d9i3qv!JrBu@_QLEzOnd_<5yn1?0aJzp}-zm3UkH1}TXw>LU0x))-HgX(84k~tn2)po*NTu zQ=5m=6UUH?a63?6f&S>P-1%uHR+V4aX(gpIxMu<;`KtG1kFA4Y8#Jiu~0mzlv+`WGVYnoH5F@WP1Ijh@>2#@0MZPo$wsX$46_F+3XJ02P zI2r0kpJU5qwvAQtXqHP(w6Q_X$XAMK&Dj$KJ!~So8!~^PtVm z3H&|gNXK`3LOoZ=6K%N?UZGqiXwnf5-FX3mCLf;MDV7L_h}vA#j;`f}pRD95yy^lh zfgQXgd@F{pR&ou)ZNQhtTG>yPYni)HsLI0+H=DhcTKx|U7VpZalItYGxFE!k`Q>I) z{mv&gqX%V7$&D)K$2twkg@Jvs~zI1gn`Ry;aF=5~*u;M-Z05IL?l=fB=&Y>W+9y*{s`FdfmY6)8!eq zJX6WD?7*OWY$1Lu4!!!%;(`AS~E zi!&RNVKKwMuH;2bXg&$au%6+UD0yk7{hS2O_>j$G_+?67o*}R>l*K@BP2477))*8`A z3-UYiMqA#b%UhMajgcy5avRctnFn_$d1q$!2(;Ul zZEl7&49i{eZd=}?5+b|yE5x^9TGOTz&$p;xH3*_9m zmeGfme1tLOyVAr;^{A42$61M+QkJU+U#6O8!*73Ne99%;rFF)Df5#ZCqJ)UW4q=Qg)bMM=T-V z5VY)&v`0|j%VjhoPVKs9=E_^LEqqJKU$FmM7)zOi@{(v1j&$mA+*dDurR1-f96CsF zRZIRx{??Z7DEY2@4;twy5Hc(9gsj$B92){>0&2tZeffbcf3M^ppRwoV&F0l$EdR zbC=g3>tGcqOIh6@sAg9ZRNiF)2h-if}2|C{=f=C=5>x%_48K$q)f^!YW zX1iVoHv#w&!DCGGHT7=N9DK5w6a)8-`uaMD&4=%pO@=Nk z(W0L@sMmBj(Kn7}$HC~3nVhfvVU{15jpJl&;y59QE^g->_)-o^kt|x2fFrX!l8kZP z0S4MO#E?iT&t8Meh%S2;#~ED=*rA%swXs7D(8VqYlC79hph;g~=mxE9+5{Ro6SiB; zJp(93LSKAl8S4n@6M1;jK89d& z<}e-tWUXa#`mc+z!N+P^^*sT365_P{gm?TuqRZTK*+2w~otd|NbB2NIb4}!bBD2-L zk+7(PkI{vrtXVa_-Z_oOVVE|f+P09Tuv+;Nj+Kmp%13NWTqVlVvcnDugWyjb9GRwm z)j@EE)5&u-H%iz)cO=mO3XssQaaMx7S(o&-lkMj)kMEJJ!j6bGyr)5Oxu)5|kNJQA z((N9RAOq3Jf$9-m@5!-iAM#!jSl<`(U=N#<_j(`<=p^yAAL31J4mMZZNr@(B*P=Kx z$8p71l)AxKYE3K0QuXV23SG}coSjg+pE>2yHElV?IfHgjW z*Mj4DVmWr)uRJvC)Qm1iAYYL@g+9(W9N}}5jND}`ZBwVz;QvMoID+x#_WqZ;uJUzrV3=M3n;d{!{J1yy}8_f$l^*_86 z9lpi?gPgIX^@mj8US1t8@$!wD8hslC8DwK#2IHv{_8+2!D^)phtm?YdEJNxlqHE5N zc6DGnWD1_f zlp{sbIWGxjg*Yf{McOZ~En$eR%~C|$r$8I>CLjcY%D`G!M7CUPACbc5s=4tl=qspv z7rS_5O2T4Qkkt1p`C1K@J-8*(y0$q|mOC$AHtDb}CSo7W;NZI#WfQR3IRNN53#+5w zWykRGY&M0vNEkD9xP!ni&ce zZ0j7``kJ!Nwa&vaiML0^;#(4%qLqs@OVA^-4vF7H5_#EzR)6g!e_qGwWCk$j$f>eL ziNvP%&5rkIQhDa|$q-CKI(1wM@7CY^$RC;^58cNWQPf0A5)0`Gky3o4*h$p%nc)!D=+^DS6Xd8}Q0l0+$w<>Eh zEk*5iuHB)m1ScC*E$%5NXSYOBDfY61bNQaJZQU(sL>KYM#cA8R7klcVo5CO&v7n*2 zc`NZwOc*cI;2j+jR(I5-)dNtxUgOpaQOD~v{yLvz(mEPXo9Gw|gJS}EzE+9V7d6aWuM4K1QdX&1l?VZ20ME{R zf(llar)lEjG<6YvtM?J^EY^+LM{@;kk{6?JyrAz<{o;zTX*yw7$A=YYwJc35`S%oF zXqwjSBRIgFdydHTjG-sD8M}`*NnlE(>9jPp@9KD~;$cj{(#tG|7!XY&eyL|PO~LY} zVnNgJUlr9*H8s((v<(YBoo47ImSggxDQNYx`jdsH#TKrnqJ#xG%T{!nH4p?4)*wJj zDDVaKv8lkOd7n|g12jk%%0UxcZFe|b0|ZRDZkX=&3X!HWFm;@{tb;=Q${pwuvvHt7n0uMK0zW~{Js3e2ABG^fx@!ock|0PPQC<=R8M(5K z339<=YjU7CF!rh2sAt94;=s{qy7>Hn*wyhd^B_%EXrZbKlm;AuT)`zRkylp*ON0C9 z8kWvjRj4$Srf=`28}RpbI=Z5q>o@PA+kw!n?DALc?J54%lBNfCb=+CLn;uTnqdPGN zQ$)wd(H52c9vnpv{#_4_BH-Uk({pJ5yaz|oYyTq;jw0YM8T_w!a1=ebX+MtVW7-2h z7Luv`45N9q*YRu@O~F%xZY)1C=rY|*Ez`}^xEmV2rKh0#py*72F__w~oPkZvAtkx~JL8xdW55*t;E@MK^!by4|HXr&=)wQy!BOp*kS?5y z9z3Yw)tH4q(Sdt4XC2NnXNFGAh?vOJ7Q#11w1>X25dgFK3aHfes5pd>! zTN6Dy)p~30h!PJMicTLO=;y&v^xy+MIEo&8hzCc}gAe!MC<5-R^e7EK7N(=RDo_DS zAw~;=rm)Sxu4W8|-q-rF=`b4`n~sXK7_+P6eN1tjMxlv?B2dGCu%__?)L4N~ncz(T zMGrn%!>>ULly2T5ra9A?j#op-4(y_Ul@>F3Vj8lE5j!odePXuW9y2y8*AqvZbM(n@ zr3*IAAq+E5Pp!c0-l7(eMcyJ%#3GDtiFyq$;<=&7@C(vn32Mu|4k&sZR(fz0J^0BU z97PYl+JmF$!PjcI7Bv(BH^zInFg0VnGc||hQQfDGCyS!5kEvz)m|DiWlV>uIctEU=In|BMU3Ydi#Bgo`jc(PljuB3Y|fx;swt& zbR|XTdO+`{X1qukh5xahUc^hoZ_!424_^4+@Z#@hxPY8Tn?(_wCWcT-l;ic>snjm! z(H60Swu%Vuz$R$BIFojWOYzd_wREPqoz4=E(AnZ?`kMF=oh#m?^TY>qzW66yh)cm= zmj!f@ETxO(NV-&xr*Gi8;^nfIu8=F}DjA`xWrD7e+v!^Qb^4aPmafC4ot^Rlx?Vm( zH^?8+jq)|RNxn9AUr_y&=J?SpE(7UYBbdNQG?zL*@KC7PYw@#r4tWETg z)lLsv=g}k9RrIKJ1MRWyp|tfVJ#IZid#zV!pY=99Vf}%gv_7GytPXlQ(2br6l+d$* z5%m2)CH){UoqiaYPcHEf_BrhO_<`s$Ic>_dQUbz^NH&q;!H&2YpYY?OJP8Ah-Q86a(G%?oV znC@iCNBmc8ji9>_5G+Q|<=M(0{bStBV3iiUJJ6atMWSfjwv04R6?-r+bFJyhOG ztK6#K5GgO22^CNpV~vG(el$iHf@cO>C9oMBh&v4qYdrLY1E~k8`b+A8=)ty*5uZ`- z1Jn(X)aSJ7Gm<6x-{cAShtdfCQ}Q|0j408ik}qhuO*7H@QyMg)qys7z)Pct(2AeHr zAR?hlIxtF?2NDl3TwBkQzKnIk=hXN)&DDPs7^86l@D(_L4CB+W&1Z;hB)?UKKnRgM z-oFg!fb7J)C&P6WUd*}}p{e!?hM=IGf>>2xOlcr3&N=yL{yFcQ`duAwKS7tQd|X^; zB9<{6v5Xz#k5~}IIaUQ(hJ1_%>WT4GCiuG+6KJxSh&Q_@(E>3U-(#3W%f(d9*%_E+ z8THWo3?SIe@R;bt44+V%0PZ7kOG~YZ;G(1%)KBxy(!5i6#_cCqlfX^pQ(q2v3&A8E z=Z^S-!iIvqoh-{_^uXKfCNe|T0~ABA{BmPFzn&HKievRu%`o}Sw1hP!H-a^3(FMWG zoCv1oMsRKp1aopB;PKJg8ScfvbG?_z<*ViF|XUGjF<#OLT8 zZxA{7<~aBYfzRYOa${WN!&vBIEX-iErqMzN<9v{qiCm;HiYq;zkY{P4eVt%bZu$-dmQQm(*THN)# z6A@%{KdL9f<`_-g;d@xKHI*4QM-R_x4vFXni5SK&02(WYm(&BgD?EL1?|{AH0VieY zB%Y%E86+NsDSOO-#EfihkNIX$;m)AKok4{&1Cy|wi-G6K_nbv8bQY=fBGWq3$=1SF zAAaTHS1x{K@I(IaqNaoQ3gBgi3^sTn5gbEZ4>{dM-Nt63r+Sam{4puQ+q<^d;c^z; z-Qfni!wq(ZLjukkh27G#sTyL<2ZV{ONFJcx*r#f3s>kH;hN46BPcRnbiWWa1_Jgob z)-mmw&`!=Xx_IpKbPT5aT~^Fz5Q=&kt^ORH@~$IhR0YQ%E*0OGv|?AsyT1Ko5HyIy zS&-VZ@wJ9XzTxm7&g7vWSLSb*@2Lf{tv5 zdzJT3ix+eRo(X-k1^r?@Z)1#mxwGx1xnXuOh<8tj_fTuGYnT0Y9{a>W?EGau)H&=t zocAV&bx2O)KWGvg&}>DxN~1B`UeL_YS#&)*;lnjKkc`Yma_vEpGyn;{IFkcOc{Y-r zheE=4UX7ZF9Z(XM#Md+X0qp5ZJLx!WSNDilo~Ma0trOGYwY2y}2DnfBRwCKoFH>jf zOpA9oSAdqk$IrQ3UIU-WN#To+Rv3WzD}>dwdyRhr)?V?CwD>O+;B#!4{B*$ebc|E| zl7|^#DjJm(fql}_DBSkDcn^1LX4?uPO&&C1973&^vA~z{RTKU-yH*vBkVxDJWxt6g ziksnR-2$DujUouDTEra)s_ujXc^BOPYw?h{o4zaVr5EtZ_Rqxwny|dP&7f}ljY2i7@qqDCmB#zh|bG6zrgQevaV{qC5Zj1xX znL^fHX@fxC5l?qCCGiBl9PlLd72nnKG1kA-okgiTi&7`!FRUf*V5eZtyjzrvS&98` z%pO@#Sh($+$7mN1F1u$B^C~s1mDDA1(;~CX^#zk6|F#B6kx z4Iof2KyEI;EY@Ocp0BAGvrqQ3DAOXuEkaKZyou&j>=sAe386M(qNS=Nr&Lw!mpD=x zc)?ydxGJDqz}jl0kAP;!;rOf`i>XII#lNd5PN(7bG}@wnjcm=Mp5V_8#O zk5V^lskKbY*)uNLpK;0ljKkq6bcwYbhTCjD$5MV-x7nftp1p~V_`C-35?l-|es%}! zb?zq>{a|PCDLZ3lL^b;07=}{LX0-@359{L?aj&;Sxh_{t#^s9YP0QQD^zn<1oBC(6 zso26o6{R6}3)|K4q(2RV13!sfXFc*Hg#X9&ug=53Q{;&057^;8q#ojrbd2~DBBVcq zs2|Z<@fW;g`Y|#of7L`}WnJ#dtJ`CLbJ}B93xEjR zY8)h+clR<1eaXjyGeJ}AZ(q<*n|P!9l!n5Qb9CIX{wokF;Cl}_40kx&aQ{zu(dCt!G%%0O3a)JMdLO6PsBRpea9HBGsLD*ps+CGFC>nW_0T!jAlvG;HobOk-#{T!Shn?-lo!`Hd9^8m^dK3>_C zc{DB?Nw2O*(CrlWc7mUI{(A$Od9nn|>#H$zVP57=0DrQ^OhlXjYV$U-yF4w&c$Q!h zwtcPUeNkXXRf@VX&bGa);{)AT;vF3n#(kAukRP$EGDcp9XDXFT*!xMyJf?`v|K(p#Kn_z z(Jr=cq)=e8&7e~?D351U94fYp^NKOCh{r4t8tIt{c$sk`^^}unfSgQ2b34Jk4sdnn9PIbhH%(EQAX~!{sR`+4ux) zp@RFO%lI0K4rzbY1`4wr|oR%9V=amm|ifNIq$}bMFzcV@f z1l6y6TyCl=C@m+`nY)Q+D zOAD;D{D%H}h5mbWDbS_mwYtTc;_#ZZysorhue>2GZ*hKa=ij@E!xuy@O3VAX;X_kY zY5wyxyfj}2$i?=pR8pGn#>Z9N%S*dsoZaPUOeZ`+3CufP)g8dc==Rd?1K4YXcU9UQ zjw9OamyZ(xKRZx8$}9S){c=B%Z(0}V+3COE-7CLWg?yPDhl%$vZWdby)Cx0BS0+Px zA(BZX7edaCrxLk{2Fp4cB^QJ3^)yK~P_;aPj+aYlxom{aF2zfD%kZ&}<cWAx#yt|7a zt{btd*aPQB1FelH6}nj`jSU`6z82s?1lRCYPR1A5_y&;qhg1bT#CkRhlJG%aBh*N# z1hhi!g^YfGI{y5S-SV(@%kj%OqkRHS_4U-3;r<+wcAYc8Omc%w!9cH5A5+WZn2ZZ= z8t9mhokSeD?~^Ye?z1MtVz9@EWX^5WuM}p&IS8*Ww$t**=Oe$<@s1NCmk~se~lM81KuUcI0bPQ7M7c-NS=nBAW2hX8`a8oS|PX4M!Ai4$nA8V+<`N* z)9H5n-XqVX$K_dC8WzAfTu8(9NsEmOS8KF)8KfOlskz6|_1=txpu|_u1bF|b&az1G z^g%5vCbz=-uEqh6)4{=BsOH&F_Bf{qun2i2BhfoBi_V3zvce*5%Fz^J960gFEniPMbB!k^3P)31iojov{rM+gl?L|8 zpCc3w! z+=@fZt@wt)>GC=pdhP_{ZlDL{ci;iss2RrxDXkR7v87f;+V3)Hzty6d1lpMx9+Z4c ztF}eebhZu^0FQKB|)U(?T2_H{zoTC(DOuoqU**@=-bi zOTR>>VR#>RRb?TK(rRHNfLiCM%1C?%sKS^*+Uas(r^AIHUE`|C6dFoI| ztT<%RTpvCFV~csx)#bb8$JluPj^9t5-~T$lpF6)_nqNzpU;2^r`-%fcQVzMizU8|u zly1TOn4748E6!u2m7K>Yd5>-V*i(GVNzr+Jn9iQbXW<||2e0V+)K~t1hTw|}qu~FH zlP}OzTpySzUxY^fm{#M<3R~n)=q&kDTswHxM}?~mr!~KD@cKEe9#km#X1PO&1)v0P zMPar+6+_Zim}lU-TPrtcY{u^myK)oGY{JlO-XJBg;`X|OwHi(;N3V8y1^lbs*(ld( zlqUMIU6i)5+CYSR@eZQ7K*a7j5HZ2B5smcC&5wxh9W#GzlPm*DTW#+nX;at_kQ=iCN?n7)g~W$JfOUI6tWsGo=D=Q+=@&zSlhxHm8zM~j(Q%v|ao z0K@~S8*bGU;bQYZ8iM$07!C`EBLXc$T51H+a3=OLjIXh_fu#Je#=^H(L0k!!ej?0? zNxkM%-~bhg9zAf-X6-;TX`ODJfnRLg)|r5vZ(V3ztV@?zms*$W(v{X#)|C$I8tXb; o+G*Wj-Q+yI*?D@UbsI`|0vkRbhcB#0t-C_`)-LNF>pm*|KhzDCKL7v# literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/life/mob/boss/demian/Demian.class b/bin/classes/net/swordie/ms/life/mob/boss/demian/Demian.class new file mode 100755 index 0000000000000000000000000000000000000000..a9c0b932efa45d02004bd63d72ddd5d171ae1d85 GIT binary patch literal 2971 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 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/life/mob/boss/demian/stigma/DemianStigmaIncinerateObject.class b/bin/classes/net/swordie/ms/life/mob/boss/demian/stigma/DemianStigmaIncinerateObject.class new file mode 100755 index 0000000000000000000000000000000000000000..edb80a493e49d316e697a4ae033462cef9feb30e GIT binary patch literal 1403 zcmbVM*-{fh6g{17Fa#17kxfY=LJ}hFzD0S#!kRJ)B^FiqWM`&-kv0Y6Uql(y87O}%Q<)H-+zAo0`Lm8G-8NrNMw*iieb``0r!tw&$J|O`rNj5 zB(KxKka}r3RJz2~oeAi_Rgp&zwReJ!{EaJ?0DQqmYLU{OOUgEA@%`3R}LwlQQIo-0g4 z_}vf;r9RY`rYdhyTUK3@MlxHc;d$R`Hl+7aG;Gq0)?Gu`Tf(!H+*KxmJdx>kRD&98;u1`zU$cEl*F(Q zg=$>tMdKK*0z)zC&{y%=MT~VR4rLExded!rhFr5$0So`z&SkYkDA4N1==T8PAOuL! zxkSj z*K2)2Rv2@@#2{lD^^R?;Fyyl#6DFVK=A~yVmybqF96*7@CRb)__ZI2`GY|T-o<|Xf z3=~Wp#t{n2c70C?94?h>kL0GbTvO^o9hd9x?5;C0&M)~0kj zYPltFxs=eJcV!q>5(o7taJ;oj(gFi${1YZ7@Fqn)?RZXfO<*($6>C<@E1Zr~CQjom zfi&3_5Y;@LoiTA1Z&|Pz;zQdm=!4Qxwb1pUira-8xqIPCM(;Us$SL!%$vA@1=3wp(Fzwk zT`E@xkmZUmGGnTgha?>3mnl{yrVLN1P;2g-Dt|mUD(MBl=V`zPu%i-dY795!_+J7^(DCx$2>4?yYc&` zN>Vs?647%nnC{c?HR5Z&?so!P-E_F1W3M*z^UO|q&U3yW5$ol~l8PSs&G0}DDvuV{ z3_LX9;E}*-O=QhV$J_MRl~vQ}A`RJ+cH{?ChoN?I_fL{Ru~OH-qV$@s3MXs6zuwu{ zr!gjS(WA%{C@KE`FS{mRubXVgG4i~0-MT|9rvQ3$N0JfkzSsMdEsr0UZ{j{46!1M0 zvd`)I6HHcr#e6@O=7*$ z^rf2=&lsRE&ZC$1)J}N9klr%wPSeVt{5FQ4;owUYf1#bgZTimXyFAH{<4!DpiSSq> zUldb27<~!B@~IyA&*{XBb?dmR@2SI)6kA+G8X1bPjo}9I zC01kQMS^4Hi5*Ptpfvsh=YikxUW&dxBHU+~-Y4K=3Dk)=*?HztjJiaq9KguAXP6uR z5k}@GWYX+gI+3<6N;lMzE(+`5D_w@K>30?>b4C>MJOg5AOJ@=o%l!$ln%+jbzM9#l ze_^ZHZE7D}n%+_l;2V4!E8inT{#^Wnbc;9B>F4<53DSD^X(pq0hTeUa&FWo#2el^{ y=4y3ei`xDWxoP4!hB1XaopkH+9VE%6(11-VC%s7lucM6(1a!i0E<^{9ar8eU@W6Ed literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/life/mob/boss/demian/sword/DemianFlyingSword.class b/bin/classes/net/swordie/ms/life/mob/boss/demian/sword/DemianFlyingSword.class new file mode 100755 index 0000000000000000000000000000000000000000..240c37d45fbb2517508be8dead904b19d90538a5 GIT binary patch literal 3529 zcmb_fYf}?f7=BKG#KZ&MP(Vb%D+KCVFSRu)+E6qKib84a&2EwfR+nAeEK+RyrGLgR z{m^zQcG{VK?M#1Dr_<-0T_N4wbeN%&nZ2CL^FHtMUe4yvzkmH5z%_hZKn86&v`cg# zE70p&fzep={JL!!%MHV^7c66n7lG_m+qHx10`0?YuWD4i zM#HFE%eLu;xWnjXee%iEMt+K$5=qWg@;$ew?#VxP1 zL=ESe3Ih^HaZF%u?M>*shOI&mXlssbxq(qzGJUfaSiVu_lR(F!6;$esC6nuk`P?)d(_J(w zZeT51K1q$?tsKru7&s@eFR?;km+c1grn5?s+lEIfipqJ33#y2^=*FDs(?WU4uhbR6 zOA_zkGIw!s(zYC0KAB8wR)bSF7Sz0#Xm zb1k|)nAohVTvh9|S1paqt75q+@jl87NwDRJfT*as40T-U0pd@)wc+EezRs7oj*X7q@_o~90Q&#P1TdTUR%(RWITwo==o zaep-k?J@*2c#y+GiCN51y%_a`@FZIGJ+odj8xe%SaDr&6DHXCin3woSiL|fD-!Prj z>?4U!;{#>dfC{yjwNQJeY}dNCx?HvVIkW0;V*iv^Go5+Ux7B+z z*d8p|4S{PdgPYd9Je_oddet3LKAzKT+4zt#dY@wP|xDs+Yp7x9ZodNn2Iap+tbss$&B~?0*@4 zY_;>smddA$`Uuf?o}~KDcFKDvm|e*7`UT$}bDi4PU+jMkQTzqDSLiJMgafb8$J>z& z4F0G$Kj!riH-^_9NP-?f9}e^Pr5@EVFj3_j0Z}6jN{c$I$k;Qq@dupv4PB2iuW@pE zthj+w8yMZd+v@S+2HqXx%hj&h$HlM2q(1B!4M7$Sma6qt0O}j zJ&Yw1$?)06xyZc1yWpyh;?KD8Js&~?N($hN29)7~$P1xPT8=28u5-2WFk9?@g&SL% zs83s9l*)`X>5$#jA*;io3_qb}AyzYy&Mi+vB1S5ar*INPMj5I&kqabpu>}#84~ob# z+!P`caUz#fiSV3HBQg;uQX-M7Er^6c67aB+LZmNFWIUC~Gx%vl`r<^&Br?&0h^h>w zNCQEHb%o(n=^&Ynw^uo zK=GL#{R3TNWc4x8USjuX`1q+J*w$1mGj#a@3+5pUW{w3juZ@JoGO(GM16X6(sAkZM audq%-FNl*z<}Y;TFq7ld*Br>;n|}Z{G-}rX literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/life/mob/boss/demian/sword/DemianFlyingSwordNode.class b/bin/classes/net/swordie/ms/life/mob/boss/demian/sword/DemianFlyingSwordNode.class new file mode 100755 index 0000000000000000000000000000000000000000..ec02bd980a1af7729a9d9189c45a4d02e5973914 GIT binary patch literal 3811 zcmb`KZC4vr5Xb+Q22#>X3sqYCAX2dyLM7U2)zVT6l$I6&8w{0db(1WxH0;u3X^YR# z58uTXdX#vMFZ=+0D3AZSyMeH5j;GQ$na$k2GrzercP9D!pFjTsa0x%9(1LwQBs5yl zrqH=!J+QK6%U#OO6jtn_uh4eUaUFj|VPAS6-;VugPa>sp09xU)Yx~*iL$6YD?Cfea zTXq&Hy+XF&Rjb*Oz3NzQu$~<^Una^Mj=PkT9n)UPR@m=S%x$dk@#@qbt%;doAv~yY z2%R+kz%F}5$KOy;IaxTY@f4os!kSlge8+PYdZJ#}eW#qA4cCpiBN|8Xj6!nF@|Pz| zj}*qEn;s|d*}#f1eO%*&kS66AXj&kj)#$-<3aP4ZRs3R-z+Qr_8yZgG99~W0HI4IlU197AbRaKBaarRnT;VG1hv`z7*xO0e)1JZ@ z#*?@z2Qi^A8o~S@m1M%tN%+?_CUJu)45G>{dlkl*NaupErZnCbpAwcNh6N|l&S=bv zS`wcRZ;a?~Y2+}+a-lxgP>XB?lj1F}F^}5{?SZ#R*Z7(Yd@X3)k!0j%S#%|QbL`yJl0sqVrE6-9#|0Kwtk5f zdUvO8=QS5cu7-y-g{~l+`fd}}sdV%b?A$+)S6JNj&g0~A>!SR(qr@0aqa2# z)q-7_vkGNu4o`VStDLtgj(iW534htCDqM-$eO$O<9%{9*GhBZ%@ygMqXn50%@YijkZlMsk!=9)aR-hx`1j@LN%SPf&Je{(#C1ZX%iK?At^~ z=FBF#el^>wW>YIak0L>Yb{yllK2BpN;8WWh7{EFn@Ec7TU}c`fWeZ(#P=yY&l(N>E z`5nn$_|O7z&}Ni9#-I*f2n{Mc#3O2ic7$)ssk9l=Z9F+8aMZS<&saDTytReY79uGb z6QQj}knSi*e=NubK8^$Fj)G(eGS~z}k|-y@#vTK5>}ST&cp^iwAfMpIE|3$OI2Hvt zOOSI-K%|NUgrg(|q$3J)J{IKDc#w`L$OVE7Hvy3{77)&^7?6`ukdauB&u}~3yj>$a zk&{u7QG$#$0g-zoAe@6SAiYtLiCB=&<3W0(AU6ndvk8b?WC7vejREP4f=tJPd=U@Q z7X`URkX#cG=_CTeNgo5!9|g(Bf_w=(+`J<-{ZWtwg4}5WBCSk7_(LKFBohU>8w>Ik z|3F3i2x}x01t}1u*aSp+setfDOAJU?w2v&tf_#m&T_9||4gEG~Xe$J{*91g5tAKoi zZ$n$Zv2jQnoFB~8FjT|Y8s3n{ks3y8xF(M`LpdGFcWQW7^zVi8{ZM{bLs9gLp$Vsk z)$LOnVmAd`etMiHYy9_fAN}mlL+s?zCPvtICpZkI*}3!V-7+MCjy%8Bk>~LpzBd8< JU^?E9{{ojh2H*ey literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/life/mob/boss/demian/sword/DemianFlyingSwordNodeType.class b/bin/classes/net/swordie/ms/life/mob/boss/demian/sword/DemianFlyingSwordNodeType.class new file mode 100755 index 0000000000000000000000000000000000000000..3932021ac31bc92af69e0d71addb14eb910f3358 GIT binary patch literal 1473 zcmb_bT~E_s6n@^d-A64j<^(}L6j0ZpR22N$B*=tFvcSb~hIrMDGE2JFbRCAD;s5YL zL4{~ET>GPp=d?4W=4H0@<8i z-ZS@2!!g~4v02-*>Onz87MBtj(lCt60{wpht8TkV$?cm?+uGa}Sj=^?OODxU6}lXi zz^Aeb-4R$I)F0Jw1!Ds7qV3wjlE6^6REN2)SGg$@8YXd7K%%$;VkHShCHFK-%m@sh z$0TYJDTdwDkb}-G4byH3JkRO9X)2}vM^i4*;0O$qZP(gpH*1!^W!4<>Y@d^z-jgR4 z$dtXh=~PYM=2)G8vTHUeZszPm&_oBXZEAp6r@5=x4c83XK4Ik?wTp_OIjnMvrJTM( z6I!f0oyQ>u-M{RTQD4fLig|e%)HLxnmRmUCKG0#N~N<)GV#Lygb7D3D8Na zM4lMW36LJ;B_cac{ycQT&yqDoCx7Z8)Gz2i#lQ!$1a8r9JiMccp^?Ac!7q>=Gt`X8 zpWxyt1mk1>;OEGrMJO1!6W-HM5{e_PLxN0aUw(G%7$f=dcb_r-F$8hYe!2$jWgKY| z83clhgPDN^EdsCSea{*e2l3hNTGFIRzfRrf*VIr axzMP)QK2a+Sj8BUR7h0LBRnQd429nX6;WpZ literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/life/mob/boss/demian/sword/DemianFlyingSwordPath$1.class b/bin/classes/net/swordie/ms/life/mob/boss/demian/sword/DemianFlyingSwordPath$1.class new file mode 100755 index 0000000000000000000000000000000000000000..9519149dfde22330af98cec5b7266e9cd71bd2d9 GIT binary patch literal 973 zcmbtSO>fgc5Ph3Cacfdyx0KS4v=oYz^ne8t0x2aB0#zfWp;D@#a@)j9vc*{=+W{5v z6Zi!P{sIygB7uZBaN>wK!;yax7$+dr5w}|Mj^Fdnn>Vxjb@<^EfSXu1kU&z0mO%<> zhPgxjl-vDKx^~(3`B6; z7?I#9hE%>~35kE8KAy=JU0YW0$LreZO@m+F`NqFfx#2&?=rI7_v2~M7`f@34forTw-QxUYom3 z?#l@OCAF|C1BOcN#O8_&(+$~CJnZ{a?b_I4e5hNKWk$dMO|V!Z4Wr@p{kGVak>#cT z4&rjuJau?awOty%>gp41B8E&1h4~D6_2*MpNx&fK0Qo^seJP1U9^K_gEx<3G; zmo5&)IRa(+j+mdD1F+4H&<{+Xr}q=IAMN?s8pQzaNAtlJJUpxR2c~V z1^xpf{tM!Z0|oKHCm+Q>Vc@Gz3O-a%T7@R~wm{Cw{lfXqcfNZ*_uqX0a1nDl6r?n$ zS)`F+nBL@%xz!7$W3Bi;->S+WWXLQ@SBA?BseGZKVT>W?iqHz4c)l%#)eVLf>s}y3 z>A5;I=n>%_hIGDCDKvCUV6TSBEDV?oD~W1HJ|GsaX*Indux!zl+#Rx8R|khRXG^;6 zdem>7hn?dklEQ79VJ2T4D0aBpwr({yMJp^9HW<`Z&lU`mRq2XauiF&nr7^;i=xs+@(`2Ekk@-lJgb+6~Q#F~sG z&;Hkg`DkvM@S59l$alAWQ-mGQ)^LR3(k|y<7^{gOyzWJppRKsA@K+rk1R}s3-K0XR z12B4NXDCn6;XZvw$j{<7Sn)lyyJqT{+5ftY@wdp{86xRl#>+UM8+Hs(cFf<4F$CX@ z(kNhjigOqn$u3IG_%>Q$W?m$Kw4MM|BdH^o)RDPt_8-M*N02u(x`JtnS7^n76Hsvy z`;n(uz#@vcfm67L(|Cw8c#3&EhlN)-i`O`Zk0{{_&SM7`@B<6jM-17aotPn($mjzU d6&%E&L7v57$|`acj}DL=j#1XBYJxI7e*h8J1R($b literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/life/mob/boss/demian/sword/DemianFlyingSwordPath.class b/bin/classes/net/swordie/ms/life/mob/boss/demian/sword/DemianFlyingSwordPath.class new file mode 100755 index 0000000000000000000000000000000000000000..4168496057467bb5a15aeadd687948f7b62c25d9 GIT binary patch literal 5666 zcmb_g`F9i775<(qTb4Y4ZGu5wD2q*P$*~}z4Yk133l2_X0}(idCM08NYzAbFs~M4) zhGroN>5?uX-M1uN=#sXH2`1n+P4_lUPy5H@hqR|B>G$4@Y*{v>#^xM6^WMC7?{~ku zy!-Uld)M9oum}GL!H2Q{{2IzpAy9o%Kdr|ydUh;!VC1Bcas(=Nn_1K85-4kJ8xEjS zV69q|cg#$zJD1ZZ6Q=Ei5I|WFRnP)hrC~MJ2<*)oPRxGD%B4*sHg3l<<|v=mNNmKi z?O56vH}$OhJ=UiN{h3KKJC>9?4(iScf%2@CHf+L5%&C;x;vs4x?Aqli8KU$cZo#?$ z>NKp!27%sXV3y(zPfi#Dl|5EIo1!fO`w}Z4F)o>{*U*4Ql99?8x?@_|gO+W|r@+Qi zCCWL4?_{e68>NRoBrw`qx^^jUDVP{96*6C;43y0R+e%DNSy|iBvyL6>VFdIRMiSmu z4b5l~sIm=b*vMEZ)0q_Twp72UZkx;-)RwqY6YJ2c#e+X;TmaHJ!c7`3f!rKwSckKm&L+@WC? zJ|?hwe&#TZ^>kWbU8}pVDAnU_$K>9)hTYgh?rrl7Lz!7WAgA|g_&B;brgFJ`z*Af- zAb?(h#uER`iwv1<`!w{+R0|%~a}>rbksjW!VL-Y!SV*1Qq{(+{NMMjLKRQ<$64scR z66kLo7+8+$B!eEY2Q(bSApwn^OFGtssz5UOj=9m7l!&7;Opj<7mSHM=ECn!_8pb7#ttCES;$>OPSu0`(@(j+@De1(JkxkKt zo=Jy*Pr}kLArS@L>4B_M%QGUU!G=5r^i;~2;7i|vh+a&3yf`jLSqznOnezE@BNvwu zby~wiU@itmt=v96MY}e6L8(G!;U<^3Ga5dPM;O>HOzDL_-O&YF|4(47O`j3yE}>|t zS>L=PgtP9E_qc{9hGn~1=b|YtTB`yA2D)=^^pu`Y7MS)CY1u$vQ>bt*p*FX|DKPL7>g@rX}T^bc}d4es`UAc9?AaLH135)bJ{%s`2N=x|f^suQtGj zD%YFQZQHN|_?tk>0yiwiXaIlbZSBTO*=xD7Y)*ns*>H(C+lIZk!!clpo(Iu@18-;(J8E* zLih@r64C07)7TQ7!nSF&N2akodKEi;xHs|&_xK=n)e{%67nSHn9UGfQ^kOUec-iV# zy6d>E60P`-(p|^(-^KT+J&5n)1%9JNVlz<$C?)NoNJOrpQ(#Y7S5xClI1p*NiY_1C zL{F!`sj)o$B7#%syNC(`?JSpw!{uQ=@pe{(Id>KaqaD?}_XKDA3IPdyJuDZa{kNJN+ z{O_SAfGQ#Wi>3g2dIGrR--vmkbCI;0R$XVuvg)Jf<8`i9-vzvL=-x&xg!k1<8-p2NZCmg zTRj5&B;fX00{RtEl7OyR0`Bk#kmjy}uVC(fC^jUolb&(UkwM8}M|;DCX&i2-_tWod z+G*jv?KP2ir*W*IzC8T`s@rSCJJUGcUcH;4Ds#X!Vhfc5COvYJYEGdR8RlIUn_%%i zJAqq~Q{XqbS`;X5VBAXY$$aTh9`z}|FiXN~Im;Wq8?$r?&k?RFkGzJ^Tsp`k1@cO? z>)vuN?cC)58NdG=FMC1`@+s4=A`k2-531O*5s8m|5qN|RPy^X)E?4pp%{N}?nt|&!5UK-Eh jb-v4BxysdV;`jIy{=%7hj?VHa|DAIm_$%JR+X(*;X)6C5 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/life/mob/boss/demian/sword/DemianFlyingSwordPathIdx.class b/bin/classes/net/swordie/ms/life/mob/boss/demian/sword/DemianFlyingSwordPathIdx.class new file mode 100755 index 0000000000000000000000000000000000000000..8d11138657ccd92ac946ad17e5d2df6aace25377 GIT binary patch literal 2909 zcmb_eTXWk)6#mvXIqo(wX_Gb~3AA;KokB%R3j~Lfdtz{!fYQ*k+}5_7sF5Wj$!Wvo zSMUe=#tRRSLL17!^qJu|F`Qj16L}gs%wRugbynwm=l1Pc|M~ZmKLEUoZ#BdiW*jrn z{d=xgvrN6=>$X*=)vf3i*Z1|B*|3Du{;tm{VZq+DoJ~VotcqZ(RJ-2;h6G0vDTef{ zXNtgb9frB`|A#J0>@-J@#O|4KTTYdnUzWSaIC#hI6}j8X(WiFTgtuu1q%3z|;ONH* z1}(QfUA{SQFwEcSMsyhrU{J#ej#D_zkgVFSV=|n~7s_|Vj?iu4Z0akOyJj^gW-yEw zHH>hKVvGVkRG4>K4T^0?*e!FV&TuUsv7WVs?-wH*M&MCa#i$1fpzvSjID@kcsY%PR zg6j-}QK-)QeXAVnpG8nSv-a}@s@_SIVSK9!>Pk?I>0Hax@8BZ$1o8VQblkCV$@*=hVnJZ z>AX=pdg_)_Td+JC<=_EH6y!=%hA3=m;}oVf%y7(Nj-mfBv;!52%Jt@LpNMuL+TPAm zbyAOEfnyO%WJ{-FU3NU4FBoYgW!pcHv?)^^qHt7S$+HsCC5@gmcp80D`9qG6BuBK| z0Z9_GZjFNJD_f3vqt&RG-kPY`v~%kSyh1n59o41mR)xJTJWIL?{UsdHAh-Py{)Aab zZfsdZGghK57}lmEf|f_Ri9F>;BZjInv#aW|DB076$wgDg7L7_xI2^bPXBE>GZ7pZV-8S{IDj!*hx~K-Ow@X96 z5taUm@+&lIJ6IA<%{Kj9*>$&D%_GKVq%0kVYr9P|s{Y?Uwp~8oHafIJ8WeR^fgeC&p*?Nql&8GYlgAs ztJ1h>cVOx=g+ENAIyE&U|0n>o(xt9ey2jN?7dL6dT*d)p|| z2150rLhnh$_!P@#f{dN?J}Nl%y%?Mlz|SjFMJT*|ZXm?_>2Lva*G3-V7?lV-!2b r2sLY*-X@TtP}>bNQ77FPHnByk?1n{^Xu?Aa_h?5R&HMNY-(ct;edObV literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/life/mob/boss/demian/sword/DemianFlyingSwordType.class b/bin/classes/net/swordie/ms/life/mob/boss/demian/sword/DemianFlyingSwordType.class new file mode 100755 index 0000000000000000000000000000000000000000..9a9237c3793fd1a105cd673ef7cc9e3ec95b4720 GIT binary patch literal 2767 zcmb_dZBrXn6n<`ASO^QGDFum?+BU5TDBEhQ)?f?aMWUfp15v=Yn`8qEo87p(!Qp54 z5B%mAKPasf>*(~e<8N|2_wF)mrkRd2F(0yf@1FCVbDs0ubN~A1*`EMDKwCkC;en-l zn){vY)D2y0x|(S;=xJBAs_nX3U2huP^1o|Ka77?ez9p|rVNW+?3R958_qBoz#)xPTNx zyk^>#&M=zImG=1|*Gz8hYU|Z~z2@Z;7{w(8V=Bh+3d8WZ!LrqEQeubPZ0qX{hP&C2 z_oB&NHy_$4dk(Rg4@VFH5?s^PYv&FD|qixkZ!?v_Xj$Suv+|%=exP{va-cs>4 z?l6p>r_%vWSv3sP(;bF;0gEz&E{NfP9T+m!J1XAAd!+S-Vbxa*M`Ss6rVt6a-V!Nt zlY00*@(SiuI&9Rv)Ol)WCX|)!ESoN=>}I&Pom6$|j$vNK0t)22t9upE?r1hw=to@i zd|7B_g?I?V5x+uYMbb(?283Br#YaLKO6E)(u|>O1X^fN%OMlpIR&{5CS54a4?1Gf* z`K%EgCA-GW3U>?1jKYzS zIfBDfr2#w}{?sv1jDmHWhKmFjV$zl2gr-uG|L8!pCk;1OW}&n&h9p`bs)}~sp2zyo`fZo*>ekpdeow2 z>5jZhbXUQ*3^!hALpMeh(D|8qxhahmpZ@vVl=~=+468uHaL$E7NWS8x)F0Y>=QvPmy4J`Ux)oBn{4M8Iy2+Zt(za0Gp@;&Z`6` zoTpB4^%OVK&oBf01}#E=cM10d_qtS^4xvuT)R0UF83m|ogenRco;ksT^bb&CKOz~`6zy=!#;}e!Itd9HoeCYQRf*!(`^ty=OmTHSNspKt>`hL<*nE;l=6#R?8gqi z2;3G4OZ=|?PF|_SX!I$T9wRDOAI4&GrJQ2*F%qIPz8w6{3{pxeCXt}XKL20hE3%2; aYkWgbK`y7l_OOp8Y}ygWss#rgCjJFwp~EBq literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/life/mob/skill/BurnedInfo.class b/bin/classes/net/swordie/ms/life/mob/skill/BurnedInfo.class new file mode 100755 index 0000000000000000000000000000000000000000..cd65247b21636f41c457b8ff53c12652b478f4f0 GIT binary patch literal 5644 zcma)=dz%!+6~^D*8FrSTU=d{z35en1UeHORM3V&sc0~pkAubmYjW#pQPP4P!>r4+9 z@e(7li5I*D#RL&el*FLX2m`@jj7dyl?)S?_$QQ^zd6K-Rre~*VYJAw|nLgdsRi}P+ z>hw9M_M`uvc@Mx+{4W9%dDtx$Gb<}4&&g-K?S2|5B;+zlL1D6mDML=s zSFlTVE^tcOyw;hO4($q4aS=O|V;z#6*{)5}<6?zNFr7GBMTr!hT>~+YT+wyBAd{=l zkde81W%LY%OEHt9wSJE7>b$VQwaI5Gd_wrsoP1CgnazvVISQ8xb(&fu%~vRV67wuf zWbb}^#2#|=Lf6QU1qussCEsyK{avziO>LSkg>IQ<5(j2InrNq8ltGIWu9A5saZt29 zqwp!|FE+W+(@39DxJJ6lLc^xT3ZIo;?SkV6D?E3^4qV?8&DSe@PP(@XPV8N;!jd`- z-}U(wFOV_I6mF=~MB7&=tgQDRtc*IP^?q6U_bc33?;mZyNny407pGVe1a@w?-znOA zWXKwYn`MZ&L+sUBgED zh0XPuVz0I+++Lq)z%B&9}pnbP>6!k46RlHJ%bY5%gq z!_uCnhS2iT{D{JS-92m;vrGF|6uv6$6U%iYN$X<@k835xh`A5o$rPSacv{RiFaE{* zp2sLfZ_cc%1ncQT4nx*N$IJP7ho4Fs2k@-I*W{B+*IEaBZ%8)rIfdtCtEP(k_>jex5g z8LhsBS5tUR;TXPc;iATS`SOPx;-nZBD$cs?7CIOmBO1aU)bTpLo5FF0H}Ga%MSMbyns3`?acBo z3NRRyTyLnC>icMahLr)=b8e}OY;#H*>}^H1OdIfXc5#zka^*Q}Oa=v)`nuz0Zkkv) zLtEZ)M*IBHJr)+7p9wy0WHP5mwbtB05=ngCoWZMlyEf6W{DzY)xS&z=1b*(h;kEW? zxY(%@)1uD7Z`rx0Vi#$F>79n%xSip^7t1wVA>1h1IVjk4_%_+in#tP&zqSh&E;+}& z#`h*Y=vPWPXO%1a(cZ|`SBrjr4=a5?C|%nzUY+a5BUCYWwbZ4v=B4Wa?ZdFdqy2Y zcas;NucFT`76;wH>21TGEG%v;eQy|Gms*SFGFFPH2R(gX4^m65`x!m6j5#I!wL0Y# z{%T>tdFC*!GKIfenDg;n=?gWJ;0gwl7Ji29yfQ)Xu0@i8mW=dTGPrBWpspojxRwmt zS~5~=$;hlFL$Q_&y;?HZYROQiB@>I5j9`@WVM$TQ>pOhPP+F7|x=+D+TX#FbtGos# z;UurB)&W(V;**8b_yMmn_+Loq#oYTYQd>@8;y_P#73nIbh@4hMhsevSm@RT{74t=Q zR?#E!>MA}h^4cn{6Z!cnmWo_nMW4u3Rb)jDRIyIvtyOFkd0Q1*MSiggyXP%Zv_Obg zveE==$u>;qT?gyJ8JNp!CuXvmx(wH27M8QzTaDRRk2$!FHQwFqQQ(%0vas8Yd3v=S zwH1Y{Z9@rXxNb2LOWknY4Wpev{`fdT&1hE|jm9!K9K4JZhzGQG&pL^G!{m}ofFAD6 zq6kQ92qIe|{vsf(Sq&hCI7r3_!phbJQiy|GLy&8mfQZ8i2+QGdkQUyF8=b)L8!?Mq zX9Qur91dPaH%e%WTz(S6agbhuENKEFo-H6OuR~qYt?}a)xxom+8hjiivNe7jq>mu| zO+e(+6%f|#29Q!53?RGXAe)UKJdl_`cE>@s66B61AQC+VgohXd$lf@}T}BX|bW9+7;~+VL zrKpu#L3=^c-1Vr+OfbhU&0C^}5;u}GDCNqIN6bC62 zBxnL62~0qEiZg)hi-YVkg7BPY0@)V_*-Mc7nt(_K6%Zcs3?O51kOz$*JP4XV#^N9k z6J%c#5J}+z!V{_ifQ>u? z-pR^n1cy<np>M|d<*;W z6a17UvsrHZjFnuA-pt9EkeXus2VLC9<%0X+xZT!Mv6M0kThF3pOG3C#7l5 c7JP(XQMOU-N|@BV_n;UAd!f5!k@=Kufz literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/life/mob/skill/MobSkill$1.class b/bin/classes/net/swordie/ms/life/mob/skill/MobSkill$1.class new file mode 100755 index 0000000000000000000000000000000000000000..3cf06372ffa7c5527a6435f46b4f2bcb2ef341b5 GIT binary patch literal 1300 zcma)6O;giQ6g@93gq8s1tKtVxq+%106h-_9GQ%)9cBa6hPMvZ0n!c6?Az_jf2iN`z zmu_6^2s$qO0sanuf-4u|O+ZH}&NMU0xp{f_-t*4AH(!5#{sQ0;mQzrWP?6Nog>Hs| zD?&4P;rVqb%)P*LWP{MFnZd4f9CO2~RU#w5z|b9T%OGDQpK@nTR+OtpLkejI^?*D1 zy+AT7wYht|F8si>JvZdi6~688AP~Wy>?OD1S!rnKQ_-(s02zki9e%*gRwx~F)%W>f zSq33-T$Zj3R~Qlny_&)hhE2hkhDWffO6T*Wnp z#q-HJIU~bJQ-rbLQOuGXR=Lv>3}&a2$5ixE8WWgQk<&1R>kNajRt|TYCdCv@;h)x{ zCAJz2*+NM#x9y+ql1O{|O?AE3U+;4v<}!H6-) zzJJ2_F{YorO0c&l-`M5)FHB`L*P5hYq%Unuyl%3AOTuonF6a_=)qPRxR}^0R9t^PSK4 z?0xRO=b60zpO?=Acq^_}zNMa7k1nOM75Dx}CKjYZ(ToBJXy`)}GJUHNFv+;!2 zlj1L}%>rcyt!&W_1XkCr+}k$Wyv-4mBN9f1#9YW(KQLA=&=5-vIE8e7!pg_!aj}Uq zW4R#4WyYw?m?|?iy-Z_oYlPl$zQh7V1;R;h!1g=y0;^_UGY`@tiAq#a2Rt^el@&1S zR!20ST5eyw-AfhI{Vk52&20C5&*w)kmAH!^T|V*X1e1 zN!+jMOIUqQx--w-0}>Ca#0gI&#v~q6iHTC;3W+-AvSur1_1T=aO5$Oam)udb{7k8{ z)e>vij7*xUx3v=MRA^#aXoJLh6*_6E(2WvrVt39?D=4VvyjkKc?35`-1#OYEs8o<` zWtH1FjteY;KomQD(PoO_@6-T1%;gqRUacB-+@R(^T{W zRYJSOZg$F&o)dT~=A0l6W_pkDJ_vep(wptut zmFr0CXS0G$U2;|;$96=;dVX33dlGqeCA%F?&VJH!Rf8`POm*Gi1!}PrB@RwSH}<%m zpDT^`A&JA>FqgZbow2Rh+sg&MPvZSkez)bjj@!rn2PK|jf8kUyExwoIA>h^zNqm@F z=O_CQ2Tt0`w&rrhQdxr%A5k5u<*NOsC7xlwyu;4gdCynF^Kpq!uo+1vn!KW0DE0m+ ziBGdzMqSVr=La5>_^h&0#aym5!^b6t*b0}ddJg-7#Ix*GG|}p$H`!L2*Dp$ZiS7Bj zdxC!GOKRvDC>k=opVQ!m6FRc^4DRELID8I>b3%;kO|63B@ z=7z<4EH~rj8r{CE-BwIH8J+vQ#CJHv>~s%QUkjH8nd-)tt{%STAO z#|r|RPGRmWuDVpmZ^z-hEwK4E=k6?%)hT>h;sri}8}EFss_tT{mRPBln5rfAzqLf@ zjYcKL@FI;`3vD~w@9?esI)P0y582rk$b+WWGL82VhBej@mTRmfj82PQ&O9xACG)iSN0=izKh9jCxt@8h<_*kJ^Csqbnm04g z*Ze5+0?m!gQO(WF3pMXxUZnXk=1R>8<|@re=4#C;=Ea)3n3rgNoO!9{cQW6l`8~|b zH1{yyt=VS2M{_^(y_yd&->2DSzF+funQJr`m>Ft61-%)CzX zDdu{`=kQ&%M}Bw)^mFDc&Q9(T!j}jq_Xy$3gp;eD@F#?mi=OZT;pCbpyhu2;M~HvP zJT3fJ%+un3%{;kBDE@cMr9JWjwjhEkEI~Dvq87_ZSD+pnNH?Mp&7|9rM2fTn`;aEh z&>t}YX#q!YlynfsaGZ3AF4>c$!#Ism(lK1XMbdFPO)ryP!Bt!%y^b5WNqS2_n5Y&Z z5fzoBRiZ}JlE%bZ(LlOhY!ywU%_1pMq#a_PNRwtnUIe5CaYP&?9TdmJand1iLYyQW z7N^B1>6o}6E|QLmOX4!=6>(KuBfTzeh?}Ih3>YS=jgS#FDoLx18l#ppW~?X-#{fb@_#Xg*E)j5%aJOZuESY@Q;0-W)SuB0Xo0o3GM1oA@&wgo5dV!Z literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/life/mob/skill/MobSkill.class b/bin/classes/net/swordie/ms/life/mob/skill/MobSkill.class new file mode 100755 index 0000000000000000000000000000000000000000..94b5d2a0b8fa529aabd5e150d779ef28178ea3f4 GIT binary patch literal 25089 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 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/life/mob/skill/MobSkillID.class b/bin/classes/net/swordie/ms/life/mob/skill/MobSkillID.class new file mode 100755 index 0000000000000000000000000000000000000000..3d5dd33ab347e1beecc35ff4e32df8575443cfc6 GIT binary patch literal 10833 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 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/life/movement/MovePathAttribute.class b/bin/classes/net/swordie/ms/life/movement/MovePathAttribute.class new file mode 100755 index 0000000000000000000000000000000000000000..6c3be0e6adde57cc2e1a6e730bf3782e26d4ed4d GIT binary patch literal 6725 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 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/life/movement/MovementAction.class b/bin/classes/net/swordie/ms/life/movement/MovementAction.class new file mode 100755 index 0000000000000000000000000000000000000000..d97fd693058649c012a6aa89d4814f0c18032f19 GIT binary patch literal 1554 zcma)+Yg5xu5Qg7VDrv*vB1Pn?l$*T>@qR0)Z4pJwMa%F#qz4;qlTMoA@UxteI^zd_ zfIrG{PZC-UMV-myWRtVczI%4FKYo7u4qzSoDkA7p5aqapeulIqT&?-Zb}FXO>P@X? z9?@zai@LB}Z98}<=uN@Uzh+vd`;?(Cl|G0ghPVQiV*s2X`(K>A;hMI^pcr<&u3Hrb zR!}j7VFe=`modsP9|9S+WeLws+p_j_@bm3Gf_EJ%^+ zd*K%S6jUr>S-}mC6w(X}7t7ymxgGt&>gtcC3h4t$&vM+9^g*J_lRwKLhE)#D%YnXZ zv>aWYq6~bS;|}gpZay!_Et)F(!228z&VZZ0CGrT56+Gd{NyUp{#Whow-l*!1Zn(nH ziu6RHntzH~mkjEKiIBV3KqcxThE%E)`q-nGIZB=(TBLF^43|tx?6m5K!r9jkYxHKc zWE*$b*FVM_L(J?n&|=uNmonKEUY-7tN~f?nnM&O5)_LhK zVY*)QKj@7{?PTAk|MC2p^{R&#sn4iVVV2Lu=;^>Pdk)>Hm4}N;lVK{%>+Yh)FWW8p zAvR4}o5b08@K1R4gMO?dNsSz#Q3FK5XvRFF`*X5fId^EC&wK^T%$!2WWZM`#MMAFQ zrfk%#sduqOd>%s#!#Ryb3PG8Y>-84yuc>KlTS32h{Es^ zuL1>vY^f}n&9sqhV^OYjdFx6Wx1@cK?5==uN&qxIVib0SxoJkBfJ3acpBJ!0lduTMOfs2)BFzZVzug K+&c;uLHQRy0&8sm literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/life/movement/MovementAngle.class b/bin/classes/net/swordie/ms/life/movement/MovementAngle.class new file mode 100755 index 0000000000000000000000000000000000000000..a3f81fde056257cbb0801f0f40a7321afe44c9c7 GIT binary patch literal 2204 zcma)7YgZdp6x|o{fb>!j3IznpyGf{|RZBryl+a?Sv_(TvRBDH0Ak!w9m`o`6s*g|p z96vzU(zW~n{vJQO+-GL;Sb>F-#eJMRXYaGmoO9=|e}4ZHz#aS&K?_>L2xtTmQiv5y zCsBTBmok=_$d?m2Ymc*iVCKz&lX&Pal1AB72;H^{mb0YL8jWqWqYdq0L^LiyE5!d7 z&T?TtN1$-p&gYFnMnNSbxQNa$x-{NEx59W6PTDRM%(P?Kg~VE6!$`j{9fb=SGi_(g zRMswW$7oVvTv8Zn@~t>lF0o;kEpd;a2Yn*?vO+Mrw&p1q&=|y<3T;LIF@=%!^I#T5 z_pru@c(or?(ZxEdF@|x4mc1;6r9{}I#uTO%B3{7BBZul4Z&IF*YQ!XU5lQ#5t5M7| z8rK9SWaf-w*%Z^PM#6n^&n~6SOviRYgVeH@Wr2FE zu^~{R?rx=IcqP(?Pc%|hkJW~3KfzWQpK5$2x+a^`nzN)^(pjTqq#d)ASmBD;<$C5K zc!JM0zHo!3ebu&|tewk4(CoQ6Vw6P??m>ul5ro*}J~k(e}{Yvm{h zdm8&-B?g6!b0Er^mxCRJ=&AS6P#M)eTVx^7ZH1+w(7A3E%tw{{u36eNcBP5C*X^{C z+cHX)?0sXv$y#NFYt66u>}$on4i?#cR;{%sn?278jO}&E|0DL=;eiZXg}e&*4{f!o zUleWacD)Iv&LOUQ@$NE;#oW=R&8zct63?mwm#HZ!_#f!m9_|giM(;8DU0cu{L+(j$us7r$4aLQJj4Luv9OJ6LkNf+#ej`H* zavbN-!LgH3bfF#Hyf%AqiNA65A&SeGML$1WgSdwwcJnYBW&}I9f;_$Mdy%35n>)sg zBEF^$S@F9>hKua;60ur|_yA?D0z{pI!&Q*j*HPgrM4tn^^fT}){UkFBGw~B#KfyaP zFPz|x%*+0K_XHox{v-eVk-z_#`?|PsCK;IEI7xX^lroJ`TxAGRQpYflxGSX3BdiHo zz#)zpj>0$i)(>mj4{N{=XH#Z|vF(TPWu3O0DnWH^{BU%Us2?{PXa;ID1NaW#`!qlJ zG^S58=F@y7Gga^Ubf!;d)#>_}O5i5x=16yobn{fX&_Fp>qa4F4{OD5tM4uM?{4f6< B3t|8O literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/life/movement/MovementBase.class b/bin/classes/net/swordie/ms/life/movement/MovementBase.class new file mode 100755 index 0000000000000000000000000000000000000000..f46b329ee72834bb48523efc3541b946be108b9f GIT binary patch literal 2968 zcma)-QEwYX5Xb-Pob5Qdv}p?g8d?%ash!XqEl{9oQ|hFl2Db?~F%&4$#XhIk*uKa< z2atFG2_!xY4lP|aZ+xhy7JOu|(tw1e2|eiL=-Vc@m8 zUNdY^Mu$NwXvg0D!Jz1O1BGlYYPI}!T|pIPnNu!K%Ni5nf2S6QQCrMsT%6VBM%1YV z^-3Hai1|4e&x_gV#(pe@7hJrEmlRTs$6T=@rdby+iz(NLqPP^f@Wf|EYr6q<5IDa>R5+z)H-@=oA~=6n zCzWGP4#$(U4^yNtmoJ#NaWc0GlMEgO%;*2#e~4Bcg}7Ycm?~hKx*Ymo!?A#^_d0&R z8HeNrP$k44MrNdh(v9jo=RVQDPy+z+?b6WiLV4@QB*en~N)WwDdG1m zY96JcOfUWk^*aYCyv?sn13A3IuiJOPb-YVW;XS<1@5$glko}dD$Af3B!8fon2wtUk ziZPkR*{8^kww4DEd=b)^(<{vMy$0J0n%s|2-?V~EnIH>RkXv?;DH9}5kU|28BuGG3 ztsv7T$Q3KdZ9B-c338Pn*AhUaLImUkE66z$l@=6HENBEduGc|L+8SVSf3R31d`@y5sEIq}X3G#>_UnhXb z^CTb-tRM>}$gUM+(+;v=f;0%SmjEK~qkwE#K`xsh`&N)o>>!s-kcc1$2_W)73&^L> zRwJ<$r1Fe4@-0EWO90s()W{C1#4&4R(Ja>QtstM_^Fi>aM)<@pnm6(TL4HgCkzbYE l$V2;~md&+(;#xl^tR=riS?dey?Jk>#`o(&vFLir-^&garhxPyf literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/life/movement/MovementFlyingBlock.class b/bin/classes/net/swordie/ms/life/movement/MovementFlyingBlock.class new file mode 100755 index 0000000000000000000000000000000000000000..65461dee0205baaddb0a883174619fdc7964fe86 GIT binary patch literal 2092 zcma)7Yg5}+5Iq-U8!H#{NKEVmDDT=P#X#Eh;e<9Op`kT_*3^`~g)FdwEV;JqmJj_= z{eUx*&h!WLm-JV3x+}?#F$^s;+{fzfIcIn8UH|pZn?C_OK}*FDh9giULI?|_ZNtqr zesSt$)5umES<5`7*=ZS7!*;WK!6L6U41w@t(>C2Lf#FoT6vYUl5vUTkAO+U{7tW4# zVcKVT%hAsTBDzzpYIa#bgA87iy;R@U;8@f|A ziWR3$JJM8);EurbfN#?^t?Yr*Fxg$jZA@|KcLhSJ-CaM9q{Kbk7Z|Ap#{^~zH^JmM z`WcB?_KLQ8=rPPm%ws`7_0{DsT*@4Y%d^Xp#4=|~(o>-uSsM*hBL$6_EV^01Dg>%lz12K2`mn1?@Ql))9vI>HEhnG zuTV+l()DN{2i!74` zN7t;9RyTPc7!|i-HUu^YYjk}p=zGFBdNF4AIW7(QUnh^Q_OJARAu!aU#ZZe@VZTWK z5n=b@<~YKr)4RvZHxT!{sNZO{nsssLP}94b%Ik{jF%9b#s`APej%ytRX0AYY3+%xu zycM`Nh}Szs-J$3->A~-qT(U%`2lpj@?UmNjsLhN}FXul6)XnfcjX%)tZ(2uaE@fUr zWTr0>S#4uNU1E{v(MzlZ`^@iz zJcJ)<+=QetM(ksVQs0hY5_hP-E+9_rYzk|*OFuYCJg4Tmhx_y_rtuSbyztdQ!wKz3 zCv=oaJFn=sgwSJj#y}dwgqO!DtrS9B!x^nYG^bFZRhWECyb7ZJjr=$p8>^W%-f3f< z=SOXP#Pe1#KMm~9+W3_1pVPh<(5xqHj?y}haS9`WMa*G|=$5gL6;J$>Ptp~?fpb_S zL7)mdkg^v@nFu7jr*-9|zFM0J_98MRy!f keAlCxq@;m#k5FeGr(z}Wu#YC$rAeZWhDYPl`5`p_1*OOI)Bpeg literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/life/movement/MovementInfo.class b/bin/classes/net/swordie/ms/life/movement/MovementInfo.class new file mode 100755 index 0000000000000000000000000000000000000000..4eba06269ab5eb5e1a90814cdc885d426c694408 GIT binary patch literal 5137 zcmb_gTXau0HtWOV{d?PkrfHePUVLZ=W+KnM_6vYn7~- z|3CZud+%>w{=N6`?#Gv|0N8|gbZ96GB4D5#6$-NtnupD3+RUV)yAK?+5{^Pevz@V> z7KO5KV^q0$%5T~-Jz0e+pFThk@d*VYJ0@~(GEjp#gp*At_hfl$alA;p3y805 z$IfP4o;m|_g(pa!F22zzXTE_2sHdEymB=P7g%#mqL5XZ8L(?fG+Lqa4CJtFntg%a& z7aCZE#R^8sa(w)RQWI`0hFpyhmISfXz^z!OFmtj+3YE5F@aW_+7xE=o4EnYPXvVxQ!Fe2J2oX(1kl|E;@G92 zdw^Pp9Hu6N+A22fHn0cxC{!P^hW41r4#$+Ys#Qk^_6E^upbPgZ+*$;@K>6-L$4g{7 z&2xct%J*Kd7S|E4#^bASt*RnU0gQ4-7h1s9|7r$h)MWO?=StG`<(aGX}noANU=_%{s3*1P`0(L2Gvp z`!VlBK~l==n2sOfM?w79z)$egNqxP8`Z5Gt(IeM_m2+cZMtg5#_Z7(V1_8fpxd`&7 zbUcTj2l2dtU*MMt^FG0P-q<5%jO6{6l8jD3ue%shZ zw`_GMkXdm%W3>F z#)48iUh~*iSRYpuA1$qe^2-vv9ATChpHGyW2iP%LkrIb?nf<;^B3PlmnBUbGm&t(f z%1$(|hT?+-HjMW;@&ufre#%ug5#}s zvm+~qQTwvX|2uxqB_D7z0+>(93sKA2c>xyV_oRkADR>#L@QLzdxTg-;2_8XR&b_C# zlczPltDB;A1oI{o)=-s*_7pCm!lkaVxgPVlvO2tq*C<-aT$@*Ml4pcF92vpQW4J|O z*UB+8C_IaK+%ze?g=qV#rZKG5aPGe!iqX=hN*W+(t)jCvxs8?R2BmuD}Z{3LEIh;Zk)0iAdqZxlK-nvbw9KOATY z?^4-2^a^i?_Fn!P#hH3LHH-&WXbc$* z_nyOtq~$!CC-Z# zo$_ek@M-%=JMGcF>C?88cE+PU;nUWY;9dL*&el9t{sy$}vbw-1zT43qh;)qN*%AEg zRGB*WpSC8tomEt-;xQI_Uh#$Z4J(7TkyEH4QI7ZJgM!&h-TxWmd2R&5H4xQaYcIyZ)#8Ds`dh| zX)oe!?JC-|zu;Z>ZmyU1p}mAFY+?b-(k|gm-dwgW?LD`+0F^xdmfP}XXjl02^&Z}g zKM=FQd+WWskiWsVVAjW&6+}p>kJRgG&cwg#sJ~7{UeEj^k6*>;>DcmIi1#Y3>f6%SO^RFC3? TS8-OVoGL&e4fkzV_@Dm=^tc6* literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/life/movement/MovementJump.class b/bin/classes/net/swordie/ms/life/movement/MovementJump.class new file mode 100755 index 0000000000000000000000000000000000000000..ac7f94e8ed675c0e4ab2c36d811d748deb83323a GIT binary patch literal 2194 zcma)7VOJAZ5WSBqY_dE;f<||HvPDCcJ zVpJf}6WemFYG&JMS{$z79LBlk4+Q#?>+602=Or%SLxFHTa1*$=aTZLL%bt|Dh)V*I zvg5dUS7#O?&tIk`W*Be4DVLk3%f-z~%wb+Y^GWCST~d-b=h#0fkz(~UR{XA4Cz}@} zKH>xeW>v2@O*Sn`WIWHZ(=g0Z-gW94nLm;E)I)z^x~smb8m{ApiY1B9@VUU{o^rYr z-D{}(wBR!hVI{$Fus+@cOusQCHZ#}Mb5wxovJi^kH;#WNc_Mx&-Q9wwfHp|6}_Pw zuGz?}(vA@5igY79mH3HUHbnMrmd_bm7ntaQ_1@|RJy;FT@l+srLfNincb-p{dMlu; zQnv+$H!RzH*sATAje@>YCCkW$W9ZeQ-mv%_7!|i-H3b%W8+ZD!;76XNH)S0?*xBB| z(|8H=?Y-t@pA?{1W$bS1^?<;D-|YV=@#sEhxx|Qbe7)z+AaEQ-lS!}FtNR6q=GjRt zPivx=DP&ZroAW1foEji7c>?;Vksh4FM}Z5yc*kBeF!D}|=D?c8J&Sk7G%LUOQs2`t zO;@{*20oyG1|AGrOMp;l-%r*``VbOX+qlg~mOy$N zR)N3VZR4J2AR#=%*W}6{9t5Ee$$`(`(D}IfG&IUFOI?{m4D(d=6{KnQU!yfk!+sT4 z@qmctY07iO<36XOiVLXYXJX7X^&>Q+#^}&MGbmy+C?d|83vE0K82!i$`aJ!kqzx!v vnAD8nMpu^jQI9_Uwi?LqH*lz#aK@Tdny literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/life/movement/MovementNew1.class b/bin/classes/net/swordie/ms/life/movement/MovementNew1.class new file mode 100755 index 0000000000000000000000000000000000000000..13fcf8b16c64b3b55cc40581f32f1b6e09ebe579 GIT binary patch literal 1878 zcma)6Sy$Ue6#fQWjFkamwy-6E0I6&zI9uDa&T3K`H-?a!y3NuiLLOp)Eg4yclehk* zKH#3yhyH;6sGQs@$xDrs=0&3`-TN(fX70c5|NaNSUAP(sFc?Kd;tLE3By8oS>&K2; zvQ)ZSPgkrxTAd?RRkoMj3}3QFT?q``v24q`CorfdiZKi$7KJ8p2J&-pw$$-;fvD+J ztAnYpL>%J+mwM!wj%_Q`vm85}v$qZNKzRbOk}{o=%GvZzQgSS1Qeq0z z6kDYO!p$-6jKnPF1hgPO`_3a1RFLI@1&Q-4Tw}8jeG0C*D6xnofipo(q3pN;OM#1) zC04LXolq5{#w`*4=PxC6A8XHXO;sv*PEDiiq(sW+f2+Lpz_Ny`Sc@VpaShao<&WEa z+VEO_HD$BkKz~HfCW?%HQ{oo4Y>3cvr2|I(TH+hrrUnHCeuE-CdBvYjC?6?t#QZWT_VcT-b| z6j;;~`5wOw&#I(b85s>vkdI# zpVHOmXlH0^1tROT*#cvE%T`;B>aKEkjNJ--8P7YWQ7Ia(#c}vC;+3tsK&sbv|BK8Q zFe5N*wJ+03Z(%=OeB%8x_&-M4hc?4TVov7_uYQ82Q$@4EsMRX(b{v{0r#sf~0QgLU zW|>aH|uR1+g7nBeu?3FdjdaDq!=eECnx9>8mQUO<$d zql7qy7!AxgCTPM<64w+Gn8q9WyBMIuz%E6^0~00U<~N$uge0J_7pgg=m{lfH$tDs_ zT;cUb6JPQAZ5ZEa;y%ag6nDhTVTcOn$mTrGVgWNWPZvp|j*GsK=>WJbB!Ram6Rm)S z{g8e$q>nTFMiW1VwA&q;QQyxp(X0^7Y8Q084IRe;Dj{?=gnk}E&xX(iUW-jU4=G-C hD8{Lw)B>VN5=DxfT?Jy%+!h literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/life/movement/MovementNormal.class b/bin/classes/net/swordie/ms/life/movement/MovementNormal.class new file mode 100755 index 0000000000000000000000000000000000000000..0b0259b54db07509e52726e01079eaff7917dd94 GIT binary patch literal 2560 zcma)7YgZFj6x{yd zQP>2fVfcU9nYJrMqo6@I?PAd=Wi)812)eLYN4LTjY}GK>V#u^hCCha3b}2box^9^B zmZM=)#xm`UmCo4}uINr$$2JXpExI))Ur1iJt9en6paKz(7Vw00z2)zosuv>tyxXKEueqY`+(!XD8IFVwAzbg#ky1~s&0a||pkq9KL-A_`}1+ete{#S!U2g_x)Z z?QFJcxuS%^upDf!mF9(!LkfqH)DZC^O)WW000T{l{!xWvLV83Jb>1aM#7`+aEjEHy z!6;WP5uH#t>7LBm71PS39lIQ%__V^PYkkgg#=TTTSR7+I&MKV4c@6toI9Qd2Yc;2y zhlo{@Jb2y(VyXCySRYrofQ!r$t=IX{us0Upm{{@PlEP(7YUuI|H?;?18!LOr&nip_ zvLf06o{ogOScqeL_sV~)N?16UQn17h%h&< zx#<(>iwbw-c#zUtlEDyOR=6u1cTyzx$jg)L7z+2~u<&!CRx!Nl3?ZXn)iowoVhVY=sb~ZJfoWVe?eJWKGwK_pHiI<6eQ1ty8vX6lRP{Ue>-a;N0iyj!|a$)HvnU1ezdc9(Ck=o51tLDHOjCB<>^sh19C=AzJK$aSIwc2Z* zV)shhH8!P*ykxYe{?vGRIegz(FxX8)e68dc0E-E4@cSm9RX7h*`Y7=jTB2_m`tS-m z$K*2-Nc@hT+5TwYF`~=Z>B>6XZ_wR|c0_~jR$oG-%Xp%%d-Kl-_jPai1)F@?K3BoD zIui2K^k~RcJK!IQ%lPCnj`-{2{(9tBI@XT2_?_m919a2*Ep)esU40w>q8P*u_Wzx1 z@V#tAyKxcyxWNZymI2@8u7!PYFvM^V;(ea{9C3V)1Rm1b9WQXajd!>r1$YiS}PrHn5 z_grl-X5tHc$v`C50NRd8XkX!LKeSmtv|c}?tc(n0UPd}t5{KH{^lqg(Fh+;Y(xG#7 z==>_c-UeVVzQMONFEHQvFqRK9;KRHsC?X>AB49T`iM6e7Q7b`FY!KSe6x#Z-Y;MeIvWv+E$A948 z@dI&2XZi#DQI6;AZW3G=btbd-p1XUV=Q%I;}qDiZP=deIy#1s)G#dZ14abSM!vON$59r4m|1l; zOzVa61o}(La!aaEaqDD};)0F=jB?l~1&$f3t3eE>B*t-?f^&Us0+aa&{1;NPtmTZv zB&G!PfFt+XqwEkxj*~JYah5Zpa~79;S$sSvF^_Y^qpIdEXHyjT*pNv1UzgpwrAh_Q z-PP%MLE^m6@JxBjL8^2tBBSA=#80>+FdI>MAPMVDubl;5Ih=(+Vcf{2ij4k?#IKyl z1fk#ci>DryIgi{~_@w#~>-{VjG`*HzodJd6Ibd+Ajo*L&OJ4*6!OZ zRY)MdOf?f2%-fE7*sSfS`lh*4rIX>jYnj!eS-05^5940NZU`(!<2w2(hgUEw&}Vlp z%Usm=C~4fgem8w1mQMR+IhKUm?Z)}9&~&|MI+(k=)z_OYjim zIMPAj%pvGbd40Gzn*!reyzW>W<*V=PU3I-llsa38aw{o`Bm>cJL0C!x`E zh>(*=U>K(`LVPD^qKwjzIEig~I~}m#AN)%e@!>x_A`QHw$xTQCkMSf_^^$B>n_5V> zK)(yT{@lW4UayDt&CtG0c2~?eddcxLg*(9`5@RH98dEUn$wEd0;Es?Kp28$rfgM;O z{ZdGuV7lcN?seh$e+!r+`1u2Hi4I%>C8!Xt9Kx-IaLEvEjn|D93SHRaetJ>_n$@;zQdcp$E@D19v3G9RL6T literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/life/movement/MovementStartFallDown.class b/bin/classes/net/swordie/ms/life/movement/MovementStartFallDown.class new file mode 100755 index 0000000000000000000000000000000000000000..d999c459b62336e9130bfecb930d267c1cb18b8a GIT binary patch literal 2160 zcma)7>sA|86#h;KBpD6?X`uwU1!zrzHb80BrbU}z6ir(+7)7mim<-LdlNn4Vp{TX` zNd6#Q>RLX459M<2naPE~LjRoGoc&$)+2_pP|NQY6fV=orK>!0G1SJMBB#^XpCtW|X zYh^=ESLQ&ux()ayAR;}v-Lw5|za5e=763J2oVMIbuB!(dc*8dky(NSwo zUNy}v`^XXqX?C@$T4e!|RS?B!2xAhjVO(Ib4^Oi#OV=F3w$j_yj;cM=9f9GpuGwY1 zSg~s~BUQx^E(^@`#WoznOz+rrgTobE!X%r&A~2ZP-u9ftB&PAYK&08;CoosI2q(h{ zn3b5rJcS+Dw&R*3D@C>vmsrG-fZ|Ea9y^pkQkdnis}k2ZX$mL$p6iO26B0>A8`4en zu&(pcio~1l&I7xq>E)thA1btbT_WwGKhd3>mqP_>SP$Wb#0G8(EcI#c$=}0<(@vnG zTbw{oT`-YNmKgnQiFfd>fF$%%Hy;a$HSeerBUSn4t3K503;AXU?amWZG9QLlr_{IjR|f(Sl*=4;s~dy|%0Fo3t`sur<{z zsWpS={$kLn76Ko@1bw@Lbxh$lV#v}HU8S8Ho&;F1X+~mji0?@tkLX`Ss8QTR4f7ZvoHXh*VjB(` zzKs{OhwZJcq*{2Zg;nlvwQ!sJ%@*!)|AD{$kw5>0=3UWq2ob;>~P73Z3*wIzrdb#1Tmlc#dOV%APMJ#*`0Q_>}un3wyqVZ@QG@_&dpHBDbj4s`zo8~mptrFcD(XEri8$Fcq4rLrK N@Uu(#k|YN3%fHS(3rGL} literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/life/movement/MovementStatChange.class b/bin/classes/net/swordie/ms/life/movement/MovementStatChange.class new file mode 100755 index 0000000000000000000000000000000000000000..c7fee672ce3fb1b891b31382908876a72c535965 GIT binary patch literal 1222 zcma)*OK;Oa5Xb-9m^d+}X#!24q|i5cKuvib0vr+vsZt6^t#abBb(Y4EtSe_z)Q`oX zLE^v%;6ov19XCdKP<-%u#yh|N?Ci|1-#>l=c#W497LYJu*tmuyLs<&t^uPK++Y?T& z?{vLSwEAbFC!}%?qK`W73x?z?PkQPNL!wk}rIA9~gk|G8YzF7QIERX>Mu*E2qM5GW z>v7p;V084RM#2Zvazhw zG5Vxrk)vSawnkbfLN!K$7FKZAMA617?lEl67kfWYV>KaTHKSB7w={jt#=54PMAv6y zD3zM?d6&u8D4cR^Q2Gp+rYFU_LGM@uNBp=;o?O#+dAG#_Pur2xP#v$&us4aHePMB- zYYZuGT(qsp@EN70h~((BR~%r-MXG`LAS#L z?kW*D)Hp$?lyEx%!_Jh(%m9YfDRfw~CUts7 zy!)A-aq5K>O_zQQFq*FodT)~TQO_K$xypC2O7Q|_r8>lo3*7uh-UV#we-r~60|ObP zu|$KA#Ws1?Mv>UT1G4nK63WEYUo?3X%}_x#QaT`8XOOK{hR6?bN3Zv3jfECN;4-C} zCz(Phk{<<)MY4E^M}%b9g%hEl6IP>Hj7rikp!gSpt|iKo;W73i#FMKK>vIrK@hn7) Hv|s!I&q*5n literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/life/movement/MovementTeleport.class b/bin/classes/net/swordie/ms/life/movement/MovementTeleport.class new file mode 100755 index 0000000000000000000000000000000000000000..c4faccbce770a4afce4eda226d01431d470983ca GIT binary patch literal 1970 zcma)6+g95~6x{<31~G($6apy_AcV-Kppf26k~SuFLu(RR6H0m)@(?SLHLfhDD-ZpH z{!AZm*UCdbpdZ!Mb9Ax21R>RfMrSl+m>oPYj(^*4Y!2n`HiFpr$XISdIDd=*-) z-*ixOmDOljo_j>2exVx553QZ#qhz;~z|d{icf-2^gJxlW1j87~!;lz-6j=LTID5)d zO&x>+c}F)IwqFwvB?IR%p2r1=iH z0t;rLl1Xfbu4knyHd*jn5|fw`7;bj+=FiSzZPOAnxFRqbb5`ro4#9bdB9;V7&9y(Y09p+8mOR_vmIo7l+Xmc+YwPvBa{h&~4&wZqgxL-}lBtS)Dk3j2)y zfy9Sgg;7FJy<_-~B|gC>86Rh*zXTS|vmK0K??~Kb56=;7xz2!}N!&w;h+@FR)tp(4 z6YfiV&bu6=1U`nbQ>^d{i3d?R=+FIjU~~O>{!59k(u{JSV>@`5$0LbdmcN{}#&h|g zJ9Rs-olphV7JZSZR{!pI@Qp+@5=--Ct;4$ZY6f=jSYn?YAEWtxl?TlEL|{5Y7hSIk z-7y0P_+H`%{79ZKC>@@hxy^e&z+(aPgsXi;Os~Nv)r``%sEPvP71vh}+l@mN?AeDN z%}i9ZV|)8{;BuTy=EAz$60ovGJN@FP7nYnGcDt8vIh%Z%Ha^PH0eiz{x+ijzH#4Gp z2lVzf;VLH&%-sywicj#<*04qd!gD6d+EcDULbZKVLfS=Il*U)^M(0rHB{FJ3xBbs%hv54m8YiOGIHKGYf I)&N@n0f{!+z5oCK literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/life/npc/Npc.class b/bin/classes/net/swordie/ms/life/npc/Npc.class new file mode 100755 index 0000000000000000000000000000000000000000..b1ba3c9906a244cf3a5ec9b67e5b50468e329af4 GIT binary patch literal 8416 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 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/life/npc/NpcMessageType.class b/bin/classes/net/swordie/ms/life/npc/NpcMessageType.class new file mode 100755 index 0000000000000000000000000000000000000000..c508c8dc1020564154b47f774762ff5da54f58c3 GIT binary patch literal 7009 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 VGBtbvpCNnlXuUe6POA~r|39QsovHu; literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/life/npc/NpcScriptInfo$Param.class b/bin/classes/net/swordie/ms/life/npc/NpcScriptInfo$Param.class new file mode 100755 index 0000000000000000000000000000000000000000..537b5409b7dc3755eda2c6246c73f9641c619030 GIT binary patch literal 2542 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 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/life/pet/Pet.class b/bin/classes/net/swordie/ms/life/pet/Pet.class new file mode 100755 index 0000000000000000000000000000000000000000..eba93535b67d3a1180554b4a36a8ee6a0a1ef59e GIT binary patch literal 3980 zcmb7{X?GJ<7{~w9C4u&~ECM10WfRj>87+z^1)*gN7O12kR1k(_+K!|%Wio9kDk$#z zzVG{fj-F%V^1=_`hw}J;?xaaNnI4aCa%bk==efUUy*GdV^XFdxcHoB=G@vnwCWU4s z46JnRz${LAe%`Uov7%XUhHbN-KL!##j_U+F4K$@PoyQkq0Tw3FqRJM9EBwd#3?0?9bw9JC#j+oiNcifTfvQtW- z6KMk~R1nS>Se~k1-g#Vf->h&8Hix=1fjws6HtLQ-7986R%-pEuTe-mYO@}Ls;#3jg z#<$|OB)S#0;C2JI{4Z$(%`~g*t%G92R)ssU%|J_NL%-*aNVE@zz;`QbM~{J4N)32L zM_gxMZ9Viv;1tZ+71}vF74E?<1MQ*W**OF2Qc;WN3Wq!QD)eDb80ACWq`g~*O-H#` zxc4dS$AJoW@3iDpQ>r(VKB#c7M4CCNZsW2@e}cNAs~-a^t$* z%wt8{C$?2Eu!I&!U?*9^eWR={#&BOtnJ7$%N_$;F>vXK_?0Kh9=<~e7pd;&!mDakf| zsFqx~iF8#1-SrWVrij!>wGWHemsR4C9k-_3*#o8XzjaBvF@2aco?Dm>lW$Xt!K-|ewXc!H&`-kLz~|So zro7|L9A&Pd@kjZEXiw-b*K2K|WJ6h-!83GL(kx3hr+>w=sPOt4;pU3)8(Os(x|3Up zLlfza87!+BCJqKR(XgAeh85weiZKc8enEaS7UbF}NIDket$2`Yqad3JV$K61aTk!c z@i>3Qs6Xg=!9UrRE@4#(*UPw}gqvjSD#0w_4tcz*gdH;OE@7{XnG*VCJR%~E<(H!+ z9G8zLOE@j#S&mh_Zk=4+Ov^0{{_PC?9oT@a=;GyM3%2nRau;^tZXDp#0D5qO*H}r8 z(4QwO{yd3y@UAw4cet_{wSmq3OrhGW*cI!~_mD0NR|DHMgIpCj4D25Ib8ihuq5_hT zgIt5WPjfAcy7wkph;$@|siD zRqK&tG{XjBK|YMnuw)cukRZqA0g(6rYtr<|Mu!)iq9C7v|9=2Z89~Kb^9!+I;h)6&S=C^*O#M3-_T(ccIp(|nC@$_jg^P|C2KUFd4MG1U2VROe;1;Ytl!ds(M} WZ)59dNiio literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/life/pet/PetSkill.class b/bin/classes/net/swordie/ms/life/pet/PetSkill.class new file mode 100755 index 0000000000000000000000000000000000000000..f6dabb0cc27ac6321c5ed78b42f96ed673a2abf2 GIT binary patch literal 1979 zcma)7U2_^`6n>V^g}ji3w6ST@=A(%PVuP_sZ6%4JWJxdtFblL;6$#m-n-by>QXQ|n z^)L7r^g_34JGMH#cE-Qpoqxmeyl1JQ)6PULcsS2{&U4P5^Pc68e}4TPz%m~A;ZiWs zHoM8=FOE99mYF;}PPVK)Gx<4jC9`Whuv)DE6nF%@@F^I`mG!N9DVN!-loU+m&x%dS zU{xR>gQNQ0Qo69Fuhr9)aGSPxORF% z?)6M%o7<5TcpLNd6w}pozM>lnuG~Aj&p}+rf*Z&t;X?js*fc z>dznrc;+ht?_*Vgo3s=tIhpgeKn82npe3tqbypM&_sjRxa`CDPZ;)EFF5Ne1gs<~r zw}1+vVo*g?#d#GMRE(;)tYT8dw2G@L5-P4qsXGF9QIkF8M>|$96N~?ku2QWp0z8?c zU25oH-fEkLlfxaeQ*P|Eh`I5a^5SO?jMgE4)NHh>jgBRSdTO3_%>Sq#7G-M8Kd%MQR0hoPssLB-j7hDdhU@mMJPW(8*{(lo#(jz16c|_rf(mg zN&gf+>G?0f#cVLDB%a{i=TM}->m~nBi4l$$>iCQ-1r6-<6q1B8r#JBvmcOST{lTL+ z4fdkR58#sbn!IGW8*sxzC=#<{kC9GX`WeeV{-+V9Q^?m6#xZ~i)*7ZrS&pM6f5~>Z zvCC1W7L-@LSK3#s4eV&)-=NgoHrz(dW5aLMyf%%u=CctpYJMAZCnHXWBq^S`F zOpGz{p%#d^9Acb_Z7mq_IK&hahBgpU9b$%wvL+&$L&TVz3Sfrf7p!FP1GpJ51p;vD{>p}TrRy$_3Y HTsZg_8y|Y; literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/loaders/DatSerializable.class b/bin/classes/net/swordie/ms/loaders/DatSerializable.class new file mode 100755 index 0000000000000000000000000000000000000000..2dce9316eef03b336551775d81859f6e349ae81c GIT binary patch literal 325 zcma)2%T5A85Uj?9RYXFfSFZ#w&Ib@rC?P44 zCr|yVuIlQ~ufqp`C-hUa2*XmMskS~Wt(bLXoad#4$~<$-C0KTL&kH9h62f4`?`#~G zZzfx;q=SgUK<^)Q>_w>m)hy#`n02Y IufgKx8*?^S45R0S#_g(5I2GCXaPRdI1`WIG@}06qta z@=z{<58$H^vvFw+k}Y|5XZP&cnKL`Tet-K3U=?>Y;<3_Otj(i1G=p4s%jG)Fa=gZiN-Ueac zmDX-#d4cH5FtYB6ShPJ6MKWTj_S2rxIpS8dO+|TJhpG4!v>i$j2Vul9#!x$ocF4yu z!7!b1>w{SCs+&1ZGR$Ov>{qVmC8$%`s0~+o{RDM}VJd^`e%wZ3mu5^>hQj z*?7*el%3tYi|2 z&kla89fVS$7%H~A?TdI2N{0EA5=!ep|wE5oOv>(PqY z33|fY5}~X7gT+Gp(xvJxbTYD6Q5-yT;x4y(-a#X2b}$Hga>G^BMhdp9N=eV8N=*s+ zE2@vcaAWA*B%k^q<>zQlZAMZ|)KDPW zFDiJ+ykI-rykt9N)3P0-WL_c56^T(+%SOe#MpjFcspuJ0^b^ClsuaJDF_L2i<9LsG L+FhmH9M=8-nBFW)cP%qoN?9V9*3BQR+Qtxd;*)#2Um#dmEAgMkX`q%mhpC7kj_A z_TGm+bge$L4{dCf+SM+fyZT@H54yU~$*`C#SuPhmu(S8<^X<#|&OYbw|8D;U-~_%E z(IDWUsktfVs$~~-Emd+-hNTuY+ew|WHOJA-x$~A)iu;wRrLq=*fS`;J!X(F4*AZ|y zyB?r4Ly}}fIMS3=c9@}2hRh7&u;sc|iQAfGv@n}Axv1HyVQ}LH88K!I<>oDoTQ&oie)E z7kPB4{=+UAaSnW*`ouwY%h-bi0mr9@vKK~k0*+i>Utgl=#aTMh6`=5HE3R&&hHP71BJ8l^+L}s*_a!d-%JaJAmB&}q z98;7&`KM!aEKbW9M}}DKYK|+QE0OX0&sNNWt6OI3oUIl0g6eANMm&tHhzS{IF)3in zYC3h`l+~+34ZI)&03M)9|WSOO?8nka0 zFfHPuj7O0d5L-=c#f7r6>`}uZX6^RxXML;cxhCMUjK}aek#bIRGqlBlL^2~G#P<0q zMiZ6V;76nOGG1kf9uguFWC<-2ViGn>*eYS0giZ-v65;XVwUkT;Fk{?qsckYD}xP&cMA0K~pVJpqP(EUNMXz^E#0&lGEo* z)veg%7bLb!)A*vkuqipb#JY2gQD|MWk&e5emS&1-+y@xnFW`70vp&S+CEBf7l~QfW zxoTlyLM?lhN&^MMJK40IRK&QiW;O)|))(<4&4Fmns@Mf>OlO<6!GD+ZF-p=*KTC&g z+;UtIuM609AI+k3KWtep9S^lUp}F%`(P;_ettj5cJ0jkd@gCk6(9Ido>8qQI)`FJG z@_y0^byh97G~j8sN`CDhKc~D!wE*L)Su`{!p0%unN_maB>1$ZsLPiC@`~82cg}nD# z|FrgyN9cOY=`@=Zd?;YEzoM0ceTlmDF*|Ob$aogdDY(w((tULPuD3v%kxI^(re^aS zMWaKZ_&1r=FXBr9J$G%#TAdZ~wSdlhyVBgMZNuOJsv$*lyJ@hEJx2hN^qAn1-Vj{U zyMar3DsV{;1TN`Sz$Lu}xTO1^%PvpSkc9{W6JG%)g<|-zJM(^MV7Hf2XNRUM%7` z0thmX-n|{SaIkm#Z#eo3_hB)c=_|00V)vnuI>WG9X(dCf@Os!UR#5} zvbB*QV+V;y6+1`}3%YY`L+c43;YGaUh5VQDV1GaUK>=e=1Om74*JdS&Ya6*Xr-YT7Z!6d56;Y{qw{cxpB&Fux!SyRjM2YbA zJGj1}M3pGlyO&|yKo4VAt)PD54zPpTx)UArD()rzAH^=(<~XL%gCcelU-#e|os{cH z;(K~ihdiFWj8|xF175{zTwcQ)BpI3Bq>cOlAK_DcMwS>S(KUQdC;1C}g>TUIKj3~I A-v9sr literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/loaders/DressingRoom.class b/bin/classes/net/swordie/ms/loaders/DressingRoom.class new file mode 100755 index 0000000000000000000000000000000000000000..d108ca1e483c310da5cf085a0922945c5b8cc30b GIT binary patch literal 5491 zcmb7|dwdkt6~})!*=3St5|UtmfMTqm39oGtX(hb!AQ;#HCLz2mIN6;f6E-{R%p?#+ zp}|&KTg2LmfUQ>B;-f8^v=Bw8eQIrM-w*q?|MdU<)%NqL?KyX6cW1_-pTg%u_TGEW zJ@8+ybm`Dl#?$U-Z-&WH#E9SxXvKpg}6z<%_6RVuASbtJjz%UdT}y3X*R@;bFxwSa<3i+(HYNgQl4*m^CY~JBEG_BiR@@+ac3hev zgvD5*V5y2_hzl&fin-)Y!*12=L3!A_+0qA8EXOUh?E&3k>W-9@b;NKhRx0?QiVxv7 zft!M>mN;gYO zr&)8Kin~~|j6BU_QngP-l2z%D$>}=l=_>kJFKW|(R2o!au##ff8`CtKwf3t>v(~f$ z9+7Gp6{c&eRm)1PyH!}yR+0v!lA~gTm1q+?bS-OU*w_IT2U$%yAcv&lJu2>H#Tka( zt|j&6WRi}-w8mKfJ{9+~enr1m!ah2p;v+n((y%v-`6nG!@c>U!b&r7Od`!iIE_WB5 zGcWLQ6`zpYoN^@2Csllkl_-L?=??2Wtl|XgM6$YL^T4N7Jc`fIQK!uTfx3ig4aBvq zmK@aMG_qnSo-hXnbgQWhj|p6t;Cr8{&qr51hgZFksb82HwwJ~5I8G@zt>O%x$VZb* z-U%~9#+6Zy?5+I*GaEK}FA0n3hI}4RDtJo87x1*e>??o}x{>KOuMm}#;l7A3DfqIA zvv^iuUYM0mEu+zv=p-l?&<>p37D>CI@rwIb@H}xBFG#axX=8keVt5Xv6t>;QKt^*$ zEXsT90{3k7Rpq_4O|-{WGew4GB#ex{Wn{Qdw|cZbPN_8sGpVI}HOt_>I~Z{Wxvnh? zE)$jv*f@_f)0Vw8}ZkW`-={i2}+>(J%d;8O~uYHG1IL`g&fz^*h@Lv@6@qu-mxt~ z^{ZW*t@8#cJJJT3BiD-2SS}sXaEyivo#`ZT^B;+(lc?A$BN-<=5|oj^ZE{7E8IFd_ zX*l0zZBA*fw%g>Db2*I0dF4Wr<)n^{FKJ z`c!;;eJV4)KGhRnpX!CLPo==ur*!Y@Q)>70=Te)V(e(Fgw1ZpdQ_yF0(FKT?;A3br(^wt7b;z5=wTJPN2Gb3bQZZ zy3Qr%QNLyB<&}}rmC@R0ZRBaOeQ9lU`KoDk)26Usl~Sji$D&hW6@R{e3MIt;gDKDd=1Ut@(nXX`~6m%5?_?Ii#E(JS_f_GfO9x2#c6ujXIG$}|G1?ODB zfD{ZB1&_IcVJXNK1^2lETM9;t0?mT#~lnj$7e}y9oTg_RhtnbsEU^w>C(8;}h<2RE z1q!K%IEg8|Od9h@{}mc5!A0sVM&*BSGold%6$)MzwD7;tB0G!c6#o4awf~^dF2`kj zlO}R_Un}Dlh)@La!a}-%gCF!*%w6HvXvVkjZFj~7lCdM@PJnCryJY%%VK7}mnEf7@?}x&41z}8r$@*Y85&2WVj`(0W1^Z#{3c&m@3?>zX zIqHG=Q7B9*2=gGp9P`0&{`bT52Vj021~U|ddB_9vRw&F+5awZmIpKrh;^T)&2Vi~@ z29piKJnDh@X(&uK2y>EP9{0g;<@3W>0hphK!HfoB&Uj#c9ttxWgn5!+p7OzP+4aL5 z48Z&%4CYV}<{1ynFGFDt1!2w-%(FfiuK9kL`vWk)3WFIB!o1*t`E>ziqnq@U35-u- zJcx6SQuB)*9EHEK`fzx}pZ0zehI1^4GwH$kZP<+C!5J4kGu|$2z?-#?1@T`cZ(j1? zNBIk}51&W8_+|KA{(*znbaJcVZ_@yJCyx9b94pyE(ybro7W3$49{R;th%DzvhN z)@Y%1sL&cOw2l>8$9Yq^>a~&{qd+AAR-=l3j+~2`Sb%Hj_pn;}wQ3exFq_Kt9Q2}& n%I#b#>hs`GB`n47XegCqt=;#1x3$);w$@fnzw_RkBM9q6)Jda@tBXq%&qR+tX_|+d0$dj-nX4$e%>kWsUw-H5J>V z&@e@2rz*@Inf38|i()#aV}?RWr;*=e?zbD$S<_K!r-+!TV-{vBM6$zEGnQ4jn>prC zmvpwHCW1K%fkYyTGR)I3U&jKJkFwicNJ%LxYa8ioUSY1Mmm{dQ)5tZOm-U+2lvz`; zGlCNoRJq7otYZmIR0!pJGHH5lsh`c;zv9A)bXrC?cVw(KBO`K7(y<(sREoP8nS8P% zYvs&ZBTsWnClW~=RwzJNPu6h?R#KYFI)=dwDV2_56;9KzTF2>FQwXSIT{3H%9cGT^ z_ZYc6!$>Lot-u9M1G%@Yfqbr?tH?5$2MYwqSEDY!FDCt)MMS@<(7&hk6YSI?lnl3Jb;xv5a;zmv=&eO3Gja0eAw1u0&pH_g8V^NdQQ&WOX*sS4v9b2$f zVbVxCaF)Dg*3KPhHtD(1yd;sg1=}=i*RcZ^jN)||B5B*q8Meg$%pA3E(xX$rPF$$r zA{`e?HpE6YFD#+$UW&-tT{F?5IOWG^TNB>n+%C@~a_F^B++ber+-Yq^#`g7a^Z;b%xfR2Nr zV=)z>XS$PhLVc@_%L`N{GE-QnSL%41P)oSBDV^QYYh-PqU#;WNFx}Yi(aZ359q+)k zbjfZj*KN?NXH1Zm{zNY%-uT>);(FYm;YJC9RCjJ6C7K8*M4_y9gg_%TVEdwY6vWj9wRQN2j*sFts!i9{O2nO{ zlq^5{K$1Jgh9l_q6Q+o;9o2D1fvr#$grOm4b=RG(;o}NR#^f~1b>3#+@`)y^t+wz` zgzH<*lBDa?aVI{-n9<}78CIpZ7c*zyS}T)bx1&L*6|s9mXKu|Q&{7Vujh1M zEDK>6Pm1DmxJSdiI_|^$3YFt^&br$s+S?LRxY}6en~bdC)Zi$c*38gQEz!5aNu16! zD{0oS&4f3_BK-M64R?$=*T{FWnndvcib^nmn=}kE0s^gZ%rbvm#~1Jr`%RnKk=xyw%XF|4@f+Xv$3WAw0T`Jto;xhP@+gclrd4vT_)Lj%rRB z^hi-WkN=9-|2L)v7g(Gl$}2ivm2>Xw3=br=R(DT^pp)FlOXX_WFW#r&ieYsMwQ1zo z0aTH$f-2-TE4LT2R`|VNn=$hF8n*yU)HyY!jVl54b5w;XnZ1)St zi63*6qu?-4MQq?aXD1~eI;C&(h|%q}Y8iUnnL|OG^cRIi<3x`?_Blx^7m4Zqe(lAS zH-+{zSBOYP-RGC#6B4zPawN)WdG|6zS-zFt4Tdm=cw9GcfOf13U>2;DyQHHuv@X6s4{XLOtHw?RK~l*N1LtQT*{OiI!mYoQw|*~ zL~ELTwq@CQ`m?9Wv^%Z#{FJa-A5~|nvoyu~*o%tyvBe{WF`eCO?cpiJxmdfUwSngb zOZxgP{^I2=bcLR4WZN@lesQB^?dk2QaXsxXv_8rx#ukEqg5`eGC+Jb0h*~3)X=W9v zi73K$vPv*##rpgTTW&>qQr==XMb@OlLeAw!Q@m&{8E5ZAW@zd>wyf7*%F5;1jD>8F z0rsW<=E%K>qo{OCC{-*}73DLPK$w&gQWAXP{T`u{jzQh)EYbPNX@1UBllZB-3)Eya zg-^xOgk0vLja(N6)S=_hT92c+l|o96vC3)sf>^-&z_f4VP-Akz+Wky0|P} zJb>E1p)CVQ4x&k65X}mkss_=ja0EAUaEZdBXcL_W(Jtdv{peUHPkZF4#o?$9#X}xX zi;Ntm_0{3~kd5Uc4eRCfNT13UEk21 zeM32V^4)!y-sFB4Z>pqs-dFiZA0mw;9k~}pe9M(mT{x`vC`;vd6N5UaF6SL8s3fE} z-~@h_VJhY!hWUu|?bLjfV<|Cn5*A@4Dp8LroQD;>{wL6hlVS0V&wkEag;Q}2Z^_r< zG~B}XI!Cbvckvy~an#^3zN2}Z7usiVCSJfz?aG$U$RWk{``S_Tc#eIsX z)lFEUX4AU4+%3-8Fm*Vn=I}X)nA)Ps$Qz(ny3{;1pOC$RYZs_;fwMZK7ApEfEuv2Z z;4bH4u2@1!4%1#iOoOIg#w-nGFJpnGPMkM{4Jg*|yiAZvlHw0AgqiZ9)1foTUdAL1 zJ72*{4Q(8}B)@?M4Tpzll(&vgpp3(zm!Np(yg7(swG_88LnSMZ(mu)JRdWXL;l|}p zqLPE#8|MUW!;CqxPuzjY%L60~;*$aFAaFTrFCWBRMcA?Y9`d;npU>^U_eddZrRSP4 znTP2(wqY^f53MA;CAnw1`#8R06=2+-Q_JY9f?r%p1u5c}Vli&9hL%ZQIXQ{>&&#x{ zw#riN5SLvyfV-P2pTw-=c%bzd`ZrZRf#S+R98;*ehu;q}!75`958}}PB&}kPivfdp zg8IjUkK*Y;d_$p;srMb8RR{4yem;T4u7p0!6?rrG^dp5nlvD?+;z1@u)gyG2rbv-( zmmkBA@1Z_H0)7{rT}CI!cRRZH7U?jLu96hhbP8|@SM4IqF6G)T7S2n#x{WDeG97jk z;vHyUIyCad)K<>#;`)6|eR1DpVB_!!&o+aq1dGUgf452I$!TLcItAf>@cvFuGJ1D%udm1$Y=g70}M%T3-zK9>jxA z4fP--G0lU88pO|vq)G`c0*=vcakm@;+~PjXRm>-lZ$cS!!QvsBAXu#S1P{7ktA@eiM)_3CU*&P-!c!yJM6E=acEj@qFuj`0IoC7jO(O4dCUGmM8zM z0Ipzdywc~H>1qvY43W<~FZ9eMo&szfY#BoeBE;3g6>>GPbcp}WIAfS4;Rpw&$La=D z;C^I}t8nWv6}cbJj%A)j<~aRTO`!o*qt@~}LhmW_!2 E9||XjssI20 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/loaders/EffectData.class b/bin/classes/net/swordie/ms/loaders/EffectData.class new file mode 100755 index 0000000000000000000000000000000000000000..43b82b3cf8ff2e30d21da65e3aa53a44ba1edbb1 GIT binary patch literal 5189 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 a4MGfjE;{kPxBS{hT;rZ`2PUacQDof literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/loaders/ItemData.class b/bin/classes/net/swordie/ms/loaders/ItemData.class new file mode 100755 index 0000000000000000000000000000000000000000..141a5481840249e1a5713c6c24e88ca62510b8d5 GIT binary patch literal 77385 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 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/loaders/NpcData.class b/bin/classes/net/swordie/ms/loaders/NpcData.class new file mode 100755 index 0000000000000000000000000000000000000000..39770c299809ee8f35aa2cc77cd45dbb73a9e2b1 GIT binary patch literal 10501 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 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/loaders/ReactorData.class b/bin/classes/net/swordie/ms/loaders/ReactorData.class new file mode 100755 index 0000000000000000000000000000000000000000..a66b0f2c2afe85a435b38e523cea0b6a22eced66 GIT binary patch literal 10242 zcmb_i33!y%)qc;+Br}=ZEKCS6h>8lzA_P$p6GedtMgu5eF}UE6`3M7(nK(0Hvo3Y1 zTDKOvNZrwz)_om7w1V+FET(Ywhn+^1tVP-z1ZOK0g2R^EkQpo^$WH z=bruE&*yeO_5^@qeWQZ#2@Xs-xw`DSbS9o~>N>J@$#g94WU_S&omg8gooS5aVqpYO z5=5y%5FtVJ>e$*?T{4zxuUoKUwbPaplpd2vC2}(a{&C}%lp&1rAdEo;Dh2xu+MvbB ztaUQ8)2VDOmda(hc-BNExAl0)!q;xr_}~S5D^UTh^=wBt}T{Zn#ipx zqHyrIJy(w36BNWyfw6le(sgqZNhgdN4AWx`7u4>J$P%3qH5iF~1ZBxYHmA$T^pJ7m zPj`3lNHyrpeGT@*{(@k;lbavwa0Elg?S+vL4iJPUCpy|EukT2PaFBp98;gU3IK*Ha z#t#s(D+&_LIGxE@8;Ld+vpRcKEYsqg)8(YvoQ9%94}kB5i7+PO&>$umOhz3K)Gzy{ zRL*I4GGwtcmdQFCeu{LOf;dcY_#g!rET}D=%Eb~XC)1XUWwTD7Nj0Tbro)(m68&?8 z!I79ID9Jjxrnn$5u4z1lJ{?B~QE$+IV+11yZP1lVB8v%ZFTWFA6oiF8UQoNjQ2I$aqj z%(T!D&Z71cv<(&S*#BAZLkJOZkV#*fnMsVDg+utAVrz0Z+04-1N8~gV(f`iL?qUvsGLC; z*7AJx!dQ~QVL&MHsEuD1!g_%(Nm*V9_{(H2-sbkN z5>%-o*2Z$qtPP9OU2UsExQ0fVaXLt(DK#hIB;zd(>3)U#q|!O=5nGWY7n|JioLDZ= z-o^3P$kmEi+nPm;i6MN0EU(Pa>D}S=WNKwP)8@pN^d0qE6hLN$8o-SPH>m*xc|;8e zA>1O6^&#BGW*JWbm+Bwes9dg(>V&gM7i#n^koR>@nD;K*Na( z3rbYPc7yLJLMc zGI$$*CO-_C1Nf;O5TH(En3xyqWV(3=e+}YYgZJ>aLYlQ9%$q^iv;moMW5fUov(w2W zt(Xy$LGB+oJBVGZC;H=CKR$$iQDI}Vbz|d`<1unM1^+hqK*LoDxonDSuKyo{5AhML z*Y37prAE{N8OlrhyxgTC}mpYN5RVnc#xKem{F)poCh zjg+gOgw|!4PJnWPc;06<#rbn65a`$U%w;5o5Ed0>>ITxKL`k z6;-c{GcsN++CAptMRPb2`|9jNjZD(nx@l2JlR6_)6kbL+d33Y0Of_=2CR3Bh7W-na z9BE{lda1E;oRv-|otWlxnQr80T@gxT-Jqes1|!GVoSew+B^t;KBgZLvNFu9S7v&>e zJk!W5#a37zD5yfHkVYdX2&*8~n;Ygw(QgKY0_$Olr8#er6OA;f1g)x_l~jMPoNT1o z#!h>dmR0Et!CPd$kp()nl++icI~8=Qk%a~MFHE$rvhx-hS*$>n+^lpim+nxaOO2eS zcchZGWIF2vWf_BEe}%MYRVKYoQ)yUQ6E}ML<3b)AlMlMiTsrsa=t1lY4$a*?KeY(2D z$fXL@YSYsdcU#KPESIy0mn-@&51$syyef_fK&~`$m0V3xYr0wJUXy2SXlm4q#DF@; z5IgtaJ+3@UUDXU)7Rln)a?U@-+%|>pKTWMTHCz_KgT>2Jv9 zoDN3Bwyq4Xqc+dXOCSAyfRzuiPB;ER~w?$y(2Fg`H3PKE1g(Ih5C|_m*r<}Om#IPIJ7t%&eoR% z8sMi$T+Ie76++Dm<}P16|Kt{y9*n>hg{Pt=dhzx1Nr@FnSxcfl70Y#HXyIq>X@SQS z8B(Dz`ajwIj0XCtdta<#mEp|q>R91q7HJls5}VU)vE-6iCZS^w7|5+sg^&5P?K~xF zB}Ll4^?ZVnCU!QkQ<_x{WNgY3XtOTcWclhN?l& zY*eSsZmg}Xyn^yCo}UXw4(7hU1W=l3(i+*f<=`@ug49G=+c%*oy%MJn2yUrC=13^o zH%|!_XG2QfmL)b6>zUomP;^;v0i*YpDvAO=H{EyefszC9%Lm*RyxYY8tKF7lH4;)Z ze4PrY67|kdT=f@jj!TG-W!fp3n!TWDZpXCog~PrOhg;HJd=$_qz_?Ik%ab*z5X7P& zm(68jo%5XBs&qVCRqCq>`>K6Ig1!h}f_*h~jsEzPNUcq;aq3(~=;wSKo?~UtGUEE; z(BVyViJlls#c5q*n$zhuU7ZcCHj6JUMUVjt7j5Vq@W|>3p!m>*IKL-}*|B7@h4+t! zkgt{jSqjO0^16*2Hl>(tY=CpJLEi|$*ga0UH|B%Bk$hwS?5T_k?n!X~BVT~=&ySJv zbNK~B^s5~CWGBbWknD#wMHBu@3;z}0@M-=C5%Oz7>Nw(KHA*IIh5tc28UBs2mDob?dO9zzvy@^;j;l2UE+#5_jKJ9Pe}C#D7b(@JVf zY6DvWM^CCPnOa{OEzM(8WOU@fJjV23!nELaOljSUsr8{~s5Y3#;nC6_9Mywk{o63p zhaH$(UluKkH1*)*`fxP-3?k7`G#pvbgHyRYkHtiurpWSW`7@{@vfLu`SVqj5iZM|` zdfTvEP+t+P*oHR2X8+CFW0=$(Dx;N=4pOYIVn<2WS4XSrhxn#NqC@gX-_4UlKH#6B z7p}N@8~Zb^{Kic$u$^@OlS7VSJL-XB>fU90_G1q(yMXP2_jbHIlI?Z79(j5f+lzpT z%ej6#P&tL;KjX0YeH`D7srP@x_OCd6t{Gi${*-pTv7VuzonJ&4DfXgi4*6OeVHWP4#1zcNQu7Jx4xY7d7uQm!; zN5It<&{18XfRzMXYXN6eS1MpJ0bjL%ldG!~&`7{_7EoVZt$@P`___s*uO6a+0}1%1 z1&pYUC}0Qyn=K$%T{A6G8@Y=Thpg4V{8z)@a{dzh(FX7oe=qWuz#!99~w20&1%85(b~QV!`LrO z7#4b>q}%DDsRR<;Quv(2ZF|!rXY$9I3p?uezb^x_isYIe={2VH!>dGjv4+talHQl%=ABu+5X4T=-+`k{^u~) z|00_FJ8_c#*J$>?iFy9FvB19zr}*E;LjP{G1O$r%6<89e#%Y03XbtR-(*qN6Mqo0| z3e;nH;8?^0O;{0VMtfiZIsyxk3M|E_z?tZ@Q8*SB} z25QOmLGmVH!^rz^`4fA?@q+(iq)^G&{0sj^oWfo;p7LKMZ*fH>W(1=0Hs=K~H&88q zmcKBv$NV42JH(b@wf{Z&D|=yF=6^}vWv?8!`SbD~dj^vN6Xb95cV>#Rz+(9asR5Bd zv+N>_SE#^T`KSDgiHJTy-#&OU|Ceud5fh0d6~9AXJhD0C(kI+F{X!}4;3opV&7Q(x#DTj(5L=*)fw!9X_x zG@2vGCx?e=Q(qDdL`(8AH!ml-y?K4TQ~G)>wwISB-H7T6+cPX5N?1V1>CuuWyAf7V zJk zh~E zAzPpLsn~(0cs+%=nKQq|ban$%){RV0H(@GnMm=t!dESbXn6eh~&c|X5PKEQ8@5Ax&RL)b~k@9_xUq7lD? zt+bKN;>R|c>{i-F55J{6Rxm}bn_x{bKpGA53GWnonqBf=+09b~X_#u1YJe5iDD}2c zZjDl`Db7G}H{Md?hi{UUW;J?u309 zKSwek=H;>-n9@A)M+lGXkuNi}P}qg)AZ({TL7#Zi9%h)k)Mhvq-KZ#H(!gg^%ar5E z8Opc|uR-=gbTW^tTUKqCYg$Kcm9OwBBb)3tK3jxTa)OqAWq6u*sUH??Rpo6(Pm&LO zKBmF2J}i5L&*iz5@FWfPHS%>g+CL=UWW3k2dBI+{`_^WJCicip4@m#%BKDg1EUTR7 zSkXMsD(1zattWX~@6X3!&C0GScu)HT6De!vDSqPQA+=H+W$$ymwml@bDSffWa&LS; zbFYa$KUeT0t;hNd9+_DbtRDZw3zw!QrigDZ?Y}R&vVWCz#!kzXduMcO3Q(ndH1uel zN5QEWj(bSHTO;@8<^CRdksk-8Px19FDMCDmM)36$k^Km`NDk*>g>sRkBIQ4_@@uccempm uhM-p-mfHp|uH~X(@cYV1)aNt43bx$WSIOT{-!P8&9P1nIi~9CK^nU@^y>iq5 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/loaders/SkillData.class b/bin/classes/net/swordie/ms/loaders/SkillData.class new file mode 100755 index 0000000000000000000000000000000000000000..a9a5c2f7c21aafe332922895b29bc9693895e5bc GIT binary patch literal 50937 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 QRO)rGE`3+8*B?;$znI?2KL7v# literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/loaders/StringData.class b/bin/classes/net/swordie/ms/loaders/StringData.class new file mode 100755 index 0000000000000000000000000000000000000000..d16376644377627fcf7b4f91e5392802ce7316dd GIT binary patch literal 24765 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 W;m4P8U1gnmz@4QYR1c{~DDdBay0Vr4 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/loaders/StyleRoom$StyleRoomType.class b/bin/classes/net/swordie/ms/loaders/StyleRoom$StyleRoomType.class new file mode 100755 index 0000000000000000000000000000000000000000..ae651e723d91819d7b358f3a13fe93765d0493f5 GIT binary patch literal 2670 zcmbVOTUQ%Z6#h;w3<(3Ik%Ay#OVgSJWk9I523sx#6Ae%siUMAGNG32anTazKD*whe zUwlxi6zkH}XP3Xpnge zp<~vt4DSv@e-O&oEMzuBLPk}*i7N~tqr$)naXK1PaSbU_m#(-B)9K9r$jJ@7r68>$ zgDgWr#@X-;Q=4}jenhApuIK2SLY_!(2Lki+o=)_-?dME-Z~&XVa8 zr)~r**_x_WmNCq!n8yOqaaZ>WRNQbnQ|LrgRCq}cWSPF~m!D!zt^_hA2(Xi$OXe zs6{hym6|4RyPg8tUHP}HQ1dR>wnrT2^%dRQvny_I2P$#ss4Cc1u?GrlOwv|z(6A2e z16?c1+>r*a^0H?;M^uwqaQ9b`Grm&OK%QF_Q+HEE+dgR2FBp4)B(*4tf(OO_`^Toq zSL+6ct&hCOO|xXsfJxwh;c_sdv+mrYY}G_NSt>U0Sps!I$9Bsq2&5J)OLyc|pcCnd zOa5Ic!d5^d=K4!jxG13t4r%beT9jr^Gy8K>$55nahy0cy`2no>@-qm@(|D3)Px0DwFd-jm zkzb_~wJC))+?U^Jl980Km`4~9A(0&)eu}~D$S)ZANy-SDJ@ggO$o3?$H1v-rZ=Lt?IkDlV{ zDXtGa!#MCOv=BXR67C6ZUl8!E0P3ip?6@G2kGevrB7mOp6Wks84oc*EM8d+ia3F0> zlxC!=mG46fnjLal(Df&CuX80K4(q`lsO6lbyc47yEo_zGXk g^$~Vx6-h2rfcr3E;~P3j%H%$RL(Fv1z+(*l1K|RhL;wH) literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/loaders/StyleRoom.class b/bin/classes/net/swordie/ms/loaders/StyleRoom.class new file mode 100755 index 0000000000000000000000000000000000000000..9c770bb4b73496af5435726babea2f64e3b6f098 GIT binary patch literal 6752 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 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/loaders/containerclasses/EquipDrop.class b/bin/classes/net/swordie/ms/loaders/containerclasses/EquipDrop.class new file mode 100755 index 0000000000000000000000000000000000000000..daef1e0e83964103204739f48e078ac717aeae4e GIT binary patch literal 1261 zcmah}%We}v5UlYtahxX*$b%3=0(M?2lw%+gf`ArTK}sxN(byh^vDUk0cWlT%aR7-3 zi31_)Mg;PQX*&=df&l^YJn5e~Z(3c| zHUfnw+Sle#AX}|9CozG^B1&aUp)By&SH_7x1Yt)jrx!V1AUi6IoOa+FseKi;JsCwR za*o~)bpJ&d^aV1yBOqLhG*iYb=7`)4S^{hJ1e)>(#B`17y$)IjwqT)*8@6xWQ$ytm zES(H|qkF2UBi-`UGv5!4G&=AjfyKI=<)hOlAsrdzx0T~|4s4&Rfg`q3p)|@SRaam+RXn53ImcK^3C8j;mh)wgfK$q@%-arkCPIa8pW(u0 zd2;a}aFbqv_7-i%ZqfK|ns$+&+X{EE#1Qv|DMem!!Fevz+ou(@`K@mdUt)w6p7yr@ zBIk&@%5Sz0lW-Snv;z0A&eH-ov?GA8D1PEa1{T2LgMHJAE4V){K4i9SRM=X%Krz{V zHEw7T7Drj*_7;6Ky1)Z$jIk~gnf}b8%S6^wiEQHG6(ZXgm`)PeAd$@&;VO}l-U5$O t6`4;eQcWdNO;=<-No0pacCR5~UzdL=sKuji#cMH3f1CaeBfAmyegnGI=i~qY literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/loaders/containerclasses/ItemInfo.class b/bin/classes/net/swordie/ms/loaders/containerclasses/ItemInfo.class new file mode 100755 index 0000000000000000000000000000000000000000..775b2d9d53cfe2ea3202e701d0ce2c9eb5edcd55 GIT binary patch literal 10970 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 O9<;E|EYT~H)bKxf8Z(># literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/loaders/containerclasses/ItemRewardInfo.class b/bin/classes/net/swordie/ms/loaders/containerclasses/ItemRewardInfo.class new file mode 100755 index 0000000000000000000000000000000000000000..468c8b405ae7ca1a05279cbd3e7fe16c89741312 GIT binary patch literal 1396 zcmbV~Z%@-u7{$*W`@^6*-1sM`pr~|1DT*-~ls6zrlSPdf-gnytOGZoDB45fxO5j;uGW zW8IDviZ5KxjkXoW%=*DN#uZS;1SU%`3|zrgg{Pj5tnl0qIongI$@|o%Z~KPJALj19oswfX{`?r<1?zwzvu2pf$JS@$r)1yuA!<>X!~a#QIsv! zX#+D-ExNR`ccnCEU>?^M@~45{qAo5j8n_YbPIch=9lqW1J6fUAB-87&la>zNJFPA& z)u!Kex(80+%5zf8M<3i!;aT(l{%%WQJk-%npFD5c^#fLpE-FmZRwz>#vejXUxm7ikIjInrX9sS)?$r@1F&2z2{0i zwSW7zF1^BS#-8I06?kWpxXVdf;+4IKSH>T&oD!~+U?)-J{U)EDQ_oStWaB$jqgv{r z{52Ne;=OOpv4nvoJ{x^0mU%3=zk`*;W}7yGQEV*sP)R#fc;Hm*Fxyup4%Elc92MNf zy~NAnDoBOKH&i}xlY_trF;E)^8=DNg}H~%%(w>2(ml^MA{}G4Xh1LEJo AhyVZp literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/loaders/containerclasses/ItemSet.class b/bin/classes/net/swordie/ms/loaders/containerclasses/ItemSet.class new file mode 100755 index 0000000000000000000000000000000000000000..3f149b3a609d56b6a0a7115e3d4309ae2d3fe4dc GIT binary patch literal 2744 zcmb`I?Nb|76vm&M7edmdKw6-HEv>CK1njo9mX`pw5Nd-dR8zs?>yq4rZNn~;-O$m0 z$S;1-8L_R-IDYnza(wRYMv^6&jx&DQ-Fxr3=lt$D&$;{8-@p9UU(B8Vms(-23W zz|b?}$k6MCRnxcjp2@N+(6?k-rn@2#%}j6iqhA0?q;MtyO~U}r3h0(}b?1fMsF+ee zaP+!uRAj@^%eLhjrX?HYy5Ts|(F?9TC`tNE$!e9(i>CElAYD8OT5=nvRm&wXBrxnv zH(j%?KQx^EN5)|agNUl&=QNzhh(N;k;|L7;PCRQ`=9JZ#h6@-Mh?o@tQBYHp8s1XK zG0QlRYT}ZHDO?s9DBA~zb?M4AyJ?Y7lu}%MTfmD*g4QHl9!BTh^*AvKS zm`1h*?j^Bcxw0l3Bt0_fO}SMS7|j%d{p}XHGnmDD3Ea@2<0g4d4$tEVXe8KbTtX-k@4sod$A_Ber23h(1~0(TVZ2Oag!+s(bY6d1|m+xPj?9^RaWdBqkzY`Q9U ziyCrRQmpoK*?4R_j_G+2yJ~es!-r~h?0ea;ccgJ>TN|Br$&y*K47b@})M{r+m)Z^! zr1n+~N0wZ}ZO=wTgpHT->At1~-EEV}f3$e_uI@!4C?DlGp3GV8-m@3)LMp-^ERm*C@#d<^43|H8E5#H_z zK6(G~E21tv@6Ef;d-LArJFRX}2;B4L?$eI_?0vIy`5xpNe+zuBa`X^UegUJ|mk`-> z;uy*7?-+dg62r$x|LpBs#snbn+Rt z`BYARpdkDBp3DA{`U(nAuF5ye|UL0R>kLnJ8=4;Lf ze1mTT==PH@gtf5T<>Uee_JYkF-LViZ!F`5W?NI`C4X6^7yMio-LDsv1RJwyKhd~Mi R+2{eH?jZ#tnWYG-{{W>=6e<7! literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/loaders/containerclasses/MakingSkillRecipe$TargetElem.class b/bin/classes/net/swordie/ms/loaders/containerclasses/MakingSkillRecipe$TargetElem.class new file mode 100755 index 0000000000000000000000000000000000000000..22591968cdab2d3bcfd4331eba634e7e01f89b6d GIT binary patch literal 1094 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 T?jRS1lS=MuLh{5pJqZ3kThwpR literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/loaders/containerclasses/MobSkillInfo.class b/bin/classes/net/swordie/ms/loaders/containerclasses/MobSkillInfo.class new file mode 100755 index 0000000000000000000000000000000000000000..a5532dd750c5080ca4b3c392da5c952b9f7d682f GIT binary patch literal 4802 zcmb`J>2nlC7{;I8O|p|HREYOQeuANQpGo3RB%;{z%5TB10 z7zwl*XhXZgmb~RAo%4m_gl#2rPBL3CC#<5A953Wu)6QGP@vP}MmXkbC$fVEN+3awB zvY^nK^M`5IbRC8EROK|D)Stitg@u*5UB#k#A!R#mGdetmMFtjQi9&;&7Xcjs0kW=N zIF}h%E^FGIQZ84>J45yh*2JNLBmY(!xCi$t#Ow(Lm6oa12G+<_W7e9nvdx^i&%ph7 zfYPTdcUA$PctKZp;7DO^!8)u@pvyovdZ=QBo_}fB=@RX{z02DbFn)jSj4wL4NThEt z@DMgCwD{I__FESe7DtHeJ}&s13_Og@3I_4D@r7OC@vch)Pyw(m8tPloZV zyIICh8Q8DK#mr{0<^cl-F`|$lEfr(XbymfI4m&Z;VFRN`bK#7cEmBI?pRPR?5!V+^U9U z;e-K8|Hu?_nIm@2Qkb8%r}Cy-DzZOP9l--(lV#@!i-2Q%pAPmbJQ$EDIt&Ds&1x;{ zHr1>PMP#+NWJ|-I!UUPyQ>-cnOSz0yJYr_Doasyz#?9=QS+r&BPd2z`Y83sT6kIRY?g1#cVyG)OgOJ$2Qb>Y>ptLXLOE95a{I5 zMaY+_u!w#t*FA>cnB=2E@~&XJhgm>b8_R-N+F2OK&(ZdNut|7~GXK`r2(Auev7H2# ztX;!snKS0Ss7o=IWs9^;5^FB&d6S-yjy~9*8O^Y>zA6akNfK5rb|@~Y7-uNd9(F;iZDhU;1I^*jr`Zdu@U%X+R`K5WYC zZLDISPdk3k^6v@6*#p+~+=lA;9f@PNG5;o-+3jGr^ClKnx=Vl7^3L(wi3Wb#`0XV9 zQmmj>Srln;XlUpGVQ(Jjm5CS>3bp zCRS81xkz@pj7a}DJnZbEq$RW0#WqRp00g7w8dY0)U(3UztUf8|B9iG#g=*}t1 z_D;FL-ivsNUqKzA)HvJLo?BSkyWtKVjN@on`)w4oT_3i_TU>TSD_+Jc6eaQhDlQUO z;WfPO3qR?ruuKcTgWec!pfUbqPwy=xe?_18$Wy9K%k8I>0Y=?mK(S@zvzFlveb$?L zmy*=t%ho??w|`Wdf7GKf{D~c5+wTqtZYv9J^93usg|~fqmAIt!cZLlzMCi;*Co zmd#wrXWlcX!yvB`D+b zQw~iVUq>fU$|cTKBN3j)JATlj!VAib@xU5I;}Qc zk9;1qI69zM-qDR|6k(*!FWd`jsD2+G9El?;K{FgwHBii4mHyO!a#grAY$IY z+f5_KM%ffL4}(zI6g{>Od)1$58XH)pX4H#)@mT7iF8}MnH}qf`&07Zi$UGUYIA;l( ziRuRkc^7>ayQ#4D{9|S98FlQXdQh|kk>m))An=@4Exs3^{Q~xL*mGKECw$P^2_JN3 z&O=(*%ZTHb!FnE+i=AN~UHeY#i#c`ys}2)Q(nYMgAP&$XkO<$G=rY#7lfP2&GlDr9 zB+prsuh4Qoc^jv5$SJHXe52x^wf?aQ*m y1Vl?s3+lQRq?!e}X9ZcegH*F1TL9S}0;09fpqve(O4s~371%dmZz6J2(XBs_WD5`g literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/loaders/containerclasses/MonsterCollectionMobInfo.class b/bin/classes/net/swordie/ms/loaders/containerclasses/MonsterCollectionMobInfo.class new file mode 100755 index 0000000000000000000000000000000000000000..7d6ecc9e7b1572ca1155d1ea5cd84ffac8f5f864 GIT binary patch literal 1762 zcmbu9TTc^F5Xa|~?Ue%MR-k}#Q7Hvk6_f`MFMwu~f(DuD4{19`2^vU~lBXo41QpKoce-lo zR$G11IFn6JP-@q(3~x`+KzX&Er3_`$l*`i~hGxC71tmM!9S9N{=N`_}2q#WCvW+MGtsOy2F^=aFW$2!4)pfHg5tMN~*4r2VjK@i}i*r9-J2*V9X|-2^lzqD; z1&vg3HOJjfLpn7baDv9Fc2hU&x?`{&8Wr!Y0ote4|Gi{Dr^_0Ct99IWTY4HU2;J16 zxq+sXeP;$v?hN{ofhXK%VLkEtAt(#;?|lyT)1WDWa&TNKgYdizTO()?t}88fYImKc zd}eUr^Zf>6gIgr16w{GIG}gO7Q8O`4|L)*ZEWN`Q+X)8mb@OuaXc4oL!1O1vVqge~ zpp8N+LC!*-lQd7)V8D>Wl;D~4B?i%#7(Ph;6t4#Bb!eNA0y0_oO5(F0wt$r%7|{eN znAk<^_#-}hiIyQb!40gO;3FcFkR?t~ne9=!GS{P_%6yLsl}V*X<5yWrIF@J%S*Ixr z{$a3>gMEhP{8P4qOyMcW>6gMMm;7Rwsl@M!2K*ftq=4fl-3n<`$e^4rRQ!aX1TA3Y zY6-ZDSfiz^P&xc~57B%?ipwZoVF#D7>=(@$ib2#RW-4rmpw(EAbQEMI7Nimnl8%C` z0c73J@HYszo^N0+7Gx+2qQ-)($Ab(-K{f%h)dz%Uk3nw7f)t`4+p!=U@gRjL$PPeu z`+)GYFo+rpG9Cqa6bo`E9^{YF4rXK@AP0Rwcv$f_Pj@jv3A*P$-x2IKp>M%+-=zn? E0MK(5!TL3ElrB+*vWzNc;+^2G&?EkQ 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 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/loaders/containerclasses/SkillStringInfo.class b/bin/classes/net/swordie/ms/loaders/containerclasses/SkillStringInfo.class new file mode 100755 index 0000000000000000000000000000000000000000..556496c8ca9524c48c9b511f943e0ee3c46413ec GIT binary patch literal 1879 zcmbVNU2hXd6g^`buVdE4aZCcVO#=j)n7~3mpus5*b%jC|sH&j!p-+?bG+Dgajdmwg z{1g5`Ut6hBB_4Q1>W`{=?(RaC*p!Ngy)%3F&N=7aJJq+s=ZK0yWS5wPmFIB>gz!i*n0}q<(2IzG%)3$>Ebk8g*%b4UixdC3?-M`jR5zP3LFc8|N%>d2-F-!G5D{~yoFc#y){hk|W0 zk3l?Sw$q!e$)m&l9g{rPJ7Jc8?CWq_CxN^d&YIl|sD5qp1FPFtaCVJ-lvTL9JTaTr zmeu~~p+3ks9bA5^_jxM_lfH&IJ0bfOW+p`6u}OJszN^un6qb%JO%OeeN5;z;@=I`E z`!-IVDLgN0E&_AV4IK?blP+z>@#yfNKi=+==dFW}pB_^ zs7lLO=B^?$m#rK%u2WF_Q8-U~fo~zd*SL0je?j%G9l`0X9--B{euVZP*{P3c=XgR+ z*3hIqjWa}=MGGI(+sn`66D;tJNEt7OnLA+?HC-8VY7*vp!Tck?NYs4B+?f?>v8~LG zkx!GRP5K$y4h79-!-7 z1<*x$98}zagG&rr!WCL6*FB1sgz8zTjteBew_wC60t?(+9`&Xu^`a;WS0^fLl@zv4 zDqMKK!p|lvY@Jkii3%^jL!mTFYPLL4VY{TTeNy4o_bXhPtgzJQyoNn0y!H--a*0G? z?~TIs>{9WMLpsZ+#i#uOX91B|DYe-vN$eDTsgg;eR&kwcgUC1de2Lq9YjSr7Yv|+r Ezjlpo#{d8T literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/loaders/containerclasses/VCoreInfo.class b/bin/classes/net/swordie/ms/loaders/containerclasses/VCoreInfo.class new file mode 100755 index 0000000000000000000000000000000000000000..fff68e4ea88b6012926cec7465adf32ae9a605e1 GIT binary patch literal 2983 zcmb7`-%}e^6vxkILqfu)(6mjVg+ftmNTrb?Xr*A=1nO!+TSKEo>&y}s+;)?V*#+$z ze}&`trZ2uYqs~Y>3V#B6v9C2m?R%Ue}Q&Ck{cX;2|bQJRL5q-m6)Qwq(u zOt0vE?R0i5v)FWtwqxv=9kQud^j}VA$5qrtkNLMpxLX zy7mEk&1zJjtB9oCaoQj$r(vAa=o%IAspYOA&Q1d{B5zx~Hm}ijTEN<#>FEMgtm!I! z_wAvo%+Hak{QcLV8r$9?$d;TPd^}u10yp-X+h%9e*tSK=oQ7f7jgG~0-x&A4v|NQ2 zD*yW^mXWr+uIsaPg@&4j>zN&qFC-tFwO*prZeSA63-=Uky+DTGT=i28A*`I7mHdoj z4W7rdL3oxp@i;26Acjd;`OpM|%cs1~|hs zf@}C5EL!(NTBe(rvFM5~dI(YeW-2UNxOha_!uS#83KK^(cD%-)5TmP0I}XRm?6@09%+gBWpGoB^VVKqv$K zP;Sv}|KnA7vv5M79|Lz!=Q4tx77DqpS066n!zq00eXSr!E(|gw1-T;!$%R2?0aAzn z;oNWrN>Y%qFvy$~q$~#s9AP&j^8mRX0m605AZv21@o-R!&{~Sn;@W4eb!kxJ;h=6v zgSsmRnGA!h0Aw`+gfAb1d>{px41?U3g6Q-iB)C|Q>+LG8Vi;r%AnOqzeES*XBdYjX z!Fo&m3h`j!>r#-aJR{R#kSahnB0%{0VUP`JMyA6Vc_0P3C(lUWS?bo?Lx9vHK=}P* zko(e%42LuFNDA^mo{^bwMjiv?iwF>YfEnatX+~zk88M_FHQIzkw?qfrAd zY%?H|@!!W!;WI$7p<4{|sION=h4Q033ca_oZ~s6eVzBsQg!ESd>CuzYIU$XIV-RH2 ilhTVl>7^*?{Z~nEMMy98q~D2>e)cNq&%hg_&;J8LKzt(r literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/loaders/containerclasses/VNodeInfo.class b/bin/classes/net/swordie/ms/loaders/containerclasses/VNodeInfo.class new file mode 100755 index 0000000000000000000000000000000000000000..4a40dc5e6a9523c302b2cac38a772438c36a0eb2 GIT binary patch literal 931 zcmb7?%TB^j5QhH)NCk@miV9v~1uSfgOO=h$goNNi!~Rf?T2fom7UiMbm}pE~_y9hX zai)MoQWtJ!I@j~fOh3QgKLDJfl12=14GA3!ND5^8@_ZTQ=V^_t`kVhQJ!f_-&elTX}dkubZ%UM zv>FZ0>B}>ffM{~ZWgRQrPE(`6lV-raoQ{0xbI5r<8VDrLsE5ExiyF6w_g&>(%dSnH ze9JYZ-I1Qf_QaV8?kr#6sP%8eV}Z=A;x~UVY4j#}{ome1wOQ-XKw)wSPDYqBH7L@a z;&WtXT)9J9z=g&9%Rk#W;PsLQOj%twHd;NUoA)kQSsD>TeLw zVcHr=4s&XOq&`l-IyT4>*hG=!@8TC|PZW${R-B0}E@5j@+@NeGP1d(wq0OG=zY53^ zV?OM#KF*pv&uBasQ*TFtWadE%ksv$KAeniPB7v0t0O7?l$ZjM^b{=FW5@atLBs&jM RCXmV>AbeQ{*$;0}{sz>aiJ$-g literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/scripts/FieldTransferInfo.class b/bin/classes/net/swordie/ms/scripts/FieldTransferInfo.class new file mode 100755 index 0000000000000000000000000000000000000000..d991aae905803afc95c4d574a6bf19ef8a172527 GIT binary patch literal 2848 zcma);T~iZR7{~vIgsg;B1S!6Y0%{2ARbcgF z&?Jx22GsA zDTN*{wEZx0{EDkFwP8yJh82br=FqTO)zXaCrc53~I4#~fqcB=1CnPF0&-EjVT!B-G z+`uARP!fOwMhz5AjNzQZ$o~;j=+;&=S?TN@x25sv%l6=c2`jc%+_TL|7fp=gl0tsf zjbh(vC)nbq_e{LMxvBkQR|Wn96CdIug?^g0rESu$-f@C;h0ekayXoc$lW9feT~vNs zM^VJDnYfNgX2G-gxUG*DFlFKse5$aA$K!B}6h@P7Z8ub(D&;YaTLx?spGmw=CLFp$ zK;bZ**>uH1J+^wzFT2iDS9Fz4%wV?3!QCKK=p%qX(r;- z0lnYe`YuR_af*@YV9PZ)vi0$)Lt34l+28cco~CEERy{MIdS*B|_kuA+j$?&y6O>n+ z^Tjt%#q4VsKkBnpj{A_|*o!Rs(8XI^zM0L_Sivgal+<{v$>J=UI*UJH?+<+FfGClR zz}CAZ+}RRdgBJ@=^R$@NUCa=nc=R>)COM9f`Y7`3%c5$ac|2A{LG2A8VAqJ1wiERx zi3U@N9<_+B#zZ-R>D_{n4;?T}n2|P+Tni+p!yzE-jVU1gNszOtAdk~Q`ja4I1Ua`0 zh~$HSuz{z5987{(sUS5RkA=5+o^nZ`kvV>0i7;p8#q#I;KWPxjQxV4yJK%K(!g0Roqve~W1Qc8!QpZP zS6=amJn~m+;ObZdH~4s>ft%u$jL!QZ7AkO!FxPqMBo1K;gZxHWxQP;OakSeYr(5|m z4Ig#Fty8)anL`8Jn)kby_XX8wxizkNdGqIQF{dzd?k&Djc!^_tSW@^6h1v6Mh_C+n zV+(D7ih(l68U6{G#RbgaBELvdS0|}|h`<6N)j!?>8|UXBh{3wi@fUgwEdHq@8m5Ql zelkbqdF4Wz)$LUyO-e$;|5hBOHMN)T{bY{Z(Q2CAXse+_slpGF!uL{zH`1+mn6%;n Tt$4VL71CnGil^l7z_Wh=DANE2 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/scripts/ScriptInfo.class b/bin/classes/net/swordie/ms/scripts/ScriptInfo.class new file mode 100755 index 0000000000000000000000000000000000000000..31153082bbd4646472dbbcb496f90b66b696a641 GIT binary patch literal 3886 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 CiuZK@ literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/scripts/ScriptManagerImpl$1.class b/bin/classes/net/swordie/ms/scripts/ScriptManagerImpl$1.class new file mode 100755 index 0000000000000000000000000000000000000000..cd6ec5be4a8c659f009e4e493cda19e6584b2da0 GIT binary patch literal 1840 zcmbVMZBHCk6n+Ml9d>(ZSL_R5)hZ)}svY|Rwzj2Ex|Fr-qU;JPns}ML!qnNhleq(w zZ$|wACi(+RYT{S>lBO}*&&HR}Ci>mP_#cet43LE_ZJKUo=Go_&d(S-Qo^$Un|NU?u zzy*AmM;qF0WCS{pwQxFAiEGw$T=$jRFm9k_UB$+|94lk|aA{WShO?d2)+1#hyDEbf zWh|T>99o!uk{IW5=tRy&USJP|g<~y2j2HV+V%%zqWf{sP6_*-O;GD2<(W$QaiML#q zkwf#G%>B`cu$LF?;9{=uJJ;bYxg~M&K|D_9dMpx{+$n z2|UkQ=gg{#We}v|3j!~)*il{9DpeeTmsrVO3H0iQbW~t49W)`M4ds}?%dFV*N=78Wwgqw4E;o!z`9aDv~6;`+`Prvy%?foG{tOdcb6-NqU2tFsnPwUjgP zKUQuSd2S{0$`qWc$%Sxcm0=4hv2bR$ZhDNFX)~P@IM1Cl`iSPBSPr>x9^oQKiHr(d z#2BsimOTr@546VP_~KRR=7OO)=fh#O!YU+Aoqhz7bY?PVBYsyQ= z!Fez6Lq8c!`)Q6wPv|;rzXq12lRnQl_`u#e&ITxWG4uk>+rO-mWnH&XvoP3F(T8qOGF?$7nbL;*i&7Y>cp{L- zC}ZPY3;iu|b~|xsDO%4Q8w(Z&TIcRw1N!V%;kd~PN9d@TqT{cv(8DbP5YnMT3VFqw zxJo!pV-zQ*tZh@`~cQL-@ndl{=Tb_v)iEg;K ziM_~SKMvsldeDyn!lO8eVZsrNQ_~(m5pSVNSi?u~2W41;~&CylxdOq&_vgD+_64Gg^NS?4Bb;WJa5ye@-B}G xYY%a2edMGK^LTHpm)d}Sg-*)(eS9$1`#(!x)k^>X literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/scripts/ScriptManagerImpl.class b/bin/classes/net/swordie/ms/scripts/ScriptManagerImpl.class new file mode 100755 index 0000000000000000000000000000000000000000..902a4625ede80d95c206e62e2bb3900a04572484 GIT binary patch literal 133677 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 X;fjQx@q48o8JkT%nqHsYK-vEXy2{d2 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/scripts/ScriptMemory.class b/bin/classes/net/swordie/ms/scripts/ScriptMemory.class new file mode 100755 index 0000000000000000000000000000000000000000..4b49012be0d29057162ad5342898bdd67367c01d GIT binary patch literal 2066 zcmbtUO>Y}j6g|%#$B8qJ9k({rNr5)~uqUMh1=<9M)JdRV>Nu5LQplHd2To zo`j+zfiZ#XL*tR5cZ}|izOnt#YOIFwNmIdOa@@5j_0;l{-eb4IXD~@A4u3N5` zLK5)_OhQc}tzrrpfw`{f>F(FI)3!`~*VWyYWA!{&Z~Fi1=C18LCjM@?$kqqA60#!U zrd8x{N?^QayOw9!T>()`@gT3FfL8=2cTDfj(HS}Vr)N|YF~d_gda9Iaf<0 zT_9z-weBGi`fka?b1KebPGEw_hiAD`d6?ZKF5*%WmsONd7MMCto^sJ$AkUD2XGGLW z67vEVhvey44@|w=Yw3+%E0CzxePGKlZ>qQ|b5&gHTQda>Z>e}2*QiR{G<$1yk203Y z@I-(WiTJLH_i&vgsgJ{UpPoj$Ez=v}xFzo`scbKHRHD@}4Towr zt(~sn^&L}SaY)Oh6Ea_}P=htQO^8h0>Y9!I?zZXNHMTpnrFBFHB;ZxDE3g zFN&F_{6TZdCK1p|CxkC=vhAC8-)Wh*EUDXc02_c^m0gT;d<8MihZui+$q-ofcQ?7` zYvg)@HVzDatK2Ok&J~c=oEKghFsDq`~{XHj@1s zi*wJ-><=jL?+s}`z=arIK-+^N>e3(&4sb=_3DQ1_a-UxFQlhx8@p+7MJ;(0_6 z;u3W&u{vcmI5a-Tl?d;xBl%|WF+L&R8oe_}YP8|34FfGl2;YJMi26d8c z6p$z|5GZzzamrX{_8TnUok;$xM=iA)$zMUNoF*?$)sWpvn0Dr{f7l-!AA^paVo0FL UfOq-sK8xg?2}1}HkWZ}fFZBkM#sB~S literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/scripts/ScriptType.class b/bin/classes/net/swordie/ms/scripts/ScriptType.class new file mode 100755 index 0000000000000000000000000000000000000000..db8a5df80aedfe481a9a05ceebdc3744194df551 GIT binary patch literal 1701 zcma)6ZFdt@5PmkvW^a})iQ5-jsA8d%B)qIB6*K{hrG-jp3tOTA6t>%?ZqH^DcQ<(S zoBv3I$csl0pZ!rDXKoe=w&&1%$mE$j^UU0N?&R-(Ui<~%A|7bSD3}So#EO6DL|eXR zwPP!GBfp!(mM!hZk6o_-1vvvM@?=*#p{L+jdWP7?+SoR(efx{MDPFc_=Lz87q< z=b(Widy30`6emkz;zj?Ry<@=Sv;2A|N}Pbh#|(_KOS|PcZqkX^_pX6S_T^R*ug#7_ z1`e}Bz1j2Pggx&Wcppb7ZMJ#2aeK*DFnf0&SI{woqZ*DFIEGo`a|3z%v2vxc<2-V# zzzMglwap#RO=>#ka6&`bKm}F0*Xw|#u-B&2kDQ?AtvysQUmnU{44gQw4LR&2^26=g za0Moi{HF|@#u*w&-4Ffbl7fk0sx)(@(&Q_DXy7b9qS0^pkpgpf1p!rHUIBE9KF`b- z6qNTO+?`u#3KRrtL?3ot0YiYgQ6I9Z0!0B+;0x-rD}@sn7g(YZL<7+TCIzmMU_J>Z za9H3vC4bLiaW6LvtYVGDk|T>1%#|zqk&6nx%E&Etw&jX_F@|h{6%Y{yxSaZpDKJ{6!{q4|6dJ(zC_bSw+7Pr0R3QO|lD@w(q zm8rWys&2Mip@jLN@$*Zl@1xsGq>OHNdXeib`+V)<>vcZEFLU864SJ6L2K0p~-fVy@ zt*W%NqSDf0N=r*9Ep48(v~AMTk`Y6O-x*Lk#4AQPPdw{bBmSF&j*{h%-pBOs_~0dG zej%jb7JcXC8OK*(r}5{Ak27>rsXoK;mryu9^G5szd5l36ZgXuqr`Jp0T=5#R$ZsJ}WH4oA$FiN$@aDe_xm}`PEnXxJF!@u}OS$sv_48EpHE!;`_v&eFP zYV|i*|8H$l(hXWu2XrN!A9I?#E*k?bl*FG9bb}QG1X1CNn3D(N@F=Ds0K1y~= z^f79;O5~a#L%u0{_vi%f;$F)BoP^}h&wmiN`Ek}f_Y|KzMpnX4bLM9fY7*8}^P+^h zgrDbAI3nSKW?q)3B?%XWc}2oe371QG^Qy!X60ejr^Gk`Ro}uv=(>(2g!gHi8pwVBv jpx03#m2}i;?$>F?cQAq-(&HzZdM2IqH~5y~Gr0dR+t6EK literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/scripts/scriptMaker/ScriptMaker$1.class b/bin/classes/net/swordie/ms/scripts/scriptMaker/ScriptMaker$1.class new file mode 100755 index 0000000000000000000000000000000000000000..583952e56af481bf824baa24f21d1154e6dca243 GIT binary patch literal 3296 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 aOT{v%C6*)q$7suPaV#{#w-+c)Ecg$B&qzc7 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/scripts/scriptMaker/ScriptPacketParser.class b/bin/classes/net/swordie/ms/scripts/scriptMaker/ScriptPacketParser.class new file mode 100755 index 0000000000000000000000000000000000000000..412d27b6afdb2544f7b258dc8fd8ad11e377fc9d GIT binary patch literal 31584 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 V^uYgy7k^T&U;Uu|qkf{${|AFd4Fv!I literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/util/AntiMacro$AntiMacroResultType.class b/bin/classes/net/swordie/ms/util/AntiMacro$AntiMacroResultType.class new file mode 100755 index 0000000000000000000000000000000000000000..cb294265086aace809c1ad9f88f25b4c8e579c3c GIT binary patch literal 2307 zcmbVNT~`}b6y2A6O~M6+K%smK(l!Z7z(U1_A{3!SQ)n4LBPtHbGz?89Iy0fmcmIHE z`4fEfLDOoxbm{7YPx_x+o_iA8An00>hwSWo_C4p^d(J)i{m-9%1#k=H2-*Z@9m`L9 zkE(9bw$c?ZUGwd7dd2bWyJo?yPQLiHZF#k_zw^asRulq3i4ej9S6l3#AFP{p`5^0@ zm}R@TdStq0!MEH^vtkKc&;9Q>85KyAh^jzCX9I0k{T1Ig3lEj9T|z3|#QC}t%FH}0 zTRV1z^Y4`CQu6V$a-&*4v7OTWn&tU+)lts7CF1|$eATr~-^y0ZlC|c#RaeP-B`zs> z&nf5kET?D{mAzl$vaFC;By-2+iJ2~&PAR>0cx)B?Obqk55y6`h z3wTSQ^QBdTt7^*~@g(XxBBYQhp4H9qg(b=5u)hHxkK<+%cWzZx6xMYLTwDD`z{_X038)xjX9B2;4a* z+2jT4DG<+93ubxGbZvf*4fjEZheZ5r6=>A>M>ZWUYS<;m^lL6<6HL%OQQFkkd+Kfj ziR5h>6^n&(vnsSe_O%vws)CCbNO&nD5HqSZw_vT?>Lxm0yo+hoU=((f2E|6z^CPeY zM*efm(UZ z34B1`VYaoCegXNWevbU99kIAbJ;U5{2&Hd3rT>stWJ860e8hHo7Nk-UHxNKjDN<9z zPjNFf@&lH>XN`*4NmgKlVvnL7V^F^OXs7b{F`q~MQYQ-F6IyM<0Y&;0W;4GTLX}@Q z^#n^_eaniMXPIDsjoiWwe|k(kwdQV*GXwVZj$a`1fjR<4K3GS@$cO6GEBSC89Y#J< zhi>GxI(m$}PD_0Rv^GFMi^BxbI>rd-RwoGB>$pN7>qr=9uUEq%3XKFrKQ)E={P8n| zkKYaio?`Ve0?gKfL1qzVcS0d%F=iX#FtZM3*+_($&g@-HW7fm$Jw2>9w0+ETdPHxi z2bka0HNBx9X1=LM^(gNjW4@)w^ceFA=J)h=y`A|L=J$1}OXi7Z*nW&DRog~C-K6TO z>UE+6!}Oh^|LFzjSVuS2AdVt>;nUyimsIhu(T{KFuk;B9@EdhPuvzUQEb`HY2PiQf P;h0d(Oo1ajTpsufu3QS& literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/util/AntiMacro$AntiMacroType.class b/bin/classes/net/swordie/ms/util/AntiMacro$AntiMacroType.class new file mode 100755 index 0000000000000000000000000000000000000000..2a27bee485f543f27fe86ea43cd593492aeb17de GIT binary patch literal 2316 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 M=@cbn*gT#35AuQVa{vGU literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/util/FileTime$Type.class b/bin/classes/net/swordie/ms/util/FileTime$Type.class new file mode 100755 index 0000000000000000000000000000000000000000..670c9087120c08980e7aeffa008e191bdd6208ff GIT binary patch literal 1744 zcma)6ZBr9h6n<_tOI}BL)48_h?S8LzkEZO5v`(^kzaT6J@#`0N`q00FNC6@3E!t+faH#mrVpU^@H1%mh>Y z8UjoW?4|DKC6}$|G-zzq(#8Fq;(k7zE~JWla9+az9|Z61qzc6o`~?lVG;e3uGP!-$ zVsu!;MGOh}W=d;WA_&YpJj1<$7{RCyLmI~Lk$_sMHEfgABGK$)XWY2}srErJA?XR)}z$Y~lG zQt>08i2PDQ`Ri>GerT%r{>AIu+*`?BV)jje;nUcgOde3FeL$Q){LtCqs)jpAauH-I zS^~3?=vm4@0l#B-*Bg(h0s~pgHgoOzf!Qn?2Q{)RopO)p8A>dmXB!oxRx+9vE4gxB z+o+SO{$XLL$(=)sE*~gZRoigdO~QF26f#9tYdqaHnhxbVLmho+RS&ycHNpv{II5;o z;(92N=q4eSD>b*0WT5lK9)Dc**>E+2zUZd(wP%(YUQJ!yrRvK2h(s;_1rctgmeuVUJ^8ukT zo;zj|eho>|xl6lCwDJ?|VDJ|Vzro0lv=dmT|2}yZBm5-3aPbSI$BdvZVlOfN27>XP zf8kSP(Yh$4@ufVc4kZ+O+<-ziCq(S>_%SZUrhdlk3yEQ$=jjw!Am58PhZ|t6A!4%P zhKz^bI3fiZvU;#dKbjs_eUC7#9(L6yo?rAn4^2KZPVsV+u(vRX+tSOV^c+6%62@1^ zy0$HP^Sb_W6j>hIZa&yA=R=MCgxMeDh2E!bMGALQp>~BsL7qI9oFGwtrv0xW%1Q@H zq3rFzS179;YNT>s2mOVzuY*wG!>agk5BFW6@7&Dnz9Jnxrs$XTxno>8f+7u9z4|r% zx-|Ht;d3>Ng=5?}LQw8+^@VX;?)&9_*%y$z&`YcwVUWwyZHY1IXbu-}g<5AG*D3LL fah1{$J4sLhMZ$ZqgOXf#QKpqYI|94dOOE~n7I#>l literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/util/FileTime.class b/bin/classes/net/swordie/ms/util/FileTime.class new file mode 100755 index 0000000000000000000000000000000000000000..1f24b3ee1ad83924b4c61e0a473853f49a4e674e GIT binary patch literal 7186 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 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/util/FileoutputUtil.class b/bin/classes/net/swordie/ms/util/FileoutputUtil.class new file mode 100755 index 0000000000000000000000000000000000000000..f34f95790bbb0575b9eac527f6cf45710d92eda5 GIT binary patch literal 8500 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 D^D)Qq literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/util/HeapDumper.class b/bin/classes/net/swordie/ms/util/HeapDumper.class new file mode 100755 index 0000000000000000000000000000000000000000..0ae7d8251d4dc390ca92839976714f76f916bc76 GIT binary patch literal 2671 zcmaJ@ZBr9h7(E*TOX8{!5Cy4^Y4Hxb>8jq7bPG}!{FWr)(=VNnxNH|gtMN+K!%0+!OLa z#Bfo@B?TYjGUKU{V^NNX}LU!9;;Z0 z2MF?zf?r*2)<8uiuwf&uq zAd*N4YNr{Z7tQplWp1cTc`Yv3-Gg}rcX5xjApBmINoaj{>^+Ty*)QO}j4u>?iLWG_ ztGTWbF_zfj(bb;L1tSzKud5>8dUY{t9>1aB)6WZTygdiT=3-`Of^ z1A90x0$fs%1!>e~Xd63D-Lo)bnVXDev4Y5le6md$BopzCd&p94HlCHeG_015T%VXu zr)H+pi^F3>$;ISQg8cU~uWF3Flg?~MHJo|DJD!yhbD6{8Dc#VLrNWYCrA4)bw&>0C zs-=s0bO8@xrvAT+@LaZeNl^8^&^ym=mS1LDZLg%Y_Y$CLeKxN?dL%(Akc*!5 zck`WsK8ta7dL-VbD`o1m%_6(4M`(w$+-=OUEmwMxKd-OToU}lUQjVHkOQ=ORYZ>3} z;`|PydE#vMnqgOU?SH7gbmU)hJ5w-amaMEME(2m-Yr9dwYjp8^_;|zm&;boONLX=a zi?}0N3*Y@*!yZwyG zUSmu}_75@Im_Z#x7UO8nkP=12`8J1Rl(z`$L;A6)Q^)@RN?7L`vB3t*ApRa> z6I(>ihi`d1Z*hFY)h5)xg-?n+k&zshF%zH{-m(>hY0t+WaGFs3ffJ#g%;fLxYoLs| z=eQYu^AwF!;WvFQ3J1i;0i`=}(j9#+3LUftUKb6_^#HCDlYV})+#nKzZUl!>_ZCNG z_(o-X^EVR-iuPI!;5m~JX>_@znk*wT)fZX}m!T#u{5%=nW@VG2va{Q6oGtt+N>aRq z9^O^q9MJ$q>3@u-$8iX^5aNy0N=hEVBqgVaVZufEic8HyF1Da_koZ4lC?Q&ZLi+ls aQ9&8hsh|uu3w}?gs}NHDdwTTYhyMUKA)i_R literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/util/IntegerValue.class b/bin/classes/net/swordie/ms/util/IntegerValue.class new file mode 100755 index 0000000000000000000000000000000000000000..7568598842f979e0e3691f2385d01f769f4a8e39 GIT binary patch literal 176 zcmYk0F%E(-7=_=DND&vkfg>#T1g<8X98B0N{vjo$BvABj4j#Zm8CwVA`sKavz1REk z1aQDwAR+7=dpX^Q@oHH1lbpS=QaR5pkF~Zl3#5cir*B$X?OJ)dbliAC-m?D&2#c~( t0Zc!Tma3`=#d(;=hL6TFVf!!LM_)z=-S7oS!p0IA;+8-j2w@dDiVsiWDNFzW literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/util/Loader.class b/bin/classes/net/swordie/ms/util/Loader.class new file mode 100755 index 0000000000000000000000000000000000000000..7692f81bc60441e39e2a3b387ab85ea982042551 GIT binary patch literal 426 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 R+9HhT!)S}OI&BFB{|EeghZ6t* literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/util/Position.class b/bin/classes/net/swordie/ms/util/Position.class new file mode 100755 index 0000000000000000000000000000000000000000..3e377d8dcee76d531b6a61d6451273308fe3a0ba GIT binary patch literal 2238 zcmah~TUQ%Z6#h>Gc(<(LuY}8&f+-!@bjRvTI*tA|4$N*DA29rrG{t%!0 zqQ3B;YxTD5(&dv6{w9~pZ_iA^6r!%IoH?`4KHvWKxA!^o=ik5l24DtXCJ;hcLqtau zF@>J{#sec?HEP@WrH%XMrlSy>wrZ9$s}RnPt#u)eE)5ACC!i~&Yo?QLd}G%umYLse zajbOAV@jZhb&Ry2%L!y~R>L_R zui^EV(p_=tR&ATR!O)=`$4!>w8JmH$>3$3ejw_IJTx?OkuE- zSj*Hnfh@*#ObAPj0+h@x*LFciUTiViR_#4;dt1jlVv5tWY;EtjewTDy7GoEU*KNnK zcg6KxVelRi$v`+rr6+YvVcOe1S2Y?9g_GG}2Ck8^&EkCxS9M&&^_KK*ZM~$qEwW=Y zc0~71k`%cU5;4Trb?jE3_|MH2MUpI{^bMFtfTdTM3^2FGp*B~$38?jc5zH_Jb@GeZqSnPwqYJO z`9=UYjB;lZDCCBT`C)Fj@2xOl3B%!7m=wcwGfWS|^txe$t$=%B6mFsDL*8N*vNqD! z6a5vTaya)Cea|tlQjTzzmf3T>`V&1ukVJ$E&>uh@X`_CKk9^cgG7!I>7l@YyQLvt2 z^eE2h08UREhnJ?0ljl=#qPfS=4mb&t7!GWXwl|ls;BTI#w-hht7UZxNa%X_0jpCe( zFyMLl2$G_dS_1Qm^|69Pl1GV*b|kXcnMj~o9+5E;$^8ovX#pX!gxfxmZ^7>x>E}e% z8Ig7N1+wMz_*3N8hdI8vF7vnC`Nj2TxN@j@%5AobjCYA`c-f7a^U&JK=kPI>87qoW zSB4NhGxC|^UWFB``aHg)Xwvb8-1rZOMh?dRK#FV%j9vI1(eT0e?}#r**(UgZ#143j zB&W$o&>}w~5*87|ZcBM*W0HwYVGz?8<|q8{Y!uqm3it$T3_pxCKIM4{;SMp9h-xYI z7e+M1uZmXXcG2ejE=>EKO(K40lZV&YGe>JV7pP^r-BfpR&(C|2%1HYRwK|&#_pM7E dI7w6QV?BN|P}`w)GDG-`DG1-si59{a{{Z1ok_7+& literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/util/Randomizer.class b/bin/classes/net/swordie/ms/util/Randomizer.class new file mode 100755 index 0000000000000000000000000000000000000000..413e75a2bae6c6e8b91e2371213bd70d71b64fb2 GIT binary patch literal 1479 zcmaJ>+fEZv6kVq+OlhYSxk^DUf^t&^Q4s~Xlv=H+nusA0UYNEM94s?tI#uus{16jg zyhKfkk;D)1ql|l>nU~ zxAwFrg?*#w3bZbpmg%ktgeRxA+7LyXf|!apRDmJOaJ9-C+bNlbc2Lo(u36Te>Q>1< zFy9)EK*XVgKxba^2Et1*v?HmYL&Z6C)*lW41Qg3SbaNJ!KriPQ-_772Vx7!+7kw(u zqhFwnq3I*ns0g%7?xd%-7(Sq45ElgEGHTmpL$@T^Hb;k5j9^qC#?g#jEtCxz%y4i_ z#W*hc#M!c~dsSpPHlbn?Qvy*=%-hzUOnVq3X}T3$5lG2qD@L*EnC_9b$s5B{C59P< zdFke5g6YE4&xT#1$CG)}G9FhC3WoDcm*sTk?V?`Z(jAk}{$<2{VN#zX`TvW*M7+AQ zHzy!+q)Ne4C$y7hiE<<$jka8{t3039s=sM7E1T6~(WuY^tnxN}9Nnej5}U4GeECR! zN8zRe+ zx@u4$ zMN=BBfSJ5c;A=@g-c!P?KGLDpt*}N??n^bI;ndppV z+tz#nt!Rs3i;8x1DCi8@=Ymx>Y{N1YglBd8ibF6X3%gWol~po5ogjFRie8zBabk?L zWNw>^?J^hV+_kVL-(ok_y(ZDsfh`^F-HX%ETPV404k=cB$Ac>!VyhX%%HE zrQ$=Gs^`>k&yA0;H->#GKE|+uZB=e$Ez_h}^dWVA!M>nn=X6R|ubWvbr)Ny|WxFZC z{zS!r6}p#=oSm1+v_$O?{Tj&d&ow-(;>Ze#)4Djek&!;8;y6YXw9adD`lw}QHT$w* z=h-XUnrYLqHWy=T)$IwpWSFz*1U|*d7*44;jZBS@Ut-){zsEH*XU#LRgcG4!@tKeu z^Jb>#(kPu%&^Tt8`niSq8ND>A%@jDZam>nUg(|<+j)cR+Q+J-t7KYQ!I6Q$ zw=4OPe*fD+a;hs(>#gs%qg82!T9@4%V&vIl+St*Nj;Rkm56E>6ZtXA~Y zkI!3+x>O8HaA2^Sk3Ryj3#pS*EQOP8N*fv68i5<`i@> zzuyNN&*^$`)GCr&+_v0|BpA7@$x|k`l(Lh5D}JuX(Nlx`iXD?EQsPP;B2GK4ATePr zl(PCsLsGL|&a@%fl1Jom%d*RMNh_Y!?YxyMH%76Tz!L7na97Igo`UVG>HBhwk0`r(cydeQ9N5xv&*>56fdVzdW2`h<(8^`K9K$08 z{cHRWaw~?%th)D`vW#2}c!I}yR{>!@dHJwcCzp!T@-lH+ULkB-!7w7q=UI;SvQ^kd zlCPos;+UP|Q!YLbD9k12*;8F3T);(+1mF;#0`N60BW&9RAlb2uSh8~&4au%$G$l8O zm(je6+Rkl(^+at%J(}3tfM(uxTlkb+_PI#jF2r1o;VbC*o=E@ zmdHll^*d~KzCw!-V(W0)<&2w>Y&l*-Y%{@H2-%8FXhSDyZRd7Etj7hd5bMVTCb=ay z!X@_V*ykPUkw~$1HT@N_7c{DaXeyF}WNWMMJ`?s%TJ`Cn#i6&BA0`SG*lBgKq3cg5RtqS1^5LKK%}Xf$gw~oSAvN&RTIgO z$e9{MBvXV4zdHhmG*=V37)WF~n20ZX+|W#u$kiG|BvFM3KTnX2pyWSx_Eei3sKPM7-gQ3?r_>utr zBLBvxc~>QHH*13Sd3e(9zrjZk=(mBOvo%45sgN8IKxc;lrr!sG=6#?s3IX`tAM)^| z9mxfN{ul^q;FhQ9b?>rDdYbk{1hFHRujm@-;7oTeUrURhogLgWFj!p1oU-r&R`_J!dP`y=nrI^EIv8fR9K*E=hIXXgIF%KOvV!M&jRyd6|tV@1B_ l|0B%n+fKHJSgVqxW!5UFzruP|a32piO0f5kH~AB6`47#g$esWI literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/util/Saver.class b/bin/classes/net/swordie/ms/util/Saver.class new file mode 100755 index 0000000000000000000000000000000000000000..501162ae9eb50818bcfe1e32281093106c925e5f GIT binary patch literal 424 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 K@3U$?Jm)V0VAHVx literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/util/Util.class b/bin/classes/net/swordie/ms/util/Util.class new file mode 100755 index 0000000000000000000000000000000000000000..64a562a168664e10e19464f439854f82517aa7b8 GIT binary patch literal 13485 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 o?A5esS}mSPhuUU++DEi`S_@75KO8z?-2eap literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/util/XMLApi.class b/bin/classes/net/swordie/ms/util/XMLApi.class new file mode 100755 index 0000000000000000000000000000000000000000..6d7943a7673860f138571a15bccd71bbf3a306fb GIT binary patch literal 5192 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 G=;>b+jr2VL literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/util/container/Tuple.class b/bin/classes/net/swordie/ms/util/container/Tuple.class new file mode 100755 index 0000000000000000000000000000000000000000..55885f45bea89b9170d1fd22e140f878e1dec8f2 GIT binary patch literal 1803 zcmb7EU2hUm5IqYE3kap6rL|gHZL6@f#qTeWYMPjspeE2Xu|92aZC4R0EE=Eu9sU6I zr4O3;6%&n5KKPrA@yybS7ilU)_e!*LwJ1k2vA z+8Y|unR|UAZ)%8Eo%M$0c3PwuTrL-6t#BPM*9tQ%HShCsvdnJX?mS+zTg%p(bSzbF z)~x!9)pEr4ow~c>kjiX%fTpvI^lpsjo7*_^g8&psh-^v(ie}V4%Zd$-r0h-e;I4`I zE#(w5S+5mFdpmHXPwNFLEU>bXF;`^v>bA5n!rQ)!VHGc|FV3n4t;u_?Qd)K(YNjc) z5>?l#J-TIW`t6O#xYa`AQ#OX>XW@Shd+{)$ALN3^e9_3JW4p9HZz1 z{Q3g?@hgIcqn$AS;L%D40=?D6bUl)nccO|(%DJFTL2sD*uM zlBIj52+5fcQu*@So$5;?@i&d}|DbW2uxI+y=$VwFag;PB|3O0up+AizC%R4JEO%o# z$5kZqo$U~bESkC32E7$*AV|e8$0-7@?J*mGCS>e*-wX5twioZ&# z5^UqDd_c1-kkpn;4>Ua2q7HBkcGR85%Fr#xj zYyDxERh4J!R@Pl#wX|$;Z%wyV`;=k4VHyo?+NUK&bGXGYQD{LEY)(K<%18*j5iYz` zZb@W(PsaP0qEu?!-su3DOr|pwFRNV8V=R@FzI;(iqCaheCXgJ zkOZ8=NXnTi`!Am$+(00HtIZnspxT&|L&+J-!k+qN7ESQdt}lhZh{m{ z%19wiA}N&$Z%`HaWT7ALxgb3Uj$W}y|2 zXXWbH%Pmz(fFUX9_)x}2_?R@Sa^A=r4bpm!ROy?U@O>cTQ!Fuzk}AzcSqd^zv`tm7 z<@%$gN`z8WYr0}PCTDoi-WJONb(@&2_V+C-Ifk|VetjzwI74}(N@+|KRGn`*^)fei zm9j>bM8T*iT1hcgG53u__MuAMG26dRhNaGyAGo$jt9t__f=Y{RD2SYD&+)X;%(J;~ z+`gdI1BMouagw-g_cGk=rF54n!a01*sjU*-A~Hly#CgK-bP!qwk}gIxHTN~cMh8K? zN*(}KR59$HYE;Oirqs(-Wv;nn=I%4>53rfL>+jz%BCu369J9jLRndTB%`^F)pqhkP zH4NLbO{KBP?L(t#O$=jK!grtxU{A*P*r siNv9#xc(p+zQA;IZ!ILVNzAGdT{nS zD6a411=vvZs>ZFkf?*sxjo`W4y))Y!cc~GB%Lo6_3;Ax};Hm2)=M_yWsy5HX@nc83 zdMA1i(YK^Z6A}C@4!2)qtYJNlbs|&|hO&$;Y{$icCqL75Zss+`vbYt+0mGdxihHpY z1)a{*?_Nrc=244V6f{IPM~MFDo~9G~p*wp-bGm2W&L3lx#`GwlZ;n=MB1|LTTKYLy z`W2%4&oTNBq}DM0mkYE^-*H+D0vLiskTH5_0J7(f6+EFC6ZbcT6wq0k3Ft`rZ%BXA zAOry-A`7UNbHsP{GX9)?{{pK%$PWD%bq%L8l$A&&?4pPV4ydvSF1bh|sKEBp5F?L; zJXyUIh2;@pdr`im5lKd0k?J;~iqgi?XSkGEc!|ql?6vClf=v<7WjEN2xA<+aF+9Zv zK@k9+(I`Y?dN)t%Lk_35}CLV5Hz=NlLkcR{w6Sl`gfkt#M z)3=j{8yE2~OFY~jfQKh85AUtcMmSvbS}Gknq# z*Xze*pdiUbAZTjyrmzwTD+&r@hwLGIgKz!VMY8>XpYSWZ(Ql}r>iRNp)S%+Z|M>mJ A2><{9 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/util/dsl/SWParser.class b/bin/classes/net/swordie/ms/util/dsl/SWParser.class new file mode 100755 index 0000000000000000000000000000000000000000..ff432d3a99bc162a2d6c55987994a1f0b8c53cab GIT binary patch literal 2883 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 bZQHNz!7TZ{7Zo{mZ$+iLPd%U>q~L!82&G=N literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/world/auction/AuctionEnum.class b/bin/classes/net/swordie/ms/world/auction/AuctionEnum.class new file mode 100755 index 0000000000000000000000000000000000000000..140556062c61c9c521c50b6a28f1de077ae2452b GIT binary patch literal 273 zcma)%y$ZrW5QJy_i$9Hz5ewZ15DNtbL9q}l>@MdLPtFS@7sXez@Bw@%@q&$5*~|_D zvwZV>-5&rZ=tZazVke%9YnC63@VVgN?15FOy~!L;KX>lRbA$$=e^M94R=Jcn$w{;) z^iuKLGMU|W$`Xe0ac!}ionR7I=b3C4(zrSAsc!4Jcq>whCGh~p}u;q)$mKQ9ag?$QvjyTmjRtGe@np zui?PzT)2@lXz`InrPkE3HI!E3*qS=F{&k!>ZRF{TuQDvc)R3-v9(A9~x|-M$!!lMh z7-~>Hr#sT+O2fc)4eRH8%x#bRXLdX2#LnQ*6<)s{hC!%07a4A-&Y5aBoG3RLZYjk$ z5quQ*Qf1v?xSMD-65^py+C7H*O4Dmx4wPUqJWxWq9yta!HJG#3N4<05L>h9>9nbaM z=w;&YSXBpo`g4m-*B9-0*b`xw_dHUTnt{W;V;;JSPsN2!#GUsvP|P;ea8!=>z}nmGzj|Sp)F+eI*??CHGE%$HIGXvq*5_bY+`a7+Z3nh?9eHJofwqS g`p>JaH0an(@@?!9>Ph8(qNJ!RP@r3LgfMe|00%tTegFUf literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/world/auction/AuctionInvType.class b/bin/classes/net/swordie/ms/world/auction/AuctionInvType.class new file mode 100755 index 0000000000000000000000000000000000000000..89b20cfdb4ac8e78a60efa27d26c4ba1657b10b9 GIT binary patch literal 4576 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 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/world/auction/AuctionPotType$1.class b/bin/classes/net/swordie/ms/world/auction/AuctionPotType$1.class new file mode 100755 index 0000000000000000000000000000000000000000..5b131ce4ce2c8b1280eb1f636a445c267baaed02 GIT binary patch literal 945 zcmb7C+iuf95Is&@I|(i|z0lBd3DnSp(z*rF7cNp%QW24)6$#~`FKp~p;<8x>+iBG= z;u(+-LZ~0WFYqsjSvOJy;-!+;XU@^g&hdDD{{DUj;29njkU`djZea?BhBe6(H$Dj? zKj7{lb}16R%SK)jgwm~^<9?WQPKR8Bam>Vs#~L=vmBYpbN}uGBL*7Ke!X;Q5)-O=& zY-!kb+9yHc^_y(yP^mL^>gpuxDsw!xRnaEVc;p@wuL)s(Hj|j7^OLmg}X}1H+YXrpGBu8RyEj@?t9%M?j;&> zPdyRHAbFmeJfJ>1p-(?=rV&Wq8V$NU>aeaLWwsG|OdPN%P<$*-w-e^Qr$LW-p&gDQ zkM9PmV(#zxZm8~bb4_|8j04$g@}wX79jh)Sk9Gu$V;=~)aWjvrbLuZ{% l3D#SaGMfK+wUh=O8)?3aO+r1b+)9-Ubp;A^YmN|h?hou%+Q$F@ literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/world/auction/AuctionPotType.class b/bin/classes/net/swordie/ms/world/auction/AuctionPotType.class new file mode 100755 index 0000000000000000000000000000000000000000..31b3bca7db7e5c32ba291d6be8456b67f0ae3026 GIT binary patch literal 2682 zcmb7FZBr9h6n-uV?6O`+1f&(MqDD_d(U~!J?Gr>-1E$ zQO4^M?Tl}mt+-{g#9JFAByWY!nyxydQzD`^rk3qIYiyM0QlNRqzEV>ubRn{ z=@gT5iu9~HqHFr_qP`m+sqGVR9qYWEb&$XT6 zXyXZNK-u3Tu@`Yl*O=|t-Z6pRMpFSYomem^_yLJQ>?2)uZdKqwJn_8I4WrDIC&pSmFqd3T$gC z6pJFPCevgfz;rx>Pp&MOR9d^@=|uC@HG!z0Mlh;jOj0>hZuU2wv0g35h6N7Cve#@c zzcgbm#|Rn=Xb>w`V+tAzXb^jn1_CV?(wy*di3v>7MKgOGcA5fDw^QJ+NlamyN_tk6 zPye$6N#PXJV4BgVC0=KAgb6WOacb35cA;Q7ESr&-Wtrh``IJfF3{ysd&q`z!n90)w zo|jl?0Q>Yx;Vq_@0-u+-zzQ3EqBX(ak$9J-(m(ql8B=(l$*2r0O5|Ck=MgQNY*-Q( zSs~)vc%-JIl~cM$N4pNGBch{A$0pvZNGx+*Yq5ug9X?UvGK*wv$C|B`7cKXkxmco| ziKnn*O%<(I7NY`PnM&R)Etsy&HUq<9$1IcmuC=tKOZJv*Vq1IGE;^=HbA19V_>2gu z`M^`E`5AtMC|UuL7U;-&X8tl&Y2b`uS7%JBTY5E^{6@nI^Ee(Go1_-1ZQ0L|23)J$DP&D2cPOg%)+)Hr}>AGZodl0LngWakR4 zcGAp0qmJHt=zD-IcW5Qx(zi{?4AS3)YM`G&i@)0?23E2C0R-!}JfZK=jtsChTvc*< z)k%v_97c%#$d7@+t@p9}HzjU7?lD}$HFg~zD4i8@@#5qyY@{iD3kFS@M$w!v zdczl;YZSfdi*ml`?MBgizR2`Ng-4>$ZF0bmeh|4G)m zilO^hx{Hun*kQHM)Z$XBS{Q0^xlJuP)S{%RMN}=yx>|Iv!nuoHE<(TNw-G;p4d|c> u?xXKsbW#_JP~(eIBQnSdzZh@eYtn1MH@Hc2n9w8mmj2@he1v91_5T4D6>0YX literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/world/auction/AuctionResult$1.class b/bin/classes/net/swordie/ms/world/auction/AuctionResult$1.class new file mode 100755 index 0000000000000000000000000000000000000000..350da6ff7e84dcf866ccd0e22f0d591b639bbff0 GIT binary patch literal 1270 zcma)6ZBNrs6n@Iax{V?Oc@y7IDhve5i-HIulb5)-4dM_!@Ws;Ju)F;KF>M#+;h)8?ayD|PXXM+N*Yaw$%rdxMnXc? zX1?YfJFaOlt?Fqsn5tU!)F4$gOjZ3W)ux?%iq3gXK^rm>TFOj! zjY{5URZ4%P@!UnRIux8orvzEl$kw@pSavusqgz7XzJ8=@T(|eMl2fi3l{JfTbJcYn zS8U&_;DXq`y}o@>cMq7q!F7WP>qP~Zgf+Qsd6k0Y`9i#+;HnT?3yyA<8RtRH!g5W) z^~mCI^N&SUa6?#{pV$X86T){$K{g02!U{hjjwrY(L@Gu-Y|b==KBi#2u7^QGeL}%x zpo{!C1q$_P1-FDQwws-nF(V-p)nR>ipBX-#YQf-^ZTX8qxwa(4mmQOusI6extW>M+ zGIvwo<)m~J97E?@x@!p@imhc|HxB61L!K@>HP>KkRw1@ri_IzUs%>z`v+TVh z^DB-iBS%-=c(YN;CFc1L9gnhC^0v*~Wv+W3^D_O^!MEw_kutrahsBJPS==FsA)!fV1ec#C(0@9_~QgfZNuvLu4y3}T+?|?Y{ b#YCV*+$W4*AbZ|Q~$s~UR8;~Zj literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/world/auction/AuctionResult.class b/bin/classes/net/swordie/ms/world/auction/AuctionResult.class new file mode 100755 index 0000000000000000000000000000000000000000..3aa9827f18e606be7ec445f4f1435e2a31603975 GIT binary patch literal 6278 zcmbVQYjjlA75>g-;v|zB2r&swKpxG2dBGs4sRmG?)KZ9AML{wMsI6l0(WiaCSAVo?xmMTe&#o?Xm45r)JCDpHB;m)*J+tpQ z``de;Z|}3ueE7e!Zvj|$+au9H(D3%fyhb>|??nlJJQxYDHe!iTd`To=C^*|A zVLs|wN4KD*7~?SBg)$8j1g9Zq84*JPuWsQC#v_)WkS<)UFv0XD5f6sEEA&`zhY@$9 z90j7hO2b5aMxihmH~L}<<6ARxInOkpM#Cgbro#A+tu($N*Z3i=Si`w3ZcM>c7p7^L zj?dEV(U>m_8SNe;-l>PoX#3poV1^4bHC&52h1wi7{zy2?En=v>D--cmx_^to{VF!X z5&&PAV`rVOzSGS;n<_pxYG}eN&aeaL3n(aGF}#@L!gU(vVxB@%4#<#BT3hS6PGO#> zV|y^}?`_k!dbrYKlfly$^O!3=HkQXGh2^DV1AUu<8#LS~@o@=(!g@%I{G5iHa5Fb% zV7b3}s#tKR zA#+w}@ZmOvB2pl#$0JdNs=E3t9{6l|O9@)h=0dxMl~|=vp3#_^LLYkdSi5mAgU&qZ zmKCctbYKku!=|_*r8_ITT3qNHB|V7LCy`jMp$pw4iWLd2&P%E+UMv$X=o>>ui|}AA z?$mG>?xxRiBNi8x+;G}8nmw1#+qQC)GH76 zXt*B_Fw)j`EhlrQ=TU3$GK*7R)37%MxhxzINJ+~58orKiFskC`Xsf3gjbfID2Q@q- zwYQ|h(4+odk;mNB`Yk!A4k*mZGi}I1WmaP;5>xP~hQ~zX1WRL^9%Z>)71I5*b_xz^ z__n+)S{ID);iznQq3mHmX7+1%-kNDEH!*P)pt_^Q# zo+mS3)o?;2ZXb{BpdMnibK$kio*wBcK{j;+d%}7=5oMyaWYt2RiSu*wV#tV#%Pk9A zxbN1Hrf+?8;$51DMT!vtr5Q->eQn_`E3iG@!lYh;igexSjP`B@}^%VQ#jqB z2kBuXb5_pCh07|PnMy>VIsWc z#yQrrIrU_}Bl70C_LKcsp%INrYqEO`2IaDP&;gcd%g4%5w_F6QilQ*Y2{&XtNHg5s z5n+T4IdfP8>~_$4J6jqmR>yWWC2fY33fT}JyW8lJkRFQ}G4|2pcvDe02^XJi%Xxiq z$mPI%vaL0r>>SM}yFv5G1IT=`)#ut%=6HZt0EgUmC`nS%h60X&i4CWr8mNB&r48p$ z-gO!k1E@S9H}W(F_5*V`)JwG^dwn)Zn@S;v+@iU zOH6AiDf##u?M>%a7Izd9oGUdM(r_<{rLMAKL`=p!s@ z&cM!UOu{eNJtwi{C|u5dI16ZaT2dr4zSw{1Lcem4p!TLLwMoQob~aW!lh`gnrn>u* z*xg9g=8vzYe)L~@w;w0^aa?ro%QHiS7x0Mva$P_6+Cx);wIp^SV|H3{w~S2REK!bo z*}{1l?REBWNR=h2dBV*C2=_naH47M3F5kNhA>;}Zqh&{Yn9%d3A!E7Ak zh4KZ?PhuX<<9hrZH{hSV=zWZ4{EL^n|MIFQXM9vPGPk=hYocC>(obBul|89^>1E} z{(}t;4R<=KahJmbzoQue$08UGA8!+qvnyCe4l`S%KornIdqlggwPZxE<>(xow51+z znDdxhsSM=kO}xdt`60CpVDcvje2SSav|dDw<5Se8M^zkMVzittjB~-mUoN)kio;7> zIaunTR9(b`i*Qhfth|VY4#yq#WWE*^FsD^?4JF+)l(43KC}{WAu^#4WeB5^_bZ90RiP%zzbgF2e}`B* z&N4pd`72c+Co)p7%kaB||M76}kBk5xBS4(+3Bqr?V)zSb_*9`Tx4eJcgwJt&90LIC zB=RmI-V?DTuXp?+t0)ZIkgL)81P81;R8z|D}IZnt;Z_BD;V&)j5( zneLXadx^S_sQU+@T4!nr6Uf@&Vit!Ki*n-l)bJiXNZk)n_rrs9r^u7iogq(t9DjnJ z+8*ijNcP6&?$bnVYpNl4nA74cBSIl?hpRvJ)%^#|qz*T=f*&mP1(>W%#Apx`6l=MzI}8!T9J30{INB ze3sgtyW&9pDou@UdL~7n#!7={t?f(V2*W6KAe$mqERPcX7_LS?v;O%k3u??NDs^Cd znkK&<4(Hg&I4@Dt%fvZOoL5G``OR=RFN}=y8gWh$XMi}#5paGx9L`H4mS!>BV&2>2(mQ0{c~i5+?ri2s+sun_7W4jqKiU|}$pPsGD=ZGY zLSJrAb;X%XvT)v`7w@w#{=mc$oh2r+^uY!AlbLsa#$Wh!@|_od<;ZQ0I4CRnKVbCl AmjD0& literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/world/auction/AuctionType.class b/bin/classes/net/swordie/ms/world/auction/AuctionType.class new file mode 100755 index 0000000000000000000000000000000000000000..8b741bc1b52d3d92eeef60ea035b49cd97f9cf48 GIT binary patch literal 4045 zcmb7HTUb=r75+CfFo$6So8clLq7sY)R>oU25i}@)FwLNbK@8d?Jyw2mbS~z1G@muf6wL zdtUnQwHE>G!_63~1d^`hrAki}ih0{gEtXRB<>XUlIp^60H+3Musk2K~Ed-(x)u<7O zr(N5#O~-!H66nvY*2SRqVMx>lK0IqNW0$LW?5@?Ywr;BGIaO-Ll%Gby~~UNVKy#@oYJlvq~i`?vz-o#r0XsB)1hK z>m<7Mh;h_i7%dhHMXkO;Vk3K576w7wCDF^edMRmIlGeRjVl%te0zGhG&a_=U(kIc+ zBX=xQkGx4@>z)30YH>+K95<^;67i2*P%-Pv5ale)~1@Z~AxL|ol95csLACNf6R>$np zJTEZMTkwFysFoYcay{*X660Ffuq>Rk77J(C&zmJ4(nIx`f|<`+j&p1N35i3uM+#2< z*2ocwhxJG`ZN%UXSoi@(c2T~zeVEFWzTy! z`;SY!6((h|clto)=xA18%Zb$=_c(IM$6!iWI7tELoPtXirX|^zIc1(PQ;zA*r4G-Y zqU{-sV;*)4rz95OP_Aw(jJoATir|dtl&!<$=ALAQ^@wAZN`n=GtXHH1GFUl-cEJ8! zi2{}cYKCmOzxxH+DqV$^>Aq>5)1pKP9$hY)S3soWBs(MV1l~sW97{=HYqIbENJoOo z&XW>v$2+K!cvgwLZ%n4cNXwq>q)wLIpza(gT6sHXdKSg~6rPUZT@vrcdj#5FRcqMn zDA@|gleU{bW_$D6SYR}Hq9QF}mIKM_%~hGSTiYUVPU3xdKP`LC@}_k*BFVnAfoh$S z59ySCm}<;QnWR)2s5KxBG#W@4Xf@DoV6A~}0~-zW8rW>0-@sM_+YIb9u-m|W28ImW zZ{VPTQ3K-!9x`yqz{3Wn3>-6X+`yxH>hDQ>U++e&cX>OaBZWMjuf~k+T8GMuvsQ7+ zoOMXDe}(A!R)3BK5}88Ibf(RstsRD5qprC~&Jz`B4$qL@-+7x3NNv`hb4{;YB)ur@ z^)!V`S=9YRpB~!$SMBHPwx2<&bB?(Twy2ff<_29oL3d+0l^Z zr5HmwC%hB1xfJD4#iI268Cv}``zh3Twm_}Q8nbowRYeya(D#}|2MYzS;q{Y+dD6^zh2mK%d5e|o<;r~yje-fr zO*ijYrQS@TuuxuFp>>O2=Y9< zor0XFvbSNlL%*B=LVEo$(sPHAo;Hm1mSLnf3?sc+80nG1NKX>RjUm#rgE_r480lTX zNUsP+dNwf98-bCY1B~eLOCI2A(OJSZPOAl5^u|KdI#yNucE$o-UhB_d z+9IA1{Z}z}9YX6@-J${KS3}~wVAZ^jN^zPsx|tzbX~z>|GMXK`ng*^8fX+4 zpt)11qX(Dv)kc=u<8!JI(cyH%3h((`8G@_%4 zR3s|!5-hGE@S<&KPM!Fl(RVef}$`Rfou4Au3O;xd5oRBWMw!K!eYCooS)AF& zYHFC(Gy8Zf#!NB$gkdmiX7)){qXOMF=ATkA6=-)b|Fkkxpx?#(GpbhAvi*AI=T%(A znfEaNtg2IW%r`OroRUg1Pcr|!s#o>Qw=n;LYEUiA2bh0RHL6zT+nIk!Db>w<7xOQx zCbgdV9_C+B36*5Nm-$y!v+85MkNMYBi`vS3nEBULs~TWF!u%Q4rc%tun14g9Q9GEY znSWEYtDVd<%)g~N)DZK-%rB@;HO73B`M1?t^&s=3%)g_$)Hw4;m_Mu5sWkHwSMlA8 zcuW_8pzu6}_4FO5yHJNNy6*j`$GybH=-1~I6!K`I0+7HtG~+y4aDjeqUZOH_18Z;- z9rzbI@gJ-eQFMtGtP{QH7Q3)sJb(>i3L8ZpJ;K9X;v9O#d2A9FaJRUG&Ef`<;wF{5 nXjoc)ffp!_D!hna66(5foo?{&@khLjzi@;Cf5qSN4|MzwSeCc% literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/world/auction/armor/AuctionAccType$1.class b/bin/classes/net/swordie/ms/world/auction/armor/AuctionAccType$1.class new file mode 100755 index 0000000000000000000000000000000000000000..3720239d22c0f9007239dc4f359019091abd5fe3 GIT binary patch literal 1313 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 A=l}o! literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/world/auction/armor/AuctionArmorFirstType.class b/bin/classes/net/swordie/ms/world/auction/armor/AuctionArmorFirstType.class new file mode 100755 index 0000000000000000000000000000000000000000..06ca51d844a1b465f8e16e99e5257a1206ae3266 GIT binary patch literal 3020 zcmbtWZBr9h6n-vw*$`GiRMZHC+Ef!%A}Z7xupnZamY3Ej7U_%2vchVz!QBm(Pn~xB z1^uRfpfepmSe#L&op$`(ztm2r&)E$cB4Zny%-y@^-1B~)d+z@6_b$P66?e(Da%C^ax6)G1sG7cAadL)RuDH4JkQx`_vh8~Q)%8`Y6$()uF~k)jdO?d0xd`7w&Ey?Sa!t-xPX}j!x`V(9(0`Q`aVo z3i*XMk0gox=+dxP#{nEQ&qGCVI|$0+))?JVc(J&1w8exHuFaYP|LVmr2fL7}VO zR86yxolCM3X&vw4C}jh`p2BD*`#(z2iVU(E`gI(~32yJ3?rwTeVIp0;XZz;Lw6U6| zopcRx>9Us&5SOkYE*&5)y(8ijS{4eD=YWnJPO-j%TE`&tBAF~#PUDP*vpR+_tZ=5u za0Sx@;j-mlT%Qx0=Q4$Cvp5nX+_rOgU&DC`B(E^oL?EUahB4fv?@*7PM{z;J2jY25 zVfep$=2;4kUFbgFocnrZ#&8i68ZPOWls)Qih`}t`mgDEl6~i@5-*R)dZ?WwZ_~b!n z_2sRwl*EVlNJBx#$M{6yXrq;iF>leE2QgN=m^R3VpXJg~2UTRwY(`3n3LPBf#(1}j>HOT^R&9fW;( zt*)H1%_EH_w*w;Rb35Ox`3w2i>u#?|vRJ9QrghmC1f_QDoC9(*vGOyP=TBP#IPS4t za2(4GE+fku8zin%9A6?fc1Uh@fHN=TVCFR(%)EGkj+9)u{D$D6kPC-eUz0k*S$@e4 zbUekr=h*+4l)_CumtT=5u1G>7I{S5VVXy|10Zx_IL0)y7~?m_0#337IjrFnzT^BoFLX({FO2_1%J;E~ zyNo-AZ{afemLU1PX#0zwDSO5g4st|$`RGVWqo$}7Vkp=Ophx=+YCghkD9%SWpcUt1 z8%P%C;~Q))uR=Bf56d+ZX3a$YS6b-27I}ubCx`^Z^=Lq70r7b(Ad&$w9}kFKo4D}= x9RkwuOmr~;LH92HQ`pTywBsz==pqEE580j;mg630+0+ca;hWq*8P4cP`~zbM^~nGL literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/world/auction/armor/AuctionArmorType$1.class b/bin/classes/net/swordie/ms/world/auction/armor/AuctionArmorType$1.class new file mode 100755 index 0000000000000000000000000000000000000000..d319e4cb86d9d924fb0ec05316d7f0aa8608502a GIT binary patch literal 1078 zcmbV~T~8B16o%iWrCaJCD}o??fvkL~tcX>NN`eSNgkrJ{UU1{E9qHnBr`erCyfZQW z7O&OB7-RSW{wU))OOq1yilp5$&zm!6&U+SBrBVwEQ`0*erzr8L2SxPQC<&Z_ zuuwil4R_AMqU#@qCa7=9rb{KS@W-)WI&Dpv}x8JuB#;Ve4?5d+|TS=f+L*6m?_f^dD`BZx)4kDd~@!qB~bzP$_Dk?Q= zI;DohdK{}{Ig)9rQfHK&&@Fn@mNU$ch*zY{!lQVHU=TT40Uy7^I{I1q3i}KHdcWaZ ze(MwRFESh=?C#(QVWERp2<;Az5*9l+PUxJ-o?t$aKFxfb|C!%A1~7y{3}YM<6en>P zWs3K)gl802@De`7DqbU?SVI#jMT7VFKrx3ovQx-RjnQ7vMFR8mpMmqrri{)1d@8JU cKFH%iibALZEmdqKQIMq|$)WW9 z{lB!sht|wMrk!^9++Wcj(&=>fq!wcs+Qy!{^RD)u+g&|->)-zT=~n=!@vVl0z){x< zOTk^wuiI9s5tQhcQ!km#T4;N2$@CkZUmB03aTaFpty&ofq$IkK7D!$)LxE$H8-OV@ zjxLc=IJ4d=%bO%5%jubBxM+v0dP!o7Ql0g}&}*=2t3)@ex{PJd3Rv^9#CBzL(ec(I z)hiM^l*(APEvL>_y%M`vm6|Z4FkY2-4Z8)j{M`8DweyC+@f#b8C5ye-r(w6m>&TO1 zHOF%;a;s3BTrt`59V*^gDb8gnD~Bb9afEEuxq-lm zLUE&67{M_O$0gpt34wtQR@5BZa>G(>+4Rj?X!#{Ow1{&RngudTR>;39bz)VaSjpfN z${I!`ah3c()`9h3h?*Z37|R=X?Xb2yWv=E4A|G=--w5&wA|G=-uehG?}(zsMy)5&52=QNy`xPXfS{T=SrJU0kUH;kg2_*)`o*nujURH0IwXON1-TZ}*t zs0LUwDKW*Gj2+CZS-$D0!)7F|uvWK&s1Vrns)WJHv>k9MunI>93;)#Y8fkH>zPrsHp zn-Q&36JDK4V#}oMTGP$Og5}Se3l3>2&!J{3+6$ z=qd=8ZK8a}u$NpjZ2DwJ?3<%J6Ccmsn=>7*hss9%Nm8x^M1^iP!ZVr+G323tg>1`R zSs-f%Qzp@v3SOX8=*-RwDyv+arzpA7=;i*OeatGZ$8!RkjnJ&!rV@%1s*lov(Y~&rni0?MDCM#8i??+o!|=56ll<#RP2&XLO8NFXwab3$- zSEv=7874aS)3A{_vy&ScKr1yOwNe98D|H>UQmaubH5j#0S5Ygq5+K*h9fUe6)eT>x zgnFB#eYEl?+d|(%?0Jm6KaeEg(41D!Hj#Z1jo5w!38l?;i-C3Qe+?J8 z!4s4;)^L{)1U|sMc=vHy6O8(d`@7W6p6F?OJ_pDcR3P{eAH^8Ila>Qn9DInQr&~BV z@DOhfeNP(TIt@;&PNPI)gvLo4V>BjcT%s{W<7(eJ&fcf#5>J}!NjK&SpuIC=1a)@fl-l)Ke;Slq;a%YkRl7QM)WBNsG?_abN9o;)Y5E&?6Wg#tsZYgp`~qK+eF9(MYg$u;athzjFK$7nXhlx{3)^*od;kCd literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/world/auction/armor/AuctionEtcArmorType$1.class b/bin/classes/net/swordie/ms/world/auction/armor/AuctionEtcArmorType$1.class new file mode 100755 index 0000000000000000000000000000000000000000..c6052330b2f00f8322fee7fc9e21574d2e8d978f GIT binary patch literal 1026 zcmbVKT~8B16g|_HZd(Rh5v1Y=D66!7u%eNepe79zA<|;f1|N8Fn4QqY?F{a2A^swt z)x;QM_yPU}|BLa?QqvcnNOt$!bMBqH=g!RUzdug_yu{NIGRQi}af~6)u%cDs#V026 z1LgH&kD}1`#6Tv2(VmFE4o7nPv73(M4o7m+k=%1f%Is|wX?HGhlu=>GHo}lR zU350P(UTlkFvZ~5{ndinWoz{<2Ui(p55=+YLZJ`5w&@IHZzE8l-;5#?Srb)`Yt{sB zDcKV`kgt_U6W2Lz*o4#2eq;jQ7T@BSvs(Fou?RP*Jh8dk9CvJPd_58eMmIkWf+MTD z9Cxig)-{RhJ6L3>j4bW!A1awJ6kfH zztH#xH14G)niwv0NubeSh|wEv{0Clns78%~P)|OuVDG@vkWvB_(NHT;+Mto0)Gaf6#L#VV)M?Pfq4rogyI|(Twp>HK z*y`tk_54wWyW(4+p+S6ghirYKVD(=vn$u!mrD3($tA`7&F(sBqG^{}rk>evh1E=~k z3ih2@>Jp+@i*+iRG(3v+Op?tPEQ3iCtpgYJD|#}oTNBCS;}?yrn~Gv1HmTUGVGH71 z%zQw>d(P~rjI;~w4P51_k(sxxV+))N|1vNBZ~#?tdqHqt>APip8!kAjv(lgt(@$JH&@ zUt`~#MxvX}pq`yHErTt^R!XE>#{{cS!yy5h_YW8o;yA3~h&bv@r?-%sIc)1whS<{@ zo(cvG+q&hLj$5$BF`!{k9JQts^p04MYd9fR)pWd`5!=%mG696&HG{fyNgSs%jEJM& zbbQAN!^&|r;(JEJsQ8x6`A(CKj(E;!cyRGVp*# zXkBXCD`*%fWcB=rZkqxh+TA3VCqT)Y&y&39 zJju(=lf1}0$%_k!HOqCyi<{jd2R2di)HYMfU$l(In`pj+wVzQ_FvWL`=c{A<7Fa=i zC#pPav_WZ`#fCdjB))1ve1R6tkHR!AdwyOgjFOBU2=ND~ZQIw~!q(3{cV)Wy;VNvI zIvg*?-QFp-*Bv^MWvJc(79N2$S8JWm7#Gk75w-9=d?sP|33$s5_|dxQM4 zK*3;J;6=RTV<;cfDhs){{U+KEl<`>GP3+tGDJ{T{e59~4`)z#Q<1@?WHlMHg{IG5o z`%5q=dP_J*(O<%8ilZf*@O^3D*X#RIzOR$wSPAVELnX9OoGf7j#c&C0C{CBKf?}+M zD8<!#V-hwbFM>)eK_!-;5<6BId-i(hI@b~MHhzTv z8v*M{$PK)6H=&QTI!V%;N1XnxtXT`*WgXrp2|lF%BebDR5`IJZE!uGxNqk3Qe2?Au ziSlQn{E9AbCpP*u{%a@h;bpwS+E(KiyvjYP!fVXkjM(q!RDQ!`s9V8Wd4?x|JWUDM6MzPg&+EhUzIXPq`5Bl$EoXxPeA#4ZjoD zL*=)IW&AZ`IZIj362;Ji6&OMtC*ilq8+em(Rd@^6D8n4xiMRPBS7Ik6Vv#=q_;1-A literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/world/auction/cash/AuctionBeautyType.class b/bin/classes/net/swordie/ms/world/auction/cash/AuctionBeautyType.class new file mode 100755 index 0000000000000000000000000000000000000000..f250ca008cd29ecb66cce4aac43cd9c73e1b3139 GIT binary patch literal 1890 zcmbVNTXWM!6#mw-Ek{uNKW?JP15v`m|BhL{yQ3Bm?;^ zyz#fBf{s3c zlU?F&AQ=5RbjeucwzM>;V@O)6N45|+pra^gt^Rm3aKe!M6zowQKcK{*PPA&xyLF4< z@*n&1O2Zh&Rg`p;@gqad_By^p_?2q&K7Ys!kNa!J^2&Y3j!X@QaYV&WI*#HP!{Dw! z-S2LYGY`4fb(a663{_Iv3my+cGsUo?!1dS6v;_em@lWWOz|Rc%8P|8CS%y*?D$#6I zTN)+dl#U9jBrENP3|A}F{biwmoB%vgKwklR0Ye281!GFb1z|y*h)t-NW~h9(`bq!9 z8ObhmRw8Pq6tB3UY=Cm1Pjib6TKq~bEJkZ$O=#xPMVohS)8WCUJ!4h=b| z;s@JsIl!ZM#6KNM$!@7k3dbylX#G3dX*$4N>Fr@uwl9>TOor!hSdzW}5L#w1<-QD%Q(Nbdzw zg38&yU`*jIShFIoj2J^hnrwlN>^HDwiNZ3L(_4^@<;)foL&SKnR5?szEH-`|8xMUY z+kB7o8CSO4v@ CSdM1^ literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/world/auction/cash/AuctionCashEtcType.class b/bin/classes/net/swordie/ms/world/auction/cash/AuctionCashEtcType.class new file mode 100755 index 0000000000000000000000000000000000000000..aab404a02f86dd8ee2578892345666b2a9bcea79 GIT binary patch literal 1690 zcmbW1TTj$L6vzM5UAE9Iw`JwB;tf!DxfPJBMZzVRU>12;+(dmEN`+$Sl5Q8nXYtJ! zUwlwVglHr@`=N|yx)Ug1P-)Z4%$)O^|D1DXe*XG)4B!c-RVWOjo*fwFcO`$_v5oDr zL4WSL!7Enalsv=YM1`hOx4?Wm|!%p&2O^EjrS; z!O(DKu;^8`NzE>IEB4A8hOunKd%@-9vKi?p1is^Kn9&&oAmq2{Xh#P_V%qVXV1}VJ zijtm7xuQla`<3YtIyI3|?q+;5zgZaH8r;;4VF8xJNWThqnC_)TuiJ`s_aO>?d-;qj^1T9q7 zBv*6F%RI0)DeVkK_Tri?*Rj38ur|5Rt-$sTC$MQ>Ez#S|y&~zN&CvfpezdM>;#P~u zj|4;{Y5F4RpSG|$V_xldJ~&#TRPinQsUvdVcKJjY6#Hj(m@2NBo^B|!9pZQZnlfT{ z(}7b6*#qfaMiEvCK`!pU(`%x&>-W2OSLemMDuvgC6 zXQ@Y*zB%-U3NkR#qj79K1nTw2ICSGU0+KG zYORh-fn*sXscbQdF)49eQk3{7VnrG45r%TgP%w@OuqI6$6_U|SWN{_qKfqqbNKfH% xf@(2|0qHO#9n#;)K6N{Gh&u;}9pUZ)R1xcHYPC>)67^IPij40R9@Dr2^EdRufye*= literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/world/auction/cash/AuctionCashType$1.class b/bin/classes/net/swordie/ms/world/auction/cash/AuctionCashType$1.class new file mode 100755 index 0000000000000000000000000000000000000000..6fa1e73be4fdf9ab1897d84db00e7f077b16a028 GIT binary patch literal 1017 zcmbV~TTc@~6vzM5mTp@Ys92@q4P}AW3u{69BANgeCH6wn1|N8Fx*h4_cDLD?h46`d zRuf~4;RE=Id@`O{n$)N-nC$F1zkg=VZRY#WucrW>qMAbjNdqYp6G$^ue4%W49E3er z*aK;k=k;tJIm!)u+u^crZ=Asv`JI!YU`QWvFA|cWS}O0?&mG`N78zs>R^HvA>h0NlclTMxG(L;dxZae>9`# zIb-4y3JiuGqt7W)vQ*wNaD`#+kRNf|ik6$S9Si0%^;9U zE7we1*GlRI9|$enG;vD{Mk`WpT_v@4+r%BMr8fnS)QOfX6N_3(?ut0hvWZg6HRTw% z%a9*e(&`=xM=@m99nbY$^(-!UkCJW$J-XoOy6cN(H0X-3!@C|SGxfmX-X0HK%_DKL zt+?}!E?~sDb`XV**mm`a!XG1F(dj94&3C*&y8b~!sD99+BAP;~m()Fjx#RmH-14}T zLgwe`nUv|#vV2iL6z!365BJGFAo_tMc|i09?DSji6O51goBWK6sn&a>Ud1>|I5EaK z!t@w#5E^5gC(Mj-fiVBu?j_A<+dsfS76r`WGKyHh64_;};xXAOHt?Km4ZCQQ?cfa@ zvONqT$tJNvWvAof=U|hcp!JZ}BBov&w4?ElUsG%G4=GgQL#tRLn~IM=ij@Qv0OaCH Ik(1B-0#{7yj{pDw literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/world/auction/cash/AuctionCashType.class b/bin/classes/net/swordie/ms/world/auction/cash/AuctionCashType.class new file mode 100755 index 0000000000000000000000000000000000000000..57d7f444695da2cbf2bb60b0fb4c87f761f7f3b9 GIT binary patch literal 2759 zcmbVO+j0{}5IrNw-nG2O!hmCpLkK7!nTrq@k|1NSjd7I7He^9TklT8_*bDNCNGmA5 zBoBGZOR7?N08s_5TqvINQK_7s-HH{507j~rQO``D>FGW_tv~*)~W? zP)rMbg3>e7XtY9^>9=6XOlsa)*9YyeFenqoQailuhb`H()54I<_0D)sJA5cpyDjXI zspJ(;GM9XubE9;{c_F;@L+3IxV`kbvWaqBINPGdjbGcac10N$tFZoLtBJUy4M z+;Q$Zg}M{07M7Opcy3rq;}Eh2KCo~YM-+B!ZkP+&>on!QQ*V1qw-wIhy0mBOPODYw zny|yBAFP(TPY?i&pSLiMqx8h2ANb*v!f-cKtXa-i({#ac3nx(EUVUy$;cPDdHa_S> z5vL5CwlIM+jQzGlpDij(X6*-l=&mg|_p$`Y#sti+x3Zdm*_eP?Az*e30TmLr%5tR- zEqsKJ=}KX5;E;*QT%Ic>Od2?EVG0)%PQ9^#nuWq}GIP}nXC77s@_4SCe>GKN^WvyX z%i%NINi5;I9Gk`^(Vg3lQ=_zqwC6?plkI3n2^496D%zhZoP1+{G1ns11yNmOPQ9_J zyd_LcQ8&>evCNz3Ghvw+G%;jikBJePzG0yztTnO`Z4KN~$i4EMu5j=nnQg2vo`V%X z@D|(a%U<)Evs~xQ{7W+BHF18~V^~rcsx(}uUUizjAjj~jfI*eD&9slxkv4^EKJ%~7 z_E!TZY&W@&ysb(`zK&}DV?vV7QBY-t0XuZuyG*Otj(!r^ZZF4NPW!C|hiS(LMWK+} zN^7_7dqG%m*PN!~hF-JahaO8pnSCjLlZK0|aBMqz%%w@#~lUtEqUwukb zrB^F;g`dGm+l_Y9^)CAo^W9q>k`odf7M(?}6)t!}4u-`l2Z7hr&#>3JSR@AzvE77u zaj(=ofFrAx9$BmO$P%STmL)y17U_{S2*`{|?P19!!{rGk+Lx3La+FWHgS}7j?hEXH zL`mT*_Pu&7&Hab*b-aH9iD-66jc?%K3nJ&i>-060zD646L^7p6wD1n@#y2_3QErk*{vv&sLkeA(iGMH?sAC-} zla>cB#wa62T}Ccr`~g)<@`83P)q!ExdOGBGjs706YeokdyJmK<%dTZOHEjQvN+trV z#IWDTu60!<8pUYT;^13x*ax@6ke93wEy-2DEU^&_YHF*G(<#(n2*8?Hk^} z7f-NPNEUJWAo&mUV}J}DWq$-a==(uTBg5$KBtz3QD=@{*sDN I}Doj&uU7|yOVjhaF`jXl=-oIU5;?_Boi?|=Sy3g8a9I&uulfrzcq z4`HBa@9KEZ#09)htd9*ggYl549CCjww)YrrH8S39pN~d%M&ZPf7wp^F6C{Ab zzhq(&A21YGy}*mt80NE3sb{CzGbllqO*GIXTXpV;;dY~WnjDl+kZ_kuD3@TCFkM1b zDwa*$kofvya)6E%hQ=#9kANh8;OSzoxdV%!A`G8tk?j08>O&s-HJn$$}WyjkOcs!2CPHQxK)U5j=-gwmG)bH0Co!79* zglQ81rH6ra7^a+Wp_%T*DjP=dnAW;xkx{lL5Ov-H_OF2R!0#EF#N` z1>M*VJ?-YVL|w`ZSKq{s;#wu#q?N)4{D`>0L;|o)u$mx4J&T|dEX-GBCYac zOfdU9-hPJKuO!i}pl4C-8DxI}AE)*!$R*k;TROt|XJFDk_k#T=q%l+9Pw|=Br~64( z^2B9m^ab>#E9al!;%{m@d)%?R4qH;ksPaeEJhAwA63> zjN$~Eq@`tO&EgohhIO=Pe}jHB@aHyk$|OVkIrwdoa`MoZqN^#G`D8bxC*zlZ)Xw+< zoAi`%KF830kw_UT3;%<07h7O6hMXTMhK)S=f~L%0V113ka{BoRbf;gKz;OB$=#Gqqq)&`ISw_>$~%`08JDuca>l literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/world/auction/cash/AuctionLabelType.class b/bin/classes/net/swordie/ms/world/auction/cash/AuctionLabelType.class new file mode 100755 index 0000000000000000000000000000000000000000..e1206b16e2407717d14f2d3a8dc47fdf72e549c2 GIT binary patch literal 1703 zcmbVMYfsZ)6n@^_y47-VToeRFMA^7ikc(PGE@C7Zl2}|a{q(L>D3*?F9ftqp2OWtJ zjfT(uDC0TZlmUvun)U6uJ?HYCbH4xh{0+b(JW&u581rmjFTE=i*Bo2lD(Up)uIaLD z`A)&pEm_*o=c+_T=52R%ciT=tAfh3Pn1Et#+m<6;f$_}wkqm~4Ye+Cu_=Ua3^d$`% z)6scXT5p-tsG*5Dv1M8E?IN=-Ye=Gn{P$(&GA|cRfr-}_2|z^~+7+~DxPq(X({c-* zEzp`uXEx=I)LrSV>nr(9+wu(+ow%l;OG7uVQ&dL^i(Yw)V%d>y*o zixNaq5|~P*FH{x#F$W8KeovB&<4Tp-6Fr9Tz`sE_&g;VJ)wc5Jvo8|ocZk9WE zIJNYTi0X1S2!oOq5K988Q(Bh3wL#Y^pr=lzWx0;+`MR|si_)S7)*aubQCp(7k$y$- zF)c839y^+wX~L~G$#z}Vd?C{(k^W<h z3uG$kcY{5#{y0KaZc+>!pyLpN^+U(>$B3iVZ10f;%W3B5%?P6i(?f9#40i3~#>YTh z@9xN4!32kn$v|g{An)TrEs#k%L(D%FKr0xby(+CCa0m}!kd44Jt>$VnzcIq^0}n@0 zbo>Ql29F_{Ro((Mj0r@@7U)*KLgc~~gw0%}LTfu0tw1$%u?iYYuF>(D#xV;{h$~{% zAdD}Bkh~S%N8cX80dYGL5K2JYi3Wrk5dE=$XgEM>56xV~s)KfF11^69J)LMoKW+AL QsFZ)TigTDJc?b(X0hl9%(EtDd literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/world/auction/cash/AuctionOutfitType.class b/bin/classes/net/swordie/ms/world/auction/cash/AuctionOutfitType.class new file mode 100755 index 0000000000000000000000000000000000000000..1c2d7bb918474e34c86a08ae4ebd573002df8b93 GIT binary patch literal 2435 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 V<5=dKs1AccCzWg9bK2+d#XtH5o{9hf literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/world/auction/etc/AuctionChairType.class b/bin/classes/net/swordie/ms/world/auction/etc/AuctionChairType.class new file mode 100755 index 0000000000000000000000000000000000000000..8c68344f2fcd2d789ece480bbfe5b274d1804364 GIT binary patch literal 1668 zcmbVMSyR(c6#i~gnv#aCl&#_hs4ZIn0hd&UWzgwNk%wYu)Ti4J+h9nUG{xb!_~wf* zJ}Arxqa(w!Kg#jkHUj|^2HMF@?mg#x=R3+Q86k#A$Mm%7hl;yync8Mm zqc3}1<2A#xDvoA)hPKf7UMh3TUEA3*o52uP(S!(tv|!r|4|7)r(FICWMKcrzd8n|E zd$pWrn0|W=C!_KwYXs#p01z+aT%Q|66j)R zJyBS8YMVr5o7**W^&P`ZDqy{2^J-NO9OOOMa!Pv8g8-=G_o(PaA44Q#IhHra&>e*G zEwkx@LMgbRq8~R&x9+#fFq=wWCkIh93Ai4y+*L6kFy)~JsEi?o)P*JTYuv~|c&V~Z z`D@Erj`^~-Sv1`>UbN}t#XsUmU!!0Q@m$5=c7eN=K=$Fo4&Nj%@$+e>hV#l6Wv4lB zl^pKXT+)+L=>qjo$@CU?3Y^+-ES0^4O(0C204O~SEX&Z6_qg$Xg>U&xVg#D66@6UA zs;+R)C{w{1wA9&v4cjsuPczEg<%Vavn&p{vk+QVv={H1O>={O{Vn=ah2)EHbl|Vv7 zg)(Q6F2A$-oPM#<>C7nkO3gLQ=a#5?*VzFuE-uadBz0N`J%b3%_lao$v?s-Vrr{E$ zH?=iM@6m36-r}e1LjI1}5!A1=W4KRiq%KoPKY<6n{xm|3(>NPGK>HDx&<~x`Ptl3$ z+omyGm(!&qE#Ywz68!;rc%*+H-QVispt}=u86$!^M(a9bL}VPAPh{06(wqE<&g21- zho2CmS90nzBD;_TEh#{&4JWw0m>?R!6g@O(6N@rsibmxz_$=*0!s)r_5_OpFhSaAg z;unC_ub9RRts>524C#wN3Q+0$55_DWfwe1QK=>Gg2$L-k3;zOpEm2tc^W}-+F~)p@ r3Ev>`ll0@aqv{EwAn1pmW{XaI<5Et zeuZa1LI|OL03U^zH4zoOMY26}#(QRt&-mxB?`Hs>b zD_CXloOv;)KKVwo>GX)Hj2v81E>lN9`mriJM*zaK%k8w#Hm#m8$`+ zxr+ZfF>j@{WWI+R4At{SyTcIa`BG5n_+)oriqX{$}v{{wd=l{PMzDa(8j9xuqV^88Igv*wCPJ@ zNlws-W0|xxw^rKf2Cerx{b;OOcMEnIRo1aV@g|`U$WsP9{swmT!~X*Bv%40)VyUqE z5rtP7tPw1p!!?4X41OYd1*@px66&~(O^SE%0FNl0UzVjYlVX ce;+8|PIh3E=pf{dHnK_%O^SY|o04kzHwQV&TL1t6 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/world/auction/etc/AuctionEtcType.class b/bin/classes/net/swordie/ms/world/auction/etc/AuctionEtcType.class new file mode 100755 index 0000000000000000000000000000000000000000..2df0e7b35545fb709c8720e95c4c881f5f54f4e8 GIT binary patch literal 2238 zcmb7F-%}e^7(F+eWJ6e53`ik>t#z>pEv!(A+92}7)J6l;hDNbZ%d&;7$)>ZrX{Yc0 z7ry!8jN?O1XIe(bPM`gw9M9csWm`I6lG(k#zVCeJ-tXLR|NiHX7XUuPcPbJBhHD3g z|ET5dIkwUC4fYy)hS|0Pr{x-UU>U33emStVA3w1BAdu9MLRvssZ8QYtsy#xKBt}L< zpTtP5ADE6OXZkg0awdDrYu&SbpYi4N84YJKD4^=~)#{ycOvRyKijm-nXrwl*KuWsuGKY>0>;X@UdG!#%|(t6C9J|}QpuRU@C>tMrtpwnHCRHHY2JyeYzsYa)2^w(7* zkhoiso4Ksv3TAkSQgE(G`6z`VR}6flVot+6uJ%AK)Q(go^|WsXYme&^ai&lyo~)2p zgF)Fc}304wcte zbM{>`XnV9{-s)0|r=9g%2`D@m0Z|bcs0F6=10@x)=w}{l?cFGqS;yZnDLGywma4*= zS+yFD?FNQ*V0xw%*q-48Hfvag?^5x5(w1X^E4}zpN=wA;Udv|eFy!T3dK2lia#>m~ zo$L}zJQI_xwc4I#-*9BMhhD99EAOl4i$Jj@fqC4&B*z7it=Wzy?(9fA}W^34{T>^JdXDc^8 Pg>TuDHFb(D1~dNx`)Ca= literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/world/auction/etc/AuctionProfessionType.class b/bin/classes/net/swordie/ms/world/auction/etc/AuctionProfessionType.class new file mode 100755 index 0000000000000000000000000000000000000000..e1ff2ded7eebdd8ea820e42d2e969d22f279ce57 GIT binary patch literal 1705 zcmbW1TTj$L6vzM5UAE9Iw`JwB;tf!DxfKu)EE+Dsgk%wu#ZAKqEtq<(52~A)U?TH~9`XT<)zKODmhU6_^^Dky6p3 zBaIsj4W|b4US*5)>~ObYFRd|*Wh35mE-#nONJk;?9dF%?&L99GzfDIwIv5gDj^_l= z7+Rw!>A8?AY7~c?Iy!NSY{PlW3}!ZW?LgF`MljpN>zPW2DZRZUkJGMZjopeu%F_^Gd z&e&(EN0+`i^oHZK5y?u-IE)zGfZE&Fd4Sfh;c#@iQ+E}8LOS|Gn*kCs2tx{4l0w=u zAJCFHMCRxtlJv=pd_rOmF(E4!k=2M(ZaaoZ1~5VooyF-{l_JIP=mb7NErkZ-5)@ru zIs~;=$E85B43Sj37{!>BI4&tl{4=qljE)FHIbkRm$78T2O`I5#(M@D=CF4KAUdKpJ z;bMYnF@XW;FeDw)Kgd3HJ9dCO`-mOl?mkoz>uPGXP<|5iR1%7e?$26enyZQNh77-s)EmJ=FI zVo*iDjv)+_N!#^3!7xy+G#>ITZn)grFqT&z3Oh74lyFMLsE#q5CZ`Srmb|D%&TMfv z63gq9ka9|U(dF&7nPOOB;CLHm+JXd#@z3b^31=DdbB^bP^9+M&s6?|~X=;>&aUJLI z3(3ZI+YHysmE&chfSd$8Q$SY%dI7zXx}f8tgjdHq_$n?jl)qT%q**%Y$S(S8l*-MCZ~SBP_BQ)pH!eG0Z@V%Se>EA3c3CF9sVfsq?L^k#5>IZ zpsysaKFu&{R@wigHBHo6+U29|pzj3+-r(d@q8KjInvc&kk{`pBME)u=9d40L?qTE& zn3T_aB!87SdZIgn+4!7pCrL?*(@^LI)XAyQUHtegK2DoEP*-tHx{m9y%nfqnCd|Z< z<;0QU(!c00?cwMB|Ikfa>GJ=`??91mDJi##IKUmo9F1~do<5rA12vU0$nfh2@L8fV z(&&-shGLk(&S~PFj9&s$FJl2!T4kIcFq9_}Ddo!OXE1751nbk}_((8jkR@GUOnnWu zqEJ}YN_GdTwUXO`X01@5J=W2J74REwBoKB2VZI`S;)Jq`@^dILQOU-H8WWSbn9yQk sDjyR)dpQ3beX>NIju@mK1G>>e^)1mlffE#qM$vUjw1nGqp26?$0g&{Yod5s; literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/world/auction/use/AuctionConsumeEtcType.class b/bin/classes/net/swordie/ms/world/auction/use/AuctionConsumeEtcType.class new file mode 100755 index 0000000000000000000000000000000000000000..7347e867b22d5629f2d0af5ef39a99b1e8f48d46 GIT binary patch literal 1867 zcmbVM-BS}+6#w09l1(0)MRpDxQbtleyw{m}7m z@y!=sd{CGXrj88H{!yKtd$S{}SgRznd-vRX&hPxr$35@=`TG#SZQN6lVVLoq$Oxab zgDuxFTA@K--j=~*J968;5r>Yk*!f;=`(fO2Rw8@->5fwbLsmx)c?MGD7c+jxzcf)X~Ob{o#tm zF#E@8*=RV60Tq2Z&S8)tXM1hmVd$^c>W}ziZg|{p8f%-696K^KRB&F!u#ORY$IyMO zu;Rxp;`5k$v9tCk!*n%ez3lNYG*cT^6u5rVOnVRj691x(?{SGCKj->xG|w=QhDt0~ zYYmO^FskDRTp?ZQH)JrYwNodefSka*SU|A=y?`DeUDI)0cu+?>E>!%;Q2k=zllJLk zB)i<+qHOlmUEg^Sw>F(%T@;m}{+Xz1r>!AFx!$(9*WiIG;1eHNpSQ?W`DEs)m!oZ$ z5>~X_rq81|AU&m8Yfxu4ooMN4gHwlJtFHbJrBtjY0Z@(@*eXMp6>cH@wdydz*TI!Ki*3we7i%9~t5Xa657W!;KuesH^lgYrhk9Av0Y47CVY-j&M62 z6{Qj)$~5;W(pSy|bKd;2<;UsKtacpO&Rtj3zw+5Bb6wo1g-L3>3OxpL3qxY$0JPG) zkSk3Hxza=cdMjcQ(0HS+6?cKGCP}(PtN3ZV=zW9!Bb=-)u5 zvs-542N*g66Z)Bt^l#9Pp4d)fMxN76B`x7`5(@nRb$nuY9~WNB9(C4};rvXAN>6e-lQQc$HZ xo|A$mg^9crx(;x4551y9osJlw9s^3~qWV_oJ%(9z z!wpYZoyejuf5YO58++ZrN+Mx3``>qk>-EIF?Vc!uA#b99B7@fSeTJFV*Q3}HrevZl zVam%-60g@0K`gZcCQPMmx~_<#Zn!PAhfEAft={zAEzwcB!zL;iA>CxV+4^PKVVHez z5H1FepsHiU#8Hef6kNX>2!_#mqxFbC<(AKbO>1@ik#J+%Kn>sM7&kG2<3wxEU^z%S z#N{dX6S4Y`xYRS=OFoYxJEL&o&#(|PhLP6r4ETLS2S;CN%E||C|(e=qbypBr@_0N_&ZJ2&G@=M(f z%H&YX3&fqIvo6AWeBCF_t&c?1I7sanDy^=|{WcFh37z8S1Ky!yD*H1|-5YOtl&G@f zZ3a9}LbB89jW+e;rid4}+njp(LVe|b=w#xw34rp$z*ZOrotV3iZ}VQtWPm`OWIe?- zyy!NM-7Ts;gH``9V%PWR7Fg~U54jtQ(DGtI*K&p4cH=%#momfoukoX}<_NdnNxe)$ zWQpcJMEZgWV9(p1_j*4yhSN<#SKRbu-K+cN$whgC7N)7$YV=qrEF6==1)!CtgIZ}G zsFfxFFkF+jo`x88s_cF8nkMNqt@3B=VE7-5zQU2eNTLx(@1oi>$bJIfr}i_*^|ci? zwTok~z@&ZdJ^LBbn5pk9uBd&wnPeqToQ6h!K%Y7{{v0R%R@>R*_S|(`mDKTrvbjb? zeuSM8Sxt$I)qcZBZ5Q9Z{2c?d)Gq&l;tn)POUuxzU=Mc;b2Q6=d3tD|k1pzzL5Az^ zz^{;$lZWn$?x=#P_IFcyGJXk2os0!E=`G`YhoSu`kup@qKY_7`C9q*b&W;pg7J2do zCiMTn)-(#sS wD8W#|xuOyVcX9q1hGmKR9Z{to0|qci^{vtSEDljD21VB|(K2q*ehxps1&Sh@{{R30 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/world/auction/use/AuctionRecoveryType.class b/bin/classes/net/swordie/ms/world/auction/use/AuctionRecoveryType.class new file mode 100755 index 0000000000000000000000000000000000000000..5db93b8b97cd84afc6274a2cebcadcaf57c06993 GIT binary patch literal 1797 zcmbVNSyR(c6#j10HYEgsf-D7G5T#{{Ad8raEaD7Kkr{%WL7zg15DY1kra1f--+b}K z2Zb47bYy(?M>(FGL#8rlbVV4|}p)s2) zZ0Os%V(ZSDvaqsY8lEbl87(4OWn|DsB#sScoysP$+1Blfx$uf%BpdObvGsCUjVLtF zwVX9I8i51&_#HB?;W{Oow;aoxU}%a$g`RV{qC{1=DWem&$kvZrW*E=rE?I^Y5*)E3 zg{l-}{+g4~!@z=Vr&1X=ur*k%J%XB=&Sl3$!vH;#{+>kk87QIsFk*o=&3X>d^c{@b$4=PaC5;^V4r0jPr(;Q0JmMe( z`T}B4Z~H#lKl$6yaL4W~4;T}81Xd^UnwIZgz3Asnfs3 zH(wlQe9&~pGCFqp+&`-0ch2rKY0+v)Ci~^P{myqg-#&fz$72Au@P&#L!@TcAX6O4L z+;ttZ-7)E(w`=mQ9l3#Tb~}z)i~n187-C+-44e@L%9bM?-Y_sO`1FR`kq4FxObS6}-Q#VU-kS#A!dV7&x>;-7U9%Xj zeRYx?b)3fq6=w~+jcGc-_5$CbP|KCZ0l&{pkNbP(=FWj*M^zm&xTvCRpn_RSxo@!M zciR-peeQLg&2K1{@__fM$2*w8YL@}SA--driy|0A4%JgWpi^ z_O~1SFo|S{K&|dhf~&io4IbJ1GzSc3`Q?ml&!y{Q(oG7v9XX-tMh;#5Iz6kEFDZ1v zQ^Q`zkMde1+<2-E2MQuuwD>a8|JX9srRuA_UM!7HcRsY8byxJgcx-1~6&+fhqhXt& z--pO8PlyEu5Ty+yDJ>mIY12qbTSZb@9+J}1kd$@>kS~c1L5q~8THF&ttr2&DsQBnT zO#O~?PjLQM;uu!wnUy-7>?>GJ>=%%Vr3E&7gm<2R3H#Iw_8*bNNPO3@F7Q>a!KXvyCuQcLYjPmn|bXou$Dr3S*>&rs@2N$pj$1;#H*2AdP%9E%_gk%%e@m^}!Mm<6QIYIyKPr@#|r#!;KLnxBDmX?evnd=$J=#sgS zmCUeYZmN>WOXht|GNY3DARpTmC0EVIh7(6ve26L0^LWH&sHeaXhG}3*^t^~uSfE#D a4SDL$X?#tu$^+Z+*;e)vFpJQ)lq|5hRD3@GE8P}1TqDwPDed7 z2DLXgpLw;EWte(!%qHLEhReNzv6|nsE#K78g1CxS z9SPiGXgo7m@+#XTXP3Jbd-WX!DHZZwba}aKhB~r-$?*zicm@Fo`0YA6(8*9c<9Log z%g`1^NzdhUPNOi~*3pGKWE;#|W|&T;ZyJX>)Cgp|csF~zbFbV)g%Cgh=DCLG-Q2lZLRPfsU$|w zY$Y$bnp0lkzO_M#XE0J17j3zY?fHha!Asoo?ULd6Hf^qDdYkDtBwe%_2L8v7)-^-i zY8jP70TEf6xk&oAeQeH}*E^n%j+QM}N|ycH5!vs&>R=cWn`mx?s;-5e9w>92;*tWC(^7vMPmi zBtM`vd4%NgN5trp9Q}maeME$;NJv&A&bS>ICK2iprNgjvNc0jMXal-)dKl3G*C$>GQLkSP2&p8KRz>t AZ2$lO literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/world/auction/use/AuctionUseType$1.class b/bin/classes/net/swordie/ms/world/auction/use/AuctionUseType$1.class new file mode 100755 index 0000000000000000000000000000000000000000..7e264427c3a44d33a8616f79d61ffb706635f08d GIT binary patch literal 1027 zcmb7CT~8B16g}IPZd(_qfKtH^lm%KpSV82$ucTs$jZlbN@qrh&(~&Mrcbc8u5`K}- zYGRBr`~ZKEPsTe-ldAEBWM|JkXYQRjGk1Rc`gRK7Db@=}A#EaKVFXzNPQW8a9m}xo zbEm5uibUJ-Vix%_aAL)s>RJ3o@#aa78_4!O5p!i=tz6mPI%oOgJaWjJC|I}v%fQMx z>+KZ-k8JnYk635h>)BLp58T^bWhd_KfqR?W+yA;x?bq{k17jA(Q8bXQ3PCQ;eGGkz z6BZ^hWx&*z7kIQzx?HK7xNKnN(Cd4S@PY%UA>EjDHhnJIwJ?;S-o0euirzi&wj}e!o)`L>55!S7^4Jk|WWWoqj6=pZeO)p6cN3QN?zD0(U_vTCIN0VM9m?cBbpo1d7{NXvKKW!OaBNHc}!s%mr%ky773TI ziid>jsNw}-4ZCm&n|KFC*hUYEFpXuholVTo!l5`t<35cAjJ-7}WBWh9hSriFGFVB9 XR`Gx^la#L|N{S2sh2*9vDCT|x-F@(# literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/world/auction/use/AuctionUseType.class b/bin/classes/net/swordie/ms/world/auction/use/AuctionUseType.class new file mode 100755 index 0000000000000000000000000000000000000000..ce9b7cba0caae15de14495f68f07b21b1b435241 GIT binary patch literal 3230 zcmb7G+fx%)82>E^YzPZRP>P847LkA&QM^X(qD{+1jZ)Ftb_px2CL5aFV6DB``|Z6m z^sO(>bbPQlqf9T3&;6S^o&LVFiw0yAV9q)Fo%7w#?|fhW`R|V>0J`y$jtUJ)$MTZy ztwM3iwvu@_$*BOJK)r0m&J_#SE!U-| z)MES2Z8ES~4y!Xa?Obl4P`D`~uNi2P-O!Mi6}s8LR(iT*n>*t=Oxf?m5GdQ_9nk zIWt$X#;$8P(pDxtm@{2BRko4wincSIDz_jCl>UT)c62aRr)-88K($6psg3jOX3B z!eTtYVw_lvFUO*WimPb}=9q!wIKd_T=^+Ahta9+m+0~xv0_7z&PIooo)WOl|Z znpw{(CT-7R;YxGntLJUWS9&UnOBmPjwt>r-(9pV43r%{a5* zMA20P?}(N<+g(D3SdpW54ZJ5u5!>}IKsHSSld>68{H#o4vzD_YF=fD#!x~B~B`$(W z0dgXO>IjSoHbhV#!R82>WV>KsRvxP!_g|}yqK38=5iPIWWk_TkgM}$VdBd>nSfi!< zq*c6VPUg5Xv`T?^1;k%$2`LTr!-cGw8#jx#=na&I9WzfG^)FU0dgRU6EIQR0d)hI* zQjvUovg1;QUiHRSbs)sVXwcFcYBQdhy~%14cu_+{WJ;646OP*Mh{Q< z1Y4=Z6}oLJly20f4_=Ltb{wmy`j6%IbrOZUIX*z7Z;Nz)fGaz=TG_PK z%0{hLc4xJ+5v!H07l<`W%jHiGVqAI;wYj8rah1R50=7KDwx@Xg0Vxe0=PGqpL;hBj z0{$*ksNHD2*1m{cPoW8a#WMam?ifB7Zs9|9&dx|KvDk?a{{g+dqvbK$epkok=AMh| zxGk>ZBgJ!vj`ZN;z>%@Qk*4Nf(9pbyeNTQx4VUIa_fWNfkhm2pbE^^0^)}%Xe9H6B zIQTPc(|}H;8a_vFp!_c?ui)Y31srUDgrf(3Bf-B>4#}6!v5(^*#}ST`9K9T;InrW$ z>mp9d)F;!ROlM?D%QXBz<;-`kl|g|w(}itpqTBhya3=&I~9he!iXZ$6$-0AdUzLK_>pLpl#y)T?RbQ-?&aYWxxW-m2ftU1rezTq?{m8H zY`P|2@5_``d-K>W=ksXca%~=)<#---!Y~g#d=KH!{m^|H@IyX|T4k(~P&kgm4EYE{ zKE{wwFys_N?q4yj@VkWEzT@iMrBBF}8QKg7lMcmXC5mQ7i zqKF1X)S;Qb)b}DrC~aic>Iv2cw#^#4<-ebA@f~?9 W@I8Lu8m5L${Kzk9ah+Tdi~J8G(-lSl literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/world/auction/weapon/AuctionOneHandedWeaponType$1.class b/bin/classes/net/swordie/ms/world/auction/weapon/AuctionOneHandedWeaponType$1.class new file mode 100755 index 0000000000000000000000000000000000000000..f5746ce8240b70d9474f304adceff47e5bb02c40 GIT binary patch literal 1598 zcmbu8TW=dh6vzK#JKortBu?AVkX~t*HsMm!E6_`*<0OrVqH01}n@+M5tUs6uL=ctU~?fCL`^37!$>Oe}34fCnOZ_dmbC&(54PbLNM? zzI_JZ3f9WVA#b4|F@U1LOsLapvK7UiudAC$l}3SARXsQLqp-TARhOi;jVqyERH3K6 zwz1dlcC|q9jtY7@5vWg1-)!z~wo4@pqGX{gF$5`ab$8R*rv)0ev*o95XIXV^n$7N) zYHudCDb?nKP+*C{nDIHx;j=~#L=%v95Zga<9BBRM*^gD78SF?B*pF z_%F+Gb(bcvuqaT;Hh5+Iwsup2!OLzyyP3|IbGX5YMjrM0XwwgMtGBtX<2AJ&kh7;5 zxhlA!VxPHh4pY+ZN7QkBF4G~zu3qr@izENuVW&6~T4g?TgD9cHT-IqP@+hB{PSV9F zq10p}40T)&RFdeVa+L1NHM-ZLGQl^7N8~i{KIsyWn?#;Q5aZuKJo~Qv1lD8z4S$WX z!pZ{_mJIGE9LR8zu$bW?LMy|ggo7C#C#>vre42Sj{2R=r?E5NnIpZ_TLm8iE zmKndpJe=_*=8=qNm`5|NF;_C4V;(d72xBN=ANFG$6F80&q$hC(=SeT1hB?xCtimB( z!-sH5J#>+fruYP(lHS8-_?+|$e2K3}@8cn!kUqutcux8PKjJ6SpYaQRCH)P*;}6n5 z1wq97__FL54CI=mtu7G0@jdgthA(bLAUwnY)k|L|(D_dj1KV8tx6iVsK&X2I*m P$x+Eb+4K?(DuaImkMwX4 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/world/auction/weapon/AuctionOneHandedWeaponType.class b/bin/classes/net/swordie/ms/world/auction/weapon/AuctionOneHandedWeaponType.class new file mode 100755 index 0000000000000000000000000000000000000000..45d118162bf52c299ec700e3f658fe1b2978b658 GIT binary patch literal 4107 zcmb_fTX0j?6W?M1rSBC_O2GKPdU zeT6*wAZ^p6p%3VjmeMv6El@JeWct&YOupNheD$xL{Pd?YooT0;uDzweMKsAU#Ga$Q z*S`Cnv(Gtuoqg_`?_Pf$z$UyFL7hQw&M(D_)A>R=_Y z`YUix&fo6k(ti4&n)jca^c!Iiwx~ygL8w2QHRv0@60pVs9Mui<5rAOXtNp!=g>C2gfs$o3mb8qn%}Ok67!I zGHLOfV=-4Oq5c!k_*EO|$dish3Q%fu4hTRb_GnaETp6t`HRjsxRfCMS-o zELMx9WoRnp=Stf=hL-g;y0sST+EWYQ+F+Wx6j-nr%BN(t4#1=+<(_u?)YJzbc z_p(#|o}&h9+XHV8WW8dsJ77qb3f%tg;0V%z_P@Pl&cF|YIEgB58cYFj3vIl!3c+g@WxWb(^iJ!`5xKr`eIP)XLeTj2-$*=@}nW|%c zNwh?oiPzqdXv6^wM{v;MA&ihkHGSP7En_PU60ziTrj#1rdw-G})E!R9Djv3YSY{fL<09u}8!?JcNAMY8t7ovVCTO2KRgB*}EDRRa=3uQ0 zH+B>$i?j^Wz%?4KjB-?%PnL~hT)3{w%t!g$pl7ow|nN*J!%=Y-m-eO@T7+82ezs(snw zDe2$2$=gvpExh#{)XUOtbI|C(I%sv!=HMO&a~<64;C=^-9K;+fb_WSS76^_<=!t%`V)UI@MjSurNH3Pm{r|Lz$evdurl{U)b**$*UmtYVXTFwD-V@a*EMRahFHd@zgSix7V)O2b>Ar z9fvq!IU`sW?&LiZMczsbQkg9HM>8jw$gD7_M@jwaB0D`CxpGRL3M{mwK~L>ice<~= z-5=aT%>uD@7gGM#jO5wE_dj%&OUdAF?DmVLUB2Wd6Tv2OIlrJ)!Y}r%BnA4}zK^!P zd2$Bo-V9XoE})XtUnOh4O4fRntnexqRV8b=VwP}~tlTPDuT`=@t7KVL z$r=o}^QG?cenmP<#bI>kh!#`IU$l(%SJ3?idR`$iIM3e(ebz+(LHw}lzXo+`jkcN2 zYv_9eM*Qn;@&6Gmw&H~!<0tx@^^jgN;!1@04@5e<7F@;FSM~9E{=PTd&DSINsf3Q7 zsm}!l@^k#68pw)jAPv{BWB#hzAQs|gFAcbeU$O^-OZZjw?RAuO((7&E$MntFm8aG5 zWrETNX^3CrHe(aO50brsk`5hT52FPf^RL_5`)8 zYL8LNt2RchpxPtUrc_H(n^rAB?WAfCPu3#!eb_9fMtshy^F z9+B_`ghQ8zCCVU{Sc6z14q}Nrh$Z?UmN^8m%p{0qK0z$A3SyaC5X%gMSmqhTGTR`Q zIR~-KJcw_Zf9MkTIizHG5lg6dko=u!LKp81%TT~_oI)I@S$&@;5zb;2>9LwQwFcL) z7Jp>feGBXHXKcVBMHU5rbw2wwgoOZjNDxc^pIL zIqWuPvDaM0K64%W&6^lDZ{s2J4i1@r)W<^>q=HndfzA z;s@AeY9aiV{=2dEzepSNADj#I@d&@m=0@dmP+<|yNG$xDc4zznW+YTbC^-@?^P6F$ zzRb_8k%lsB#z>?LH#y>zF*7;h(lncbws{mZE}&>EV<80(vc(ilWh|kvWwcW?m(fMh zQpR$M)-qO7xMi$K-hSFS_#G}(f-^g-!TsYkhSv5>=qjGQjF5uo!U`e^zEZCss^F^) z3YrysEuz3x@O4MQOa*7$ir;KS&$|`Jd5XT_Ry-Fd`lj2c?=4jHEjOxYv7#5;CPhmW zecQE)+7-R%HY@5<^pe}6Xt|>AxUGs-Dtg&<6|K33vzM`6&g4o7*uf7~In0~+KOZf; zQ?@c!T^6?)%!)Q%x@Y1TX5j=sT~A{+Ucek?*j(n*JiN{~-r@)A+gO0VlLO)EIerB^ Y*_dP3@O#QIM>>G()a2fHfD*3rKU7WCKL7v# literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/world/auction/weapon/AuctionSecondaryType$1.class b/bin/classes/net/swordie/ms/world/auction/weapon/AuctionSecondaryType$1.class new file mode 100755 index 0000000000000000000000000000000000000000..0e5bf09978adfb46b8bc041392f57c8d0edba4f2 GIT binary patch literal 2379 zcmd6nTW=Fb6vzK#J8|qxz>oyOJrtKqFPM8Nx00JnAh+U_w51ou>#4nDv+M4zW1tsk z;R7JS2S5UeS6Wb2RTV;lr#>OU2S9?SJ|V$#)pI76h6kQ_s$}nffB!vmcFvid`TO5L z?*cf8OIak4Od}=HhIWCyzK#n~GYBiLF3d#*y7MXp)o@}r@C!|?>LddTSkg}5S5$a* z`fObbw9hNAp(BBVo41@Cd(%AoGw47jjjTi`q`=SI8}2D$$J|fi!p8SClZhdCO=T z%LG=QR`aUhDZg5n2ucm7R&=#j841H6?^m zY-L8nz#pn9*JpRV#9PKK)wSo9gJ723yu{n=b`8)gnnh2?j_X(X$tH=-{3JUVG^cCs zT-noXza#N3+lz)(wW`CCqsnC!R`}8T5?lFE8@)4}V`rPhc6Kr|p&P}6$~SR4C3dmf zQB+~ct=3`=-6QdV37ra>6&)VaW)dGt>@z8k>ZUgJ9+33m(%|%<@;nupu^&ksHVKCV zr!l8}V-89Tv6-9<%lv{7i6V1$Tvc7il*{%JiBYywL#--~NsO_PDF$c8RoE(fLSmBL zPBYs2pGX`x(I#O{D^uaL#HZ|LhXOwi1JBcD^=2eKW4oP__zlycFC}y0!Mi#ROm9d z%&t|ju%8!=D3b)L4{^Ap`-Xn5YeRMsPF4= zh`ymnN4b7Fc$#!5id-KbJ$y&bS)3#N9!UO!B;6s=`v=6`zp}TH{*8ZKzhg;i@+MNp z3@#^Zv$&G5-QpU;w8ehH4vQNIbFV~iWPT-l3-c@S?=ffW_yTj*@($)s%e$GS<-N>Z zmiIF+vV4envE>2goaJHWC6+&CUTXO$bGPMj<{rya%)ORN%*!mFU|w$dbLKwFUox+- z{0;L;%Vp+OmNoNg%QfaTmS>sQTK1XOS^kc>-*U{n-tezjj|_US9KGnn25cnVgdNyT zx(5RoCLO^PN~F^`1&6dkn=2xXaRC=eFX1w-kY2?#TqnJOTewYn2lsHF^Z_2?5$R(* z!Bf&_c#apOF9k#ry&@%YqMNiw^otFod9h9GB;6$riy_isF(pc*)8dqHNGqZ)BGOn~ z5En@=iOb>&=~Zz}TqnIDZi(BZcf>t$pY(xvC?1hM7Ei=e(r4nictQFyfkYC$iBuw& z=%)E3@dIt1cHS&FfFJ3ap#M+wzlp(_G)0WR<}$(F|Kx%c&YNjpz|W*9Q@}6ANzhUO LS#vhfO|IiV@!Sp^ literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/world/auction/weapon/AuctionSecondaryType.class b/bin/classes/net/swordie/ms/world/auction/weapon/AuctionSecondaryType.class new file mode 100755 index 0000000000000000000000000000000000000000..7590bbe6a09058b28ed14c990a9bbe83b8d56d38 GIT binary patch literal 4589 zcmb_gdwd;589kfarp`Zc^Dk3OUg{_oY1Q8z~qJRo2_&`+ffo}!GjOW!#4XWi5ca!H%TUz9Z(e_kJyM9>z;79K>|w&1 zBF#I6!0)%iy_@$AJ5?}{Qm8xeJ{a*fm9}J~!r4W)gH9A}be&?`yuxO2 ztK&W(-Fp--HYsK(AC!0D4egY z>8*oqG+bOkpF%;~QXSk+-N;ecDTa-9B)$d}TNfrV%N`7~ugu++ZDp%^B^ny%A@_ zP9BBEF}>S)ilWvrhI||{Fs)-p&<@1^sKSNV%N<e;LQe_$LUDHbGfB01s(yr5IbRu8#|P$9G^S}15T{J z<@$La8k=%exD=PA@m7Vm;q4TqalZazeakL2(4NhYx^ZE!%O1|sPqw6!*`X*aezGN< z%ocSr`${@#plnA@$Lt*n@6@YHYpwNdFN1gEJ!xE_@Ls%+A~9~Fl-ek^{kXVJUbZ6R z33sD2oiGrU+-R*G?q2U}X%hL= zwbv?qNY|Qfl=IrCp4xbw!u2I%$MB2Bk1Bjj8MrmDzfgGDD2mj6FIa!9P^DKx~!}2P&lBg7?pP0 z_XGco5r0@D+C+ukvQZONCX|UuCTdMgH8I`9OcS$B%rlWSvA{&LiA5%sm^jhI$tF%S zvBJdZCfZD_GjXPg^(MMaoNZ#WiLEBKn>g3R`6db`cIrW%P*8R~Pw%{GN~5HF zdx(S8zFcK^IAh8yuP7t#+wn-qcD$lJJZZeNZF_rcW(|vYfR8?@F{^E*14hY!k>f?6 zll(|u$xp_Ox@_K6>YIU<#_=wXq9LtK+c{OODF%-JZ~9UHbg$f6ei;s(o$iH9HuAAu z*iFGGg~wdMk&Ak|XH1Cn)~y&n){&chl-#RzRqN6F9vQL>U$kMt>2UR_sDCAqTC86v zjA*wL#a)g*L)~L63#qHkeQJn^C3azK!Qwr1exv#GQSaIS|i9rMv#e%AX61V<|cwn zNCcUH2r}moWRfAs%tDa4gdlSVL1qhr%n$^b7y#A`oewaXrcCJfA*1tSviU^)mq{>i z0K4yncN>|3pYT~Jb=7Pi4Yo z5tpKzA0XYlu;EVZxm~Kq4tKbF8b8-l$1kMKGn~k?_+@D#OG*=|Jcx^CoG^Y8OK{jr zC4Plp(}RKEywv+-vNG-UWz#=Nde#+dOXKSWY9GAHcn-hilM6AfqcuezFDyKOH>_-^ zSzvjq61=7P04`sA3++$Km|*4&zBPd>S*~Wej^zfHyIJmIxu4}BmPc70XL*w4ssDFL z?Q1xQcj?EK`tbq%xaL~a5I%e@GK7y@gLLX^vZbduab?a~k&cGwc;W4JzPoRr^HZZVfGo*R^ z4qNbNCYOI@VyU;Rxfs%y0{;SA{GI`?z@P93Zb2DGcn*K$w{lv*pGGzRz>S7sq*AFV z<*TWU#XrN!=r>hytMD)J3OsAgyBkJtd4lqMZz@4L-&>I&lkcreD2Bc11XjM+OfWg$ zYtd9kpsk)jV*{Zo!5ji_%X~t0f@29PK_g*8f`x>M2^JG3C0I(Z5-cOsBshgon_xL% za)OnFDG62+rY2}7)FtR3OiPd>Oi$2Bs86tgFeAYx!psC)2n`9g5oRUWL71K3Ji?p= zHeqgp{`||Yu*o1lQw&Dg?qV>Ehwox2YVRz+69@OBT*&8BLefGGRS3xlxvNsh1R-BY z3$cXUZ3>wz{wx6v6Qez zVPCZ-2wN!ZYt}?zi-p~9O%k?L*aMa&Y?-jHTQ$N?5%!=}D{Q&2Z&;IstrYfmOX~J^C9lF5=RWEFVuy0#4gl!V`9c!krEyBKQQ3tsN z+k`!4%@Vdl*yGl0Vdn|^o;639E$sW&Tw(nO@q_&s&_Y_&?aQg^T7f66*$H?3t3|ujx~1TI3vaa;}SF)SD?wb9?ix+EHn<`c;f-y)l^Bm|H2!t YW%PNxKumF_m*Q{yrjyD`iLlIn1ESt&!vFvP literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/world/auction/weapon/AuctionTwoHandedWeaponType$1.class b/bin/classes/net/swordie/ms/world/auction/weapon/AuctionTwoHandedWeaponType$1.class new file mode 100755 index 0000000000000000000000000000000000000000..2a8ecc9c10effec6e47ea0a84631347bf3ed46b3 GIT binary patch literal 1531 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 G<$nW?G4DbE literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/world/auction/weapon/AuctionWeaponFirstType.class b/bin/classes/net/swordie/ms/world/auction/weapon/AuctionWeaponFirstType.class new file mode 100755 index 0000000000000000000000000000000000000000..f23664f5cecd902cbcb82a19d231ce44293bc065 GIT binary patch literal 2625 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 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/world/field/Clock$1.class b/bin/classes/net/swordie/ms/world/field/Clock$1.class new file mode 100755 index 0000000000000000000000000000000000000000..63447ea72f5c4f3e2e5c30e4df6aed1efbf67ba0 GIT binary patch literal 838 zcmah{O>fgc6r63`IB{JXN@+uZ5?TWZg<2rs!iR)HBO;O%DN%dqY2$1gw~jaR+AaJY zE}Q`gA%yw^_)&jT?`Hs>!*?))oDIvxEb}A351X1OFftRE>rA zfT8AfPs21Aw)xm2y*CNtjg)7?cz=YM*>4sp{{}J8Rp_6VWiA=O>*~Jy@TI{BByvHfBX0N)q zrrEh(I1))SK9Jk*G{5HJhUT5OJX6BFv~iQ6G&R}jABiAkC_D?IFb>lfCd)2^RhI)A z{X#2@MJF5eMbhK_h?vEe40yE5lThOcIp0lra7^QyV5cjyBoK{If8m(fY-v;4a61kn zslxcMEz+SJ*tkbiJMWSxU`MF*wN#YVZN{-k>Je8;s8WUQyF&jJE0y()>lHEU*r4ta z`hXm*fW|klvmeeE*q`+?{}mUlosY2I7`Q@kb_!Ps=BMyFLEFGjuu#MjR&W_*^0-a? z4j$q$^(T0VSJZR3MSgkX`iK;us{pBhWfb;oQnddrv}e_*YPd_?!Y0-GhS|gxb;q2E H7Nx>(4Z6Ze literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/world/field/Clock.class b/bin/classes/net/swordie/ms/world/field/Clock.class new file mode 100755 index 0000000000000000000000000000000000000000..9f674debbf27e791946a398fb0e8303c94e8b5e3 GIT binary patch literal 5980 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 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/world/field/ClockPacket$1.class b/bin/classes/net/swordie/ms/world/field/ClockPacket$1.class new file mode 100755 index 0000000000000000000000000000000000000000..5b84926952fd96be40e8b53ad913583842e0fccf GIT binary patch literal 1168 zcma)6YflqF6g^8zw_OIQh=TY+S)uj8iUK|Wl|Ye3T1d8m5BR}lJEaTT-DV%4-%Rue znCK5MF~-koVvI5T0DqM6&PZ%yh??xqnRE8e+;eAc_WO^o`v7J!r=bH06-kCpq!gU> zcw~foeo%F|(FhIh#Wc>lzP(d<+T;pSyOtaCP{D96zp?!H=;;j7$f(d5y1*3V{s^Zu zZq=wcoJN^q)v|YZq>n4e>*k&l+4Yju)M=G|U`cO;y0oOXS?bs*W~hoI3_Zvy&R3RF?HXSoUzxqMN@2?c}O)~;o^mbYb;eKWS}i^6Ro2>d|g z9AG#pa;BF`rgS94Qw*nt$V_hgUN!vv;Vi>B@u6!m@EZ%fX2otK7My3eAe~Fo53G2L z3t4BlC}p$m)P5BtpS!W0MCJ zYttpAciFcscg+eM!4Jf4GopK?n>^r}>BoW17ag%8+jj9|A~kJW@NCx)9dE0|$y`+h zB_8>|-XXJP9!5)kNWNLo^LQ}tT4Bh;><~5Mb!vJgJ0RLo%t)EQB;gd16(nc|y!!%W z|C{y+>PPW(f5y?|%6lXqO4?7fvqcAqrdsq2QME;fh^AX~m}s^wdPMNH@Vww{@mB=T zwALGfYm$F}h79`9kK-7?Fh&SRsk}+TDa>Jkuz*#VgcUr7O;|+}Az_4Pcux2NFY$`- zHQwMYVFEX){FFR|N4Q1v4tj6XJAuA+l_E-q3}vAmHXw;Ra*t`u5GLtw1Kg9!EbbF( K@&ag*P5%U6wFi9w literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/world/field/ClockPacket.class b/bin/classes/net/swordie/ms/world/field/ClockPacket.class new file mode 100755 index 0000000000000000000000000000000000000000..0c77400ed187316380f82e98a457f9efade1d051 GIT binary patch literal 3694 zcmb7GTWnNS6kT^ZFrDG{U0zct2-7;90wYi5shvV$q@~3vtpx;cr?>5tc`6vrxIcKl6_daW%(_jAk z;U@rx@tF@URCwUlu>vbK)J_{y^eRuiD@H}%roXI4a`?Es2U&jIEj3SMuM>EH+%KRanGNLoyn3c&68diK< zW?$6tl0xn?3VBnR$aF+Ur%daE32Qu4u)0JkJ}w;7(S_p_+n8w$7$l|GB0fa%vIi%1 zbfZVZ*0KX-veHy&B9jjH7ObMud}cbH88IW*EK1ECj7X%t==0#Tj#m)V5G;dPLbCy? zt}PI|l3+wVMm9jJfTQ$4Dj!gq4U{yi!F4Vwft=AXfI$r&sfn}`30I;R(s35&m?+!9 zXqsi=4pIZM_?pCcPDU4H^tvpaZ5v?M$zU|pbSKj0sX}Vl%=H_?NzT-FXW~Y3z{n-! z+nID*&ELZRnF&<=67wj#sM)AUDmP$oKJDq-V0=LBiW08!fY+-BI9*jgHPlG_E z>4VHJ(rsh%efw6bW; zbV;5tks8bw ziM^B0C=NZ!n<3YkH1c^f&r7iL|gp09}NdGE2W;|@ND&|vT@%wA)^B6J_xw`$uke`Ogoi}P2vH(&&& zT3>-t&WLdrp@iHg#-a8Zc;*nQQNfjZxcRDi(WsEt*t;Dh+9{WLhIFXe!5re3Sk{y< zLmOsLH3uw^;LGU7S^}>_HP$Qe&9+$yyv6}1l*)*>$|uC3N%Bi@8t2o5HqM}Kj%y7q zz!%qz4dmKLu4aa_N%4hj`x0MciLcS&Bf324^h=ln4)c`y0{n|GhgQ31&^X8M=RtsH z?8X-IZzX?#h%Jn`Rr#<-`R6bB;4k^$FZtkid?2IzKS3-n#xU-9vyb0$)cTL89J+_K z{`=VQ4ZmHOlR=x}vSpwnq15EX1THxk-Skq9tlGxd%wm))8)kq>m3)&#f zk$6yz3`Z_{mtD%cmc_i=InTR{x zV=bs?yqLrl2cv^0Bc)Mg=cK)fAUn!aa#(@bRZ)ej%5|FH8b`cZ@CM#=;D#84q`1L` z+u6h*dbaszuxHyGs9ka$EZ7LEyz`NKH{dN*`vg$u$6Ev*yv>4^d>>fK>lggwS>W~Y zd0yLc5U<~HyuMyKz5`5xx<_oU5BlpW{vKaMU?(3*W^GAeQ%gmEWSQuD8Cf5rKRqw{ zcbAF&y`^Y6mZ3RAngP-b&ZD`pB#nmmann9a?F%Mdr17vl^c_62I68|H_i)Po=-=@r zm+(8AWX{L7kFA64Jlhysj_oGfZMM5?vuqCpt7;anPUDU z7nwpyWFe_;y$;D$OYyV@R>uFQw{03R~fx9Aa{jDOMX^ZR`D_57=$ ZyB~4dg^%$Gd$}ol@hL|>HR7PQ@_+kE+Ij#0 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/world/field/Field.class b/bin/classes/net/swordie/ms/world/field/Field.class new file mode 100755 index 0000000000000000000000000000000000000000..933523fd8ec3d009bc581360adbcaf9d2f0f5d3a GIT binary patch literal 78319 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%0D@V&eU3Tp|t2q-9$Gk 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

Iy~@+SY@Ezw&o ethYr~6bUkLFXZ9msH>wZWHfq5bX9aUrT-g4Hn4mE literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/world/field/FieldCustom.class b/bin/classes/net/swordie/ms/world/field/FieldCustom.class new file mode 100755 index 0000000000000000000000000000000000000000..700a0fffae7b6a388a62ce09d15d92e85ce42dbc GIT binary patch literal 1319 zcmZ{j+iuf95QhKF!D+(Mq#-RmQJNltlR(Xxi$E`0S}9UQ5k-->bQ}|061%b;4)4ST zNHj=X@Blm%V#bada2!RN-F0UE`DSMK_n)7?06fE!91=)okdjD45h$GLA9Ss++db{1 zb7mU8fb!I`Eq`AisaD%L%psdWPT~rrK*ctF&HL!MUCY!4o<_TVS9@!jWRKY%4n5x) z2$XuJ|5A7T&j*e@^o~BAztVj(kZk5Kk9-CNi3Jn|wj+{;W81`GIkt8(Bn{)eNl;nS zHk_{6v}vDGn;}?9Vi8M3Ovw&y1CIy}Pu4VTcoNrlT1*-xwlnMV4SX8IoL+N#i z8(gpqq=V9$&$HBwn-ZHS3oM*ZS0|e6u`RKKU8=RiNX6+4>~u>)WtnWJHx{S54yi(c ze9N-U7sElvbYJV8K7A>+97FH7b=Tta_+!d{XL$l@E7HFiBWX~Z!s01rDk!e$jcS|t zoXHG!qp4z}XbN8J>=pVPOi2ct%d&H)&d@c?V~a~I{Bw);c$6qpw-R)BlVqv$v`cV* zgOyrH>l_4MX0lZ}X|xJj)3qNE-vYN9S^k?{>ttoHJ(?Jht*;S~^;nPxSe*i?UtlW= svPmH286Z4A2B9Yw15$~0WG5EnVSGm_Q4p0tsxv_N0x`&=p!COo0jb~Rwg3PC literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/world/field/FieldInstanceType.class b/bin/classes/net/swordie/ms/world/field/FieldInstanceType.class new file mode 100755 index 0000000000000000000000000000000000000000..e587c24415e7323f48364b8106755e75ed781147 GIT binary patch literal 1258 zcmb7DZBNrs7(I9E+O8Iv1EwG-BFY9xoig8sWQZd!X*Oc#;^L=L3YK)8**c8>N=G6@ zqv5kZ%J|$%4Kw&+#^{vv&J1)bfhsx?dKaC=9{v`V7wcyzlI596pZP(ifh!% z@!NsRFrLks2lkw)OHSBCoF21!gU4HI%aT#*qkSngI2OL(|@q+#0U^F# z2aS-Wz;024^hLGk*2DK69Vuyf`+*(yI+PdB<{C6VYmOhORT?PdnywAUYQ0EPXtjGC z$KCSyNi!Fweudw9DNkxo(ZflUCiw#ZXr~z#I}NSaX;gvK6rWI@N%3VYQQbYV=4j_X zt&h}KjGtoSGg@Kq4cO+pb!nm6dh9-;!Sr{WH$Q~iZ*`JA( dAz|rI7=cO`lEeZu;w{sm&)7f46N<<1^bbcA5hMTr literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/world/field/Foothold.class b/bin/classes/net/swordie/ms/world/field/Foothold.class new file mode 100755 index 0000000000000000000000000000000000000000..e30910ce8b4c0f8c9f49ba999da056e737565bbf GIT binary patch literal 4597 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 CTP7<2 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/world/field/MobGen.class b/bin/classes/net/swordie/ms/world/field/MobGen.class new file mode 100755 index 0000000000000000000000000000000000000000..7125abbfe699ea61d2a44ac62b487fedd37356e4 GIT binary patch literal 3468 zcma)8X?IiC72Q`OmY-$JXuvTh1R}`@HKBDA99(RHjX<`E?K*)D^jUtkACcZur6-1T zN{1w!$8?CBwrM(~L((Q`5YVpGkNwbJ(jUR<>OS|$vXC5B_2KHid(S;*pL6y(_x}68 zfBz?dQ@9;PKq28+UZ#58tt{JCrc})oT&L=pj#tfOYgNxJWjDTK2q7Fr#6T3=6#CoF z73~!(ljooidCGQdZ%iSS$R!t}h$+Ocn%B%s(R5ZbdDmGDzd!`?>p~p8QEWHRhaC!s z+LRJjaXGVMTO6m|r76o%*zH(1yo+wNYA+S7`LcQ4S+GmAs?LkDT?Tezk3z8IE-5^e zZ&RpIa!a(0#?X&_QS3Kx00RmK9w4jGyJ~so+>%Ahwr9HpGL%TRtFL)>F|#2-{ew6d z#gKtRqJN-G|9!#=+moOR1LV|3%Nfk$vep}T5{uMLZb5)U?*T$Hnq8b~0?G!QY} zR5;iPv?C6~0x}sx8por^82At#qlayXThlQqNl`FpWX7Gds*(tW9WjgA{>Oc^*Q=)**xTMnXk;&cobkdI>8zzk*;jRBbGtx&5}cvfn0+AbDtKYr&0alyc{#4kqg84nQ=o~{^J#Tq*a9hup>rbCJIKBuo5 zcn(DpNSrpSy6i0yD3rMD3!D&*VHwH>J`0j2LQzfsp{)Z@YIFfPpN40khHIpnkCEv6 z?xXU&<&kAKa5IYM4SY_Md6VeeC6=oFJRM8p3kJR@0&!ng)-0O^+tYRZf`Knf1pB$Q zrO)EQR}Fkkh!|UIdMavPGVro2cX9cGU0t&s5&njOZ%TLRrpAp<(S>j0J5hYs!1wTd zg`*$H&MC8Gwa_y@Jv(tFd+u!Z!j-wR*#(9D?F7*^H77MA&FzN0-#m{_|%w9F;$dH z;r5VisXE4@X?8)CV~5fetND7g!_`(5y6=vX^<;RtVy)OW*r>`bEf2O^)sXWlok_xso`7LnHsKRZygWS@o+n?LE<`y z?HFpo)z`$;rvo6k-ozh#)hfypVX7{t>Nr|QYKF>>rR#Y74o2?csQ}jT%)qM{;L^l8 zc5`=fN3J*$O79Nc!TCBaa%1nwPUcJF2cPscFZBigv-YA{hn1qJ zEy#m91dlV0z)>dPQ9iK}oF$P#3Qyn|#@NxOa2yx8vWOG7$`^u*5$)X=gO}mk@Q;jj zh?0-tPx!M=b-C$r8E@fj9o91b!ej?%WlcvRh`-Wm7XtU>UC}>6A(p)#6gUkI4E+P~ zON3v#4JR*d{0s46-yM$bu;kHqVuv>TBwaa)ofu`?JJphcp#~rWyYLQ4qO@@`?j8oC zq?E$Dc&}mm4mAnI<{0YgU0hcAeI8JBgW}h*6|2sUR=jM zf%o1bY(pl8@adPVY4j^^>qP+q1ZVBX;hFkw1M(rqB literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/world/field/Portal.class b/bin/classes/net/swordie/ms/world/field/Portal.class new file mode 100755 index 0000000000000000000000000000000000000000..c519b2f39b5ce43fa039befa9c349c72701e3616 GIT binary patch literal 4417 zcma)lYmqNIBFRhmX5-e0G6j}t`CJS9icVn`xR>k{W z!P^@@gfH|QqUY#2egHp|$Nw{%HeovfUQA~8nVDyP^WSIonf&|TU;h9Y!%u0np*@KX zg-#?a^xbflom|QBuji)bZ@7ifLgJ|Bd*Qf+_MzdK6jBz@g*3X8PzpWRU}2~4hPmq7 zL8a)qxy5RZtx_>}&2#ztT2Kj{l7$Z6S#&LACL0S(hZWDiJ}S=o6gG;dzR;;$cf)AX z8P1T-M-(C_k0kPLa!|LCl#I&U!6s_Fs1OC7{tTLn7Yz` zPGMU5H?n``9)YFzg2Iff-^Jc(9WY|Oq%ey)3u&)9wI)1;o0HDh6|P8Uk5@g}5MO%U zP9vd z7rk(St!n7_Vb#K^q4iE5#$tHKd_5CEkrB{4>G|%NrNw!-a^9IQ(UO@A7|=6L#gpf{ zu_IjYNHF+dJx1wzh+ATqRae8*9(wRReOOngMbVix>{mu?5XX(6WFV~>8lgxGS}#S_ zY&0ewYz#4uxi`cZShPif#ly;WBc3{j=2q8liX%o3N9pKcv*^0ziJ-hF1<$mvPPFP7ZuuE`*{xl|s#Z;ahDQNP6X z!!I|PqO3F89Fuhy6Hci#?S<}W3g22d9BunONh@P}t-T`y@zfDnqnsh_TNYH__ua}w z$*ES|Y7%$&64q&9+F}wvSlDs@q0CQ_9@xnbM;lLU4}Y1G*lLqJscYsLT{GM1n)yZ7 z%q+TQPSG{fhpw6Ubj_ThYo-WYGbQMnS&;R1FdLx2-vz)r$Ms~^y!|IEJCm%TOaJ!j z-;DiO4Ox4nhJJg$bY(kg*lzcC*3fHb6EzIjSxyP*x9ZchVA}z4H-MzUBif- zRW%&6vpqE&`CT)3{5=KvMr}d|Inqd?4+@)+<^DHgfVo=sw-5a|gspgn)-mcbLGC zzs3}K&InS$>I-Zr!lSS~4l+iN@fIKwW&*++jsc`MuE} zy9o&YP#Qq8ageW#Ah)>BDAz2bSEsY_zmcA`|G?8M&$EoPyv%Z(Ys2X_cbCj+Q4n5!aGeH7_aB3qg?AlUJzshAFT!XQMB_JyszBl?dC3THFuHu si&+~DzftD=xoJ0^^uo<3vw2H){1&DL#vj~~(hKlNq&vH$=8 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/world/field/PortalType.class b/bin/classes/net/swordie/ms/world/field/PortalType.class new file mode 100755 index 0000000000000000000000000000000000000000..5c9cf758ac0213611848821f618ea65ce1fd0949 GIT binary patch literal 3619 zcma)9TX!2*75>J$%t$_#Cr;ufPU6(5)5tcB5*lcO(loXk*Dg*IkYjMlZ7hwQiAOVH zG;%QaUVze;OIz+OP@qumv}#F0S+M%R6N^WF0zZK_)?)FUGh=H^y}BeXYtNp&_jmU7 zoTI=0_szcoxDRa|JsOUBc35g&_k)^am+H+DpWIq$#j*K)$qz!yUD#;YIcP`=WRTU6 zuY^_*Uh*9;)NpLREBmqpFa&ZEpg+Q$^VXfFv+OGHUI8IxeUWUjBPj^^LQwDNST8TxgpQ4%;IHAemqVJm>GOiAr`3*0TWbCLFCZ%w{^kHC9zj|P2o zadQ6h`HF_(BV9H^9;fj>9rp;7aYjR?>iV9oVNY>v{+hLJm0XsvbaDBbT@A~5oW=b* z&IwFnN<*QeaNcXxx%|52w(N^5bf}oHo_4Kfvz&NQ2?NJlEhkry01E#Bf%BNrkUisg zPIy+sU=k{}oEuw|Vb2Q8;UNtvuB$=gxhu_0ZwTvl@xS9Lf7*RaL` z>bSP4La+SbyxSz+oyl@-Pu2Dg)KC}j;L~>14i{zNQ^m0<0~uM_KvthM*s=QT8Ur~4 z!a%=)0Rwvt>@#q{z_5W41EU6x85lQkmw^)o?v{X02z*Jliaxs8E9q&!Mu+?79nXHa zRbRG)1-Zp(C?`W;O`{g?ZaZdr=KZSWE?R*j(PGH7XVr;3kZ7YAShmPjhmqzg&Z=jH zt$=#zA{(58Fee`wE%!?1NS+r{8*}n>7?=Ijtw)-}E!DN^%Qb5>2{U>^!$fheOPsMQ zbg03Dgr`(>?Sj>aLo?1)-FU)TKe~E45v1G=&UCrJ*|IzW{Z>%5XB=6F_&AecAD2DH zA)WI5kiBd*F4*B!zt-%};>UTsgrDg6sldmOP z)|1>nk_C^Aq6KCxujbm#(RtrrYc+P*`Vz5jGn7sz)w>r)OTM#ha>I?0r!Cj5INV4~ z{DS39MzlGFSD39|%31i8z_;*i6Tgv-)Ma&K`Nf>)*?~F*?52+2^OEznWbc$W9j|H_ zerHu~15uLCour3nxrGj#+b{1$04c9Git;L>C@(IG@{*z`FC>cc&Y>vp7mD&aq3B3V zc{NZxZvu+)$XAp{yP`b673I-P4|?RO1eineP$r+_AI}^5_hoWNNaZKr#;F^)_br@$ zm7IpJ@H?wy8R}2s$yoms@uWq5KpVe>``&^k^?SDIf0b`Uq=l#Ow371_q?TN97Ad5q z#`wg+o0uLy^hZ4Sn$nSL7AOUVxb^|`;vgi}AT1^0Gb$eWBqK`UYkb>-uk)X~Y>Ylh zY>A#D`k`lU;{6@yyn;Cl1Ggt&b6c=E!hT~5_L~fV8+#mfiByK28Gi#0{#LEq$|Tco~LUt^Rne* zRGCkim%_vixI-^NPrrh6O8S;cR3k!(GFXUEqz%5Ks{36&XV4?gX@us<5<@?!QV29m z^DoerQf;IvOX)WB%2KAy?QJRB<_@}~w_#S6j5c;xmQ21HB;mXLBz$?0B-h4a5;oTn zlHN9sl882nBzfcOgI-a5*;05CK;6?n9RQB?Z*hfFdEBG~JPsttkclZNd H!~XvP)dXax literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/world/field/bosses/gollux/FallingCatcher.class b/bin/classes/net/swordie/ms/world/field/bosses/gollux/FallingCatcher.class new file mode 100755 index 0000000000000000000000000000000000000000..6fa68f041d14eb693b411d48d55d19a902513209 GIT binary patch literal 1759 zcma)6+fEZv6kVq+Eu}+&wp0|*qJZsi87?YnkrxcHNuxvvCcX{rScVL3)0ujC@r!)W zL^S%~2l!FOb!Mie9YJ`QbJ?@c+H0@9&-wl5=Pv+HP#i)C;TR$c1`rh(J=Wjqnx)rk z+Ka~`vM%{2U`(2||H4W{=*0{2&+8fj0c-XLQ z!`5mI%WA*Zc67@!>$Pp&sT>(CfrMk6G%ejR_8jg~<+Hdn(6J~ZB^8Wdl#!2`F9k$N z+ENPA$Oy!n4cm0gM%^ZB?|9oWEv;3t)2q-nf**)`3j!=|`Z6qxUY^>Z%; zV2XtUfyj2F$`B)Evu-?ZpBx&kef`j)B~@-zbn8HGnR4$NBhHaYWgZ0yT(v@EHrP>E zAlo0}L$ecR=L+mE6+vc~WR>=NTO!k`liQ5GF!Zwnetl)}-6UX?fX`&xux(4+@|?Sk zq=j$#)^#I;{t-mjX*Z3HDeAT3{w0tXqHM$P+jJ?;_nE7Zym0Q!O9p{k?m9<5!3Sc7|8LXsk#mG| zM*R+!N4)Tb@5>=FnP8UECT@`&WlC9;Cme~3&{&>)dn z5}CVzh*V7~z&DR1gG9!Hisa8B;>o&3kagViL3TNJmFX$2r_3S=EnPs!YoN2@MOpkD yvArnwxq5&Nj*{wAKZ>G$!}!7vTo2(@F!>c~z1kB?=~h8uqdX)MpF3CX$A1A=V_|3j literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/world/field/bosses/gollux/GolluxMiniMapFieldClearType.class b/bin/classes/net/swordie/ms/world/field/bosses/gollux/GolluxMiniMapFieldClearType.class new file mode 100755 index 0000000000000000000000000000000000000000..b082cdb407b572640628926c4eea05c73cd5633a GIT binary patch literal 1666 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 X4YXk)!Xf+!ovn`tu!{$bNulu{F&1`G literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/world/field/bosses/lucid/FairyDust.class b/bin/classes/net/swordie/ms/world/field/bosses/lucid/FairyDust.class new file mode 100755 index 0000000000000000000000000000000000000000..cba297b7d5e07bc9ce45effc11fddafbdfd87e3c GIT binary patch literal 1180 zcmb7?!EVz)5QhIvY^O<`G;L^srll>VG&K?i!40T{s47K@;Ls{}CtivxH$ia%>Wv5D zf<%PGfd}BB5dW-AK#_C6mUm{yvoqh!?9X4{e*k!aRs{tVOR!wna1`p7!H2+)gTaOW zrgy3PV+H4VG>FE>3dPn@w~Qr}OQ^V5hO6*+pvQjlaX1Pi?O!E6wK(+OMw)AHm?S#! z<4HdX{nH>CU7t)6#~$2iFRv zR-4aJSHXHU3>j*r6Akq1$yHB}&V!x=U+WB+r5lVQ*=I&;{4Poqo^<}3`kBJgg&v=! zN1KGDyn-1NRddCe(G-qsXVZ+nWmw{A_*_+rl9 z5+68Rmzl$5lqza`8_aSWb$-CpG!p%q+=;)CD5D9B@NLTcP&AtGSp2_*?Tp5!6o1?M ziqdB)1xRAY7#k)@8qm&?DBQtLcKDdylEN`%{Kb}A3>IrMmSAqAUNcN5!&KPK1*y)1 zG;=}r@v6ok`CO>1*y-2?B{~)=Y!PeK@JJhS^y$L5|DejAdPvD2e}{z a`5^z?sB|)6hzuMt4?GTQCi}&O4rGc$!rym_;qiueoK@vSwGyMgkI|3^BwdG*4R2 zHN%~C_3}Xp$Fq%jOmmkCL*fpXhq%0%f!!fL%;l{NZCsw1)J=Ewbj9$WXiZQbw;b2L(@K=?nza2Q9ZV0BsOXy2w!ukspyWpFSt(|j?qFK;=Bi)QCWMrIScpO;? z+c(mwb52<;n3iw2go~hgB7;plh6C355V6iO%-|fsf5EhilcvkF>|6(ia5+=vDe4v- z-Ff6>%racSoP_p`)YerfE61I%JObC=@R8QHsvd3q{v1E$NNO;nAjXgS zX%3Yu)Q7M;>MzGuh9IIKp@1o9Q_!wpn}Qt*b}Hyq(8tY9hN~PY^1wP&qT^1H(re3_ zwsE#nnx~ zh2?3z98|1~6s+JSr&Fb3&V*{`17W1mm?zUTGjmSGEf|v~KfsRq^)k%iN$>NRii{teq-oTqO-ePzg??~tuNEWa(?GbR3X@8W$+@E2z z1V*(0Q@UNW3~wOoILnptCL=M_fI36I6T|BN{b4QSy=}vTIPg5KTUO4bnWN%83ERRI zt-r9Bs9PWK7wJQW6kIHe!0BS7uu z>zOzjKztcdyk+A0iSl2vivAnedmHrAuYSMOTXbt;sL*n{P zb^10*SYYd*ES}R$BrP6s3K2xP#?bzrn>aYM>t`JOQRwiPt@IS=qS)PNrf(ANtCK9b z$LE52#DXO~m!wVbC=yNMAU};LuP8S36OMi_6gEof74B-O#R7K;_^1TNQ{;{t_paf@ z8XoDsg>m2)Jk~^)Y4UpmPi#_ff5>ZZ(Cj1!U*L6`yz&BC_us(9?r$MSze6;_bBl!9 zR`XITwYBDj+u(U|46Ae>LlYa7)FfXJf$J-xlfa~!{0&k*Qbi<}k5(b)^06unn|!=V z11>LDq2}^R6&<;}N}^68Bz)TH2duVLvr`Z^_O?U;b66H{NjgIMEypNCY2}$^9`4peyOLYAMA1DU6 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/world/field/fieldeffect/FieldEffect$1.class b/bin/classes/net/swordie/ms/world/field/fieldeffect/FieldEffect$1.class new file mode 100755 index 0000000000000000000000000000000000000000..cefa3867548b853e83f913dc77149e48b3813f98 GIT binary patch literal 1936 zcmb`HTW=dh6vzJ)JMkss#Ep|Qv|IvN+5}47rfDdolqPm=)Hkvw1;VB4^*GtG*|m1p z33)?;4}b(800|@>`cf!D2%!oIo_Ion4}b(8012KE=d9DNrSj4W$)5lG{%7XQ%+bvL z^v}1q0lWZ}Mjv7c#3lMMATaN!An)(HUei+fT|ZAfyP0oU>Q1X#EoBDz6?T@xe*K`W z1P1mDyQ6%8h3T2C(t~ALNFj+-0%?gsNP)TgPotd`Sk&}=D=>G;Mq8r{+Tn4uU0(~2 zqlL%mw%y}s_Z+8hYduAk8Il-AmQGh~T&H6TTzJr9r>F%Rw`9{N5962uWFh`PQx3N~M8{2F? zD)AVbslpCrR7DrxLRdwtGj%X53hU4!>*gYvR&F;{K+BdxBhTE}K z5QM8fCGm7Pq3*VI(^Jaf3C~EJW;c7+Eh^hMP)!b=kvPl2TzC9pCvZ!g&RcTd<@h;? zIgV$#@t&FU63=p^f62C-FxPVu&$E+S_0)lG8r@P{lysrV9W1!E>vfOLnO~H+%znD+ zR9meQZ78hil0<>+M0HPjw$bLH%MvT>We&Zf3JlBU$eP4DM{*l#*WFY1#IHz{!bSAJ z*j5Ew8Q~%oi7MNv8Wlo!JKg=iEV04vpx(9|6&0{9@e2Dxw9lSU0#~W1(G9tC8Iu=H zs)!X_3NO;8K)m2K=`9YIC~Kv&+fZJe?}@-j$)zf78lJ^`Xl7`u<~#IC4mnNx^Gvm3 z@r-QGlQ_*wQ`%+6v|ZnFw#zEmahnM=1ZMC5jnZYUC_h+peR@!G-Eovxunpf=es+>R z0Gsq-64?p<1aOa>SMeI@>pWHIBrqpCf)H#G{1$5gsEP zi0~1@M1+%s$q1(ivpu6vF!v0fVeT1!ia8a{&oieZo@E}4_&l?W_yTh#;sxfRh%Ye@ zN4&_Kjkw5sB;r-(k%(Vn&P7~i9*wxhJQlIeJRb5F7)J`DIEpb$U8O|#Q>2Cf@Fl@< yyg_Xr{oka28>g-&XhiuxnhJaWcY`?I3fF&|Y6BvJS~GMEsuPe7FE@3v$$tSca=lyt literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/world/field/fieldeffect/FieldEffect.class b/bin/classes/net/swordie/ms/world/field/fieldeffect/FieldEffect.class new file mode 100755 index 0000000000000000000000000000000000000000..40266ec71fb8072505d795f90de242c87ff7ba74 GIT binary patch literal 11293 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 E17rIabpQYW literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/world/field/fieldeffect/GreyFieldType.class b/bin/classes/net/swordie/ms/world/field/fieldeffect/GreyFieldType.class new file mode 100755 index 0000000000000000000000000000000000000000..9aa0c70362e802a53aecfbf2430e0748c7852091 GIT binary patch literal 2824 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 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/world/field/obtacleatom/ObtacleInRowInfo.class b/bin/classes/net/swordie/ms/world/field/obtacleatom/ObtacleInRowInfo.class new file mode 100755 index 0000000000000000000000000000000000000000..837df47fd2244f76bb584720f9a1fabbaaa13ba1 GIT binary patch literal 2099 zcma)+-%}Jv5XZj*%N=(tAj*lNporqJB&>+hCMia{ zgsP22I0~a-r*<+8M%j}n-`V&c%L?Vxc;jOdi1l7-eZ$6z@Qsk~QI@HAUA1vb^cMAm z9mZ`NcfKUDqw^K*T^sjATa@&eG7UCKs4!j&qu}My;eOD5(KWFt#k~Sw`z9;ebb7Zr#{K^a zKSITqQnDUAd8tKOHWo{)b+O7j@lm@TY=u&wO1@v0Wh^kqG7oTU3S8O#+zm+AYRL}O zl1-^4+fhsQAmuoe%oo=+o>nOp<&g6?)SvpZ`&?xdL3b7=IGLcK{s`-Mz>_%mnX5SX zonICy7sP>cp^Kt(v5Qe>ri%%uVs$a;RED~kaw>%`rh5^tFadCwEKH(=3dT4?XE4Rt zImg*J&jFa$k)NjCv&f92(-oQpov?5&$WUTX?<8qU?+z`l2Y1aYDF6Tf literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/world/field/obtacleatom/ObtacleRadianInfo.class b/bin/classes/net/swordie/ms/world/field/obtacleatom/ObtacleRadianInfo.class new file mode 100755 index 0000000000000000000000000000000000000000..97772522c07783d08ef53f7ea092a6b9aeb7f14c GIT binary patch literal 1832 zcma)+TTc@~6vzKldZBd-g+h^g<)YgKSx{8272_o|0Wo44U$^ZR7Tev}F6syIWB6iX zG4a6<;D<7vGrLf-ZWH!l&Y6>$bAEH?Kl|tJuipT6v6n&weF;Pr#1I$AoEe`CyZKyJXiLN^92ZGQTKs(g6j7oH5?CY+A;lAqB%;$oS%iMih+7P}?=otoCkshgtEgn~&-2_#QU_oZKj;7cjYU^aogf;*TKm=C~L9or@%%dz#N zbN7u={b17ZlcrsDYG%nMKdP1rWv;NGVDYlTp#X2op1Gb#;=3?DdEqfs_m7SH`))IGJ@0$T@xW8C--wgvjt z5`Tp<--kS>fT{*FhBaoJ_avQepB8Vli}tj;m%_f+J}-VKo96jmt33a*L8)Wsyj3+{ zS=^M|f1+Ap@zUM)lcqs>j<86{i?Fn$B|S+?B9fMrLpBY;>Zehs*+a5|Y)tzJ@m(%k zrI8;BkU$kw1ccR8tWj} z%{_wztA4C5s2SsJ-s(aY)AqwMl<44Rk6W4b&)81zYxj~JC6A2J4k zM|eyl6MiH@USC+!E--$9X}0sez3bb8Z}(gzyC0QKTDS%hzXFN- z{Sy3gLqO6&kmXR2t#FWZ5M-4=)_Q=j8o49%vj_pn1VPqALAJv|GC`0H0@>^V!fIg< z`agw$WP>0(p&&cqAlV?u9)UdT0m5Qs5c(yCfaHQ8FG4|f!$GdSGfyM?1XAh&!f%B^ Jic*zN{{cgx2kQU; literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/world/gach/GachaponConstants.class b/bin/classes/net/swordie/ms/world/gach/GachaponConstants.class new file mode 100755 index 0000000000000000000000000000000000000000..7e716feb1e89794ceffc4eb3466be46811865969 GIT binary patch literal 4469 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 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/world/gach/GachaponManager.class b/bin/classes/net/swordie/ms/world/gach/GachaponManager.class new file mode 100755 index 0000000000000000000000000000000000000000..0c828280efcf4a8e41cf35834dea1975478a8d8d GIT binary patch literal 3016 zcmcguYf~Fl7=8{3EF{bQQmM8@P@0g~ZEG#H&??u04HroOsh6@OOIR9q)6E8kFMjv0 z_{lo8Kp7psb;jT1I6h~SKnRfvGdeqS_Uyaoyzlcq@8z67{(AizfCtzKpawn#eigN- z6KL7gw{ZPQ4)0(HZtWx5Xqe4+4?f_i~gZ&BVgGuo7%+nCX_0Vwb_AP7}K zqlzXp3xqAh)p9$wlQIo$E2nXmNoi?4xuHGcpl5AsMz{2|;Rq;>v7NTt4F-=^oFd6T4YMz@L~~o)x$qJMY#Z1(yWckMWE+j=mc+ zb8Y}#@C9)h?<#mt#T8r?Xgpp=++-`8Cwccm1%JvI9Xc%upB72KdsMtHovxpq7+s7_ zCnlt@PsImPSUWZ~GQA)r{VJ||l9{>1*@TpYRSZap5}%(Kn;wZts8JOk;RbP~4dUvr zf~yJ&1vdqnjy;pkE4VGtS3#zi3`yH^b<;8&Es@V=i~#Q769sow4B{Rm>#6aGh;P^q zK`7gLCU4BG3v`6y<<`CbLjl~veVLa-0@thHJxyA8DF_V@R6N9I^i)r!1Ujqi3_l5A z1fvSZRE%RnAX4E@m0TUOt(>b{uFO$VSW4k(Yu#o=go^Mz9%SAsctn=pu2$}sV5U`k zAq&tii!Fdj#8k|Hc^jm$86%ftq0n^O2}3d*q$!Ab6<=aOAi%{7rBWIXoj>Kv-6(3G zL_)=43Cfi1PP@idE`VixrC>$H6MQWYt?-noV6l6cwxwnDgXu_ET;Jld1CPh4)Tr!2#&ni@cj+HYVa-mob%Si@jFUhd*6UNum>@42xVmt4Zk2T z@DhQa(Q=3`3f?(Dw-3t&*|jRN-YT*WtH?qpWG_5KPdWCYo?|PqH1lagAKH2RcHl8O z@s!t=94=v%D^#K;R_IvcTgc;sK1n}D`Ii1RNsy5PL~8Imw4W%cp$2&Vf)|Qa&btaL zi(0q`N!lqfl;X_5I!CGZS8`R$_uvV=_x;`eH}Jpc_8;QbO7zM;KHkHp2NU0EixQiXdWb*Ksqj`Ikj3+&E8p|4kAM63@p*}%$(iUI)a_#`5`Bfo1Cdvl z<0QV1B}tvnL*B-H;AO3mR(VS!`iO_Pr=aZ!aX%c7#zu5AU@j3KVd+qKHxS5EPYt&J E1~v6QUH||9 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/world/gach/result/GachaponDlgType.class b/bin/classes/net/swordie/ms/world/gach/result/GachaponDlgType.class new file mode 100755 index 0000000000000000000000000000000000000000..543eb328cf039bfcb6ca1c50cd886a5632d8200c GIT binary patch literal 1502 zcmbVM*>Vz55IvV!!O0>Hs8K~`~qMJ8wNrG*8;a~w_Y@wyPj*;TQ}X69!@yCUKIIsQQh-CGmJ7|IFEQY~KlLc5&yKTWzNzn8qmsr!CCj45j&tkPSL@ z%4E;+J8tobz+!wLI^#R7R%!q!wVPg0OAVgD0#g5+h4Z)|pr^gSYcC7L2BrFuxx_Yi z;F5(n5;T-HO-VrHOlT3pFSEuKf$@KZQml!v3CqNYi74~uEi7P>J1GljasG+_=p|+S zQ$Wo$b}6Niycf8IPJPF1mYp4+koAA$lsNp@1fuyy)$zBTrpLm4bv1D6bV&5?W^8juFJ^@5n8_?rPr4OI*a!MdlYIK@a zcirPgjQz1?SNS%r%+WZeX<3bx30^pWEUk>Rv?bEgZb(ZTLCh%M0bq2Jw}E_}_&2af zIycEXOO~HV7suXV{3}kpB2VBJ{p#|YLi`!r?(-KAl4v9Yj6@vMp-}rY3v3e|| zke1)+z7dO0+=K#^8OhnH_c)uJev6B*C5O)(rmq~WV+cpcW33oPGPWe^;Ww^G!7`yC z+@+INu-ebhCd(CR$v3$8QWAcZa#YIoQqy{JqY=K^{os^L3^-?ghNviAD5Z+pr9YL5 z)}`T8^e%=<6{CyM(%)S&aSxfk&_2zEpZlLkCz@20_n19^BE74sCOt!Xwx&xjBE4(6 xA-y5#%^9ZjMnB;C0giE#dV`sijZmpQI;LPC36lm8#yT}6)NjigvcwNz{Rg12H$nga literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/world/gach/result/GachaponResult.class b/bin/classes/net/swordie/ms/world/gach/result/GachaponResult.class new file mode 100755 index 0000000000000000000000000000000000000000..c7882f4a3917ee4884d671ecc068495124e3570c GIT binary patch literal 1644 zcmbVM-*XdH6#i~@H$Rqbsat4mYz48{Bvsbd;tx_vAq2=wv@;Fu*zswbu3>SzVUi7w zPrmqvIKKGe0~UpjjttNKBmN6MA>X-KBn-TiWRl%;?m6H2zH{!qe?R%-5rB)hkwZqo zi-W}Lf7|Wtg@L!<_xKj=c^$uf%j*UGL6msc`R?E8#+%wKK*4liA*+yUZPjY^R!d>2 zc|@41;N%??1jnp@*|;f=V-6f~SoO`#jZN{4J2;LBmYUzb+}x_O)bdwHu4Ti;WDXM! zPT(Zb+fg?T6i$@N&D;K6-;4aX<8AET4%$i8#x&l{Va7obZ?XRKfO0SJgZHpNx2DrqSSgiXr!fj;2Nf)G7@Z*57HtYfsocoJk~-&vs;4mhDu$$( zM@Udl%`I;cuvpB#$8|HV5WK6t@Rl> zvH+hva{9@W#uZn#7cfzjb4EMIb?z+You_q%Px;sf7<+&>9>cvyOW|YwXZ4!F_#!?@ z<5!T;UfWfbLrgt}lK9LE@t@M;45RQFF6edcF-A$n8!%u>L}hXIA!aLczvJ|;I!0=a za}`>Fjbr=@))X@Zv8wgRnX}vG%%h03u?zW zfYI794|pZ-SO?q~FOMmY8m^|vTbdBC^e1!O_YLDAKDZAO literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/world/shop/BuyLimitInfo.class b/bin/classes/net/swordie/ms/world/shop/BuyLimitInfo.class new file mode 100755 index 0000000000000000000000000000000000000000..380b8bbbefcebc4f19b76b30d9f96fca423c2c79 GIT binary patch literal 1806 zcma)+TXR!Y6vzKNNpsqCBfTRRODeZqT8^lwkW!)4N^067i9vWfO?KOZ$vK_m1g+o1 zCw%k82c3~Jl^MooKM9|~an%3bCu!4ADwCOW)>&D5t>3!r_2)mozW{Ip4-<$WY9S`k zhq%DdBj>SW*Bo!dUR`^nDuF%|X;MVLrPII%Uf&?r?2QUa} z;h4l*I4*F}Q-R(5)^Ai@W!IZFrCQZ)Zu(pHd~3Vl*4-fQt@{FfRVPqQf#ZdJzx0_) z(BH7c2u2004HcBOx0IpCCoql)3nwJr#z}#5J&`KD=MmlYJ$tnk+;uA7DCUt+Ud6Af z`R#ySVyS$(tOJ~uID>Zt`Wav$zacPjAVj{c&kZ7rX$vzFmthNx?8oVtuo9b2b47i}gxHUV z`otB9_wfNSJfj}#`0nar&caoJGd*=O9b9y4s^r!U|Hl%a;2KFo{>75ORH|^)sa(3O z+n$q{#SJ0^rbi;L^Zr!gCT@|_sa6HXQ(;lNsWkst+?H6-cJYR)`;Xb2fug(NIYFyI z**@5c*`sOZa%8y8F6(J>J+;!Ruc=1KS*uYqQt&HIt?V>h{oPi^f=!pR_ez$pnO6Fb zhsEKUR}LLEc&v~>WS#w*Jer+(`}@;+q1X6O-<-u_!1-Qww%Ykv&CW%+(wPI(W?rZ_ zsGY@D>07`NSZ~h-FHYE(P@gFJtwu%Zso^5%zQ~vLv|@_W5aDWx@W+ub64wC)J~Q$n zHwCXe;(UHi%^aeXfT7GYh|F_X51wJ*DH6XL>pOhv4FyQV=p}C?V~-_#!7qUVmfOCb z(=tX~F`L=J&<@7*EA|AV`W=6QLH)LV#8v(Osa;G8?BHA|UldrL-bF^>2aHpAPv8%H zxRRaO!AC#+`%>dXp>Zae0JxO;F^VL{FvEMlgbA$T1n%LaK}^ziiAke>VG z%;~4N-do2cv8IfNiO^~fEpGay19KtrKi!>fki;)NAm{F|GJ5bIov3#s literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/world/shop/NpcShopDlg.class b/bin/classes/net/swordie/ms/world/shop/NpcShopDlg.class new file mode 100755 index 0000000000000000000000000000000000000000..1637a635c567fba53aa6b8ab29c497f1f26d142a GIT binary patch literal 5171 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 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/world/shop/ShopRequestType.class b/bin/classes/net/swordie/ms/world/shop/ShopRequestType.class new file mode 100755 index 0000000000000000000000000000000000000000..5a7358a56907f4618f66ffa50cd6c07ad3b477a4 GIT binary patch literal 2665 zcmb7FTUQ%Z6#hWw# zW|>CAH|Wc*8UC8vG%EC3Fdw!|Ke)HmG&2xL=tv?Z5HGd11V+k7RxYx3T1SSp6BX08 z`Jh9G&IjoQv$`g|y0X!!ql*udQ?~1?lao4fI3=JBEl!s2PgevkKRAZzEPBwZ;gpUu zc!_YUw(FPzr}KsKy4;k8EuFeCzp`#tgJKqacv-_a9sL*(=-d~Wc3KT`VN=>IbADA| zEFaOHvZe1ABL|hhvz&S{YJmY1{;N99V^AP9ZaG$PQ=m5r6>82F7CA#hIxgZ8C7kRE zh}kTi<#iM=O!~?fUtly}I9@(3<8=+AIt;ua(5+%@1(t10dY;@Oz?2_&rlfF3^A93H zg*gg?QW|YRgPbP$VvdOQrjEC8m5Lk?Zv@WgOHujNmQxKZ*D>yTX3eU~z$|v)ZM>u5 znvUyuSK!RPI|snYt5wSmOi$o?m@nnQA&60f2QZYaah=FdSIwteE$rDzoors^QW1a9kiA2Xy|H-kkkY&>6> zO(V(G{gByFraVO9D8EdnSz<*RnKbk?x>)!l9SckaZD@}Ri7B^6&UBS6$Gp>OteDPa#ml zQ{bg775XR>2eE%`mL= zc-0QOlWIdA--rarojiUFBR7iz*^1lps^)ErYjOI2qji*tMV(l3-GB%yn{#Hc=GOeK z6gIN3(a_-NaM2VPR2)=mff?!4Y||eq zyY5D-dC2^V1bsk}?}MoL(SNp0zF0RpHACbnY1TIoVmE8T%45##X>bocQMNPFsj9{!|Xq1_;@{A9P$y@S)w(DO6x1n$v0rT(#e zKkkR}R|$_bvN62l|sp5T??{@-xn z7bU|sJLxZQl5FSDLH;sUFKII3l8T4FIHEX~=`@B1WQj&$=$}C=`O z)Hy=s06Ir@Fx~e9w8W1{#M!raByDY!cBq|g6xP9tDnpgNlZfdPf}m+$htOjxlR&@r zC&W^G8}Z6gVjEgzDY;GaVkxyvW9j*Vrcr|#LevSDpId(rLT)x5e}WGlBd&IHiGS)8L94pY6Z5$h6Ry;e~t*%;Pf(aObG Vr$ju2k4=0hWh&ccN literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/world/shop/ShopTabIndex.class b/bin/classes/net/swordie/ms/world/shop/ShopTabIndex.class new file mode 100755 index 0000000000000000000000000000000000000000..79c936f97f2d357c65f054d1cf657bf64a692547 GIT binary patch literal 2117 zcma)7O;=l06x}bMH{k*oXz3TUg0u}_n|{y_3q{iOwS)#jc>#@8YX|{SLsFAKo%;hE z_!FEu(1+SCUAnrKGpGIpe}Z$D`<}#ATH>BH-X$ zt=vjBpVb>1m2z^YndGnPMzXnGf1338l`pPmY8&M*VsH@B2qQvV$}PDL64}FrPTN?e z5wo#jcX2siuu7MPZYvL0Gs{-#(de~GaMg1y@6+fPhv(*3#c@RAs5snw+B%MD9Jf5O z;-)jp5_D4Ilt^BBC6~=w*RaNED@DC!+ESvur7>c)E;n<3K0p7s;HFlr_ic?a3BR+N z&*zq`bWY>ENcl|qft$C|xW8t>v3YaUxmWmjE~Yd$*cdB-t>+fm%on8kan zr&O)i$_|bs#{{Hi6{7uQ87dw>ML%Ra&zS1`np{L}td0;PYDt(%JVmbJ!|pr`g_KeYa66->cX?_Z_@7F4}gQyUfE*@yZ#PJ7F&nfXK^0 zkXL{p2Val_FUT<$>@?27XUB4iyClS9vOZ({gIEPO8>yJioc0z+JT7+t)|Y_35@+KfB0 zAN$MhD2N)>0P0-nDL(Jimn7Qy!V^DW;af4h+RBKeYnK*or!#Ro7@gp+q%h!_>H8H< zA?PFM6+%8Q(?Zzit1m=+bbE!U591Y-j{&b>C=C**ogh#gBE)>0A@EQ~30*$U610y5 zq1(qKp~uHXLa&d@1mk1Md;R1U8fdnQb2iye{5bJnSX%#5Fz_6?eFTNAgo47N!n|-u zSlgM8goSm>v(;!sm=U(7qQVA*y>B8)=%COKOw_c^Cxml%rfnY*{-KGPw*QRqM<#A! z5ZBhzK#!p{o-*l5!wJR$rO(`~fyN#T!8kLebEQTV5(*YpU#EWBup=@mZp0_*#@ zVY{Z?sSEt`1fuL7#omeW4=awF?4Nt=l{~sp;*%!-aKD7X*XYAH^zUN;zvBr09Hj}XhNh#sN3CXGbNc#_b3Df zM4<@Cr5qLnp$Zi&P%sTGmlP2Y5pPk!TS34Zl|upl-^^rpJDE+PKlaVM_rCA@zwdsN z=iYz#aR9T`zEK1a3?rmbg=&Ry>ysOk@!q7hF1~EddLxxrs6N@W%={dMU}IBv4I-!s zBdSpgtq`}2d^~qEp(D~dXd4P%_fcuY`e{_vy7M-O< zSffT$ks#C8mr0xX0f!)_(IQK=Bsi^*wDMdL05dh>0-)9b(Aks8=7rUf8b{%1h4I|q zS{Nu3uTbCE)KM~jXFh9M>!|yB9IJ60j^|-rX7-B0q{flk?IYIVM2(X$OJNMfv?ue% z{PX(Ftf6oqMR>Gc$eX?K1!k|&W%e1ixY-(WaEe025x1aAVS3}}WR7CzX|xXOX?b#B z4K28W!sXoU8uPKh(NnvbvkhjOi)xQxkw!uYqlCLGn>MmbGctXuMu$v`k(XyP=|U>+ zEG*SnhUHu^b1RIs1uLCg)63H_Kvs#qR%mpBs9o1-9msPr)VRt)*{$&roZ;xEGgHW> zj0L?(`WC5Mg?g1xpD6^b4#8O(XN$C2GuN5VWR2FOb&fd8$25{MUv1_j#%hp4It)W& zEy!;AXnLN}HPBB?ktOraSlyLaGM~XPs)FtPG>(b&VVtAU3&!x&(Ik-h+H9uJk<&K1 z`5f+h@r*E-Jz^e_6|%CaZkM^5{^976*)1Ah##gBMY+3B6RkC!K##VflOS!VZP_43bkH*)8 zswP*8fe7x^xDWSJDwQq?Q(@-F6jQ-V?Aju%AJBLZUsnj2X$7@drgmry3GzsPCTEIs zNS)lNu?r77-qhBc%+X;c4m*rpGVMvbTs^As7#?SA8XF49UT$nCPnNDXNVa$ayTf== z#S@mT6+w&3{YjQ7=xIC?#E%nXvM&nz?Z zu=qq6&nq1M;bLmJqhQI4!6?3m?}zaNjUS53&e$6VDKkz{J3VJ)ouc+*jh{$`(z&t< zD%@Yx_?ax!aiOi`#Ip1YjhFB;t<5FJ+VK&YWi(?qb%*h*Q49ZkDfUh_pR$5Qoi(Z3 z%$ZE@^DHZqPr7+xlC912;{8T8$0Wf*WyBL{7QBOe78V+ok!2l9+hNU3kz8Kh*A0xi zpH3&)Q}!p?=P&I_bgg90_2IwFGP*MS;m$C-u9ThT4)EE?Dj|z5*WkR44u$=F_ASns zR$HdG&}Wfl$V&DxZC0C%E{Ts&8@nNeu^pymEG_h{F|u8bz9w{JQpw)#WY&~-cQTak zG3ka!daKLc8bu1OcFMm(<47C(bZWDjx*5DCJ3fY-*-yXr%BUad+b&${@SG43$CX}jJe}Cvg6)wd+-xl85=Lbm z4bwg+N_|YIv0ZjWIq9}9PFxk67DD4%d9Nbx<=uybVX?b#nv>ziy>ls*%4KPzrO#aM zrbGut=}oafmsb-v&Cq4?JxP|th~y&2d+gr8iQr2|TGx9Okn}NYgbBR6#6jH)!-!Vm zL%3To)x#Wh=w8LxU|8i-CVegHs*vp~4LYnax#`T5RIaeEPk7C@yL5Wo6rV-gbGSB! zk=$d)9GNkKbb^Cx1yCH~~SN&yVLJgs5TX0N6h;#W}I8R{<_LB|yhR`lt5MZxx@en@E z-CGff1vy?4Qd>WGek-QhZ`HGdbEZw*f;wj{$h9{`sX>TRH_=;wX5QOlRBa2duZQ!l zIg|h5I1xvn4M$=rFNfVY8mn;(*5O!Wc<(zG$Fr|J0hjSccROa`9-NFp%*La*$>0|D~i zB9No(cOc?;@C+}OWEqx7F)sOm!sj4Yd5MiO;!;qv-*bug(CAg(gP1(X`U(e;bS4Mk z=Ma~d=OE2qEPZ8IN(bTR5tqJ{od$93c8_apC?hT%Rdq(K<@Ab5&|0qI~(r-xXV>yal7y-FI+py_!P5~3S+WMT#Cg5c3`{rc)KX? z;R?rdnoPyg?iT`sUOhkN3#7(B1O~l8b`!{x6@WPc^M=r42&@b`rF6_re4}$GzU5WY3uQ`b zC{|Q{*K!Y5p6$ZkLiA!8anaQBnZzY7g%k@>*sI}}i1XzN8g?4`8daypy1cG*HQYj# zuD%&Mwj1BM8C7cgBZ#bg2;W`OLhZgVgdeqphVWC__45|N>nM4Dsuy^Lca>M!-MvOd zzfJ|efkPPj&Fs2L3U5*4*fYw1E%J9JN}r5+HKC~RAk;WEi4(aYpz7@_&saV+u+&WA V=GSv-A2peaQNE;Lsws1){2#LH7Lot} literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/world/shop/cashshop/CashShop.class b/bin/classes/net/swordie/ms/world/shop/cashshop/CashShop.class new file mode 100755 index 0000000000000000000000000000000000000000..b46f5dbb84ad8c47445504c285622b98d2d70f69 GIT binary patch literal 8692 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 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/world/shop/cashshop/CashShopCategory$Flag.class b/bin/classes/net/swordie/ms/world/shop/cashshop/CashShopCategory$Flag.class new file mode 100755 index 0000000000000000000000000000000000000000..6db504e43758d74b9097eca5509cfd0d2651b2d1 GIT binary patch literal 1380 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 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/world/shop/result/ShopResult$1.class b/bin/classes/net/swordie/ms/world/shop/result/ShopResult$1.class new file mode 100755 index 0000000000000000000000000000000000000000..7c6f44832df211a201dcdfa5f993cb8f7fa4a324 GIT binary patch literal 866 zcmb7C+iuf95Ix(tc4A!OmO?|JP>LxD1*{?v61NAcRzxJJgxm7ar;WX8TsC&(wOjQE z_!XW32_b~~0elo<)!$FsiJPP&3%DtiTO68tb?)_En{jYrHuwA3uUvyB1%TRe;oH1-peFfdY z1qYX~$YANlC0tUrW~*)C3d8a-KjFUQ$&uengCZR4#6m{fS(awHdc(n0UESOtMLZXp zy5``zrYt%g3Z*REU~ngCcKgR7%o(aLLK!D<{;I5Yz+h~p5xq#g6DOiq4ErM6<9$iY zLMIKmJm6WZ@tB+oavpx5&W*7hq(v5romfZIC(U}OD-*Mwgfdlea?}<1AdM`v7&fMO zFB04nDu0tI((bgAL}Xi%DN>i{x^T^zWo&)U>a}%p%ZxQ;43VFcO?_lRY?XR%D z=x^>D=8fG?Fy5AMiQw!6E)z6M_?g0MSi}-8qk-F4Cwmu<@PupyYn0e5)34AT=m7wa k{&|@1EjrQtx4^)i^1wQUgHV&!dnMDv23fn*O^#dr16;`2s{jB1 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/world/shop/result/ShopResult.class b/bin/classes/net/swordie/ms/world/shop/result/ShopResult.class new file mode 100755 index 0000000000000000000000000000000000000000..110d9ee9c4e6991ccb21e049ad1e6caf6650a682 GIT binary patch literal 2969 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

Ym^Bh3P3hTbtNMsQAh$vd%v z@-pHOovw~EU%|&jAN^wlPidz%IrICqBi3^Myyz!igqnU?4AAAnTycXK6ho+?^crzk z9AR3bXNd%*Fnq{$uegt{Dn*|draM=mUK|u7VwBcu6#K;(WrW00@_qr0*VJRDA?`Qu zh!6(&|50#7Lk1qx=wol-w2zBx=z?6%y2KT*pvFK+gU1YUj3cPU|1u)HY=nVVYOm22 z#toww#@~QZb=bgb*O)hMV0caG{+jtZs`?DP9$sZd)bSF;?m-$sNBXu!QQf^L!i%Ez z%^`gMvW(zo7nK_(X)Zx&tTTOSg65;~fUjAbo`;yKE}@z+P~!XQR85JM!c@4#N@&U` z!Aee!Y&f4ggqpU zCEQ8UR6-9)a|!!NT1q%b(po}4Nm~g+Br8iukT86PNuni;k*qG^7|EIvCP>znaDrrA z38zTbm+%0|h7xR&SP5y8jZ6p08?(15j^kC|CRJZlPRKpl_be^aELK!kUlH|BquOsa zhC;e&_|2x88r_We&E{}eH&^)07Q@g@%Wt-trfxR-%{D7+`Rr{zu+lQDh~|j;z$(kM z>NK#{2clN3B{i_Y2Uc4VYlQ|j`M?^h&Z^fyhYzf^q}8B-P9Iojt*|T&Z1aKjR=w4z zft^0E!D_IYG_cDDVwPpKXkd>IY_uA!Rt?tJR8Xpx+0!SZ&s74Gj6fR%@lTMgs{S=(JW@Yc(+J16@|sTBm_AALzDLTkAD& z%m=nvYpj?CCVXJKwbt6GffGKk!&+x;(!ePn*lDe|Hf!JkABbBUtac69K5&~AvpO`8 z_JLj2#wy*Oy()G;jdSX(_Ui*bZP)V;K@I$?i^V@}H1aPBO-$0wOu8*hkga$-+VCE% z#D}qp&t*}jqpBJ^t6C7R>cFn5JD9FRK}B$a66oZ-^qeAPB_gJI(4<6K Q%!&*VRo9*qS>Yo3KT`a|4*&oF literal 0 HcmV?d00001 diff --git a/config.properties b/config.properties new file mode 100755 index 0000000..1309d86 --- /dev/null +++ b/config.properties @@ -0,0 +1 @@ +# To be used in the future \ No newline at end of file diff --git a/pom.xml b/pom.xml new file mode 100755 index 0000000..f3001f0 --- /dev/null +++ b/pom.xml @@ -0,0 +1,137 @@ + + 4.0.0 + 2.13.1 + SwordieMS + net.swordie + maplestory + + + 17 + 17 + --enable-preview + UTF-8 + + + + ${project.basedir}/bin + ${project.build.directory}/classes + + + + src/main/java + + **/*.java + + + + + + + maven-assembly-plugin + 3.3.0 + + + + net.swordie.ms.Server + + + + jar-with-dependencies + + + + + make-assembly + package + + single + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.8.1 + + 17 + --enable-preview + 17 + 17 + + + + + + + + mysql + mysql-connector-java + 5.1.39 + + + io.netty + netty-all + 4.1.72.Final + compile + + + + javax.xml.bind + jaxb-api + 2.3.1 + + + com.sun.xml.bind + jaxb-impl + 2.3.2 + + + org.glassfish.jaxb + jaxb-runtime + 2.3.2 + + + javax.activation + activation + 1.1.1 + + + + org.hibernate + hibernate-core + 5.6.3.Final + + + + org.python + jython-standalone + 2.7.2 + + + + log4j + log4j + 1.2.17 + + + + org.mindrot + jbcrypt + 0.4 + + + + com.google.guava + guava + 26.0-jre + + + org.openjdk.nashorn + nashorn-core + 15.3 + + + + diff --git a/properties/CP_207-1.properties b/properties/CP_207-1.properties new file mode 100755 index 0000000..68d2d02 --- /dev/null +++ b/properties/CP_207-1.properties @@ -0,0 +1,952 @@ +PONG = 150 +CONNECT_CHAT = 1 +REDISPLAY_SERVER_LIST = 7 +GUILD_CHAT = 19 +FRIEND_CHAT = 20 +GUEST_LOGIN = 22 +TOS = 29 +VIEW_SERVER_LIST = 33 +VIEW_REGISTER_PIC = 50 +VIEW_SELECT_PIC = 53 +CLIENT_FAILED = 57 +PART_TIME_JOB = 59 +CHARACTER_CARD = 60 +ENABLE_LV50_CHAR = 61 +CREATE_LV50_CHAR = 62 +ENABLE_SPECIAL_CREATION = 62 +CREATE_SPECIAL_CHAR = 65 +DUMMY_CODE = 100 +BEGIN_SOCKET = 101 +SECURITY_PACKET = 102 +PERMISSION_REQUEST = 103 +LOGIN_BASIC_INFO = 104 +CHECK_LOGIN_AUTH_INFO = 105 +VIEW_CHANNEL_REQUEST = 106 +SELECT_WORLD = 107 +CHECK_SPW_REQUEST = 108 +CHAR_SELECT = 109 +CHECK_SPW_EXIST_REQUEST = 110 +MIGRATE_IN = 111 +SELECT_CHARACTER = 112 +SELECT_GO_TO_STAR_PLANET = 113 +SELECT_ACCOUNT = 114 +WORLD_INFO_REQUEST = 115 +WORLD_INFO_FOR_SHINING_REQUEST = 116 +CHECK_DUPLICATE_ID = 117 +LOGOUT_WORLD = 118 +PERMISSION_REQUEST_FAKE = 119 +CHECK_LOGIN_AUTH_INFO_FAKE = 120 +CREATE_MAPLE_ACCOUNT_FAKE = 121 +SELECT_ACCOUNT_FAKE = 122 +SELECT_WORLD_FAKE = 123 +SELECT_CHARACTER_FAKE = 124 +CREATE_NEW_CHARACTER_FAKE = 125 +CREATE_NEW_CHARACTER = 126 +DELETE_CHARACTER = 130 +RESERVED_DELETE_CHARACTER_CONFIRM = 131 +RESERVED_DELETE_CHARACTER_CANCEL = 132 +RENAME_CHARACTER = 133 +EXCEPTION_LOG = 134 +PRIVATE_SERVER_PACKET = 135 +RESET_LOGIN_STATE_ON_CHECK_OTP = 136 +CHANGE_SPW_REQUEST = 137 +CHECK_SOW_REQUEST_FAKE = 138 +CHECK_OTP_REQUEST = 139 +CHECK_DELETE_CHARACTER_OTP = 140 +CHECK_OTP_FOR_WEB_LAUNCHING_REQUEST = 141 +CREATE_SECURITY_HANDLE = 142 +ALBA_REQUEST = 143 +UPDATE_CHARACTER_CARD_REQUEST = 144 +ALIVE_ACK = 153 +CLIENT_ERROR = 155 +APPLY_HOTFIX = 158 +SERVER_STATUS_REQUEST = 159 +WVS_SET_UP_STEP = 160 +WVS_CRASH_CALLBACK = 161 +WORLD_LIST_REQUEST = 163 +CHAR_POSITION_CHANGE = 168 +WORLD_STATUS_REQUEST = 176 +USE_AUTH_SERVER = 183 +AUTH_FAILURE = 187 +CHAR_SELECT_NO_PIC = 189 +CHANGE_PIC_REQUEST = 190 +UNK200_193 = 195 +B_E_G_I_N__U_S_E_R = 198 +USER_TRANSFER_FIELD_REQUEST = 199 +USER_TRANSFER_CHANNEL_REQUEST = 200 +USER_TRANSFER_TO_HUB_REQUEST = 201 +WORLD_TRANSFER_REQUEST = 202 +WORLD_TRANSFER_SHINNING_STAR_REQUEST = 203 +USER_MIGRATE_TO_CASH_SHOP_REQUEST = 205 +USER_MIGRATE_AUCTION_REQUEST = 206 +USER_MIGRATE_TO_MONSTER_FARM = 207 +USER_MIGRATE_TO_MONSTER_FARM_BY_INVITE_ITEM = 208 +USER_TRANSFER_ASWAN_REQUEST = 209 +USER_TRANSFER_ASWAN_READY_REQUEST = 210 +ASWAN_RETIRE_REQUEST = 211 +USER_REQUEST_PV_P_STATUS = 212 +USER_MIGRATE_TO_PVE_REQUEST = 212 +USER_MOVE = 213 +USER_SIT_REQUEST = 214 +USER_PORTABLE_CHAIR_SIT_REQUEST = 215 +USER_EMOTICON_ITEM_USE_REQUEST = 216 +USER_DANCE_STOP_REQUEST = 217 +USER_MELEE_ATTACK = 218 +USER_SHOOT_ATTACK = 219 +USER_MAGIC_ATTACK = 220 +USER_BODY_ATTACK = 221 +USER_AREA_DOT_ATTACK = 222 +USER_MOVING_SHOOT_ATTACK_PREPARE = 223 +USER_HIT = 225 +USER_CHAT = 226 +USER_ITEM_LINKED_CHAT = 227 +USER_A_D_BOARD_CLOSE = 228 +USER_EMOTION = 229 +ANDROID_EMOTION = 230 +USER_ACTIVATE_EFFECT_ITEM = 231 +USER_MONKEY_EFFECT_ITEM = 232 +USER_ACTIVATE_NICK_ITEM = 233 +USER_ACTIVATE_DAMAGE_SKIN = 234 +USER_ACTIVATE_DAMAGE_SKIN__PREMIUM = 235 +USER_DAMAGE_SKIN_SAVE_REQUEST = 236 +USER_DEFAULT_WING_ITEM = 237 +USER_KAISER_TRANSFORM_WING = 238 +USER_KAISER_TRANSFORM_TAIL = 239 +USER_UPGRADE_TOMB_EFFECT = 240 +USER_BAN_MAP_BY_MOB = 241 +USER_MONSTER_BOOK_SET_COVER = 242 +USER_SELECT_NPC = 243 +USER_REMOTE_SHOP_OPEN_REQUEST = 244 +USER_SCRIPT_MESSAGE_ANSWER = 245 +USER_SHOP_REQUEST = 246 +USER_TRUNK_REQUEST = 247 +USER_ENTRUSTED_SHOP_REQUEST = 248 +USER_STORE_BANK_REQUEST = 249 +USER_PARCEL_REQUEST = 250 +USER_EFFECT_LOCAL = 251 +USER_SPECIAL_EFFECT_LOCAL = 252 +USER_FINAL_ATTACK_REQUEST = 253 +USER_CREATE_AREA_DOT_REQUEST = 254 +USER_CREATE_HOLIDOM_REQUEST = 255 +REQ_MAKING_SKILL_EFF = 256 +SHOP_SCANNER_REQUEST = 257 +SHOP_LINK_REQUEST = 258 +AUCTION_REQUEST = 259 +AUCTION_LEAVE_REQUEST = 260 +ADMIN_SHOP_REQUEST = 261 +USER_GATHER_ITEM_REQUEST = 262 +USER_SORT_ITEM_REQUEST = 263 +USER_CHANGE_SLOT_POSITION_REQUEST = 264 +USER_TEXT_EQUIP_INFO = 265 +USER_POP_OR_PUSH_BAG_ITEM_TO_INVEN = 17 +USER_BAG_TO_BAG_ITEM = 267 +USER_POUR_IN_BAG_TO_BAG = 268 +USER_STAT_CHANGE_ITEM_USE_REQUEST = 269 +USER_STAT_CHANGE_ITEM_CANCEL_REQUEST = 270 +USER_STAT_CHANGE_BY_PORTABLE_CHAIR_REQUEST = 271 +USER_MOB_SUMMON_ITEM_USE_REQUEST = 272 +USER_PET_FOOD_ITEM_USE_REQUEST = 273 +USER_TAMING_MOB_FOOD_ITEM_USE_REQUEST = 274 +USER_SCRIPT_ITEM_USE_REQUEST = 275 +USER_RECIPE_OPEN_ITEM_USE_REQUEST = 276 +USER_CONSUME_CASH_ITEM_USE_REQUEST = 277 +USER_ADDITIONAL_SLOT_EXTEND_ITEM_USE_REQUEST = 278 +USER_CASH_PET_PICK_UP_ON_OFF_REQUEST = 279 +USER_CASH_PET_SKILL_SETTING_REQUEST = 280 +USER_OPTION_CHANGE_REQUEST = 281 +USER_DESTROY_PET_ITEM_REQUEST = 282 +USER_BRIDLE_ITEM_USE_REQUEST = 283 +USER_SKILL_LEARN_ITEM_USE_REQUEST = 284 +USER_SKILL_RESET_ITEM_USE_REQUEST = 285 +USER_ABILITY_RESET_ITEM_USE_REQUEST = 286 +USER_ABILITY_CHANGE_ITEM_USE_REQUEST = 287 +USER_EXP_CONSUME_ITEM_USE_REQUEST = 288 +USER_MONSTER_LIFE_INVITE_ITEM_USE_REQUEST = 289 +USER_EXP_ITEM_GET_REQUEST = 290 +USER_CHAR_SLOT_INC_ITEM_USE_REQUEST = 291 +USER_CHAR_RENAME_ITEM_USE_REQUEST = 292 +USER_KAISER_COLOR_CHANGE_ITEM_USE_REQUEST = 293 +USER_SHOP_SCANNER_ITEM_USE_REQUEST = 294 +USER_MAP_TRANSFER_ITEM_USE_REQUEST = 295 +USER_PORTAL_SCROLL_USE_REQUEST = 296 +USER_FIELD_TRANSFER_REQUEST = 297 +USER_UPGRADE_ITEM_USE_REQUEST = 298 +USER_UPGRADE_ASSIST_ITEM_USE_REQUEST = 299 +USER_HYPER_UPGRADE_ITEM_USE_REQUEST = 300 +USER_EX_ITEM_UPGRADE_ITEM_USE_REQUEST = 301 +USER_KARMA_CONSUME_ITEM_USE_REQUEST = 302 +USER_EVENT_UPGRADE_ITEM_USE_REQUEST = 303 +USER_ITEM_OPTION_UPGRADE_ITEM_USE_REQUEST = 306 +USER_ADDITIONAL_OPT_UPGRADE_ITEM_USE_REQUEST = 307 +USER_ITEM_SLOT_EXTEND_ITEM_USE_REQUEST = 308 +USER_WEAPON_TEMP_ITEM_OPTION_REQUEST = 309 +USER_ITEM_SKILL_SOCKET_UPGRADE_ITEM_USE_REQUEST = 310 +USER_ITEM_SKILL_OPTION_UPGRADE_ITEM_USE_REQUEST = 311 +USER_FREE_MIRACLE_CUBE_ITEM_USE_REQUEST = 312 +USER_EQUIPMENT_ENCHANT_WITH_SINGLE_UI_REQUEST = 314 +USER_UI_OPEN_ITEM_USE_REQUEST = 315 +USER_BAG_ITEM_USE_REQUEST = 316 +USER_ARCANE_SYMBOL_MERGE_REQUEST = 317 +USER_ITEM_RELEASE_REQUEST = 320 +USER_MEMORIAL_CUBE_OPTION_REQUEST = 321 +USER_USE_NAVI_FLYING_SKILL_REQUEST = 322 +USER_TOADS_HAMMER_REQUEST = 324 +USER_TOADS_HAMMER_HELP_REQUEST = 325 +USER_CHANGE_SOUL_COLLECTION_REQUEST = 326 +USER_SELECT_SOUL_SKILL_UP_REQUEST = 327 +USER_ABILITY_UP_REQUEST = 329 +USER_ABILITY_MASS_UP_REQUEST = 330 +USER_DOT_HEAL = 331 +USER_CHANGE_STAT_REQUEST = 332 +USER_CHANGE_STAT_REQUEST_BY_ITEM_OPTION = 333 +SET_SON_OF_LINKED_SKILL_REQUEST = 334 +UNLINK_SKILL_REQUEST = 335 +LINK_SKILL_REQUEST = 336 +USER_SKILL_UP_REQUEST = 337 +USER_SKILL_USE_REQUEST = 338 +USER_SKILL_CANCEL_REQUEST = 339 +USER_SKILL_PREPARE_STOP = 340 +USER_SKILL_PREPARE_START = 341 +USER_SKILL_KEYDOWN_CHARGE_REQUEST = 343 +USER_DROP_MONEY_REQUEST = 344 +USER_GIVE_POPULARITY_REQUEST = 345 +USER_PARTY_REQUEST = 346 +USER_CHARACTER_INFO_REQUEST = 347 +USER_ACTIVATE_PET_REQUEST = 348 +USER_REGISTER_PET_AUTO_BUFF_REQUEST = 349 +USER_TEMPORARY_STAT_UPDATE_REQUEST = 350 +USER_PORTAL_SCRIPT_REQUEST = 351 +USER_PORTAL_TELEPORT_REQUEST = 352 +USER_CALLING_TELEPORT_REQUEST = 354 +USER_MAP_TRANSFER_REQUEST = 355 +USER_ANTI_MACRO_ITEM_USE_REQUEST = 356 +USER_ANTI_MACRO_SKILL_USE_REQUEST = 357 +USER_ANTI_MACRO_REFRESH_REQUEST = 358 +USER_CLAIM_REQUEST = 359 +USER_QUEST_REQUEST = 360 +USER_MEDAL_REISSUE_REQUEST = 361 +USER_CALC_DAMAGE_STAT_SET_REQUEST = 362 +USER_B2_BODY_REQUEST = 363 +USER_THROW_GRENADE = 364 +USER_DESTROY_GRENADE = 365 +USER_CREATE_AURA_BY_GRENADE = 366 +USER_SET_MOVE_GRENADE = 367 +USER_MACRO_SYS_DATA_MODIFIED = 368 +USER_SELECT_NPC_ITEM_USE_REQUEST = 369 +USER_LOTTERY_ITEM_USE_REQUEST = 370 +USER_ROULETTE_START_REQUEST = 371 +USER_ROULETTE_RESULT_REQUEST = 372 +USER_ITEM_MAKE_REQUEST = 373 +USER_REPAIR_DURABILITY_ALL = 374 +USER_REPAIR_DURABILITY = 375 +USER_QUEST_RECORD_SET_STATE = 376 +USER_CLIENT_TIMER_END_REQUEST = 377 +USER_CLIENT_RESOLUTION_RESULT = 378 +USER_FOLLOW_CHARACTER_REQUEST = 379 +USER_FOLLOW_CHARACTER_WITHDRAW = 380 +USER_SELECT_PQ_REWARD = 381 +USER_REQUEST_PQ_REWARD = 382 +SET_PASSENGER_RESULT = 382 +USER_REQUEST_INSTANCE_TABLE = 383 +USER_REQUEST_CREATE_ITEM_POT = 384 +USER_REQUEST_REMOVE_ITEM_POT = 385 +USER_REQUEST_INC_ITEM_POT_LIFE_SATIETY = 386 +USER_REQUEST_CURE_ITEM_POT_LIFE_SICK = 387 +USER_REQUEST_COMPLATE_TO_ITEM_POT = 388 +USER_REQUEST_RESPAWN = 389 +USER_CONSUME_HAIR_ITEM_USE_REQUEST = 390 +USER_FORCE_ATOM_COLLISION = 393 +USER_DEBUFF_OBJ_COLLISION = 394 +USER_UPDATE_LAPIDIFICATION = 395 +USER_UPDATE_PARTY_BUFF_AREA = 396 +USER_REQUEST_CHARACTER_POTENTIAL_SKILL_RAND_SET = 399 +USER_REQUEST_CHARACTER_POTENTIAL_SKILL_RAND_SET_UI = 400 +USER_REQUEST_OCCUMPATION_DATA = 401 +USER_REQUEST_ASWAN_TIME_TABLE_CLIENT_INIT = 402 +USER_PROTECT_BUFF_DIE_ITEM_REQUEST = 403 +USER_PROTECT_BUFF_DIE_MAPLE_POINT_REQUEST = 404 +USER_PROTECT_EXP_DIE_MAPLE_POINT_REQUEST = 405 +USER_KEY_DOWN_AREA_MOVING = 406 +USER_CHECK_WEDDING_EX_REQUEST = 407 +USER_CATCH_DEBUFF_COLLISION = 408 +USER_AFFECTED_AREA_CREATED = 409 +USER_AFFECTED_AREA_REMOVED = 410 +USER_DAZZLE_HIT = 411 +USER_MESO_EXCHANGE_REQUEST = 412 +ZERO_TAG = 413 +ZERO_SHARE_CASH_EQUIP_PART = 414 +ZERO_LAST_ASSIST_STATE = 415 +USER_SHOOT_ATTACK_IN_FPS = 416 +USER_LUCKY_ITEM_USE_REQUEST = 417 +USER_MOB_MOVE_ABILITY_CHANGE = 418 +USER_DRAGON_ACTION = 420 +USER_DRAGON_BREATH_EARTH_EFFECT = 421 +USER_RENAME_REQUEST = 422 +GROUP_MESSAGE = 428 +ITEM_LINKED_GROUP_MESSAGE = 429 +FIELD_UNIVERSE_MESSAGE = 430 +WHISPER = 431 +MESSENGER = 432 +MINI_ROOM = 433 +PARTY_REQUEST = 436 +PARTY_RESULT = 437 +PARTY_INVITABLE_SET = 438 +EXPEDITION_REQUEST = 439 +PARTY_ADVER_REQUEST = 440 +URSUS_PARTY_REQUEST = 441 +GUILD_REQUEST = 442 +GUILD_RESULT = 443 +GUILD_JOIN_REQUEST = 444 +GUILD_JOIN_CANCEL_REQUEST = 445 +GUILD_JOIN_ACCEPT = 446 +GUILD_JOIN_REJECT = 447 +GUILD_CONTENT_RANK_REQUEST = 448 +TOWER_RANK_REQUEST = 449 +ADMIN = 450 +LOG = 451 +FRIEND_REQUEST = 452 +STAR_PLANET_POINT_REQUEST = 453 +LOAD_ACCOUNT_ID_OF_CHARACTER_FRIEND_REQUEST = 454 +MEMO_REQUEST = 455 +MEMO_FLAG_REQUEST = 456 +ENTER_TOWN_PORTAL_REQUEST = 458 +ENTER_RANDOM_PORTAL_REQUEST = 459 +ENTER_OPEN_GATE_REQUEST = 460 +SLIDE_REQUEST = 461 +FUNC_KEY_MAPPED_MODIFIED = 462 +R_P_S_GAME = 463 +G_S_R_P_S_GAME = 464 +STAR_PLANET__G_S_R_P_S_GAME = 465 +G_S_R_P_S_FORCE_SELECT = 466 +MARRIAGE_REQUEST = 467 +WEDDING_WISH_LIST_REQUEST = 468 +GUEST_BLESS = 469 +BOOBY_TRAP_ALERT = 470 +STALK_BEGIN = 471 +ALLIANCE_REQUEST = 472 +ALLIANCE_RESULT = 473 +TALK_TO_TUTOR = 474 +TALK_TO_PARTNER = 475 +USER_SWITCH_R_P = 476 +REQUEST_INC_COMBO = 477 +REQUEST_DEC_COMBO = 478 +REQUEST_SET_BLESS_OF_DARKNESS = 479 +DEMON_BLOOD_SPILL_REQUEST = 481 +XENON_CORE_OVERLOAD = 482 +REQUEST_SET_HP_BASE_DAMAGE = 483 +MOB_CRC_KEY_CHANGED_REPLY = 484 +MOB_CRC_DATA_RESULT = 485 +MAKING_SKILL_REQUEST = 486 +BROADCAST_EFFECT_TO_SPLIT = 487 +BROADCAST_ONE_TIME_ACTION_TO_SPLIT = 488 +BROADCAST_AFFECTED_EFFECT_TO_SPLIT = 489 +DEBUG_ONLY_COMMAND = 490 +MICRO_BUFF_END_TIME = 491 +REQUEST_SESSION_VALUE = 492 +USER_TRANSFER_FREE_MARKET_REQUEST = 493 +USER_REQUEST_SET_STEAL_SKILL_SLOT = 494 +USER_REQUEST_STEAL_SKILL_MEMORY = 495 +USER_REQUEST_STEAL_SKILL_LIST = 496 +USER_REQUEST_STEAL_SKILL = 497 +RECALL_SUMMON = 498 +REWARD_MOB_LIST_REQUEST = 501 +USER_LV_UP_GUIDE_NOTICE = 502 +RESET_CROSS_HUNTER_ALERT = 503 +CROSS_HUNTER_COMPLETE_REQUEST = 504 +CROSS_HUNTER_SHOP_REQUEST = 505 +USER_EQUIP_SLOT_LEVEL_MINUS_ITEM_USE_REQUEST = 506 +BOARD_GAME_REQUEST = 507 +USER_REQUEST_FLYING_SWORD_START = 508 +BINGO_REQUEST = 512 +BINGO_CASSANDRA_REQUEST = 513 +ACTION_BAR_REQUEST = 514 +USER_HYPER_SKILL_UP_REQUEST = 515 +USER_HYPER_SKILL_RESET_REQUEST = 516 +USER_HYPER_STAT_SKILL_UP_REQUEST = 517 +USER_HYPER_STAT_SKILL_RESET_REQUEST = 518 +USER_SET_DRESS_CHANGED_REQUEST = 519 +ENTRY_RECORD_REQUEST = 520 +SET_MAX_GAUGE = 521 +USER_RETURN_EFFECT_RESPONSE = 522 +GET_SERVER_TIME = 523 +GET_CHARACTER_POSITION = 524 +USER_REQUEST_CHANGE_MOB_ZONE_STATE = 525 +EVOLVING_REQUEST = 526 +USER_MIXER_REQUEST = 527 +SUMMON_EVENT_REWARD = 528 +MYSTIC_FIELD_MOVE = 529 +YUT_GAME_REQUEST = 530 +USER_JEWEL_CRAFT_REQUEST = 531 +VALUE_PACK_REQUEST = 532 +REQUEST_RELOGIN_COOKIE = 533 +WAIT_QUEUE_REQUEST = 534 +CHECK_TRICK_OR_TREAT_REQUEST = 535 +MONSTER_FARM_MIGRATE_OUT_REQUEST = 536 +HALLOWEEN_CANDY_RANKING_REQUEST = 537 +GET_REWARD_REQUEST = 538 +MAPLE_STYLE_BONUS_REQUEST = 539 +MAPLE_STYLE_ADVICE_REQUEST = 540 +MAPLE_STYLE_SET_SCORE_REQUEST = 541 +MENTORING = 541 +GET_LOTTERY_RESULT = 542 +ROOT_ABYSS_ENTER_REQUEST = 543 +USER_SET_ITEM_ACTION = 544 +USER_SET_BITS_CASE = 545 +USER_SET_BITS_SLOT = 546 +USER_ANTI_MACRO_QUESTION_RESULT = 547 +USER_PINKBEAN_ROLLING = 548 +USER_QUICK_MOVE_SCRIPT = 547 +TIME_GATE_REQUEST = 546 +USER_SELECT_ANDROID = 547 +USER_COMPLETE_NPC_SPEECH = 548 +USER_COMPLETE_ANOTHER_USER_CHECK = 549 +USER_COMPLETE_COMBO_KILL_COUNT_CHECK = 550 +USER_COMPLETE_MULTI_KILL_COUNT_CHECK = 551 +USER_COMPLETE_MULTI_KILL_CHECK = 552 +USER_DAMAGE_FALLING_CHECK = 553 +USER_COMPLETE_PERSONAL_SHOP_BUY_CHECK = 554 +USER_DAILY_COMMITMENT_CHECK = 555 +USER_MOB_DROP_MESO_PICKUP = 555 +USER_BREAK_TIME_FIELD_ENTER = 556 +USER_RUN_ACT_QUEST = 567 +JOURNAL_AVATAR_REQUEST = 568 +REQUEST_EVENT_LIST = 569 +USER_SIGN_REQUEST = 570 +ADD_ATTACK_RESET = 571 +SET_EVENT_NAME_TAG = 572 +USER_AFFECTED_AREA_REMOVE_BY_TIME = 573 +REQUEST_FREE_CHANGE_JOB = 574 +LIBRARY_START_SCRIPT = 575 +CHANNEL_USER_COUNT_REQUEST = 576 +UN_URSUS_SELECTED_SKILL_LIST = 577 +SOUL_DUNGEON_SYS = 578 +USER_COORDINATION_CONTEST_REQUEST = 579 +USER_SOUL_EFFECT_REQUEST = 580 +USER_SPIN_OFF_NEW_MODIFY_REQUEST = 581 +BLACK_LIST = 582 +SKILL_HELPER_POPUP = 583 +BLOCKBUSTER = 584 +M_TALK_OFFLINE_ACCOUNT_FRIENDS_NAME_REQUEST = 585 +CHARACTER_BURNING = 586 +UPDATE_CHARACTER_SELECT_LIST = 586 +DIRECT_GO_TO_FIELD = 586 +TRY_REGISTER_TELEPORT = 586 +USER_TOWER_CHAIR_SETTING = 587 +UNION_REQUEST = 592 +END_OVER_HEAT = 587 +BULLET_BARRAGE_DURATION_EXTENSION_REQUEST = 588 +TRADE_KING_SHOP_INFO_REQ = 589 +KEY_DOWN_SKILL_COST = 603 +MATRIX_UPDATE_REQUEST = 607 +MOD_SPECTRA_ENERGY = 610 +USER_REVIVE_REQUEST = 611 +GREATER_DARK_SERVANT_SWAP_REQUEST = 612 +INHUMAN_SPEED_FORCE_ATOM_REQUEST = 614 +CRYSTAL_SKILL_REQUEST = 616 +B_E_G_I_N__P_E_T = 628 +PET_MOVE = 629 +PET_ACTION = 630 +PET_INTERACTION_REQUEST = 631 +PET_DROP_PICK_UP_REQUEST = 632 +PET_STAT_CHANGE_ITEM_USE_REQUEST = 633 +PET_UPDATE_EXCEPTION_LIST_REQUEST = 634 +PET_FOOD_ITEM_USE_REQUEST = 635 +PET_OPEN_SHOP = 636 +E_N_D__P_E_T = 637 +B_E_G_I_N__S_K_I_L_L_P_E_T = 638 +SKILL_PET_MOVE = 639 +SKILL_PET_ACTION = 640 +SKILL_PET_STATE = 641 +SKILL_PET_DROP_PICK_UP_REQUEST = 642 +SKILL_PET_UPDATE_EXCEPTION_LIST_REQUEST = 643 +E_N_D__S_K_I_L_L_P_E_T = 644 +B_E_G_I_N__S_U_M_M_O_N_E_D = 645 +SUMMONED_MOVE = 646 +SUMMONED_ATTACK = 647 +SUMMONED_HIT = 648 +SUMMONED_SKILL = 649 +SUMMONED_REMOVE = 650 +SUMMONED_ATTACK_PV_P = 651 +SUMMONED_ACTION = 652 +SUMMONED_ASSIST_ATTACK_DONE = 655 +SUMMONED_SKILL_ATTACK = 659 +E_N_D__S_U_M_M_O_N_E_D = 661 +B_E_G_I_N__D_R_A_G_O_N = 662 +DRAGON_MOVE = 663 +DRAGON_GLIDE = 664 +E_N_D__D_R_A_G_O_N = 665 +B_E_G_I_N__A_N_D_R_O_I_D = 666 +ANDROID_MOVE = 667 +ANDROID_ACTISET = 668 +E_N_D__A_N_D_R_O_I_D = 669 +B_E_G_I_N__F_O_X_M_A_N = 670 +FOX_MAN_MOVE = 671 +FOX_MAN_ACTION_SET_USE_REQUEST = 672 +E_N_D__F_O_X_M_A_N = 673 +QUICKSLOT_KEY_MAPPED_MODIFIED = 673 +PASSIVE_SKILL_INFO_UPDATE = 674 +UPDATE_CLIENT_ENVIRONMENT = 675 +DIRECTION_NODE_COLLISION = 679 +USER_LASER_INFO_FOR_REMOTE = 680 +RETURN_TELEPORT_DEBUFF = 681 +CHECK_PROCESS = 682 +MEMO_IN_GAME_REQUEST = 682 +EGO_EQUIP_GAUGE_COMPLETE_RETURN = 683 +EGO_EQUIP_CREATE_UPGRADE_ITEM = 684 +EGO_EQUIP_CREATE_UPGRADE_ITEM_COST_REQUEST = 685 +EGO_EQUIP_TALK_REQUEST = 686 +EGO_EQUIP_CHECK_UPDATE_ITEM_REQUEST = 687 +INHERITANCE_INFO_REQUEST = 688 +INHERITANCE_UPGRADE_REQUEST = 689 +MIRROR_READING_SELECT_BOOK_REQUEST = 690 +LIKE_POINT = 691 +USER10TH_STREAMING_URL_REQUEST = 692 +USER_UPDATE_MAPLE_TV_SHOW_TIME = 693 +REDUCE_DOT_DAMAGE_BASE_BUFF_REQUEST = 694 +MIRROR_STUDY_COMPLETE = 695 +REQUEST_ARROW_PLATTER_OBJ = 697 +USER_TIME_EVENT_UI_OPEN_REQUEST = 698 +USER_TIME_EVENT_RESULT_REQUEST = 699 +USER_TIME_EVENT_COMPLETE_REQUEST = 700 +USER_TIME_EVENT_PASSED_TIME_SET = 701 +INVASION_SETTING_REQUEST = 702 +USER_FIELD_ATTACK_OBJ_REQUEST_BOARDING = 703 +USER_FIELD_ATTACK_OBJ_REQUEST_GET_OFF = 704 +MONSTER_BATTLE = 705 +UI_SCRIPT_REQUEST = 727 +BOSS_ARENA_MATCH_REQUEST = 728 +BOSS_ARENA_MIGRATE_REQUEST = 706 +MOB_USER_CONTROL_SKILL_Q_PUSH = 707 +MOB_USER_CONTROL_SKILL_Q_POP = 708 +MOB_USER_CONTROL_SKILL_FORCED_Q_POP = 709 +PARTY_QUEST_RANKING_REQUEST = 710 +ATTENDANCE_EVENT = 711 +ATTENDANCE_EVENT_REWARD_REQ = 712 +UI_ATTENDANCE_GHOST_CHANGE_REQ = 713 +EVENT_UI_REQ = 714 +ATTENDANCE_EVENT_SELECT_REWARD = 715 +USER_SET_CUSTOMIZE_EFFECT = 717 +USER_CUSTOMIZE_EFFECT_ITEM_MODIFY = 718 +USER_GROWTH_HELPER_REQUEST = 719 +USER_CONTENTS_MAP_REQUEST = 722 +USER_TIMER_REQ = 723 +USER_MANNEQUIN = 724 +USER_BUFFER_FLY_REQ = 725 +USER_NON_TARGET_FORCE_ATOM_ATTACK = 726 +USER_RUN_SCRIPT = 727 +CHECK_BOSS_PARTY_BY_SCRIPT = 728 +SET_GO_TO_SHINE_CITY_WAIT_FIELD = 729 +SET_STAR_PLANET_MINI_GAME_CUSTOMIZING_OPTION = 730 +STAR_PLANET_TREND_SHOP_SET_AVATAR = 731 +STAR_PLANET_TREND_SHOP_RESTORE_AVATAR = 732 +STAR_PLANET_REQUEST = 733 +STAR_PLANET_MATCHING_REENTRANCE = 734 +STAR_PLANET_RESULT_UI_EXIT_SCRIPT = 735 +MOVE_TO_URSUS_WAITING_FIELD = 736 +MONSTER_COLLECTION_COMPLETE_REWARD_REQ = 737 +MONSTER_COLLECTION_EXPLORE_REQ = 738 +UNION_RAID_RETREAT = 739 +PLAT_FORMAR_ENTER_REQUEST = 740 +STIGMA_DELIVERY_REQUEST = 741 +B_E_G_I_N__E_V_E_N_T__G_R_O_U_P = 742 +INVITATION_ACCEPT_USER = 743 +INVITATION_CANCEL_USER = 744 +EVENT_GROUP_LEAVE = 745 +B_E_G_I_N__E_V_E_N_T__G_R_O_U_P__P_A_C_K_E_T = 746 +E_N_D__E_V_E_N_T__G_R_O_U_P__P_A_C_K_E_T = 747 +E_N_D__E_V_E_N_T__G_R_O_U_P = 748 +B_E_G_I_N__E_V_E_N_T__R_A_N_K_I_N_G = 749 +EVENT_RANKING_OPEN = 750 +EVENT_RANKING_HELP = 751 +E_N_D__E_V_E_N_T__R_A_N_K_I_N_G = 752 +B_E_G_I_N__A_F_R_E_E_C_A_T_V = 753 +AFREECA_TV_BROAD_START = 754 +AFREECA_TV_BROAD_STOP = 755 +E_N_D__A_F_R_E_E_C_A_T_V = 756 +USER_SURVEY_REQUEST = 773 +NPS_INFO = 774 +USER_FLAME_ORB_REQUEST = 775 +USER__SAD_RESULT_UI__CLOSE = 776 +FREE_LOOK_CHANGE_REQUEST = 777 +FREE_LOOK_CHANGE_UI_OPEN_FAILED = 778 +USER_SMART_PHONE_CALL_REQUEST = 779 +USER_JAGUAR_CHANGE_REQUEST = 780 +FPS_LOG = 781 +PACKET_MODIFY_LOG = 782 +BATTLE_USER_AVATAR_SELECT = 783 +BATTLE_USER_ATTACK = 784 +BATTLE_USER_ATTACK_EXPIRE = 785 +BATTLE_USER_ATTACK_POSITION = 786 +BATTLE_USER_HIT = 787 +BATTLE_USER_HIT_BY_MOB = 788 +BATTLE_STAT_CORE_REQUEST = 789 +BATTLE_USER_ALIVE = 790 +USER_CONTENTS_BOOK_REQUEST = 791 +PERFORMANCE_CLIENT_LOGIN = 792 +PERFORMANCE_CLIENT_IN_FIELD = 793 +PING_CHECK_REQUEST__CLIENT_TO_GAME = 794 +PING__CLIENT_TO_GAME = 795 +PLANT_POT_CLICK = 796 +RANDOM_MISSION_REQUEST = 797 +ITEM_COLLECTION_SET_FLAG = 798 +ITEM_COLLECTION_CHECK_COMPLETE = 799 +SELF_STAT_CHANGE_REQUEST = 800 +CASH_BUFF_EVENT_CANCEL = 801 +CREATE_PSYCHIC_LOCK = 808 +RESET_PATH_PSYCHIC_LOCK = 809 +RELEASE_PSYCHIC_LOCK = 810 +RESERVE_DAMAGE_PSYCHIC_LOCK = 811 +CREATE_KINESIS_PSYCHIC_AREA = 812 +DO_ACTIVE_PSYCHIC_AREA = 813 +DEBUFF_PSYCHIC_AREA = 814 +RELEASE_PSYCHIC_AREA = 815 +PSYCHIC_OVER_REQUEST = 816 +DEC_PSYCHIC_POINT_REQUEST = 817 +TOUCH_ME_END_REQUEST = 818 +BITE_ATTACK_RESPONSE = 819 +SAVE_URSUS_SKILL = 820 +GET_SAVED_URSUS_SKILL = 821 +URSUS_SHOP_REQUEST = 822 +URSUS_PARTY_MEMBER_LIST = 822 +USER_KEY_DOWN_STEP_REQUEST = 823 +DAILY_GIFT_REQUEST = 824 +SKILL_COMMAND_LOCK_ARAN = 825 +SKILL_COMMAND_LOCK_ARK = 826 +BEAST_FORM_WING_OFF = 827 +RESET_AIR_HIT_COUNT_REQUEST = 828 +RW_ACTION_CANCEL = 833 +RELEASE_RW_GRAB = 834 +DIMENSIONAL_MIRROR_WARP_REQUEST = 835 +RW_CLEAR_CURRENT_ATTACK_REQUEST = 836 +RW_MULTI_CHARGE_CANCEL_REQUEST = 837 +FUNCTION_FOOTHOLD_MAN = 838 +SHOOT_OBJECT_CREATE_REQUEST = 840 +SHOOT_OBJECT_EXPLODE_REQUEST = 843 +LOADED_DICE_SELECTION_RESULT = 847 +SERPENT_VORTEX_INCREMENT_REQUEST = 848 +UNION_ASSIGN_REQUEST = 852 +SPOTLIGHT_STACK_REQUEST = 851 +UNION_PRESET_CHANGE = 856 +UNION_PRESET_INFO_REQUEST = 857 +ACHIEVEMENT_REQUEST = 865 +USER_TELEPORT_ROCK_ALLOWED_SETTING_REQUEST = 871 +INCREASE_SKILL_STACK_REQUEST = 882 +DIVINE_ECHO_EXPIRE_REQUEST = 883 +DIMENSIONAL_SWORD_CHANGE = 884 +INFERNO_SPHERE_FEATHER_COUNT = 885 +MONSTER_BOOK_MOB_INFO = 917 +GACHAPON_REQUEST = 919 +NEBULITE_INSERT_REQUEST = 914 +SOCKET_CREATE_REQUEST = 915 +FAMILIAR_ADD_REQUEST = 924 +FAMILIAR_SPAWN_REQUEST = 925 +FAMILIAR_RENAME_REQUEST = 926 +BEAST_TAMER_REGROUP_REQUEST = 895 +GUILD_BBS = 937 +SURPRISE_BOX = 945 +FAMILIAR_MOVE = 988 +FAMILIAR_ACTION = 989 +FAMILIAR_ATTACK = 990 +FAMILIAR_SKILL = 991 +SLASH_COMMAND = 1023 +E_N_D__U_S_E_R = 1014 +B_E_G_I_N__F_I_E_L_D = 1014 +B_E_G_I_N__L_I_F_E_P_O_O_L = 1007 +B_E_G_I_N__M_O_B = 1022 +MOB_MOVE = 1023 +MOB_APPLY_CTRL = 1024 +MOB_DROP_PICK_UP_REQUEST = 1025 +MOB_HIT_BY_OBSTACLE = 1026 +MOB_HIT_BY_OBSTACLE_ATOM = 1027 +MOB_HIT_BY_MOB = 1028 +MOB_SELF_DESTRUCT = 1029 +MOB_SELF_DESTRUCT_COLLISION_GROUP = 1030 +MOB_ATTACK_MOB = 1032 +MOB_SKILL_DELAY_END = 1033 +MOB_TIME_BOMB_END = 1034 +MOB_ESCORT_COLLISION = 1035 +MOB_REQUEST_ESCORT_INFO = 1036 +MOB_ESCORT_STOP_END_REQUEST = 1037 +MOB_AREA_ATTACK_DISEASE = 1038 +MOB_EXPLOSION_START = 1039 +MOB_LIFTING_END = 1040 +MOB_UPDATE_FIXED_MOVE_DIR = 1041 +MOB_CREATE_FIRE_WALK = 1042 +MOB_AFTER_DEAD_REQUEST = 1043 +MOB_DAMAGE_SHARE_INFO = 1044 +MOB_CREATE_AFFECTED_AREA = 1045 +MOB_DOWN_RESPONSE = 1046 +E_N_D__M_O_B = 1047 +B_E_G_I_N__N_P_C = 1058 +NPC_MOVE = 1059 +NPC_SPECIAL_ACTION = 1060 +E_N_D__N_P_C = 1061 +E_N_D__L_I_F_E_P_O_O_L = 1062 +B_E_G_I_N__D_R_O_P_P_O_O_L = 1063 +DROP_PICK_UP_REQUEST = 1064 +E_N_D__D_R_O_P_P_O_O_L = 1065 +B_E_G_I_N__R_E_A_C_T_O_R_P_O_O_L = 1065 +REACTOR_HIT = 1066 +REACTOR_CLICK = 1067 +REACTOR_RECT_IN_MOB = 1068 +REACTOR_UNK203_1047 = 1069 +REACTOR_KEY = 1070 +E_N_D__R_E_A_C_T_O_R_P_O_O_L = 1071 +B_E_G_I_N__F_I_S_H_I_N_G_Z_O_N_E_P_O_O_L = 1072 +FISHING_INFO = 1073 +FISHING_END = 1074 +E_N_D__F_I_S_H_I_N_G_Z_O_N_E_P_O_O_L = 1075 +B_E_G_I_N__P_E_R_S_O_N_A_L__O_B_J_E_C_T = 1076 +DECOMPOSER_REQUEST = 1077 +E_N_D__P_E_R_S_O_N_A_L__O_B_J_E_C_T = 1078 +B_E_G_I_N__E_V_E_N_T__F_I_E_L_D = 1079 +EVENT_START = 1080 +SNOW_BALL_HIT = 1081 +SNOW_BALL_TOUCH = 1082 +COCONUT_HIT = 1083 +TOURNAMENT_MATCH_TABLE = 1084 +PULLEY_HIT = 1085 +E_N_D__E_V_E_N_T__F_I_E_L_D = 1086 +B_E_G_I_N__M_O_N_S_T_E_R__C_A_R_N_I_V_A_L__F_I_E_L_D = 1087 +M_CARNIVAL_REQUEST = 1088 +E_N_D__M_O_N_S_T_E_R__C_A_R_N_I_V_A_L__F_I_E_L_D = 1089 +B_E_G_I_N__D_E_F_E_N_S_E__F_I_E_L_D = 1090 +DEFENSE_GAME_REQUEST = 1091 +E_N_D__D_E_F_E_N_S_E__F_I_E_L_D = 1092 +C_O_N_T_I_S_T_A_T_E = 1105 +B_E_G_I_N__P_A_R_T_Y__M_A_T_C_H = 1106 +INVITE_PARTY_MATCH = 1110 +CANCEL_INVITE_PARTY_MATCH = 1111 +PARTY_MEMBER_CANDIDATE_REQUEST = 1112 +URSUS_PARTY_MEMBER_CANDIDATE_REQUEST = 1113 +PARTY_CANDIDATE_REQUEST = 1114 +INTRUSION_FRIEND_CANDIDATE_REQUEST = 1115 +INTRUSION_LOBBY_CANDIDATE_REQUEST = 1116 +END_PARTY_MATCH = 1117 +REQUEST_FOOT_HOLD_MOVE = 1118 +GATHER_END_NOTICE = 1120 +ACT_CHANGE_REACTOR_USE_REQUST = 1121 +USER_ANTI_MACRO_BOMB_REQUEST = 1122 +MAKE_ENTER_FIELD_PACKET_FOR_QUICK_MOVE = 1123 +RUNE_STONE_USE_REQ = 1124 +RUNE_STONE_SKILL_REQ = 1119 +OBSTACLE_ATOM_COLLISION = 1127 +TIMER_GAUGE_TIMEOUT = 1128 +FALLING_CATCHER_HACK_CHECK = 1129 +COOK_GAME_REQUEST = 1130 +FPS_MODE_EXIT_REQUEST = 1131 +MAKE_ENTER_FIELD_PACKET_FOR_MIRROR_DUNGEON = 1132 +LEAVE_MIRROR_DUNGEON = 1133 +PEACEMAKER_TRAVEL_CONTACT_COUNT = 1134 +PEACEMAKER_EXPLOSION_CONTACT_COUNT = 1135 +ILLIUM_RESONANCE_LINK = 1139 +B_E_G_I_N__R_H_Y_T_H_M_G_A_M_E = 1131 +RHYTHM_GAME_HIT_NOTE = 1132 +RHYTHM_GAME_START_REGION = 1133 +RHYTHM_GAME_NPC_ACTION_REQUEST = 1138 +E_N_D__R_H_Y_T_H_M_G_A_M_E = 1140 +B_E_G_I_N__M_O_U_N_T_A_I_N_R_I_D_I_N_G = 1141 +MOUNTAIN_RIDING_HP_INFO = 1142 +MOUNTAIN_RIDING_MOB_INFO = 1143 +E_N_D__M_O_U_N_T_A_I_N_R_I_D_I_N_G = 1144 +B_E_G_I_N__P_I_R_A_N_H_A = 1145 +PIRANHA_INFO = 1146 +PIRANHA_DIE = 1147 +PIRANHA_DAMAGE = 1148 +PIRANHA_PREPARE = 1149 +E_N_D__P_I_R_A_N_H_A = 1150 +B_E_G_I_N__R_O_B_B_I_N_S = 1151 +ROBBINS__INC_BOMB = 1152 +ROBBINS__DEC_BOMB = 1153 +ROBBINS__TOSS_BOMB = 1154 +E_N_D__R_O_B_B_I_N_S = 1155 +B_E_G_I_N__F_A_L_L_I_N_G_S_T_O_N_E = 1156 +FALLING_STONE_INFO = 1157 +FALLING_STONE_HP_INFO = 1158 +FALLING_STONE_PREPARE = 1159 +E_N_D__F_A_L_L_I_N_G_S_T_O_N_E = 1160 +B_E_G_I_N__B_A_T_T_L_E_F_I_E_L_D = 1161 +BATTLE_FIELD_DAMAGE = 1162 +BATTLE_FIELD_SHEEP_REVIVAL_REQ = 1163 +BATTLE_FIELD_SHEEP_REVIVE = 1164 +E_N_D__B_A_T_T_L_E_F_I_E_L_D = 1165 +B_E_G_I_N__B_O_S_S_A_R_E_N_A = 1166 +BOSS_ARENA_SELECT_BOSS = 1167 +BOSS_ARENA_SELECT_SKILL = 1168 +BOSS_ARENA_SELECT_DIFFICULTY = 1169 +BOSS_ARENA_SELECT_CONFIRM = 1170 +E_N_D__B_O_S_S_A_R_E_N_A = 1171 +B_E_G_I_N__C_A_T_A_P_U_L_T = 1172 +CATAPULT__UPGRADE_SKILL = 1173 +E_N_D__C_A_T_A_P_U_L_T = 1174 +FIELD_ATTACK_OBJ_PUSH_ACT = 1175 +FIELD_RESPAWN = 1176 +B_E_G_I_N__S_O_U_L__D_U_N_G_E_O_N = 1177 +SOUL_ITEM_USE = 1178 +SOUL_ITEM_USE_VOTE = 1179 +SOUL_DUNGEON_SUMM_SOUL_BOSS = 1180 +E_N_D__S_O_U_L__D_U_N_G_E_O_N = 1181 +B_E_G_I_N__S_P_A_C_E_M_O_O_N_R_A_B_B_I_T = 1182 +SPACE_MOON_RABBIT_HIT_EFF = 1183 +SPACE_MOON_RABBIT_DAMAGE = 1184 +E_N_D__S_P_A_C_E_M_O_O_N_R_A_B_B_I_T = 1185 +B_E_G_I_N__H_U_N_D_R_E_D_B_I_N_G_O = 1186 +H_BINGO_CHECK_NUMBER = 1187 +H_BINGO_CHECK_BINGO = 1188 +E_N_D__H_U_N_D_R_E_D_B_I_N_G_O = 1189 +B_E_G_I_N__T_Y_P_I_N_G_G_A_M_E = 1190 +TYPING_GAME_CHECK_MSG = 1191 +TYPING_GAME_WORD_MOB_ATTACK = 1192 +TYPING_GAME_LEVEL_SELECT = 1193 +TYPING_GAME_SKILL_ATTACK = 1194 +TYPING_GAME_FIELD_OUT = 1195 +E_N_D__T_Y_P_I_N_G_G_A_M_E = 1196 +B_E_G_I_N__H_U_N_D_R_E_D_O_X_Q_UI_Z = 1197 +H_OX_QUIZ_SELECTED = 1198 +E_N_D__H_U_N_D_R_E_D_O_X_Q_UI_Z = 1199 +B_E_G_I_N__S_T_A_R_P_L_A_N_E_T_R_P_S = 1200 +S_P_RPS_GAME_USER_SELECT = 1201 +S_P_RPS_GAME_ANSWER = 1202 +S_P_RPS_GAME_LEAVE = 1203 +E_N_D__S_T_A_R_P_L_A_N_E_T_R_P_S = 1204 +B_E_G_I_N__S_I_D_E_S_C_R_O_L_L_F_L_Y_S_H_O_O_T_I_N_G = 1205 +SSFS_HIT_USER = 1206 +SSFS_LETHAL_ATTACK = 1207 +SSFS_EXIT = 1208 +E_N_D__S_I_D_E_S_C_R_O_L_L_F_L_Y_S_H_O_O_T_I_N_G = 1209 +B_E_G_I_N__F_I_E_L_D_S_T_A_T_E = 1210 +STAR_PLANET__H_BINGO_CHECK_NUMBER = 1211 +STAR_PLANET__H_BINGO_CHECK_BINGO = 1212 +STAR_PLANET__H_BINGO_SEND_NUMBER = 1213 +STAR_PLANET__H_RPS_SELECTED = 1214 +STAR_PLANET__GROUP_DANCE_SELECTED = 1215 +STAR_PLANET__GROUP_DANCE_CANCEL = 1216 +E_N_D__F_I_E_L_D_S_T_A_T_E = 1217 +B_E_G_I_N__M_O_M_E_N_T_S_W_I_M_A_R_E_A = 1218 +MOMENT_SWIM_AREA__WATER_LEVEL = 1219 +E_N_D__M_O_M_E_N_T_S_W_I_M_A_R_E_A = 1220 +B_E_G_I_N__G_H_O_S_T_P_A_R_K = 1221 +GHOST_PARK_USE_RUNE_REQ = 1222 +GHOST_PARK_RUNE_HEAL_REQ = 1223 +GHOST_PARK_HIT_BULLET = 1224 +E_N_D__G_H_O_S_T_P_A_R_K = 1225 +B_E_G_I_N__F_I_E_L_D__U_R_U_S = 1226 +URSUS_SAVE_DEADLY_USER = 1227 +E_N_D__F_I_E_L_D__U_R_U_S = 1228 +FIELD_SKILL_USE_REQUEST = 1229 +FIELD_WEATHER__MSG = 1230 +FIELD_STAT_Q_R_EX_DAY = 1231 +B_E_G_I_N__P_O_L_O_F_R_I_T_O_B_O_U_N_T_Y_H_U_N_T_I_N_G = 1232 +POLO_FRITO_BOUNTY_HUNTING_REQUEST = 1233 +E_N_D__P_O_L_O_F_R_I_T_O_B_O_U_N_T_Y_H_U_N_T_I_N_G = 1234 +B_E_G_I_N__P_O_L_O_F_R_I_T_O_T_O_W_N_D_E_F_E_N_S_E = 1235 +POLO_FRITO_TOWN_DEFENSE_REQUEST = 1236 +E_N_D__P_O_L_O_F_R_I_T_O_T_O_W_N_D_E_F_E_N_S_E = 1237 +B_E_G_I_N__P_O_L_O_F_R_I_T_O_C_O_U_R_T_S_H_I_P_D_A_N_C_E = 1238 +POLO_FRITO_COURTSHIP_DANCE_RESULT = 1239 +E_N_D__P_O_L_O_F_R_I_T_O_C_O_U_R_T_S_H_I_P_D_A_N_C_E = 1240 +B_E_G_I_N__B_O_S_S__D_E_M_I_A_N__F_L_Y_I_N_G_S_W_O_R_D = 1241 +DEMIAN_OBJECT_MAKE_ENTER_ACK = 1245 +DEMIAN_OBJECT_NODE_END = 1246 +DEMIAN_OBJECT_ERR__RECREATE = 1247 +E_N_D__B_O_S_S__D_E_M_I_A_N__F_L_Y_I_N_G_S_W_O_R_D = 1248 +E_N_D__F_I_E_L_D = 1249 +CHECK_S_P_W_CREATE_NEW_CHARACTER = 1261 +SET_S_P_W = 1262 +B_E_G_I_N__B_L_A_C_K__M_A_G_E = 1329 +BLACK_MAGE_ORB_HIT = 1329 +E_N_D__B_L_A_C_K__M_A_G_E = 1330 +GOLLUX_MINI_MAP_LEAVE_REQUEST = 1334 +B_E_G_I_N__C_A_S_H_S_H_O_P = 1379 +CASH_SHOP_CHARGE_PARAM_REQUEST = 1380 +CASH_SHOP_QUERY_CASH_REQUEST = 1381 +CASH_SHOP_CASH_ITEM_REQUEST = 1382 +CASH_SHOP_CHECK_COUPON_REQUEST = 1383 +CASH_SHOP_MEMBER_SHOP_REQUEST = 1385 +CASH_SHOP_GIFT_MATE_INFO_REQUEST = 1386 +CASH_SHOP_SEARCH_LOG = 1387 +CASH_SHOP_COODINATION_REQUEST = 1388 +CASH_SHOP_CHECK_MILEAGE_REQUEST = 1389 +CASH_SHOP_NAVER_USAGE_INFO_REQUEST = 1390 +M_V_P__DAILY_PACK__REQUEST = 1391 +M_V_P__SPECIAL_PACK__REQUEST = 1392 +CASH_SHOP_ACTION = 1395 +CASH_SHOP_BUTTON_PRESS = 1396 +E_N_D__C_A_S_H_S_H_O_P = 1397 +B_E_G_I_N__R_A_I_S_E = 1398 +RAISE_REFRESH = 1399 +RAISE_UI_STATE = 1400 +RAISE_INC_EXP = 1401 +RAISE_ADD_PIECE = 1402 +E_N_D__R_A_I_S_E = 1403 +SEND_MATE_MAIL = 1404 +REQUEST_GUILD_BOARD_AUTH_KEY = 1405 +REQUEST_CONSULT_AUTH_KEY = 1406 +REQUEST_CLASS_COMPETITION_AUTH_KEY = 1407 +REQUEST_WEB_BOARD_AUTH_KEY = 1408 +IRBOX_EVENT = 1409 +B_E_G_I_N__I_T_E_M_U_P_G_R_A_D_E = 1413 +GOLD_HAMMER_REQUEST = 1414 +GOLD_HAMMER_COMPLETE = 1415 +E_N_D__I_T_E_M_U_P_G_R_A_D_E = 1416 +B_E_G_I_N__B_A_T_T_L_E_R_E_C_O_R_D = 1418 +BATTLE_RECORD_ON_OFF_REQUEST = 1419 +BATTLE_RECORD_SKILL_DAMAGE_LOG = 1420 +E_N_D__B_A_T_T_L_E_R_E_C_O_R_D = 1421 +B_E_G_I_N__F_A_R_M = 1421 +INSERT_FARM_OBJECT = 1422 +DELETE_FARM_OBJECT = 1423 +INSERT_FARM_TILE = 1424 +DELETE_FARM_TILE = 1425 +TRANSFER_FARM_FIELD = 1426 +BUY_FARM_OBJECT = 1427 +SEL_FARM_OBJECT = 1428 +MY_HOUSE_UPGRADE = 1428 +FARM_ADMIN_COMMAND = 1429 +REQUEST_QUEST_COMPLETE = 1430 +CHECK_FARM_NAME = 1431 +REQUEST_INTERACT_OBJECT = 1432 +REQUEST_CONSUME_OBJECT = 1433 +REQUEST_CLICK_NPC = 1434 +REQUEST_RANDOM_FARM = 1435 +REQUEST_FARM_VISIT = 1436 +REQUEST_ADD_FARM_FRIEND = 1437 +FARM_IN_GAME_FRIEND_REQUEST = 1438 +REQUEST_DELETE_FARM_FRIEND = 1439 +REQUEST_ADD_BLACK_LIST = 1440 +REQUEST_DELETE_BLACK_LIST = 1441 +REQUEST_FARM_INFO_UI = 1442 +CHECK_FARM_NAME_BY_CONSUME = 1443 +REQUEST_AUTO_HARVEST = 1444 +REQUEST_SOUL_RECHARGE = 1445 +REQUEST_TRANSFER_FARM_BY_NAME = 1446 +MY_FARM_MONSTER_REQUEST = 1447 +FARM_MONSTER_COMBINE = 1448 +FARM_MONSTER_SET_NAME_REQUEST = 1449 +FARM_MONSTER_CARE = 1450 +FARM_MONSTER_PLAY = 1451 +FARM_MONSTER_RELEASE = 1452 +FARM_MONSTER_SEARCH_REQUEST = 1453 +FARM_MONSTER_POS_RECODE = 1454 +FARM_MONSTER_LOCKER_REQUEST = 1455 +FARM_MONSTER_LIFE_EXTEND = 1456 +PHOTO_UPDATE = 1457 +PHOTO_GET_REQUEST = 1458 +MY_HOME_SEND_NOTICE_REQUEST = 1459 +MY_HOME_LOAD_MAIN_LOG_REQUEST = 1460 +MY_HOME_DELETE_LOG_REQUEST = 1461 +FARM_WHISPER = 1462 +FARM_GROUP_MESSAGE = 1463 +REQUEST_FARM_FRIEND_RECOMMEND = 1464 +FARM_REQUEST_IN_GAME_INFO_SET = 1465 +FARM_REQUEST_IN_GAME_INFO_MOD = 1466 +REQUEST_FARM_FRIEND_INFO = 1467 +REQUEST_FARM_TODAY = 1468 +REQUEST_FIRST_ENTER_REWARD = 1469 +CHECK_ADMIN_ACCOUNT_LOG = 1470 +E_N_D__F_A_R_M = 1471 +CHARACTER_LIST_REQUEST = 1472 +COPY_CHARACTER_TO_TEST_REQUEST = 1473 +REWARD_REQUEST = 1481 +VORAGE_REQUEST = 1483 +NO = 1450 diff --git a/properties/LP_207-1.properties b/properties/LP_207-1.properties new file mode 100755 index 0000000..d139a89 --- /dev/null +++ b/properties/LP_207-1.properties @@ -0,0 +1,1509 @@ +CHECK_PASSWORD_RESULT = 0 +WORLD_INFORMATION = 1 +LATEST_CONNECTED_WORLD = 2 +RECOMMENDED_WORLD_MESSAGE = 3 +SET_CLIENT_KEY = 4 +SET_PHYSICAL_WORLD_ID = 5 +SELECT_WORLD_BUTTON = 6 +SELECT_WORLD_RESULT = 7 +SELECT_CHARACTER_RESULT = 8 +ACCOUNT_INFO_RESULT = 9 +CREATE_MAPLE_ACCOUNT_RESULT = 10 +CHECK_DUPLICATED_ID_RESULT = 11 +CREATE_NEW_CHARACTER_RESULT = 12 +DELETE_CHARACTER_RESULT = 13 +RESERVED_DELETE_CHARACTER_RESULT = 14 +RESERVED_DELETE_CHARACTER_CANCEL_RESULT = 15 +SET_CHARACTER_ID = 16 +MIGRATE_COMMAND = 17 +ALIVE_REQ = 18 +PING_CHECK_RESULT = 20 +AUTH_CODE_CHANGED = 21 +AUTH_MESSAGE = 22 +SECURITY_PACKET = 23 +PRIVATE_SERVER_PACKET = 25 +CHANGE_SPW_RESULT = 26 +ALBA_RESULT = 31 +ILLEGAL_PROGRAM = 35 +SET_AUTO_SELECTED_WORLD = 36 +WORLD_INFO_FOR_SHINING_RESULT = 37 +HOTFIX = 40 +OPCODE_ENCRYPTION = 41 +IDK_BUT_CRASHES = 42 +SERVER_STATUS = 54 +TRY_AGAIN = 55 +FREEZE_CLIENT_ON_BLACK_SCREEN = 56 +SPW_SET_RESULT = 58 +SPW_DESET_RESULT = 59 +AUTH_SERVER = 60 +AUTH_INFO_REQUEST = 62 +INCORRECT_PIC = 63 +CHAT_LOGIN_RESULT = 2 +CHAT_LOGOUT_RESULT = 12 +CHAT_ALIVE_REQ = 14 +CHAT_ENTER_GUILD_CHAT_ROOM_RESULT = 16 +CHAT_GUILD_CHAT_MESSAGE = 19 +CHAT_FRIEND_CHAT_MESSAGE = 20 +CHAT_BLOCK_GUILD_FRIEND_CHAT = 29 +SET_BACK_EFFECT = 72 +SET_MAP_TAGGED_OBJECT_VISISBLE = 73 +SET_MAP_TAGGED_OBJECT_SMOOTH_VISIBLE = 74 +SET_MAP_TAGGED_OBJECT_ANIMATION = 75 +SET_MAP_OBJECT_ANIMATION = 76 +SET_MAP_OBJECT_VISIBLE = 77 +SET_MAP_OBJECT_MOVE = 78 +SET_MAP_OBJECT_CREATE_LAYER = 79 +SET_SPINE_BACK_EFFECT = 80 +SET_SPINE_OBJECT_EFFECT = 81 +CREATE_SPINE_RECT_EVENT = 82 +REMOVE_SPINE_RECT_EVENT = 83 +SPINE_RE_ADD_BACK_EVENT = 84 +SPINE_RE_ADD_OBJECT_EVENT = 85 +CREATE_CAMERA_CTRL_ZONE = 86 +REMOVE_CAMERA_CTRL_ZONE = 87 +UNK69 = 88 +RELOAD_BACK = 89 +INVENTORY_OPERATION = 92 +INVENTORY_GROW = 93 +STAT_CHANGED = 94 +TEMPORARY_STAT_SET = 95 +TEMPORARY_STAT_RESET = 96 +UNK205_98 = 97 +FORCED_STAT_SET = 98 +FORCED_STAT_RESET = 99 +CHANGE_SKILL_RECORD_RESULT = 100 +CHANGE_STEAL_MEMORY_RESULT = 101 +USER_DAMAGE_ON_FALLING_CHECK = 102 +PERSONAL_SHOP_BUY_CHECK = 103 +MOB_DROP_MESO_PICKUP = 104 +BREAK_TIME_FIELD_ENTER = 105 +RUNE_ACT_SUCCESS = 106 +RESULT_STEAL_SKILL_LIST = 107 +SKILL_USE_RESULT = 108 +EXCL_REQUEST = 109 +GIVE_POPULARITY_RESULT = 110 +MESSAGE = 111 +MEMO_RESULT = 112 +MAP_TRANSFER_RESULT = 113 +UNK203_111 = 114 +ANTI_MACRO_RESULT = 115 +ANTI_MACRO_BOMB_RESULT = 116 +UNK_200_113 = 117 +UNK_200_114 = 119 +UNK_200_115 = 120 +UNK_203_117 = 121 +CLAIM_RESULT = 123 +SET_CLAIM_SVR_AVAILABLE_TIME = 124 +CLAIM_SVR_STATUS_CHANGED = 125 +UNK203_122 = 126 +STAR_PLANET_USER_COUNT = 127 +SET_TAMING_MOB_INFO = 128 +QUEST_CLEAR = 129 +ENTRUSTED_SHOP_CHECK_RESULT = 130 +SKILL_LEARN_ITEM_RESULT = 131 +SKILL_RESET_ITEM_RESULT = 132 +ABILITY_RESET_ITEM_RESULT = 133 +EXP_CONSUME_ITEM_RESULT = 134 +EXP_ITEM_GET_RESULT = 135 +CHAR_SLOT_INC_RESULT = 136 +GATHER_ITEM_RESULT = 137 +SORT_ITEM_RESULT = 138 +CHARACTER_INFO = 141 +PARTY_RESULT = 142 +PARTY_MEMBER_CANDIDATE_RESULT = 143 +URSUS_PARTY_MEMBER_CANDIDATE_RESULT = 144 +PARTY_CANDIDATE_RESULT = 145 +URSUS_PARTY_RESULT = 146 +INTRUSION_FRIEND_CANDIDATE_RESULT = 147 +INTRUSION_LOBBY_CANDIDATE_RESULT = 148 +EXPEDITION_RESULT = 150 +FRIEND_RESULT = 151 +GUILD_REQUEST = 153 +GUILD_RESULT = 154 +ALLIANCE_RESULT = 155 +TOWN_PORTAL = 156 +BROADCAST_MSG = 157 +INCUBATOR_RESULT = 158 +INCUBATOR_HOT_ITEM_RESULT = 159 +SHOP_SCANNER_RESULT = 160 +SHOP_LINK_RESULT = 161 +MARRIAGE_REQUEST = 162 +MARRIAGE_RESULT = 163 +WEDDING_GIFT_RESULT = 164 +UNK200_158 = 165 +NOTIFY_MARRIED_PARTNER_MAP_TRANSFER = 166 +CASH_PET_FOOD_RESULT = 167 +CASH_PET_PICK_UP_ON_OFF_RESULT = 168 +CASH_PET_SKILL_SETTING_RESULT = 169 +CASH_LOOK_CHANGE_RESULT = 170 +CASH_PET_DYEING_RESULT = 171 +SET_WEEK_EVENT_MESSAGE = 172 +SET_POTION_DISCOUNT_RATE = 173 +BRIDLE_MOB_CATCH_FAIL = 174 +IMITATED_NPC_RESULT = 175 +IMITATED_NPC_DATA = 177 +MONSTER_BOOK_SET_CARD = 178 +MONSTER_BOOK_SET_COVER = 179 +HOUR_CHANGED = 180 +MINIMAP_ON_OFF = 181 +CONSULT_AUTH_KEY_UPDATE = 182 +CLASS_COMPETITION_AUTH_KEY_UPDATE = 183 +WEB_BOARD_AUTH_KEY_UPDATE = 184 +SESSION_VALUE = 185 +PARTY_VALUE = 186 +FIELD_SET_VARIABLE = 187 +FIELD_VALUE = 188 +BONUS_EXP_RATE_CHANGED = 189 +NOTIFY_LEVEL_UP = 190 +NOTIFY_WEDDING = 191 +NOTIFY_JOB_CHANGE = 192 +SET_BUY_EQUIP_EXT = 193 +SET_PASSENGER_REQUEST = 194 +SCRIPT_PROGRESS_MESSAGE_BY_SOUL = 195 +SCRIPT_PROGRESS_MESSAGE = 196 +SCRIPT_PROGRESS_ITEM_MESSAGE = 197 +STATIC_SCREEN_MESSAGE = 198 +OFF_STATIC_SCREEN_MESSAGE = 199 +WEATHER_EFFECT_NOTICE = 200 +WEATHER_EFFECT_NOTICE_Y = 201 +PROGRESS_MESSAGE_FONT = 203 +DATA_CRC_CHECK_FAILED = 204 +SHOW_SLOT_MESSAGE = 205 +WILD_HUNTER_INFO = 206 +ZERO_INFO = 207 +ZERO_WP = 208 +ZERO_INFO_SUB_HP = 209 +UI_OPEN = 210 +CLEAR_ANNOUNCED_QUEST = 211 +RESULT_INSTANCE_TABLE = 212 +COOL_TIME_SET = 213 +ITEM_POT_CHANGE = 214 +SET_ITEM_COOL_TIME = 215 +SET_AD_DISPLAY_INFO = 216 +SET_AD_DISPLAY_STATUS = 217 +SET_SON_OF_LINKED_SKILL_RESULT = 218 +LINK_SKILL_RESULT = 219 +UNLINKED_SKILL_INFO = 220 +LINKED_SKILL_INFO = 221 +SET_MAPLE_STYLE_INFO = 222 +SET_BUY_LIMIT_COUNT = 223 +RESET_BUY_LIMIT_COUNT = 224 +UNK_200_218 = 225 +UNK_200_219 = 226 +UPDATE_UI_EVENT_LIST_INFO = 227 +DOJANG_RANKING_RESULT = 228 +SHUTDOWN_MESSAGE = 231 +RESULT_SET_STEAL_SKILL = 232 +SLASH_COMMAND = 233 +START_NAVIGATION = 234 +UNK205_234 = 235 +FUNCKEY_SET_BY_SCRIPT = 236 +CHARACTER_POTENTIAL_SET = 237 +CHARACTER_POTENTIAL_RESET = 238 +CHARACTER_HONOR_EXP = 239 +READY_FOR_RESPAWN = 240 +READY_FOR_RESPAWN_BY_POINT = 241 +OPEN_READY_FOR_RESPAWN_UI = 242 +CHARACTER_HONOR_GIFT = 243 +CROSS_HUNTER_COMPLETE_RESULT = 244 +CROSS_HUNTER_SHOP_RESULT = 245 +UNK_218 = 246 +SET_CASH_ITEM_NOTICE = 247 +SET_SPECIAL_CASH_ITEM = 248 +SHOW_EVENT_NOTICE = 249 +BOARD_GAME_RESULT = 250 +YUT_GAME_RESULT = 251 +VALUE_PACK_RESULT = 252 +NAVI_FLYING_RESULT = 253 +SET_EXCL_REQUEST_SENT = 254 +CHECK_WEDDING_EX_RESULT = 255 +BINGO_RESULT = 256 +BINGO_CASSANDRA_RESULT = 257 +UPDATE_VIP_GRADE = 258 +MESO_RANGER_RESULT = 259 +SET_MAPLE_POINT = 260 +SET_MIRACLE_TIME_INFO = 262 +HYPER_SKILL_RESET_RESULT = 263 +GET_SERVER_TIME = 264 +GET_CHARACTER_POSITION = 265 +UNK_200_259 = 267 +UNK_200_260 = 268 +RETURN_EFFECT_CONFIRM = 269 +RETURN_EFFECT_MODIFIED = 270 +WHITE_ADDITIONAL_CUBE_RESULT = 271 +BLACK_CUBE_RESULT = 272 +MEMORIAL_CUBE_RESULT = 273 +MEMORIAL_CUBE_MODIFIED = 274 +DRESS_UP_INFO_MODIFIED = 277 +UNK_200_270 = 278 +RESET_STATE_FOR_OFF_SKILL = 279 +SET_OFF_STATE_FOR_OFF_SKILL = 280 +ISSUE_RELOGIN_COOKIE = 281 +AVATAR_PACK_TEST = 282 +EVOLVING_RESULT = 283 +ACTION_BAR_RESULT = 284 +GUILD_SEARCH_RESULT = 286 +HALLOWEEN_CANDY_RANKING_RESULT = 288 +GET_REWARD_RESULT = 289 +MENTORING = 290 +GET_LOTTERY_RESULT = 291 +CHECK_PROCESS_RESULT = 292 +COMPLETE_NPC_SPEECH_SUCCESS = 293 +COMPLETE_SPECIAL_CHECK_SUCCESS = 294 +SET_ACCOUNT_INFO = 295 +SET_GACHAPON_FEVER_TIME_INFO = 296 +AVATAR_MEGAPHONE_RES = 297 +SET_AVATAR_MEGAPHONE = 298 +CLEAR_AVATAR_MEGAPHONE = 299 +REQUEST_EVENT_LIST = 300 +LIKE_POINT = 301 +SIGN_ERROR_ACK = 302 +ASK_AFTER_ERROR_ACK = 303 +EVENT_NAME_TAG = 304 +ACQUIRE_EVENT_NAME_TAG = 305 +JOB_FREE_CHANGE_RESULT = 306 +EVENT_LOTTERY_OPEN = 307 +EVENT_LOTTERY_RESULT = 308 +UNK_200_309 = 317 +SCREEN_MSG = 318 +LIMIT_GOODS_NOTICE_RESULT = 319 +MONSTER_BATTLE_SYSTEM_RESULT = 320 +MONSTER_BATTLE_COMBAT_RESULT = 321 +UNIVERSE_BOSS_IMPOSSIBLE = 323 +CASH_SHOP_PREVIEW_INFO = 324 +CHANGE_SOUL_COLLECTION_RESULT = 325 +SELECT_SOUL_COLLECTION_RESULT = 326 +MASTER_PIECE_REWARD = 325 +PENDANT_SLOT_INC_RESULT = 326 +BOSS_ARENA_MATCH_SUCCESS = 327 +BOSS_ARENA_MATCH_FAIL = 328 +BOSS_ARENA_MATCH_REQUEST_DONE = 329 +USER_SOUL_MATCHING = 330 +CATAPULT_UPGRADE_SKILL = 331 +CATAPULT_RESET_SKILL = 332 +PARTY_QUEST_RANKING_RESULT = 333 +SET_COORDINATION_CONTEST_INFO = 334 +WORLD_TRANSFER_RESULT = 335 +TRUNK_SLOT_INC_RESULT = 336 +ELITE_MOB_WMI = 337 +RANDOM_PORTAL_NOTICE = 338 +UNK_200_332 = 339 +UNK_200_333 = 340 +EQUIPMENT_ENCHANT = 341 +TOP_TOWER_RANK_RESULT = 342 +FRIEND_TOWER_RANK_RESULT = 343 +TOWER_RESULT_UI_OPEN = 344 +MANNEQUIN_RESULT = 345 +UNK_200_338 = 346 +UNK_200_339 = 347 +IRON_BOX_PACKET = 348 +CREATE_KOREAN_JUMPING_GAME = 349 +CREATE_SWING_GAME = 340 +UPDATE_MAPLE_TV_SHOW_TIME = 351 +RETURN_TO_TITLE = 352 +RETURN_TO_CHARACTER_SELECT = 353 +FLAME_WIZARD_FLAME_WALK_EFFECT = 354 +FLAME_WIZARD_FLARE_BLINK = 355 +SUMMONED_AVATAR_SYNC = 356 +CASH_SHOP_EVENT_INFO = 357 +BLACK_LIST = 358 +OPEN_UI_TEST = 359 +SWITCH_BLACK_LIST_VIEW = 360 +SCROLL_UPGRADE_FEVER_TIME = 361 +TEXT_EQUIP_INFO = 362 +TEXT_EQUIP_UI_OPEN = 363 +UI_STAR_PLANET_MINI_GAME_RESULT = 364 +UI_STAR_PLANET_TREND_SHOP = 365 +UI_STAR_PLANET_MINI_GAME_QUEUE = 366 +STAR_PLANET_ROUND_INFO = 368 +STAR_PLANET_RESULT = 369 +UNK203_365 = 370 +UNK203_366 = 371 +UNK203_367 = 372 +UNK203_368 = 373 +UNK203_369 = 374 +BACK_SPEED_CTRL = 375 +SET_MAZE_AREA = 376 +CHARACTER_BURNING = 377 +BATTLE_STAT_CORE_INFO = 378 +BATTLE_STAT_CORE_ACK = 379 +GACHAPON_TEST_RESULT = 380 +MASTER_PIECE_TEST_RESULT = 381 +ROYAL_STYLE_TEST_RESULT = 382 +BEAUTY_COUPON_TEST_RESULT = 383 +LUNA_CRYSTAL_TEST_RESULT = 384 +NICK_SKILL_EXPIRED = 385 +RANDOM_MISSION_RESULT = 386 +ON_12TH_TREASURE_RESULT = 387 +ON_12TH_TREASURE_BUFF = 388 +ITEM_COLLECTION_RESULT = 389 +CHECK_COLLECTION_COMPLETE_RESULT = 390 +ITEM_COLLECTION_LIST = 391 +RECEIVE_TOADS_HAMMER_REQUEST_RESULT = 392 +RECEIVE_HYPER_STAT_SKILL_RESET_RESULT = 393 +GET_SAVED_URSUS_SKILL = 394 +INVENTORY_OPERATION_RESULT = 395 +SET_ROLE_PLAYING_CHARACTER_INFO = 396 +MVP_ALARM = 397 +MONSTER_COLLECTION_RESULT = 398 +TOWER_CHAIR_SETTING_RESULT = 399 +NEED_CLIENT_RESPONSE = 400 +CHARACTER_MODIFIED = 401 +UNK_364 = 402 +TRADE_KING_SHOP_ITEM = 403 +TRADE_KING_SHOP_RES = 404 +PLATFORMAR_ENTER_RESULT = 405 +PLATFORMAR_OXYZEN = 406 +UNK203_402 = 407 +RECYCLE_ITEM = 408 +UNK203_404 = 409 +MATRIX_UPDATE = 410 +NODE_STONE_OPEN_RESULT = 411 +NODE_ENHANCE_RESULT = 412 +NODE_DISASSEMBLE_RESULT = 413 +NODE_CRAFT_RESULT = 414 +NODE_VANISHED = 415 +AUCTION_MESSAGE = 416 +UNK203_412 = 417 +UNK203_413 = 418 +UNK203_414 = 419 +INAPPROPRIATE_BAN_MSG = 420 +OPEN_CHUCHU_SHOP = 421 +RESET_CHUCHU_INVENTORY = 422 +RESET_CHUCHU_INVENTORY_2 = 423 +UNK203_419 = 424 +UNK203_420 = 425 +UNK203_421 = 426 +UNION_ASSIGN_RESULT = 427 +UNK203_423 = 428 +UNK203_424 = 429 +UNION_PRESET_INFO_RESULT = 430 +UNK203_426 = 431 +UNK203_427 = 432 +UNK203_428 = 433 +UNK203_429 = 434 +UNK_203_430 = 435 +UNK203_431 = 436 +UNK203_432 = 437 +UNK203_433 = 438 +COMBAT_POWER_MSG = 439 +UNK203_434 = 439 +UNK203_435 = 440 +UNK203_436 = 441 +UNK203_437 = 442 +CREATE_INGAME_CHAR_RESULT = 443 +UNK203_439 = 444 +UNK203_440 = 445 +TRAINEE_INFO = 446 +UNK203_442 = 465 +UNK203_443 = 467 +UNK203_444 = 468 +UNK203_445 = 469 +UNK203_446 = 470 +POTION_POT_RESULT = 471 +UNK203_449 = 473 +USER_REPORT_RESULT = 474 +TRADE_MESO_LIMIT_REACHED = 476 +UNK203_453 = 477 +GUILD_BBS_RESULT = 478 +UNK203_455 = 479 +UNK203_456 = 480 +UNK203_457 = 481 +UNK203_458 = 482 +UNK203_459 = 483 +CRUSADER_MEDAL_FAIL = 484 +UNK203_461 = 485 +UNK203_462 = 486 +REDUCE_POTIONS_PRICE_BY_EQUIP = 487 +UNK205_488 = 489 +TRANSFER_REQUEST_RESULT = 490 +PERSONAL_SHOP_SHUTDOWN_BY_GM_MSG = 491 +HACK_BLOCK_MSG = 492 +PREMIUM_SILVER_BOX_RESULT = 493 +NEW_YEAR_CARD_SEND_RESULT = 494 +GIFT_BLESSING_RESULT = 495 +CREW_RESULT = 497 +TRANSFORM_POTION = 498 +CANCEL_REQUEST_RESULT = 499 +MAPLE_TEAM_LETTER = 500 +UNK203_477 = 501 +PAM_SONG_INTERVENE = 502 +RELOAD_MAP = 503 +SUMMON_SKILL_RESULT = 507 +UNK203_485 = 508 +UNK203_486 = 509 +UNK203_487 = 510 +MAGIC_GACHAPON_WHEEL_MSG = 511 +SOME_REWARD = 512 +ACCEPT_SOME_QUEST = 513 +UNK203_491 = 514 +UNK203_492 = 515 +UNK203_493 = 516 +UNK203_494 = 517 +UNK203_495 = 518 +UNK203_496 = 519 +UNK203_499 = 522 +UNK203_500 = 523 +UNK203_501 = 524 +UNK203_502 = 525 +UNK203_503 = 526 +UNK203_504 = 527 +UNK203_505 = 528 +UNK203_506 = 529 +UNK203_507 = 530 +MACRO_SYS_DATA_INIT = 531 +SET_FIELD = 532 +SET_FARM_FIELD = 533 +SET_AUCTION_HOUSE_FIELD = 534 +SET_CASH_SHOP = 536 +TRANSFER_FIELD_REQ_IGNORED = 537 +TRANSFER_CHANNEL_REQ_IGNORED = 538 +TRANSFER_PVP_REQ_IGNORED = 539 +FIELD_SPECIFIC_DATA = 540 +GROUP_MESSAGE = 541 +ITEM_LINKED_GROUP_MESSAGE = 542 +FIELD_UNIVERSE_MESSAGE = 543 +WHISPER = 544 +SUMMON_ITEM_INAVAILABLE = 545 +FIELD_EFFECT = 546 +WHISPER_SPOUSE = 547 +UNK_517 = 548 +UNK_518 = 549 +UNK_519 = 550 +UNK_520 = 551 +UNK_521 = 552 +UNK_522 = 553 +BLOW_WEATHER = 554 +PLAY_JUKE_BOX = 555 +ADMIN_RESULT = 556 +QUIZ = 557 +FIELD_SET_DESC = 558 +CLOCK = 559 +SET_QUEST_CLEAR = 562 +SET_QUEST_TIME = 563 +SET_OBJECT_STATE = 564 +QUICKSLOT_INIT = 572 +FOOT_HOLD_MOVE = 573 +CORRECT_FOOT_HOLD_MOVE = 574 +UNK_544 = 575 +UNK_545 = 576 +STALK_RESULT = 576 +FOOT_HOLD_APPEAR = 577 +DESTROY = 578 +SMART_MOB_NOTICE = 580 +CHANGE_PHASE = 581 +CHANGE_MOB_ZONE = 582 +PV_P_MIGRATE_INFO_RESULT = 584 +CUR_NODE_EVENT_END = 585 +CREATE_FORCE_ATOM = 586 +CREATE_ARK_FORCE_ATOM = 587 +UNK200_557 = 588 +GUIDE_FORCE_ATOM = 589 +SET_ACHIEVE_RATE = 590 +SET_QUICK_MOVE_INFO = 591 +CREATE_OBSTACLE = 592 +UNK_562 = 593 +CLEAR_OBSTACLE = 594 +UNK_510 = 595 +B2_FOOT_HOLD_CREATE = 596 +DEBUFF_OBJ_ON = 597 +CREATE_FALLING_CATCHER = 598 +CHASE_EFFECT_SET = 599 +MESO_EXCHANGE_RESULT = 600 +SET_MIRROR_DUNGEON_INFO = 601 +SET_INTRUSION = 602 +CANNOT_DROP = 603 +FOOT_HOLD_OFF = 604 +LADDER_ROPE_OFF = 605 +MOMENT_AREA_OFF = 606 +MOMENT_AREA_OFF_ALL = 607 +CHAT_INDUCE_CLIENT_CONNECT = 608 +COORDINATION_CONTEST_PACKET = 609 +ELITE_STATE = 610 +PLAY_SOUND = 611 +STACK_EVENT_GAUGE = 612 +SET_UNION_FIELD = 613 +STAR_PLANET_BURNING_TIME_INFO = 616 +UNK_585 = 617 +UNK_586 = 618 +UNK_587 = 619 +UNK_588 = 620 +PUBLIC_SHARE_STATE = 621 +FUNCTION_TEMP_BLOCK = 622 +UI_STATUS_BAR_PACKET = 623 +FIELD_SKILL_DELAY = 624 +UNK_593 = 625 +UNK_594 = 626 +UNK_595 = 627 +WEATHER_PACKET_ADD = 628 +WEATHER_PACKET_REMOVE = 629 +WEATHER_PACKET_MSG = 630 +ADD_WRECKAGE = 631 +DEL_WRECKAGE = 632 +CREATE_MIRROR_IMAGE = 633 +FUNCTION_FOOTHOLD_MAN = 634 +UNK_543 = 635 +GROUP_CHAIR_INVITATION_RESULT = 636 +UNK_606 = 638 +UNK_608 = 639 +UNK_612 = 644 +UNK205_644 = 645 +UNK205_646 = 647 +UNK205_647 = 648 +UNK205_648 = 649 +UNK205_650 = 651 +MASSACRE_INC_GAUGE = 622 +FIELD_KILL_COUNT = 576 +USER_ENTER_FIELD = 652 +USER_LEAVE_FIELD = 653 +CHAT = 654 +ITEM_LINKED_CHAT = 655 +AD_BOARD = 656 +MINI_ROOM_BALLOON = 657 +SET_CONSUME_ITEM_EFFECT = 658 +SHOW_ITEM_UPGRADE_EFFECT = 659 +SHOW_ITEM_SKILL_SOCKET_UPGRADE_EFFECT = 661 +SHOW_ITEM_SKILL_OPTION_UPGRADE_EFFECT = 662 +SHOW_ITEM_RELEASE_EFFECT = 663 +SHOW_ITEM_UNRELEASE_EFFECT = 664 +SHOW_ITEM_LUCKY_ITEM_EFFECT = 665 +SHOW_ITEM_MEMORIAL_EFFECT = 666 +SHOW_ITEM_ADDITIONAL_UN_RELEASE_EFFECT = 667 +SHOW_ITEM_ADDITIONAL_SLOT_EXTEND_EFFECT = 668 +SHOW_ITEM_FIRE_WORKS_EFFECT = 669 +SHOW_ITEM_OPTION_CHANGE_EFFECT = 670 +RED_CUBE_RESULT = 671 +BONUS_CUBE_RESULT = 672 +HIT_BY_USER = 673 +DOT_BY_USER = 674 +RESET_ALL_DOT = 675 +DAMAGE_BY_USER = 676 +TESLA_TRIANGLE = 677 +FOLLOW_CHARACTER = 678 +SHOW_PQ_REWARD = 679 +SET_ONE_TIME_ACTION = 680 +MAKING_SKILL_RESULT = 681 +SET_MAKING_MEISTER_SKILL_EFF = 682 +GATHER_RESULT = 683 +USER_EXPLODE = 684 +USER_HIT_BY_COUNTER = 685 +PYRAMID_LETHAL_ATTACK = 686 +MIXER_RESULT = 687 +WAIT_QUEUE_RESPONSE = 688 +CATEGORY_EVENT_NAME_TAG = 689 +DRAW_EVENT_NAME_TAGS = 690 +SET_DAMAGE_SKIN = 691 +SET_PREMIUM_DAMAGE_SKIN = 692 +UNK205_692 = 693 +SET_SOUL_EFFECT = 694 +SIT_RESULT = 695 +STAR_PLANET_POINT_INFO = 696 +STAR_PLANET_AVATAR_LOOK_SET = 697 +TOSSED_BY_MOB_SKILL = 698 +BATTLE_ATTACK_HIT = 699 +BATTLE_USER_HIT_BY_MOB = 700 +UNK205_700 = 701 +FREEZE_HOT_EVENT_INFO = 702 +EVENT_BEST_FRIEND_INFO = 703 +SET_REPEAT_ONE_TIME_ACTION = 704 +SET_REPLACE_MOVE_ACTION = 705 +IN_GAME_CUBE_RESULT = 706 +UNK_667 = 707 +UNK_668 = 708 +SET_ACTIVE_EMOTICON_ITEM = 709 +CREATE_PSYCHIC_LOCK = 711 +RECREATE_PATH_PSYCHIC_LOCK = 712 +RELEASE_PSYCHIC_LOCK = 713 +RELEASE_PSYCHIC_LOCK_MOB = 714 +CREATE_PSYCHIC_AREA = 715 +RELEASE_PSYCHIC_AREA = 716 +RW_ZERO_BUNKER_MOB_BIND = 717 +BEAST_FORM_WING_OFF = 718 +SKILL_ON_OFF_EFFECT = 719 +UNK_680 = 720 +ADD_MESO_CHAIR_COUNT = 721 +REFRESH_NAME_TAG_MARK = 722 +UNK_683 = 723 +SPIRIT_FLOW_INFO = 724 +UNK_685 = 725 +STIGMA_EFFECT = 726 +SHOOT_OBJECT_EXPLODE_RESULT = 727 +UNK_688 = 728 +UNK_689 = 729 +UNK_690 = 730 +UNK_691 = 731 +UNK205_730 = 732 +PET_ACTIVATED = 735 +PET_MOVE = 736 +PET_ACTION = 737 +PET_ACTION_SPEAK = 738 +PET_NAME_CHANGED = 739 +PET_LOAD_EXCEPTION_LIST = 740 +PET_HUE_CHANGED = 741 +PET_MODIFIED = 742 +PET_ACTION_COMMAND = 743 +PET_UKNOWN = 744 +DRAGON_CREATED = 745 +DRAGON_MOVE = 746 +DRAGON_REMOVE = 747 +DRAGON_REMOVE_RP_CHAR = 748 +ANDROID_CREATED = 749 +ANDROID_MOVE = 750 +ANDROID_ACTION_SET = 751 +ANDROID_MODIFIED = 752 +ANDROID_REMOVED = 753 +FOX_MAN_ENTER_FIELD = 754 +FOX_MAN_MOVE = 755 +FOX_MAN_EXCL_RESULT = 756 +FOX_MAN_SHOW_CHANGE_EFFECT = 757 +FOX_MAN_MODIFIED = 758 +FOX_MAN_LEAVE_FIELD = 759 +SKILL_PET_MOVE = 761 +SKILL_PET_ACTION = 762 +SKILL_PET_STATE = 763 +SKILL_PET_CREATED = 766 +GACHAPON_EFFECT = 769 +REMOTE_CHAT = 769 +REMOTE_ITEM_LINKED_CHAT = 770 +UNK_730 = 771 +UNK_731 = 772 +UNK_732 = 773 +UNK_733 = 774 +UNK_734 = 775 +UNK_736 = 777 +UNK_737 = 778 +FAMILIAR_ENTER_FIELD = 779 +FAMILIAR_MOVE = 780 +FAMILIAR_HIT = 781 +FAMILIAR_ATTACK = 782 +FAMILIAR_RENAME = 783 +FAMILIAR_TRANSFER_FIELD = 784 +FAMILIAR_UPDATE_INFO = 785 +REMOTE_MOVE = 790 +REMOTE_MELEE_ATTACK = 791 +REMOTE_SHOOT_ATTACK = 792 +REMOTE_MAGIC_ATTACK = 793 +REMOTE_BODY_ATTACK = 794 +REMOTE_SKILL_PREPARE = 795 +REMOTE_MOVING_SHOOT_ATTACK_PREPARE = 796 +REMOTE_SKILL_CANCEL = 797 +REMOTE_HIT = 798 +REMOTE_EMOTION = 799 +REMOTE_ANDROID_EMOTION = 800 +REMOTE_SET_ACTIVE_EFFECT_ITEM = 801 +REMOTE_SET_MONKEY_EFFECT_ITEM = 802 +REMOTE_SET_ACTIVE_NICK_ITEM = 803 +REMOTE_SET_DEFAULT_WING_ITEM = 804 +REMOTE_SET_KAISER_TRANSFORM_ITEM = 805 +REMOTE_SET_CUSTOM_RIDING = 806 +REMOTE_SHOW_UPGRADE_TOMB_EFFECT = 807 +REMOTE_SET_ACTIVE_PORTABLE_CHAIR = 808 +REMOTE_AVATAR_MODIFIED = 809 +REMOTE_EFFECT = 810 +REMOTE_SET_TEMPORARY_STAT = 811 +REMOTE_RESET_TEMPORARY_STAT = 812 +REMOTE_RECEIVE_HP = 813 +REMOTE_GUILD_NAME_CHANGED = 814 +REMOTE_GUILD_MARK_CHANGED = 815 +REMOTE_PVP_TEAM_CHANGED = 816 +REMOTE_GATHER_ACTION_SET = 817 +REMOTE_UPDATE_PVP_HP_TAG = 818 +REMOTE_DRAGON_GLIDE = 819 +REMOTE_KEY_DOWN_AREA_MOVE_PATH = 820 +REMOTE_LASER_INFO_FOR_REMOTE = 821 +REMOTE_KAISER_COLOR_OR_MORPH_CHANGE = 822 +REMOTE_DESTROY_GRENADE = 823 +REMOTE_SET_ITEM_ACTION = 824 +REMOTE_ZERO_TAG = 825 +REMOTE_INTRUSION = 826 +REMOTE_ZERO_LAST_ASSIST_STATE = 827 +REMOTE_SET_MOVE_GRENADE = 828 +REMOTE_UNK_788 = 829 +REMOTE_SET_CUSTOMIZE_EFFECT = 830 +REMOTE_RUNE_STONE_ACTION = 831 +REMOTE_KINESIS_PSYCHIC_ENERGY_SHIELD_EFFECT = 832 +REMOTE_DRAGON_ACTION = 833 +REMOTE_DRAGON_BREATH_EARTH_EFFECT = 834 +REMOTE_RELEASE_RW_GRAB = 835 +REMOTE_RW_MULTI_CHARGE_CANCEL_REQUEST = 836 +REMOTE_SCOUTER_MAX_DAMAGE_UPDATE = 837 +REMOTE_STIGMA_DELIVERY_RESPONSE = 838 +REMOTE_SHOOT_OBJECT = 839 +REMOTE_UNK_729 = 840 +REMOTE_UNK_800 = 841 +REMOTE_UNK_801 = 842 +REMOTE_UNK_802 = 843 +REMOTE_THROW_GRENADE = 845 +EMOTION = 846 +ANDROID_EMOTION = 847 +EFFECT = 848 +TELEPORT = 849 +MESO_GIVE_SUCCEEDED = 851 +MESO_GIVE_FAILED = 852 +QUEST_RESULT = 853 +NOTIFY_HP_DEC_BY_FIELD = 854 +USER_PET_SKILL_CHANGED = 855 +BALLOON_MSG = 856 +PLAY_EVENT_SOUND = 857 +PLAY_MINIGAME_SOUND = 858 +MAKER_RESULT = 859 +OPEN_CLASS_COMPETITION_PAGE = 861 +OPEN_UI = 862 +CLOSE_UI = 863 +OPEN_UI_WITH_OPTION = 864 +SET_DIRECTION_MODE = 865 +SET_IN_GAME_DIRECTION_MODE = 866 +SET_STAND_ALONE_MODE = 867 +HIRE_TUTOR = 868 +TUTOR_MSG = 869 +HIRE_TUTOR_BY_ID = 870 +SET_PARTNER = 871 +UNK_831 = 872 +SET_PARTNER_ACTION = 873 +SET_PARTNER_FORCE_FLIP = 874 +SWITCH_RP = 875 +MOD_COMBO_RESPONSE = 876 +INC_COMBO_RESPONSE_BY_COMBO_RECHARGE = 877 +RADIO_SCHEDULE = 878 +OPEN_SKILL_GUIDE = 879 +NOTICE_MSG = 880 +CHAT_MSG = 881 +SET_UTIL_DLG = 882 +BUFFZONE_EFFECT = 883 +TIME_BOMB_ATTACK = 884 +EXPLOSION_ATTACK = 885 +PASSIVE_MOVE = 886 +FOLLOW_CHARACTER_FAILED = 887 +SET_NEXT_SHOOT_EX_JABLIN = 888 +RESULT = 889 +GATHER_REQUEST_RESULT = 890 +RUNE_STONE_USE_ACK = 891 +BAG_ITEM_USE_RESULT = 892 +RANDOM_TELEPORT_KEY = 893 +SET_GAGE_POINT = 894 +IN_GAME_DIRECTION_EVENT = 896 +MEDAL_REISSUE_RESULT = 897 +DODGE_SKILL_READY = 898 +REMOVE_MICRO_BUFF_SKILL = 899 +VIDEO_BY_SCRIPT = 900 +UNK_779 = 901 +REWARD_MOB_LIST_RESULT = 902 +INC_JUDGEMENT_STACK_RESPONSE = 903 +INC_CHARM_BY_CASH_PR_MSG = 904 +SET_BUFF_PROTECTOR = 905 +INC_LARKNESS_RESPONSE = 906 +DETONATE_BOMB = 907 +AGGRO_RANK_INFO_NAME = 908 +DEATH_COUNT_INFO = 909 +DEATH_COUNT_INFO_2 = 910 +SET_DRESS_CHANGED = 911 +SERVER_ACK_MOB_ZONE_STATE_CHANGE = 912 +RANDOM_EMOTION = 915 +SET_FLIP_THE_COIN_ENABLED = 916 +TRICK_OR_TREAT_RESULT = 917 +GIANT_PET_BUFF = 918 +B2_BODY_RESULT = 919 +B2_BODY_RESULT_NEW = 920 +SET_DEAD = 921 +OPEN_UI_DEAD = 922 +EXPIRED_NOTICE = 923 +DO_LOTTERY_UI = 924 +ROULETTE_START = 925 +SIT_TIME_CAPSULE = 926 +SIT_DUMMY_PORTABLE_CHAIR = 927 +GO_MONSTER_FARM = 928 +MONSTER_LIFE_INVITE_ITEM_RESULT = 929 +PHOTO_GET_RESULT = 930 +FINAL_ATTACK_REQUEST = 931 +SET_GUN = 932 +SET_AMMO = 933 +CREATE_GUN = 934 +CLEAR_GUN = 935 +RESULT_SHOOT_ATTACK_IN_FPS_MODE = 936 +MIRROR_DUNGEON_ENTER_FAIL = 937 +MIRROR_DUNGEON_UNIT_CLEARED = 938 +REGISTER_MIRROR_DUNGEON_BOSS = 939 +MIRROR_DUNGEON_RECORD = 940 +OPEN_URL = 941 +ZERO_COMBAT_RECOVERY = 942 +MIRROR_STUDY_UI_OPEN = 943 +SKILL_COOLTIME_REDUCE = 944 +MIRROR_READING_UI_OPEN = 945 +USER_CTRL_MOB_SKILL_Q_PUSH = 946 +ZERO_LEVEL_UP_ALARM = 947 +USER_CTRL_MOB_SKILL_Q_POP = 948 +USER_CTRL_MOB_SKILL_FAIL = 949 +FORCE_SUMMONED_REMOVE = 950 +USER_RESPAWN = 951 +USER_CTRL_MOB_SKILL_FORCED_POP = 952 +IS_UNIVERSE = 953 +PORTAL_GROUP = 954 +SET_MOVABLE = 955 +USER_CTRL_MOB_SKILL_PUSH_COOL_TIME = 956 +MOVE_PARTICLE_EFF = 957 +DO_ACTIVE_EVENT_SKILL_BY_SCRIPT = 958 +SET_STATUSBAR_JOB_NAME_BLUR = 959 +RUNE_STONE_SKILL_ACK = 960 +RESET_RUNE_STONE_ACTION = 961 +MOVE_TO_CONTENTS_CANNOT_MIGRATE = 962 +UNK_921 = 963 +PLAY_AMBIENT_SOUND = 964 +STOP_AMBIENT_SOUND = 965 +FLAME_WIZARD_ELEMENT_FLAME_SUMMON = 966 +CAMERA_MODE = 967 +SPOTLIGHT_TO_CHARACTER = 968 +BOSS_PARTY_CHECK_DONE = 969 +FREE_LOOK_CHANGE_UI_OPEN = 970 +FREE_LOOK_CHANGE_SUCCESS = 971 +GRAY_BACKGROUND = 972 +GET_NPC_CURRENT_ACTION = 973 +CAMERA_ROTATION = 974 +CAMERA_SWITCH = 975 +NETWORK = 976 +USER_SET_FIELD_FLOATING = 977 +ADD_POPUP_SAY = 978 +REMOVE_POPUP_SAY = 979 +JAGUAR_SKILL = 980 +ACTION_LAYER_RELMOVE = 981 +UNK_940 = 982 +SEND_CLIENT_RESOLUTION = 983 +USER_BONUS_ATTACK_REQUEST = 984 +USER_RAND_AREA_ATTACK_REQUEST = 985 +USER_EXTRA_ATTACK_REQUEST = 986 +JAGUAR_ACTIVE = 987 +SKILL_COOLTIME_SET_M = 988 +UNK205_988 = 989 +SET_CARRY_REACTOR_INFO = 990 +REACTOR_SKILL_USE_REQUEST = 991 +OPEN_BATTLE_PVP_CHAMP_SELECT_UI = 992 +BATTLE_PVP_ITEM_DROP_SOUND = 993 +SET_MESO_COUNT_BY_SCRIPT = 994 +PLANT_POT_CLICK_RESULT = 995 +PLANT_POT_EFFECT = 996 +UNK205_996 = 997 +DAMAGE = 998 +ROYAL_GUARD_ATTACK = 999 +DO_ACTIVE_PSYCHIC_AREA = 1000 +ENTER_FIELD_PSYCHIC_INFO = 1001 +LEAVE_FIELD_PSYCHIC_INFO = 1002 +TOUCH_ME_STATE_RESULT = 1003 +FIELD_SCORE_UPDATE = 1004 +URSUS_REUSLT_UI_OPEN = 1005 +SET_NO_MORE_LIFE = 1006 +SOME_DECODE4 = 1007 +UNK_881 = 1008 +BONUS_ATTACK_DELAY_REQUEST = 1009 +CREATE_AREA_DOT_INFO = 1010 +UNK_883 = 1011 +UNK200_969 = 1012 +SET_SLOW_DOWN = 1013 +REGISTER_EXTRA_SKILL = 1014 +RES_WARRIOR_LIFT_MOB_INFO = 1015 +USER_RENAME_RESULT = 1016 +DAMAGE_SKIN_SAVE_RESULT = 1017 +UNK203_987 = 1018 +STIGMA_REMAIN_TIME = 1019 +BURNING_RESULT = 1020 +UNK203_990 = 1021 +SHOOT_OBJECT_CREATED = 1022 +LIGHTNING_UNION_SUB_ATTACK = 1023 +GIANT_SHADOW_SPEAR_ATTACK = 1024 +TELEPORT_SOMEWHERE = 1025 +UNK202_987 = 1026 +UNK202_988 = 1027 +GREATER_DARK_SERVANT_SWAP_RESULT = 1028 +SKILL_REQUEST_REQUEST = 1029 +ACE_IN_THE_HOLE_FINISHER = 1030 +TIDE_OF_BATTLE = 1031 +UNK203_1002 = 1033 +CADENA_VOID_STRIKE_REQUEST = 1034 +USER_WEATHER_EFFECT = 1035 +PINK_BEAN_DECREASE = 1036 +UNK203_1006 = 1037 +UNK203_1007 = 1038 +MEDAL_OBTAIN = 1039 +UNK203_1009 = 1040 +VERTICAL_JUMP = 1041 +UNK203_1011 = 1042 +UNK203_1012 = 1043 +UNK203_1013 = 1044 +UNK203_1014 = 1045 +UNK203_1015 = 1046 +UNK205_1046 = 1047 +DISCOVERY_SKILL = 1048 +UNK203_1017 = 1049 +UNK203_1018 = 1050 +STOP_NO_MOVEMENT_KEY_DOWN_SKILL_REQUEST = 1051 +ALLIANCE_SKILL_RESULT = 1052 +UNK203_1022 = 1053 +BLACK_MAGE_DEATHCOUNT_MAP_EFFECT = 1054 +UNK203_1024 = 1055 +UNK205_1055 = 1056 +UNK205_1056 = 1057 +UNK205_1057 = 1058 +UNK205_1058 = 1059 +UNK205_1060 = 1060 +RANDOM_MESO_SACK_SUCCEED = 1062 +RANDOM_MESO_SACK_FAIL = 1063 +REGISTER_FADE_IN_OUT_ANIMATION = 1064 +UNK203_1028 = 1065 +UNK203_1029 = 1066 +UNK203_1030 = 1067 +SET_CASH_SHOP_2 = 1068 +EVENT_LEVELUP_CHECKPOINT = 1069 +UNK203_1033 = 1070 +SHOW_QUEST_MESSENGER = 1071 +UNK203_1035 = 1072 +UNK203_1036 = 1073 +UNK203_1037 = 1074 +MOUNT_RESULT = 1075 +DEMOUNT_RESULT = 1076 +FAMILIAR_ADD_RESULT = 1077 +FAMILIAR_INVALID_NAME = 1078 +UNK203_1042 = 1079 +UNK203_1043 = 1080 +UNK203_1044 = 1081 +UNK203_1045 = 1082 +GUARDIANS_BLESSING_RESULT = 1083 +UNK203_1047 = 1084 +UNK203_1048 = 1085 +UNK203_1049 = 1086 +SET_CAMERA_ON_POSITION = 1087 +UNK203_1051 = 1088 +CREATE_NAVIGATION = 1089 +UNK205_1089 = 1090 +DISPLAY_LOCATION = 1091 +UNK203_1055 = 1092 +RED_LEAF_INFO = 1093 +UNK203_1057 = 1094 +UNK203_1058 = 1095 +UNK203_1059 = 1096 +PUSH = 1097 +HARVEST_RESULT = 1098 +OPEN_EGG_HATCH = 1099 +MOD_HAYATO_COMBO = 1100 +UNK203_1064 = 1101 +SPECIAL_SIT_RESULT = 1102 +UNK203_1066 = 1103 +UNK203_1067 = 1104 +UNK203_1068 = 1105 +UNK203_1069 = 1106 +CHARACTER_DATA_LOG = 1107 +UNK203_1071 = 1108 +UNK203_1072 = 1109 +UNK203_1073 = 1110 +UNK203_1074 = 1111 +UNK203_1076 = 1113 +UNK203_1077 = 1114 +UNK203_1078 = 1115 +UNK203_1079 = 1116 +UNK203_1080 = 1117 +UNK203_1081 = 1118 +MONAD_REWARD = 1119 +UNK203_1083 = 1120 +UNK203_1085 = 1122 +SKILL_COOLTIME_SET = 1123 +SUMMONED_CREATED = 1125 +SUMMONED_REMOVED = 1126 +SUMMONED_MOVE = 1127 +SUMMONED_ATTACK = 1128 +SUMMONED_ATTACK_PVP = 1129 +SUMMONED_SET_REFERENCE = 1130 +SUMMONED_SKILL = 1131 +SUMMONED_SKILL_PVP = 1133 +SUMMONED_UPDATE_HP_TAG = 1134 +SUMMONED_ATTACK_DONE = 1135 +SUMMONED_SET_RESIST = 1136 +SUMMONED_ACTION_CHANGE = 1137 +SUMMONED_ASSIST_ATTACK_REQUEST = 1138 +SUMMONED_SUMMON_ATTACK_ACTIVE = 1139 +SUMMONED_BEHOLDER_REVENGE_ATTACK = 1140 +SUMMONED_UNK1057 = 1141 +SUMMONED_STATE_CHANGED = 1142 +SUMMONED_UNK1059 = 1143 +SUMMONED_REPOSITION_SUMMON = 1144 +SUMMONED_ASSIST_SPECIAL_ATTACK_REQUEST = 1145 +SUMMONED_EFFECT = 1146 +SUMMONED_SUMMON_USE_SPECIFIED_SKILL = 1147 +SUMMONED_UPGRADE_STAGE = 1148 +SUMMONED_UNK1065 = 1149 +SUMMONED_GRAVITY_CRUSH_DAMAGE = 1150 +SUMMONED_GRAVITY_CRUSH_MAX_DAMAGE = 1151 +SUMMONED_JETT_SUMMON = 1152 +SUMMONED_SPIRIT_DOMAIN_STATE = 1153 +SUMMONED_HIT = 1154 +MOB_ENTER_FIELD = 1155 +MOB_LEAVE_FIELD = 1156 +MOB_CHANGE_CONTROLLER = 1157 +MOB_SET_AFTER_ATTACK = 1158 +MOB_BLOCK_ATTACK = 1159 +MOB_UNK200_1108 = 1161 +MOB_CRC_KEY_CHANGED = 1174 +MOB_MOVE = 1162 +MOB_CTRL_ACK = 1163 +MOB_STAT_SET = 1165 +MOB_STAT_RESET = 1167 +MOB_SUSPEND_RESET = 1167 +MOB_AFFECTED = 1168 +MOB_DAMAGED = 1169 +MOB_DAMAGED_BY_SKILL = 1170 +MOB_SPECIAL_EFFECT_BY_SKILL = 1172 +MOB_CRC_DATA_REQUEST = 1173 +MOB_HP_INDICATOR = 1176 +MOB_CATCH_EFFECT = 1177 +MOB_STEAL_EFFECT = 1178 +MOB_EFFECT_BY_ITEM = 1179 +MOB_SPEAKING = 1180 +MOB_MESSAGING = 1181 +MOB_SKILL_DELAY = 1182 +ESCORT_FULL_PATH = 1183 +ESCORT_STOP_END_PERMISSION = 1184 +ESCORT_STOP_BY_SCRIPT = 1185 +ESCORT_STOP_SAY = 1186 +ESCORT_RETURN_BEFORE = 1187 +MOB_NEXT_ATTACK = 1188 +MOB_UNK204_1151 = 1189 +MOB_UNK204_1152 = 1190 +MOB_UNK204_1153 = 1191 +MOB_TELEPORT_REQUEST = 1192 +MOB_FORCED_ACTION = 1193 +MOB_FORCED_SKILL_ACTION = 1194 +UNK205_1194 = 1195 +UNK205_1195 = 1196 +MOB_TIME_RESIST = 1197 +MOB_ON_EKILL_DAMAGE = 1198 +MOB_ATTACK_BLOCK = 1199 +MOB_ATTACK_PRIORITY = 1200 +MOB_ATTACK_TIME_INFO = 1201 +MOB_DAMAGE_SHARE_INFO_TO_LOCAL = 1202 +MOB_DAMAGE_SHARE_INFO_TO_REMOTE = 1203 +MOB_BREAK_DOWN_TIME_ZONE_TIME_OUT = 1204 +MOB_MOVE_AREA_SET = 1205 +MOB_DO_SKILL_BY_HIT = 1206 +MOB_CASTING_BAR_SKILL = 1207 +MOB_FLY_TARGET = 1208 +MOB_BOUNCE_ATTACK_SKILL = 1209 +MOB_AREA_INSTALL_BY_HIT = 1210 +MOB_LTRB_DAMAGE_SKILL = 1211 +MOB_SUMMON_SUB_BODY = 1212 +MOB_LASER_CONTROL = 1213 +UNK205_1213 = 1214 +UNK205_1214 = 1215 +UNK205_1215 = 1216 +MOB_SCALE = 1217 +UNK205_1217 = 1218 +UNK205_1218 = 1219 +MOB_FORCE_CHASE = 1220 +MOB_HANG_OVER_REQUEST = 1221 +MOB_HANG_OVER_RELEASE_REQUEST = 1222 +MOB_DEAD_FPS_MODE = 1223 +MOB_AIR_HIT = 1224 +MOB_DEMIAN_DELAYED_ATTACK_CREATE = 1225 +MOB_REGISTER_REL_MOB_ZONE = 1226 +MOB_UNREGISTER_REL_MOB_ZONE = 1227 +MOB_NEXT_TARGET_FROM_SVR = 1228 +MOB_BURNED_INFO_REMOVE = 1229 +MOB_SPECIAL_SELECTED_EFFECT_BY_SKILL = 1237 +MOB_ATTACKED_BY_MOB = 1255 +MINION_ENTER_FIELD = 1193 +MINION_LEAVE_FIELD = 1194 +MINION_CHANGE_CONTROLLER = 1195 +MINION_GEN_BEYOND_SPLIT = 1196 +NPC_ENTER_FIELD = 1257 +NPC_LEAVE_FIELD = 1258 +NPC_ENTER_FIELD_FOR_QUICK_MOVE = 1259 +NPC_CHANGE_CONTROLLER = 1260 +NPC_IMITATE_DATA = 341 +NPC_UPDATE_LIMITED_DISABLE_INFO = 343 +SET_NPC_SCRIPT = 1277 +NPC_MOVE = 1264 +NPC_UPDATE_LIMITED_INFO = 1265 +NPC_SET_QUIZ_SCORE = 1266 +NPC_SET_QUIZ_SCORE_ANI = 1267 +NPC_SET_FORCE_MOVE = 1287 +NPC_SET_FORCE_FLIP = 1269 +NPC_SET_EMOTION = 1270 +NPC_SET_CHARACTER_BASE_ACTION = 1271 +NPC_VIEW_OR_HIDE = 1272 +NPC_PRESENT_ITEM_SET = 1273 +NPC_PRESENT_TIME_SET = 1274 +NPC_RESET_SPECIAL_ACTION = 1275 +NPC_SET_SCREEN_INFO = 1276 +NPC_LOCAL_NPC_REPEAT_EFFECT = 1277 +NPC_SET_NOTICE_BOARD_INFO = 1278 +NPC_UNK200_1222 = 1279 +NPC_UNK200_1223 = 1280 +NPC_UNK200_1224 = 1281 +NPC_SET_SPECIAL_ACTION = 1282 +MOMENT_SWIM_AREA_SET_WATER_LEVEL = 1276 +EMPLOYEE_ENTER_FIELD = 1285 +EMPLOYEE_LEAVE_FIELD = 1286 +EMPLOYEE_MINI_ROOM_BALLOON = 1287 +UNK203_1246 = 1288 +UNK203_1247 = 1289 +UNK203_1248 = 1290 +UNK203_1249 = 1291 +UNK203_1250 = 1292 +DROP_ENTER_FIELD = 1293 +DROP_LEAVE_FIELD = 1295 +CREATE_MESSAGE_BOX_FAILED = 1296 +MESSAGE_BOX_ENTER_FIELD = 1297 +MESSAGE_BOX_LEAVE_FIELD = 1298 +AFFECTED_AREA_CREATED = 1299 +INSTALLED_AREA_FIRE = 1300 +AFFECTED_AREA_REMOVED = 1301 +TOWN_PORTAL_CREATED = 1302 +TOWN_PORTAL_REMOVED = 1303 +RANDOM_PORTAL_CREATED = 1304 +RANDOM_PORTAL_TRY_ENTER_REQUEST = 1305 +RANDOM_PORTAL_REMOVED = 1306 +OPEN_GATE_CREATED = 1307 +OPEN_GATE_CLOSE = 1308 +OPEN_GATE_REMOVED = 1309 +REACTOR_CHANGE_STATE = 1310 +REACTOR_IDK = 1311 +REACTOR_ENTER_FIELD = 1312 +REACTOR_RESET_STATE = 1313 +REACTOR_OWNER_INFO = 1314 +REACTOR_REMOVE = 1315 +REACTOR_IDK2 = 1316 +REACTOR_UNK200_1259 = 1317 +REACTOR_UNK202_1266 = 1318 +REACTOR_UNK202_1267 = 1319 +REACTOR_LEAVE_FIELD = 1320 +FISHING_INFO = 1321 +FISHING_REWARD = 1322 +FISHING_ZONE_INFO = 1323 +DECOMPOSER_ENTER_FIELD = 1324 +DECOMPOSER_LEAVE_FIELD = 1325 +UNK203_1284 = 1326 +UNK203_1285 = 1327 +UNK203_1286 = 1328 +UNK203_1287 = 1329 +GUILD_BOSS_HEALER_MOVE = 1332 +GUILD_BOSS_PULLEY_STATE_CHANGE = 1333 +MONSTER_CARNIVAL_CARNIVAL_ENTER = 1283 +MONSTER_CARNIVAL_PERSONAL_CP = 1284 +MONSTER_CARNIVAL_TEAM_CSCORE = 1285 +MONSTER_CARNIVAL_SPELL_COOLTIME = 1286 +MONSTER_CARNIVAL_RESULT_SUCCESS = 1287 +MONSTER_CARNIVAL_RESULT_FAIL = 1288 +MONSTER_CARNIVAL_DEATH = 1289 +MONSTER_CARNIVAL_MEMBER_OUT = 1290 +MONSTER_CARNIVAL_SHOW_GAME_RESULT = 1291 +MONSTER_CARNIVAL_UPDATE_RANK_INFO = 1292 +ARIANT_ARENA_SHOW_RESULT = 682 +ARIANT_ARENA_USER_SCORE = 1293 +DEFENSE_WAVE = 1312 +DEFENSE_LIFE = 1313 +DEFENSE_POINT = 1314 +DEFENSE_SCORE_RANK = 1315 +DEFENSE_RESULT = 1316 +MULTI_STAGE_SET_STAGE = 1331 +MULTI_STAGE_SET_MONSTER_GAUGE = 1332 +PIRANHA_INIT = 1353 +PIRANHA_INFO = 1354 +BOSS_ARENA_FIELD_STATE_CHANGE = 1369 +BOSS_ARENA_CURRENT_TEAM_INFO = 1370 +BOSS_ARENA_SELECTED_TEAM_INFO = 1371 +BOSS_ARENA_SELECT_OPPONENT_SELECT_BOSS = 1372 +BOSS_ARENA_SELECT_OPPONENT_CONFIRM = 1373 +BOSS_ARENA_SCORE = 1378 +BOSS_ARENA_RESULT_INFO = 1379 +BOSS_ARENA_FADE_IN_OUT = 1381 +BOSS_ARENA_SUMMON_HEAD_GEAR = 1382 +BOSS_ARENA_BOSS_INFO = 1383 +BOSS_ARENA_USER_HP_CHANGED = 1384 +BONUS_REWARD_BOARD_FAO = 1396 +TWELFTH_THREASURE_UPDATE_GAME_INFO = 1401 +TWELFTH_THREASURE_FIELD_STATE_CHANGE = 1402 +FIELD_ON_RANK_CREATE = 1405 +FIELD_RANK_SET_USERNAME = 1406 +FIELD_RANK_NOTIFY_DATA = 1407 +FIELD_FADE_OBJECT_INFO = 1447 +RUNE_STONE_CLEAR_AND_ALL_REGISTER = 1448 +RUNE_STONE_DISAPPEAR = 1449 +RUNE_STONE_APPEAR = 1450 +STAR_PLANET_SCREEN_WORLD_EVENT = 1452 +FIELD_STATE_CREATE = 1453 +FIELD_STATE_REMOVE = 1454 +CHASER_MOVE = 1455 +UNK203_1427 = 1469 +UNK203_1437 = 1479 +UNK203_1438 = 1480 +UNK203_1570 = 1612 +UNK203_1571 = 1613 +DEMIAN_STIGMA_INCINERATE_OBJECT_PACKET = 1470 +DEMIAN_STIGMA_OBJECT_EFFECT = 1471 +DEMIAN_FLYING_SWORD_CREATE = 1472 +DEMIAN_FLYING_SWORD_MAKE_ENTER_REQUEST = 1473 +DEMIAN_FLYING_SWORD_MAKE_ENTER_INFO = 1474 +DEMIAN_FLYING_SWORD_NODE = 1475 +DEMIAN_FLYING_SWORD_TARGET = 1476 +DEMIAN_CORRUPTION_CHANGE = 1477 +LUCID_BUTTERFLY_CREATED = 1482 +LUCID_BUTTERFLY_ACTION = 1483 +LUCID_DRAGON_CREATED = 1485 +DO_LUCID_SKILL = 1486 +LUCID_PHASE_2_STAINED_GLASS_ON_OFF = 1487 +LUCID_PHASE_2_STAINED_GLASS_BREAK = 1488 +LUCID_STATUE_STATE_CHANGE = 1489 +LUCID_PHASE_2_SET_FLYING_MODE = 1490 +LUCID_PHASE_2_WELCOME_BARRAGE = 1491 +LUCID_UNK_200_1431 = 1492 +UNION_RAID_DAMAGE = 1494 +UNION_RAID_COIN = 1495 +UNION_RAID_BOSS_UPDATE = 1496 +COMPLETE_RUNE = 1458 +INHERITANCE = 1809 +BINGO_ENTER_GAME = 1416 +BINGO_HOST_NUMBER = 1417 +BINGO_HOST_NUMBER_READY = 1418 +BINGO_ADD_RANK = 1419 +BINGO_REMOVE_RANK = 1420 +BINGO_FINISH_RANK = 1421 +BINGO_CHECK_NUMBER_ACK = 1422 +BINGO_GAME_STATE = 1423 +GACH_OPEN = 1507 +GACH_RESULT = 1508 +HORNTAIL_TIMER = 1521 +ZAKUM_TIMER = 1522 +ZAKUM_TIMER2 = 1601 +COORDINATION_RUNWAY_AVATAR = 1560 +STORE_BANK_GET_ALL_RESULT = 1573 +STORE_BANK_RESULT = 1574 +ADMIN_SHOP_RESULT = 1575 +ADMIN_SHOP_COMMODITY = 1576 +GHOST_PARK_RUNE_USE_ACK = 1590 +GHOST_PARK_RUNE_APPEAR = 1591 +GHOST_PARK_RUNE_DISAPPEAR = 1592 +GHOST_PARK_KILLED_MOB_BONUS_EXP_RATE_INFO = 1593 +GHOST_PARK_CURSE_LEVEL_EXP_RATE = 1594 +GHOST_PARK_HOMING_BULLET_CREATE = 1595 +SCRIPT_MESSAGE = 1724 +SHOP_OPEN = 1725 +SHOP_RESULT = 1726 +TRUNK_DLG = 1751 +RPS_GAME_DLG = 1754 +GO_STOP_RPS_GAME_DLG = 1755 +STAR_PLANET_GO_STOP_RPS_DLG = 1756 +UI_MESSENGER = 1757 +MINI_ROOM_BASE_DLG = 1758 +UNK_1444 = 1759 +SET_CASH_SHOP_INITIAL_ITEM = 1760 +TRY_MIGRATE_CASH_SHOP = 1761 +UNK1447 = 1762 +PARCEL_DLG = 1778 +CASH_SHOP = 1811 +CASH_SHOP_QUERY_CASH_RESULT = 1812 +CASH_SHOP_CASH_ITEM_RESULT = 1813 +CASH_SHOP_PURCHASE_EXP_CHANGED = 1814 +CASH_SHOP_CHAR_STAT_CHANGED = 1816 +CASH_SHOP_IDK1 = 1818 +CASH_SHOP_MVP_ITEM_GIVE_RESULT = 1820 +CASH_SHOP_REWARD_PT_UPDATE = 1821 +CASH_SHOP_CHARGE_MILEAGE_NOTICE = 1822 +CASH_SHOP_IDK2 = 1823 +CASH_SHOP_IDK3 = 1824 +CASH_SHOP_IDK4 = 1826 +CASH_SHOP_IDK5 = 1827 +CASH_SHOP_IDK6 = 1828 +CASH_SHOP_IDK7 = 1829 +CASH_SHOP_IDK8 = 1830 +CASH_SHOP_IDK9 = 1831 +CASH_SHOP_IDK10 = 1834 +CASH_SHOP_IDK11 = 1835 +CASH_SHOP_IDK16 = 1836 +CASH_SHOP_GIFT = 1837 +CASH_SHOP_INFO = 1838 +CASH_SHOP_ACTION = 1839 +CASH_SHOP_IDK12 = 1841 +CASH_SHOP_IDK13 = 1843 +CASH_SHOP_IDK14 = 1844 +CASH_SHOP_IDK15 = 1845 +REGISTER_BATTLE_USER = 1815 +DELETE_USER = 1816 +BATTLE_USER_INFO = 1817 +VALID_BATTLE_USER = 1818 +JOB_SELECT_RESULT = 1819 +CHAMP_SELECT_TIMER = 1820 +BATTLE_USER_RESPAWN_UI = 1821 +BATTLE_PVP_POINT_EFFECT = 1822 +SET_BATTLE_ATTACK = 1825 +SET_BATTLE_ATTACK_EXPIRE = 1826 +SET_BATTLE_ATTACK_POSITION = 1827 +NEXT_BATTLE_ATTACK = 1828 +REPEAT_BATTLE_ATTACK = 1829 +SET_TEMPORARY_SKILL_SET = 1832 +USED_TEMPORARY_SKILL = 1833 +VALIDATE_TEMPORARY_SKILL = 1834 +VALIDATE_TEMPORARY_SKILL_SET = 1835 +RESET_COOLTIME_SKILL_SET = 1836 +AUCTION_RESULT = 1849 +UNK204_1799 = 1850 +ATTENDANCE_EVENT_INFO = 1852 +UNK200_1779 = 1853 +ARK_FISHING_INFO = 1854 +UNK200_1781 = 1855 +UNK200_1782 = 1856 +UNK200_1783 = 1857 +CLEAR_RESULT = 1859 +UNK200_1786 = 1860 +UNK200_1787 = 1861 +UNK200_1788 = 1862 +UNK200_1789 = 1863 +UNK200_1790 = 1864 +JIGSAW_PUZZLE = 1865 +DISGUISE = 1866 +SOME_GIFT_THING = 1867 +DIMENSIONAL_MIRROR = 1868 +UNK200_1795 = 1869 +UNION_RESULT = 1870 +ARCANE_SYMBOL_ENHANCE = 1871 +PARTICIPATION_EVENT = 1872 +UNK200_1799 = 1873 +STAR_STAMP_CLAIM_NOTE = 1874 +DREAM_DEFENDER_RANKING = 1875 +UNION_RANKING = 1876 +UNK200_1803 = 1877 +ONLY_SEALED_RUNE_MSG = 1878 +UNK200_1806 = 1880 +UNION_COIN = 1881 +FISHING_CATCH = 1882 +UNK200_1809 = 1883 +UNK200_1810 = 1884 +ALLIANCE_RANK_UNLOCK_MSG = 1885 +UNK200_1812 = 1886 +UNK200_1813 = 1887 +REWARD_CLAIMED_FAIL = 1888 +REWARD_CLAIMED_SUCCESS = 1889 +UNK200_1816 = 1890 +OPEN_DAILY_QUEST_BOARD = 1891 +UNK200_1818 = 1892 +UNK200_1819 = 1893 +UNK200_1820 = 1894 +UNK200_1821 = 1895 +UNK200_1822 = 1896 +UNK200_1823 = 1897 +UNK200_1824 = 1898 +UNK200_1825 = 1899 +UNK200_1826 = 1900 +UNK200_1827 = 1901 +UNK205_1901 = 1902 +UNK205_1902 = 1903 +UNK205_1903 = 1904 +UNK205_1904 = 1905 +OZ_BUY_RESULT = 1906 +UNK202_1847 = 1917 +UNK202_1848 = 1918 +UNK202_1849 = 1919 +UNK202_1850 = 1920 +UNK202_1851 = 1921 +UNK202_1857 = 1927 +UNK202_1858 = 1928 +UNK202_1859 = 1929 +UNK202_1860 = 1930 +UNK202_1861 = 1931 +UNK202_1862 = 1932 +FUNC_KEY_MAPPED_MAN_INIT = 1953 +PET_CONSUME_ITEM_INIT = 1954 +PET_CONSUME_MP_ITEM = 1955 +PET_CONSUME_UNK = 1956 +GOLD_HAMMER_ITEM_UPGRADE_RESULT = 1973 +GOLD_HAMMER_ITEM_UPGRADE_REQUEST = 1976 +UNK205_1976 = 1977 +UNK205_1977 = 1978 +UNK205_1978 = 1979 +FIELD_ATTACK_CREATE = 1989 +FIELD_ATTACK_REMOVE_BY_KEY = 1990 +FIELD_ATTACK_REMOVE_LIST = 1991 +FIELD_ATTACK_REMOVE_ALL = 1992 +UNK_200_1900 = 1993 +FIELD_ATTACK_SET_ATTACK = 1995 +FIELD_ATTACK_RESULT_BOARD = 1996 +FIELD_ATTACK_RESULT_GET_OFF = 1197 +FIELD_ATTACK_PUSH_ACT = 1998 +UNK_203_1930 = 1999 +FIELD_ATTACK_INFO = 2000 +DOT_DAMAGE_INFO = 2002 +KILL_DAMAGE_INFO = 2003 +BATTLE_DAMAGE_INFO = 2004 +SERVER_ON_CALC_REQUEST_RESULT = 2005 +AGGRO_MONITORING_INFO = 2006 +SKILL_DAMAGE_LOG = 2007 +SOCKET_CREATE_RESULT = 2011 +INVITATION_INFO = 2010 +INVITATION = 2011 +INVITATION_FAIL = 2012 +INVITATION_ACCEPT = 2013 +EVENT_GROUP_INFO = 2014 +EVENT_GROUP_PACKET = 2015 +OPEN_UI_STAR_PLANET = 2020 +REGISTER_ACK_STAR_PLANET = 2021 +UNREGISTER_ACK_STAR_PLANET = 2022 +WAIT_ASSENT_STAR_PLANET = 2023 +TRANSFER_STAR_PLANET = 2024 +ERROR_STAR_PLANET = 2025 +RUN_MATCHING_INVITATION = 2028 +REGISTER_INVITATION_ACK = 2029 +END_INVITATION = 2030 +UNK204_1942 = 2009 +UNK204_1975 = 2042 +UNK204_1976 = 2043 +UNK204_1977 = 2044 +UNK204_1978 = 2045 +UNK204_1979 = 2046 +UNK204_1980 = 2047 +UNK204_1981 = 2048 +UNK204_1983 = 2050 +UNK204_1984 = 2051 +UNK204_1985 = 2052 +UNK204_1986 = 2053 +UNK204_1987 = 2054 +FARM_LEVEL_UP = 2055 +UNK204_1989 = 2056 +UNK204_1990 = 2057 +UNK204_1991 = 2058 +UNK204_1992 = 2059 +UNK204_1993 = 2060 +UNK204_1994 = 2061 +UNK204_1995 = 2062 +UNK204_1996 = 2063 +UNK204_1997 = 2064 +UNK204_1998 = 2065 +UNK204_1999 = 2066 +UNK204_2000 = 2067 +UNK204_2001 = 2068 +UNK204_2002 = 2069 +UNK204_2003 = 2070 +UNK204_2004 = 2071 +UNK204_2005 = 2072 +UNK204_2006 = 2073 +UNK204_2007 = 2074 +UNK204_2008 = 2075 +UNK204_2009 = 2076 +UNK204_2010 = 2077 +UNK204_2012 = 2078 +UNK204_2014 = 2081 +UNK204_2015 = 2082 +UNK204_2016 = 2083 +UNK204_2017 = 2084 +UNK204_2018 = 2085 +UNK204_2019 = 2086 +UNK204_2022 = 2089 +UNK204_2023 = 2090 +UNK204_2024 = 2091 +UNK204_2025 = 2092 +UNK204_2026 = 2093 +UNK204_2027 = 2094 +UNK204_2028 = 2095 +UNK204_2029 = 2096 +UNK204_2030 = 2097 +UNK204_2036 = 2103 +GOLLUX_MINI_MAP = 2104 +GOLLUX_PORTAL_OPEN = 2105 +UNK204_2039 = 2106 +UNK204_2040 = 2107 +UNK204_2041 = 2108 +UNK204_2042 = 2109 +NO = 9999 diff --git a/resources/Data.wz b/resources/Data.wz new file mode 100755 index 0000000000000000000000000000000000000000..af1f024a2d4861deb32e7ffbe2b346918d7bd411 GIT binary patch literal 3560 zcmbtXc~F}98D=xvt^K3zbkpOn?d)#a&C#T3j&8PXGLy~SO_R0OO}ZI3^++UMQ86)x zM^IE0LP2to!mAxR)e$eQW+ohECe&g#IqyUb=@fDqQqy&YY^DNGj8LVc07^rXtsh6v} zu`ZK($U!t}%o?rDMt4d^8|ry2P0Y5oX@QiTtCMV=m70L4}k3d^h*YDsw+vh@91>G82?i92I*QsW=&yOHxC`#{>^Gx3nDw5&Tv zFJ`8Nzm=Q;4oz=)fz0Rf1YscWxXyuktdlt{_(i+hwrRw=prWk_5_h(98~x%gNo%uI zB%E7gK}!`y(4I1CDOyX;*Hsn5aMbc5yai1zF2fh2+_xd%>*)y}-ONq~-`$&(9i4M9 z{m|L#8Mo5!X8!H-+v%yGR7mtIc3!7bEpr%%gBD-}gD9Qz_&3T8rGr4ARfWoh28;@) z+gk22Yb$g{8%;OZ$`(Bq@g`c^>N|u?$uqu~S;JtoFr}@n%WX}P)%L<7Y(5m)Q;hCI z7WNlV5VRp;QBfrsYvrLSXy+p=Bo@3QCh2B;d}3;RLfrlRnQ=L}hhuUfpX~Z;YR0ks zdq5GFPF%Y5PGr=%3m3PgM`c`n_n+I-uAKZLGU_+~4v+jQGWyT^;tqVgBO#=U=L^e0 zSA0t@pclYAHpl?$cb>ei`Xzqd6V9fJd3DT&nW|1ctHV>o5Vt&BoSK?mT@ms-U5a$J-(ni-1j=p zY9DYI3|4y;^U)ZWUte22S;3bGcnrpzsFB;r>S8r^)cIHFU5zprT!ACPV7;_LZ6&#~ zl#IKYm5&^@4kRzM$d& z=}?NjlfK2#O;fCU2Ce-6I<=q-4TozA5CfRJL2|&h;j(-LmQV=@5p>80r;;<{<94Qi zV-sU(NY?EE><&$mZpMtyquO2n_O zT#ES5rQe?4A9LhSA0%y};l&%v;PFrTyqlHbMbKO*?zJ-5Y$h4S=+x1*wd}En{3e!o zvXe8@(Z!dDyK3e|A`XjJFKG}riPkW1c|Jmg!J`T^n2IWR9%+aHFNd2ONyrL1K*o|{ zQe)y1qHkpEO1*n6X5W4A?E~+B_?MkKjwGdIC8QopN&586*`L1s&gr|Ub`pt|kuuQ8|s6dJimtEp+N2?HT!RHaJ0#)(teWlo~q z<}zBHLv($Uu&Jh{v4Pn>C1nXD&x9SFooueZ;gNv9%$L-y@-f|nd^i@5=!Iht^gNOt zN242Qd3XxaVz*XFaERCx@E^emsn_Cm=U&@;Bl;#J=gy(qS&$>yX$kjp)3XkMz7En_ zldsV%#18{XkU_xHjdXs4)uhvr zrwyk55Fx1Vat4;cwlDyD3?jxkqy$nI}KncKQ5|{uO!Q$02$8JpSNFKc3RKRp<$q+TxVil>yVure4|$ zwWzvYB;eI};9U{&Pe0!&GXj#@RO=#~u^Qc0+i;ZU!7y{{ZL{(!@FhjyfT ztdYZK)^eucYzeDv7BA(p+S{LRnsEK5%{|x1`?}@W6=#pVo9MT6hl*MB%)Q!W$biRd z*1kTp!;Q0Ol_sl^EF0G8X#ce^937=Kl66@7bpJllhdbi)riaQy|*dlb(y16iUGI2UulxzpV({) z@`_yRG!B>p!v*DwT54-T%sVDH?^CmCl}(G8w;2I-`M7z=*+*S6Y6c`B!qCC6nT-`N zX6WhGlUDjofXy%%BB(SN7&Rx@big{#kHpC46PWU>|OkcDJ4J4O)*kB82v z<#Fl-fzR7DN=Ve)mQeFsLV4eeLLwHn#LK&d7X!JrfI=X=Ti_KyExwt30JX3s)Y6tv z&$oh_-$K0tmH57o_KhDhg<}1OOsgH4cDO{s`YOL?!N0sRPh!@ycrUMtP2VrmV8`7< YJtpE~y_sZm8tr!WD6W~`$`lIz2O92LLI3~& literal 0 HcmV?d00001 diff --git a/resources/Data2.wz b/resources/Data2.wz new file mode 100755 index 0000000000000000000000000000000000000000..af1f024a2d4861deb32e7ffbe2b346918d7bd411 GIT binary patch literal 3560 zcmbtXc~F}98D=xvt^K3zbkpOn?d)#a&C#T3j&8PXGLy~SO_R0OO}ZI3^++UMQ86)x zM^IE0LP2to!mAxR)e$eQW+ohECe&g#IqyUb=@fDqQqy&YY^DNGj8LVc07^rXtsh6v} zu`ZK($U!t}%o?rDMt4d^8|ry2P0Y5oX@QiTtCMV=m70L4}k3d^h*YDsw+vh@91>G82?i92I*QsW=&yOHxC`#{>^Gx3nDw5&Tv zFJ`8Nzm=Q;4oz=)fz0Rf1YscWxXyuktdlt{_(i+hwrRw=prWk_5_h(98~x%gNo%uI zB%E7gK}!`y(4I1CDOyX;*Hsn5aMbc5yai1zF2fh2+_xd%>*)y}-ONq~-`$&(9i4M9 z{m|L#8Mo5!X8!H-+v%yGR7mtIc3!7bEpr%%gBD-}gD9Qz_&3T8rGr4ARfWoh28;@) z+gk22Yb$g{8%;OZ$`(Bq@g`c^>N|u?$uqu~S;JtoFr}@n%WX}P)%L<7Y(5m)Q;hCI z7WNlV5VRp;QBfrsYvrLSXy+p=Bo@3QCh2B;d}3;RLfrlRnQ=L}hhuUfpX~Z;YR0ks zdq5GFPF%Y5PGr=%3m3PgM`c`n_n+I-uAKZLGU_+~4v+jQGWyT^;tqVgBO#=U=L^e0 zSA0t@pclYAHpl?$cb>ei`Xzqd6V9fJd3DT&nW|1ctHV>o5Vt&BoSK?mT@ms-U5a$J-(ni-1j=p zY9DYI3|4y;^U)ZWUte22S;3bGcnrpzsFB;r>S8r^)cIHFU5zprT!ACPV7;_LZ6&#~ zl#IKYm5&^@4kRzM$d& z=}?NjlfK2#O;fCU2Ce-6I<=q-4TozA5CfRJL2|&h;j(-LmQV=@5p>80r;;<{<94Qi zV-sU(NY?EE><&$mZpMtyquO2n_O zT#ES5rQe?4A9LhSA0%y};l&%v;PFrTyqlHbMbKO*?zJ-5Y$h4S=+x1*wd}En{3e!o zvXe8@(Z!dDyK3e|A`XjJFKG}riPkW1c|Jmg!J`T^n2IWR9%+aHFNd2ONyrL1K*o|{ zQe)y1qHkpEO1*n6X5W4A?E~+B_?MkKjwGdIC8QopN&586*`L1s&gr|Ub`pt|kuuQ8|s6dJimtEp+N2?HT!RHaJ0#)(teWlo~q z<}zBHLv($Uu&Jh{v4Pn>C1nXD&x9SFooueZ;gNv9%$L-y@-f|nd^i@5=!Iht^gNOt zN242Qd3XxaVz*XFaERCx@E^emsn_Cm=U&@;Bl;#J=gy(qS&$>yX$kjp)3XkMz7En_ zldsV%#18{XkU_xHjdXs4)uhvr zrwyk55Fx1Vat4;cwlDyD3?jxkqy$nI}KncKQ5|{uO!Q$02$8JpSNFKc3RKRp<$q+TxVil>yVure4|$ zwWzvYB;eI};9U{&Pe0!&GXj#@RO=#~u^Qc0+i;ZU!7y{{ZL{(!@FhjyfT ztdYZK)^eucYzeDv7BA(p+S{LRnsEK5%{|x1`?}@W6=#pVo9MT6hl*MB%)Q!W$biRd z*1kTp!;Q0Ol_sl^EF0G8X#ce^937=Kl66@7bpJllhdbi)riaQy|*dlb(y16iUGI2UulxzpV({) z@`_yRG!B>p!v*DwT54-T%sVDH?^CmCl}(G8w;2I-`M7z=*+*S6Y6c`B!qCC6nT-`N zX6WhGlUDjofXy%%BB(SN7&Rx@big{#kHpC46PWU>|OkcDJ4J4O)*kB82v z<#Fl-fzR7DN=Ve)mQeFsLV4eeLLwHn#LK&d7X!JrfI=X=Ti_KyExwt30JX3s)Y6tv z&$oh_-$K0tmH57o_KhDhg<}1OOsgH4cDO{s`YOL?!N0sRPh!@ycrUMtP2VrmV8`7< YJtpE~y_sZm8tr!WD6W~`$`lIz2O92LLI3~& literal 0 HcmV?d00001 diff --git a/resources/ItemHandler v213.java b/resources/ItemHandler v213.java new file mode 100755 index 0000000..066b486 --- /dev/null +++ b/resources/ItemHandler v213.java @@ -0,0 +1,1397 @@ +package net.dev213.ms.handlers.item; + +import database.data.CharacterPotentialData; +import net.dev213.ms.Server; +import net.dev213.ms.client.Account; +import net.dev213.ms.client.Client; +import net.dev213.ms.client.character.BroadcastMsg; +import net.dev213.ms.client.character.Char; +import net.dev213.ms.client.character.ExtendSP; +import net.dev213.ms.client.character.avatar.BeautyAlbum; +import net.dev213.ms.client.character.items.*; +import net.dev213.ms.client.character.potential.CharacterPotential; +import net.dev213.ms.client.character.potential.CharacterPotentialMan; +import net.dev213.ms.client.character.quest.Quest; +import net.dev213.ms.client.character.skills.Option; +import net.dev213.ms.client.character.skills.Skill; +import net.dev213.ms.client.character.skills.temp.CharacterTemporaryStat; +import net.dev213.ms.client.character.skills.temp.TemporaryStatManager; +import net.dev213.ms.connection.InPacket; +import net.dev213.ms.connection.packet.*; +import net.dev213.ms.constants.*; +import net.dev213.ms.enums.*; +import net.dev213.ms.handlers.Handler; +import net.dev213.ms.handlers.header.InHeader; +import net.dev213.ms.life.pet.Pet; +import net.dev213.ms.life.pet.PetSkill; +import net.dev213.ms.loaders.FieldData; +import net.dev213.ms.loaders.ItemData; +import net.dev213.ms.loaders.SkillData; +import net.dev213.ms.loaders.StringData; +import net.dev213.ms.loaders.containerclasses.ItemInfo; +import net.dev213.ms.loaders.containerclasses.MakingSkillRecipe; +import net.dev213.ms.scripts.ScriptType; +import net.dev213.ms.util.Position; +import net.dev213.ms.util.Util; +import net.dev213.ms.world.World; +import net.dev213.ms.world.field.Field; +import net.dev213.ms.world.field.Portal; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +import java.text.NumberFormat; +import java.util.*; + +import static net.dev213.ms.enums.ChatType.*; +import static net.dev213.ms.enums.EquipBaseStat.iuc; +import static net.dev213.ms.enums.EquipBaseStat.tuc; +import static net.dev213.ms.enums.InvType.*; +import static net.dev213.ms.enums.InventoryOperation.Move; + +public class ItemHandler { + + private static final Logger log = LogManager.getLogger(ItemHandler.class); + + @Handler(op = InHeader.USER_PORTAL_SCROLL_USE_REQUEST) + public static void handleUserPortalScrollUseRequest(Client c, InPacket inPacket) { + Char chr = c.getChr(); + Field field = chr.getField(); + if ((field.getFieldLimit() & FieldOption.PortalScrollLimit.getVal()) > 0 || !field.isChannelField()) { + chr.chatMessage("You may not use a return scroll in this map."); + chr.dispose(); + return; + } + c.verifyTick(inPacket); + short slot = inPacket.decodeShort(); + int itemID = inPacket.decodeInt(); + + Item item = chr.getConsumeInventory().getItemBySlot(slot); + + if (item == null || item.getItemId() != itemID || item.getQuantity() < 1 || !chr.isInValidState()) { + chr.dispose("You cannot use this return scroll right now."); + return; + } + + ItemInfo ii = ItemData.getItemInfoByID(itemID); + Field toField; + + if (itemID != 2030000) { + toField = chr.getOrCreateFieldByCurrentInstanceType(ii.getMoveTo()); + } else { + toField = chr.getOrCreateFieldByCurrentInstanceType(field.getReturnMap()); + } + Portal portal = toField.getDefaultPortal(); + chr.warp(toField, portal); + chr.consumeItem(itemID, 1); + } + + + @Handler(op = InHeader.USER_STAT_CHANGE_ITEM_CANCEL_REQUEST) + public static void handleUserStatChangeItemCancelRequest(Char chr, InPacket inPacket) { + TemporaryStatManager tsm = chr.getTemporaryStatManager(); + int itemID = inPacket.decodeInt(); + tsm.removeStatsBySkill(itemID); + tsm.sendResetStatPacket(); + } + + @Handler(op = InHeader.USER_SKILL_RESET_ITEM_USE_REQUEST) + public static void handleUserResetSP(Char chr, InPacket inPacket) { + if (inPacket != null) { + chr.getClient().verifyTick(inPacket); + short slot = inPacket.decodeShort(); + int itemID = inPacket.decodeInt(); + Item item = chr.getConsumeInventory().getItemBySlot(slot); + if (item == null || itemID != item.getItemId() || itemID / 10 != 250000) { + chr.write(WvsContext.resetItemResult(true, chr.getId(), false, true)); + return; + } + chr.consumeItem(item); + } + short jobID = chr.getJob(); + List skills = new ArrayList<>(); + List jobs = SkillConstants.getSkillRootFromJob(jobID); + ExtendSP extendSP = JobConstants.isExtendSpJob(jobID) ? chr.getAvatarData().getCharacterStat().getExtendSP() : null; + int sp = 0; + for (int job : jobs) { + if (JobConstants.isBeginnerJob((short) job)) { + continue; + } + for (Skill skill : SkillData.getSkillsByJob((short) job)) { + Skill curSkill = chr.getSkill(skill.getSkillId()); + if (curSkill != null && SkillData.getSkillInfoById(skill.getSkillId()).getHyper() == 0) { + sp += curSkill.getCurrentLevel(); + curSkill.setCurrentLevel(0); + skills.add(curSkill); + chr.addSkill(curSkill); + } + } + if (extendSP != null) { + byte jobLevel = (byte) JobConstants.getJobLevelDetail((short) job); + extendSP.setSpToJobLevel(jobLevel, extendSP.getSpByJobLevel(jobLevel) + sp); + sp = 0; + } + } + if (extendSP != null) { + chr.write(WvsContext.statChanged(Collections.singletonMap(Stat.sp, extendSP))); + } else { + chr.setStatAndSendPacket(Stat.sp, chr.getStat(Stat.sp) + sp); + } + if (!skills.isEmpty()) { + chr.write(WvsContext.changeSkillRecordResult(skills, true, false, false, false)); + } + chr.write(WvsContext.resetItemResult(true, chr.getId(), true, true)); + } + + @Handler(op = InHeader.USER_ABILITY_RESET_ITEM_USE_REQUEST) + public static void handleUserResetAP(Char chr, InPacket inPacket) { + if (inPacket != null) { + chr.getClient().verifyTick(inPacket); + short slot = inPacket.decodeShort(); + int itemID = inPacket.decodeInt(); + Item item = chr.getConsumeInventory().getItemBySlot(slot); + if (item == null || itemID != item.getItemId() || itemID / 10 != 250100) { + chr.write(WvsContext.resetItemResult(true, chr.getId(), false, false)); + return; + } + chr.consumeItem(item); + } + int ap = chr.getStat(Stat.ap); + ap += chr.getStat(Stat.str) - 4; + ap += chr.getStat(Stat.dex) - 4; + ap += chr.getStat(Stat.inte) - 4; + ap += chr.getStat(Stat.luk) - 4; + chr.setStat(Stat.str, 4); + chr.setStat(Stat.dex, 4); + chr.setStat(Stat.inte, 4); + chr.setStat(Stat.luk, 4); + chr.setStat(Stat.ap, ap); + Map stats = Map.of(Stat.str, (short) 4, Stat.dex, (short) 4, Stat.inte, (short) 4, Stat.luk, (short) 4, Stat.ap, (short) ap); + chr.write(WvsContext.statChanged(stats)); + chr.write(WvsContext.resetItemResult(true, chr.getId(), true, false)); + } + + @Handler(op = InHeader.USER_CONSUME_CASH_ITEM_USE_REQUEST) + public static void handleUserConsumeCashItemUseRequest(Client c, InPacket inPacket) { + Char chr = c.getChr(); + Inventory cashInv = chr.getInventoryByType(InvType.CASH); + c.verifyTick(inPacket); + short pos = inPacket.decodeShort(); + int itemID = inPacket.decodeInt(); + Item item = cashInv.getItemBySlot(pos); + ItemInfo itemInfo = ItemData.getItemInfoByID(itemID); + BeautyAlbum album = chr.getBeautyAlbum(); + Item cube; + int cubeCount; + if (item == null || item.getItemId() != itemID) { + return; + } + if (itemID / 10000 == 553) { + // Reward items + if (itemID % 10000 < 3000) { + Object reward; + if (itemInfo != null && (reward = itemInfo.getRandomReward()) != null) { + if (reward instanceof Item) { + chr.addItemToInventory((Item) reward); + } else if (reward instanceof Integer && (int) reward != 0) { + chr.addMoney((int) reward); + } else { + chr.chatMessage("Oh, you're unlucky."); // should not happen + } + } else { + chr.chatMessage("Oh, you're unlucky."); + } + } else if (itemID == 5534000) { // Tim's Secret lab + short ePos = (short) inPacket.decodeInt(); + InvType invType = ePos < 0 ? EQUIPPED : EQUIP; + Equip equip = (Equip) chr.getInventoryByType(invType).getItemBySlot(ePos); + if (equip == null) { + chr.dispose("Could not find equip."); + return; + } else if (!ItemConstants.canEquipHavePotential(equip)) { + chr.dispose("You cannot use Tim's Secret Lab on this item."); + return; + } + equip.setHiddenOptionBase(ItemGrade.HiddenRare.getVal(), 100); + c.write(FieldPacket.showItemUpgradeEffect(chr.getId(), true, false, itemID, equip.getItemId(), false)); + equip.updateToChar(chr); + } + } else if (itemID / 10000 == 539) { + // Avatar Megaphones + List lineList = new ArrayList<>(); + for (int i = 0; i < 4; i++) { + String line = inPacket.decodeString(); + lineList.add(line); + } + boolean whisperIcon = inPacket.decodeByte() != 0; + World world = c.getWorld(); + world.broadcastPacket(WvsContext.setAvatarMegaphone(chr, itemID, lineList, whisperIcon)); + + } else if (itemID / 10000 == 519) { + // Pet Skill Items + long sn = inPacket.decodeLong(); + PetSkill ps = ItemConstants.getPetSkillFromID(itemID); + if (ps == null) { + chr.chatMessage(String.format("Unhandled pet skill item %d", itemID)); + return; + } + Item pi = chr.getCashInventory().getItemBySN(sn); + if (!(pi instanceof PetItem)) { + chr.chatMessage("Could not find that pet."); + return; + } + boolean add = itemID < 5191000; // add property doesn't include the "Slimming Medicine" + PetItem petItem = (PetItem) pi; + if (add) { + petItem.addPetSkill(ps); + } else { + petItem.removePetSkill(ps); + } + petItem.updateToChar(chr); + } else if (ItemConstants.isMiuMiuMerchant(itemID)) { + + chr.getScriptManager().openShop(9090000); + + } else if (ItemConstants.isPortableStorage(itemID)) { + + chr.getScriptManager().openTrunk(1022005); + } else if (itemID / 10000 == 512) { // Weather Items + chr.getField().blowWeather(itemID, inPacket.decodeString(), 10, null); + int stateChangeItem = itemInfo.getStateChangeItem(); + if (stateChangeItem != 0 && !ItemData.getItemInfoByID(stateChangeItem).getSpecStats().isEmpty()) { + chr.getField().getChars().forEach(it -> ItemBuffs.giveItemBuffsFromItemID(it, it.getTemporaryStatManager(), stateChangeItem)); + } + } else { + + Equip medal = (Equip) chr.getEquippedInventory().getFirstItemByBodyPart(BodyPart.Medal); + int medalInt = 0; + if (medal != null) { + medalInt = (medal.getAnvilId() == 0 ? medal.getItemId() : medal.getAnvilId()); // Check for Anvilled medal + } + String medalString = (medalInt == 0 ? "" : String.format("<%s> ", StringData.getItemStringById(medalInt))); + + switch (itemID) { + case ItemConstants.HYPER_TELEPORT_ROCK: // Hyper Teleport Rock + short type = inPacket.decodeShort(); + if (type == 0 || type == 1) { + int fieldId = inPacket.decodeInt(); + Field field = chr.getOrCreateFieldByCurrentInstanceType(fieldId); + if (field == null || (chr.getField().getFieldLimit() & FieldOption.TeleportItemLimit.getVal()) > 0 || + !FieldData.getWorldMapFields().contains(fieldId)) { + chr.chatMessage("You may not warp to that map, as you cannot teleport from your current map."); + chr.dispose(); + return; + } + chr.setInstance(null); + chr.warp(field); + } else { + String targetName = inPacket.decodeString(); + int worldID = chr.getClient().getChannelInstance().getWorldId().getVal(); + World world = Server.getInstance().getWorldById(worldID); + Char targetChr = world.getCharByName(targetName); + + // Target doesn't exist or target char is not a regular player + if (targetChr == null || targetChr.getAccount().getAccountType().getVal() >= 1) { + chr.chatMessage(String.format("%s is not online.", targetName)); + chr.dispose(); + return; + } + + Position targetPosition = targetChr.getPosition(); + + Field targetField = targetChr.getField(); + if (targetField == null || (targetField.getFieldLimit() & FieldOption.TeleportItemLimit.getVal()) > 0) { + chr.chatMessage("You may not warp to that map, as the targeted map cannot be teleported to."); + chr.dispose(); + return; + } + // Target is in an instanced Map + if (targetChr.getInstance() != null) { + chr.chatMessage(String.format("cannot find %s", targetName)); + // Change channels & warp & teleport + } else if (targetChr.getClient().getChannel() != c.getChannel()) { + chr.setInstance(null); + chr.chatMessage(String.format("cannot find %s on this channel", targetName)); + //chr.changeChannelAndWarp(targetChr.getClient().getChannel(), fieldId); // Makes you warp to player without being in the same CH + return; + // warp & teleport + } else if (targetChr.getFieldID() != chr.getFieldID()) { + chr.setInstance(null); + chr.warp(targetField); + chr.write(FieldPacket.teleport(targetPosition, chr)); + // teleport + } else { + chr.write(FieldPacket.teleport(targetPosition, chr)); + } + } + break; + case 5170000: + int petID = inPacket.decodeInt(); + inPacket.decodeInt(); //?? + String petName1 = inPacket.decodeString(); + + Pet petid = chr.getPetById(petID); + + if (petName1.length() > 13) { + chr.chatMessage("no"); + chr.dispose(); + return; + } + + if (petid != null) { + petid.setName(petName1); + petid.getItem().setName(petName1); + int idx = petid.getIdx(); + chr.write(UserLocal.petNameChange(chr, idx, petName1)); + } + break; + case ItemConstants.OCCULT_CUBE: + case ItemConstants.RED_CUBE: // Red Cube + case ItemConstants.BLACK_CUBE: // Black cube + cube = chr.getCashInventory().getItemByItemID(itemID); + cubeCount = cube.getQuantity(); + cubeCount--; + + short ePos = (short) inPacket.decodeInt(); + InvType invType = ePos < 0 ? EQUIPPED : EQUIP; + Equip equip = (Equip) chr.getInventoryByType(invType).getItemBySlot(ePos); + if (equip == null) { + chr.chatMessage(SystemNotice, "Could not find equip."); + chr.dispose(); + return; + } else if (equip.getBaseGrade() < ItemGrade.Rare.getVal()) { + String msg = String.format("Character %d tried to use cube (id %d) an equip without a potential (id %d)", chr.getId(), itemID, equip.getItemId()); + chr.getOffenseManager().addOffense(msg); + chr.dispose(); + return; + } else if (itemID == ItemConstants.OCCULT_CUBE && equip.getBaseGrade() > ItemGrade.Epic.getVal()) { + chr.chatMessage(SystemNotice, "You may only use this on Rare or Epic Items!"); + chr.dispose(); + return; + } + short hiddenValue = ItemGrade.getHiddenGradeByVal(equip.getBaseGrade()).getVal(); + int tierUpChance = ItemConstants.getTierUpChance(itemID, hiddenValue); + boolean tierUp = tierUpChance > 0 && Util.succeedProp(tierUpChance); + if (tierUp && (itemID != ItemConstants.OCCULT_CUBE || equip.getBaseGrade() != ItemGrade.Epic.getVal())) { + hiddenValue++; + } + if (itemID == ItemConstants.RED_CUBE) { + equip.setHiddenOptionBase(hiddenValue, 0); + equip.releaseOptions(false); + chr.getField().broadcastPacket(UserPacket.showItemMemorialEffect(chr.getId(), true, itemID, ePos, pos)); + c.write(FieldPacket.redCubeResult(chr.getId(), tierUp, itemID, ePos, equip, cubeCount)); +// c.write(FieldPacket.showItemReleaseEffect(chr.getId(), ePos, false)); + equip.updateToChar(chr); + if (invType == EQUIPPED) { + chr.recalcStats(equip.getBaseStatFlag()); + } + } else { + if (chr.getMemorialCubeInfo() == null) { + chr.setMemorialCubeInfo(new MemorialCubeInfo(equip.deepCopy(), itemID)); + } + Equip newEquip = chr.getMemorialCubeInfo().getEquip(); + newEquip.setHiddenOptionBase(hiddenValue, 0); + newEquip.releaseOptions(false); + chr.getField().broadcastPacket(UserPacket.showItemMemorialEffect(chr.getId(), true, itemID, ePos, pos)); + c.write(WvsContext.blackCubeResult(equip, chr.getMemorialCubeInfo(), cubeCount)); + } + break; + case ItemConstants.VIOLET_CUBE: // Violet cube + ePos = (short) inPacket.decodeInt(); + invType = ePos < 0 ? EQUIPPED : EQUIP; + equip = (Equip) chr.getInventoryByType(invType).getItemBySlot(ePos); + if (equip == null) { + chr.chatMessage(SystemNotice, "Could not find equip."); + chr.dispose(); + return; + } + long number = equip.getId(); + Equip copy = equip.deepCopy(); + if (copy.getBaseGrade() < ItemGrade.Rare.getVal()) { + String msg = String.format("Character %d tried to use cube (id %d) an equip without a potential (id %d)", chr.getId(), itemID, equip.getItemId()); + chr.getOffenseManager().addOffense(msg); + chr.dispose(); + return; + } else if (chr.getMoney() < 36000) { // TODO: correct cost by level + c.write(WvsContext.broadcastMsg(BroadcastMsg.popUpMessage("You do not have enough mesos."))); + c.write(CUIHandler.violetCubeResult(0, 1, 0, Collections.emptyList())); + return; + } + byte line = (byte) Arrays.stream(copy.getOptionBase()).filter(option -> option > 0).count(); + if (line <= 1) { + chr.chatMessage(SystemNotice, "You cannot use Violet Cube on this item."); + c.write(CUIHandler.violetCubeResult(0, 1, line, Collections.emptyList())); + return; + } + short optionGrade = ItemGrade.getHiddenGradeByVal(copy.getBaseGrade()).getVal(); + tierUpChance = ItemConstants.getTierUpChance(itemID, optionGrade); + if (tierUpChance > 0 && Util.succeedProp(tierUpChance)) { + optionGrade++; + } + copy.setItemState(optionGrade); + List options = new ArrayList<>(line * 2); + for (byte i = 0; i < line * 2; i++) { + options.add(copy.getRandomOption(false, i % 3)); // ensure 2 of 4/6 options are higher rank + } + Quest quest = chr.getQuestManager().getOrCreateQuestById(QuestConstants.VIOLET_CUBE_INFO); + quest.setProperty("o", options.toString().replace("[", "").replace("]", "").replace(" ", "")); + quest.setProperty("n", String.valueOf(number)); + quest.setProperty("p", ePos); + quest.setProperty("c", line); + quest.setProperty("i", copy.getItemId()); + quest.setProperty("og", optionGrade); + chr.write(WvsContext.questRecordExMessage(quest)); + chr.deductMoney(36000); // TODO: correct cost by level + c.write(FieldPacket.showItemUnReleaseEffect(chr.getId(), true, itemID, 0, copy.getItemId())); + c.write(CUIHandler.violetCubeResult(0, 0, line, options)); + chr.chatMessage(options.toString()); + break; + case ItemConstants.BONUS_POT_CUBE: // Bonus Potential Cube + case ItemConstants.SPECIAL_BONUS_POT_CUBE: // [Special] Bonus Potential Cube + case ItemConstants.WHITE_BONUS_POT_CUBE: // White Bonus Potential Cube + cube = chr.getCashInventory().getItemByItemID(itemID); + cubeCount = cube.getQuantity(); + cubeCount--; + + if (c.getWorld().isReboot()) { + chr.getOffenseManager().addOffense(String.format("Character %d attempted to use a bonus potential cube in reboot world.", chr.getId())); + chr.dispose(); + return; + } + ePos = (short) inPacket.decodeInt(); + invType = ePos < 0 ? EQUIPPED : EQUIP; + equip = (Equip) chr.getInventoryByType(invType).getItemBySlot(ePos); + if (equip == null) { + chr.chatMessage(SystemNotice, "Could not find equip."); + chr.dispose(); + return; + } else if (equip.getBonusGrade() < ItemGrade.Rare.getVal()) { + chr.getOffenseManager().addOffense(String.format("Character %d tried to use cube (id %d) an equip without a potential (id %d)", chr.getId(), itemID, equip.getItemId())); + chr.dispose(); + return; + } + hiddenValue = ItemGrade.getHiddenGradeByVal(equip.getBonusGrade()).getVal(); + tierUpChance = ItemConstants.getTierUpChance(itemID, hiddenValue); + tierUp = tierUpChance > 0 && Util.succeedProp(tierUpChance); + if (tierUp) { + hiddenValue++; + } + if (itemID != ItemConstants.WHITE_BONUS_POT_CUBE) { + equip.setHiddenOptionBonus(hiddenValue, 0); + equip.releaseOptions(true); + chr.getField().broadcastPacket(UserPacket.showItemMemorialEffect(chr.getId(), true, itemID, ePos, pos)); + c.write(FieldPacket.bonusCubeResult(chr.getId(), tierUp, itemID, ePos, equip, cubeCount)); +// c.write(FieldPacket.showItemReleaseEffect(chr.getId(), ePos, true)); + equip.updateToChar(chr); + if (invType == EQUIPPED) { + chr.recalcStats(equip.getBaseStatFlag()); + } + } else { + if (chr.getMemorialCubeInfo() == null) { + chr.setMemorialCubeInfo(new MemorialCubeInfo(equip.deepCopy(), itemID)); + } + Equip newEquip = chr.getMemorialCubeInfo().getEquip(); + newEquip.setHiddenOptionBonus(hiddenValue, 0); + newEquip.releaseOptions(true); + chr.getField().broadcastPacket(UserPacket.showItemMemorialEffect(chr.getId(), true, itemID, ePos, pos)); + c.write(WvsContext.whiteCubeResult(equip, chr.getMemorialCubeInfo(), cubeCount)); + } + break; + case 5520001: // Platinum Scissors of Karma + inPacket.decodeInt(); // 1 + ePos = (short) inPacket.decodeInt(); + equip = (Equip) chr.getEquipInventory().getItemBySlot(ePos); + if (equip == null) { + chr.chatMessage("Could not find equip."); + chr.dispose(); + return; + } else if (equip.hasAttribute(EquipAttribute.Locked) + || !equip.hasAttribute(EquipAttribute.Untradable) + || equip.hasAttribute(EquipAttribute.UntradableAfterTransaction) + || equip.getCuttable() == 0) { + chr.chatMessage("You cannot use Scissors of Karma on this equip."); + chr.dispose(); + return; + } + equip.addAttribute(EquipAttribute.UntradableAfterTransaction); + equip.setTradeBlock(false); + equip.setEquipTradeBlock(true); + //equip.setCuttable((short) 0); + equip.updateToChar(chr); + break; + case 5750001: // Nebulite Diffuser + ePos = inPacket.decodeShort(); + equip = (Equip) chr.getEquipInventory().getItemBySlot(ePos); + if (equip == null || equip.getSocket(0) == 0 || equip.getSocket(0) == ItemConstants.EMPTY_SOCKET_ID) { + chr.chatMessage("That item currently does not have an active socket."); + chr.dispose(); + return; + } + equip.setSocket(0, ItemConstants.EMPTY_SOCKET_ID); + equip.updateToChar(chr); + break; + case 5072000: // Super Megaphone + String text = inPacket.decodeString(); + boolean whisperIcon = inPacket.decodeByte() != 0; + World world = chr.getClient().getWorld(); + BroadcastMsg smega = BroadcastMsg.megaphone( + String.format("%s%s : %s", medalString, chr.getName(), text), + (byte) chr.getClient().getChannelInstance().getChannelId(), whisperIcon, chr); + world.broadcastPacket(WvsContext.broadcastMsg(smega)); + break; + case 5076000: // Item Megaphone + text = inPacket.decodeString(); + whisperIcon = inPacket.decodeByte() != 0; + boolean eqpSelected = inPacket.decodeByte() != 0; + invType = EQUIP; + int itemPosition = 0; + if (eqpSelected) { + invType = InvType.getInvTypeByVal(inPacket.decodeInt()); + itemPosition = inPacket.decodeInt(); + if (invType == EQUIP && itemPosition < 0) { + invType = EQUIPPED; + } + } + Item broadcastedItem = chr.getInventoryByType(invType).getItemBySlot(itemPosition); + + world = chr.getClient().getWorld(); + smega = BroadcastMsg.itemMegaphone(String.format("%s%s : %s", medalString, chr.getName(), text), + (byte) chr.getClient().getChannelInstance().getChannelId(), whisperIcon, eqpSelected, + broadcastedItem, chr); + world.broadcastPacket(WvsContext.broadcastMsg(smega)); + break; + case 5077000: // Triple Megaphone + byte stringListSize = inPacket.decodeByte(); + List stringList = new ArrayList<>(); + for (int i = 0; i < stringListSize; i++) { + stringList.add(String.format("%s%s : %s", medalString, chr.getName(), inPacket.decodeString())); + } + whisperIcon = inPacket.decodeByte() != 0; + + world = chr.getClient().getWorld(); + smega = BroadcastMsg.tripleMegaphone(stringList, + (byte) chr.getClient().getChannelInstance().getChannelId(), whisperIcon, chr); + world.broadcastPacket(WvsContext.broadcastMsg(smega)); + break; + case 5062400: // Fusion anvil + case 5062402: // Medal Fusion anvil + case 5062405: // Fusion anvil + int appearancePos = inPacket.decodeInt(); + int functionPos = inPacket.decodeInt(); + Inventory inv = chr.getEquipInventory(); + Equip appearance = (Equip) inv.getItemBySlot(appearancePos); + Equip function = (Equip) inv.getItemBySlot(functionPos); + if (appearance == null || function == null) { + chr.dispose("Could not find equip."); + return; + } else if (appearance.getItemId() / 10000 != function.getItemId() / 10000) { + chr.dispose("Fusion only works on equipment of the same type. Please check the item you want to Fuse."); + return; + } else if (itemID == 5062402 && !ItemConstants.isMedal(appearance.getItemId())) { + chr.dispose("Medal Fusion Anvil only works on medals."); + return; + } else if (itemID != 5062402 && ItemConstants.isMedal(appearance.getItemId())) { + chr.dispose("Fusion Anvil doesn't work on medals."); + return; + } + if (appearance.getItemId() / 10000 == function.getItemId() / 10000) { + function.setOption(6, appearance.getItemId() % 10000, false); + } + function.updateToChar(chr); + break; + //These are semi buggy + case 5155000: //Elf to Human | anyone to Elf + if (chr.getCarta() == 1) { + chr.setCarta(0); + } else { + chr.setCarta(1); + } + break; + case 5155004: //Illium to Human | anyone to Illium + if (chr.getCarta() == 2) { + chr.setCarta(0); + } else { + chr.setCarta(2); + } + break; + case 5155005: //Ark to Human | anyone to Ark + if (chr.getCarta() == 3) { + chr.setCarta(0); + } else { + chr.setCarta(3); + } + break; + case 5068300: //Random Pet Box + int[] pets = new int[]{ + 5002106, 5002107, 5002108, 5000921, 5000922, 5000923, 5002076, 5002077, 5002078, 5002057, 5002058, 5002059, 5000954, 5000955, 5000956, 5002048, 5002049, 5002050, 5002045, 5002046, 5002047, + 5000960, 5000961, 5000962, 5002066, 5002067, 5002068, 5002030, 5002031, 5002032, 5002040, 5002039, 5002036, 5002037, 5002038, 5002033, 5002034, 5002035, 5002028, 5002029, 5002021, 5002022, + 5002023, 5002017, 5002011, 5002012, 5002013, 5002003, 5002004, 5002005, 5000997, 5000998, 5000999, 5000979, 5000980, 5000981, 5000977, 5000794, 5000973, 5000972, 5000971, 5000970, 5000964, + 5000965, 5000966, 5000967, 5000968, 5000969, 5000909, 5000910, 5000911, 5000942, 5000943, 5000944, 5000939, 5000933, 5000934, 5000935, 5000915, 5000916, 5000917, 5000912, 5000913, 5000914, + 5000906, 5000907, 5000908, 5000900, 5000901, 5000902, 5000846, 5000847, 5000848, 5000836, 5000835, 5000822, 5000823, 5000824, 5000812, 5000813, 5000814, 5000798, 5000793, 5000794, 5000796, + 5000762, 5000763, 5000764, 5000696, 5000633, 5000634, 5000635, 5000565, 5000566, 5000567, 5000460, 5000461, 5000462, 5000677, 5000678, 5000443, 5000444, 5000445, 5000647, 5000648, 5000649, + 5000636, 5000637, 5000638, 5000637, 5000638, 5000536, 5000537, 5000538, 5000456, 5000457, 5000458, 5000499, 5000405, 5000406, 5000407, 5000402, 5000403, 5000404, 5000385, 5000386, 5000387, + 5000368, 5000341, 5000316 + }; + Random pet = new Random(); + int randomIndex = pet.nextInt(pets.length); + int getRandomPet = pets[randomIndex]; + String petName = StringData.getItemStringById(getRandomPet); + if (chr.canHold(getRandomPet, 1)) { + String worldTxt = (chr.getName() + " just got a cute " + petName + " from the Wisp's Wondrous Wonderberry"); + chr.getWorld().broadcastPacket(UserLocal.chatMsg(MiracleTime, worldTxt)); + chr.addItemToInventory(getRandomPet, 1); + } else { + chr.chatMessage("Make room in your cash Inventory!"); + } + break; + case 5222058: + int[] chairs = new int[]{3018427, 3018425, 3018424, 3018416, 3018390, 3018389, 3018370, 3018369, 3018365, 3018358}; + Random chair = new Random(); + int randomcIndex = chair.nextInt(chairs.length); + int getRandomChair = chairs[randomcIndex]; + String chairName = StringData.getItemStringById(getRandomChair); + if (chr.canHold(getRandomChair, 1)) { + String worldTxt = (chr.getName() + " just got a " + chairName + " from the Chair Box"); + chr.getWorld().broadcastPacket(UserLocal.chatMsg(MiracleTime, worldTxt)); + chr.addItemToInventory(getRandomChair, 1); + } else { + chr.chatMessage("Make room in your SetUp Inventory!"); + } + break; + case 5062800: // Miracle Circulator + case 5062801: + CharacterPotentialMan cpm = chr.getPotentialMan(); + if (cpm.getGrade() == 0) { + chr.dispose("You cannot use Miracle Circulator in your current state."); + return; + } + byte grade = cpm.getGrade(); + // update grades + if (grade < CharPotGrade.Legendary.ordinal() && Util.succeedProp(GameConstants.BASE_CHAR_POT_UP_RATE)) { + grade++; + } + MiracleCirculatorInfo mci = new MiracleCirculatorInfo(itemID, item.getId()); + List potentials = CharacterPotentialMan.generateRandomPotential(3, grade, false, null); + potentials.sort(Comparator.comparingInt(CharacterPotentialData::getKey)); + for (CharacterPotential cp : potentials) { + mci.getPotentials().add(cp); + chr.chatMessage("Key:" + cp.getKey() + " Grade:" + cp.getGrade() + " SkillID:" + cp.getSkillID() + + "(" + StringData.getSkillStringById(cp.getSkillID()).getName() + ") SLV:" + cp.getSlv()); + } + chr.setMiracleCirculatorInfo(mci); + c.write(WvsContext.miracleCirculatorResult(mci, pos)); + break; + case 5570000: + inPacket.decodeInt(); // use hammer? useless though + ePos = (short) inPacket.decodeInt(); // equip slot + invType = ePos < 0 ? EQUIPPED : EQUIP; + equip = (Equip) chr.getInventoryByType(invType).getItemBySlot(ePos); + if (equip == null) { + chr.write(WvsContext.viciousHammerItemUpgradeResult(192, 1, 0)); + return; + } + short maxHammers = ItemConstants.MAX_HAMMER_SLOTS; + Equip defaultEquip = ItemData.getEquipById(equip.getItemId()); + if (defaultEquip.isHasIUCMax()) { + maxHammers = defaultEquip.getIUCMax(); + } + if (equip.getIuc() >= maxHammers) { + chr.write(WvsContext.viciousHammerItemUpgradeResult(192, 2, 0)); + chr.getOffenseManager().addOffense(String.format("Character %d tried to use Vicious's Hammer an invalid equip (id %d)", + chr.getId(), equip.getItemId())); + return; + } + if (!ItemConstants.canEquipGoldHammer(equip)) { + chr.write(WvsContext.viciousHammerItemUpgradeResult(192, 3, 0)); + chr.getOffenseManager().addOffense(String.format("Character %d tried to use Vicious' Hammer on an invalid equip (id %d)", + chr.getId(), equip.getItemId())); + return; + } + equip.addStat(iuc, 1); // +1 hammer used + equip.addStat(tuc, 1); // +1 upgrades available + equip.updateToChar(chr); + chr.write(WvsContext.viciousHammerItemUpgradeResult(190, 0, equip.getIuc())); + break; + case 5050100: // AP Reset Scroll + handleUserResetAP(chr, null); + break; + case 5051001: // SP Reset Scroll + handleUserResetSP(chr, null); + break; + case 5064000: // Shielding Ward (reg 12 stars) + case 5064003: // Superior Shielding Ward (reg 7 stars) + case 5064100: // Shield Scroll + case 5064300: // Guardian Scroll + case 5064400: // Return Scroll + case 5068100: // Pet Shield Scroll + ePos = inPacket.decodeShort(); + inPacket.decodeByte(); + invType = ePos < 0 ? EQUIPPED : EQUIP; + equip = (Equip) chr.getInventoryByType(invType).getItemBySlot(ePos); + if (equip == null) { + chr.dispose("Could not find equip."); + return; + } else if (itemID == 5064000 && equip.getChuc() >= 12 // TODO: superior item check + || itemID == 5064003 && equip.getChuc() >= 7 + || itemID == 5068100 && equip.getItemId() / 10000 != EquipPrefix.PetWear.getVal()) { + chr.dispose("You cannot use this scroll on this item."); + return; + } + switch (itemID % 10000 / 100) { + case 40 -> equip.addAttribute(EquipAttribute.ProtectionScroll); + case 41, 81 -> equip.addAttribute(EquipAttribute.UpgradeCountProtection); + case 43 -> equip.addAttribute(EquipAttribute.ScrollProtection); + case 44 -> equip.addAttribute(EquipAttribute.ReturnScroll); + // TODO: add actual effects on server side + } + chr.chatMessage("The scroll effect is not implemented yet."); + equip.updateToChar(chr); + break; + case 5553000: + if (album.getHairSlot() < 50) { + album.setHairSlot(album.getHairSlot() + 1); + chr.write(UserLocal.beautyAlbumActions((byte) 0x5, 30000, album.getHairSlot(), album)); + } + break; + case 5552000: + if (album.getFaceSlot() < 50) { + album.setFaceSlot(album.getFaceSlot() + 1); + chr.write(UserLocal.beautyAlbumActions((byte) 0x5, 20000, album.getFaceSlot(), album)); + } + break; + default: + chr.chatMessage(Mob, String.format("Cash item %d is not implemented, notify Taiga pls.", itemID)); + return; + } + } + if (itemID != 5040004 && itemID / 10000 != 545) { // TP Rocks and Portable Stores / Storages + chr.consumeItem(item); + } + chr.dispose(); + } + + + @Handler(op = InHeader.USER_ARCANE_SYMBOL_MERGE_REQUEST) + public static void handleUserArcaneSymbolMergeRequest(Char chr, InPacket inPacket) { + int type = inPacket.decodeInt(); + int fromPos = inPacket.decodeInt(); + switch (type) { + case 0: + // merge + Equip fromEq = (Equip) chr.getEquipInventory().getItemBySlot(fromPos); + Equip toEq = (Equip) chr.getEquippedInventory().getItemByItemID(fromEq == null ? 0 : fromEq.getItemId()); + if (fromEq == null || toEq == null || fromEq.getItemId() != toEq.getItemId() || !ItemConstants.isArcaneSymbol(toEq.getItemId())) { + chr.chatMessage("Could not find one of the symbols."); + return; + } + if (toEq.getSymbolExp() >= ItemConstants.getRequiredSymbolExp(toEq.getSymbolLevel())) { + chr.chatMessage("Your symbol already is at max exp."); + return; + } + chr.consumeItem(fromEq); + toEq.setSymbolExp(Math.min(toEq.getSymbolExp() + fromEq.getSymbolExp(), ItemConstants.getRequiredSymbolExp(toEq.getSymbolLevel()))); + toEq.updateToChar(chr); + break; + case 1: + // enhance + Equip symbol = (Equip) chr.getEquippedInventory().getItemBySlot(fromPos); + int reqSymbolExp = ItemConstants.getRequiredSymbolExp(symbol.getLevel()); + if (symbol == null || !ItemConstants.isArcaneSymbol(symbol.getItemId()) + || symbol.getSymbolLevel() >= ItemConstants.MAX_ARCANE_SYMBOL_LEVEL + || symbol.getSymbolExp() < reqSymbolExp) { + chr.chatMessage("Could not find symbol."); + return; + } + long cost = ItemConstants.getSymbolMoneyReqByLevel(symbol.getSymbolLevel()); + if (cost > chr.getMoney()) { + chr.chatMessage("You do not have enough mesos to level up your symbol."); + return; + } + chr.deductMoney(cost); + symbol.setSymbolLevel((short) (symbol.getSymbolLevel() + 1)); + symbol.addSymbolExp(-reqSymbolExp); + symbol.initSymbolStats(symbol.getSymbolLevel(), chr.getJob()); + symbol.updateToChar(chr); + chr.recalcStats(symbol.getBaseStatFlag()); + break; + case 2: + // mass merge + int itemId = fromPos; + toEq = (Equip) chr.getEquippedInventory().getItemByItemID(itemId); + if (!(toEq instanceof Equip) || !ItemConstants.isArcaneSymbol(itemId)) { + chr.chatMessage("Could not find an arcane symbol to transfer to."); + return; + } + if (toEq.hasSymbolExpForLevelUp()) { + chr.chatMessage("First level your symbol before trying to add more symbols onto it."); + return; + } + Set matchingSymbols = new HashSet<>(); + for (Item item : chr.getEquipInventory().getItems()) { + if (item.getItemId() == toEq.getItemId()) { + matchingSymbols.add((Equip) item); + } + } + for (Equip eqSymbol : matchingSymbols) { + chr.consumeItem(eqSymbol); + toEq.addSymbolExp(eqSymbol.getTotalSymbolExp()); + if (toEq.hasSymbolExpForLevelUp()) { + break; + } + } + toEq.updateToChar(chr); + break; + } + } + + + @Handler(op = InHeader.USER_STAT_CHANGE_ITEM_USE_REQUEST) + public static void handleUserStatChangeItemUseRequest(Client c, InPacket inPacket) { + Char chr = c.getChr(); + Field field = chr.getField(); + if ((field.getFieldLimit() & FieldOption.StatChangeItemConsumeLimit.getVal()) > 0) { + chr.dispose(); + return; + } + TemporaryStatManager tsm = chr.getTemporaryStatManager(); + c.verifyTick(inPacket); + short slot = inPacket.decodeShort(); + int itemID = inPacket.decodeInt(); + Item item = chr.getConsumeInventory().getItemBySlot(slot); + if (item == null || item.getItemId() != itemID || !chr.isInValidState()) { + chr.dispose(); + return; + } + chr.useStatChangeItem(item, true); + if (field.getConsumeItemCoolTime() > 0) { + chr.write(UserLocal.consumeItemCooltime()); + } + } + + + @Handler(op = InHeader.USER_SCRIPT_ITEM_USE_REQUEST) + public static void handleUserScriptItemUseRequest(Client c, InPacket inPacket) { + c.verifyTick(inPacket); + short slot = inPacket.decodeShort(); + int itemID = inPacket.decodeInt(); + int quant = inPacket.decodeInt(); + Char chr = c.getChr(); + Item item = chr.getConsumeInventory().getItemBySlot(slot); + if (item == null || item.getItemId() != itemID) { + item = chr.getCashInventory().getItemBySlot(slot); + } + if (item == null || item.getItemId() != itemID || quant < 0 || !chr.isInValidState()) { + chr.dispose(); + return; + } + String script = String.valueOf(itemID); + ItemInfo ii = ItemData.getItemInfoByID(itemID); + if (ii.getScript() != null && !"".equals(ii.getScript())) { + script = ii.getScript(); + } + if (item.getItemId() == ItemConstants.GAGAGUCCI) { + int qid = QuestConstants.PVAC_DATA; + if (chr.getRecordFromQuestEx(qid, "vac") == 0) { + chr.setQuestRecordEx(qid, "vac", 1); + chr.chatMessage("Pvac has been enabled"); + } else { + chr.setQuestRecordEx(qid, "vac", 0); + chr.chatMessage("Pvac has been disabled"); + } + chr.dispose(); + return; + } + + chr.getScriptManager().startScript(itemID, script, ScriptType.Item); + chr.dispose(); + } + + + @Handler(op = InHeader.USER_EQUIPMENT_ENCHANT_WITH_SINGLE_UI_REQUEST) + public static void handleUserEquipmentEnchantWithSingleUIRequest(Client c, InPacket inPacket) { + byte equipmentEnchantType = inPacket.decodeByte(); + + Char chr = c.getChr(); + EquipmentEnchantType eeType = EquipmentEnchantType.getByVal(equipmentEnchantType); + + if (eeType == null) { + log.error(String.format("Unknown enchant UI request %d", equipmentEnchantType)); + chr.write(FieldPacket.showUnknownEnchantFailResult((byte) 0)); + return; + } + + switch (eeType) { + case ScrollUpgradeRequest: + c.verifyTick(inPacket); + short pos = inPacket.decodeShort(); + int scrollID = inPacket.decodeInt(); + Inventory inv = pos < 0 ? chr.getEquippedInventory() : chr.getEquipInventory(); + pos = (short) Math.abs(pos); + Equip equip = (Equip) inv.getItemBySlot(pos); + if (equip == null || equip.hasSpecialAttribute(EquipSpecialAttribute.Vestige)) { + chr.getOffenseManager().addOffense(String.format("Character %d tried to enchant a non-scrollable equip (pos %d, itemid %d).", + chr.getId(), pos, equip == null ? 0 : equip.getItemId())); + chr.write(FieldPacket.showUnknownEnchantFailResult((byte) 0)); + return; + } + Equip prevEquip = equip.deepCopy(); + List suis = ItemConstants.getScrollUpgradeInfosByEquip(equip); + if (scrollID < 0 || scrollID >= suis.size()) { + chr.getOffenseManager().addOffense(String.format("Characer %d tried to spell trace scroll with an invalid scoll ID (%d, " + + "itemID %d).", chr.getId(), scrollID, equip.getItemId())); + chr.write(FieldPacket.showUnknownEnchantFailResult((byte) 0)); + return; + } + ScrollUpgradeInfo sui = suis.get(scrollID); + if (equip.getBaseStat(tuc) <= 0 && sui.getType() == SpellTraceScrollType.Normal) { + chr.getOffenseManager().addOffense(String.format("Character %d tried to enchant a non-scrollable equip (pos %d, itemid %d).", + chr.getId(), pos, equip.getItemId())); + chr.write(FieldPacket.showUnknownEnchantFailResult((byte) 0)); + return; + } + chr.consumeItem(ItemConstants.SPELL_TRACE_ID, sui.getCost()); + boolean success = sui.applyTo(equip); + equip.recalcEnchantmentStats(); + String desc = success ? "Your item has been upgraded." : "Your upgrade has failed."; + chr.write(FieldPacket.showScrollUpgradeResult(false, success ? 1 : 0, desc, prevEquip, equip)); + equip.updateToChar(chr); + if (pos < 0) { + chr.recalcStats(equip.getBaseStatFlag()); + } + suis = ItemConstants.getScrollUpgradeInfosByEquip(equip); + c.write(FieldPacket.scrollUpgradeDisplay(false, suis)); + break; + case HyperUpgradeResult: + c.verifyTick(inPacket); + int eqpPos = inPacket.decodeShort(); + boolean extraChanceFromMiniGame = inPacket.decodeByte() != 0; + equip = (Equip) chr.getEquipInventory().getItemBySlot(eqpPos); + if (extraChanceFromMiniGame) { + inPacket.decodeInt(); + } + inPacket.decodeInt(); + inPacket.decodeInt(); + boolean safeGuard = inPacket.decodeByte() != 0; + boolean equippedInv = eqpPos < 0; + inv = equippedInv ? chr.getEquippedInventory() : chr.getEquipInventory(); + equip = (Equip) inv.getItemBySlot(Math.abs(eqpPos)); + if (equip == null) { + chr.chatMessage("Could not find the given equip."); + chr.write(FieldPacket.showUnknownEnchantFailResult((byte) 0)); + return; + } + if (!ItemConstants.isUpgradable(equip.getItemId()) + || (equip.getBaseStat(tuc) != 0 && !c.getWorld().isReboot()) + || chr.getEquipInventory().getEmptySlots() == 0 + || equip.getChuc() >= GameConstants.getMaxStars(equip) + || equip.hasSpecialAttribute(EquipSpecialAttribute.Vestige)) { + chr.chatMessage("Equipment cannot be enhanced."); + chr.write(FieldPacket.showUnknownEnchantFailResult((byte) 0)); + return; + } + long cost = GameConstants.getEnchantmentMesoCost(equip.getrLevel() + equip.getiIncReq(), equip.getChuc(), equip.isSuperiorEqp()); + if (chr.getMoney() < cost) { + chr.chatMessage("Mesos required: " + NumberFormat.getNumberInstance(Locale.US).format(cost)); + chr.write(FieldPacket.showUnknownEnchantFailResult((byte) 0)); + return; + } + Equip oldEquip = equip.deepCopy(); + int successProp = GameConstants.getEnchantmentSuccessRate(equip); + if (extraChanceFromMiniGame) { + successProp *= 1.045; + } + int destroyProp = safeGuard && equip.canSafeguardHyperUpgrade() ? 0 : GameConstants.getEnchantmentDestroyRate(equip); + if (equippedInv && destroyProp > 0 && chr.getEquipInventory().getEmptySlots() == 0) { + c.write(WvsContext.broadcastMsg(BroadcastMsg.popUpMessage("You do not have enough space in your " + + "equip inventory in case your item gets destroyed."))); + return; + } + success = Util.succeedProp(successProp, 1000); + boolean boom = false; + boolean canDegrade = equip.isSuperiorEqp() ? equip.getChuc() > 0 : equip.getChuc() > 5 && equip.getChuc() % 5 != 0; + if (success) { + equip.setChuc((short) (equip.getChuc() + 1)); + equip.setDropStreak(0); + } else if (Util.succeedProp(destroyProp, 1000)) { + equip.setChuc((short) 0); + equip.makeVestige(); + boom = true; + if (equippedInv) { + chr.unequip(equip); + equip.setBagIndex(chr.getEquipInventory().getFirstOpenSlot()); + equip.updateToChar(chr); + c.write(WvsContext.inventoryOperation(true, false, Move, (short) eqpPos, (short) equip.getBagIndex(), 0, equip)); + } + if (!equip.isSuperiorEqp()) { + equip.setChuc((short) Math.min(12, equip.getChuc())); + } else { + equip.setChuc((short) 0); + } + } else if (canDegrade) { + equip.setChuc((short) (equip.getChuc() - 1)); + equip.setDropStreak(equip.getDropStreak() + 1); + } + chr.deductMoney(cost); + equip.recalcEnchantmentStats(); + oldEquip.recalcEnchantmentStats(); + equip.updateToChar(chr); + if (equippedInv) { + chr.recalcStats(equip.getBaseStatFlag()); + } + c.write(FieldPacket.showUpgradeResult(oldEquip, equip, success, boom, canDegrade)); + chr.dispose(); + break; + case TransmissionResult: + c.verifyTick(inPacket); + short toPos = inPacket.decodeShort(); + short fromPos = inPacket.decodeShort(); + Equip fromEq = (Equip) chr.getEquipInventory().getItemBySlot(fromPos); + Equip toEq = (Equip) chr.getEquipInventory().getItemBySlot(toPos); + if (fromEq == null || toEq == null || fromEq.getItemId() != toEq.getItemId() + || !fromEq.hasSpecialAttribute(EquipSpecialAttribute.Vestige)) { + log.error(String.format("Equip transmission failed: from = %s, to = %s", fromEq, toEq)); + c.write(FieldPacket.showUnknownEnchantFailResult((byte) 0)); + return; + } + fromEq.removeVestige(); + fromEq.setChuc((short) 0); + chr.consumeItem(toEq); + fromEq.updateToChar(chr); + c.write(FieldPacket.showTranmissionResult(fromEq, toEq)); + break; + case ScrollUpgradeDisplay: + int ePos = inPacket.decodeInt(); + inv = ePos < 0 ? chr.getEquippedInventory() : chr.getEquipInventory(); + ePos = Math.abs(ePos); + equip = (Equip) inv.getItemBySlot(ePos); + if (c.getWorld().isReboot()) { + chr.getOffenseManager().addOffense(String.format("Character %d attempted to scroll in reboot world (pos %d, itemid %d).", + chr.getId(), ePos, equip == null ? 0 : equip.getItemId())); + chr.dispose(); + return; + } + if (equip == null || equip.hasSpecialAttribute(EquipSpecialAttribute.Vestige) || !ItemConstants.isUpgradable(equip.getItemId())) { + chr.getOffenseManager().addOffense(String.format("Character %d tried to scroll a non-scrollable equip (pos %d, itemid %d).", + chr.getId(), ePos, equip == null ? 0 : equip.getItemId())); + chr.dispose(); + return; + } + suis = ItemConstants.getScrollUpgradeInfosByEquip(equip); + c.write(FieldPacket.scrollUpgradeDisplay(false, suis)); + break; + /*case ScrollTimerEffective: + break;*/ + case HyperUpgradeDisplay: + ePos = inPacket.decodeInt(); + safeGuard = inPacket.decodeByte() != 0; + inv = ePos < 0 ? chr.getEquippedInventory() : chr.getEquipInventory(); + ePos = Math.abs(ePos); + equip = (Equip) inv.getItemBySlot(ePos); + if (equip == null || equip.hasSpecialAttribute(EquipSpecialAttribute.Vestige) || !ItemConstants.isUpgradable(equip.getItemId())) { + chr.getOffenseManager().addOffense(String.format("Character %d tried to enchant a non-enchantable equip (pos %d, itemid %d).", + chr.getId(), ePos, equip == null ? 0 : equip.getItemId())); + chr.write(FieldPacket.showUnknownEnchantFailResult((byte) 0)); + return; + } + cost = GameConstants.getEnchantmentMesoCost(equip.getrLevel() + equip.getiIncReq(), equip.getChuc(), equip.isSuperiorEqp()); + destroyProp = GameConstants.getEnchantmentDestroyRate(equip); + if (safeGuard && equip.canSafeguardHyperUpgrade()) { + cost *= 2; + } + c.write(FieldPacket.hyperUpgradeDisplay(equip, equip.isSuperiorEqp() ? equip.getChuc() > 0 : equip.getChuc() > 5 && equip.getChuc() % 5 != 0, + cost, 0, 0, GameConstants.getEnchantmentSuccessRate(equip), 0, + destroyProp, 0, equip.getDropStreak() >= 2)); + break; + case MiniGameDisplay: + c.write(FieldPacket.miniGameDisplay(eeType)); + break; + //case ShowScrollUpgradeResult: + case ScrollTimerEffective: + case ShowHyperUpgradeResult: + break; + /* + case ShowScrollVestigeCompensationResult: + case ShowTransmissionResult: + case ShowUnknownFailResult: + break;*/ + default: + log.debug("Unhandled Equipment Enchant Type: " + eeType); + chr.write(FieldPacket.showUnknownEnchantFailResult((byte) 0)); + break; + } + } + + @Handler(op = InHeader.USER_SKILL_LEARN_ITEM_USE_REQUEST) + public static void handleUserLearnItemUseRequest(Client c, InPacket inPacket) { + c.verifyTick(inPacket); + short pos = inPacket.decodeShort(); + int itemID = inPacket.decodeInt(); + Char chr = c.getChr(); + + ItemInfo ii = ItemData.getItemInfoByID(itemID); + Item item = chr.getConsumeInventory().getItemBySlot(pos); + + if (ii == null || !chr.hasItem(itemID) || item == null || item.getItemId() != itemID || !chr.isInValidState()) { + chr.chatMessage("Could not find that item."); + return; + } + + int masterLevel = ii.getMasterLv(); + int reqSkillLv = ii.getReqSkillLv(); + int skillid = 0; + Map vals = ii.getScrollStats(); + int chance = vals.getOrDefault(ScrollStat.success, 100); + + for (int skill : ii.getSkills()) { + if (chr.hasSkill(skill)) { + skillid = skill; + break; + } + } + Skill skill = chr.getSkill(skillid); + if (skill == null) { + chr.chatMessage(Notice2, "An error has occured. Mastery Book ID: " + itemID + ", skill ID: " + skillid + "."); + chr.dispose(); + return; + } + if (skillid == 0 || (skill.getMasterLevel() >= masterLevel) || skill.getCurrentLevel() < reqSkillLv) { + chr.chatMessage(SystemNotice, "You cannot use this Mastery Book."); + chr.dispose(); + return; + } + + if (skill.getCurrentLevel() > reqSkillLv && skill.getMasterLevel() < masterLevel) { + chr.chatMessage(Mob, "Success Chance: " + chance + "%."); + chr.consumeItem(itemID, 1); + if (Util.succeedProp(chance)) { + skill.setMasterLevel(masterLevel); + chr.addSkill(skill); + chr.write(WvsContext.changeSkillRecordResult(skill)); + chr.chatMessage(Notice2, "[Mastery Book] Item id: " + itemID + " set Skill id: " + skillid + "'s Master Level to: " + masterLevel + "."); + } else { + chr.chatMessage(Notice2, "[Mastery Book] Item id: " + itemID + " was used, however it was unsuccessful."); + } + } + chr.dispose(); + } + + + @Handler(op = InHeader.SOCKET_CREATE_REQUEST) + public static void handleSocketCreateRequest(Client c, InPacket inPacket) { + Char chr = c.getChr(); + c.verifyTick(inPacket); + short uPos = inPacket.decodeShort(); + int itemID = inPacket.decodeInt(); + short ePos = inPacket.decodeShort(); + Item item = chr.getConsumeInventory().getItemBySlot(uPos); + Equip equip = (Equip) chr.getEquipInventory().getItemBySlot(ePos); + if (equip == null || item == null || item.getItemId() != itemID) { + log.error("Unknown equip or mismatching use items."); + return; + } + int success = 0; + if (equip.getSocket(0) == ItemConstants.INACTIVE_SOCKET && ItemConstants.canEquipHavePotential(equip)) { + chr.consumeItem(item); + equip.setSocket(0, ItemConstants.EMPTY_SOCKET_ID); + } else { + success = 1; + } + c.write(FieldPacket.socketCreateResult(success)); + equip.updateToChar(chr); + } + + @Handler(op = InHeader.SOCKET_CREATE_RESULT) + public static void handleSocketCreateResult(Client c, InPacket inPacket) { + c.write(FieldPacket.socketCreateResult(inPacket.decodeInt() + 2)); + } + + @Handler(op = InHeader.NEBULITE_INSERT_REQUEST) + public static void handleNebuliteInsertRequest(Client c, InPacket inPacket) { + Char chr = c.getChr(); + c.verifyTick(inPacket); + short nebPos = inPacket.decodeShort(); + int nebID = inPacket.decodeInt(); + Item item = chr.getInstallInventory().getItemBySlot(nebPos); + short ePos = inPacket.decodeShort(); + Equip equip = (Equip) chr.getEquipInventory().getItemBySlot(ePos); + if (item == null || equip == null || item.getItemId() != nebID || !ItemConstants.isNebulite(item.getItemId())) { + log.error("Nebulite or equip was not found when inserting."); + chr.dispose(); + return; + } + if (equip.getSocket(0) != ItemConstants.EMPTY_SOCKET_ID) { + log.error("Tried to Nebulite an item without an empty socket."); + chr.chatMessage("You can only insert a Nebulite into empty socket slots."); + chr.dispose(); + return; + } + if (!ItemConstants.nebuliteFitsEquip(equip, item)) { + chr.getOffenseManager().addOffense(String.format("Character %d attempted to use a nebulite (%d) that doesn't fit an equip (%d).", chr.getId(), item.getItemId(), equip.getItemId())); + chr.chatMessage("The nebulite cannot be mounted on this equip."); + chr.dispose(); + return; + } + chr.consumeItem(item); + equip.setSocket(0, nebID % ItemConstants.NEBULITE_BASE_ID); + equip.updateToChar(chr); + } + + @Handler(op = InHeader.USER_ITEM_SKILL_SOCKET_UPGRADE_ITEM_USE_REQUEST) + public static void handleUserItemSkillSocketUpdateItemUseRequest(Client c, InPacket inPacket) { + Char chr = c.getChr(); + c.verifyTick(inPacket); + short uPos = inPacket.decodeShort(); + short ePos = inPacket.decodeShort(); + Item item = chr.getConsumeInventory().getItemBySlot(uPos); + Equip equip = (Equip) chr.getEquipInventory().getItemBySlot(ePos); + if (item == null || equip == null || !ItemConstants.isWeapon(equip.getItemId()) + || !ItemConstants.isSoulEnchanter(item.getItemId()) || equip.getrLevel() + equip.getiIncReq() < ItemConstants.MIN_LEVEL_FOR_SOUL_SOCKET) { + chr.dispose(); + return; + } + int successProp = ItemData.getItemInfoByID(item.getItemId()).getScrollStats().get(ScrollStat.success); + boolean success = Util.succeedProp(successProp); + if (success) { + equip.setSoulSocketId((short) (item.getItemId() % ItemConstants.SOUL_ENCHANTER_BASE_ID)); + equip.updateToChar(chr); + } + chr.getField().broadcastPacket(UserPacket.showItemSkillSocketUpgradeEffect(chr.getId(), success)); + chr.consumeItem(item); + } + + @Handler(op = InHeader.USER_ITEM_SKILL_OPTION_UPGRADE_ITEM_USE_REQUEST) + public static void handleUserItemSkillOptionUpdateItemUseRequest(Client c, InPacket inPacket) { + Char chr = c.getChr(); + c.verifyTick(inPacket); + short uPos = inPacket.decodeShort(); + short ePos = inPacket.decodeShort(); + Item item = chr.getConsumeInventory().getItemBySlot(uPos); + Equip equip = (Equip) chr.getEquipInventory().getItemBySlot(ePos); + if (item == null || equip == null || !ItemConstants.isWeapon(equip.getItemId()) + || !ItemConstants.isSoul(item.getItemId()) || equip.getSoulSocketId() == 0) { + chr.dispose(); + return; + } + equip.setSoulOptionId((short) (1 + item.getItemId() % ItemConstants.SOUL_ITEM_BASE_ID)); + short option = ItemConstants.getSoulOptionFromSoul(item.getItemId()); //Currently does nothing + if (option == 0) { + option = (short) ItemConstants.getRandomSoulOption(); + } + equip.setSoulOption(option); + equip.updateToChar(chr); + chr.consumeItem(item); + chr.getField().broadcastPacket(UserPacket.showItemSkillOptionUpgradeEffect(chr.getId(), true, false, ePos, uPos)); + } + + @Handler(op = InHeader.USER_WEAPON_TEMP_ITEM_OPTION_REQUEST) + public static void handleUserWeaponTempItemOptionRequest(Char chr, InPacket inPacket) { + TemporaryStatManager tsm = chr.getTemporaryStatManager(); + if (tsm.hasStat(CharacterTemporaryStat.SoulMP) + && tsm.getOption(CharacterTemporaryStat.SoulMP).nOption >= ItemConstants.MAX_SOUL_CAPACITY) { + Option o = new Option(); + o.nOption = tsm.getOption(CharacterTemporaryStat.SoulMP).nOption; + o.xOption = tsm.getOption(CharacterTemporaryStat.SoulMP).xOption; + o.rOption = ItemConstants.getSoulSkillFromSoulID( + ((Equip) chr.getEquippedItemByBodyPart(BodyPart.Weapon)).getSoulOptionId() + ); + tsm.putCharacterStatValue(CharacterTemporaryStat.FullSoulMP, o); + tsm.sendSetStatPacket(); + } + chr.dispose(); + } + + @Handler(op = InHeader.USER_PROTECT_BUFF_DIE_ITEM_REQUEST) + public static void handleUserProtectBuffDieItemRequest(Char chr, InPacket inPacket) { + chr.getClient().verifyTick(inPacket); + boolean used = inPacket.decodeByte() != 0; + if (used) { + // grabs the first one from the list of buffItems + Item buffProtector = chr.getBuffProtectorItem(); + if (buffProtector != null) { + chr.setBuffProtector(true); + chr.consumeItem(buffProtector); + chr.write(UserLocal.setBuffProtector(buffProtector.getItemId(), true)); + } else { + chr.getOffenseManager().addOffense(String.format("Character id %d tried to use a buff without having the appropriate item.", chr.getId())); + } + } + } + + @Handler(op = InHeader.USER_DEFAULT_WING_ITEM) + public static void handleUserDefaultWingItem(Char chr, InPacket inPacket) { + int wingItem = inPacket.decodeInt(); + if (wingItem == 5010093) { // AB + chr.getAvatarData().getCharacterStat().setWingItem(wingItem); + chr.getField().broadcastPacket(UserRemote.setDefaultWingItem(chr)); + } + } + + @Handler(op = InHeader.USER_RECIPE_OPEN_ITEM_USE_REQUEST) + public static void handleUserRecipeOpenItemUseRequest(Char chr, InPacket inPacket) { + chr.getClient().verifyTick(inPacket); + short pos = inPacket.decodeShort();// // nPOS + int itemID = inPacket.decodeInt();// nItemID + + Item item = chr.getInventoryByType(CONSUME).getItemBySlot(pos); + if (item == null || item.getItemId() != itemID || !chr.isInValidState()) { + chr.dispose(); + return; + } + if (chr != null && chr.getHP() > 0 && ItemConstants.isRecipeOpenItem(itemID)) { + ItemInfo recipe = ItemData.getItemInfoByID(itemID); + if (recipe != null) { + int recipeID = recipe.getSpecStats().getOrDefault(SpecStat.recipe, 0); + int reqSkillLevel = recipe.getSpecStats().getOrDefault(SpecStat.reqSkillLevel, 0); + MakingSkillRecipe msr = SkillData.getRecipeById(recipeID); + if (msr != null && msr.isNeedOpenItem()) { + if (chr.getSkillLevel(msr.getReqSkillID()) < reqSkillLevel || chr.getSkillLevel(recipeID) > 0) { + return; + } + chr.addSkill(recipeID, 1, 1); + } + } + } + } + + @Handler(op = InHeader.USER_ACTIVATE_NICK_ITEM) + public static void handleUserActivateNickItem(Client c, InPacket inPacket) { + Char chr = c.getChr(); + int nickItem = inPacket.decodeInt(); + if (nickItem == 0 || nickItem / 10000 == 370 && chr.hasItem(nickItem)) { + chr.setActiveNickItemID(nickItem); + chr.getField().broadcastPacket(UserRemote.setActiveNickItem(chr, null), chr); + } + } + + @Handler(op = InHeader.USER_CHAR_SLOT_INC_ITEM_USE_REQUEST) + public static void addChrSlot(Client c, InPacket inPacket) { + Account user = c.getAccount(); + int currentSlots = user.getCharacterSlots(); + user.setCharacterSlots(currentSlots + 1); + } + + @Handler(op = InHeader.USER_LOTTERY_ITEM_USE_REQUEST) + public static void handleUserLotteryItemUseRequest(Char chr, InPacket inPacket) { + short pos = inPacket.decodeShort(); + int itemID = inPacket.decodeInt(); + inPacket.decodeByte(); // bSendForUI + inPacket.decodeByte(); // bLogStart + inPacket.decodeInt(); // 1 + Item item; + ItemInfo itemInfo; + if (itemID / 1000 != 2028 || (item = chr.getConsumeInventory().getItemBySlot(pos)) == null + || itemID != item.getItemId() || ((itemInfo = ItemData.getItemInfoByID(itemID)) == null)) { + chr.dispose("Not found."); + return; + } + Object reward = itemInfo.getRandomReward(); + if (reward instanceof Item) { + chr.addItemToInventory((Item) reward); + } else if (reward instanceof Integer && (int) reward != 0) { + chr.addMoney((int) reward); + } else { + chr.chatMessage("Oh, you're unlucky."); // should not happen + } + chr.consumeItem(item); + chr.dispose(); + } +} diff --git a/resources/antimacro_fonts/AmaticSC.ttf b/resources/antimacro_fonts/AmaticSC.ttf new file mode 100755 index 0000000000000000000000000000000000000000..fc4c36261a275277319a548a8f395ccc3b79f004 GIT binary patch literal 151624 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 rU9^mD>=m~=FYK_tp9`2s;n{Rku*I#tq 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 literal 0 HcmV?d00001 diff --git a/resources/antimacro_fonts/Audiowide.ttf b/resources/antimacro_fonts/Audiowide.ttf new file mode 100755 index 0000000000000000000000000000000000000000..8b50bedc0f99bcfcb5686a3dbeb5b51d1c0190d5 GIT binary patch literal 69916 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 z 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 VPo*w;Pl@hNtJ`u;JAy~_`@i+RE9w9M literal 0 HcmV?d00001 diff --git a/resources/antimacro_fonts/Rajdhani.ttf b/resources/antimacro_fonts/Rajdhani.ttf new file mode 100755 index 0000000000000000000000000000000000000000..1015ce5f4627bba57efe786eedd56f2f572d5fec GIT binary patch literal 383928 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÷pp}yjxX4@Jlj_tjNv||1*S>mvCY30AD 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%0AS};KCKk;ETaY90ZzOU6lC@xV?a>`qxfQLA?PQt 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

6f|h$1L_cB<{Y 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 z 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 literal 0 HcmV?d00001 diff --git a/resources/antimacro_fonts/Srisakdi.ttf b/resources/antimacro_fonts/Srisakdi.ttf new file mode 100755 index 0000000000000000000000000000000000000000..34dc3fb71f43bc8342715c8ef1a315bfb270676e GIT binary patch literal 96252 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 (2012032) | Eliza's Garden (920020000) +# Author: Tiger + +sm.playSound("orbis/la", 100) diff --git a/scripts/npc/elizaHarp7.py b/scripts/npc/elizaHarp7.py new file mode 100755 index 0000000..3619234 --- /dev/null +++ b/scripts/npc/elizaHarp7.py @@ -0,0 +1,4 @@ +# Harp String (2012033) | Eliza's Garden (920020000) +# Author: Tiger + +sm.playSound("orbis/si", 100) diff --git a/scripts/npc/enterEvolvingSystem.py b/scripts/npc/enterEvolvingSystem.py new file mode 100755 index 0000000..88b9d2b --- /dev/null +++ b/scripts/npc/enterEvolvingSystem.py @@ -0,0 +1,5 @@ +# ESS (9075301) | Evo Lab initiator +from net.swordie.ms.enums import UIType + +sm.openUI(UIType.UI_EVOLVING_SYSTEM) +sm.updateCores() \ No newline at end of file diff --git a/scripts/npc/enterGreatElf.py b/scripts/npc/enterGreatElf.py new file mode 100755 index 0000000..6db2fb4 --- /dev/null +++ b/scripts/npc/enterGreatElf.py @@ -0,0 +1,3 @@ +if sm.getChr().getJob() >= 2300: + sm.warp(910150100) +# else: diff --git a/scripts/npc/enterTraining.py b/scripts/npc/enterTraining.py new file mode 100755 index 0000000..e345dd3 --- /dev/null +++ b/scripts/npc/enterTraining.py @@ -0,0 +1,14 @@ +# Created by MechAviv +# ID :: [4000021] +# Maple Road : Entrance to Adventurer Training Center + +sm.setSpeakerID(12100) +selection = sm.sendNext("This is the perfect place to train your basic skills. Where do you want to train?\r\n#b#L0#Adventurer Training Center 1#l\r\n#b#L1#Adventurer Training Center 2#l\r\n#b#L2#Adventurer Training Center 3#l\r\n#b#L3#Adventurer Training Center 4#l") +if selection == 0: + sm.warp(4000022, 4) +elif selection == 1: + sm.warp(4000023, 4) +elif selection == 2: + sm.warp(4000024, 4) +elif selection == 3: + sm.warp(4000025, 4) \ No newline at end of file diff --git a/scripts/npc/enter_TimeGap.py b/scripts/npc/enter_TimeGap.py new file mode 100755 index 0000000..3858ac2 --- /dev/null +++ b/scripts/npc/enter_TimeGap.py @@ -0,0 +1,9 @@ +# Mastema (2450017) | Demon 4th job advancement +sm.setSpeakerID(parentID) +if sm.getChr().getLevel() >= 100 \ + and sm.getChr().getJob() == 3111 \ + and sm.sendAskYesNo("Are you ready, #h #? If you are, I'll send you to the past through the Crack in Time. " + "You were powerful in the past, #h #, so be careful."): + + sm.sendNext("Good luck, #h #") + sm.warpInstanceIn(927000100, False) \ No newline at end of file diff --git a/scripts/npc/equip_product.py b/scripts/npc/equip_product.py new file mode 100755 index 0000000..9771ffa --- /dev/null +++ b/scripts/npc/equip_product.py @@ -0,0 +1,63 @@ +# Hidden Street - Ardentmill :: 910001000 +# Gere :: Master of Smithing :: 9031003 + +MINING_SKILL = 92010000 +SMITHING_CRAFT_SKILL = 92020000 +ACCESSORY_CRAFT_SKILL = 92030000 +ALCHEMY_CRAFT_SKILL = 92040000 +FEE = [5000, 15000, 25000, 40000, 60000, 85000, 115000, 150000, 190000, 235000] + +if not sm.hasSkill(SMITHING_CRAFT_SKILL): + selection = sm.sendSay("I am #bGere#k, master Blacksmith. What do you want?\r\n#L0#Hear an explanation about #b#eSmithing#n.#l\r\n#L1#Learn #eSmithing#n.#k#l") + if selection == 0: + sm.sendNext("Smithing is the art of forging the minerals and gems you get from Mining into durable armor and punishing weapons. I'll show you how to shape these raw materials into equipment you've never seen before.") + elif selection == 1: + if not sm.hasSkill(MINING_SKILL): + sm.sendSayOkay("How do you plan to learn Smithing if you don't even know the Mining Profession? Seek out #bCole#k, learn what he has to teach. Then maybe you will be ready.") + sm.dispose() + + if sm.hasSkill(ACCESSORY_CRAFT_SKILL) or sm.hasSkill(ALCHEMY_CRAFT_SKILL): + sm.sendNext("Well now, it seems you've already learned Accessory Crafting or Alchemy. Your reach is exceeding your grasp, isn't it? If you really want to learn it, forget one of the other Professions.") + sm.dispose() + + learn = sm.sendAskYesNo("You want to learn #bSmithing#k? Show me how earnest you are by coughing up some dough!\r\nIt's #b 5,000 Mesos#k... Are you really ready to do this?\r\n") + if learn: + if sm.getMesos() < 5000: + sm.sendNext("If you can't even gather #b5000 Mesos#k, how can you hope to become a Blacksmith?") + sm.dispose() + + sm.giveMesos(-5000) + sm.giveSkill(SMITHING_CRAFT_SKILL, 0x1000000, 13) + sm.playSound("profession/levelup") + sm.sendNext("To be honest, I didn't think you could learn Smithing. Well, you've only learned the most basic skill level. If you can manage to increase your Mastery, I can teach you more.") + else: + sm.sendNext("It's good to be cautious. Come back after you've thought it through.") +else: + selection = sm.sendSay("I am #bGere#k, master Blacksmith. What do you want?\r\n#L2##bRaise #eSmithing#n level.#l\r\n#L3#Unlearn Smithing.#k#l") + if selection == 2: + if sm.isAbleToLevelUpMakingSkill(SMITHING_CRAFT_SKILL): + levelup = sm.sendAskYesNo("Looks like you're ready to level up your Smithing. I'll take #b" + str(FEE[sm.getMakingSkillLevel(SMITHING_CRAFT_SKILL)]) + " Mesos#k as tuition. Ready to learn?") + if levelup: + if sm.getMesos() < FEE[sm.getMakingSkillLevel(SMITHING_CRAFT_SKILL)]: + sm.sendNext("You don't have enough mesos.") + sm.dispose() + + sm.giveMesos(-FEE[sm.getMakingSkillLevel(SMITHING_CRAFT_SKILL)]) + sm.makingSkillLevelUp(SMITHING_CRAFT_SKILL) + sm.sendNext("Your Smithing skill is now Lv. " + str(sm.getMakingSkillLevel(SMITHING_CRAFT_SKILL)) +".") + else: + sm.sendNext("Sure, take some time to think it over. I'll be here.") + sm.dispose() + else: + sm.sendNext("You're not ready to level up your Profession. Come back when you've increased your Mastery.") + elif selection == 3: + unlearn = sm.sendAskYesNo("You will forget everything I've taught you about Smithing. Everything you've worked towards, gone. Do you really want to do this?") + if unlearn: + sm.removeSkill(SMITHING_CRAFT_SKILL) + # set quest value 11495, "0" + # start quest 3263 + # complete quest 3263 + # remove quest 3263 + sm.sendNext("Very well. You are no longer a Blacksmith.") + else: + sm.sendSayOkay("For once, you say something sensible.") \ No newline at end of file diff --git a/scripts/npc/eunwolhouse_item.py b/scripts/npc/eunwolhouse_item.py new file mode 100755 index 0000000..d353596 --- /dev/null +++ b/scripts/npc/eunwolhouse_item.py @@ -0,0 +1,40 @@ +items = [1004039, 1102650] +removeitems = [0] + +if sm.hasQuest(38023): + sm.flipDialoguePlayerAsSpeaker() + sm.sendNext("Wow, this is... really nice. This medal means they've accepted me. No more tests, no more suspicion. Is this... what having a family is like?") + sm.sendSay("It's been so long. The Black Mage, the seal, Maple World. Everything feels like a dream. I've gotten used to things around here. Maybe someday I can go back to Maple World... but do I even want to?") + sm.giveItem(1142671) + sm.completeQuestNoRewards(32024) + sm.completeQuest(38023) + sm.giveExp(4000) +elif sm.hasQuest(38018): + sm.lockInGameUI(True, False) + sm.forcedInput(0) + sm.removeEscapeButton() + sm.flipDialoguePlayerAsSpeaker() + sm.sendNext("Their special gift is... #rfox ears and a tail#k? Huh. Well, um... could be worse, I guess.") + sm.sendSay("I really, really don't like this, but not accepting it would be out of line. And I might as well give it a try...") + + sm.avatarLookSet(items) + sm.sendDelay(1000) + + sm.sendNext("......!") + + sm.avatarLookSet(removeitems) + sm.sendSay("...No, I can't do this! Not after what I've been through. I... I like it here, but I don't want to lose who I am. I don't like this. I... I should hide this before I do anything else.") + + sm.completeQuest(38018) + sm.giveExp(3000) + sm.lockInGameUI(False) + + sm.warp(940200030, 0) +elif sm.hasQuest(38008): + sm.flipDialoguePlayerAsSpeaker() + sm.sendNext("What...is this? They wrapped something in this leaf. It's quite heavy and warm. Maybe a little wet, too. Something's dripping from it. Wait, this mushy texture... Is this...?") + sm.sendSay("Did they seriously give me #rraw liver#k? This is my special gift? Right, something about #rbeast livers#k being the best...") + sm.sendSay("Well... People eat raw fish, so maybe this isn't all that bad. I can eat this... I can... Ugh, why do my tastebuds have to put up with this?") + sm.giveExp(1200) + sm.completeQuest(38008) + sm.startQuest(38009) diff --git a/scripts/npc/euwol_Phantom.py b/scripts/npc/euwol_Phantom.py new file mode 100755 index 0000000..e6464ad --- /dev/null +++ b/scripts/npc/euwol_Phantom.py @@ -0,0 +1,3 @@ +if sm.hasQuest(25110): + sm.jobAdvance(2411) + sm.completeQuest(25110) \ No newline at end of file diff --git a/scripts/npc/everything00.py b/scripts/npc/everything00.py new file mode 100755 index 0000000..cae888e --- /dev/null +++ b/scripts/npc/everything00.py @@ -0,0 +1,24 @@ +sm.setSpeakerID(2143000) + +answer = sm.sendNext("So you want to go to the Hallowed Ground? Oh yeah, we discovered a new Hallowed Ground. I hear the" + "key to the Cygnus Garden can be found there. Please continue doing your best to bring peace to our world.\r\n#b" + "#L0#Hallowed Ground of Dawn#l\r\n" + "#L1#Hallowed Ground of Blaze#l\r\n" + "#L2#Hallowed Ground of Wind#l\r\n" + "#L3#Hallowed Ground of Night#l\r\n" + "#L4#Hallowed Ground of Thunder#l\r\n") + +if answer == 0: + sm.warpInstanceIn(271030201) + +elif answer == 1: + sm.warpInstanceIn(271030202) + +elif answer == 2: + sm.warpInstanceIn(271030203) + +elif answer == 3: + sm.warpInstanceIn(271030204) + +elif answer == 4: + sm.warpInstanceIn(271030205) diff --git a/scripts/npc/extreme_welcome.py b/scripts/npc/extreme_welcome.py new file mode 100755 index 0000000..6ce30f3 --- /dev/null +++ b/scripts/npc/extreme_welcome.py @@ -0,0 +1,2 @@ +# Spiegelette (9071006) | Monster Park +sm.sendSayOkay("Hey! welcome to #rMonster Park#k\r\nAn amazing way to get nice goodies and a lot of exp!") diff --git a/scripts/npc/face_henesys1.py b/scripts/npc/face_henesys1.py new file mode 100755 index 0000000..92de97b --- /dev/null +++ b/scripts/npc/face_henesys1.py @@ -0,0 +1,20 @@ +import os.path +path = "C:/Users/Downloads/v207-master/v207-master/wz/Character.wz/Face" +files = os.listdir(path) +face = [] +for x in files: + face.append(int(x[3:8])) + + + +text = "I'll change your face\r\n#b" +for i in range(60): + text += "#L" + str(i+1) + "#Selection " + str(i) + "#l\r\n" +selection = sm.sendSayOkay(text) - 1 + +if selection <= 60: + min = 100*selection + max = min + 100 + a = face[min:max] + choice = sm.sendAskAvatar("Choose your face!", False, False, a) + sm.changeCharacterLook(a[choice]) \ No newline at end of file diff --git a/scripts/npc/fairy_dosy.py b/scripts/npc/fairy_dosy.py new file mode 100755 index 0000000..8a18f36 --- /dev/null +++ b/scripts/npc/fairy_dosy.py @@ -0,0 +1,13 @@ +# id 1500017 (Tosh the Fairy), field 101073010 +sm.setSpeakerType(3) +if not sm.hasMobsInField(): + sm.setParam(5) + sm.setInnerOverrideSpeakerTemplateID(1500017) # Tosh the Fairy + sm.sendNext("I-I was so scared...") + sm.sendSay("Me and the others were rehearsing a play when the Mandrakies went all crazy on us. I closed my eyes when one of them chomped on my leg and then I woke up here!") + sm.setParam(17) + sm.sendSay("#b(One student's better than nothing. I'd better get this kid back to Ellinel.)#k") + sm.warp(101073000) + sm.completeQuest(32123) +else: + sm.sendNext("Please kill all the mobs, I can't get out like this!") diff --git a/scripts/npc/fairy_epony.py b/scripts/npc/fairy_epony.py new file mode 100755 index 0000000..03fbbd0 --- /dev/null +++ b/scripts/npc/fairy_epony.py @@ -0,0 +1,19 @@ +# id 1500019 (Ephony the Fairy), field 101073110 +sm.setSpeakerType(3) + +if not sm.hasMobsInField(): + sm.setParam(5) + sm.setInnerOverrideSpeakerTemplateID(1500019) # Ephony the Fairy + sm.sendNext("Whew! You saved me! I thought those monsters were gonna eat me up.") + sm.setInnerOverrideSpeakerTemplateID(1500020) # Phiny the Fairy + sm.sendSay("A-are you a h-hero?") + sm.setParam(17) + sm.sendSay("#b(There were five missing in total... Where are the other kids?)#k") + sm.setParam(5) + sm.sendSay("Ya gotta get Woonie and Tracy! I saw a shadow monster that was gonna eat them!") + sm.setParam(17) + sm.sendSay("#bA shadow monster?#k") + sm.warp(101073201) + sm.completeQuest(32126) +else: + sm.sendNext("Please kill all the mobs, we can't get out like this!") diff --git a/scripts/npc/fairy_uny.py b/scripts/npc/fairy_uny.py new file mode 100755 index 0000000..d5488f8 --- /dev/null +++ b/scripts/npc/fairy_uny.py @@ -0,0 +1,14 @@ +# id 1500016 (Woonie the Fairy), field 101073300 +sm.setSpeakerType(3) + +if not sm.hasMobsInField(): + sm.setParam(5) + sm.setInnerOverrideSpeakerTemplateID(1500016) # Woonie the Fairy + sm.sendNext("You saved our lives... And our dignity. Thank you so much.") + sm.setInnerOverrideSpeakerTemplateID(1500018) # Tracy the Fairy + sm.sendSay("I shall never forget your kindness!") + sm.warp(101073200) + sm.completeQuest(32128) +else: + sm.setInnerOverrideSpeakerTemplateID(1500016) # Woonie the Fairy + sm.sendNext("Please defeat the mole king!") diff --git a/scripts/npc/farm_coin.py b/scripts/npc/farm_coin.py new file mode 100755 index 0000000..9340ae2 --- /dev/null +++ b/scripts/npc/farm_coin.py @@ -0,0 +1,26 @@ +# Clara +from net.swordie.ms.loaders import ItemData + +sendStr = "Your equips:\r\n" +for equip in chr.getEquippedInventory().getItems(): + itemId = str(equip.getItemId()) + sendStr += "#i " + itemId + "##z" + itemId + "#\r\n" + for i in range(6): + opt = equip.getOptions().get(i) + if opt == 0: + sendStr += "" + else: + tier = opt // 10000 + sendStr += "(" + str(opt) + ") - " + if tier <= 1: + sendStr += "#b(Rare) #k" + elif tier == 2: + sendStr += "#d(Epic) #k" + elif tier == 3: + sendStr += "#r(Unique) #k" + else: + sendStr += "#g(Legendary) #k" + pOpt = ItemData.getItemOptionById(opt) + sendStr += pOpt.getString(equip.getrLevel()) + sendStr += "\r\n" +sm.sendSayOkay(sendStr) diff --git a/scripts/npc/fire_kit.py b/scripts/npc/fire_kit.py new file mode 100755 index 0000000..bdde6fd --- /dev/null +++ b/scripts/npc/fire_kit.py @@ -0,0 +1,6 @@ +if sm.hasQuest(2566): + if sm.hasItem(4032985): + sm.chatScript("You already have the Ignition Device.") + else: + sm.giveItem(4032985) + sm.chatScript("Ignition Device. Bring ") \ No newline at end of file diff --git a/scripts/npc/flower_in.py b/scripts/npc/flower_in.py new file mode 100755 index 0000000..8d9cab2 --- /dev/null +++ b/scripts/npc/flower_in.py @@ -0,0 +1,6 @@ +# Mysterious Statue, Sleepywood (105000000) +response = sm.sendAskYesNo("Once I lay my hand on the statue, a strange light covers me and it feels like I'm being sucked " + + "into somewhere else. Is it okay to be moved to somewhere else randomly just like that?") + +if response: + sm.warp(910530000) diff --git a/scripts/npc/flower_out.py b/scripts/npc/flower_out.py new file mode 100755 index 0000000..f5e6e8a --- /dev/null +++ b/scripts/npc/flower_out.py @@ -0,0 +1,6 @@ +# Mysterious Statue, Forest of Tenacity 1 (910530000) +response = sm.sendAskYesNo("Once I lay my hand on the statue, a strange light covers me and it feels like I'm being sucked " + + "into where I originally came from. Am I done here? Is it okay to go back to where I came from?") + +if response: + sm.warp(105000000) diff --git a/scripts/npc/flyminidraco.py b/scripts/npc/flyminidraco.py new file mode 100755 index 0000000..17e81be --- /dev/null +++ b/scripts/npc/flyminidraco.py @@ -0,0 +1,12 @@ +# Corba (2082003) | Leafre Station +answer = sm.sendNext("If you had wings, I'm sure you could go there. " + "But, that alone won't be enough. " + "If you want to fly though the wind that's sharper than a blade, you'll need tough scales as well. " + "I'm the only Halfling left that knows the way back... " + "If you want to go there, I can transform you. " + "No matter what you are, for this moment, you will become a #bDragon#k...\r\n" + "#L0##bI want to become a dragon.#k#l") + +if answer == 0: + sm.warp(200090500) + sm.useItem(2210016) # Become Red Flying Draco diff --git a/scripts/npc/friend00.py b/scripts/npc/friend00.py new file mode 100755 index 0000000..87d9fef --- /dev/null +++ b/scripts/npc/friend00.py @@ -0,0 +1,17 @@ +# Mr. Goldstein | Buddy List Admin + +sm.sendNext("I see... you don't have as many friends as I thought you would. Hahaha, just kidding! Anyway if you feel like changing your mind, please feel free to come back and we'll talk business. If you make a lot of friends, then you know ... hehe ...") +response = sm.sendAskYesNo("I hope I can make as much as yesterday... well, hello! Don't you want to extend your buddy list? You look like someone who'd have a whole lot of friends... well, what do you think? With some money I can make it happen for you. Remember, though, it only applies to one character at a time, so it won't affect any of your other characters on your account. Do you want to extend your buddy list?") +if response: + response = sm.sendAskYesNo("Alright, good call! It's not that expensive actually. #b250,000 mesos and I'll add 5 more slots to your buddy list#k. And no, I won't be selling them individually. Once you buy it, it's going to be permanently on your buddy list. So if you're one of those that needs more space there, then you might as well do it. What do you think? Will you spend 250,000 mesos for it?") + if response: + # Check Buddy Capacity //TODO + if sm.getMesos() < 250000: + sm.sendSayOkay("Hey... are you sure you have #b250,000 mesos#k? If so, then check and see if you have extended your buddy list to the max. Even if you pay up, the most you can have on your buddy list is #b100#k.") + else: + sm.giveMesos(-250000) + sm.sendSay("Alright! Your buddy list will have 5 extra slots by now. Check and see for it yourself. And if you still need more room on your buddy list, you know who to find. Of course, it isn't going to be for free ... well, so long ...") + else: + sm.sendSayOkay("Let me know when you want to increase your buddy list.") +else: + sm.sendSayOkay("Let me know when you want to increase your buddy list.") diff --git a/scripts/npc/gachaponbox1.py b/scripts/npc/gachaponbox1.py new file mode 100755 index 0000000..fd8b031 --- /dev/null +++ b/scripts/npc/gachaponbox1.py @@ -0,0 +1,68 @@ +# Toh Relicseeker - FM Beauty NPC + +from net.swordie.ms.loaders import StringData + +FreeMarket = 910000000 + +if sm.getFieldID() == FreeMarket: + al = chr.getAvatarData().getAvatarLook() + selection = sm.sendNext("Hi my name is Toh I really love to make people look their best. Maybe I could help you look good too.\r\n#b" + "#L0#Change my Hairstyle.\r\n#b" + "#L1#Change my Face.\r\n#b" + "#L2#Change my Eye Color.\r\n#b" + "#L3#Change my Skin Color.\r\n#b" + "#L4#Change my Hair Color.\r\n#b" + "#L5#Change my Gender.\r\n#b") + if selection == 0: # Hairstyle + options = [] + hairColor = al.getHair() % 10 + if al.getGender() == 0: # Male + for x in range(100): + options.append(30000 + 10 * x) + else: # Female + for x in range(100): + options.append(31000 + 10 * x) + options = list(map(lambda x: x + hairColor, options)) + + elif selection == 1: #face + options = [] + eyeColor = al.getFace() % 10 + if al.getGender() == 0: # Male + for x in range(60): + options.append(20000 + x) + else: # Female + for x in range(37): + options.append(21000 + x) + options = list(map(lambda x: x + eyeColor, options)) + + + elif selection == 2: # eye color + face = al.getFace() - ((al.getFace() % 1000 / 100) * 100) #it rounds the number + options = [] + for x in range (9): + options.append(face + x * 100) + + elif selection == 3: # skin + options = [] + for x in range (5): + options.append(x) + + elif selection == 4: #Hair color + hair = al.getHair() - (al.getHair() % 10) + options = [] + for x in range (9): + options.append(hair + x) + + +if selection == 5: + answer = sm.sendAskYesNo("Are you sure you want to change your gender?") + if answer: + chr.changeGender() + sm.sendNext("Please change channel in order for the gender change to take in effect.") +else: + for id in options: + if StringData.getItemStringById(id) is None: + options.remove(id) + answer = sm.sendAskAvatar("Choose your new look!", False, False, options) + if answer < len(options): + sm.changeCharacterLook(options[answer]) \ No newline at end of file diff --git a/scripts/npc/getAboard.py b/scripts/npc/getAboard.py new file mode 100755 index 0000000..6893d17 --- /dev/null +++ b/scripts/npc/getAboard.py @@ -0,0 +1,9 @@ +maps = [200000120, 200000130, 200000141, 200000110, 200000150, 200000161, 200000170] + +list = "Hey, where would you like to go? #b" +i = 0 +while i < len(maps): + list += "\r\n#L" + str(i) + "##m" + str(maps[i]) + "#" + i += 1 +answer = sm.sendNext(list) +sm.warp(maps[answer], 0) diff --git a/scripts/npc/get_ticket.py b/scripts/npc/get_ticket.py new file mode 100755 index 0000000..c4da3ec --- /dev/null +++ b/scripts/npc/get_ticket.py @@ -0,0 +1,18 @@ +maps = { + 2012013 : [220000100, "Ludibrium"], + 1032008 : [200000100, "Orbis"], + 2012021 : [240000100, "Leafre"], + 2012001 : [104020110, "Victoria Island"], + 2041000 : [220000100, "Orbis"], + 2012025 : [260000100, "Ariant"], + 2102000 : [200000100, "Orbis"], +} + +if parentID in maps: + vals = maps[parentID] + if sm.sendAskYesNo("Would you like to go to " + vals[1] + "?"): + sm.warp(vals[0], 0) +else: + sm.sendSayOkay("Not coded :(") + + diff --git a/scripts/npc/giveEggEvan.py b/scripts/npc/giveEggEvan.py new file mode 100755 index 0000000..05c53b9 --- /dev/null +++ b/scripts/npc/giveEggEvan.py @@ -0,0 +1,9 @@ +if sm.hasQuest(22007): + if not sm.hasItem(4032451): + if sm.canHold(4032451): + sm.giveItem(4032451) + sm.dispose() + else: + sm.sendSay("Please make room in your Etc Inventory.") + sm.dispose() +sm.dispose() \ No newline at end of file diff --git a/scripts/npc/giveKineWeapon.py b/scripts/npc/giveKineWeapon.py new file mode 100755 index 0000000..dae4afe --- /dev/null +++ b/scripts/npc/giveKineWeapon.py @@ -0,0 +1,10 @@ +# Created by MechAviv +# Kinesis Introduction +# Map ID :: 331001000 +# Hideout :: HQ +JAY = 1531001 + +sm.setNpcOverrideBoxChat(JAY) +if sm.sendAskYesNo("You lost your gear? Ugh, dude! Don't trash my stuff! It takes time to hack those things together. Here, I have backups of your primary and secondary, but only the basic models. TRY to respect these, hmm?"): + sm.giveItem(1353200) + sm.giveItem(1262000) \ No newline at end of file diff --git a/scripts/npc/give_4034141.py b/scripts/npc/give_4034141.py new file mode 100755 index 0000000..1f4e91a --- /dev/null +++ b/scripts/npc/give_4034141.py @@ -0,0 +1,6 @@ +# id 9201268 (Hayato), field 811000030 +sm.setSpeakerID(9201268) # Hayato +sm.setParam(2) +sm.sendNext("Oh, great swordsman Hayato... could you get me the #i4034141# #t4034141#?") +sm.setParam(1) +sm.sendPrev("Hm, that was too easy! Ah, well, here's the #i4034141# #t4034141#.") diff --git a/scripts/npc/giveupRiding.py b/scripts/npc/giveupRiding.py new file mode 100755 index 0000000..25d624b --- /dev/null +++ b/scripts/npc/giveupRiding.py @@ -0,0 +1,6 @@ +# Created by MechAviv +# [Kiridu] | [1102002] +# Empress' Road : Ereve + +sm.setSpeakerID(1102002) +sm.sendSayOkay("I have no idea what you're saying.") \ No newline at end of file diff --git a/scripts/npc/glpqEnter.py b/scripts/npc/glpqEnter.py new file mode 100755 index 0000000..02a22ad --- /dev/null +++ b/scripts/npc/glpqEnter.py @@ -0,0 +1,5 @@ +# Gate (9201114) | Gate (CWKPQ 'portal') + +HALL_TO_INNER_SANCTUM = 610030020 + +sm.warp(HALL_TO_INNER_SANCTUM) diff --git a/scripts/npc/glpqStart.py b/scripts/npc/glpqStart.py new file mode 100755 index 0000000..185c003 --- /dev/null +++ b/scripts/npc/glpqStart.py @@ -0,0 +1,48 @@ +from net.swordie.ms.enums import EventType +from net.swordie.ms.constants import BossConstants + +# Mode, Required Level, Map ID, Death Count, Event Type, Cooldown + +destinations = [ + [250, 610030200, 25, EventType.CWKPQ, 604800000], +] + +runsPerDay = 1 + +if sm.getFieldID() == 610030020: + def is_party_eligible(reqlevel, party): + for member in party.getMembers(): + if member.getLevel() < reqlevel: + return False + + return True + + dialog = "Do you want participate in the '#bCrimson Wood Keep Party Quest#k'?\r\n" + + for i in range(len(destinations)): + dialog += "#L%d##bGo to the Crimson Wood Keep #r(Lv. %d+)#b#l\r\n" % (i, destinations[i][1]) + + dialog += "#L99#Never mind." + response = sm.sendSay(dialog) + + if sm.getParty() is None: + sm.sendSayOkay("Please create a party before going in.") + sm.dispose() + + elif not sm.isPartyLeader(): + sm.sendSayOkay("Please have your party leader talk to me if you wish to participate in the #bCrimson Wood Keep Party Quest#k.") + sm.dispose() + + elif sm.partyHasCoolDown(destinations[response][3], runsPerDay): + timeUntilReset = sm.getTimeUntilEventReset(destinations[response][3]) + sm.sendNext("You or one of your party member has already attempted the \r\n#bCrimson Wood Keep Party Quest#k within the past 7 Days.\r\n You have " + timeUntilReset + " left on your cooldown.") + sm.dispose() + + elif sm.checkParty() and response != 99: + if is_party_eligible(destinations[response][0], sm.getParty()): + sm.setPartyDeathCount(destinations[response][2]) + sm.warpInstanceIn(destinations[response][1], True) + sm.setInstanceTime(BossConstants.CWKPQ_TIME_ROOM_1) + sm.addCooldownTimeForParty(destinations[response][3], destinations[response][4]) + else: + sm.sendSayOkay("One or more party members are lacking the prerequisite entry quests, or are below level #b%d#k." % destinations[response][1]) \ No newline at end of file diff --git a/scripts/npc/glpqStory.py b/scripts/npc/glpqStory.py new file mode 100755 index 0000000..93980da --- /dev/null +++ b/scripts/npc/glpqStory.py @@ -0,0 +1,19 @@ + +FieldProperties = ["WarriorSigil","ArcherSigil","MageSigil","ThiefSigil","PirateSigil"] +if sm.getFieldID() == 610030100: + sm.sendNext("Agh, you have made it in. Let me tell you real quick: they've caught us already. Master Guardians are about to come here in about a minute. We'd better hurry.") + sm.sendNext("The portal to the Twisted Masters is busted. We have to find an alternate way, one that will take us through many death traps.") + sm.sendNext("You can find the portal somewhere around here... you'd better find it, quick. I'll catch up.") +if sm.getFieldID() == 610030200: + + if sm.fieldHasProperty("Stage1Cleared"): + sm.sendSayOkay("Proceed to the next stage.") + + for x in range(len(FieldProperties)): + if not sm.fieldHasProperty(str(FieldProperties[x])): + sm.chatRed("Some of the Sigils have not been activated yet") + + else: + sm.setFieldProperty("Stage1Cleared",True) + sm.chatBlue("The Antellion grants you access to the next portal! Proceed!") + sm.spawnNpc() \ No newline at end of file diff --git a/scripts/npc/goKinoc.py b/scripts/npc/goKinoc.py new file mode 100755 index 0000000..7b8bb03 --- /dev/null +++ b/scripts/npc/goKinoc.py @@ -0,0 +1,17 @@ +# Created by MechAviv +# Map ID :: 100000000 +# NPC ID :: 9110000 +# Perry +maps = [["Showa Town", 100000000], ["Ninja Castle", 100000000], ["Six Path Crossway", 100000000]]# TODO +sm.setSpeakerID(9110000) +selection = sm.sendNext("Welcome! Where to?\r\n#L0# To Showa Town#l\r\n#L1# To Ninja Castle#l\r\n#L2# To Six Path Crossway#l") + + +sm.setSpeakerID(9110000) +if sm.sendAskYesNo(maps[selection][0] + "? Drive safely!"): + sm.warp(maps[selection][1]) +else: + sm.setSpeakerID(9110000) + sm.sendNext("I hope the ride wasn't too uncomfortable. I can't upgrade the seating without charging fares.") + + diff --git a/scripts/npc/goToLehel.py b/scripts/npc/goToLehel.py new file mode 100755 index 0000000..0769fa0 --- /dev/null +++ b/scripts/npc/goToLehel.py @@ -0,0 +1,6 @@ +# id 3003165 (Muto), field 993017200 +sm.setSpeakerType(3) +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(3003165) # Muto +res = sm.sendAskYesNo("#bMuto#k... Full now... #bMove#k?\r\n\r\n(You can follow the Arcane River to its next stop when Muto moves.)") +sm.warp(450003700) diff --git a/scripts/npc/goVeritas.py b/scripts/npc/goVeritas.py new file mode 100755 index 0000000..379cd69 --- /dev/null +++ b/scripts/npc/goVeritas.py @@ -0,0 +1,4 @@ +response = sm.sendAskYesNo("Would you like to go Veritas?") + +if response: + sm.warp(230050000,1) diff --git a/scripts/npc/go_tree1.py b/scripts/npc/go_tree1.py new file mode 100755 index 0000000..6f2e7eb --- /dev/null +++ b/scripts/npc/go_tree1.py @@ -0,0 +1,12 @@ +# Branch Snowman +# Happyville + +import random + +rand = [ +"How are those snowmen over by the fire not melting?", +"I think I want to be a vegan..", +"How am I supposed to fullfill my rock-climbing dream with these twigs for arms??" +] + +sm.sendSayOkay(random.choice(rand)) \ No newline at end of file diff --git a/scripts/npc/go_tree2.py b/scripts/npc/go_tree2.py new file mode 100755 index 0000000..88c105c --- /dev/null +++ b/scripts/npc/go_tree2.py @@ -0,0 +1,13 @@ +# Metal Bucket Snowman +# Happyville + +import random + +rand = [ +"Where is my other arm..?", +"Can no one find my other arm?", +"Some poor chap put a bucket on my head..", +"That idiot really thinks he's a reindeer.. HAH" +] + +sm.sendSayOkay(random.choice(rand)) \ No newline at end of file diff --git a/scripts/npc/go_tree3.py b/scripts/npc/go_tree3.py new file mode 100755 index 0000000..abde35c --- /dev/null +++ b/scripts/npc/go_tree3.py @@ -0,0 +1,13 @@ +# Straw Hat Snowman +# Happyville + +import random + +rand = [ +"No arms never stopped anyone from shoveling snow!", +"Is it just me or does Cliff look distraught?", +"Humans are so silly", +"I used to be only white snow.." +] + +sm.sendSayOkay(random.choice(rand)) \ No newline at end of file diff --git a/scripts/npc/go_victoria.py b/scripts/npc/go_victoria.py new file mode 100755 index 0000000..690b1c4 --- /dev/null +++ b/scripts/npc/go_victoria.py @@ -0,0 +1,8 @@ +# I think this is called by many different NPCs + +say = "I haven't received any instructions yet! Tell staff that I'm not working and maybe they'll thank you with a reward!" + +if parentID == 2002000: # Rupi + say = "Isn't it cold? I love it! Snow is my favorite form of water!" + +sm.sendSayOkay(say) \ No newline at end of file diff --git a/scripts/npc/go_xmas.py b/scripts/npc/go_xmas.py new file mode 100755 index 0000000..9af03be --- /dev/null +++ b/scripts/npc/go_xmas.py @@ -0,0 +1,2 @@ +# Rooney (1022101) | +sm.sendSayOkay("Happy Holidays!") diff --git a/scripts/npc/go_xmas06.py b/scripts/npc/go_xmas06.py new file mode 100755 index 0000000..dd25e8b --- /dev/null +++ b/scripts/npc/go_xmas06.py @@ -0,0 +1,4 @@ +# Simon | Temple Guide - Hanukkah +# Happyville + +sm.sendSayOkay("Shalom!") \ No newline at end of file diff --git a/scripts/npc/gold_chan.py b/scripts/npc/gold_chan.py new file mode 100755 index 0000000..65b7296 --- /dev/null +++ b/scripts/npc/gold_chan.py @@ -0,0 +1,7 @@ +# Chan : Golden Temple Guard +# Golden Temple +# Forest of Training 4 +# Stands outside the portal to the SnowFro boss +# ID 9000075 + +sm.sendSayOkay("These monkey's are butt-ugly.") \ No newline at end of file diff --git a/scripts/npc/gold_dao.py b/scripts/npc/gold_dao.py new file mode 100755 index 0000000..38250ba --- /dev/null +++ b/scripts/npc/gold_dao.py @@ -0,0 +1,7 @@ +# Dao (9000080) | Ravana's Golden Altar + +if sm.getFieldID() == 252030100: + if sm.sendAskYesNo("Would you like to leave?"): + sm.warpInstanceOut(252030000) +else: + sm.sendSayOkay("Enter if you wish.") \ No newline at end of file diff --git a/scripts/npc/goldrich.py b/scripts/npc/goldrich.py new file mode 100755 index 0000000..aa40ef6 --- /dev/null +++ b/scripts/npc/goldrich.py @@ -0,0 +1,2 @@ +# Gold Richie (2084001) | Lith Harbor +sm.sendSayOkay("Heya! It's me! Gold Richie, I'm one of the richest person alive!") diff --git a/scripts/npc/goto_141060000.py b/scripts/npc/goto_141060000.py new file mode 100755 index 0000000..7c3ea3a --- /dev/null +++ b/scripts/npc/goto_141060000.py @@ -0,0 +1,14 @@ +# Helmsman Tanya (1510006) | All over Riena Strait + +portal = { +141000000 : 1, # Glacial Observatory +141010000 : 2, # Ice Station 1 +141010400 : 7, # Nora's Cove +141020000 : 3, # Ice Station 2 +141040000 : 5, # Barbara's House +141030000 : 4, # Ice Station 3 +141050000 : 6, # Glacier Cutter Base +} + +if sm.sendAskYesNo("Navigator, would you like to set sail?"): + sm.warp(141060000, portal[sm.getFieldID()]) diff --git a/scripts/npc/guild_move.py b/scripts/npc/guild_move.py new file mode 100755 index 0000000..94b7c52 --- /dev/null +++ b/scripts/npc/guild_move.py @@ -0,0 +1,4 @@ +response = sm.sendAskYesNo("Would you like to go to the guild headquarters?") + +if response: + sm.warp(200000301, 0) diff --git a/scripts/npc/guild_proc.py b/scripts/npc/guild_proc.py new file mode 100755 index 0000000..f80b81c --- /dev/null +++ b/scripts/npc/guild_proc.py @@ -0,0 +1,25 @@ +from net.swordie.ms.constants import GameConstants + +guild = chr.getGuild() + +if chr.isGuildMaster(): + if guild.getMaxMembers() < GameConstants.MAX_GUILD_MEMBERS: + if sm.sendAskYesNo("Would you like to increase your guild's max capacity? You currently have " + + str(guild.getMaxMembers()) + " members, but I can increase it by 10 for 500,000 mesos."): + if sm.getMesos() < 500000: + sm.sendSayOkay("You do not have enough mesos.") + else: + sm.incrementMaxGuildMembers(10) + sm.deductMesos(500000) + else: + sm.sendSayOkay("Be sure to come back if you change your mind!") + +elif guild is None: + if sm.sendAskYesNo("Would you like to create a guild? This will cost 5 million mesos."): + if sm.getMesos() < 5000000: + sm.sendSayOkay("You do not have enough mesos.") + else: + sm.showGuildCreateWindow() +else: + sm.sendSayOkay("Hey there, I'm in charge of everything guild related. If you want anything done to your guild, " + "you can ask your guild master to come to me.") diff --git a/scripts/npc/guild_union.py b/scripts/npc/guild_union.py new file mode 100755 index 0000000..f1cd099 --- /dev/null +++ b/scripts/npc/guild_union.py @@ -0,0 +1,30 @@ +# Lenario - Manager of Guild Union + +GUILD_ALLIANCE_COST = 5000000 +otherMember = None + +if chr.getParty() is not None: + for pm in chr.getParty().getOnlineMembers(): + other = pm.getChr() + if other is not None and other is not chr and other.getGuild() is not None \ + and other.getGuild().getAlliance() is None and other.getGuild().isGuildMaster(other): + otherMember = other +if chr.getGuild() is None or chr.getGuild().getAlliance() is not None or not chr.getGuild().isGuildMaster(chr) \ + or chr.getParty() is None or otherMember is None: + sm.sendSayOkay("I'm in charge of guild alliances. If you wish to create an alliance, make a party with another " + "guild leader and talk to me again. It will cost you 5 million mesos.") +else: + # for chr + other: guild exists, has no alliance, and have the party members as masters + if sm.sendAskYesNo("I see that you have another guild master in your party. Would you like to create an alliance " + "with them?"): + if sm.getMesos() < GUILD_ALLIANCE_COST: + sm.sendSayOkay("It seems that you're missing some mesos. Make sure you have at least 5 million mesos before " + "trying to create a guild alliance.") + else: + text = sm.sendAskText("Please input your desired alliance name.", "", 4, 20) + while not sm.checkAllianceName(text): + sm.sendAskText("That alliance name is already in use.", "", 4, 20) + else: + sm.createAlliance(text, otherMember) + sm.sendSayOkay("Your alliance has successfully been created!") + diff --git a/scripts/npc/hair_ariant1.py b/scripts/npc/hair_ariant1.py new file mode 100755 index 0000000..959d194 --- /dev/null +++ b/scripts/npc/hair_ariant1.py @@ -0,0 +1,17 @@ +# Ariant VIP Hair +# Male: Afro, Cabana, Dreadlocks, Kravitz Locks, Line Scratch, Mane, Matinee, Natural, Tornade +# Female: Bridget, Celeb, Edgy, Lana, Penelope, Rae, Boyish, Desert Flower, Tighty Bun + +options = [] + +al = chr.getAvatarData().getAvatarLook() +hairColour = al.getHair() % 10 +if al.getGender() == 0: # Male + options = [30320, 30330, 30150, 30900, 30170, 30180, 30820, 30410, 30460] +else: # Female + options = [31090, 31190, 31040, 31420, 31330, 31340, 31620, 31660] +options = list(map(lambda x: x + hairColour, options)) +answer = sm.sendAskAvatar("Choose your new hairstyle!", False, False, options) + +if answer < len(options): + sm.changeCharacterLook(options[answer]) \ No newline at end of file diff --git a/scripts/npc/hair_edel1.py b/scripts/npc/hair_edel1.py new file mode 100755 index 0000000..101a5ea --- /dev/null +++ b/scripts/npc/hair_edel1.py @@ -0,0 +1,16 @@ +# Amoria Hair Salon +# Male: Astro, //Babby, //Battle Mage, Bowling, Cabana, Grand Lionman, Rockstar, Roving Rockstar, //SHaggy Dragon, Slick Dean, Tornade +# Female: Carla, Cecelia Twist, Daisy Do, Jolie, Lori, Minnie, Rose, Roxy, Sunflower Power, Wild Hunter, Zessica +options = [] + +al = chr.getAvatarData().getAvatarLook() +hairColour = al.getHair() % 10 +if al.getGender() == 0: # Male + options = [30350, 30760, 30330, 30560, 30040, 30730, 30470, 30460] +else: # Female + options = [31310, 31490, 37810, 31130, 31160, 31500, 31230, 31320, 31560, 34190, 31530] +options = list(map(lambda x: x + hairColour, options)) +answer = sm.sendAskAvatar("Choose your new hairstyle!", False, False, options) + +if answer < len(options): + sm.changeCharacterLook(options[answer]) diff --git a/scripts/npc/hair_henesys1.py b/scripts/npc/hair_henesys1.py new file mode 100755 index 0000000..78ee2fa --- /dev/null +++ b/scripts/npc/hair_henesys1.py @@ -0,0 +1,17 @@ +# Natalie - Henesys Hair Salon +# Male: Aran cut, Catalyst, Evan hair (m), gaga hair, shaggy wax, the coco, the mo rawk +# Female: Dual blade, front braid, grace, hime, laguna beach, lively wave, long with bangs, wavy bob, wavy ponytail + +options = [] + +al = chr.getAvatarData().getAvatarLook() +hairColour = al.getHair() % 10 +if al.getGender() == 0: # Male + options = [43140, 40250, 33040, 30060, 32350, 33170, 30210, 33100, 30610] +else: # Female + options = [32360, 34400, 31820, 34270, 31860, 34210, 34250, 34490, 31360] +options = list(map(lambda x: x + hairColour, options)) +answer = sm.sendAskAvatar("Choose your new hairstyle!", False, False, options) + +if answer < len(options): + sm.changeCharacterLook(options[answer]) diff --git a/scripts/npc/hair_henesys2.py b/scripts/npc/hair_henesys2.py new file mode 100755 index 0000000..1e7a4a9 --- /dev/null +++ b/scripts/npc/hair_henesys2.py @@ -0,0 +1,9 @@ +option = list(range(8)) +al = chr.getAvatarData().getAvatarLook() +hairNoColour = (al.getHair() / 10) * 10 + +option = list(map(lambda x: (x + hairNoColour), option)) +answer = sm.sendAskAvatar("I can change your hair colour to anything you'd like!", False, False, option) + +if (answer < len(option)): + sm.changeCharacterLook(option[answer]) \ No newline at end of file diff --git a/scripts/npc/hair_kerning1.py b/scripts/npc/hair_kerning1.py new file mode 100755 index 0000000..cf46f38 --- /dev/null +++ b/scripts/npc/hair_kerning1.py @@ -0,0 +1,17 @@ +# Kerning VIP Hair +# Male: Antagonist, Aran Cut, Cornrow, Dragon Tail, Rockstar, Short Top Tail, Male Runway Hair +# Female: Annie, Aran Hair, Curly Stream, Gardener, Pei Pei, Penelope, Ravishing Ravon, Shaggy Dog, Super Diva + +options = [] + +al = chr.getAvatarData().getAvatarLook() +hairColour = al.getHair() % 10 +if al.getGender() == 0: # Male + options = [30130, 33040, 30850, 30780, 30040, 30920, 30860] +else: # Female + options = [31060, 34090, 31520, 31880, 31140, 31330, 31440, 31760, 31750] +options = list(map(lambda x: x + hairColour, options)) +answer = sm.sendAskAvatar("Choose your new hairstyle!", False, False, options) + +if answer < len(options): + sm.changeCharacterLook(options[answer]) \ No newline at end of file diff --git a/scripts/npc/hair_ludi1.py b/scripts/npc/hair_ludi1.py new file mode 100755 index 0000000..4b46dc2 --- /dev/null +++ b/scripts/npc/hair_ludi1.py @@ -0,0 +1,17 @@ +# Ludi VIP Hair +# Male: Afro, Bowl Cut, Fuzz, Hector, Julian, //Tentacle, Trip Scratch, URban +# Female: Apple Hair, Candy Heart, Eye-skimming Bang, Female Runway, Lovely Ladyhawk, Naomi, Pigtails, Ayu +options = [] + +al = chr.getAvatarData().getAvatarLook() +hairColour = al.getHair() % 10 +if al.getGender() == 0: # Male + options = [30250, 30190, 30660, 30870, 30840, 30160, 30640] +else: # Female + options = [31810, 31550, 31830, 31840, 31680, 31290, 31270, 31870] +options = list(map(lambda x: x + hairColour, options)) +answer = sm.sendAskAvatar("Choose your new hairstyle!", False, False, options) + + +if answer < len(options): + sm.changeCharacterLook(options[answer]) \ No newline at end of file diff --git a/scripts/npc/hair_royal.py b/scripts/npc/hair_royal.py new file mode 100755 index 0000000..e2adf48 --- /dev/null +++ b/scripts/npc/hair_royal.py @@ -0,0 +1,2 @@ +# Big Headward | Henesys Hair Salon +sm.sendSayOkay("Hello!\r\nI'm Big Headward") \ No newline at end of file diff --git a/scripts/npc/henrite.py b/scripts/npc/henrite.py new file mode 100755 index 0000000..ff99f45 --- /dev/null +++ b/scripts/npc/henrite.py @@ -0,0 +1,6 @@ +BRIGHTON = 2151001 + +sm.setSpeakerID(2151001) + +sm.sendNext("What is it?\r\n\r\n#L0##bI want to talk to you.") +sm.sendNext("Well... I'm not really that good with words, you see... I'm not the best person to hang around with.") \ No newline at end of file diff --git a/scripts/npc/herb_in.py b/scripts/npc/herb_in.py new file mode 100755 index 0000000..b6dad3c --- /dev/null +++ b/scripts/npc/herb_in.py @@ -0,0 +1,46 @@ +# Shane (1032003) | Ellinia (101000000) +# The Pink Anthurium (Quest 2050) | The Double-Rooted Reg Ginseng (Quest 2051) +# Author: Tiger + +mesos = chr.getLevel() * 200 + +if sm.hasQuest(2050): # Forest of Endurance - The Pink Anthurium + response = sm.sendAskYesNo("You want my herbs, do you? What kind of farmer would just let people trample over his family land? But... I could use the money. I need at least #r" + str(mesos) + "#k mesos to feel good about this.") + if response: + if sm.getMesos() > mesos: + sm.deductMesos(mesos) + sm.warp(910130000) # The Forest of Endurance Stage 1 + else: + sm.sendSayOkay("Sorry but it doesn't look like you have enough mesos!") + else: + sm.sendSayOkay("Alright, see you next time.") + +elif sm.hasQuestCompleted(2050) and not sm.hasQuest(2051): # free of charge if completed quest already + response = sm.sendAskYesNo("Would you like to enter The Forest of Endurance?") + if response: + sm.warp(910130000) # The Forest of Endurance Stage 1 + else: + sm.sendSayOkay("Alright, see you next time.") + +elif sm.hasQuest(2051): # Forest of Endurance - The Double-Rooted Reg Ginseng + response = sm.sendAskYesNo("Back again?! Well, I'm going to need at least #r" + str(mesos) + "#k mesos if you want me to turn a blind eye. I don't care if you ARE working for #b#p" + str(1103003) + "##k. What do you say?") + if response: + if sm.getMesos() > mesos: + sm.deductMesos(mesos) + sm.warp(910130100) # The Forest of Endurance Stage 3 + else: + sm.sendSayOkay("Sorry but it doesn't look like you have enough mesos!") + +else: # If has never started quest 2050 + response = sm.sendAskYesNo("Hi, i'm Shane. I can let you into the Forest of Patience for a small fee. Would you like to enter for #b" + str(mesos) + "#k mesos?") + if response: + if chr.getLevel() > 25: + if sm.getMesos() > mesos: + sm.deductMesos(mesos) + sm.warp(910130000) # The Forest of Endurance Stage 1 + else: + sm.sendSayOkay("Sorry but it doesn't look like you have enough mesos!") + else: + sm.sendSayOkay("You must be a higher level to enter the Forest of Endurance.") + else: + sm.sendSayOkay("Alright, see you next time.") diff --git a/scripts/npc/herb_out.py b/scripts/npc/herb_out.py new file mode 100755 index 0000000..7512fe4 --- /dev/null +++ b/scripts/npc/herb_out.py @@ -0,0 +1,5 @@ +# Louis (1032004) | Forest of Endurance : Stage 1 - 5 (910130000 - 910130102) +# Author: Tiger + +if sm.sendAskYesNo("Would you like to return to Ellinia?"): + sm.warp(101000000); diff --git a/scripts/npc/herbalism.py b/scripts/npc/herbalism.py new file mode 100755 index 0000000..0f5a882 --- /dev/null +++ b/scripts/npc/herbalism.py @@ -0,0 +1,40 @@ +# Hidden Street - Ardentmill :: 910001000 +# Saffron :: Master of Herbalism :: 9031001 + +HERBALISM_SKILL = 92000000 +FEE = [5000, 15000, 25000, 40000, 60000, 85000, 115000, 150000, 190000, 235000] + +if not sm.hasSkill(HERBALISM_SKILL): + selection = sm.sendSay("Hello. What can I help you with?\r\n#L0#Hear an explanation about #b#eHerbalism#n.#l\r\n#L1#Learn #eHerbalism#n.#k#l") + if selection == 0: + sm.sendNext("Herbalism lets you gather herbs. You can buy Oil Bottles from #p9031007# to refine the herbs and use them as materials to craft equipment, accessories, alchemy tools, and the like.") + if selection == 1: + learn = sm.sendAskYesNo("To learn #bHerbalism#k, you must pay #b5,000 Mesos#k. You sure you want to learn it?\r\n") + if learn: + if sm.getMesos() < FEE[0]: + sm.sendNext("Umm... I don't think you have enough money... I'm sorry, but please bring #b5000 Mesos#k.") + sm.dispose() + + sm.giveMesos(-FEE[0]) + sm.giveSkill(HERBALISM_SKILL, 0x1000000, 10) + sm.playSound("profession/levelup") + sm.sendNext("Congratulations! You're an Herbalist. See me again when you've increased your Mastery and I'll level up your Herbalism skill.") + else: + sm.sendNext("Ah, it's smart not to rush into anything. Come back after you've pondered it some more.") +else: + selection = sm.sendSay("Hello. What can I help you with?\r\n#L2##bLevel up #eHerbalism#n.#l\r\n#L3##bTrade #t4022023#.#k#l") + if selection == 2: + if sm.isAbleToLevelUpMakingSkill(HERBALISM_SKILL): + levelup = sm.sendAskYesNo("Looks like you're ready to level up your Herbalism. I'll take #b" + str(FEE[sm.getMakingSkillLevel(HERBALISM_SKILL)]) + " Mesos#k as tuition. Ready to learn?") + if levelup: + if sm.getMesos() < FEE[sm.getMakingSkillLevel(HERBALISM_SKILL)]: + sm.sendNext("You don't have enough mesos.") + sm.dispose() + sm.giveMesos(-FEE[sm.getMakingSkillLevel(HERBALISM_SKILL)]) + sm.makingSkillLevelUp(HERBALISM_SKILL) + sm.sendNext("Your Herbalism skill is now Lv. " + str(sm.getMakingSkillLevel(HERBALISM_SKILL)) +".") + else: + sm.sendNext("Sure, take some time to think it over. I'll be here.") + sm.dispose() + else: + sm.sendNext("Have you been working on your Mastery? You can't level up this Profession yet.") \ No newline at end of file diff --git a/scripts/npc/hillah_accept.py b/scripts/npc/hillah_accept.py new file mode 100755 index 0000000..5db8e0e --- /dev/null +++ b/scripts/npc/hillah_accept.py @@ -0,0 +1,55 @@ +from net.swordie.ms.constants import BossConstants +from net.swordie.ms.enums import EventType + +# Mode, Required Level, Map ID, Death Count, Event Type, Cooldown, Hour String + +destinations = [ + ["Normal", 120, 262030100, 5, EventType.Hilla, 43200000, 12], + ["Hard", 170, 262031100, 5, EventType.HHilla, 64800000, 18], +] + +runsPerDay = 1 + +if sm.getFieldID() == 262030000: + def is_party_eligible(reqlevel, party): + for member in party.getMembers(): + if member.getLevel() < reqlevel: + return False + + return True + + sm.sendAskYesNo + + dialog = "Do you want to head to '#bHilla's Tower#k' to fight \r\n#bHilla#k?\r\n" + + for i in range(len(destinations)): + dialog += "#L%d##bGo to Hilla's Tower (%s Mode) #r(Lv. %d+)#b#l\r\n" % (i, destinations[i][0], destinations[i][1]) + + dialog += "#L99#Never mind." + response = sm.sendSay(dialog) + + if sm.getParty() is None: + sm.sendSayOkay("Please create a party before going in.") + sm.dispose() + + elif not sm.isPartyLeader(): + sm.sendSayOkay("Please have your party leader talk to me if you wish to face #bHilla#k.") + sm.dispose() + + elif sm.partyHasCoolDown(destinations[response][4], runsPerDay): + timeUntilReset = sm.getTimeUntilEventReset(destinations[response][4]) + sm.sendNext("You or one of your party member has already attempted facing \r\n#bHilla#k within the past " + str(destinations[response][6]) + " Hours.\r\n You have " + timeUntilReset + " left on your cooldown.") + sm.dispose() + + elif sm.checkParty() and response != 99: + if is_party_eligible(destinations[response][1], sm.getParty()): + sm.setPartyDeathCount(destinations[response][3]) + sm.warpInstanceIn(destinations[response][2], True) + sm.setInstanceTime(BossConstants.HILLA_TIME) + sm.addCooldownTimeForParty(destinations[response][4], destinations[response][5]) + else: + sm.sendSayOkay("One or more party members are lacking the prerequisite entry quests, or are below level #b%d#k." % destinations[response][1]) +else: + if 262030100 <= sm.getFieldID() <= 262031300: + if sm.sendAskYesNo("Are you sure you want to leave the battlefield?"): + sm.WarpInstanceOut(262000000) \ No newline at end of file diff --git a/scripts/npc/himmel.py b/scripts/npc/himmel.py new file mode 100755 index 0000000..2e912f3 --- /dev/null +++ b/scripts/npc/himmel.py @@ -0,0 +1,4 @@ +# Hidden Street - Ardentmill :: 910001000 +# Grant Elder :: 9031000 +sm.sendNext("Interested in Professions, eh? Let me give you a brief introduction.\nOur town is home to 5 master artisans who practice #bHerbalism, Mining, Smithing, Accessory Crafting, and Alchemy#k. The Master Artisan Association has a rule that limits each individual to 2 Professions, and each Profession you learn must complement each other. Accordingly, you can select and learn up to #r2 Professions#k.") +sm.sendPrev("#b - Herbalism + Alchemy\n- Mining + Smithing\n- Mining + Accessory Crafting#k\n\nYou can learn any of these 3 combinations of Professions. It is up to you to choose your own path from there.") \ No newline at end of file diff --git a/scripts/npc/holyStone.py b/scripts/npc/holyStone.py new file mode 100755 index 0000000..c52372b --- /dev/null +++ b/scripts/npc/holyStone.py @@ -0,0 +1,15 @@ +# Holy Stone - Holy Ground at the Snowfield (3rd job) + +questIDs = [1431, 1432, 1433, 1435, 1436, 1437, 1439, 1440, 1442, 1443, 1445, 1446, 1447, 1448] + +hasQuest = False +for qid in questIDs: + if sm.hasQuest(qid): + hasQuest = True + break +if hasQuest: + if sm.sendAskYesNo("#b(A mysterious energy surrounds this stone. Do you want to investigate?)"): + sm.warpInstanceIn(910540000, 0) +else: + sm.sendSayOkay("#b(A mysterious energy surrounds this stone)#k") + diff --git a/scripts/npc/hontale_Bdoor.py b/scripts/npc/hontale_Bdoor.py new file mode 100755 index 0000000..8293f5b --- /dev/null +++ b/scripts/npc/hontale_Bdoor.py @@ -0,0 +1,8 @@ +# Stump at the Room of Maze +# Cave of Life | Room of Maze +# Warps players into the Horntail jump quest + +if sm.isPartyLeader(): + sm.warpInstanceIn(240050101, 1) +else: + sm.systemMessage("Only your party leader may enter..") \ No newline at end of file diff --git a/scripts/npc/hontale_accept.py b/scripts/npc/hontale_accept.py new file mode 100755 index 0000000..fa56e3d --- /dev/null +++ b/scripts/npc/hontale_accept.py @@ -0,0 +1,53 @@ +from net.swordie.ms.constants import BossConstants +from net.swordie.ms.constants import GameConstants +from net.swordie.ms.enums import EventType + +# Mode, Required Level, Map ID, Death Count, Event Type, Cooldown, Hour String + +destinations = [ + ["Easy", 130, 240060000, 5, EventType.EHorntail, 21600000, 6], + ["Normal", 130, 240060002, 5, EventType.Horntail, 43200000, 12], + ["Chaos", 130, 240060001, 5, EventType.CHorntail, 43200000, 12], +] + +runsPerDay = 1 + +if sm.getFieldID() == 240050400: + def is_party_eligible(reqlevel, party): + for member in party.getMembers(): + if member.getLevel() < reqlevel: + return False + + return True + + dialog = "Do you want to head to '#bHorntaial's Cave#k' to fight \r\n#bHorntail#k?\r\n" + + for i in range(len(destinations)): + dialog += "#L%d##bGo to the Horntail's Cave (%s Mode) #r(Lv. %d+)#b#l\r\n" % (i, destinations[i][0], destinations[i][1]) + + dialog += "#L99#Never mind." + response = sm.sendSay(dialog) + + if sm.getParty() is None: + sm.sendSayOkay("Please create a party before going in.") + sm.dispose() + + elif not sm.isPartyLeader(): + sm.sendSayOkay("Please have your party leader talk to me if you wish to face #bHorntail#k.") + sm.dispose() + + elif sm.partyHasCoolDown(destinations[response][4], runsPerDay): + timeUntilReset = sm.getTimeUntilEventReset(destinations[response][4]) + sm.sendNext("You or one of your party member has already attempted facing \r\n#bHorntail#k within the past " + str(destinations[response][6]) + " Hours.\r\n You have " + timeUntilReset + " left on your cooldown.") + sm.dispose() + + elif sm.checkParty() and response != 99: + if is_party_eligible(destinations[response][1], sm.getParty()): + sm.setPartyDeathCount(destinations[response][3]) + sm.warpInstanceIn(destinations[response][2], True) + sm.setInstanceTime(BossConstants.HORNTAIL_NORMAL_TIME) + sm.addCooldownTimeForParty(destinations[response][4], destinations[response][5]) + sm.createQuestWithQRValue(GameConstants.EASY_HORNTAIL_QUEST, "1") + sm.setPartyQRValue(GameConstants.EASY_HORNTAIL_QUEST, "1") + else: + sm.sendSayOkay("One or more party members are lacking the prerequisite entry quests, or are below level #b%d#k." % destinations[response][1]) diff --git a/scripts/npc/hontale_enterToE.py b/scripts/npc/hontale_enterToE.py new file mode 100755 index 0000000..5daf6b7 --- /dev/null +++ b/scripts/npc/hontale_enterToE.py @@ -0,0 +1,9 @@ +# Encrypted Slate of the Squad(2083000) | Cave of Life, Cave Entrance + +ROOM_OF_MAZE = 240050100 + +if sm.isPartyLeader(): + if sm.sendAskYesNo("The letters on the slate glitter and the backdoor opens. Do you want to go to the secret path?"): + sm.invokeForParty("warp", 240050400) +else: + sm.sendSayOkay("Only the party leader may proceed to the Horntail quest.") \ No newline at end of file diff --git a/scripts/npc/hontale_out.py b/scripts/npc/hontale_out.py new file mode 100755 index 0000000..abd4a87 --- /dev/null +++ b/scripts/npc/hontale_out.py @@ -0,0 +1,5 @@ +# Crystal of Roots(2083002) | Cave of Life, Entrance to Horntail's Cave +if sm.getFieldID() == 240050400: + sm.warp(240040700, 0) +elif sm.sendAskYesNo("Are you sure you want to leave the battlefield?"): + sm.warpInstanceOut(240050400, 0) \ No newline at end of file diff --git a/scripts/npc/hotel1.py b/scripts/npc/hotel1.py new file mode 100755 index 0000000..1f1cc6d --- /dev/null +++ b/scripts/npc/hotel1.py @@ -0,0 +1,32 @@ +# Hotel Receptionist (1061100) | Sleepywood Hotel + + +array = [# Name, MesoCost, Map ID + ["Regular", 499, 105000011], + ["VIP", 999, 105000012] + ] + +sm.sendNext("Welcome. We're the Sleepywood Hotel. " + "Our hotel works hard to serve you the best at all times. " + "If you are tired and worn out from hunting, how about a relaxing stay at our hotel?") + + +selection = sm.sendNext("We offer two kinds of rooms for our service. " + "Please choose the one of your liking.\r\n#b" + "#L0#"+ array[0][0] +" sauna (" + str(array[0][1]) + " mesos)#l\r\n" + "#L1#"+ array[1][0] +" sauna (" + str(array[1][1]) + " mesos)#l") + +if selection == 0: + response = sm.sendAskYesNo("You have chosen the regular sauna. \r\n" + "Your HP and MP will recover fast and you can even purchase some items there. " + "Are you sure you want to go in?") +elif selection == 1: + response = sm.sendAskYesNo("You've chosen the VIP sauna. \r\n" + "Your HP and MP will recover even faster than that of the regular sauna and you can even find a special item in there. " + "Are you sure you want to go in?") + +if sm.getMesos() < array[selection][1]: + sm.sendSayOkay("I'm sorry. It looks like you don't have enough mesos. It will cost you at least " + str(array[selection][1]) + " mesos to stay at our "+ array[selection][0] +" sauna.") +else: + sm.warp(array[selection][2], 0) + sm.deductMesos(array[selection][1]) diff --git a/scripts/npc/huntingZoneIn.py b/scripts/npc/huntingZoneIn.py new file mode 100755 index 0000000..b4b6589 --- /dev/null +++ b/scripts/npc/huntingZoneIn.py @@ -0,0 +1,44 @@ +maps = { + 102040600 : 931050410, + 260010201 : 931050415, + 261010002 : 931050434, + 261010103 : 931050435, + 261020500 : 931050417, + 261020200 : 931050424, + 240010200 : 931050419, + 240010600 : 931050420, + 240020101 : 931050426, + 240020401 : 931050425, + 240020200 : 931050422, + 220040200 : 931050413, + 211041400 : 931050428, + 250010502 : 931050436, + 251010500 : 931050418, + 220080000 : 931050427, + 230040410 : 931050429, + 240040400 : 931050430, + 270010500 : 931050431, + 270020500 : 931050432, + 270030500 : 931050433, +} + +# TODO add a timer for these maps + +MYSTIC_GATE = 9073008 +time = 6 * 60 +map = sm.getFieldID() + +sm.setSpeakerID(MYSTIC_GATE) + +if sm.canWarpSilentCrusade(maps[map]): + response = sm.sendAskYesNo("Do you want to enter?") + + if not sm.getFieldID() in maps: + sm.sendSayOkay("Sorry, I haven't been coded for this map yet. Please notify the devs") + sm.dispose() + + if response: + sm.warpInstanceIn(maps[sm.getFieldID()], 0) + sm.setInstanceTime(time) +else: + sm.sendSayOkay("I must rest, too many brave fighters have battled here today.") \ No newline at end of file diff --git a/scripts/npc/iceman_Reward.py b/scripts/npc/iceman_Reward.py new file mode 100755 index 0000000..d80d159 --- /dev/null +++ b/scripts/npc/iceman_Reward.py @@ -0,0 +1,7 @@ +# Created by MechAviv +# Map ID :: 100000000 +# NPC ID :: 2159018 +# Von + +sm.setSpeakerID(2159018) +selection = sm.sendNext("#eParty Quest: The Ice Knight's Curse#n\r\nShhh! The Ice Knight will find us if we're too loud! If he curses you, you'll end up like my friend. Do you want that? No? Then help my friend break his curse!\r\n#b#L0# Okay, I'll help your friend.#l\r\n#L1# I need more details.#l\r\n#L2# Look, I just want the Ice Knight's special item.#l\r\n#L3# I want to know how many attempts I have left.#l") \ No newline at end of file diff --git a/scripts/npc/illex.py b/scripts/npc/illex.py new file mode 100755 index 0000000..f333776 --- /dev/null +++ b/scripts/npc/illex.py @@ -0,0 +1,6 @@ +ELEX = 2151000 + +sm.setSpeakerID(ELEX) + +sm.sendNext("What is it?\r\n\r\n#L0##bI want to talk to you.") +sm.sendNext("It's important to keep a balance between power and skills.") \ No newline at end of file diff --git a/scripts/npc/infoArcher.py b/scripts/npc/infoArcher.py new file mode 100755 index 0000000..6a6077a --- /dev/null +++ b/scripts/npc/infoArcher.py @@ -0,0 +1,20 @@ +# Created by MechAviv +# [Athena Pierce] | [10200] +# Maple Road : Split Road of Destiny + +sm.setSpeakerID(10200) +sm.sendNext("Bowmen are blessed with dexterity and power, taking charge of long-distance attacks, providing support for those at the front line of the battle. Very adept at using landscape as part of the arsenal.") + + +sm.setSpeakerID(10200) +if sm.sendAskYesNo("Would you like to experience what it's like to be a Bowman?"): + sm.setTemporarySkillSet(0) + + sm.createQuestWithQRValue(32219, "4000026") + # Unhandled Message [47] Packet: 2F 01 00 00 00 B0 83 08 00 00 00 00 00 2E 02 00 00 00 00 00 80 05 BB 46 E6 17 02 00 00 + sm.warp(1020300, 0) +else: + sm.setSpeakerID(10200) + sm.sendNext("If you wish to experience what it's like to be a Bowman, come see me again.") + + diff --git a/scripts/npc/infoMagician.py b/scripts/npc/infoMagician.py new file mode 100755 index 0000000..7e65209 --- /dev/null +++ b/scripts/npc/infoMagician.py @@ -0,0 +1,19 @@ +# Created by MechAviv +# [Grendel the Really Old] | [10201] +# Maple Road : Split Road of Destiny + +sm.setSpeakerID(10201) +sm.sendNext("Magicians are armed with flashy element-based spells and secondary magic that aids party as a whole. After the 2nd job adv., the elemental-based magic will provide ample amount of damage to enemies of opposite element.") + + +sm.setSpeakerID(10201) +if sm.sendAskYesNo("Would you like to experience what it's like to be a Magician?"): + sm.setTemporarySkillSet(0) + sm.createQuestWithQRValue(32219, "4000026") + # Unhandled Message [47] Packet: 2F 01 00 00 00 B0 83 08 00 00 00 00 00 2E 02 00 00 00 00 00 80 05 BB 46 E6 17 02 00 00 + sm.warp(1020200, 0) +else: + sm.setSpeakerID(10201) + sm.sendNext("If you wish to experience what it's like to be a Magician, come see me again.") + + diff --git a/scripts/npc/infoPirate.py b/scripts/npc/infoPirate.py new file mode 100755 index 0000000..1b2e2b0 --- /dev/null +++ b/scripts/npc/infoPirate.py @@ -0,0 +1,17 @@ +# Created by MechAviv +# [Kyrin] | [10204] +# Maple Road : Split Road of Destiny + +sm.setSpeakerID(10204) +sm.sendNext("Pirates are blessed with outstanding dexterity and power, utilizing their guns for long-range attacks while using their power in melee combat situations. Gunslingers use elemental-based bullets for added damage, while Brawlers transform into a different being for maximum effect.") + + +sm.setSpeakerID(10204) +if sm.sendAskYesNo("Would you like to experience what it's like to be a Pirate?"): + sm.setTemporarySkillSet(0) + sm.createQuestWithQRValue(32219, "4000026") + # Unhandled Message [47] Packet: 2F 01 00 00 00 B0 83 08 00 00 00 00 00 2E 02 00 00 00 00 00 80 05 BB 46 E6 17 02 00 00 + sm.warp(1020500, 0) +else: + sm.setSpeakerID(10204) + sm.sendNext("If you wish to experience what it's like to be a Pirate, come see me again.") \ No newline at end of file diff --git a/scripts/npc/infoRogue.py b/scripts/npc/infoRogue.py new file mode 100755 index 0000000..110fc0d --- /dev/null +++ b/scripts/npc/infoRogue.py @@ -0,0 +1,19 @@ +# Created by MechAviv +# [Dark Lord] | [10203] +# Maple Road : Split Road of Destiny + +sm.setSpeakerID(10203) +sm.sendNext("Thieves are a perfect blend of luck, dexterity, and power that are adept at surprise attacks against helpless enemies. A high level of avoidability and speed allows Thieves to attack enemies from various angles.") + + +sm.setSpeakerID(10203) +if sm.sendAskYesNo("Would you like to experience what it's like to be a Thief?"): + sm.setTemporarySkillSet(0) + + sm.createQuestWithQRValue(32219, "4000026") + sm.warp(1020400, 0) +else: + sm.setSpeakerID(10203) + sm.sendNext("If you wish to experience what it's like to be a Thief, come see me again.") + + diff --git a/scripts/npc/infoSwordman.py b/scripts/npc/infoSwordman.py new file mode 100755 index 0000000..fcb1da7 --- /dev/null +++ b/scripts/npc/infoSwordman.py @@ -0,0 +1,17 @@ +# Created by MechAviv +# [Dances with Balrog] | [10202] +# Maple Road : Split Road of Destiny + +sm.setSpeakerID(10202) +sm.sendNext("Warriors possess an enormous power with stamina to back it up, and they shine the brightest in melee combat situation. Regular attacks are powerful to begin with, and armed with complex skills, the job is perfect for explosive attacks.") + + +sm.setSpeakerID(10202) +if sm.sendAskYesNo("Would you like to experience what it's like to be a Warrior?"): + sm.setTemporarySkillSet(0) + sm.createQuestWithQRValue(32219, "4000026") + # Unhandled Message [47] Packet: 2F 01 00 00 00 B0 83 08 00 00 00 00 00 2E 02 00 00 00 00 00 80 05 BB 46 E6 17 02 00 00 + sm.warp(1020100, 0) +else: + sm.setSpeakerID(10202) + sm.sendNext("If you wish to experience what it's like to be a Warrior, come see me again.") \ No newline at end of file diff --git a/scripts/npc/intoResiTR.py b/scripts/npc/intoResiTR.py new file mode 100755 index 0000000..8420868 --- /dev/null +++ b/scripts/npc/intoResiTR.py @@ -0,0 +1,21 @@ +# Resistance Training Room Entrance +ELEVATOR_CONTROL = 2151007 +FERDI = 2151010 +preQs = [23103, 23104, 23105, 23106, 23118] +preQsDemon = [23231, 23232, 23233, 23234] +maps = [310010100, 310010200, 310010300, 310010400, 931000400] + +sm.setSpeakerID(ELEVATOR_CONTROL) +selection = sm.sendNext("An elevator that will take you to your desired training room. Choose the floor you'd like to go to.\r\n\r\n#b#L0#Underground 2nd Floor Training Room A#l\r\n#L1#Underground 3rd Floor Training Room B#l\r\n#L2#Underground 4th Floor Training Room C#l\r\n#L3#Underground 5th Floor Training Room D#l\r\n#L4#Underground 6th Floor Training Room E#l") + +if selection == 4 and sm.hasQuest(preQs[selection]): + # TODO: can you come in here anymore after turning in quest? + sm.warpInstanceIn(maps[selection], False) + sm.setInstanceTime(5*60) + sm.dispose() + +if (not sm.hasQuest(preQs[selection]) and not sm.hasQuestCompleted(preQs[selection]) and not sm.hasQuest(preQsDemon[selection]) and not sm.hasQuestCompleted(preQsDemon[selection])): + sm.setSpeakerID(2151010) + sm.sendSayOkay("You are not at the right level to go there yet.") + sm.dispose() +sm.warp(maps[selection], 1) diff --git a/scripts/npc/inv-seller.py b/scripts/npc/inv-seller.py new file mode 100755 index 0000000..a7fffb3 --- /dev/null +++ b/scripts/npc/inv-seller.py @@ -0,0 +1,117 @@ +# Custom NPC script used for @sell player command +# Author: Clueless Cow + +from net.swordie.ms.loaders import ItemData +from net.swordie.ms.constants import ItemConstants +from net.swordie.ms.enums import InvType + +def disposeAll(): + sm.dispose() + chr.dispose() + +def sellItemsFromTab(invType = InvType.EQUIP): + # query inv info + inventory = chr.getInventoryByType(invType) + invItems = inventory.getItems() + tabName = "" + if invType == InvType.CONSUME: + tabName = "CONSUME" + elif invType == InvType.ETC: + tabName = "ETC" + else: + tabName = "EQUIPMENT" + + # empty inv + if len(invItems) == 0: + sm.sendSayOkay("You have no item to sell") + disposeAll() + return + + # has at least 1 item in inv + if len(invItems) == 1: + # only has 1 item, proceed to ask for confirmation + sellingItems = list(invItems) + _itemId = invItems.get(0).getItemId() + confirmed = sm.sendAskYesNo("Are you sure you want to sell #i{}# #z{}#".format(_itemId, _itemId)) + else: + # has more than 1 item, prompt mode selection + optionList = "Please select what you want to sell in your {} tab:\r\n#L1##rEverything#k#l\r\n#L2##gSell between selected items#k#l\r\n#L3#Maybe later#l\r\n".format(tabName) + option = sm.sendNext(optionList) + if option: + if option == 1: + # sell everything + sellingItems = list(invItems) + confirmed = sm.sendAskYesNo("Are you sure you want to sell #rEVERYTHING#k in your Equipment inventory?") + if option == 2: + # sell from/to + sortedItems = list(invItems) + sortedItems.sort(key=lambda x: x.getBagIndex()) + itemListTemplate = "This option will sell all available items between STARTING item and ENDING item.\r\nPlease select #r#k item:\r\n" + for item in sortedItems: + itemListTemplate += "#L{}##i{}# #z{}##l\r\n".format(item.getBagIndex(), item.getItemId(), item.getItemId()) + startIndex = sm.sendNext(itemListTemplate.replace("", "STARTING")) + endIndex = sm.sendNext(itemListTemplate.replace("", "ENDING")) + if startIndex > endIndex: + startIndex, endIndex = endIndex, startIndex + sellingItems = filter(lambda x: (startIndex <= x.getBagIndex() <= endIndex), sortedItems) + soldItemsTemplate = "You will sell the following items:\r\n" + for item in sellingItems: + soldItemsTemplate += "#i{}# #z{}#\r\n".format(item.getItemId(), item.getItemId(), item.getBagIndex()) + confirmed = sm.sendAskYesNo(soldItemsTemplate) + else: + # 'maybe later' option / no response + disposeAll() + return + # finish asking for selling items, proceed to actually sell it + if not confirmed: + sm.sendSayOkay("Thank you for using my service") + disposeAll() + return + + # player confirmed + totalMesos = 0 + for item in sellingItems: + cost = 0 + id = item.getItemId() + quantity = item.getQuantity() + if ItemConstants.isEquip(id): + cost = item.getPrice() * quantity + else: + info = ItemData.getItemInfoByID(id) + if info: + cost = info.getPrice() * quantity + else: + continue + totalMesos += cost + + if chr.canAddMoney(totalMesos): + # remove item from inv + for soldItem in sellingItems: + _id = soldItem.getItemId() + _quantity = soldItem.getQuantity() + if ItemConstants.isEquip(_id): + chr.consumeItem(soldItem) + else: + chr.consumeItem(_id, _quantity) + # add money + chr.addMoney(totalMesos) + sm.sendSayOkay("You've received {} mesos. Thank you for using my service!".format(totalMesos)) + disposeAll() + return + else: + sm.sendSayOkay("#rYou've reached maximum meso cap.#k Please deposit at least {} mesos and run the command again!".format(totalMesos)) + disposeAll() + return + +inventoryList = "Please which inventory you want to sell:\r\n#L1#Equipment#l\r\n#L2#Consume#l\r\n#L3#ETC#l\r\n" +selectedInv = sm.sendNext(inventoryList) + +if selectedInv == 1: + sellItemsFromTab(InvType.EQUIP) +elif selectedInv == 2: + sellItemsFromTab(InvType.CONSUME) +elif selectedInv == 3: + sellItemsFromTab(InvType.ETC) +else: + sm.sendSayOkay("Invalid inventory. Please run the command again!") + disposeAll() diff --git a/scripts/npc/ipia_teleport.py b/scripts/npc/ipia_teleport.py new file mode 100755 index 0000000..9e2a040 --- /dev/null +++ b/scripts/npc/ipia_teleport.py @@ -0,0 +1,4 @@ +# Ifia : Queen +# Warps to Von Leon boss battle + +sm.warp(211070000, 1) # Audience Room Corridor \ No newline at end of file diff --git a/scripts/npc/item2607.py b/scripts/npc/item2607.py new file mode 100755 index 0000000..8c507a0 --- /dev/null +++ b/scripts/npc/item2607.py @@ -0,0 +1,4 @@ +if sm.hasQuest(2607): + if not sm.hasItem(4033178): + sm.giveItem(4033178) + sm.sendNext("(The Owl passes you a seal, a look of utmost indifference on his face. Then it flaps its wings and shoos you away.)") \ No newline at end of file diff --git a/scripts/npc/jaguar_in.py b/scripts/npc/jaguar_in.py new file mode 100755 index 0000000..4a3ce8a --- /dev/null +++ b/scripts/npc/jaguar_in.py @@ -0,0 +1,14 @@ +# Black Jack - Resistance Headquarters : Secret Plaza + +from net.swordie.ms.constants import JobConstants + +BLACK_JACK = 2151008 + +sm.setSpeakerID(BLACK_JACK) +if not JobConstants.isWildHunter(sm.getChr().getJob()): + sm.sendSayOkay("Grrrr....(You can't enter. Only Wild Hunters may enter.)") + sm.dispose() + +response = sm.sendAskYesNo("Do you want to enter the jaguar habitat?") +if response: + sm.warp(931000500, 0) \ No newline at end of file diff --git a/scripts/npc/jane.py b/scripts/npc/jane.py new file mode 100755 index 0000000..c0e1c2c --- /dev/null +++ b/scripts/npc/jane.py @@ -0,0 +1 @@ +sm.sendSayOkay("Hey!") diff --git a/scripts/npc/jett00.py b/scripts/npc/jett00.py new file mode 100755 index 0000000..6abea32 --- /dev/null +++ b/scripts/npc/jett00.py @@ -0,0 +1,9 @@ +sm.sendSayOkay("#bAlien Party Quest#k can give you a variety of useful equipment." + " To get this equipment you must clear each stage. Upon clearing each stage you will have a #b2.5#k% chance to receive one of the items listed bellow and a #b0.5#k% chance to receive one of the special items from stage 5 " + "\r\n\r\n#b#e" + "#v1032191# #z1032191#.\r\n" + "#v1113038# #z1113038#.\r\n" + "#v1122256# #z1122256#.\r\n\r\n" + "#k#nThese are the items you can receive from killing the Visitor Boss in stage 5\r\n\r\n#b#e" + "#v1003893# #z1003893#.\r\n" + "#v1132230# #z1132230#.\r\n") \ No newline at end of file diff --git a/scripts/npc/jett_tuto_10_1.py b/scripts/npc/jett_tuto_10_1.py new file mode 100755 index 0000000..e0891d8 --- /dev/null +++ b/scripts/npc/jett_tuto_10_1.py @@ -0,0 +1,66 @@ +# Created by MechAviv +# Map ID :: 620100041 +# Nautilus : Wrecked Airship 1 + +if "1" not in sm.getQRValue(5673): + sm.setSpeakerID(9270086) + sm.setSpeakerType(3) + sm.removeEscapeButton() + sm.flipSpeaker() + sm.flipBoxChat() + sm.sendNext("Check that portal over yonder. That thing I saw was heading in that direction.") +else: + sm.curNodeEventEnd(True) + sm.setTemporarySkillSet(0) + sm.setInGameDirectionMode(False, True, False, False) + sm.setSpeakerID(9270086) + sm.setSpeakerType(3) + sm.removeEscapeButton() + sm.flipSpeaker() + sm.flipBoxChat() + sm.sendNext("What are you thinking, crashing that hunk of junk on my beaches? You're helpin' me clean up.") + + + sm.curNodeEventEnd(True) + sm.setSpeakerID(9270086) + sm.setSpeakerType(3) + sm.removeEscapeButton() + sm.flipSpeaker() + sm.flipBoxChat() + sm.sendSay("You came hurtling out of the sky at a thousand miles an hour, explode, and you think I'M gonna take care of this myself?") + + + sm.setSpeakerID(9270086) + sm.setSpeakerType(3) + sm.removeEscapeButton() + sm.setPlayerAsSpeaker() + sm.boxChatPlayerAsSpeaker() + sm.sendSay("Have you seen a guy with clothes like mine? He was with me... ") + + + sm.setSpeakerID(9270086) + sm.setSpeakerType(3) + sm.removeEscapeButton() + sm.flipSpeaker() + sm.flipBoxChat() + sm.sendSay("I swear I saw something black and red dive out of that wreckage before I came up. Red hair, maybe?") + + + sm.sendDelay(1000) + + + sm.showEffect("Effect/DirectionNewPirate.img/newPirate/balloonMsg1/15", 2000, 0, -100, -2, -2, False, 0) + sm.sendDelay(1500) + + + sm.setSpeakerID(9270086) + sm.setSpeakerType(3) + sm.removeEscapeButton() + sm.setPlayerAsSpeaker() + sm.boxChatPlayerAsSpeaker() + sm.sendNext("#b(That sorta sounds like #p9270083#. He must be scouting the area for enemies. Couldn't ask for a better captain.)#k") + + + sm.createQuestWithQRValue(5673, "1") + sm.setTemporarySkillSet(0) + sm.setInGameDirectionMode(False, True, False, False) diff --git a/scripts/npc/jett_tuto_11_0.py b/scripts/npc/jett_tuto_11_0.py new file mode 100755 index 0000000..931114a --- /dev/null +++ b/scripts/npc/jett_tuto_11_0.py @@ -0,0 +1,72 @@ +# Created by MechAviv +# Map ID :: 620100041 +# Nautilus : Wrecked Airship 1 +# NPC ID :: 9270086 +# Black Bark + +if "1" not in sm.getQRValue(5673): + sm.curNodeEventEnd(True) + sm.setTemporarySkillSet(0) + sm.setInGameDirectionMode(True, True, False, False) + + sm.setSpeakerID(9270086) + sm.removeEscapeButton() + sm.flipSpeaker() + sm.setSpeakerType(3) + sm.sendNext("What are you thinking, crashing that hunk of junk on my beaches? You're helpin' me clean up.") + + + sm.curNodeEventEnd(True) + sm.setSpeakerID(9270086) + sm.removeEscapeButton() + sm.flipSpeaker() + sm.setSpeakerType(3) + sm.sendSay("You came hurtling out of the sky at a thousand miles an hour, explode, and you think I'M gonna take care of this myself?") + + + sm.setSpeakerID(9270086) + sm.removeEscapeButton() + sm.setPlayerAsSpeaker() + sm.setSpeakerType(3) + sm.sendSay("Have you seen a guy with clothes like mine? He was with me... ") + + + sm.setSpeakerID(9270086) + sm.removeEscapeButton() + sm.flipSpeaker() + sm.setSpeakerType(3) + sm.sendSay("I swear I saw something black and red dive out of that wreckage before I came up. Red hair, maybe?") + + + sm.sendDelay(1000) + + + sm.showEffect("Effect/DirectionNewPirate.img/newPirate/balloonMsg1/15", 2000, 0, -100, -2, -2, False, 0) + sm.sendDelay(1500) + + + sm.setSpeakerID(9270086) + sm.removeEscapeButton() + sm.setPlayerAsSpeaker() + sm.setSpeakerType(3) + sm.sendNext("#b(That sorta sounds like #p9270083#. He must be scouting the area for enemies. Couldn't ask for a better captain.)#k") + + + sm.createQuestWithQRValue(5673, "1") + sm.setTemporarySkillSet(0) + sm.setInGameDirectionMode(False, True, False, False) +else: + sm.curNodeEventEnd(True) + sm.setTemporarySkillSet(0) + sm.setInGameDirectionMode(True, True, False, False) + + sm.setSpeakerID(9270086) + sm.removeEscapeButton() + sm.flipSpeaker() + sm.setSpeakerType(3) + sm.sendNext("Check that portal over yonder. That thing I saw was heading in that direction.") + + + sm.curNodeEventEnd(True) + sm.setTemporarySkillSet(0) + sm.setInGameDirectionMode(False, True, False, False) \ No newline at end of file diff --git a/scripts/npc/job4_item.py b/scripts/npc/job4_item.py new file mode 100755 index 0000000..3f40eb5 --- /dev/null +++ b/scripts/npc/job4_item.py @@ -0,0 +1,23 @@ +selection = sm.sendNext("...Can I help you?" + "\r\n\r\n#b" + "#L0#Find the ingredients for the Flying Potion (Dragon moss Extract)#l") + +if selection == 0: + if sm.hasQuest(3759) and not sm.hasItem(4032531): + sm.sendNext("So, have you progressed in the investigation of the Dragon Rider?") + sm.sendSay("What? You met#b Matada#k? Well, well, well. I suppose he's finally returned, after having traveled the world. Not that he's ever done anything for this town, but perhaps he missed his home?") + sm.setPlayerAsSpeaker() + sm.sendSay("To pursue the Dragon Rider, you'll have to be able to fly... To do so, you'll need the#b Dragon Moss Extract") + sm.setSpeakerID(parentID) + sm.sendSay("The Dragon Moss Extract? That's an ingredient used in specialty medicine from the Halfingerers. Sure, I'll give you some if you need it, but are you sure it'll let you fly?") + sm.setPlayerAsSpeaker() + sm.sendSay("Yes. Matada said it's a key ingredient to make a potion for flying.") + sm.setSpeakerID(parentID) + sm.sendSay("Oh, I see. Alright. I'll give you some, I hope you knock some sense into that Dragon Rider!") + sm.sendSay("Please keep looking into it, will you?") + if sm.canHold(4032531): + sm.giveItem(4032531) + else: + sm.sendSayOkay("Please make some room in your ETC inventory.") + else: + sm.sendSayOkay("I'm sorry, I can't give you Dragon Moss Extract at the moment.") \ No newline at end of file diff --git a/scripts/npc/job_cygnus.py b/scripts/npc/job_cygnus.py new file mode 100755 index 0000000..32a0673 --- /dev/null +++ b/scripts/npc/job_cygnus.py @@ -0,0 +1,32 @@ +# TODO: {serverName} Custom Beginnings - Cygnus + +speaker = 2007 # maple administrator + +# JobOptions: { string jobName, string jobDesc, int jobId } +options = [ + ["Dawn Warrior", "one with the spirit of light", 1100], + ["Wind Archer", "one with the spirit of wind", 1300], + ["Blaze Wizard", "one with the spirit of fire", 1200], + ["Night Walker", "one with the spirit of darkness", 1400], + ["Thunder Breaker", "one with the spirit of lightning", 1500], +] + +optionText = "It's time for you to pick a job.\r\nAs a #bCygnus Knight#k, you have the option of the " + str(len(options)) + " following options:" + +for idx, job in enumerate(options): + optionText += "\r\n#b#L" + str(job[2]) + "#" + job[0] + "#k, " + job[1] + "#l" + +choice = sm.sendNext(optionText) + + +for job in options: + if (choice == job[2]): + response = sm.sendAskYesNo("So, you wish to become a #b" + job[0] + "#k?") + if response: + sm.jobAdvance(job[2]) + sm.doJobEnd() + sm.sendSayOkay("You are now a #b" + job[0] + "#k!") + else: + # executes the current script again + sm.dispose() + sm.startScript("job_cygnus", "npc") diff --git a/scripts/npc/job_explorer.py b/scripts/npc/job_explorer.py new file mode 100755 index 0000000..f7a97df --- /dev/null +++ b/scripts/npc/job_explorer.py @@ -0,0 +1,32 @@ +# TODO: {serverName} Custom Beginnings - Explorer + +speaker = 2007 # maple administrator + +# JobOptions: { string jobName, string jobDesc, int jobId } +options = [ + ["Warrior", "powerful and defensive", 100], + ["Bowman", "long-ranged and controlled", 300], + ["Magician", "intelligent and magical", 200], + ["Thief", "speedy and sneaky", 400], + ["Pirate", "fancy and unique", 500], + ["Jett", "Not like the other heroes", 508], +] + +optionText = "It's time for you to pick a job!\r\nAs an #bExplorer#k, you have the option of the " + str(len(options)) + " following options:" + +for idx, job in enumerate(options): + optionText += "\r\n#b#L" + str(job[2]) + "#" + job[0] + "#k, " + job[1] + "#l" +choice = sm.sendNext(optionText) + + +for job in options: + if (choice == job[2]): + response = sm.sendAskYesNo("So, you wish to become a #b" + job[0] + "#k?") + if response: + sm.jobAdvance(job[2]) + sm.doJobEnd() + sm.sendSayOkay("You are now a #b" + job[0] + "#k!") + else: + # executes the current script again + sm.dispose() + sm.startScript("job_explorer", "npc") \ No newline at end of file diff --git a/scripts/npc/job_resistance.py b/scripts/npc/job_resistance.py new file mode 100755 index 0000000..fb4ed87 --- /dev/null +++ b/scripts/npc/job_resistance.py @@ -0,0 +1,30 @@ +# TODO: {serverName} Custom Beginnings - Resistance + +speaker = 2007 # maple administrator + +# JobOptions: { string jobName, string jobDesc, int jobId } +options = [ + ["Battle Mage", "", 3200], + ["Wild Hunter", "", 3300], + ["Mechanic", "", 3500], + ["Blaster", "", 3700], +] + +optionText = "It's time for you to pick a job.\r\nAs a member of the #bResistance#k, you have the option of the " + str(len(options)) + " following options:" + +for idx, job in enumerate(options): + optionText += "\r\n#b#L" + str(job[2]) + "#" + job[0] + "#k " + job[1] + "#l" +choice = sm.sendNext(optionText) + + +for job in options: + if (choice == job[2]): + response = sm.sendAskYesNo("So, you wish to become a #b" + job[0] + "#k?") + if response: + sm.jobAdvance(job[2]) + sm.doJobEnd() + sm.sendSayOkay("You are now a #b" + job[0] + "#k!") + else: + # executes the current script again + sm.dispose() + sm.startScript("job_resistance", "npc") \ No newline at end of file diff --git a/scripts/npc/juliet_start.py b/scripts/npc/juliet_start.py new file mode 100755 index 0000000..2c1bd7f --- /dev/null +++ b/scripts/npc/juliet_start.py @@ -0,0 +1,66 @@ +# Juliet (2112003) | PQ site +from net.swordie.ms.enums import UIType +sm.setSpeakerID(2112003) +if sm.getFieldID() != 910002000: + selection = sm.sendNext("#e#n \r\n" + "Magatia faces a grave threat. We need brave adventurers to help us.\r\n\r\n" + "#b#L0#Listen to Juliet's story.#l \r\n" + "#L1#Start the quest.#l \r\n" + "#L2#Find a party.#l\r\n" + "#L3#Make a necklace with Alcadno Marbles.#l \r\n" + "#L4#Combine two necklaces into one.#l") + #Listen to Story + if selection == 0: + sm.sendNext("Romeo and I are in love. But I am an Alcadno, and he is a Zenumist. There's no hope for us to be together...") + sm.sendNext("The Alcadno and the Zenumist were not always enemies! There must be a way to bring peace to our two sides!") + sm.sendNext("But in spite of everything I've tried, Magatia is#b on the verge of war#k. It's all because#b someone stole the power source of both Zenumist and Alcadno#k. And the two sides are blaming each other for it!") + sm.sendNext("I got a tip that the real thief is#b a third party#k. If we're ever going to have peace -- and love for me and Romeo -- we need to find#b the thirs party#k and stop his evil plan!") + sm.sendNext("Fight for the peace of Magatia! \r\n" + "#e-Level#n: 70+ #r(Recommended: 70 - 99)#k \r\n" + "#e-Time Limit#n: 20 min \r\n" + "#e-Players#n: 4 \r\n" + "#e-Reward#n: \r\n" + "#i1122117# Juliet's Pendant \r\n" + "(Can be obtained from #bJuliet#k once you collect #r2#b Alcadno Marbles#k.) \r\n" + "#i1122118# Symbol of Eternal Love \r\n" + "(Can be traded for 1 #bRomeo's Pendant#k and 1 #bJuliet's Pendant#k)") + #Enter PQ + #TODO add pq + elif selection == 1: + if sm.isPartyLeader(): + sm.warpPartyIn(926100000) + else: + sm.sendNext("The party leader can proceed to the next stage.") + + #Search for party + elif selection == 2: + sm.openUI(UIType.PARTYSEARCH) + + #Craft juliet pendant + elif selection == 3: + if sm.hasItem(4001160, 2): + if sm.canHold(1122117): + sm.consumeItem(4001160, 2) + sm.giveItem(1122117) + else: + sm.sendNext("Please make some space in your equipment inventory.") + else: + sm.sendNext("To make Juliet's Pendant, we need 2 Alcadno Marbles. You seem to be missing a few.") + + #Combine two necklaces + elif selection == 4: + if sm.hasItem(1122116) and sm.hasItem(1122117): + if sm.canHold(1122118): + sm.consumeItem(1122116) + sm.consumeItem(1122117) + sm.giveItem(1122118) + else: + sm.sendNext("Please make some space in your equipment inventory.") + else: + sm.sendNext("You need Romeo's Pendant and Juliet's Pendant to combine them.") + +else: + selection = sm.sendNext("Brave Maplers, please help us preserve the fragile peace of Magatia!\r\n\r\n" + "#b#L10#Go to #m261000021# to listen to Juliet's story.#l") + if selection == 10: + sm.warp(261000021) \ No newline at end of file diff --git a/scripts/npc/jump_tree.py b/scripts/npc/jump_tree.py new file mode 100755 index 0000000..fc49b23 --- /dev/null +++ b/scripts/npc/jump_tree.py @@ -0,0 +1,8 @@ +# id 1302023 (Jump Pad), field 106030101 +sm.lockInGameUI(True, True) +sm.setSpeakerID(1302023) # Jump Pad +sm.setParam(57) +sm.setColor(1) +sm.sendNext("The device to get up to the Spirit Viking's airship is around here somewhere... Aha! Got it!") +sm.lockInGameUI(False, True) +sm.warp(106030102) diff --git a/scripts/npc/kannaTutoDirection.py b/scripts/npc/kannaTutoDirection.py new file mode 100755 index 0000000..aa649b9 --- /dev/null +++ b/scripts/npc/kannaTutoDirection.py @@ -0,0 +1,33 @@ +# Created by MechAviv +# Map ID :: 807100111 +# NPC ID :: 9131011 +# Altar +if True:#sm.getFieldID() == 807100111: + sm.curNodeEventEnd(True) + sm.setTemporarySkillSet(0) + sm.setInGameDirectionMode(True, False, False, False) + sm.showFieldEffect("JPKanna/magicCircle1", 0) + sm.sendDelay(7000) + + + sm.setSpeakerID(9131011) + sm.removeEscapeButton() + sm.flipSpeaker() + sm.flipDialoguePlayerAsSpeaker() + sm.setBoxChat() + sm.setColor(1) + sm.sendNext("The barrier is weakening. It must have worked.") + + + sm.setSpeakerID(9131011) + sm.removeEscapeButton() + sm.flipSpeaker() + sm.flipDialoguePlayerAsSpeaker() + sm.setBoxChat() + sm.setColor(1) + sm.sendSay("Now I just have to destroy the altar in the basement.") + + + sm.setTemporarySkillSet(0) + sm.setInGameDirectionMode(False, True, False, False) + sm.warp(807100112, 0) diff --git a/scripts/npc/kasandra.py b/scripts/npc/kasandra.py new file mode 100755 index 0000000..e8cd9d6 --- /dev/null +++ b/scripts/npc/kasandra.py @@ -0,0 +1,9 @@ +# ghostWalk = 20031211 +# chump = 20031212 +# shroudWalk = 20031205 +# +# if sm.sendAskYesNo("Would you like to reset your AP?"): +# sm.resetAP(False) +# sm.removeSkill(ghostWalk) +# sm.removeSkill(chump) +# sm.giveSkill(shroudWalk) \ No newline at end of file diff --git a/scripts/npc/kenjiTutoGate.py b/scripts/npc/kenjiTutoGate.py new file mode 100755 index 0000000..507f4c3 --- /dev/null +++ b/scripts/npc/kenjiTutoGate.py @@ -0,0 +1,7 @@ +# Honnou-ji Eastern Gate | Honnou-ji Eastern grounds +# Author: Tiger + +if not sm.hasMobsInField(): + sm.warpInstanceOut(807100002) # Honnou-ji Eastern Grounds +else: + sm.chat("You must clear the gate!") # TODO: gms-like convo (Don't even think there is a msg here...) diff --git a/scripts/npc/kenjiTutoShingen.py b/scripts/npc/kenjiTutoShingen.py new file mode 100755 index 0000000..f9cfe97 --- /dev/null +++ b/scripts/npc/kenjiTutoShingen.py @@ -0,0 +1,26 @@ +# Takeda Shingen | Honnou-ji Eastern Wall +# Author: Tiger + +if sm.getFieldID() == 807100002: # Honnou-ji Eastern Grounds + sm.setBoxChat() + sm.removeEscapeButton() + sm.sendNext("You did all right, samurai. I'll let you join my side for now.") + + sm.flipBoxChat() + sm.flipBoxChatPlayerAsSpeaker() + sm.sendNext("The battles goes well. I fear the Uesugi troops barged in too early. They may require assistance.") + + sm.setSpeakerID(parentID) + + sm.setBoxChat() + sm.sendNext("Wouldn't suprise me. Kenshin couldn't keep her men under control if she had a stack of gold for each of them. It's not like her to be early though...") + + sm.setBoxChat() + sm.sendNext("It's not important. We're doing well so far and I hate to beak good momentum. Men, prepare for the final charge! TO THE TEMPLE!") + + sm.flipBoxChat() + sm.flipBoxChatPlayerAsSpeaker() + sm.sendNext("We shall meet again, Tiger of Kai!") + +else: + sm.sendNext("Get to the Honnou-ji Outer wall and open the Eastern Door.") diff --git a/scripts/npc/kenta_enter.py b/scripts/npc/kenta_enter.py new file mode 100755 index 0000000..e69de29 diff --git a/scripts/npc/king_summer.py b/scripts/npc/king_summer.py new file mode 100755 index 0000000..e588ebe --- /dev/null +++ b/scripts/npc/king_summer.py @@ -0,0 +1,22 @@ +sm.setSpeakerID(9201324) +if sm.getChr().getLevel() < 160: + sm.sendNext("Please return to me when you're a bit stronger..") +else: + if sm.hasItem(4161080): + sm.sendNext("I heard from an adventurer they might have seen her deep under the waves in a cave.") + else: + sm.sendNext("I seem to have lost my pet, could you help me find her? I'll need to know you're trustworthy first!.") + if sm.sendAskYesNo("Are you ready for your question?"): + question = sm.sendAskText("What is the colour of Athena Pierce's bow?", "", 1, 20) + if question == "Blue": + sm.sendNext("I'm so glad I can trust you! Hurry now, I really miss her.") + sm.sendNext("Take this item with you so she knows that you can be trusted.") + sm.sendNext("I heard from an adventurer they might have seen her deep under the waves in a cave.") + sm.sendNext("Please return her safely to me.") + if sm.canHold(4161080): + sm.giveItem(4161080) + else: + sm.sendNext("You don't have pocket space for my item!") + + else: + sm.sendNext("Please return why you can answer my question!") \ No newline at end of file diff --git a/scripts/npc/lens_henesys1.py b/scripts/npc/lens_henesys1.py new file mode 100755 index 0000000..3678079 --- /dev/null +++ b/scripts/npc/lens_henesys1.py @@ -0,0 +1,11 @@ +al = chr.getAvatarData().getAvatarLook() +face = al.getFace() - (al.getFace() % 1000 - al.getFace() % 100) # Default Black Lenses +options = [0, 100, 200, 300, 400, 500, 600, 700, 800] +options = list(map(lambda x: x + face, options)) +answer = sm.sendAskAvatar( + "With our specialized machine, you can see the results of your potential treatment in advance. " + "What kind of lens would you like to wear? Please choose the style of your liking.", + False, False, options) + +if answer < len(options): + sm.changeCharacterLook(options[answer]) \ No newline at end of file diff --git a/scripts/npc/levelUP.py b/scripts/npc/levelUP.py new file mode 100755 index 0000000..73689f2 --- /dev/null +++ b/scripts/npc/levelUP.py @@ -0,0 +1,6 @@ +question = sm.sendAskYesNo("Would you like to buy #e24 Hour#k #bPet Vac #i5680047# #kfor #r100 #i4310258#?") +if question and sm.canHold(5680047) and sm.hasItem(4310258, 100): + sm.giveItemWithExpireDate(5680047, 1, False, 24 * 60) #4 hours + sm.consumeItem(4310258, 100) +else: + sm.sendNext("#e#dYour inventory is full or you don't have 100 #i4310258#.") \ No newline at end of file diff --git a/scripts/npc/lilin.py b/scripts/npc/lilin.py new file mode 100755 index 0000000..2832328 --- /dev/null +++ b/scripts/npc/lilin.py @@ -0,0 +1,12 @@ +# Created by MechAviv +# [Lilin] | [1201000] +# Snow Island : Rien + +sm.setSpeakerID(1201000) +selection = sm.sendNext("What is it?\r\n\r\n#b#L0# I want to talk to you.#l") +if selection == 0: + sm.setSpeakerID(1201000) + selection2 = sm.sendNext("What do you want to talk about?\r\n\r\n#b#L0# How's life been treating you lately?#l") + if selection2 == 0: + sm.setSpeakerID(1201000) + sm.sendNext("Aran, you seem to have a lot of free time lately, what with all your slacking off. Can you do me a favor? I want the flower from the top of Zakum's head. If you get me that, then we can have a nice cup of tea and chit chat.") diff --git a/scripts/npc/link2_Clear.py b/scripts/npc/link2_Clear.py new file mode 100755 index 0000000..23374bb --- /dev/null +++ b/scripts/npc/link2_Clear.py @@ -0,0 +1,5 @@ +# Link 2 Control Device | Evolution System link 2 +#TODO check for disguise +#TODO make script GMS like +sm.sendSayOkay("Accepted.") +sm.createQuestWithQRValue(1832, "Access") \ No newline at end of file diff --git a/scripts/npc/lucid_accept.py b/scripts/npc/lucid_accept.py new file mode 100755 index 0000000..fca34ee --- /dev/null +++ b/scripts/npc/lucid_accept.py @@ -0,0 +1,6 @@ +# id 3003208 (Protective Mask), field 450004000 +sm.setSpeakerType(3) +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(3003208) # Protective Mask +res = sm.sendNext("#e#n\r\nSomething terrible will happen if Lucid is not stopped.\r\n#b \r\n#L0# I want to enter Boss: Lucid (Story).#l \r\n#L1# I want to enter Boss: Lucid (Normal).#l \r\n#L2# I want to enter Boss: Lucid (Hard).#l \r\n#L3# I want to enter Boss: Lucid (Normal) Practice Mode.#l \r\n#L4# I want to enter Boss: Lucid (Hard) Practice Mode.#l") +sm.warp(450004700) diff --git a/scripts/npc/ludi026.py b/scripts/npc/ludi026.py new file mode 100755 index 0000000..a562380 --- /dev/null +++ b/scripts/npc/ludi026.py @@ -0,0 +1,403 @@ +# Wisp (2040030) | Eos Tower Entrance + + +sm.sendNext("Hello there, I'm #bMar the Fairy#k of Victoria Island's main disciple. " + "Mar the Fairy summoned me here to see if the pets are being taken care of here in Ludibrium. " + "What can I do for you?\r\n" + "feel free to ask me questions.") + + +sm.sendNext("What do you want to know more of?#b\r\n" + "#L0#Tell me more about Pets.#l\r\n" + "#L1#How do I raise Pets?#l\r\n" + "#L2#Do Pets die too?#l\r\n" + "#L3#What are the commands for Brown and Black Kitty?#l\r\n" + "#L4#What are the commands for Brown Puppy?#l\r\n" + "#L5#What are the commands for Pink and White Bunny?#l\r\n" + "#L6#What are the commands for Mini Kargo?#l\r\n" + "#L7#What are the commands for Rudolph and Dasher?#l\r\n" + "#L8#What are the commands for Black Pig?#l\r\n" + "#L9#What are the commands for Panda?#l\r\n" + "#L10#What are the commands for Husky?#l\r\n" + "#L11#What are the commands for Dino Boy and Dino Girl?#l\r\n" + "#L12#What are the commands for Monkey?#l\r\n" + "#L13#What are the commands for Turkey?#l\r\n" + "#L14#What are the commands for White Tiger?#l\r\n" + "#L15#What are the commands for Penguin?#l\r\n" + "#L16#What are the commands for Golden Pig?#l\r\n" + "#L17#What are the commands for Robot?#l\r\n" + "#L18#What are the commands for Mini Yeti?#l\r\n" + "#L19#What are the commands for Jr. Balrog?#l\r\n" + "#L20#What are the commands for Baby Dragon?#l\r\n" + "#L21#What are the commands for Green/Red/Blue Dragon?#l\r\n" + "#L22#What are the commands for Black Dragon?#l\r\n" + "#L23#What are the commands for Jr. Reaper?#l\r\n" + "#L24#What are the commands for Porcupine?#l\r\n" + "#L25#What are the commands for Snowman?#l\r\n" + "#L26#What are the commands for Skunk?#l\r\n" + "#L27#Please teach me about transferring pet ability points.#l") + +selection = answer +if selection == 0: + sm.sendNext("So you want to know more about Pets. Long ago I made a doll, " + "sprayed Water of Life on it, and cast spell on it to create a magical animal. " + "I know it sounds unbelievable, but it's a doll that became an actual living thing. " + "They understand and follow people very well.") + sm.sendNext("But Water of Life only comes out little at the very bottom of the World Tree, so I can't give him too much time in life... " + "I know, it's very unfortunate... but even if it becomes a doll again I can always bring life back into it so be good to it while you're with it.") + sm.sendNext("Oh yeah, they'll react when you give them special commands. You can scold them, love them... it all\r\ndepends on how you take care of them. " + "They are afraid to leave their masters so be nice to them, show them love. They can get sad and lonely fast...") + sm.sendNext("Depending on the command you give, pets can love it, hate, and display other kinds of reactions to it. " + "If you give the pet a command and it follows you well, your intimacy goes up. " + "Double click on the pet and you can check the intimacy, level, fullness and etc...") + sm.sendNext("Talk to the pet, pay attention to it and its intimacy level will go up and eventually his overall level will go up too. " + "As the intimacy level rises, the pet's overall level will rise soon after. " + "As the overall level rises, one day the pet may even talk like a person a little bit, so try hard raising it. " + "Of course it won't be easy doing so...") + sm.sendNext("It may be a live doll but they also have life so they can feel the hunger too. " + "#bFullness#k shows the level of hunger the pet's in. 100 is the max, and the lower it gets, " + "it means that the pet is getting hungrier. After a while, it won't even follow your command and be on the offensive, " + "so watch out over that.") + sm.sendNext("Oh yes! Pets can't eat the normal human food. " + "Instead my disciple #bDoofus#k sells #bPet Food#k at the Henesys Market so if you need food for your pet, find Henesys. " + "It'll be a good idea to buy the food in advance and feed the pet before it gets really hungry.") + sm.sendNext("Oh, and if you don't feed the pet for a long period of time, it goes back home by itself. " + "You can take it out of its home and feed it but it's not really good for the pet's health, " + "so try feeding him on a regular basis so it doesn't go down to that level, alright? I think this will do.") + sm.sendNext("Dying... well, they aren't technically ALIVE per se, so I don't know if dying is the right term to use. " + "They are dolls with my magical power and the power of Water of Life to become a live object. " + "Of course while it's alive, it's just like a live animal...") + sm.sendNext("After some time... that's correct, they stop moving. " + "They just turn back to being a doll, after the effect of magic dies down and Water of Life dries out. " + "But that doesn't mean it's stopped forever, because once you pour Water of Life over, it's going to be back alive.") + sm.sendNext("Even if it someday moves again, it's sad to see them stop altogether. " + "Please be nice to them while they are alive and moving. Feed them well, too. " + "Isn't it nice to know that there's something alive that follows and listens to only you?") +if selection == 1: + sm.sendNext("Depending on the command you give, pets can love it, hate, and display other kinds of reactions to it. " + "If you give the pet a command and it follows you well, your intimacy goes up. " + "Double click on the pet and you can check the intimacy, level, fullness and etc...") +if selection == 2: + sm.sendNext("Dying... well, they aren't technically ALIVE per se, so I don't know if dying is the right term to use. " + "They are dolls with my magical power and the power of Water of Life to become a live object. " + "Of course while it's alive, it's just like a live animal...") +if selection == 3: + sm.sendNext("These are the commands for #rBrown Kitty and Black Kitty#k. " + "The level mentioned next to the command shows the pet level required for it to respond.\r\n" + "#bsit#k (Level 1 ~ 30)\r\n" + "#bbad, no, badgirl, badboy#k (Level 1 ~ 30)\r\n" + "#bstupid, ihateyou, dummy#k (Level 1 ~ 30)\r\n" + "#biloveyou#k (Level 1~30)\r\n" + "#bpoop#k (Level 1 ~ 30)\r\n" + "#btalk, say, chat#k (Level 10 ~ 30)\r\n" + "#bcutie#k (Level 10 ~ 30)\r\n" + "#bup, stand, rise#k (Level 20 ~ 30)") + sm.dispose() +if selection == 4: + sm.sendNext("These are the commands for #rBrown Puppy#k. " + "The level mentioned next to the command shows the pet level required for it to respond.\r\n" + "#bsit#k (Level 1 ~ 30)\r\n" + "#bbad, no, badgirl, badboy#k (Level 1 ~ 30)\r\n" + "#bstupid, ihateyou, baddog, dummy#k (Level 1 ~ 30)\r\n" + "#biloveyou#k (Level 1~30)\r\n#bpee#k (Level 1 ~ 30)\r\n" + "#btalk, say, chat#k (Level 10 ~ 30)\r\n" + "#bdown#k (Level 10 ~ 30)\r\n" + "#bup, stand, rise#k (Level 20 ~ 30)") + sm.dispose() +if selection == 5: + sm.sendNext("These are the commands for #rPink Bunny and White Bunny#k. " + "The level mentioned next to the command shows the pet level required for it to respond.\r\n" + "#bsit#k (Level 1 ~ 30)\r\n" + "#bbad, no, badgirl, badboy#k (Level 1 ~ 30)\r\n" + "#bup, stand, rise#k (Level 1 ~ 30)\r\n" + "#biloveyou#k (Level 1~30)\r\n" + "#bpoop#k (Level 1 ~ 30)\r\n" + "#btalk, say, chat#k (Level 10 ~ 30)\r\n" + "#bhug#k (Level 10 ~ 30)\r\n" + "#bsleep, sleepy, gotobed#k (Level 20 ~ 30)") + sm.dispose() +if selection == 6: + sm.sendNext("These are the commands for #rMini Kargo#k. " + "The level mentioned next to the command shows the pet level required for it to respond.\r\n" + "#bsit#k (Level 1 ~ 30)\r\n" + "#bbad, no, badgirl, badboy#k (Level 1 ~ 30)\r\n" + "#bup, stand, rise#k (Level 1 ~ 30)\r\n" + "#biloveyou#k (Level 1~30)\r\n" + "#bpee#k (Level 1 ~ 30)\r\n" + "#btalk, say, chat#k (Level 10 ~ 30)\r\n" + "#bthelook, charisma#k (Level 10 ~ 30)\r\n" + "#bdown#k (Level 10 ~ 30)\r\n" + "#bgoodboy, goodgirl#k (Level 20 ~ 30)") + sm.dispose() +if selection == 7: + sm.sendNext("These are the commands for #rRudolph and Dasher#k. " + "The level mentioned next to the command shows the pet level required for it to respond.\r\n" + "#bsit#k (Level 1 ~ 30)\r\n" + "#bbad, no, badgirl, badboy#k (Level 1 ~ 30)\r\n" + "#bup, stand#k (Level 1 ~ 30)\r\n" + "#bstupid, ihateyou, dummy#k (Level 1 ~ 30)\r\n" + "#bmerryxmas, merrychristmas#k (Level 1 ~ 30)\r\n" + "#biloveyou#k (Level 1~30)\r\n" + "#bpoop#k (Level 1 ~ 30)\r\n" + "#btalk, say, chat#k (Level 11 ~ 30)\r\n" + "#blonely, alone#k (Level 11 ~ 30)\r\n" + "#bcutie#k (Level 11 ~ 30)\r\n" + "#bmush, go#k (Level 21 ~ 30)") + sm.dispose() +if selection == 8: + sm.sendNext("These are the commands for #rBlack Pig#k. " + "The level mentioned next to the command shows the pet level required for it to respond.\r\n" + "#bsit#k (Level 1 ~ 30)\r\n" + "#bbad, no, badgirl, badboy#k (Level 1 ~ 30)\r\n" + "#bpoop#k (Level 1 ~ 30)\r\n" + "#biloveyou#k (Level 1~30)\r\n" + "#bhand#k (Level 1 ~ 30)\r\n" + "#bstupid, ihateyou, dummy#k (Level 1 ~ 30)\r\n" + "#btalk, chat, say#k (Level 10 ~ 30)\r\n" + "#bsmile#k (Level 10 ~ 30)\r\n" + "#bthelook, charisma#k (Level 20 ~ 30)") + sm.dispose() +if selection == 9: + sm.sendNext("These are the commands for #rPanda#k. " + "The level mentioned next to the command shows the pet level required for it to respond.\r\n" + "#bsit#k (Level 1 ~ 30)\r\n" + "#bchill, relax#k (Level 1 ~ 30)\r\n" + "#bbad, no, badgirl, badboy#k (Level 1 ~ 30)\r\n" + "#bpoop#k (Level 1 ~ 30)\r\n" + "#biloveyou#k (Level 1 ~ 30)\r\n" + "#bup, stand, rise#k (Level 1 ~ 30)\r\n" + "#btalk, chat, say#k (Level 10 ~ 30)\r\n" + "#bletsplay#k (Level 10 ~ 30)\r\n" + "#bmeh, bleh#k (Level 10 ~ 30)\r\n" + "#bsleep#k (Level 20 ~ 30)") + sm.dispose() +if selection == 10: + sm.sendNext("These are the commands for #rHusky#k. " + "The level mentioned next to the command shows the pet level required for it to respond.\r\n" + "#bsit#k (Level 1 ~ 30)\r\n" + "#bbad, no, badgirl, badboy#k (Level 1 ~ 30)\r\n" + "#bstupid, ihateyou, baddog, dummy#k (Level 1 ~ 30)\r\n" + "#bhand#k (Level 1 ~ 30)\r\n" + "#bpoop#k (Level 1 ~ 30)\r\n" + "#biloveyou#k (Level 1 ~ 30)\r\n" + "#bdown#k (Level 10 ~ 30)\r\n" + "#btalk, chat, say#k (Level 10 ~ 30)\r\n" + "#bup, stand, rise#k (Level 20 ~ 30)") + sm.dispose() +if selection == 11: + sm.sendNext("These are the commands for #rDino Boy and Dino Girl#k. " + "The level mentioned next to the command shows the pet level required for it to respond.\r\n" + "#bsit#k (Level 1 ~ 30)\r\n" + "#bbad, no, badboy, badgirl#k (Level 1 ~ 30)\r\n" + "#biloveyou#k (Level 1 ~ 30)\r\n" + "#bpoop#k (Level 1 ~ 30)\r\n" + "#bsmile, laugh#k (Level 1 ~ 30)\r\n" + "#bstupid, ihateyou, dummy#k (Level 1 ~ 30)\r\n" + "#btalk, chat, say#k (Level 10 ~ 30)\r\n" + "#bcutie#k (Level 10 ~ 30)\r\n" + "#bsleep, nap, sleepy#k (Level 20 ~ 30)") + sm.dispose() +if selection == 12: + sm.sendNext("These are the commands for #rMonkey#k. " + "The level mentioned next to the command shows the pet level required for it to respond.\r\n" + "#bsit#k (Level 1 ~ 30)\r\n" + "#brest#k (Level 1 ~ 30)\r\n" + "#bbad, no, badboy, badgirl#k (Level 1 ~ 30)\r\n" + "#bpee#k (Level 1 ~ 30)\r\n" + "#biloveyou#k (Level 1 ~ 30)\r\n" + "#bup, stand#k (Level 1 ~ 30)\r\n" + "#btalk, chat, say#k (Level 10 ~ 30)\r\n" + "#bplay#k (Level 10 ~ 30)\r\n" + "#bmelong#k (Level 10 ~ 30)\r\n" + "#bsleep, gotobed, sleepy#k (Level 20 ~ 30)") + sm.dispose() +if selection == 13: + sm.sendNext("These are the commands for #rTurkey#k. " + "The level mentioned next to the command shows the pet level required for it to respond.\r\n" + "#bsit#k (Level 1 ~ 30)\r\n" + "#bno, rudeboy, mischief#k (Level 1 ~ 30)\r\n" + "#bstupid#k (Level 1 ~ 30)\r\n" + "#biloveyou#k (Level 1 ~ 30)\r\n" + "#bup, stand#k (Level 1 ~ 30)\r\n" + "#btalk, chat, gobble#k (Level 10 ~ 30)\r\n" + "#byes, goodboy#k (Level 10 ~ 30)\r\n" + "#bsleepy, birdnap, doze#k (Level 20 ~ 30)\r\n" + "#bbirdeye, thanksgiving, fly, friedbird, imhungry#k (Level 30)") + sm.dispose() +if selection == 14: + sm.sendNext("These are the commands for #rWhite Tiger#k. " + "The level mentioned next to the command shows the pet level required for it to respond.\r\n" + "#bsit#k (Level 1 ~ 30)\r\n" + "#bbad, no, badboy, badgirl#k (Level 1 ~ 30)\r\n" + "#biloveyou#k (Level 1 ~ 30)\r\n" + "#bpoop#k (Level 1 ~ 30)\r\n" + "#brest, chill#k (Level 1 ~ 30)\r\n" + "#bstupid, ihateyou, dummy#k (Level 1 ~ 30)\r\n" + "#btalk, chat, say#k (Level 10 ~ 30)\r\n" + "#bactsad, sadlook#k (Level 10 ~ 30)\r\n" + "#bwait#k (Level 20 ~ 30)") + sm.dispose() +if selection == 15: + sm.sendNext("These are the commands for #rPenguin#k. " + "The level mentioned next to the command shows the pet level required for it to respond.\r\n" + "#bsit#k (Level 1 ~ 30)\r\n" + "#bbad, no, badboy, badgirl#k (Level 1 ~ 30)\r\n" + "#bpoop#k (Level 1 ~ 30)\r\n" + "#bup, stand, rise#k (Level 1 ~ 30)\r\n" + "#biloveyou#k (Level 1 ~ 30)\r\n" + "#btalk, chat, say#k (Level 10 ~ 30)\r\n" + "#bhug, hugme#k (Level 10 ~ 30)\r\n" + "#bwing, hand#k (Level 10 ~ 30)\r\n" + "#bsleep#k (Level 20 ~ 30)\r\n" + "#bkiss, smooch, muah#k (Level 20 ~ 30)\r\n" + "#bfly#k (Level 20 ~ 30)\r\n" + "#bcute, adorable#k (Level 20 ~ 30)") + sm.dispose() +if selection == 16: + sm.sendNext("These are the commands for #rGolden Pig#k. " + "The level mentioned next to the command shows the pet level required for it to respond.\r\n" + "#bsit#k (Level 1 ~ 30)\r\n" + "#bbad, no, badboy, badgirl#k (Level 1 ~ 30)\r\n" + "#bpoop#k (Level 1 ~ 30)\r\n" + "#biloveyou#k (Level 1 ~ 30)\r\n" + "#btalk, chat, say#k (Level 11 ~ 30)\r\n" + "#bloveme, hugme#k (Level 11 ~ 30)\r\n" + "#bsleep, sleepy, gotobed#k (Level 21 ~ 30)\r\n" + "#bignore / impressed / outofhere#k (Level 21 ~ 30)\r\n" + "#broll, showmethemoney#k (Level 21 ~ 30)") + sm.dispose() +if selection == 17: + sm.sendNext("These are the commands for #rRobot#k. " + "The level mentioned next to the command shows the pet level required for it to respond.\r\n" + "#bsit#k (Level 1 ~ 30)\r\n" + "#bup, stand, rise#k (Level 1 ~ 30)\r\n" + "#bstupid, ihateyou, dummy#k (Level 1 ~ 30)\r\n" + "#bbad, no, badgirl, badboy#k (Level 1 ~ 30)\r\n" + "#battack, charge#k (Level 1 ~ 30)\r\n" + "#biloveyou#k (Level 1 ~ 30)\r\n" + "#bgood, thelook, charisma#k (Level 11 ~ 30)\r\n" + "#bspeack, talk, chat, say#k (Level 11 ~ 30)\r\n" + "#bdisguise, change, transform#k (Level 11 ~ 30)") + sm.dispose() +if selection == 18: + sm.sendNext("These are the commands for #rMini Yeti#k. " + "The level mentioned next to the command shows the pet level required for it to respond.\r\n" + "#bsit#k (Level 1 ~ 30)\r\n" + "#bbad, no, badboy, badgirl#k (Level 1 ~ 30)\r\n" + "#bpoop#k (Level 1 ~ 30)\r\n" + "#bdance, boogie, shakeit#k (Level 1 ~ 30)\r\n" + "#bcute, cutie, pretty, adorable#k (Level 1 ~ 30)\r\n" + "#biloveyou, likeyou, mylove#k (Level 1 ~ 30)\r\n" + "#btalk, chat, say#k (Level 11 ~ 30)\r\n" + "#bsleep, nap, sleepy, gotobed#k (Level 11 ~ 30)") + sm.dispose() +if selection == 19: + sm.sendNext("These are the commands for #rJr. Balrog#k. " + "The level mentioned next to the command shows the pet level required for it to respond.\r\n" + "#bliedown#k (Level 1 ~ 30)\r\n" + "#bno|bad|badgirl|badboy#k (Level 1 ~ 30)\r\n" + "#biloveyou|mylove|likeyou#k (Level 1 ~ 30)\r\n" + "#bcute|cutie|pretty|adorable#k (Level 1 ~ 30)\r\n" + "#bpoop#k (Level 1 ~ 30)\r\n" + "#bsmirk|crooked|laugh#k (Level 1 ~ 30)\r\n" + "#bmelong#k (Level 11 ~ 30)\r\n" + "#bgood|thelook|charisma#k (Level 11 ~ 30)\r\n" + "#bspeak|talk|chat|say#k (Level 11 ~ 30)\r\n" + "#bsleep|nap|sleepy#k (Level 11 ~ 30)\r\n" + "#bgas#k (Level 21 ~ 30)") + sm.dispose() +if selection == 20: + sm.sendNext("These are the commands for #rBaby Dragon#k. " + "The level mentioned next to the command shows the pet level required for it to respond.\r\n" + "#bsit#k (Level 1 ~ 30)\r\n" + "#bno|bad|badgirl|badboy#k (Level 1 ~ 30)\r\n" + "#biloveyou|loveyou#k (Level 1 ~ 30)\r\n#bpoop#k (Level 1 ~ 30)\r\n" + "#bstupid|ihateyou|dummy#k (Level 1 ~ 30)\r\n#bcutie#k (Level 11 ~ 30)\r\n" + "#btalk|chat|say#k (Level 11 ~ 30)\r\n" + "#bsleep|sleepy|gotobed#k (Level 11 ~ 30)") + sm.dispose() +if selection == 21: + sm.sendNext("These are the commands for #rGreen/Red/Blue Dragon#k. " + "The level mentioned next to the command shows the pet level required for it to respond.\r\n" + "#bsit#k (Level 15 ~ 30)\r\n" + "#bno|bad|badgirl|badboy#k (Level 15 ~ 30)\r\n" + "#biloveyou|loveyou#k (Level 15 ~ 30)\r\n" + "#bpoop#k (Level 15 ~ 30)\r\n" + "#bstupid|ihateyou|dummy#k (Level 15 ~ 30)\r\n" + "#btalk|chat|say#k (Level 15 ~ 30)\r\n" + "#bsleep|sleepy|gotobed#k (Level 15 ~ 30)\r\n" + "#bchange#k (Level 21 ~ 30)") + sm.dispose() +if selection == 22: + sm.sendNext("These are the commands for #rBlack Dragon#k. " + "The level mentioned next to the command shows the pet level required for it to respond.\r\n" + "#bsit#k (Level 15 ~ 30)\r\n" + "#bno|bad|badgirl|badboy#k (Level 15 ~ 30)\r\n" + "#biloveyou|loveyou#k (Level 15 ~ 30)\r\n" + "#bpoop#k (Level 15 ~ 30)\r\n" + "#bstupid|ihateyou|dummy#k (Level 15 ~ 30)\r\n" + "#btalk|chat|say#k (Level 15 ~ 30)\r\n" + "#bsleep|sleepy|gotobed#k (Level 15 ~ 30)\r\n" + "#bcutie, change#k (Level 21 ~ 30)") + sm.dispose() +if selection == 23: + sm.sendNext("These are the commands for #rJr. Reaper#k. " + "The level mentioned next to the command shows the pet level required for it to respond.\r\n" + "#bsit#k (Level 1 ~ 30)\r\n" + "#bno|bad|badgirl|badboy#k (Level 1 ~ 30)\r\n" + "#bplaydead, poop#k (Level 1 ~ 30)\r\n" + "#btalk|chat|say#k (Level 1 ~ 30)\r\n" + "#biloveyou, hug#k (Level 1 ~ 30)\r\n" + "#bsmellmyfeet, rockout, boo#k (Level 1 ~ 30)\r\n" + "#btrickortreat#k (Level 1 ~ 30)\r\n" + "#bmonstermash#k (Level 1 ~ 30)") + sm.dispose() +if selection == 24: + sm.sendNext("These are the commands for #rPorcupine#k. " + "The level mentioned next to the command shows the pet level required for it to respond.\r\n" + "#bsit#k (Level 1 ~ 30)\r\n" + "#bno|bad|badgirl|badboy#k (Level 1 ~ 30)\r\n" + "#biloveyou|hug|goodboy#k (Level 1 ~ 30)\r\n" + "#btalk|chat|say#k (Level 1 ~ 30)\r\n" + "#bcushion|sleep|knit|poop#k (Level 1 ~ 30)\r\n" + "#bcomb|beach#k (Level 10 ~ 30)\r\n" + "#btreeninja#k (Level 20 ~ 30)\r\n" + "#bdart#k (Level 20 ~ 30)") + sm.dispose() +if selection == 25: + sm.sendNext("These are the commands for #rSnowman#k. " + "The level mentioned next to the command shows the pet level required for it to respond.\r\n" + "#bsit#k (Level 1 ~ 30)\r\n" + "#bstupid, ihateyou, dummy#k (Level 1 ~ 30)\r\n" + "#bloveyou, mylove, ilikeyou#k (Level 1 ~ 30)\r\n" + "#bmerrychristmas#k (Level 1 ~ 30)\r\n" + "#bcutie, adorable, cute, pretty#k (Level 1 ~ 30)\r\n" + "#bcomb, beach/bad, no, badgirl, badboy#k (Level 1 ~ 30)\r\n" + "#btalk, chat, say/sleep, sleepy, gotobed#k (Level 10 ~ 30)\r\n" + "#bchang#k (Level 20 ~ 30)") + sm.dispose() +if selection == 26: + sm.sendNext("These are the commands for #rSkunk#k. " + "The level mentioned next to the command shows the pet level required for it to respond.\r\n" + "#bsit#k (Level 1 ~ 30)\r\n" + "#bbad/no/badgirl/badboy#k (Level 1 ~ 30)\r\n" + "#brestandrelax, poop#k (Level 1 ~ 30)\r\n" + "#btalk/chat/say, iloveyou#k (Level 1 ~ 30)\r\n" + "#bsnuggle/hug, sleep, goodboy#k (Level 1 ~ 30)\r\n" + "#bfatty, blind, badbreath#k (Level 10 ~ 30)\r\n" + "#bsuitup, bringthefunk#k (Level 20 ~ 30)") + sm.dispose() +if selection == 27: + sm.sendNext("In order to transfer the pet ability points, closeness and level, " + "Pet AP Reset Scroll is required. If you take this\r\n" + "scroll to Mar the Fairy in Ellinia, she will transfer the level and closeness of the pet to another one. " + "I am especially giving it to you because I can feel your heart for your pet. However, I can't give this out for free. " + "I can give you this book for 250,000 mesos. Oh, I almost forgot! Even if you have this book, it is no use if you do not have a new pet to transfer the Ability points.") + + if sm.sendAskYesNo("250,000 mesos will be deducted. Do you really want to buy?"): + if sm.getMesos() < 250000 or not sm.canHold(4160011): + sm.sendSayOkay("Please check if your inventory has empty slot or you don't have enough mesos.") + else: + sm.sendSayOkay("Thank you for your purchase.") + sm.deductMesos(250000) + sm.giveItem(4160011) diff --git a/scripts/npc/ludi028.py b/scripts/npc/ludi028.py new file mode 100755 index 0000000..48ad1d3 --- /dev/null +++ b/scripts/npc/ludi028.py @@ -0,0 +1,24 @@ +# Weaver (2040032) | Ludibrium Pet Walkway + + +selection = sm.sendNext("Do you have any business with me?#b\r\n" + "#L0#Please tell me about this place.#l\r\n" + "#L1#I'm here through a word from Mar the Fairy...#l") + +if selection == 0: + if sm.hasItem(4031128): + sm.sendNext("Jump over obstacles with your pet, and take that letter to my brother Trainer Neru. " + "Give him the letter and something good is going to happen to your pet.") + else: + if sm.sendAskYesNo("This is the road where you can go take a walk with your pet. " + "You can just walk around with it, or you can train your pet to go through the obstacles here. " + "If you aren't too close with your pet yet, that may present a problem and he will not follow your command as much... " + "\r\nSo, what do you think? Wanna train your pet?"): + sm.giveItem(4031128) + sm.sendSayOkay("Ok, here's the letter. " + "He wouldn't know I sent you if you just went there straight, " + "so go through the obstacles with your pet, go to the very top, and then talk to Trainer Neru to give him the letter. " + "It won't be hard if you pay attention to your pet while going through obstacles. " + "Good luck!") +elif selection == 1: + sm.sendSayOkay("Hey, are you sure you've met #bMar the Fairy#k? Don't lie to me if you've never met her before because it's obvious. That wasn't even a good lie!!") \ No newline at end of file diff --git a/scripts/npc/ludi029.py b/scripts/npc/ludi029.py new file mode 100755 index 0000000..03dd514 --- /dev/null +++ b/scripts/npc/ludi029.py @@ -0,0 +1,15 @@ +# Neru (2040033) | Ludibrium Pet Walkway +if sm.hasItem(4031128): + sm.sendNext("Eh, that's my brother's letter! " + "Probably scolding me for thinking I'm not working and stuff...Eh? " + "Ahhh...you followed my brother's advice and trained your pet and got up here, huh? " + "Nice!! Since you worked hard to get here, I'll boost your intimacy level with your pet.") + sm.consumeItem(4031128) + sm.sendSayOkay("What do you think? Don't you think you have gotten much closer with your pet? " + "If you have time, train your pet again on this obstacle course...of course, with my brother's permission.") + # Pet Closeness Gained +else: + sm.sendSayOkay("My brother told me to take care of the pet obstacle course, " + "but ... since I'm so far away from him, I can't help but wanting to goof around ...hehe, " + "since I don't see him in sight, might as well just chill for a few minutes.") + diff --git a/scripts/npc/ludi_move.py b/scripts/npc/ludi_move.py new file mode 100755 index 0000000..e5675ab --- /dev/null +++ b/scripts/npc/ludi_move.py @@ -0,0 +1,25 @@ +# Eos Magic Rock (2040024) | Ludibrium Eos Tower + +maps = [ +221023200, # Eos Tower F100 +221022300, # Eos Tower F91 +221022100, # Eos Tower F70 +221021700, # Eos Tower F66 +221021500, # Eos Tower F35 +221021100, # Eos Tower F31 +221020900, # Eos Tower F10 +221020000 # Eos Tower F1 +] + +mapString = "Where do you want to go?\r\n\r\n#b" +i = 0 +while i < len(maps): + if maps[i] == sm.getFieldID(): + i += 1 + continue + else: + mapString += "#L"+ str(i) +"##m"+ str(maps[i]) +"##l\r\n" + i += 1 +answer = sm.sendNext(mapString) + +sm.warp(maps[answer], 0) diff --git a/scripts/npc/mParkShuttle.py b/scripts/npc/mParkShuttle.py new file mode 100755 index 0000000..bda53e4 --- /dev/null +++ b/scripts/npc/mParkShuttle.py @@ -0,0 +1,11 @@ +# Monster Park Shuttle + +map = 100000000 +if sm.getFieldID() != 951000000: + map = 951000000 + + +response = sm.sendAskYesNo("Would you like to go to #m" + str(map) + "#?") + +if response: + sm.warp(map, 0) diff --git a/scripts/npc/mPark_retire.py b/scripts/npc/mPark_retire.py new file mode 100755 index 0000000..f1b3836 --- /dev/null +++ b/scripts/npc/mPark_retire.py @@ -0,0 +1,3 @@ +# Spiegelmann (9071005) | In Monster Park Maps +if sm.sendAskYesNo("Do you want to leave?"): + sm.warpInstanceOut(951000000) diff --git a/scripts/npc/magnus_boss.py b/scripts/npc/magnus_boss.py new file mode 100755 index 0000000..31f2634 --- /dev/null +++ b/scripts/npc/magnus_boss.py @@ -0,0 +1,57 @@ +from net.swordie.ms.constants import BossConstants +from net.swordie.ms.enums import EventType + +# Mode, Required Level, Map ID, Death Count, Event Type, Cooldown + +destinations = [ + ["Normal", 160, 401060200, 20, EventType.NMagnus, 64800000], + ["Hard", 220, 401060100, 20, EventType.HMagnus, 64800000], +] + +runsPerDay = 1 + +if sm.getFieldID() == 401060000: + def is_party_eligible(reqlevel, party): + for member in party.getMembers(): + if member.getLevel() < reqlevel: + return False + + return True + + sm.setSpeakerID(3001032) + + dialog = "Do you want to head to '#bTyrant's Throne Room#k' to fight \r\n#bMagnus#k?\r\n" + + for i in range(len(destinations)): + dialog += "#L%d##bGo to Tyrant's Throne Room (%s Mode) #r(Lv. %d+)#b#l\r\n" % (i, destinations[i][0], destinations[i][1]) + + dialog += "#L99#Never mind." + response = sm.sendSay(dialog) + + if sm.getParty() is None: + sm.sendSayOkay("Please create a party before going in.") + sm.dispose() + + elif not sm.isPartyLeader(): + sm.sendSayOkay("Please have your party leader talk to me if you wish to face #bMagnus#k.") + sm.dispose() + + elif sm.partyHasCoolDown(destinations[response][4], runsPerDay): + timeUntilReset = sm.getTimeUntilEventReset(destinations[response][4]) + sm.sendNext("You or one of your party member has already attempted facing \r\n#bMagnus#k within the past 18 Hours.\r\n You have " + timeUntilReset + " left on your cooldown.") + sm.dispose() + + elif not sm.hasItem(4033406): + sm.sendSayOkay("You do not possess a #b#v 4033406 # #z 4033406 ##k.") + sm.dispose() + + + elif sm.checkParty() and response != 99: + if is_party_eligible(destinations[response][1], sm.getParty()): + sm.setPartyDeathCount(destinations[response][3]) + sm.warpInstanceIn(destinations[response][2], True) + sm.setInstanceTime(BossConstants.MAGNUS_TIME) + sm.addCooldownTimeForParty(destinations[response][4], destinations[response][5]) + sm.consumeItem(4033406) + else: + sm.sendSayOkay("One or more party members are lacking the prerequisite entry quests, or are below level #b%d#k." % destinations[response][1]) \ No newline at end of file diff --git a/scripts/npc/magnus_out.py b/scripts/npc/magnus_out.py new file mode 100755 index 0000000..1630c41 --- /dev/null +++ b/scripts/npc/magnus_out.py @@ -0,0 +1,6 @@ +sm.setSpeakerID(3001021) +response = sm.sendAskYesNo("Do you wish to leave the battlefield?") + +if response: + sm.WarpInstanceOut(401060000) + sm.dispose() diff --git a/scripts/npc/make_alert.py b/scripts/npc/make_alert.py new file mode 100755 index 0000000..27be28a --- /dev/null +++ b/scripts/npc/make_alert.py @@ -0,0 +1,1936 @@ +# Henesys START +itemsHene = [ +[1452002, 1452003, 1452001, 1452000, 1452005, 1452006, 1452007], # Bows +[1462001, 1462002, 1462003, 1462000, 1462004, 1462005, 1462006, 1462007], # Xbows +[1082012, 1082013, 1082016, 1082048, 1082068, 1082071, 1082084, 1082089], # Gloves +[1082015,1082014,1082017,1082018,1082049,1082050,1082069,1082070,1082072,1082073,1082085,1082083,1082090,1082091], # Gloves Upgrades +[4003001,4003001,4003000], # Materials +[2060000,2061000,2060001,2061001,2060002,2061002] # Arrows +] + +nonEquipSuffixHene = ["with Tree Branches", "with Firewood", "(packs of 15)"] + +costHene = [ +[ # Bow Materials + [4003001,4000000], + [4011001,4003000], + [4003001,4000016], + [4011001,4021006,4003000], + [4011001,4011006,4021003,4021006,4003000], + [4011004,4021000,4021004,4003000], + [4021008,4011001,4011006,4003000,4000014] +], + +[ # Xbow Materials + [4003001,4003000], + [4011001,4003001,4003000], + [4011001,4003001,4003000], + [4011001,4021006,4021002,4003000], + [4011001,4011005,4021006,4003001,4003000], + [4021008,4011001,4011006,4021006,4003000], + [4021008,4011004,4003001,4003000], + [4021008,4011006,4021006,4003001,4003000] +], + +[ # Gloves Materials + [4000021,4000009], + [4000021,4000009,4011001], + [4000021,4000009,4011006], + [4000021,4011006,4021001], + [4011000,4011001,4000021,4003000], + [4011001,4021000,4021002,4000021,4003000], + [4011004,4011006,4021002,4000030,4003000], + [4011006,4011007,4021006,4000030,4003000] +], + +[ # Gloves Upgrade Materials + [1082013,4021003], + [1082013,4021000], + [1082016,4021000], + [1082016,4021008], + [1082048,4021003], + [1082048,4021008], + [1082068,4011002], + [1082068,4011006], + [1082071,4011006], + [1082071,4021008], + [1082084,4011000,4021000], + [1082084,4011006,4021008], + [1082089,4021000,4021007], + [1082089,4021007,4021008] +], + +[ # Create Material + [4000003], + [4000018], + [4011000,4011001] +], + +[ # Create Arrows + [4003001,4003004], + [4003001,4003004], + [4011000,4003001,4003004], + [4011000,4003001,4003004], + [4011001,4003001,4003005], + [4011001,4003001,4003005] +] +] + +costQHene = [ +[ # Bow Material Quantity + [5,30], + [1,3], + [30,50], + [2,2,8], + [5,5,3,3,30], + [7,6,3,35], + [1,10,3,40,50] +], + +[ # Xbow Material Quantity + [7,2], + [1,20,5], + [1,50,8], + [2,1,1,10], + [5,5,3,50,15], + [1,8,4,2,30], + [2,6,30,30], + [2,5,3,40,40] +], + +[ # Gloves Material Quantity + [15,20], + [20,20,2], + [40,50,2], + [50,2,1], + [1,3,60,15], + [3,1,3,80,25], + [3,1,2,40,35], + [2,1,8,50,50] +], + +[ # Glove Upgrade Materials Quantity + [1,2], + [1,1], + [1,3], + [1,1], + [1,3], + [1,1], + [1,4], + [1,2], + [1,4], + [1,2], + [1,1,5], + [1,2,2], + [1,5,1], + [1,2,2] +], + +[ # Create Materials Quantity + [10], + [5], + [1, 1] +], + +[ # Create Arrows Quantity + [1,1], + [1,1], + [1,3,10], + [1,3,10], + [1,5,15], + [1,5,15] +] +] + +costmesoHene = [ +[800,2000,3000,5000,30000,40000,80000], # Meso Cost Bow +[1000,2000,3000,10000,30000,50000,80000,200000], # Meso Cost Xbow +[5000,10000,15000,20000,30000,40000,50000,70000], # Meso Cost Glove +[7000,7000,10000,12000,15000,20000,22000,25000,30000,40000,55000,60000,70000,80000], # Meso Cost Upgrade Glove +[0,0,0], # Meso Cost Materials +[0,0,0,0,0,0] # Meso Cost Arrows +] +# Henesys END + + + +# Perion START +itemsPerion = [ +[4011000,4011001,4011002,4011003,4011004,4011005,4011006], # Mineral Refine +[4021000,4021001,4021002,4021003,4021004,4021005,4021006,4021007,4021008], # Jewel Refine +[1002042,1002041,1002002,1002044,1002003,1002040,1002007,1002052,1002011,1002058,1002009,1002056,1002087,1002088,1002049,1002050,1002047,1002048,1002099,1002098,1002085,1002028,1002022,1002101], # Helmet Refine +[1092014,1092013,1092010,1092011] # Shield Refine +] + +costPerion = [ +[ # Mineral Refine Materials + [4010000], + [4010001], + [4010002], + [4010003], + [4010004], + [4010005], + [4010006] +], + +[ # Jewel Refine Materials + [4020000], + [4020001], + [4020002], + [4020003], + [4020004], + [4020005], + [4020006], + [4020007], + [4020008] +], + +[ # Refine Helmet Materials + [1002001,4011002], + [1002001,4021006], + [1002043,4011001], + [1002043,4011002], + [1002039,4011001], + [1002039,4011002], + [1002051,4011001], + [1002051,4011002], + [1002059,4011001], + [1002059,4011002], + [1002055,4011001], + [1002055,4011002], + [1002027,4011002], + [1002027,4011006], + [1002005,4011006], + [1002005,4011005], + [1002004,4021000], + [1002004,4021005], + [1002021,4011002], + [1002021,4011006], + [1002086,4011002], + [1002086,4011004], + [1002100,4011007,4011001], + [1002100,4011007,4011002] +], + +[ # Refine Shield Materials + [1092012,4011003], + [1092012,4011002], + [1092009,4011007,4011004], + [1092009,4011007,4011003] +] +] + +costQPerion = [ +[ # Refine Mineral Materials Quantity + [10], + [10], + [10], + [10], + [10], + [10], + [10] +], + +[ # Refine Jewel Materials Quantity + [10], + [10], + [10], + [10], + [10], + [10], + [10], + [10], + [10] +], + +[ # Refine Helmet Materials Quantity + [1,1], + [1,1], + [1,1], + [1,1], + [1,1], + [1,1], + [1,2], + [1,2], + [1,3], + [1,3], + [1,3], + [1,3], + [1,4], + [1,4], + [1,5], + [1,5], + [1,3], + [1,3], + [1,5], + [1,6], + [1,5], + [1,4], + [1,1,7], + [1,1,7] +], + +[ # Refine Shield Materials Quantity + [1,10], + [1,10], + [1,1,15], + [1,1,15] +] +] + +costmesoPerion = [ +[300,300,300,500,500,500,800], # Meso Cost Mineral +[500,500,500,500,500,500,500,1000,3000],# Meso Cost Jewel +[500,300,500,800,500,800,1000,1500,1500,2000,1500,2000,2000,4000,4000,5000,8000,10000,12000,15000,20000,25000,30000,30000], # Meso Cost Helmet +[100000,100000,120000,120000] # Meso Cost Shield +] +# Perion END + + + +# Kerning Item START +itemsKerningItem = [ +[1082002,1082029,1082030,1082031,1082032,1082037,1082042,1082046,1082075,1082065,1082092], # Create Gloves +[1082033,1082034,1082038,1082039,1082043,1082044,1082047,1082045,1082076,1082074,1082067,1082066,1082093,1082094], # Upgrade Gloves +[1472001,1472004,1472007,1472008,1472011,1472014,1472018], # Create Claws +[1472002,1472003,1472005,1472006,1472009,1472010,1472012,1472013,1472015,1472016,1472017,1472019,1472020], # Upgrade Claws +[4003001,4003001,4003000] # Create Materials +] + +nonEquipSuffixKerningItem = ["with Tree Branches", "with Firewood", "(packs of 15)"] + +costKerningItem = [ +[ # Create Gloves Materials + [4000021], + [4000021,4000018], + [4000021,4000015], + [4000021,4000020], + [4011000,4000021], + [4011000,4011001,4000021], + [4011001,4000021,4003000], + [4011001,4011000,4000021,4003000], + [4021000,4000014,4000021,4003000], + [4021005,4021008,4000030,4003000], + [4011007,4011000,4021007,4000030,4003000] +], + +[ # Upgrade Gloves Materials + [1082032,4011002], + [1082032,4021004], + [1082037,4011002], + [1082037,4021004], + [1082042,4011004], + [1082042,4011006], + [1082046,4011005], + [1082046,4011006], + [1082075,4011006], + [1082075,4021008], + [1082065,4021000], + [1082065,4011006,4021008], + [1082092,4011001,4000014], + [1082092,4011006,4000027] +], + +[ # Create Claw Materials + [4011001,4000021,4003000], + [4011000,4011001,4000021,4003000], + [1472000,4011001,4000021,4003001], + [4011000,4011001,4000021,4003000], + [4011000,4011001,4000021,4003000], + [4011000,4011001,4000021,4003000], + [4011000,4011001,4000030,4003000] +], + +[ # Upgrade Claw Materials + [1472001,4011002], + [1472001,4011006], + [1472004,4011001], + [1472004,4011003], + [1472008,4011002], + [1472008,4011003], + [1472011,4011004], + [1472011,4021008], + [1472014,4021000], + [1472014,4011003], + [1472014,4021008], + [1472018,4021000], + [1472018,4021005] +], + +[ # Create Materials Materials + [4000003], + [4000018], + [4011000,4011001] +] +] + +costQKerningItem = [ +[ # Create Gloves Materials Quantity + [15], + [30,20], + [30,20], + [30,20], + [2,40], + [2,1,10], + [2,50,10], + [3,1,60,15], + [3,200,80,30], + [3,1,40,30], + [1,8,1,50,50] +], + +[ # Upgrade Gloves Materials Quantity + [1,1], + [1,1], + [1,2], + [1,2], + [1,2], + [1,1], + [1,3], + [1,2], + [1,4], + [1,2], + [1,5], + [1,2,1], + [1,7,200], + [1,7,150] +], + +[ # Create Claw Materials Quantity + [1,20,5], + [2,1,30,10], + [1,3,20,30], + [3,2,50,20], + [4,2,80,25], + [3,2,100,30], + [4,2,40,35] +], + +[ # Upgrade Claw Materials Quantity + [1,1], + [1,1], + [1,2], + [1,2], + [1,3], + [1,3], + [1,4], + [1,1], + [1,5], + [1,5], + [1,2], + [1,6], + [1,6] +], + +[ # Create Materials Materials Quantity + [10], + [5], + [1,1] +] +] + +costmesoKerningItem = [ +[1000,7000,7000,7000,10000,15000,25000,30000,40000,50000,70000],# Create Gloves meso +[5000,7000,10000,12000,15000,20000,22000,25000,40000,50000,55000,60000,70000,80000],# Upgrade Gloves meso +[2000,3000,5000,15000,30000,40000,50000], # Create Claw meso +[1000,2000,3000,5000,10000,15000,20000,25000,30000,30000,35000,40000,40000],# Upgrade Claw meso +[0,0,0] # Materials meso +] +# Kerning Item END + + + +# Kerning Ore START +itemsKerningOre = [ +[4011000,4011001,4011002,4011003,4011004,4011005,4011006], # Mineral Refine +[4021000,4021001,4021002,4021003,4021004,4021005,4021006,4021007,4021008], # Jewel Refine +[1472023,1472024,1472025], # Claw Refine +] + +costKerningOre = [ +[ # Mineral Refine Material + [4010000], + [4010001], + [4010002], + [4010003], + [4010004], + [4010005], + [4010006] +], + +[ # Jewel Refine Material + [4020000], + [4020001], + [4020002], + [4020003], + [4020004], + [4020005], + [4020006], + [4020007], + [4020008] +], + +[ # Claw Upgrade Material + [1472022,4011007,4021000,2012000], + [1472022,4011007,4021005,2012002], + [1472022,4011007,4021008,4000046] +] +] + +costQKerningOre = [ +[ # Mineral Refine Material Quantity + [10], + [10], + [10], + [10], + [10], + [10], + [10] +], + +[ # Jewel Refine Material Quantity + [10], + [10], + [10], + [10], + [10], + [10], + [10], + [10], + [10] +], + +[ # Claw Upgrade Material Quantity + [1,1,8,10], + [1,1,8,10], + [1,1,3,5] +] +] + +costmesoKerningOre = [ +[300,300,300,500,500,500,800], # Mineral Meso Cost +[500,500,500,500,500,500,500,1000,3000],# Jewel Meso Cost +[80000,80000,100000]# Claw Upgrade Meso Cost +] +# Kerning Ore END + + + +# ElNath Item START +itemsElNathItem = [ +[1072147,1072148,1072149,1072154,1072155,1072156,1072210,1072211,1072212], # Warrior Shoes +[1072136,1072137,1072138,1072139,1072157,1072158,1072159,1072160,1072177,1072178,1072179], # Magician Shoes +[1072144,1072145,1072146,1072164,1072165,1072166,1072167,1072182,1072183,1072184,1072185], # Archer Shoes +[1072150,1072151,1072152,1072161,1072162,1072163,1072172,1072173,1072174], # Thief Shoes +[1072306,1072309,1072312] # Pirate Shoes +] + +costElNathItem = [ +[ # Warrior Shoes Materials + [4021008,4011007,4021005,4000030,4003000], # x + [4021008,4011007,4011005,4000030,4003000], + [4021008,4011007,4021000,4000030,4003000], + [4005000,4005002,4011002,4000048,4003000], + [4005000,4005002,4011005,4000048,4003000], # x + [4005000,4005002,4021008,4000048,4003000], + [4005000,4005002,4021000,4000030,4003000], + [4005000,4005002,4021002,4000030,4003000], + [4005000,4005002,4021008,4000030,4003000] # x +], + +[ # Magician Shoes Materials + [4021009,4011006,4011005,4000030,4003000], + [4021009,4011006,4021003,4000030,4003000], + [4021009,4011006,4011003,4000030,4003000], + [4021009,4011006,4021002,4000030,4003000], + [4005001,4005003,4021002,4000051,4003000], + [4005001,4005003,4021000,4000051,4003000], + [4005001,4005003,4011003,4000051,4003000], + [4005001,4005003,4011006,4000051,4003000], + [4005001,4005003,4021003,4000030,4003000], + [4005001,4005003,4021001,4000030,4003000], + [4005001,4005003,4021008,4000030,4003000] +], + +[ # Archer Shoes Materials + [4011006,4021000,4021007,4000030,4003000], + [4011006,4021005,4021007,4000030,4003000], + [4011006,4021003,4021007,4000030,4003000], + [4005002,4005000,4021005,4000055,4003000], + [4005002,4005000,4021004,4000055,4003000], + [4005002,4005000,4021003,4000055,4003000], + [4005002,4005000,4021008,4000055,4003000], + [4005002,4005000,4021002,4000030,4003000], + [4005002,4005000,4021000,4000030,4003000], + [4005002,4005000,4021003,4000030,4003000], + [4005002,4021008,4000030,4003000] +], + +[ # Thief Shoes Materials + [4021007,4011007,4021000,4000030,4003000], + [4021007,4011007,4011006,4000030,4003000], + [4021007,4011007,4021008,4000030,4003000], + [4005003,4005000,4021001,4000051,4003000], + [4005003,4005002,4021005,4000051,4003000], + [4005002,4005003,4021000,4000051,4003000], + [4005000,4005003,4021003,4000030,4003000], + [4005002,4005003,4021000,4000030,4003000], + [4005003,4005002,4021008,4000030,4003000] +], + +[ # Pirate Shoes Materials + [4021008,4011007,4021005,4000030,4003000], + [4005000,4005002,4011005,4000048,4003000], + [4005000,4005002,4021008,4000030,4003000] +] +] + +costQElNathItem = [ +[ # Warrior Shoes Materials Quantity + [1,1,8,80,55], # x + [1,1,8,80,55], + [1,1,8,80,55], + [1,3,5,100,55], + [2,2,5,100,55], # x + [3,1,1,100,55], + [2,3,7,90,65], + [3,2,7,90,65], + [4,1,2,90,65] # x +], + +[ # Archer Shoes Materials Quantity + [1,1,8,80,55], + [1,1,8,80,55], + [1,1,8,80,55], + [1,3,5,100,55], + [2,2,5,100,55], + [3,1,1,100,55], + [2,3,7,90,65], + [3,2,7,90,65], + [4,1,2,90,65] +], + +[ # Magician Shoes Materials Quantity + [5,8,1,75,50], + [5,8,1,75,50], + [5,8,1,75,50], + [1,3,5,100,55], + [2,2,5,100,55], + [2,2,5,100,55], + [3,1,1,100,55], + [2,3,7,90,60], + [3,2,7,90,60], + [4,1,7,90,60], + [5,2,90,60] +], + +[ # Thief Shoes Materials Quantity + [1,1,8,75,50], + [1,1,5,75,50], + [1,1,1,75,50], + [1,3,5,100,55], + [1,3,5,100,55], + [1,3,5,100,55], + [3,2,7,90,60], + [3,2,7,90,60], + [3,2,7,90,60] +], + +[ # Pirate Shoes Materials Quantity + [1,1,8,80,55], + [2,2,5,100,55], + [4,1,2,90,65] +] +] + +costmesoElNathItem = [ +[60000,60000,60000,70000,70000,70000,80000,80000,80000], +[60000,60000,60000,70000,70000,70000,70000,80000,80000,80000,80000], +[60000,60000,60000,60000,70000,70000,70000,70000,80000,80000,80000], +[60000,60000,60000,70000,70000,70000,80000,80000,80000], +[60000,70000,80000] +] +# ElNath Item END + + + +# ElNath Refine START +itemsElNathRefine = [ +[4011000,4011001,4011002,4011003,4011004,4011005,4011006], # Mineral Refine +[4021000,4021001,4021002,4021003,4021004,4021005,4021006,4021007,4021008], # Jewel Refine +[4011007,4021009], # Rock Refine +[4005000,4005001,4005002,4005003,4005004], # Crystal Refine +[4003001,4003001,4003000], # Material Refine +[2060000,2061000,2060001,2061001,2060002,2061002] # Create Arrows +] + +nonEquipSuffixElNathRefine = ["with Tree Branches", "with Firewood", "(packs of 15)"] + +costElNathRefine = [ +[ # Mineral Refine Materials + [4010000], + [4010001], + [4010002], + [4010003], + [4010004], + [4010005], + [4010006] +], + +[ # Jewel Refine Materials + [4020000], + [4020001], + [4020002], + [4020003], + [4020004], + [4020005], + [4020006], + [4020007], + [4020008] +], + +[ # Rock Refine Materials + [4011000,4011001,4011002,4011003,4011004,4011005,4011006], + [4021000,4021001,4021002,4021003,4021004,4021005,4021006,4021007,4021008] +], + +[ # Crystal Refine Materials + [4004000], + [4004001], + [4004002], + [4004003], + [4004004] +], + +[ # Material Refine Materials + [4000003], + [4000018], + [4011000,4011001] +], + +[ # Create Arrows Materials + [4003001,4003004], + [4003001,4003004], + [4011000,4003001,4003004], + [4011000,4003001,4003004], + [4011001,4003001,4003005], + [4011001,4003001,4003005] +] +] + +costQElNathRefine = [ +[ # Mineral Refine Material Quantity + [10], + [10], + [10], + [10], + [10], + [10], + [10] +], + +[ # Jewel Refine Material Quantity + [10], + [10], + [10], + [10], + [10], + [10], + [10], + [10], + [10] +], + +[ # Rock Refine Material Quantity + [1,1,1,1,1,1,1], + [1,1,1,1,1,1,1,1,1] +], + +[ # Crystal Refine Material Quantity + [10], + [10], + [10], + [10], + [10] +], + +[ # Refine Material Material Quantity + [10], + [5], + [1,1] +], + +[ # Create Arrow Material Quantity + [1,1], + [1,1], + [1,3,10], + [1,3,10], + [1,5,15], + [1,5,15] +] +] + +costmesoElNathRefine = [ +[300,300,300,500,500,500,800], # Mineral Refine Meso Cost +[500,500,500,500,500,500,500,1000,3000], # Jewel Refine Meso Cost +[10000,15000], # Rock Refine Meso Cost +[5000,5000,5000,5000,1000000], # Crystal Refine Meso Cost +[0,0,0],# Material Refine Meso Cost +[0,0,0,0,0,0], # Create Arrows Meso Cost +] +# ElNath Refine END + + + +# Ludibrium Shoes START +itemsLudiShoes = [ +[1072003,1072039,1072040,1072041,1072002,1072112,1072113,1072000,1072126,1072127,1072132,1072133,1072134,1072135], # Warrior Shoes +[1072075,1072076,1072077,1072078,1072089,1072090,1072091,1072114,1072115,1072116,1072117,1072140,1072141,1072142,1072143,1072136,1072137,1072138,1072139], # Magician Shoes +[1072079,1072080,1072081,1072082,1072083,1072101,1072102,1072103,1072118,1072119,1072120,1072121,1072122,1072123,1072124,1072125], # Archer Shoes +[1072032,1072033,1072035,1072036,1072104,1072105,1072106,1072107,1072108,1072109,1072110,1072128,1072130,1072129,1072131], # Thief Shoes +[1072294,1072297,1072300,1072303] # Pirate Shoes +] + +costLudiShoes = [ +[ # Warrior Shoes + [4021003,4011001,4000021,4003000], # x + [4011002,4011001,4000021,4003000], + [4011004,4011001,4000021,4003000], + [4021000,4011001,4000021,4003000], + [4011001,4021004,4000021,4000030,4003000], # x + [4011002,4021004,4000021,4000030,4003000], + [4021008,4021004,4000021,4000030,4003000], + [4011003,4000021,4000030,4003000,4000103], + [4011005,4021007,4000030,4003000,4000104], + [4011002,4021007,4000030,4003000,4000105], # x + [4021008,4011001,4021003,4000030,4003000], + [4021008,4011001,4011002,4000030,4003000], + [4021008,4011001,4011005,4000030,4003000], + [4021008,4011001,4011006,4000030,4003000] # x +], + +[ # Magician Shoes + [4021000,4000021,4003000], + [4021002,4000021,4003000], + [4011004,4000021,4003000], + [4021008,4000021,4003000], + [4021001,4021006,4000021,4000030,4003000], + [4021000,4021006,4000021,4000030,4003000], + [4021008,4021006,4000021,4000030,4003000], + [4021000,4000030,4000110,4003000], + [4021005,4000030,4000111,4003000], + [4011006,4021007,4000030,4000100,4003000], + [4021008,4021007,4000030,4000112,4003000], + [4021009,4011006,4021000,4000030,4003000], + [4021009,4011006,4021005,4000030,4003000], + [4021009,4011006,4021001,4000030,4003000], + [4021009,4011006,4021003,4000030,4003000] +], + +[ # Archer Shoes + [4000021,4021000,4003000], + [4000021,4021005,4003000], + [4000021,4021003,4003000], + [4000021,4021004,4003000], + [4000021,4021006,4003000], + [4021002,4021006,4000030,4000021,4003000], + [4021003,4021006,4000030,4000021,4003000], + [4021000,4021006,4000030,4000021,4003000], + [4021000,4003000,4000030,4000106], + [4021006,4003000,4000030,4000107], + [4011003,4003000,4000030,4000108], + [4021002,4003000,4000030,4000099], + [4011001,4021006,4021008,4000030,4003000,4000033], + [4011001,4021006,4021008,4000030,4003000,4000032], + [4011001,4021006,4021008,4000030,4003000,4000041], + [4011001,4021006,4021008,4000030,4003000,4000042] +], + +[ # Thief Shoes + [4011000,4000021,4003000], + [4011001,4000021,4003000], + [4011004,4000021,4003000], + [4011006,4000021,4003000], + [4021000,4021004,4000021,4000030,4003000], + [4021003,4021004,4000021,4000030,4003000], + [4021002,4021004,4000021,4000030,4003000], + [4021000,4000030,4000113,4003000], + [4021003,4000030,4000095,4003000], + [4021006,4000030,4000096,4003000], + [4021005,4000030,4000097,4003000], + [4011007,4021005,4000030,4000114,4003000], + [4011007,4021000,4000030,4000115,4003000], + [4011007,4021003,4000030,4000109,4003000], + [4011007,4021001,4000030,4000036,4003000] +], + +[ # Pirate Shoes + [4021003,4011001,4000021,4003000], + [4011001,4021004,4000021,4000030,4003000], + [4011002,4021007,4000030,4003000,4000105], + [4021008,4011001,4011006,4000030,4003000] +] +] + +costQLudiShoes = [ +[ # Warrior Shoes + [4,2,45,15],# x + [4,2,45,15], + [4,2,45,15], + [4,2,45,15], + [3,1,30,20,25], # x + [3,1,30,20,25], + [2,1,30,20,25], + [4,100,40,30,100], + [4,1,40,30,100], + [4,1,40,30,100],# x + [1,3,6,65,45], + [1,3,6,65,45], + [1,3,6,65,45], + [1,3,6,65,45] # x +], + +[ # Magician Shoes + [2,50,15], + [2,50,15], + [2,50,15], + [1,50,15], + [3,1,30,15,20], + [3,1,30,15,20], + [2,1,40,25,20], + [4,40,100,25], + [4,40,100,25], + [2,1,40,100,25], + [2,1,40,100,30], + [1,3,3,60,40], + [1,3,3,60,40], + [1,3,3,60,40], + [1,3,3,60,40] +], + +[ # Archer Shoes + [50,2,15], + [50,2,15], + [50,2,15], + [50,2,15], + [50,2,15], + [3,1,15,30,20], + [3,1,15,30,20], + [3,1,15,30,20], + [4,30,45,100], + [4,30,45,100], + [5,30,45,100], + [5,30,45,100], + [3,3,1,60,35,80], + [3,3,1,60,35,150], + [3,3,1,60,35,100], + [3,3,1,60,35,250] +], + +[ # Thief Shoes + [3,50,15], + [3,50,15], + [2,50,15], + [2,50,15], + [3,1,30,15,20], + [3,1,30,15,20], + [3,1,30,15,20], + [5,45,100,30], + [4,45,100,30], + [4,45,100,30], + [4,45,100,30], + [2,3,50,100,35], + [2,3,50,100,35], + [2,3,50,100,35], + [2,3,50,80,35] +], + +[ # Pirate Shoes + [4,2,45,15], + [3,1,30,20,25], + [4,1,40,30,100], + [1,3,6,65,45] +] +] + +costmesoLudiShoes = [ +[20000,20000,20000,20000,22000,22000,25000,38000,38000,38000,50000,50000,50000,50000], # Warrior Shoes +[19000,19000,19000,19000,19000,19000,20000,20000,20000,32000,32000,40000,40000,50000,50000,50000,50000],# Magician Shoes +[18000,18000,18000,18000,20000,20000,22000,30000,30000,35000,40000,50000,50000,50000,50000],# Archer Shoes +[19000,19000,19000,21000,20000,20000,20000,40000,32000,35000,35000,50000,50000,50000,50000],# Thief Shoes +[20000,22000,38000,50000] # Pirate Shoes +] +# Ludibrium Shoes END + + + +# Ludirbium Gloves START +itemsLudiGloves = [ +[1082007,1082008,1082023,1082009], # Warrior +[1082051,1082054,1082062,1082081], # Magician +[1082048,1082068,1082071,1082084], # Archer +[1082042,1082046,1082075,1082065], # Thief +[1082189,1082192,1082195,1082198] # Pirate +] + +costLudiGloves = [ +[ # Warrior + [4011000,4011001,4003000], + [4000021,4011001,4003000], + [4000021,4011001,4003000], + [4011001,4021007,4000030,4003000] +], + +[ # Magician + [4000021,4021006,4021000], + [4000021,4011006,4011001,4021000], + [4000021,4021000,4021006,4003000], + [4021000,4011006,4000030,4003000] +], + +[ # Archer + [4000021,4011006,4021001], + [4011000,4011001,4000021,4003000], + [4011001,4021000,4021002,4000021,4003000], + [4011004,4011006,4021002,4000030,4003000] +], + +[ # Thief + [4011001,4000021,4003000], + [4011001,4011000,4000021,4003000], + [4021000,4000101,4000021,4003000], + [4021005,4021008,4000030,4003000] +], + +[ # Pirate + [4011000,4011001,4003000], + [4000021,4011001,4003000], + [4000021,4011001,4003000], + [4011001,4021007,4000030,4003000] +] +] + +costQLudiGloves = [ +[ # Warrior + [3,2,15], + [30,4,15], + [50,5,40], + [3,2,30,45] +], + +[ # Magician + [60,1,2], + [70,1,3,2], + [80,3,3,30], + [3,2,35,40] +], + +[ # Archer + [50,2,1], + [1,3,60,15], + [3,1,3,80,25], + [3,1,2,40,35] +], + +[ # Thief + [2,50,10], + [3,1,60,15], + [3,100,80,30], + [3,1,40,30] +], + +[ # Pirate + [3,2,15], + [30,4,15], + [50,5,40], + [3,2,30,45] +] +] + +costmesoLudiGloves = [ +[18000,27000,36000,45000], # Warrior +[22500,27000,36000,45000], # Magician +[18000,27000,36000,45000], # Archer +[22500,27000,36000,45000], # Thief +[18000,27000,36000,45000], # Pirate +] +# Ludibrium Gloves END + + + +# Ellinia Item START +itemsElliniaItem = [ +[1082019,1082020,1082026,1082051,1082054,1082062,1082081,1082086], # Create Gloves +[1082021,1082022,1082027,1082028,1082052,1082053,1082055,1082056,1082063,1082064,1082082,1082080,1082087,1082088], # Upgrade Gloves +[1002065,1002013], # Upgrade Hat +[1372005,1372006,1372002,1372004,1372003,1372001,1372000,1372007], # Create Wand +[1382000,1382003,1382005,1382004,1382002,1382001] # Create Staff +] + +costElliniaItem = [ +[ # Create Gloves + [4000021], + [4000021,4011001], + [4000021,4011006], + [4000021,4021006,4021000], + [4000021,4011006,4011001,4021000], + [4000021,4021000,4021006,4003000], + [4021000,4011006,4000030,4003000], + [4011007,4011001,4021007,4000030,4003000] +], + +[ # Upgrade Gloves + [1082020,4011001], + [1082020,4021001], + [1082026,4021000], + [1082026,4021008], + [1082051,4021005], + [1082051,4021008], + [1082054,4021005], + [1082054,4021008], + [1082062,4021002], + [1082062,4021008], + [1082081,4021002], + [1082081,4021008], + [1082086,4011004,4011006], + [1082086,4021008,4011006] +], + +[ # Hat Upgrade + [1002064,4011001], + [1002064,4011006] +], + +[ # Create Wand + [4003001], + [4003001,4000001], + [4011001,4000009,4003000], + [4011002,4003002,4003000], + [4011002,4021002,4003000], + [4021006,4011002,4011001,4003000], + [4021006,4021005,4021007,4003003,4003000], + [4011006,4021003,4021007,4021002,4003002,4003000] +], + +[ # Create Staff + [4003001], + [4021005,4011001,4003000], + [4021003,4011001,4003000], + [4003001,4011001,4003000], + [4021006,4021001,4011001,4003000], + [4011001,4021006,4021001,4021005,4003000,4000010,4003003] +] +] + +costQElliniaItem = [ +[ # Create Gloves + [15], + [30,1], + [50,2], + [60,1,2], + [70,1,3,2], + [80,3,3,30], + [3,2,35,40], + [1,8,1,50,50] +], + +[ # Upgrade Gloves + [1,1], + [1,2], + [1,3], + [1,1], + [1,3], + [1,1], + [1,3], + [1,1], + [1,4], + [1,2], + [1,5], + [1,3], + [1,3,5], + [1,2,3] +], + +[ # Upgrade Hat + [1,3], + [1,3] +], + +[ # Create Wand + [5], + [10,50], + [1,30,5], + [2,1,10], + [3,1,10], + [5,3,1,15], + [5,5,1,1,20], + [4,3,2,1,1,30] +], + +[ # Create Staff + [5], + [1,1,5], + [1,1,5], + [50,1,10], + [2,1,1,15], + [8,5,5,5,30,50,1] +] +] + +costmesoElliniaItem = [ +[7000,15000,20000,25000,30000,40000,50000,70000], # Create Gloves +[20000,25000,30000,40000,35000,40000,40000,45000,45000,50000,55000,60000,70000,80000], # Upgrade Gloves +[40000,50000], # Upgrade Hat +[1000,3000,5000,12000,30000,60000,120000,200000], # Create Wand +[2000,2000,2000,5000,12000,180000] # Create Staff +] +# Ellinia Item END + + + +# Ariant Refine START +itemsAriantRefine = [ +[4011000,4011001,4011002,4011003,4011004,4011005,4011006,4011008], # Mineral Refine +[4021000,4021001,4021002,4021003,4021004,4021005,4021006,4021007,4021008], # Jewel Refine +[4005000,4005001,4005002,4005003], # Crystal Refine +] + +costAriantRefine = [ +[4010000,4010001,4010002,4010003,4010004,4010005,4010006,4010007], # Mineral Refine +[4020000,4020001,4020002,4020003,4020004,4020005,4020006,4020007,4020008], # Jewel Refine +[4004000,4004001,4004002,4004003] # Crystal Refine +] + +costQAriantRefine = [ +[10,10,10,10,10,10,10,10], # Mineral Refine +[10,10,10,10,10,10,10,10,10], # Jewel Refine +[10,10,10,10] # Crystal Refine +] + +costmesoAriantRefine = [ +[270,270,270,450,450,450,720,270], # Mineral Refine +[450,450,450,450,450,450,450,900,2700], # Jewel Refine +[4500,4500,4500,4500] # Crystal Refine +] +# Ariant Refine END + + + +if parentID == 1012002: + # Vicious | Item Maker + selection1 = sm.sendNext("Hello. I am Vicious, retired Sniper. However, I used to be the top student of Athena Pierce. Though I no longer hunt, I can make some archer items that will be useful for you...\r\n#b" + "#L0#Create a bow#l \r\n" + "#L1#Create a crossbow#l \r\n" + "#L2#Create gloves#l \r\n" + "#L3#Upgrade gloves#l \r\n" + "#L4#Create materials#l \r\n" + "#L5#Create arrows#l \r\n" + ) + + + listStr = "What item would you like to make? #b" + i = 0 + while i < len(itemsHene[selection1]): + if selection1 == 4: + listStr += "\r\n#L" + str(i) + "##z" + str(itemsHene[selection1][i]) + "# " + str(nonEquipSuffixHene[i]) + else: + listStr += "\r\n#L" + str(i) + "##z" + str(itemsHene[selection1][i]) + "#" + i += 1 + selection2 = sm.sendNext(listStr) + + + if selection1 == 4 or selection1 == 5: + materialStr = "You want #z" + str(itemsHene[selection1][selection2]) + "#s? \r\nIn that case, I'm going to need specific items from you in order to make it." + else: + materialStr = "You want a #z" + str(itemsHene[selection1][selection2]) + "#? \r\nIn that case, I'm going to need specific items from you in order to make it." + i = 0 + while i < len(costHene[selection1][selection2]): + materialStr += "\r\n" + str(costQHene[selection1][selection2][i]) + "x #z" + str(costHene[selection1][selection2][i]) + "#" + i += 1 + if costmesoHene[selection1][selection2] > 0: + materialStr += "\r\n#i4031138#" + str(costmesoHene[selection1][selection2]) + " mesos" + if selection1 == 4 or selection1 == 5: + materialStr += "\r\n\r\nHow many do you want me to make?" + selection3 = sm.sendAskNumber(materialStr, 1, 1, 50) + else: + response = sm.sendAskYesNo(materialStr) + + + if response: + multiplier = 1 + if selection1 == 4 or selection1 == 5: + multiplier = selection3 + + if sm.getMesos() < costmesoHene[selection1][selection2]: + sm.sendSayOkay("I'm afraid you cannot afford my services.") + sm.dispose() + + i = 0 + while i < len(costHene[selection1][selection2]): + complete = sm.hasItem(costHene[selection1][selection2][i], (costQHene[selection1][selection2][i] * multiplier)) + i += 1 + if complete == False: + break + + if complete == False: + sm.sendSayOkay("Surely you, of all people, would understand the value of having quality items? I can't do that without the items I require.") + else: + if sm.canHold(itemsHene[selection1][selection2]) == False: + sm.sendSayOkay("Please make sure you have room in your inventory, and talk to me again.") + sm.dispose() + else: + i = 0 + while i < len(costHene[selection1][selection2]): + sm.consumeItem(costHene[selection1][selection2][i], (costQHene[selection1][selection2][i] * multiplier)) + i += 1 + if costmesoHene[selection1][selection2] > 0: + sm.giveMesos(-(costmesoHene[selection1][selection2] * multiplier)) + + if itemsHene[selection1][selection2] >= 2060000 and itemsHene[selection1][selection2] <= 2060002: + multiplier2 = 1000 - (itemsHene[selection1][selection2] - 2060000) * 100 + elif itemsHene[selection1][selection2] >= 2061000 and itemsHene[selection1][selection2] <= 2061002: + multiplier2 = 1000 - (itemsHene[selection1][selection2] - 2061000) * 100 + elif itemsHene[selection1][selection2] == 4003000: + multiplier2 = 15 + else: + multiplier2 = 1 + + sm.giveItem(itemsHene[selection1][selection2], (multiplier * multiplier2)) + sm.sendSayOkay("A perfect item, as usual. Come and see me if you need anything else.") + else: + sm.sendSayOkay("Let me know when you are ready to create something.") + sm.dispose() + + + +elif parentID == 1022003: + +# Mr. Thunder | Repair Durability + selection1 = sm.sendNext("hm? Who might you be? Oh, you've heard about my forging skills? In that case, I'd be glad to process some of your ores... for a fee.#b" + "\r\n#L0#Refine a mineral ore#l" + "\r\n#L1#Refine a jewel ore#l" + "\r\n#L2#Upgrade a helmet#l" + "\r\n#L3#Upgrade a shield#l" + ) + + + listStr = "What item would you like to make? #b" + i = 0 + while i < len(itemsPerion[selection1]): + listStr += "\r\n#L" + str(i) + "##z" + str(itemsPerion[selection1][i]) + "#" + i += 1 + selection2 = sm.sendNext(listStr) + + if selection1 == 0 or selection1 == 1: + materialStr = "You want #z" + str(itemsPerion[selection1][selection2]) + "#s? \r\nIn that case, I'm going to need specific items from you in order to make it." + else: + materialStr = "You want a #z" + str(itemsPerion[selection1][selection2]) + "#? \r\nIn that case, I'm going to need specific items from you in order to make it." + i = 0 + while i < len(costPerion[selection1][selection2]): + materialStr += "\r\n" + str(costQPerion[selection1][selection2][i]) + "x #z" + str(costPerion[selection1][selection2][i]) + "#" + i += 1 + if costmesoPerion[selection1][selection2] > 0: + materialStr += "\r\n#i4031138#" + str(costmesoPerion[selection1][selection2]) + " mesos" + if selection1 == 0 or selection1 == 1: + materialStr += "\r\n\r\nHow many do you want me to make?" + selection3 = sm.sendAskNumber(materialStr, 1, 1, 50) + else: + response = sm.sendAskYesNo(materialStr) + + + if response: + multiplier = 1 + if selection1 == 0 or selection1 == 1: + multiplier = selection3 + + if sm.getMesos() < costmesoPerion[selection1][selection2]: + sm.sendSayOkay("I'm afraid you cannot afford my services.") + sm.dispose() + + i = 0 + while i < len(costPerion[selection1][selection2]): + complete = sm.hasItem(costPerion[selection1][selection2][i], (costQPerion[selection1][selection2][i] * multiplier)) + i += 1 + if complete == False: + break + + if complete == False: + sm.sendSayOkay("Surely you, of all people, would understand the value of having quality items? I can't do that without the items I require.") + else: + if sm.canHold(itemsPerion[selection1][selection2]) == False: + sm.sendSayOkay("Please make sure you have room in your inventory, and talk to me again.") + sm.dispose() + else: + i = 0 + while i < len(costPerion[selection1][selection2]): + sm.consumeItem(costPerion[selection1][selection2][i], (costQPerion[selection1][selection2][i] * multiplier)) + i += 1 + if costmesoPerion[selection1][selection2] > 0: + sm.giveMesos(-(costmesoPerion[selection1][selection2] * multiplier)) + + + sm.giveItem(itemsPerion[selection1][selection2], multiplier) + sm.sendSayOkay("A perfect item, as usual. Come and see me if you need anything else.") + else: + sm.sendSayOkay("Let me know when you are ready to create something.") + sm.dispose() + + + +elif parentID == 1052002: + +# JM From Tha Streetz | Item Creator + selection1 = sm.sendNext("Pst... If you have the right goods, I can turn it into something nice...#b" + "\r\n#L0#Create a glove#l" + "\r\n#L1#Upgrade a glove#l" + "\r\n#L2#Create a claw#l" + "\r\n#L3#Upgrade a claw#l" + "\r\n#L4#Create materials#l" + ) + + + listStr = "What item would you like to make? #b" + i = 0 + while i < len(itemsKerningItem[selection1]): + if selection1 == 4: + listStr += "\r\n#L" + str(i) + "##z" + str(itemsKerningItem[selection1][i]) + "# " + str(nonEquipSuffixKerningItem[i]) + else: + listStr += "\r\n#L" + str(i) + "##z" + str(itemsKerningItem[selection1][i]) + "#" + i += 1 + selection2 = sm.sendNext(listStr) + + if selection1 == 4: + materialStr = "You want #z" + str(itemsKerningItem[selection1][selection2]) + "#s? \r\nIn that case, I'm going to need specific items from you in order to make it." + else: + materialStr = "You want a #z" + str(itemsKerningItem[selection1][selection2]) + "#? \r\nIn that case, I'm going to need specific items from you in order to make it." + i = 0 + while i < len(costKerningItem[selection1][selection2]): + materialStr += "\r\n" + str(costQKerningItem[selection1][selection2][i]) + "x #z" + str(costKerningItem[selection1][selection2][i]) + "#" + i += 1 + if costmesoKerningItem[selection1][selection2] > 0: + materialStr += "\r\n#i4031138#" + str(costmesoKerningItem[selection1][selection2]) + " mesos" + if selection1 == 4: + materialStr += "\r\n\r\nHow many do you want me to make?" + selection3 = sm.sendAskNumber(materialStr, 1, 1, 50) + else: + response = sm.sendAskYesNo(materialStr) + + + if response: + multiplier = 1 + if selection1 == 4: + multiplier = selection3 + + if sm.getMesos() < costmesoKerningItem[selection1][selection2]: + sm.sendSayOkay("Where's the mesos, man?!") + sm.dispose() + + i = 0 + while i < len(costKerningItem[selection1][selection2]): + complete = sm.hasItem(costKerningItem[selection1][selection2][i], (costQKerningItem[selection1][selection2][i] * multiplier)) + i += 1 + if complete == False: + break + + if complete == False: + sm.sendSayOkay("Surely you, of all people, would understand the value of having quality items? I can't do that without the items I require.") + else: + if sm.canHold(itemsKerningItem[selection1][selection2]) == False: + sm.sendSayOkay("Make sure you have room in your inventory.") + sm.dispose() + else: + i = 0 + while i < len(costKerningItem[selection1][selection2]): + sm.consumeItem(costKerningItem[selection1][selection2][i], (costQKerningItem[selection1][selection2][i] * multiplier)) + i += 1 + if costmesoKerningItem[selection1][selection2] > 0: + sm.giveMesos(-(costmesoKerningItem[selection1][selection2] * multiplier)) + + multiplier2 = 1 + if itemsKerningItem[selection1][selection2] == 4003000: + multiplier2 = 15 + + sm.giveItem(itemsKerningItem[selection1][selection2], (multiplier * multiplier2)) + sm.sendSayOkay("A perfect item, as usual. Come and see me if you need anything else.") + else: + sm.sendSayOkay("Let me know when you are ready to create something.") + sm.dispose() + + + +elif parentID == 1052003: + +# Chris | Ore Refiner + selection1 = sm.sendNext("Yes, I do own this forge. If you're willing to pay, I can offer you some of my services.#b" + "\r\n#L0#Refine a mineral ore#l" + "\r\n#L1#Refine a jewel ore#l" + "\r\n#L2#Upgrade a claw#l" + ) + + + listStr = "What item would you like to make? #b" + i = 0 + while i < len(itemsKerningOre[selection1]): + listStr += "\r\n#L" + str(i) + "##z" + str(itemsKerningOre[selection1][i]) + "#" + i += 1 + selection2 = sm.sendNext(listStr) + + if selection1 == 0 or selection1 == 1: + materialStr = "You want #z" + str(itemsKerningOre[selection1][selection2]) + "#s? \r\nIn that case, I'm going to need specific items from you in order to make it." + else: + materialStr = "You want a #z" + str(itemsKerningOre[selection1][selection2]) + "#? \r\nIn that case, I'm going to need specific items from you in order to make it." + i = 0 + while i < len(costKerningOre[selection1][selection2]): + materialStr += "\r\n" + str(costQKerningOre[selection1][selection2][i]) + "x #z" + str(costKerningOre[selection1][selection2][i]) + "#" + i += 1 + if costmesoKerningOre[selection1][selection2] > 0: + materialStr += "\r\n#i4031138#" + str(costmesoKerningOre[selection1][selection2]) + " mesos" + if selection1 == 0 or selection1 == 1: + materialStr += "\r\n\r\nHow many do you want me to make?" + selection3 = sm.sendAskNumber(materialStr, 1, 1, 50) + else: + response = sm.sendAskYesNo(materialStr) + + + if response: + multiplier = 1 + if selection1 == 0 or selection1 == 1: + multiplier = selection3 + + if sm.getMesos() < costmesoKerningOre[selection1][selection2]: + sm.sendSayOkay("I'm afraid you cannot afford my services.") + sm.dispose() + + i = 0 + while i < len(costKerningOre[selection1][selection2]): + complete = sm.hasItem(costKerningOre[selection1][selection2][i], (costQKerningOre[selection1][selection2][i] * multiplier)) + i += 1 + if complete == False: + break + + if complete == False: + sm.sendSayOkay("Surely you, of all people, would understand the value of having quality items? I can't do that without the items I require.") + else: + if sm.canHold(itemsKerningOre[selection1][selection2]) == False: + sm.sendSayOkay("Please make sure you have room in your inventory, and talk to me again.") + sm.dispose() + else: + i = 0 + while i < len(costKerningOre[selection1][selection2]): + sm.consumeItem(costKerningOre[selection1][selection2][i], (costQKerningOre[selection1][selection2][i] * multiplier)) + i += 1 + if costmesoKerningOre[selection1][selection2] > 0: + sm.giveMesos(-(costmesoKerningOre[selection1][selection2] * multiplier)) + + + sm.giveItem(itemsKerningOre[selection1][selection2], multiplier) + sm.sendSayOkay("A perfect item, as usual. Come and see me if you need anything else.") + else: + sm.sendSayOkay("Let me know when you are ready to create something.") + sm.dispose() + + + +elif parentID == 2020002: + +# Gordon | Shoemaker + selection1 = sm.sendNext("Hello there. El Nath winters are incredibly cold, you're going to need a warm pair of shoes to survive.#b" + "\r\n#L0#Create warrior shoes#l" + "\r\n#L1#Create magician shoes#l" + "\r\n#L2#Create archer shoes#l" + "\r\n#L3#Create thief shoes#l" + "\r\n#L4#Create pirate shoes#l" + ) + + + listStr = "What item would you like to make? #b" + i = 0 + while i < len(itemsElNathItem[selection1]): + listStr += "\r\n#L" + str(i) + "##z" + str(itemsElNathItem[selection1][i]) + "#" + i += 1 + selection2 = sm.sendNext(listStr) + + materialStr = "You want a #z" + str(itemsElNathItem[selection1][selection2]) + "#? \r\nIn that case, I'm going to need specific items from you in order to make it." + i = 0 + while i < len(costElNathItem[selection1][selection2]): + materialStr += "\r\n" + str(costQElNathItem[selection1][selection2][i]) + "x #z" + str(costElNathItem[selection1][selection2][i]) + "#" + i += 1 + if costmesoElNathItem[selection1][selection2] > 0: + materialStr += "\r\n#i4031138#" + str(costmesoElNathItem[selection1][selection2]) + " mesos" + response = sm.sendAskYesNo(materialStr) + + + if response: + multiplier = 1 + + if sm.getMesos() < costmesoElNathItem[selection1][selection2]: + sm.sendSayOkay("I'm afraid you cannot afford my services.") + sm.dispose() + + i = 0 + while i < len(costElNathItem[selection1][selection2]): + complete = sm.hasItem(costElNathItem[selection1][selection2][i], (costQElNathItem[selection1][selection2][i] * multiplier)) + i += 1 + if complete == False: + break + + if complete == False: + sm.sendSayOkay("Surely you, of all people, would understand the value of having quality items? I can't do that without the items I require.") + else: + if sm.canHold(itemsElNathItem[selection1][selection2]) == False: + sm.sendSayOkay("Please make sure you have room in your inventory, and talk to me again.") + sm.dispose() + else: + i = 0 + while i < len(costElNathItem[selection1][selection2]): + sm.consumeItem(costElNathItem[selection1][selection2][i], (costQElNathItem[selection1][selection2][i] * multiplier)) + i += 1 + if costmesoElNathItem[selection1][selection2] > 0: + sm.giveMesos(-(costmesoElNathItem[selection1][selection2] * multiplier)) + + + sm.giveItem(itemsElNathItem[selection1][selection2], multiplier) + sm.sendSayOkay("A perfect item, as usual. Come and see me if you need anything else.") + else: + sm.sendSayOkay("Let me know when you are ready to create something.") + sm.dispose() + + + +elif parentID == 2020000 or parentID == 2040016: + +# Vogen | Refining Expert & Pi | Refining Expert + selection1 = sm.sendNext("Hm? Who might you be? Oh, you've heard about my forging skills? In that case, I'd be glad to process some of your ores... for a fee.#b\r\n#b" + "#L0#Refine a mineral ore#l \r\n" + "#L1#Refine a jewel ore#l \r\n" + "#L2#Refine a rare jewel ore#l \r\n" + "#L3#Refine a crystal ore#l \r\n" + "#L4#Create materials#l \r\n" + "#L5#Create arrows#l \r\n" + ) + + + listStr = "What item would you like to make? #b" + i = 0 + while i < len(itemsElNathRefine[selection1]): + if selection1 == 4: + listStr += "\r\n#L" + str(i) + "##z" + str(itemsElNathRefine[selection1][i]) + "# " + str(nonEquipSuffixElNathRefine[i]) + else: + listStr += "\r\n#L" + str(i) + "##z" + str(itemsElNathRefine[selection1][i]) + "#" + i += 1 + selection2 = sm.sendNext(listStr) + + if selection1 == 4 or selection1 == 5: + materialStr = "You want #z" + str(itemsElNathRefine[selection1][selection2]) + "#s? \r\nIn that case, I'm going to need specific items from you in order to make it." + else: + materialStr = "You want a #z" + str(itemsElNathRefine[selection1][selection2]) + "#? \r\nIn that case, I'm going to need specific items from you in order to make it." + i = 0 + while i < len(costElNathRefine[selection1][selection2]): + materialStr += "\r\n" + str(costQElNathRefine[selection1][selection2][i]) + "x #z" + str(costElNathRefine[selection1][selection2][i]) + "#" + i += 1 + if costmesoElNathRefine[selection1][selection2] > 0: + materialStr += "\r\n#i4031138#" + str(costmesoElNathRefine[selection1][selection2]) + " mesos" + materialStr += "\r\n\r\nHow many do you want me to make?" + selection3 = sm.sendAskNumber(materialStr, 1, 1, 50) + + + multiplier = selection3 + + if sm.getMesos() < costmesoElNathRefine[selection1][selection2]: + sm.sendSayOkay("I'm afraid you cannot afford my services.") + sm.dispose() + + i = 0 + while i < len(costElNathRefine[selection1][selection2]): + complete = sm.hasItem(costElNathRefine[selection1][selection2][i], (costQElNathRefine[selection1][selection2][i] * multiplier)) + i += 1 + if complete == False: + break + + if complete == False: + sm.sendSayOkay("Surely you, of all people, would understand the value of having quality items? I can't do that without the items I require.") + else: + if sm.canHold(itemsElNathRefine[selection1][selection2]) == False: + sm.sendSayOkay("Please make sure you have room in your inventory, and talk to me again.") + sm.dispose() + else: + i = 0 + while i < len(costElNathRefine[selection1][selection2]): + sm.consumeItem(costElNathRefine[selection1][selection2][i], (costQElNathRefine[selection1][selection2][i] * multiplier)) + i += 1 + if costmesoElNathRefine[selection1][selection2] > 0: + sm.giveMesos(-(costmesoElNathRefine[selection1][selection2] * multiplier)) + + if itemsElNathRefine[selection1][selection2] >= 2060000 and itemsElNathRefine[selection1][selection2] <= 2060002: + multiplier2 = 1000 - (itemsElNathRefine[selection1][selection2] - 2060000) * 100 + elif itemsElNathRefine[selection1][selection2] >= 2061000 and itemsElNathRefine[selection1][selection2] <= 2061002: + multiplier2 = 1000 - (itemsElNathRefine[selection1][selection2] - 2061000) * 100 + elif itemsElNathRefine[selection1][selection2] == 4003000: + multiplier2 = 15 + else: + multiplier2 = 1 + + sm.giveItem(itemsElNathRefine[selection1][selection2], (multiplier * multiplier2)) + sm.sendSayOkay("A perfect item, as usual. Come and see me if you need anything else.") + + + +elif parentID == 2040021: + +# Tara | Shoe maker + selection1 = sm.sendNext("Hello, and welcome to the Ludibrium Shoe Store. How can I help you today? #b" + "\r\n#L0#Create warrior shoes#l" + "\r\n#L1#Create magician shoes#l" + "\r\n#L2#Create archer shoes#l" + "\r\n#L3#Create thief shoes#l" + "\r\n#L4#Create pirate shoes#l" + ) + + + listStr = "What item would you like to make? #b" + i = 0 + while i < len(itemsLudiShoes[selection1]): + listStr += "\r\n#L" + str(i) + "##z" + str(itemsLudiShoes[selection1][i]) + "#" + i += 1 + selection2 = sm.sendNext(listStr) + + materialStr = "You want a #z" + str(itemsLudiShoes[selection1][selection2]) + "#? \r\nIn that case, I'm going to need specific items from you in order to make it." + i = 0 + while i < len(costLudiShoes[selection1][selection2]): + materialStr += "\r\n" + str(costQLudiShoes[selection1][selection2][i]) + "x #z" + str(costLudiShoes[selection1][selection2][i]) + "#" + i += 1 + if costmesoLudiShoes[selection1][selection2] > 0: + materialStr += "\r\n#i4031138#" + str(costmesoLudiShoes[selection1][selection2]) + " mesos" + response = sm.sendAskYesNo(materialStr) + + + if response: + multiplier = 1 + + if sm.getMesos() < costmesoLudiShoes[selection1][selection2]: + sm.sendSayOkay("I'm afraid you cannot afford my services.") + sm.dispose() + + i = 0 + while i < len(costLudiShoes[selection1][selection2]): + complete = sm.hasItem(costLudiShoes[selection1][selection2][i], (costQLudiShoes[selection1][selection2][i] * multiplier)) + i += 1 + if complete == False: + break + + if complete == False: + sm.sendSayOkay("Surely you, of all people, would understand the value of having quality items? I can't do that without the items I require.") + else: + if sm.canHold(itemsLudiShoes[selection1][selection2]) == False: + sm.sendSayOkay("Please make sure you have room in your inventory, and talk to me again.") + sm.dispose() + else: + i = 0 + while i < len(costLudiShoes[selection1][selection2]): + sm.consumeItem(costLudiShoes[selection1][selection2][i], (costQLudiShoes[selection1][selection2][i] * multiplier)) + i += 1 + if costmesoLudiShoes[selection1][selection2] > 0: + sm.giveMesos(-(costmesoLudiShoes[selection1][selection2] * multiplier)) + + + sm.giveItem(itemsLudiShoes[selection1][selection2], multiplier) + sm.sendSayOkay("A perfect item, as usual. Come and see me if you need anything else.") + else: + sm.sendSayOkay("Let me know when you are ready to create something.") + sm.dispose() + + + +elif parentID == 2040020: + +# Sarah | Glove maker + selection1 = sm.sendNext("Hello, and welcome to the Ludibrium Glove Store. How can I help you today?#b" + "\r\n#L0#Create warrior gloves#l" + "\r\n#L1#Create magician gloves#l" + "\r\n#L2#Create archer gloves#l" + "\r\n#L3#Create thief gloves#l" + "\r\n#L4#Create pirate gloves#l" + ) + + + listStr = "What item would you like to make? #b" + i = 0 + while i < len(itemsLudiGloves[selection1]): + listStr += "\r\n#L" + str(i) + "##z" + str(itemsLudiGloves[selection1][i]) + "#" + i += 1 + selection2 = sm.sendNext(listStr) + + materialStr = "You want a #z" + str(itemsLudiGloves[selection1][selection2]) + "#? \r\nIn that case, I'm going to need specific items from you in order to make it." + i = 0 + while i < len(costLudiGloves[selection1][selection2]): + materialStr += "\r\n" + str(costQLudiGloves[selection1][selection2][i]) + "x #z" + str(costLudiGloves[selection1][selection2][i]) + "#" + i += 1 + if costmesoLudiGloves[selection1][selection2] > 0: + materialStr += "\r\n#i4031138#" + str(costmesoLudiGloves[selection1][selection2]) + " mesos" + response = sm.sendAskYesNo(materialStr) + + + if response: + multiplier = 1 + + if sm.getMesos() < costmesoLudiGloves[selection1][selection2]: + sm.sendSayOkay("I'm afraid you cannot afford my services.") + sm.dispose() + + i = 0 + while i < len(costLudiGloves[selection1][selection2]): + complete = sm.hasItem(costLudiGloves[selection1][selection2][i], (costQLudiGloves[selection1][selection2][i] * multiplier)) + i += 1 + if complete == False: + break + + if complete == False: + sm.sendSayOkay("Surely you, of all people, would understand the value of having quality items? I can't do that without the items I require.") + else: + if sm.canHold(itemsLudiGloves[selection1][selection2]) == False: + sm.sendSayOkay("Please make sure you have room in your inventory, and talk to me again.") + sm.dispose() + else: + i = 0 + while i < len(costLudiGloves[selection1][selection2]): + sm.consumeItem(costLudiGloves[selection1][selection2][i], (costQLudiGloves[selection1][selection2][i] * multiplier)) + i += 1 + if costmesoLudiGloves[selection1][selection2] > 0: + sm.giveMesos(-(costmesoLudiGloves[selection1][selection2] * multiplier)) + + + sm.giveItem(itemsLudiGloves[selection1][selection2], multiplier) + sm.sendSayOkay("A perfect item, as usual. Come and see me if you need anything else.") + else: + sm.sendSayOkay("Let me know when you are ready to create something.") + sm.dispose() + + + +elif parentID == 1032002: + +# Francois | Item Creator + selection1 = sm.sendNext("Welcome to my eco-safe refining operation! What would you like today?#b" + "\r\n#L0#Create gloves#l" + "\r\n#L1#Upgrade gloves#l" + "\r\n#L2#Upgrade a hat#l" + "\r\n#L3#Create a wand#l" + "\r\n#L4#Create a staff#l" + ) + + listStr = "What item would you like to make? #b" + i = 0 + while i < len(itemsElliniaItem[selection1]): + listStr += "\r\n#L" + str(i) + "##z" + str(itemsElliniaItem[selection1][i]) + "#" + i += 1 + sm.sendNext(listStr) + + selection2 = answer + materialStr = "You want a #z" + str(itemsElliniaItem[selection1][selection2]) + "#? \r\nIn that case, I'm going to need specific items from you in order to make it." + i = 0 + while i < len(costElliniaItem[selection1][selection2]): + materialStr += "\r\n" + str(costQElliniaItem[selection1][selection2][i]) + "x #z" + str(costElliniaItem[selection1][selection2][i]) + "#" + i += 1 + if costmesoElliniaItem[selection1][selection2] > 0: + materialStr += "\r\n#i4031138#" + str(costmesoElliniaItem[selection1][selection2]) + " mesos" + response = sm.sendAskYesNo(materialStr) + + if response: + multiplier = 1 + + if sm.getMesos() < costmesoElliniaItem[selection1][selection2]: + sm.sendSayOkay("I'm afraid you cannot afford my services.") + sm.dispose() + + i = 0 + while i < len(costElliniaItem[selection1][selection2]): + complete = sm.hasItem(costElliniaItem[selection1][selection2][i], (costQElliniaItem[selection1][selection2][i] * multiplier)) + i += 1 + if complete == False: + break + + if complete == False: + sm.sendSayOkay("Surely you, of all people, would understand the value of having quality items? I can't do that without the items I require.") + else: + if sm.canHold(itemsElliniaItem[selection1][selection2]) == False: + sm.sendSayOkay("Please make sure you have room in your inventory, and talk to me again.") + sm.dispose() + else: + i = 0 + while i < len(costElliniaItem[selection1][selection2]): + sm.consumeItem(costElliniaItem[selection1][selection2][i], (costQElliniaItem[selection1][selection2][i] * multiplier)) + i += 1 + if costmesoElliniaItem[selection1][selection2] > 0: + sm.giveMesos(-(costmesoElliniaItem[selection1][selection2] * multiplier)) + + + sm.giveItem(itemsElliniaItem[selection1][selection2], multiplier) + sm.sendSayOkay("A perfect item, as usual. Come and see me if you need anything else.") + else: + sm.sendSayOkay("Let me know when you are ready to create something.") + sm.dispose() + + + +elif parentID == 2100001: + +# Muhammad | Jewel Refiner + selection1 = sm.sendNext("Are you here to refine the ores of a mineral or a jewel? It doesn't matter how many ores you have, if you don't have them refined by a master like me, then they won't see the light of day. What do you think, do you want to refine them right now?\r\n#b" + "#L0#Refine a mineral ore#l \r\n" + "#L1#Refine a jewel ore#l \r\n" + "#L2#Refine a crystal ore#l \r\n" + ) + + listStr = "What item would you like to make? #b" + i = 0 + while i < len(itemsElNathRefine[selection1]): + if selection1 == 4: + listStr += "\r\n#L" + str(i) + "##z" + str(itemsElNathRefine[selection1][i]) + "# " + str(nonEquipSuffixElNathRefine[i]) + else: + listStr += "\r\n#L" + str(i) + "##z" + str(itemsElNathRefine[selection1][i]) + "#" + i += 1 + selection2 = sm.sendNext(listStr) + + materialStr = "You want #z" + str(itemsElNathRefine[selection1][selection2]) + "#s? \r\nIn that case, I'm going to need specific items from you in order to make it." + i = 0 + while i < len(costElNathRefine[selection1][selection2]): + materialStr += "\r\n" + str(costQElNathRefine[selection1][selection2][i]) + "x #z" + str(costElNathRefine[selection1][selection2][i]) + "#" + i += 1 + if costmesoElNathRefine[selection1][selection2] > 0: + materialStr += "\r\n#i4031138#" + str(costmesoElNathRefine[selection1][selection2]) + " mesos" + materialStr += "\r\n\r\nHow many do you want me to make?" + selection3 = sm.sendAskNumber(materialStr, 1, 1, 50) + + + multiplier = selection3 + if sm.getMesos() < costmesoElNathRefine[selection1][selection2]: + sm.sendSayOkay("I'm afraid you cannot afford my services.") + sm.dispose() + + i = 0 + while i < len(costElNathRefine[selection1][selection2]): + complete = sm.hasItem(costElNathRefine[selection1][selection2][i], (costQElNathRefine[selection1][selection2][i] * multiplier)) + i += 1 + if complete == False: + break + + if complete == False: + sm.sendSayOkay("Surely you, of all people, would understand the value of having quality items? I can't do that without the items I require.") + else: + if sm.canHold(itemsElNathRefine[selection1][selection2]) == False: + sm.sendSayOkay("Please make sure you have room in your inventory, and talk to me again.") + sm.dispose() + else: + i = 0 + while i < len(costElNathRefine[selection1][selection2]): + sm.consumeItem(costElNathRefine[selection1][selection2][i], (costQElNathRefine[selection1][selection2][i] * multiplier)) + i += 1 + if costmesoElNathRefine[selection1][selection2] > 0: + sm.giveMesos(-(costmesoElNathRefine[selection1][selection2] * multiplier)) + + sm.giveItem(itemsElNathRefine[selection1][selection2], multiplier) + sm.sendSayOkay("A perfect item, as usual. Come and see me if you need anything else.") + + +else: + sm.sendSayOkay("I'm an uncoded NPC, I'm lost. \r\nWhere am I?\r\nI believe my ID is "+str(parentID)) diff --git a/scripts/npc/mapleChat_NPC.py b/scripts/npc/mapleChat_NPC.py new file mode 100755 index 0000000..e070194 --- /dev/null +++ b/scripts/npc/mapleChat_NPC.py @@ -0,0 +1,51 @@ +from net.swordie.ms.enums import InvType + +potList = ["STR","DEX","INT","LUK", "ATT", "Magic ATT", "All Stats", "Accuracy", "Avoidability","Max MP","Max HP", "Proceed with current list"] + +cubeList = [[2711005, "Master Craftsman's Cube", 2000], [2710000, "Occult Cube", 700], [5062009, "Red Cube", 11000], [5062000, "Miracle Cube", 15000]] +playerPotList = [] +eeScroll=0 +tempList = [] +listitem = [] +itemID = [] +newlist = [] +bagIndex = 0 + +def checkWhatIsIt(str): + if str.count("%") > 0: + return "%" + else: + return "+" +def FilterPots(givenPots, toFilterIn): + toFilterIn = toFilterIn.split("\r\n") + for x in range(len(givenPots)): + print "\n".join(s for s in givenPots if toFilterIn[x] in s) +for x in range(len(cubeList)): + newlist.append('#L'+str(x)+'##v'+str(cubeList[x][0])+'#'+'#t'+str(cubeList[x][0])+'#\r\n') +selection = sm.sendNext("#e#n \r\n \r\n Hey #h #. I am in charge of Auto Cubing. Please choose of the cubes below: \r\n \r\n \r\n"+''.join(newlist)) +selectedCube = selection +newlist = [] +listitem = eval(sm.getScissorEquips()) +for x in range(len(listitem)): + itemID.append(sm.getItemIDByBagIndex(listitem[x], InvType.EQUIP)) + newlist.append('\n#L'+str(listitem[x])+'##v'+str(itemID[x])+'#'+"#t"+str(itemID[x])+"#") +selection = sm.sendNext(''.join(newlist)) +bagIndex = selection +itemToCube = str(sm.getItemIDByBagIndex(selection, InvType.EQUIP)) +selection = sm.sendNext("You have selected #v"+itemToCube+"# #e #t"+itemToCube+"##n.\r\n\r\How would you like to cube the item?:\r\n#L0#Manually cube the item.#l\r\n#L1#Cube using an automated, pre-setup potential lines.#l") +if selection == 0: + while sm.sendNext("You have selected #v"+itemToCube+"# #e #t"+itemToCube+"##n.\r\n\r\nThe current potentials for this item is:\r\n" + sm.getPotentialLines(bagIndex, 0) + "\r\nPress next to re-cube.") > -1: + if sm.hasItem(cubeList[selectedCube][0]): + if sm.getQuantityOfItem(cubeList[selectedCube][0]) <= 2: + while sm.sendAskText("You are almost out of cubes. Once your cubes are up - I will use your NX to cube.\r\ntype 'OK' to continue", "", 1, 5) != "OK": + pass + sm.consumeCube(bagIndex, cubeList[selectedCube][0]) + sm.consumeItem(cubeList[selectedCube][0]) + + else: + if chr.getAccount().getNxCredit() > cubeList[selectedCube][2]: + sm.consumeCube(bagIndex, cubeList[selectedCube][0]) + chr.addNx(-cubeList[selectedCube][2]) + else: + sm.sendSayOkay("You do not have enough NX to cube.") + break diff --git a/scripts/npc/mapleEquipBuildup.py b/scripts/npc/mapleEquipBuildup.py new file mode 100755 index 0000000..d8ad0f2 --- /dev/null +++ b/scripts/npc/mapleEquipBuildup.py @@ -0,0 +1,51 @@ +from net.swordie.ms.enums import InvType +from net.swordie.ms.scripts import ScriptUtil as su; + +tinkerersChestId = 4033667 +tinkerersBeltsId = 1132211 +tinkerersShouldersId = 1152120 + +if not sm.hasItem(tinkerersChestId): + sm.sendNext("You do not have a #b" + su.getItemImg(tinkerersChestId) + " " + su.getItemName(tinkerersChestId) + "#k") + sm.dispose() + +if not sm.canHold(1132211): + sm.sendNext("Please make sure you have room in your inventory first.") + sm.dispose() + +text = "Hello my name is Yulia, I just love these Tinkerer's so much but I have too many. If you could bring me some boxes to store them in I would be happy to trade some with you.#b\r\n#L0# I want to upgrade my Tinkerer equip. #l\r\n" +text += "#L1# I want to get a Tinkerer equip. #l" + +selection = sm.sendNext(text) + +if selection == 0: + + itemsEligibleForUpgrade = eval(sm.getItemsEligibleForTinkerersUpgrade()) + itemsEligibleForUpgrade.sort() + itemsIDs = [] + + for x in range(len(itemsEligibleForUpgrade)): + itemsIDs.append(sm.getItemIDByBagIndex(itemsEligibleForUpgrade[x], InvType.EQUIP)) + + outPut = "Choose the equip you wish to upgrade:\r\n" + + for i in range(len(itemsIDs)): + outPut += su.addSelectItem(itemsEligibleForUpgrade[i]) + " " + su.getItemImg(itemsIDs[i]) + "\r\n" + + itemSelection = sm.sendNext(outPut) + sm.upgradeTinkerersItem(itemSelection) + +elif selection == 1: + + text = "Which one would you like?\r\n#b#L0# I want a Tinkerer Belt. #l\r\n" + text += "#L1# I want a Tinkerer Shoulder. #l" + + selection2 = sm.sendNext(text) + + if selection2 == 0: + sm.giveItem(tinkerersBeltsId) + + elif selection2 == 1: + sm.giveItem(tinkerersShouldersId) + +sm.consumeItem(tinkerersChestId) diff --git a/scripts/npc/matius.py b/scripts/npc/matius.py new file mode 100755 index 0000000..3271421 --- /dev/null +++ b/scripts/npc/matius.py @@ -0,0 +1,6 @@ +# Matthias +if sm.hasQuest(20807): + if sm.sendAskYesNo("Would you like to try the first test?"): + sm.warp(913070800, 0) + sm.createClockForMultiple(300, 913070800) + sm.addEvent(sm.invokeAfterDelay(300 *1000, "warp", 913070800, 0)) \ No newline at end of file diff --git a/scripts/npc/mc_guestHouse_move.py b/scripts/npc/mc_guestHouse_move.py new file mode 100755 index 0000000..208489a --- /dev/null +++ b/scripts/npc/mc_guestHouse_move.py @@ -0,0 +1,3 @@ +# Spiegelmann (2042010) | PQ site +sm.setSpeakerID(2042010) +sm.sendNext("#e #n \r\n This party quest is currently unavailable.") \ No newline at end of file diff --git a/scripts/npc/mentoringNPC.py b/scripts/npc/mentoringNPC.py new file mode 100755 index 0000000..70d5279 --- /dev/null +++ b/scripts/npc/mentoringNPC.py @@ -0,0 +1,134 @@ +from net.swordie.ms.enums import InvType + +selection = sm.sendNext("#fs14##bGame Manager:#n\r\n#fs12#\r\n#kHello There! I am the game manager. Below you can find game settings that you can adjust to make your gameplay as best as possible for your needs.\r\n#k#L0#- Ignore an Item#l\r\n#L1#- Get mob drops by name#l\r\n#L2#- Check drops from mobs on current map#l\r\n#L3#- Search what monsters drop an item#l\r\n#L4#- Check Map Ownership#l\r\n#L6#- Disable Remote Skills#l" + + "\r\n#L7# Select damage skins.#l" + "\r\n#L5#- Sell items#l") +temp = "" +if selection == 0: + ignoredDrops = set(chr.getIgnoredDrops()) + for i in ignoredDrops: + temp += "#L"+str(i)+"##z"+str(i)+"##l\r\n" + ignoredDropsShow = ''.join(temp) + selection = sm.sendNext("Your ignored items:\r\n"+ignoredDropsShow+ "\r\n\r\nClick on an item to remove it from the ignore list.\r\n#L90#Add an item to ignore.#l") + + if selection != 90: + if chr.existsInIgnoredDrops(selection): + chr.removeIgnoredDrop(selection) + chr.chatMessage("Removed from ignore list.") + + if selection == 90: + toSearch = sm.sendAskText("Enter an item name or part of it:", "", 3, 100) + searchResults = sm.searchItems(toSearch) + if not searchResults: + sm.sendSayOkay("No items were found.") + sm.dispose() + if len(searchResults) > 150: + sm.sendNext("Too many results. Please be more specific in your search.") + sm.dispose() + somestr="" + for key, value in searchResults.items(): + somestr += "#L"+str(key)+"##z"+str(key)+"##l\r\n" + + selectedItem = sm.sendNext(somestr) + if chr.existsInIgnoredDrops(selectedItem) == False: + chr.addIgnoredDrop(selectedItem) + chr.chatMessage("Added an item to ignore list") + else: + chr.chatMessage("You already have this item in your ignore list.") + sm.dispose() + +elif selection == 1: + toSearch = sm.sendAskText("Enter a monster name or part of it:", "", 3, 50) + searchResults = sm.searchMobs(toSearch) + if not searchResults: + sm.sendSayOkay("No monsters were found.") + sm.dispose() + if len(searchResults) > 150: + sm.sendNext("Too many results. Please be more specific in your search.") + sm.dispose() + somestr="" + for key, value in searchResults.items(): + somestr += "#L"+str(key)+"##eID:#n "+str(key)+" #eName:#n "+value+"#l\r\n" + mobSelected = sm.sendNext(somestr) + sm.sendSayOkay(sm.getDropPercentageByMobForNPC(mobSelected)) + + +elif selection == 2: + searchResults = sm.searchMobsByField() + if not searchResults: + sm.sendSayOkay("No monsters were found.") + sm.dispose() + if len(searchResults) > 150: + sm.sendNext("Too many results.") + sm.dispose() + somestr="" + for key, value in searchResults.items(): + somestr += "#L"+str(key)+"##eID:#n "+str(key)+" #eName:#n "+value+"#l\r\n" + mobSelected = sm.sendNext(somestr) + sm.sendSayOkay(sm.getDropPercentageByMobForNPC(mobSelected)) + +elif selection == 3: + toSearch = sm.sendAskText("Enter an item name or part of it:", "", 3, 100) + searchResults = sm.searchItems(toSearch) + if not searchResults: + sm.sendSayOkay("No items were found.") + sm.dispose() + if len(searchResults) > 150: + sm.sendNext("Too many results. Please be more specific in your search.") + sm.dispose() + somestr="" + for key, value in searchResults.items(): + somestr += "#L"+str(key)+"##eID:#n "+str(key)+" #eName:#n "+value+"#l\r\n" + itemSelected = sm.sendNext(somestr) + searchResults = sm.searchDrop(itemSelected) + if not searchResults: + sm.sendSayOkay("No monsters were found dropping this item.") + sm.dispose() + if len(searchResults) > 150: + sm.sendNext("Too many monsters are dropping this item. Are you searching for a global-drop item?") + sm.dispose() + somestr="" + for key, value in searchResults.items(): + somestr += "#L"+str(key)+"##eID:#n "+str(key)+" #eName:#n "+value+"#l\r\n" + mobSelected = sm.sendNext(somestr) + sm.sendSayOkay(sm.getDropPercentageByMobForNPC(mobSelected)) + +elif selection == 4: + sm.sendSayOkay("The current map owner is #e"+chr.getField().getOwner().getName()+"#n." + "\r\n\r\nOther AFK Players:" + sm.getCharsNoOwner()) + +elif selection == 5: + selection = sm.sendNext("Sell:\r\n#L1#Equips#l\r\n#L2#Use#l\r\n#L4#Etc#l\r\n#L3#Setup#l\r\n#L5#Cash#l\r\n") + inventory = InvType.getInvTypeByVal(selection) + outPut = "" + itemsBagIndexes = eval(sm.getItemsByInventory(inventory)) + itemsBagIndexes.sort() + itemsIds = [] + for x in range(len(itemsBagIndexes)): + itemsIds.append(sm.getItemIDByBagIndex(itemsBagIndexes[x], inventory)) + for x in range(len(itemsIds)): + outPut += "#L" + str(x) + "##i" + str(itemsIds[x]) + "##l\r\n" + choice = sm.sendNext(outPut) + startIndex = itemsBagIndexes[choice] + outPut = "" + j = choice + while j < (len(itemsIds)): + outPut += "#L" + str(itemsBagIndexes[j]) + "##i" + str(itemsIds[j]) + "##l\r\n" + j += 1 + endIndex = sm.sendNext(outPut) + sm.sellMass(startIndex, endIndex, inventory) + +elif selection == 6: + if chr.isRemoteEffects(): + chr.setRemoteEffects(False) + else: + chr.setRemoteEffects(True) + chr.chatMessage("Remote Skills toggled " + str(chr.isRemoteEffects())) + +elif selection == 7: + damageSkins = chr.getAccount().getDamageSkinsItemIds() + damageSkins.add(2431965) + outPut = "" + for x in range(len(damageSkins)): + outPut += "#L" + str(x) + "##i" + str(damageSkins[x]) + "##l\r\n" + choice = sm.sendNext(outPut) + chr.setDamageSkinAndBroadCast(damageSkins[choice]) \ No newline at end of file diff --git a/scripts/npc/merTutorAfrien.py b/scripts/npc/merTutorAfrien.py new file mode 100755 index 0000000..b451223 --- /dev/null +++ b/scripts/npc/merTutorAfrien.py @@ -0,0 +1,53 @@ +# Afrien NPC (1033201) | Used for Mercedes storyline + +sm.setPlayerAsSpeaker() +sm.sendNext("Afrien? Freud? Are you okay?!") + +sm.setSpeakerID(1033201) +sm.sendSay("Mercedes... You survived.") + +sm.setPlayerAsSpeaker() +sm.sendSay("Of course! I managed to seal him away. I can't let myself die after that! But what about you? And the others? Where are they?") + +sm.setSpeakerID(1033201) +sm.sendSay("We may have #bdefeated the Black Mage#k, but he sent everyone flying in different directions with that last spell. We're lucky we ended up in the same place.") + +sm.setPlayerAsSpeaker() +sm.sendSay("You're right... I didn't realize how far away we ended up. At least we're safe.") + +sm.setPlayerAsSpeaker() +sm.sendSay("Now that the fight is over, I feel so weak... Not just that, but i feel so cold...") + +sm.setPlayerAsSpeaker() +sm.sendSay("Come to think of it, has it always been snowy here? There's all this heat, and yet snow is falling... Strange...") + +sm.setSpeakerID(1033201) +sm.sendSay("You can't feel it, Mercedes? The #rgreat curse#k... It's been placed upon you, Freud, and the others.") + +sm.setPlayerAsSpeaker() +sm.sendSay("C-curse?") + +sm.setSpeakerID(1033201) +sm.sendSay("There's an icy cold curse clinging to you. You might have been able to shrug it off if you weren't weak from fighting the Black Mage. It looks like he's not letting us off so easily...") + +sm.setPlayerAsSpeaker() +sm.sendSay("You should be able to survive it, at least. But I'm worried about Freud... He's too weak.") + +sm.setSpeakerID(1033201) +sm.sendSay("I'll take care of him. For now, I'm more worried about you, Mercedes. #bYou're the ruler of the Elves#k. If the curse is on you, #rwon't it be placed upon all of the Elves#k?") + +sm.setPlayerAsSpeaker() +sm.sendSay("...!") + +sm.setSpeakerID(1033201) +sm.sendSay("Hurry back to #bElluel#k. If the #bBlack Mage's curse is on all of the Elves#k, then you must return to your people.") + +sm.setPlayerAsSpeaker() +sm.sendSay("All right! Afrien... We will meet again!") + +sm.setSpeakerID(1033201) +sm.sendSay("...I pray you're right.") + +sm.setPlayerAsSpeaker() +if sm.sendAskYesNo("#b(The other heroes will make it through somehow. For now, return to town using your return skill.)"): + sm.warpInstanceIn(910150001, 0) \ No newline at end of file diff --git a/scripts/npc/merTutorElder.py b/scripts/npc/merTutorElder.py new file mode 100755 index 0000000..35f0609 --- /dev/null +++ b/scripts/npc/merTutorElder.py @@ -0,0 +1,100 @@ +# Philius NPC (1033202) | Used for Mercedes storyline + +if sm.getQRValue(24007) != "1": + sm.setPlayerAsSpeaker() + sm.sendNext("Elders! You're okay! But...but the village...!") + + sm.setSpeakerID(1033202) + sm.sendSay("A fierce, frozen curse has fallen upon the town. Your Highness, I see it has fallen upon you as well.") + + sm.setSpeakerID(1033203) + sm.sendSay("I sense it from you most of all! Is this the power of the Black Mage?!") + + sm.setSpeakerID(1033204) + sm.sendSay("The children are already trapped in ice, and soon, the adults will follow them. It takes longer to freeze the stronger Elves, which is why we are still all right, but our time is limited...") + + sm.setPlayerAsSpeaker() + sm.sendSay("This is my fault. We sealed the Black Mage, but he managed to #rcurse#k us anyway...") + + sm.setSpeakerID(1033203) + sm.sendSay("So it is his doing?!") + + sm.setSpeakerID(1033204) + sm.sendSay("I knew this was his doing...") + + sm.setSpeakerID(1033202) + sm.sendSay("The Black Mage has cursed our sovereign, and the curse has spread to all Elves...") + + sm.setPlayerAsSpeaker() + sm.sendSay("I should have been more careful. Please, I didn't mean for this to happen...") + + sm.setSpeakerID(1033202) + sm.sendSay("What a fearful being, this Black Mage. Even form beyond the seal, he wields such power... It is a miracle we were able to seal him at all") + + sm.setSpeakerID(1033204) + sm.sendSay("There was no way you could stop this, Your Majesty. Nobody could have.") + + sm.setSpeakerID(1033203) + sm.sendSay("That's right! It's not your fault, My Liege! You sealed him! YOU'RE the hero!") + + sm.setPlayerAsSpeaker() + sm.sendSay("I shouldn't have fought the Black Mage in the first place! If I'd let him be, this wouldn't have happened to the Elves. I've failed my people!") + + sm.setSpeakerID(1033204) + sm.sendSay("Don't say such things, Your Highness! Even if you'd let him be, the Black Mage would have come for us sooner or later.") + + sm.setSpeakerID(1033202) + sm.sendSay("It's our fault. We are your council. We should have better prepared you to face the Black Mage.") + + sm.setSpeakerID(1033203) + sm.sendSay("I'm supposed to be the Elder of War, but even I was too weak to join the fight. I'm the one who failed you, Your Highness...") + + sm.setPlayerAsSpeaker() + sm.sendSay("No, this isn't your fault! I'm the one who decided to face the Black Mage. I don't regret fighting...I regret failling to protect my people.") + + sm.setSpeakerID(1033202) + sm.sendSay("In that case, we all regret failing to do this, Your Majesty.") + + sm.setSpeakerID(1033204) + sm.sendSay("This is not your burden alone. The decision to fight the Black Mage was the decision of the Elves, and so we will all share in the results, whatever they may be.") + + sm.setSpeakerID(1033203) + sm.sendSay("No one blames you, Your Highness!") + + sm.setPlayerAsSpeaker() + sm.sendSay("Everyone...") + + sm.setSpeakerID(1033202) + sm.sendSay("Regardless of this wicked curse, we will survive. We will overcome this together.") + + sm.setSpeakerID(1033202) + sm.sendSay("Long as Your Highness is safe, the hope for the Elves lives on.") + + sm.setPlayerAsSpeaker() + sm.sendSay("Is there a way?") + + sm.setSpeakerID(1033202) + sm.sendSay("We can't stop the curse now. But we are the Elves. We may outlive it.") + + sm.setSpeakerID(1033202) + sm.sendSay("Your Highness, we should seal Elluel before the curse can spread beyond the village. We cannot avoid it, but we can keep it from spreading beyone the Elves. #bWe Elves will all slumber here, undisturbed by the outside world#k.") + + sm.setSpeakerID(1033204) + sm.sendSay("We don't know how long the curse will last, but time is on our side. Your Highness, we've nothing to worry about.") + + sm.setSpeakerID(1033203) + sm.sendSay("Eventually we will awaken together, and the Black Mage will be a distant memory!") + + sm.setSpeakerID(1033202) + sm.sendSay("Not even the curse of the Black Mage can last forever. In the end, we will be the victors.") + + sm.setPlayerAsSpeaker() + sm.sendSay("Yes! We will win!") + + sm.setSpeakerID(1033202) + sm.sendSay("Of course we will. Ah... I'm growing weak. Your Highness, it is time to seal the village. It is the only way we can rest in peace.") + + sm.setSpeakerID(1033202) + sm.sendSay("There are some things we should take care of first. I believe #p1033204# wants to speak with you.") + sm.createQuestWithQRValue(24007, "1") + # sm.startQuestNoCheck(24000) diff --git a/scripts/npc/merTutorFred.py b/scripts/npc/merTutorFred.py new file mode 100755 index 0000000..f7c0518 --- /dev/null +++ b/scripts/npc/merTutorFred.py @@ -0,0 +1,2 @@ +# Freud NPC (1033200) | Used for Mercedes storyline +sm.openNpc(1033201) # Afrien \ No newline at end of file diff --git a/scripts/npc/mesoMarket.py b/scripts/npc/mesoMarket.py new file mode 100755 index 0000000..e69de29 diff --git a/scripts/npc/mihail_potionBox.py b/scripts/npc/mihail_potionBox.py new file mode 100755 index 0000000..e7b9300 --- /dev/null +++ b/scripts/npc/mihail_potionBox.py @@ -0,0 +1,16 @@ +# General Store Attic (913070010) + +# Constants +QUEST = 20031 +ITEM1 = 4033194 +ITEM2 = 4033195 + +if (not sm.hasQuest(QUEST) or (sm.hasItem(ITEM1) or sm.hasItem(ITEM2))): + sm.sendSayOkay("I'd better get back downstairs with the potion box before old-man Limbert's heart finally explodes with rage.") +else: + if sm.sendAskYesNo("All these potions are disgusting! Should we even be selling them?\r\nTake the Potion Box?"): + sm.giveItem(ITEM1) + sm.giveItem(ITEM2) + sm.sendNext("Is this a letter? Must be held together by all the dust...\r\n From 'Chromile'... It doesn't say who it's for... Maybe Limbert will want it.") + else: + sm.sendNext("This has gotta be the box...") \ No newline at end of file diff --git a/scripts/npc/mike.py b/scripts/npc/mike.py new file mode 100755 index 0000000..7ff2c8d --- /dev/null +++ b/scripts/npc/mike.py @@ -0,0 +1,3 @@ +# Mike | Sleepywood (105000000) + +sm.sendSayOkay("Six Path Crossway is just up ahead.") \ No newline at end of file diff --git a/scripts/npc/minigame00.py b/scripts/npc/minigame00.py new file mode 100755 index 0000000..c32f1ee --- /dev/null +++ b/scripts/npc/minigame00.py @@ -0,0 +1,32 @@ +# Casey (1012008) | Henesys Park + +items = [ +4080000, # Slime & Mushroom Omok Set +4080001, # Slime & Octopus Omok Set +4080002, # Slime & Pig Omok Set +4080003, # Octopus & Mushroom Omok Set +4080004, # Pig & Octopus Omok Set +4080005, # Pig & Mushroom Omok Set +4080006, # Bloctopus & Pink Teddy Omok Set +4080007, # Bloctopus & Trixter Omok Set +4080008, # Pink Teddy & Trixter Omok Set +4080009, # Panda Teddy & Blocktopus Omok Set +4080010, # Panda Teddy & Pink Teddy Omok Set +4080011, # Panda Teddy & Trixter Omok Set +4080100, # A set of Match Cards +] +mesocost = 5000 + +selStr = "Hello! I am the MiniGame Master!\r\nIf you're here to purchase minigames, you're at the right place!\r\nIt will cost you "+ str(mesocost) +" meso per item\r\n\r\n#b" +i = 0 +while i < len(items): + selStr += "#L"+ str(i) +"##z"+ str(items[i]) +"##l\r\n" + i += 1 +answer = sm.sendNext(selStr) + +if not sm.canHold(items[answer]) or sm.getMesos() < mesocost: + sm.sendSayOkay("I'm sorry, it seems that either you don't have enough money, or you don't have enough space") +else: + sm.sendSayOkay("Great Choice! Here you go") + sm.deductMesos(mesocost) + sm.giveItem(items[answer]) diff --git a/scripts/npc/mining.py b/scripts/npc/mining.py new file mode 100755 index 0000000..8b1323c --- /dev/null +++ b/scripts/npc/mining.py @@ -0,0 +1,48 @@ +# Hidden Street - Ardentmill :: 910001000 +# Gere :: Master of Mining :: 9031002 + +Pickaxe = 1512000 +MINING_SKILL = 92010000 +FEE = [5000, 15000, 25000, 40000, 60000, 85000, 115000, 150000, 190000, 235000] + +if not sm.hasSkill(MINING_SKILL): + selection = sm.sendSay("Now what can I do for ya?\r\n#L0##bHear an explanation about #eMining#n.#l\r\n#L1#Learn #eMining#n.#k#l") + if selection == 0: + sm.sendNext("If you're looking to get yourself some minerals, all you need is the Mining skill. Refine the minerals you collect in one of them molds #p9031006# sells, then use them to craft all sorts of useful items.") + elif selection == 1: + learn = sm.sendAskYesNo("Do you really want to learn #bMining#k? It'll cost you some money... #b5,000 Mesos#k, to be exact.\r\n") + if learn: + if sm.getMesos() < 5000: + sm.sendNext("You don't got enough Mesos. I need #b5000 Mesos#k from every student, no exceptions.") + sm.dispose() + + if not sm.canHold(Pickaxe): + sm.sendNext("You don't have enough inventory slots in your equip tab.") + sm.dispose() + + sm.giveMesos(-5000) + sm.giveSkill(MINING_SKILL, 0x1000000, 10) + sm.giveItem(Pickaxe) + sm.playSound("profession/levelup") + sm.sendNext("Okay, them's the basics of Mining. Work on increasing your Mastery, and I'll teach you some new tricks.") + else: + sm.sendNext("It's good to be cautious. Come back after you've thought it through.") +else: + selection = sm.sendSay("Now what can I do for ya?\r\n#L2##bLevel up #eMining#n.#l\r\n#L3##bTrade #t4011010#.#k#l") + if selection == 2: + if sm.isAbleToLevelUpMakingSkill(MINING_SKILL): + levelup = sm.sendAskYesNo("Looks like you're ready to level up your Mining. I'll take #b" + str(FEE[sm.getMakingSkillLevel(MINING_SKILL)]) + " Mesos#k as tuition. Ready to learn?") + if levelup: + if sm.getMesos() < FEE[sm.getMakingSkillLevel(MINING_SKILL)]: + sm.sendNext("You don't have enough mesos.") + sm.dispose() + sm.giveMesos(-FEE[sm.getMakingSkillLevel(MINING_SKILL)]) + sm.makingSkillLevelUp(MINING_SKILL) + sm.sendNext("Your Mining skill is now Lv. " + str(sm.getMakingSkillLevel(MINING_SKILL)) +".") + else: + sm.sendNext("Sure, take some time to think it over. I'll be here.") + sm.dispose() + else: + sm.sendNext("You're not ready to level up your Profession. Come back when you've increased your Mastery.") + elif selection == 3: + sm.sendSayOkay("#b100 #t4011010#s#k can be traded for 1 #i2028067:##b#t2028067##k. Please dig up some more #t4011010#s.") \ No newline at end of file diff --git a/scripts/npc/moonrabbit.py b/scripts/npc/moonrabbit.py new file mode 100755 index 0000000..943b7dc --- /dev/null +++ b/scripts/npc/moonrabbit.py @@ -0,0 +1,31 @@ +# Guon (2094000) | Spiegelmann's Guest House + +from net.swordie.ms.constants import CustomConstants +from net.swordie.ms.enums import EventType + +pqItems = [ + 4001101, +] +runsPerDay = 300 + +if sm.isPartyLeader(): + sm.sendNext("Are you willing to help me to defend moon bunny?#b\r\n" + "\r\n" + "#L0#Enter the Moon Bunny Party Quest#l") + if sm.partyHasCoolDown(EventType.MoonBunny, runsPerDay): + sm.sendNext("One of your party member has a cooldown for this pq.") + sm.dispose() + if sm.checkParty() and sm.checkPartyLevelReq(CustomConstants.MIN_LEVEL_FOR_PQ): + + # check for items + for item in pqItems: + if sm.hasItem(item): + quantity = sm.getQuantityOfItem(item) + sm.consumeItem(item, quantity) + + + sm.addCoolDownInXDaysForParty(EventType.MoonBunny, 1, 1) + sm.warpInstanceIn(910010000, 0, True) # Moon Bunny PQ First Map + +else: + sm.sendSayOkay("Please have your party leader talk to me.") diff --git a/scripts/npc/moonrabbit_bonus.py b/scripts/npc/moonrabbit_bonus.py new file mode 100755 index 0000000..16b7cb2 --- /dev/null +++ b/scripts/npc/moonrabbit_bonus.py @@ -0,0 +1,5 @@ +pqLobby = 910002000 + +sm.giveNX(200000) +sm.giveItem(4310212, 1) +sm.warp(pqLobby) \ No newline at end of file diff --git a/scripts/npc/moonrabbit_tiger.py b/scripts/npc/moonrabbit_tiger.py new file mode 100755 index 0000000..570fccd --- /dev/null +++ b/scripts/npc/moonrabbit_tiger.py @@ -0,0 +1,25 @@ +# Guon (2094000) | Spiegelmann's Guest House + +riceCakeId = 4001101 +amountRequired = 10 +moonBunnyId = 9300061 + +if sm.isPartyLeader(): + selection = sm.sendNext("#b#L0# I wanna finish the pq.\r\n" + + "#L1# I wanna leave.") + + if selection == 0: + if not sm.hasItem(4001101, 10): + sm.sendNext("Bring me 10 rice cakes to finish the pq.") + sm.dispose() + if not sm.hasMobById(moonBunnyId): + sm.sendNext("I needed you to keep him alive!") + sm.dispose() + if sm.checkParty(): + sm.consumeItem(riceCakeId, 10) + sm.stopEvents() + sm.warpInstanceOut(910010300, 0) # Moon Bunny PQ Exit + elif selection == 1: + sm.warpInstanceOut(910002000, 0) +else: + sm.sendSayOkay("Please have your party leader talk to me.") diff --git a/scripts/npc/nautil_black.py b/scripts/npc/nautil_black.py new file mode 100755 index 0000000..f8c2922 --- /dev/null +++ b/scripts/npc/nautil_black.py @@ -0,0 +1,2 @@ +# Muirhat (1092007) | Nautilus +sm.sendSayOkay("If you want to become a Pirate, talk to #r#p"+ str(1090000) +"##k in the #b#m"+ str(120000101) +"##k.") diff --git a/scripts/npc/nexonstarNpc_1.py b/scripts/npc/nexonstarNpc_1.py new file mode 100755 index 0000000..fa4d206 --- /dev/null +++ b/scripts/npc/nexonstarNpc_1.py @@ -0,0 +1,18 @@ +sm.setSpeakerType(1) +sm.setParam(548) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(9001137) # Machine Wheel +if sm.getFieldID() == 100000000: + if sm.sendAskYesNo("Would you like to go to the Celestial Event Hall?"): + sm.warp(450013840) +else: + selection = sm.sendNext("What would you like to do?#b\r\n#L0#Join the current Event #l\r\n#L1#Spend my Event Coins#l\r\n#L2#Go back to Henesys!#l") + if selection == 0: + sm.sendNext("There is no Event going on") + elif selection == 1: + sm.sendNext("Open shop spot") + elif selection == 2: + sm.warp(100000000) + + + diff --git a/scripts/npc/nineheart.py b/scripts/npc/nineheart.py new file mode 100755 index 0000000..84d6ee0 --- /dev/null +++ b/scripts/npc/nineheart.py @@ -0,0 +1,12 @@ +TIME = 300 + +if sm.hasQuest(20320): + sm.setSpeakerID(1101002) + if sm.sendAskYesNo("Are you ready to enter the Test area?"): + sm.warpInstanceIn(913070200) + sm.setInstanceTime(TIME) +elif sm.hasQuest(20411): + sm.setSpeakerID(1101002) + if sm.sendAskYesNo("Are you ready, are you okay to leave?"): + sm.warp(913070100, 0) + sm.setInstanceTime(TIME) \ No newline at end of file diff --git a/scripts/npc/npc_2162000.py b/scripts/npc/npc_2162000.py new file mode 100755 index 0000000..9b8a263 --- /dev/null +++ b/scripts/npc/npc_2162000.py @@ -0,0 +1,4 @@ +# Cecilia | Gardener +# Rose Garden : Gardener's Spot + +sm.sendSayOkay("I've had the chills for so long... It's very cold, as you know..") \ No newline at end of file diff --git a/scripts/npc/npc_3003132.py b/scripts/npc/npc_3003132.py new file mode 100755 index 0000000..e69de29 diff --git a/scripts/npc/npc_9062117.py b/scripts/npc/npc_9062117.py new file mode 100755 index 0000000..0390d9f --- /dev/null +++ b/scripts/npc/npc_9062117.py @@ -0,0 +1,2 @@ +# 9062117 - Peaceful Maple Tree +sm.sendSayOkay("I'm a tree.") \ No newline at end of file diff --git a/scripts/npc/npc_9111063.py b/scripts/npc/npc_9111063.py new file mode 100755 index 0000000..0ec391d --- /dev/null +++ b/scripts/npc/npc_9111063.py @@ -0,0 +1,17 @@ +# Created by MechAviv +# Map ID :: 100000000 +# NPC ID :: 9111063 +# Heart of Zipangu + +sm.setSpeakerID(0) +sm.flipSpeaker() +sm.flipDialoguePlayerAsSpeaker() +sm.setBoxChat() +sm.setColor(1) +sm.setSpeakerType(3) + +if sm.sendNext("\r\n\r\n#L0# #m100000000# awaits.#l") == 0: + sm.setNpcOverrideBoxChat(9111063) + sm.setSpeakerType(3) + if sm.sendAskYesNo("Shall I transport you to #m100000000#?"): + sm.warp(100000000, 5) \ No newline at end of file diff --git a/scripts/npc/npc_9130115.py b/scripts/npc/npc_9130115.py new file mode 100755 index 0000000..b378398 --- /dev/null +++ b/scripts/npc/npc_9130115.py @@ -0,0 +1,14 @@ +# id 9130115 (100-Generation Blacksmith), field 801000000 +sm.setSpeakerID(9130115) # 100-Generation Blacksmith +sm.sendNext("Hello, hello! My family has practiced the art of smithing for 100 generations. How may I help you?") +sm.setParam(2) +sm.sendSay("I hear you can fix this #i4034138##t4034138#.") +sm.setParam(0) +sm.sendSay("Is this...? I never thought I would see it myself. The final page of our legacy blacksmithing guide is about this...") +sm.setParam(2) +sm.sendSay("Is something wrong?") +sm.setParam(0) +res = sm.sendNext("Hm? No, no... Well, it's just that it's been tough for a blacksmith around here lately. I'll have to charge a pretty hefty price. 1,000,000 mesos will see it done in a jiffy. \r\n#b\r\n#L0# Pay 1,000,000 to fix it. #l\r\n#L1# Doesn't seem worth the money. #l") +sm.sendNext("#b*THUNK THINK* Okay, it's done.#k") +sm.sendPrev("It's almost done!") +sm.warp(807000000) diff --git a/scripts/npc/npc_9390201.py b/scripts/npc/npc_9390201.py new file mode 100755 index 0000000..b0cea9c --- /dev/null +++ b/scripts/npc/npc_9390201.py @@ -0,0 +1,15 @@ +# Created by MechAviv +# [Mayor Berry] | [9390201] +# Commerci Republic : Berry + +sm.setSpeakerID(9390201) +selection = sm.sendNext("What's goin' on over there?\r\n#b\r\n#L0# How's the fishing going?#l\r\n#L1# Do you know anything about the Commerci Republic?#l") +if selection == 0: + sm.dispose() +elif selection == 1: + sm.setSpeakerID(9390201) + sm.sendNext("You're in the Commerci Republic right now! Follow that there coastal road southeast to get to #e#bSan Commerci#k#n. That's the capital.") + + + sm.setSpeakerID(9390201) + sm.sendPrev("San Commerci is a hub for traders all around the Republic. That Gilberto Daniella grew it up from a tiny fishing village into a boomin' jewel of the sea. It's 'cause of him my fish go for such good prices.") diff --git a/scripts/npc/npc_9390217.py b/scripts/npc/npc_9390217.py new file mode 100755 index 0000000..face505 --- /dev/null +++ b/scripts/npc/npc_9390217.py @@ -0,0 +1,2 @@ +# Tepes (9390217) | San Commerci +sm.sendNext("What is it?") diff --git a/scripts/npc/npc_9390219.py b/scripts/npc/npc_9390219.py new file mode 100755 index 0000000..4eb9669 --- /dev/null +++ b/scripts/npc/npc_9390219.py @@ -0,0 +1,174 @@ +# Sweetwater Merchant // 9390219 + +# Sweetwater Array START + +itemsSW = [ + [ # Sweetwater Item IDs + 1003976, 1012438, 1022211, 1032224, 1052669, 1072870, 1082556, 1102623, 1113078, 1122269, 1132247, 1152160, + 1212089, 1222084, 1232084, 1242090, 1252033, 1262029, 1302297, 1312173, 1322223, 1332247, 1342090, 1362109, + 1372195, 1382231, 1402220, 1412152, 1422158, 1432187, 1442242, 1452226, 1462213, 1472235, 1482189, 1492199, + 1522113, 1532118, 1542072, 1552072, 1582025 + ] +] + +costSW = [ + [ # Sweetwater Materials + [1003984, 4310100, 4310093, 4310097, 4021029, 4021030, 4310092, 4310091, 4031846, 4310156, 4021031], + [1012439, 4310100, 4310093, 4310097, 4021029, 4021030, 4310092, 4310091, 4031846, 4310156, 4021031], + [1022212, 4310100, 4310093, 4310097, 4021029, 4021030, 4310092, 4310091, 4031846, 4310156, 4021031], + [1032225, 4310100, 4310093, 4310097, 4021029, 4021030, 4310092, 4310091, 4031846, 4310156, 4021031], + [1052673, 4310100, 4310093, 4310097, 4021029, 4021030, 4310092, 4310091, 4031846, 4310156, 4021031], + [1072874, 4310100, 4310093, 4310097, 4021029, 4021030, 4310092, 4310091, 4031846, 4310156, 4021031], + [1082559, 4310100, 4310093, 4310097, 4021029, 4021030, 4310092, 4310091, 4031846, 4310156, 4021031], + [1122272, 4310100, 4310093, 4310097, 4021029, 4021030, 4310092, 4310091, 4031846, 4310156, 4021031], + [4310100, 4310093, 4310097, 4021029, 4021030, 4310092, 4310091, 4031846, 4310156, 4021031], + [1122272, 4310100, 4310093, 4310097, 4021029, 4021030, 4310092, 4310091, 4031846, 4310156, 4021031], + [1132248, 4310100, 4310093, 4310097, 4021029, 4021030, 4310092, 4310091, 4031846, 4310156, 4021031], + [1152161, 4310100, 4310093, 4310097, 4021029, 4021030, 4310092, 4310091, 4031846, 4310156, 4021031], + [1212090, 4310100, 4310093, 4310097, 4021029, 4021030, 4310092, 4310091, 4031846, 4310156, 4021031], + [1222085, 4310100, 4310093, 4310097, 4021029, 4021030, 4310092, 4310091, 4031846, 4310156, 4021031], + [1232085, 4310100, 4310093, 4310097, 4021029, 4021030, 4310092, 4310091, 4031846, 4310156, 4021031], + [1242091, 4310100, 4310093, 4310097, 4021029, 4021030, 4310092, 4310091, 4031846, 4310156, 4021031], + [1252032, 4310100, 4310093, 4310097, 4021029, 4021030, 4310092, 4310091, 4031846, 4310156, 4021031], + [1262038, 4310100, 4310093, 4310097, 4021029, 4021030, 4310092, 4310091, 4031846, 4310156, 4021031], + [1302299, 4310100, 4310093, 4310097, 4021029, 4021030, 4310092, 4310091, 4031846, 4310156, 4021031], + [1312174, 4310100, 4310093, 4310097, 4021029, 4021030, 4310092, 4310091, 4031846, 4310156, 4021031], + [1322224, 4310100, 4310093, 4310097, 4021029, 4021030, 4310092, 4310091, 4031846, 4310156, 4021031], + [1332249, 4310100, 4310093, 4310097, 4021029, 4021030, 4310092, 4310091, 4031846, 4310156, 4021031], + [1342091, 4310100, 4310093, 4310097, 4021029, 4021030, 4310092, 4310091, 4031846, 4310156, 4021031], + [1362110, 4310100, 4310093, 4310097, 4021029, 4021030, 4310092, 4310091, 4031846, 4310156, 4021031], + [1372196, 4310100, 4310093, 4310097, 4021029, 4021030, 4310092, 4310091, 4031846, 4310156, 4021031], + [1382232, 4310100, 4310093, 4310097, 4021029, 4021030, 4310092, 4310091, 4031846, 4310156, 4021031], + [1402222, 4310100, 4310093, 4310097, 4021029, 4021030, 4310092, 4310091, 4031846, 4310156, 4021031], + [1412153, 4310100, 4310093, 4310097, 4021029, 4021030, 4310092, 4310091, 4031846, 4310156, 4021031], + [1422159, 4310100, 4310093, 4310097, 4021029, 4021030, 4310092, 4310091, 4031846, 4310156, 4021031], + [1432189, 4310100, 4310093, 4310097, 4021029, 4021030, 4310092, 4310091, 4031846, 4310156, 4021031], + [1442243, 4310100, 4310093, 4310097, 4021029, 4021030, 4310092, 4310091, 4031846, 4310156, 4021031], + [1452227, 4310100, 4310093, 4310097, 4021029, 4021030, 4310092, 4310091, 4031846, 4310156, 4021031], + [1462214, 4310100, 4310093, 4310097, 4021029, 4021030, 4310092, 4310091, 4031846, 4310156, 4021031], + [1472236, 4310100, 4310093, 4310097, 4021029, 4021030, 4310092, 4310091, 4031846, 4310156, 4021031], + [1482190, 4310100, 4310093, 4310097, 4021029, 4021030, 4310092, 4310091, 4031846, 4310156, 4021031], + [1492200, 4310100, 4310093, 4310097, 4021029, 4021030, 4310092, 4310091, 4031846, 4310156, 4021031], + [1522114, 4310100, 4310093, 4310097, 4021029, 4021030, 4310092, 4310091, 4031846, 4310156, 4021031], + [1532119, 4310100, 4310093, 4310097, 4021029, 4021030, 4310092, 4310091, 4031846, 4310156, 4021031], + [1542073, 4310100, 4310093, 4310097, 4021029, 4021030, 4310092, 4310091, 4031846, 4310156, 4021031], + [1552073, 4310100, 4310093, 4310097, 4021029, 4021030, 4310092, 4310091, 4031846, 4310156, 4021031], + [1582024, 4310100, 4310093, 4310097, 4021029, 4021030, 4310092, 4310091, 4031846, 4310156, 4021031] + ] + +] + +costQSW = [ + [ # Sweetwater Material Quantity + [1, 1000, 100, 45, 5, 15, 50, 100, 22, 45, 751], + [1, 1000, 100, 45, 5, 15, 50, 100, 22, 45, 751], + [1, 1000, 100, 45, 5, 15, 50, 100, 22, 45, 751], + [1, 1000, 100, 45, 5, 15, 50, 100, 22, 45, 751], + [1, 1000, 100, 90, 5, 15, 50, 100, 45, 90, 1000], + [1, 1000, 100, 60, 5, 15, 50, 100, 30, 60, 1000], + [1, 1000, 100, 60, 5, 15, 50, 100, 30, 60, 1000], + [1, 1000, 100, 60, 5, 15, 50, 100, 30, 60, 1000], + [1000, 100, 60, 5, 15, 50, 100, 30, 60, 1000], + [1, 1000, 100, 45, 5, 15, 50, 100, 22, 45, 751], + [1, 1000, 100, 60, 5, 15, 50, 100, 30, 60, 1000], + [1, 1000, 100, 30, 2, 7, 50, 100, 15, 30, 500], + [1, 1000, 100, 90, 5, 15, 50, 100, 45, 90, 1000], + [1, 1000, 100, 90, 5, 15, 50, 100, 45, 90, 1000], + [1, 1000, 100, 90, 5, 15, 50, 100, 45, 90, 1000], + [1, 1000, 100, 90, 5, 15, 50, 100, 45, 90, 1000], + [1, 1000, 100, 90, 5, 15, 50, 100, 45, 90, 1000], + [1, 1000, 100, 90, 5, 15, 50, 100, 45, 90, 1000], + [1, 1000, 100, 90, 5, 15, 50, 100, 45, 90, 1000], + [1, 1000, 100, 90, 5, 15, 50, 100, 45, 90, 1000], + [1, 1000, 100, 90, 5, 15, 50, 100, 45, 90, 1000], + [1, 1000, 100, 90, 5, 15, 50, 100, 45, 90, 1000], + [1, 1000, 100, 90, 5, 15, 50, 100, 45, 90, 1000], + [1, 1000, 100, 90, 5, 15, 50, 100, 45, 90, 1000], + [1, 1000, 100, 90, 5, 15, 50, 100, 45, 90, 1000], + [1, 1000, 100, 90, 5, 15, 50, 100, 45, 90, 1000], + [1, 1000, 100, 90, 5, 15, 50, 100, 45, 90, 1000], + [1, 1000, 100, 90, 5, 15, 50, 100, 45, 90, 1000], + [1, 1000, 100, 90, 5, 15, 50, 100, 45, 90, 1000], + [1, 1000, 100, 90, 5, 15, 50, 100, 45, 90, 1000], + [1, 1000, 100, 90, 5, 15, 50, 100, 45, 90, 1000], + [1, 1000, 100, 90, 5, 15, 50, 100, 45, 90, 1000], + [1, 1000, 100, 90, 5, 15, 50, 100, 45, 90, 1000], + [1, 1000, 100, 90, 5, 15, 50, 100, 45, 90, 1000], + [1, 1000, 100, 90, 5, 15, 50, 100, 45, 90, 1000], + [1, 1000, 100, 90, 5, 15, 50, 100, 45, 90, 1000], + [1, 1000, 100, 90, 5, 15, 50, 100, 45, 90, 1000], + [1, 1000, 100, 90, 5, 15, 50, 100, 45, 90, 1000], + [1, 1000, 100, 90, 5, 15, 50, 100, 45, 90, 1000], + [1, 1000, 100, 90, 5, 15, 50, 100, 45, 90, 1000], + [1, 1000, 100, 90, 5, 15, 50, 100, 45, 90, 1000], + + ] + +] + +costmesoSW = [ + [ # Sweetwater Meso Cost + 1503759398,1503759398,1503759398,1503759398,3000000000,2000000000,2000000000,2000000000,2000000000,1503759398,2000000000,500000000,3000000000,3000000000, + 3000000000,3000000000,3000000000,3000000000,3000000000,3000000000,3000000000,3000000000,3000000000,3000000000,3000000000,3000000000,3000000000,3000000000, + 3000000000,3000000000,3000000000,3000000000,3000000000,3000000000,3000000000,3000000000,3000000000,3000000000,3000000000,3000000000,3000000000,3000000000 + ] +] + +# Sweetwater Array END + +if sm.sendNext: + selection1 = sm.sendNext("Hello. I am Pietreno, Sweetwater extraordinaire. I can make you the finest wares but... for a cost. \r\n#b" + "#L0#Purchase Sweetwater#l \r\n" + "#L1#Transpose#l \r\n") + + listStr = "Which #bSweetwater#k item would you like me to create? #b" + i = 0 + while i < len(itemsSW[selection1]): + listStr += "\r\n#L" + str(i) + "##v" + str(itemsSW[selection1][i]) + "# #z" + str(itemsSW[selection1][i]) + "#" + i += 1 + selection2 = sm.sendNext(listStr) + materialStr = "So you would like to purchase a #v" + str(itemsSW[selection1][selection2]) + "##b#z" + str(itemsSW[selection1][selection2]) + "# #k? \r\nI will require some very powerful items to create this for you.\r\n" + i = 0 + while i < len(costSW[selection1][selection2]): + materialStr += "\r\n#b#v" + str(costSW[selection1][selection2][i]) + "# #r "+ str(costQSW[selection1][selection2][i]) +"x#b #z" + str(costSW[selection1][selection2][i]) + "#" + i += 1 + if costmesoSW[selection1][selection2] > 0: + materialStr += "\r\n#i4031138# #r" + str(costmesoSW[selection1][selection2]) + " #bMesos" + if selection1 == 4 or selection1 == 5: + materialStr += "\r\n\r\nHow many do you want me to make?" + else: + response = sm.sendAskYesNo(materialStr) + + + if response: + + if sm.getMesos() < costmesoSW[selection1][selection2]: + sm.sendSayOkay("I'm afraid you do not have the required #bMesos #kfor my services.") + sm.dispose() + + i = 0 + while i < len(costSW[selection1][selection2]): + complete = sm.getTotalItemQty(costSW[selection1][selection2][i]) <= (costQSW[selection1][selection2][i]) + i += 1 + if complete == False: + break + + if complete == False: + sm.sendSayOkay("Surely you, of all people, would understand the value of having quality items? I can't do that without the items I require.") + else: + if sm.canHold(itemsSW[selection1][selection2]) == False: + sm.sendSayOkay("Please make sure you have room in your inventory, and talk to me again.") + sm.dispose() + else: + i = 0 + while i < len(costSW[selection1][selection2]): + sm.consumeItem(costSW[selection1][selection2][i], (costQSW[selection1][selection2][i])) + i += 1 + if costmesoSW[selection1][selection2] > 0: + sm.giveMesos(-(costmesoSW[selection1][selection2])) + + sm.giveItem(itemsSW[selection1][selection2]) + sm.sendSayOkay("A perfect item, as usual. Come and see me if you need anything else.") + else: + sm.sendSayOkay("Let me know when you are ready to create something.") + sm.dispose() diff --git a/scripts/npc/npc_9400530.py b/scripts/npc/npc_9400530.py new file mode 100755 index 0000000..34124fd --- /dev/null +++ b/scripts/npc/npc_9400530.py @@ -0,0 +1,2 @@ +# Retro World Console +sm.sendSayOkay("Pre-BB was the best time for Maplestory!") \ No newline at end of file diff --git a/scripts/npc/npc_9400570.py b/scripts/npc/npc_9400570.py new file mode 100755 index 0000000..327d171 --- /dev/null +++ b/scripts/npc/npc_9400570.py @@ -0,0 +1,5 @@ +# id 9400570 (Abrup Portal), field 867200110 +sm.setSpeakerType(3) +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(9400570) # Abrup Portal +sm.sendSayOkay("Sorry! One person at a time. You'll have to leave your party.") diff --git a/scripts/npc/npc_9400624.py b/scripts/npc/npc_9400624.py new file mode 100755 index 0000000..8bd7441 --- /dev/null +++ b/scripts/npc/npc_9400624.py @@ -0,0 +1,6 @@ +# id 9400624 (Open Journal), field 867201801 +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(9400624) # Open Journal +sm.sendSayOkay("The last journal entry is from a month ago.") diff --git a/scripts/npc/npc_9400626.py b/scripts/npc/npc_9400626.py new file mode 100755 index 0000000..98f33bd --- /dev/null +++ b/scripts/npc/npc_9400626.py @@ -0,0 +1,6 @@ +# id 9400626 (Slippers), field 867201801 +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(9400626) # Slippers +sm.sendSayOkay("Where is the other side...?") diff --git a/scripts/npc/npc_9400628.py b/scripts/npc/npc_9400628.py new file mode 100755 index 0000000..e128aee --- /dev/null +++ b/scripts/npc/npc_9400628.py @@ -0,0 +1,48 @@ +# id 9400628 (Frames), field 867201801 +sm.lockInGameUI(True, False) +sm.removeAdditionalEffect() +sm.sendDelay(500) +sm.onLayer(1000, "0", 0, 0, 15, "Map/EffectPL.img/MONAD1/illust/0", 4, False, -1, False) +sm.sendDelay(3000) +sm.setSpeakerType(3) +sm.setParam(57) +sm.setColor(1) +sm.sendNext("#bI guess this is the lady's granddaughter... They look happy. ") +sm.sendSay("#bBlue-gray skin with tribal markings... She must be half-demon. ") +sm.setParam(37) +sm.setInnerOverrideSpeakerTemplateID(9400580) # Alika +sm.sendSay("#face4#T-this girl is... ") +sm.offLayer(1000, "0", False) +sm.sendDelay(4000) +sm.playSound("Sound/Mob.img/9402270/Attack7", 128) +sm.sendDelay(3000) +sm.playSound("Sound/Mob.img/9402245/Attack2", 128) +sm.sendDelay(500) +sm.playSound("Sound/Mob.img/9402247/Attack1", 128) +sm.sendDelay(500) +sm.playSound("Sound/Mob.img/9402250/Attack5", 128) +sm.sendDelay(500) +sm.playSound("Sound/Mob.img/9402247/Attack2", 128) +sm.sendDelay(1000) +sm.sendNext("#face3#What?! ") +sm.setParam(57) +sm.sendSay("#bShh! ") +sm.playSound("Sound/Mob.img/9402250/Attack4", 128) +sm.sendDelay(500) +sm.playSound("Sound/Mob.img/9402252/Attack2", 128) +sm.sendDelay(500) +sm.playSound("Sound/Mob.img/9402246/skill1", 128) +sm.sendDelay(500) +sm.playSound("Sound/Mob.img/9402241/Attack1", 128) +sm.sendDelay(1000) +sm.forcedMove(True, 300) +sm.sendDelay(251) +sm.forcedMove(False, 80) +sm.sendDelay(251) +sm.forcedMove(True, 300) +sm.sendDelay(251) +sm.blind(True, 255, 240, 240, 240, 1300) +sm.sendDelay(1600) +sm.createQuestWithQRValue(64085, "dir=1") +sm.lockInGameUI(False, True) +sm.warp(867201802) diff --git a/scripts/npc/npc_horizonPortal.py b/scripts/npc/npc_horizonPortal.py new file mode 100755 index 0000000..7dc55a7 --- /dev/null +++ b/scripts/npc/npc_horizonPortal.py @@ -0,0 +1,8 @@ +# Created by MechAviv +# [Horizon Portal] | [1540941] +# Henesys : Bowman Instructional School + +sm.setSpeakerID(0) +sm.flipDialoguePlayerAsSpeaker() +sm.setSpeakerType(3) +sm.sendSayOkay("There's a strange energy flowing from this portal. This could definitely teleport me... somewhere.\r\n\r\n#b(Press the up arrow key to enter the portal.)#k") \ No newline at end of file diff --git a/scripts/npc/npc_kid1.py b/scripts/npc/npc_kid1.py new file mode 100755 index 0000000..ad7159b --- /dev/null +++ b/scripts/npc/npc_kid1.py @@ -0,0 +1 @@ +sm.spawnMob(100000) \ No newline at end of file diff --git a/scripts/npc/oldBook1.py b/scripts/npc/oldBook1.py new file mode 100755 index 0000000..29d29c4 --- /dev/null +++ b/scripts/npc/oldBook1.py @@ -0,0 +1,47 @@ +# Alcaster (2020005) | El Nath + +items = [ + # itemId, meso + [2050003, 300], # Holy Water + [2050004, 400], # All Cure + [4006000, 5000], # Magic Rock + [4006001, 5000] # Summon Rock +] + + +if sm.hasQuestCompleted(3035): # Alcaster's Book of Ancient Quest - (Last quest of the questline) + sm.sendNext("What is it?\r\n#b" + "#L0#I want to buy something really rare.#l") + + + text = "Thanks to you. #bThe Book of Ancient#k is safely sealed. " \ + "As a result, I used up about half of the power I have accumulated over the last 800 years...but can now die in peace. " \ + "Would you happen to be looking for rare items by any chance? As a sign of appreciation for your hard work. " \ + "I'll sell some items in my possession to you and ONLY you. Pick out the one you want!\r\n #b" + for i in range(len(items)): + text += "#L"+ str(i) +"##z"+ str(items[i][0]) +"# - "+ str(items[i][1]) +" mesos#l\r\n" + selection = sm.sendNext(text) + + + number = sm.sendAskNumber("#b#z"+ str(items[selection][0]) +"##k?\r\n" + "Since you helped me, I'll sell it to you for cheap. \r\n" + "It'll cost you #b"+ str(items[selection][1]) +" mesos#k each. \r\n" + "How many would you like?", + 1, 1, 100) + + + totalCost = number * items[selection][1] # amount selected * meso cost + if not sm.canHold(items[selection][0]): # Not enough space + sm.sendSayOkay("Please make some more space in your inventory.") + + elif sm.getMesos() < totalCost: # Too little mesos + sm.sendSayOkay("It seems you don't have enough mesos.") + + else: # can afford & can hold + sm.giveItem(items[selection][0], number) + sm.deductMesos(totalCost) + sm.sendSayOkay("Thanks for your purchase.") + + +else: + sm.sendSayOkay("I worry about #bThe Book of Ancient#k...") \ No newline at end of file diff --git a/scripts/npc/oldBook5.py b/scripts/npc/oldBook5.py new file mode 100755 index 0000000..a3dcd22 --- /dev/null +++ b/scripts/npc/oldBook5.py @@ -0,0 +1,31 @@ + # Spiruna (2032001) | Old Man's House (200050001) + # The Book of Ancient is Back (Quest 3034) + # Author: Tiger + +mesos = 500000 + +if sm.hasQuestCompleted(3034): # The Book of Ancient is Back + response = sm.sendAskYesNo("You've been so much of a help to me... If you have any #t" + str(4004004) + "#, I can refine it for you for only #b" + str(mesos) + " meso#k each.") + + if response: + answer = sm.sendAskNumber("Okay, so how many do you want me to make?", 1, 1, 100) + + totalCost = answer * mesos + totalQty = answer * 10 + + if not sm.canHold(4005004): # Not enough space + sm.sendSayOkay("Please make some more space in your inventory.") + + elif sm.getMesos() < totalCost: # Too little mesos + sm.sendSayOkay("I'm sorry, but I am NOT doing this for free.") + + elif not sm.hasItem(4004004, totalQty): # Does not have enough Dark Crystal Ores, TODO: check if this looks right (for 5 DC you need 50 DCO?) + sm.sendSayOkay("I need that ore to refine the Crystal. No exceptions..") + + else: # can afford & can hold + sm.consumeItem(4004004, totalQty) + sm.giveItem(4005004, answer) + sm.deductMesos(totalCost) + sm.sendSayOkay("Use it wisely.") +else: + sm.sendSayOkay("Go away, I'm trying to meditate.") diff --git a/scripts/npc/open_accP.py b/scripts/npc/open_accP.py new file mode 100755 index 0000000..aaba69e --- /dev/null +++ b/scripts/npc/open_accP.py @@ -0,0 +1,8 @@ +from net.swordie.ms.enums import UIType + +ACCESSORY_CRAFT_SKILL = 92030000 + +if sm.hasSkill(ACCESSORY_CRAFT_SKILL): + sm.openUI(UIType.UI_MAKING_SKILL) +else: + sm.systemMessage("Only Jewelers can use this.") diff --git a/scripts/npc/open_alchemy.py b/scripts/npc/open_alchemy.py new file mode 100755 index 0000000..ff14939 --- /dev/null +++ b/scripts/npc/open_alchemy.py @@ -0,0 +1,8 @@ +from net.swordie.ms.enums import UIType + +ALCHEMY_CRAFT_SKILL = 92040000 + +if sm.hasSkill(ALCHEMY_CRAFT_SKILL): + sm.openUI(UIType.UI_MAKING_SKILL) +else: + sm.systemMessage("Only Alchemists can use this.") diff --git a/scripts/npc/open_equipP.py b/scripts/npc/open_equipP.py new file mode 100755 index 0000000..0e5d645 --- /dev/null +++ b/scripts/npc/open_equipP.py @@ -0,0 +1,9 @@ +from net.swordie.ms.enums import UIType + +SMITHING_CRAFT_SKILL = 92020000 + +if sm.hasSkill(SMITHING_CRAFT_SKILL): + sm.openUI(UIType.UI_MAKING_SKILL) +else: + sm.systemMessage("Only Blacksmiths can use this.") + diff --git a/scripts/npc/open_herb.py b/scripts/npc/open_herb.py new file mode 100755 index 0000000..b738eb0 --- /dev/null +++ b/scripts/npc/open_herb.py @@ -0,0 +1,8 @@ +from net.swordie.ms.enums import UIType + +HERBALISM_SKILL = 92000000 + +if sm.hasSkill(HERBALISM_SKILL): + sm.openUI(UIType.UI_MAKING_SKILL) +else: + sm.systemMessage("Only Herbalists can use this.") \ No newline at end of file diff --git a/scripts/npc/open_mining.py b/scripts/npc/open_mining.py new file mode 100755 index 0000000..72fb76e --- /dev/null +++ b/scripts/npc/open_mining.py @@ -0,0 +1,8 @@ +from net.swordie.ms.enums import UIType + +MINING_SKILL = 92010000 + +if sm.hasSkill(MINING_SKILL): + sm.openUI(UIType.UI_MAKING_SKILL) +else: + sm.systemMessage("Only Miners can use this.") diff --git a/scripts/npc/ossyria3_1.py b/scripts/npc/ossyria3_1.py new file mode 100755 index 0000000..7685b84 --- /dev/null +++ b/scripts/npc/ossyria3_1.py @@ -0,0 +1,21 @@ +# Orbis Magic Spot (2012014) | Orbis Tower <20th/16th/8th/1st Floor> + +maps = [ + 200080200, # Orbis Tower <20th Floor> + 200080600, # Orbis Tower <16th Floor> + 200081400, # Orbis Tower <8th Floor> + 200082100 # Orbis Tower <1st Floor> + ] + +mapString = "Where do you want to go?\r\n\r\n#b" +i = 0 +while i < len(maps): + if maps[i] == sm.getFieldID(): + i += 1 + continue + else: + mapString += "#L"+ str(i) +"##m"+ str(maps[i]) +"##l\r\n" + i += 1 +answer = sm.sendNext(mapString) + +sm.warp(maps[answer], 0) diff --git a/scripts/npc/ossyria_taxi.py b/scripts/npc/ossyria_taxi.py new file mode 100755 index 0000000..f8503da --- /dev/null +++ b/scripts/npc/ossyria_taxi.py @@ -0,0 +1,48 @@ +if sm.getFieldID() == 211000000: + map = [211060000, 211040200, 211041400, 300000100] + selection = sm.sendNext("Where would you like to go?" + "\r\n#L0#Desolate Moor#l" + "\r\n#L1#Ice Valley II#l" + "\r\n#L2#Forest of Dead Trees IV#l" + "\r\n#L3#Small Forest#l") + sm.warp(map[selection], 0) + sm.dispose() + +elif sm.getFieldID() == 300000100: + map = [211000000, 220000000] + selection = sm.sendNext("Where would you like to go?" + "\r\n#L0#El Nath#l" + "\r\n#L1#Ludibrium#l") + sm.warp(map[selection], 0) + sm.dispose() + +elif sm.getFieldID() == 220000000: + map = [220050300, 300000100] + selection = sm.sendNext("Where would you like to go?" + "\r\n#L0#Path of Time#l" + "\r\n#L1#Small Forest#l") + sm.warp(map[selection], 0) + sm.dispose() + +elif sm.getFieldID() == 240000000: + map = [240030000, 240040500] + selection = sm.sendNext("Where would you like to go?" + "\r\n#L0#Entrance to Dragon Forest#l" + "\r\n#L1#Entrance to Dragon Nest#l") + sm.warp(map[selection], 0) + sm.dispose() + +else: + currentMap = sm.getFieldID() + +if currentMap == 220050300: + map = 220000000 +elif currentMap == 105030000: + map = 105000000 +elif currentMap == 105000000: + map = 105030000 +elif currentMap == 211060000: + map = 211000000 +response = sm.sendAskYesNo("Would you like to go to #m" + str(map) + "m#?") +if response: + sm.warp(map, 0) diff --git a/scripts/npc/outSecondDH.py b/scripts/npc/outSecondDH.py new file mode 100755 index 0000000..28a2acc --- /dev/null +++ b/scripts/npc/outSecondDH.py @@ -0,0 +1,6 @@ +response = sm.sendAskYesNo("Are you done with the Knighthood Exam? Should I let you out?") + +if response: + sm.warp(130020000) +else: + sm.sendSayOkay("Okay, good luck hunting.") \ No newline at end of file diff --git a/scripts/npc/out_evolvingSystem.py b/scripts/npc/out_evolvingSystem.py new file mode 100755 index 0000000..d687084 --- /dev/null +++ b/scripts/npc/out_evolvingSystem.py @@ -0,0 +1,2 @@ +# ESS (9075301) | Evo Lab initiator +sm.warpInstanceOut(957000000) \ No newline at end of file diff --git a/scripts/npc/out_tree.py b/scripts/npc/out_tree.py new file mode 100755 index 0000000..b997033 --- /dev/null +++ b/scripts/npc/out_tree.py @@ -0,0 +1,9 @@ + # Scarf Snowman (2001004) | The Hill of Christmas (209000001 - 209000015) + # Author: Tiger + +response = sm.sendAskYesNo("Have you decorated your tree nicely? It's an interesting experience, to say the least, decorating a Christmas tree with other people. Don't cha think? Oh yeah ... are you suuuuure you want to leave this place?") + +if response: + sm.warp(209000000) # Hidden Street - Happyville +else: + sm.sendNext("You need more time decorating trees, huh? If you ever feel like leaving this place, feel free to come talk to me~") diff --git a/scripts/npc/out_treglo.py b/scripts/npc/out_treglo.py new file mode 100755 index 0000000..620f438 --- /dev/null +++ b/scripts/npc/out_treglo.py @@ -0,0 +1,5 @@ +response = sm.sendAskYesNo("Are you sure you want to leave?") + +if response: + sm.WarpInstanceOut(401052104) + sm.dispose() diff --git a/scripts/npc/out_victor.py b/scripts/npc/out_victor.py new file mode 100755 index 0000000..824ee58 --- /dev/null +++ b/scripts/npc/out_victor.py @@ -0,0 +1,5 @@ +response = sm.sendAskYesNo("Are you sure you want to leave?") + +if response: + sm.WarpInstanceOut(401051104) + sm.dispose() diff --git a/scripts/npc/owen.py b/scripts/npc/owen.py new file mode 100755 index 0000000..b33eca4 --- /dev/null +++ b/scripts/npc/owen.py @@ -0,0 +1,24 @@ +# Arwen the Fairy (1032100) | Ellinia + +squishyLiquid = 4000004 # goes for 14meso per item in Shops +squishyLiquidQ = 100 + +slimeid = 100006 +mesoReward = 5000 + +if sm.getQuantityOfItem(squishyLiquid) >= 100: + if sm.sendAskYesNo("Hey, I see you got "+ str(squishyLiquidQ) +" pieces of #b#z"+ str(squishyLiquid) +"##k!\r\nDo you want to trade them for a reward?"): + if sm.getQuantityOfItem(squishyLiquid) >= 100: + sm.sendSayOkay("There you go!\r\n"+ str(mesoReward) +" mesos, for your hard work.\r\n\r\nIf you want to make more money, talk to me again at anytime!") + sm.giveMesos(mesoReward) + sm.consumeItem(squishyLiquid, squishyLiquidQ) + +else: + if sm.sendAskYesNo("Hey you!\r\nAre you willing to help me?"): + sm.sendNext("Ellinia used to be a peaceful time, but lately it has turned into chaos. Ellinia has been surrounded by #r#o"+ str(slimeid) +"##k. " + "You may believe this is a bad thing, but for me, however.. it's not bad at all. " + "I am researching how these slimes come to life.\r\n" + "If you could bring me "+ str(squishyLiquidQ) +" #b#z"+ str(squishyLiquid) +"##k. " + "It would allow me to do a lot of research, I will certainly reward you!") + else: + sm.sendSayOkay("Alright, let me know if you change your mind!") \ No newline at end of file diff --git a/scripts/npc/pantheonMapleGate.py b/scripts/npc/pantheonMapleGate.py new file mode 100755 index 0000000..49d7ea4 --- /dev/null +++ b/scripts/npc/pantheonMapleGate.py @@ -0,0 +1,8 @@ +response = sm.sendAskYesNo("Would you like to go back to Victoria Island?") + +if response: + if sm.hasQuest(38030): + sm.setQRValue(38030, "clear", False) + sm.warp(100000000, 23) + sm.dispose() + sm.warp(104020000, 0) diff --git a/scripts/npc/party2_enter.py b/scripts/npc/party2_enter.py new file mode 100755 index 0000000..df94255 --- /dev/null +++ b/scripts/npc/party2_enter.py @@ -0,0 +1,42 @@ +# Red sign | Party quest entrance +from net.swordie.ms.enums import UIType +selection = sm.sendNext("#e#n \r\n\r\n" + "You can't go any higher because of the extremely dangerous creatures above. Would you like to collaborate with party members to complete the quest? If so, please have your #bparty leader#k talk to me. \r\n\r\n" + "#b#L0#I want to participate in the party quest.#l \r\n" + "#L1#I want to find party members.#l \r\n" + "#L2#I want to receive the Broken Glasses.#l \r\n" + "#L3#I would like to hear more details.#l \r\n") +#warp inside PQ +if selection == 0: + if not sm.getFieldID() == 910002000: + #TODO edit party size back and add party level + if sm.getPartySize() >= 1: + if sm.isPartyLeader(): + sm.clearPartyInfo(922010100) + sm.warpPartyIn(922010100) + else: + sm.sendNext("Please have your party leader speak to me.") + else: + sm.sendNext("You cannot participate in the quest because you do not have at least 3 party members. If you're having trouble finding party members, try using Party Search.") + else: + sm.sendNext("If you're up for the challenge, I'll bring you to the top of the tower.") + sm.warp(221023300) + +#Look for party members +elif selection == 1: + sm.openUI(UIType.PARTYSEARCH) + +#Reward shop +elif selection == 2: +#TODO add times helped + sm.sendNext("I am offering 1x #i1022073# #bBroken Glasses#k for every 5 times you help me. If you help me #b5 more times#k, #byou can receive Broken Glasses#k.") + +#Explanation +elif selection == 3: + sm.sendNext("#e#n \r\n" + "A Dimensional Crack has appeared in #b#m220000000##k! We desperately need brave adventurers who can defeat the monsters pouring through. Please, party with some dependable allies to save #m220000000#!" + "You must pass through several stages by defeating monsters and solving quizzes, and ultimately defeat #r#o2600622##k. \r\n" + "#e-Level#n: 120 or above #r(Recommended Level: 120 - 139)\r\n" + "#e-Time Limit#n: 20 min \r\n" + "#e-Number of Players#n: 3 to 6 \r\n" + "#e-Reward#n: #i1022073# Broken Glasses #b(obtained every 5 times you participate)#k, various Use Etc and Equip items.") diff --git a/scripts/npc/party2_out.py b/scripts/npc/party2_out.py new file mode 100755 index 0000000..71b4020 --- /dev/null +++ b/scripts/npc/party2_out.py @@ -0,0 +1,9 @@ +# Sgt. Anderson(2040047) | Abandoned tower : Exiting Ludibrium Dimension pq +sm.setSpeakerID(2040047) +response = sm.sendAskYesNo("Are you sure you want to leave your party behind and leave the quest?") + +if response == 0: + sm.sendNext("Thank you for choosing to stay here and finish this quest.") +elif response == 1: + sm.sendNext("Okay, I will send you back to the 101st floor of the Eos tower.") + sm.warpInstanceOut(221023300) \ No newline at end of file diff --git a/scripts/npc/party2_play.py b/scripts/npc/party2_play.py new file mode 100755 index 0000000..33a1364 --- /dev/null +++ b/scripts/npc/party2_play.py @@ -0,0 +1,89 @@ +# Red Balloon(2040036)/ Lime Balloon(2040039) | Ludibrium dimension pq stage npc + +DIMENSIONAL_PASS_COUNT = "DimensionalPassCount" +STAGE_2_CLEARED = "Stage2Cleared" +STAGE_3_ORDER = "Stage3Order" +stage3OrderArray = [0, 0, 0, 0, 0, 0] +STAGE_4_CLEARED = "Stage4Cleared" +STAGE_5_CLEARED = "Stage5Cleared" + +#Stage 1 +if sm.getFieldID() == 922010100: + sm.setSpeakerID(2040036) + if field.hasProperty(DIMENSIONAL_PASS_COUNT): + if field.getProperty(DIMENSIONAL_PASS_COUNT) >= 20: + sm.sendNext("You have collected all the passes. Please proceed to the next stage through the portal.") + else: + sm.sendNext("Please talk to me again after collecting all #r20#k Dimensional passes from the monsters in this stage.") + else: + sm.sendNext("Welcome! Please start by defeating the monsters in this stage and collecting the Dimensional passes they hold.") + +#Stage 2 +elif sm.getFieldID() == 922010400: + sm.setSpeakerID(2040039) + if field.hasProperty(STAGE_2_CLEARED): + if field.getProperty(STAGE_2_CLEARED) == True: + sm.sendNext("You have defeated all the monsters lurking in the darkness. Please proceed to the next stage through the portal.") + else: + sm.sendNext("Please speak to me again after defeating all the Dark Eyes and Shadow Eyes hiding in the darkness.") + else: + sm.sendNext("Please speak to me again after defeating all the Dark Eyes and Shadow Eyes hiding in the darkness.") + +#Stage 3 +elif sm.getFieldID() == 922010600: + sm.sendNext("The boxes contain hidden portals, try to get to the top!") + +#Stage 4 +elif sm.getFieldID() == 922010700: + if field.hasProperty(STAGE_4_CLEARED): + if field.getProperty(STAGE_4_CLEARED) == True: + sm.sendNext("Wow, not a single Rombad left! I'm impressed! Please proceed to the next stage through the portal.") + sm.showObjectFieldEffect("gate") + else: + sm.sendNext("Please talk to me after defeating all monsters in this stage.") + else: + sm.sendNext("Please talk to me after defeating all monsters in this stage.") + +#Stage 5 +elif sm.getFieldID() == 922010800: + if field.hasProperty(STAGE_5_CLEARED): + pos = chr.getPosition() + pos.getX + #Floor 3 + if pos.getY() <= -550: + #Box 1 + if pos.getX() >= -20 and pos.getX() <= 30: + sm.sendNext("On box 1") + #Box 2 + elif pos.getX() >= 75 and pos.getX() <= 125: + sm.sendNext("On box 2") + #Floor 2 + elif pos.getY() <= -300: + #Box 3 + if pos.getX() >= -120 and pos.getX() <= -70: + sm.sendNext("On box 3") + #Box 4 + elif pos.getX() >= -35 and pos.getX() <= 20: + sm.sendNext("On box 4") + #Box 5 + elif pos.getX() >= 55 and pos.getX() <= 110: + sm.sendNext("On box 5") + #Floor 1 + elif pos.getY() <= -140: + #Box 6 + if pos.getX() >= -240 and pos.getX() <= -190: + sm.sendNext("On box 6") + #Box 7 + elif pos.getX() >= -160 and pos.getX() <= -110: + sm.sendNext("On box 7") + #Box 8 + elif pos.getX() >= -80 and pos.getX() <= -35: + sm.sendNext("On box 8") + #Box 9 + elif pos.getX() >= 5 and pos.getX() <= 55: + sm.sendNext("On box 9") + else: + sm.sendNext("In the fifth stage, you will find a number of platforms. Of these platforms, #b3 are connected to the portal that leads to the next stage. 3 members of your party must stand in the center of these 3 platforms.#k Remember, exactly 3 members must be on a platform. No more, no less. While they are on the platform, the party leader must #bdouble-click on me to check whether the members have chosen the right platform#k. Good luck!") + field.setProperty(STAGE_5_CLEARED, False) + #sm.showObjectFieldEffect("gate") + diff --git a/scripts/npc/party_ludimaze_goal.py b/scripts/npc/party_ludimaze_goal.py new file mode 100755 index 0000000..4b33320 --- /dev/null +++ b/scripts/npc/party_ludimaze_goal.py @@ -0,0 +1,3 @@ +# Pietri : ludi maze room 16 +if sm.sendAskYesNo("?"): + sm.warp(910002000, 0) \ No newline at end of file diff --git a/scripts/npc/periPatrol02.py b/scripts/npc/periPatrol02.py new file mode 100755 index 0000000..b042712 --- /dev/null +++ b/scripts/npc/periPatrol02.py @@ -0,0 +1,10 @@ +# Perion Warning Post (1022107) | Dusty Wind Hill +if sm.hasQuest(22530): + if not sm.canHold(1952000): + sm.sendSayOkay("You need inventory space.") + else: + sm.completeQuestNoRewards(22530) + sm.giveItem(1952000) + sm.sendSayOkay("You examine the sign. Finished the guard's request.") +else: + sm.sendSayOkay("It's a sign.") diff --git a/scripts/npc/pet_letter.py b/scripts/npc/pet_letter.py new file mode 100755 index 0000000..94472f1 --- /dev/null +++ b/scripts/npc/pet_letter.py @@ -0,0 +1,16 @@ +# Trainer Frod (1012007) | Pet-Walking Road +if sm.hasItem(4031035): + sm.sendNext("Eh, that's my brother's letter! " + "Probably scolding me for thinking I'm not working and stuff...Eh? " + "Ahhh...you followed my brother's advice and trained your pet and got up here, huh? " + "Nice!! Since you worked hard to get here, I'll boost your intimacy level with your pet.") + sm.consumeItem(4031035) + sm.sendSayOkay("What do you think? Don't you think you have gotten much closer with your pet? " + "If you have time, train your pet again on this obstacle course...of course, with my brother's permission.") +else: + sm.sendSayOkay("My brother told me to take care of the pet obstacle course, " + "but ... since I'm so far away from him, I can't help but wanting to goof around ...hehe, " + "since I don't see him in sight, might as well just chill for a few minutes.") + +# Pet Closeness Gained +sm.dispose() diff --git a/scripts/npc/pet_lifeitem.py b/scripts/npc/pet_lifeitem.py new file mode 100755 index 0000000..4b2739a --- /dev/null +++ b/scripts/npc/pet_lifeitem.py @@ -0,0 +1,25 @@ +# Trainer Bartos (1012006) | Pet-Walking Road + + +selection = sm.sendNext("Do you have any business with me?#b\r\n" + "#L0#Please tell me about this place.#l\r\n" + "#L1#I'm here through a word from Mar the Fairy...#l") + +if selection == 0: + if sm.hasItem(4031035): + sm.sendNext("Jump over obstacles with your pet, and take that letter to my brother Trainer Frod. " + "Give him the letter and something good is going to happen to your pet.") + else: + if sm.sendAskYesNo("This is the road where you can go take a walk with your pet. " + "You can just walk around with it, or you can train your pet to go through the obstacles here. " + "If you aren't too close with your pet yet, that may present a problem and he will not follow your command as much... " + "\r\nSo, what do you think? Wanna train your pet?"): + sm.giveItem(4031035) + sm.sendSayOkay("Ok, here's the letter. " + "He wouldn't know I sent you if you just went there straight, " + "so go through the obstacles with your pet, go to the very top, and then talk to Trainer Frod to give him the letter. " + "It won't be hard if you pay attention to your pet while going through obstacles. " + "Good luck!") + +if selection == 1: + sm.sendSayOkay("Hey, are you sure you've met #bMar the Fairy#k? Don't lie to me if you've never met her before because it's obvious. That wasn't even a good lie!!") diff --git a/scripts/npc/petmaster.py b/scripts/npc/petmaster.py new file mode 100755 index 0000000..5d62203 --- /dev/null +++ b/scripts/npc/petmaster.py @@ -0,0 +1,379 @@ +# Wisp (2040030) | Eos Tower Entrance + + +sm.sendNext("Hello there, I'm #bMar the Fairy#k of Victoria Island's main disciple. " + "Mar the Fairy summoned me here to see if the pets are being taken care of here in Ludibrium. " + "What can I do for you?\r\n" + "feel free to ask me questions.") + + +sm.sendNext("What do you want to know more of?#b\r\n" + "#L0#Tell me more about Pets.#l\r\n" + "#L1#How do I raise Pets?#l\r\n" + "#L2#Do Pets die too?#l\r\n" + "#L3#What are the commands for Brown and Black Kitty?#l\r\n" + "#L4#What are the commands for Brown Puppy?#l\r\n" + "#L5#What are the commands for Pink and White Bunny?#l\r\n" + "#L6#What are the commands for Mini Kargo?#l\r\n" + "#L7#What are the commands for Rudolph and Dasher?#l\r\n" + "#L8#What are the commands for Black Pig?#l\r\n" + "#L9#What are the commands for Panda?#l\r\n" + "#L10#What are the commands for Husky?#l\r\n" + "#L11#What are the commands for Dino Boy and Dino Girl?#l\r\n" + "#L12#What are the commands for Monkey?#l\r\n" + "#L13#What are the commands for Turkey?#l\r\n" + "#L14#What are the commands for White Tiger?#l\r\n" + "#L15#What are the commands for Penguin?#l\r\n" + "#L16#What are the commands for Golden Pig?#l\r\n" + "#L17#What are the commands for Robot?#l\r\n" + "#L18#What are the commands for Mini Yeti?#l\r\n" + "#L19#What are the commands for Jr. Balrog?#l\r\n" + "#L20#What are the commands for Baby Dragon?#l\r\n" + "#L21#What are the commands for Green/Red/Blue Dragon?#l\r\n" + "#L22#What are the commands for Black Dragon?#l\r\n" + "#L23#What are the commands for Jr. Reaper?#l\r\n" + "#L24#What are the commands for Porcupine?#l\r\n" + "#L25#What are the commands for Snowman?#l\r\n" + "#L26#What are the commands for Skunk?#l\r\n" + "#L27#Please teach me about transferring pet ability points.#l") + +selection = answer +if selection == 0: + sm.sendNext("So you want to know more about Pets. Long ago I made a doll, " + "sprayed Water of Life on it, and cast spell on it to create a magical animal. " + "I know it sounds unbelievable, but it's a doll that became an actual living thing. " + "They understand and follow people very well.") + sm.sendNext("But Water of Life only comes out little at the very bottom of the World Tree, so I can't give him too much time in life... " + "I know, it's very unfortunate... but even if it becomes a doll again I can always bring life back into it so be good to it while you're with it.") + sm.sendNext("Oh yeah, they'll react when you give them special commands. You can scold them, love them... it all\r\ndepends on how you take care of them. " + "They are afraid to leave their masters so be nice to them, show them love. They can get sad and lonely fast...") + sm.sendNext("Depending on the command you give, pets can love it, hate, and display other kinds of reactions to it. " + "If you give the pet a command and it follows you well, your intimacy goes up. " + "Double click on the pet and you can check the intimacy, level, fullness and etc...") + sm.sendNext("Talk to the pet, pay attention to it and its intimacy level will go up and eventually his overall level will go up too. " + "As the intimacy level rises, the pet's overall level will rise soon after. " + "As the overall level rises, one day the pet may even talk like a person a little bit, so try hard raising it. " + "Of course it won't be easy doing so...") + sm.sendNext("It may be a live doll but they also have life so they can feel the hunger too. " + "#bFullness#k shows the level of hunger the pet's in. 100 is the max, and the lower it gets, " + "it means that the pet is getting hungrier. After a while, it won't even follow your command and be on the offensive, " + "so watch out over that.") + sm.sendNext("Oh yes! Pets can't eat the normal human food. " + "Instead my disciple #bDoofus#k sells #bPet Food#k at the Henesys Market so if you need food for your pet, find Henesys. " + "It'll be a good idea to buy the food in advance and feed the pet before it gets really hungry.") + sm.sendNext("Oh, and if you don't feed the pet for a long period of time, it goes back home by itself. " + "You can take it out of its home and feed it but it's not really good for the pet's health, " + "so try feeding him on a regular basis so it doesn't go down to that level, alright? I think this will do.") + sm.sendNext("Dying... well, they aren't technically ALIVE per se, so I don't know if dying is the right term to use. " + "They are dolls with my magical power and the power of Water of Life to become a live object. " + "Of course while it's alive, it's just like a live animal...") + sm.sendNext("After some time... that's correct, they stop moving. " + "They just turn back to being a doll, after the effect of magic dies down and Water of Life dries out. " + "But that doesn't mean it's stopped forever, because once you pour Water of Life over, it's going to be back alive.") + sm.sendNext("Even if it someday moves again, it's sad to see them stop altogether. " + "Please be nice to them while they are alive and moving. Feed them well, too. " + "Isn't it nice to know that there's something alive that follows and listens to only you?") +if selection == 1: + sm.sendNext("Depending on the command you give, pets can love it, hate, and display other kinds of reactions to it. " + "If you give the pet a command and it follows you well, your intimacy goes up. " + "Double click on the pet and you can check the intimacy, level, fullness and etc...") +if selection == 2: + sm.sendNext("Dying... well, they aren't technically ALIVE per se, so I don't know if dying is the right term to use. " + "They are dolls with my magical power and the power of Water of Life to become a live object. " + "Of course while it's alive, it's just like a live animal...") +if selection == 3: + sm.sendNext("These are the commands for #rBrown Kitty and Black Kitty#k. " + "The level mentioned next to the command shows the pet level required for it to respond.\r\n" + "#bsit#k (Level 1 ~ 30)\r\n" + "#bbad, no, badgirl, badboy#k (Level 1 ~ 30)\r\n" + "#bstupid, ihateyou, dummy#k (Level 1 ~ 30)\r\n" + "#biloveyou#k (Level 1~30)\r\n" + "#bpoop#k (Level 1 ~ 30)\r\n" + "#btalk, say, chat#k (Level 10 ~ 30)\r\n" + "#bcutie#k (Level 10 ~ 30)\r\n" + "#bup, stand, rise#k (Level 20 ~ 30)") +if selection == 4: + sm.sendNext("These are the commands for #rBrown Puppy#k. " + "The level mentioned next to the command shows the pet level required for it to respond.\r\n" + "#bsit#k (Level 1 ~ 30)\r\n" + "#bbad, no, badgirl, badboy#k (Level 1 ~ 30)\r\n" + "#bstupid, ihateyou, baddog, dummy#k (Level 1 ~ 30)\r\n" + "#biloveyou#k (Level 1~30)\r\n#bpee#k (Level 1 ~ 30)\r\n" + "#btalk, say, chat#k (Level 10 ~ 30)\r\n" + "#bdown#k (Level 10 ~ 30)\r\n" + "#bup, stand, rise#k (Level 20 ~ 30)") +if selection == 5: + sm.sendNext("These are the commands for #rPink Bunny and White Bunny#k. " + "The level mentioned next to the command shows the pet level required for it to respond.\r\n" + "#bsit#k (Level 1 ~ 30)\r\n" + "#bbad, no, badgirl, badboy#k (Level 1 ~ 30)\r\n" + "#bup, stand, rise#k (Level 1 ~ 30)\r\n" + "#biloveyou#k (Level 1~30)\r\n" + "#bpoop#k (Level 1 ~ 30)\r\n" + "#btalk, say, chat#k (Level 10 ~ 30)\r\n" + "#bhug#k (Level 10 ~ 30)\r\n" + "#bsleep, sleepy, gotobed#k (Level 20 ~ 30)") +if selection == 6: + sm.sendNext("These are the commands for #rMini Kargo#k. " + "The level mentioned next to the command shows the pet level required for it to respond.\r\n" + "#bsit#k (Level 1 ~ 30)\r\n" + "#bbad, no, badgirl, badboy#k (Level 1 ~ 30)\r\n" + "#bup, stand, rise#k (Level 1 ~ 30)\r\n" + "#biloveyou#k (Level 1~30)\r\n" + "#bpee#k (Level 1 ~ 30)\r\n" + "#btalk, say, chat#k (Level 10 ~ 30)\r\n" + "#bthelook, charisma#k (Level 10 ~ 30)\r\n" + "#bdown#k (Level 10 ~ 30)\r\n" + "#bgoodboy, goodgirl#k (Level 20 ~ 30)") +if selection == 7: + sm.sendNext("These are the commands for #rRudolph and Dasher#k. " + "The level mentioned next to the command shows the pet level required for it to respond.\r\n" + "#bsit#k (Level 1 ~ 30)\r\n" + "#bbad, no, badgirl, badboy#k (Level 1 ~ 30)\r\n" + "#bup, stand#k (Level 1 ~ 30)\r\n" + "#bstupid, ihateyou, dummy#k (Level 1 ~ 30)\r\n" + "#bmerryxmas, merrychristmas#k (Level 1 ~ 30)\r\n" + "#biloveyou#k (Level 1~30)\r\n" + "#bpoop#k (Level 1 ~ 30)\r\n" + "#btalk, say, chat#k (Level 11 ~ 30)\r\n" + "#blonely, alone#k (Level 11 ~ 30)\r\n" + "#bcutie#k (Level 11 ~ 30)\r\n" + "#bmush, go#k (Level 21 ~ 30)") +if selection == 8: + sm.sendNext("These are the commands for #rBlack Pig#k. " + "The level mentioned next to the command shows the pet level required for it to respond.\r\n" + "#bsit#k (Level 1 ~ 30)\r\n" + "#bbad, no, badgirl, badboy#k (Level 1 ~ 30)\r\n" + "#bpoop#k (Level 1 ~ 30)\r\n" + "#biloveyou#k (Level 1~30)\r\n" + "#bhand#k (Level 1 ~ 30)\r\n" + "#bstupid, ihateyou, dummy#k (Level 1 ~ 30)\r\n" + "#btalk, chat, say#k (Level 10 ~ 30)\r\n" + "#bsmile#k (Level 10 ~ 30)\r\n" + "#bthelook, charisma#k (Level 20 ~ 30)") +if selection == 9: + sm.sendNext("These are the commands for #rPanda#k. " + "The level mentioned next to the command shows the pet level required for it to respond.\r\n" + "#bsit#k (Level 1 ~ 30)\r\n" + "#bchill, relax#k (Level 1 ~ 30)\r\n" + "#bbad, no, badgirl, badboy#k (Level 1 ~ 30)\r\n" + "#bpoop#k (Level 1 ~ 30)\r\n" + "#biloveyou#k (Level 1 ~ 30)\r\n" + "#bup, stand, rise#k (Level 1 ~ 30)\r\n" + "#btalk, chat, say#k (Level 10 ~ 30)\r\n" + "#bletsplay#k (Level 10 ~ 30)\r\n" + "#bmeh, bleh#k (Level 10 ~ 30)\r\n" + "#bsleep#k (Level 20 ~ 30)") +if selection == 10: + sm.sendNext("These are the commands for #rHusky#k. " + "The level mentioned next to the command shows the pet level required for it to respond.\r\n" + "#bsit#k (Level 1 ~ 30)\r\n" + "#bbad, no, badgirl, badboy#k (Level 1 ~ 30)\r\n" + "#bstupid, ihateyou, baddog, dummy#k (Level 1 ~ 30)\r\n" + "#bhand#k (Level 1 ~ 30)\r\n" + "#bpoop#k (Level 1 ~ 30)\r\n" + "#biloveyou#k (Level 1 ~ 30)\r\n" + "#bdown#k (Level 10 ~ 30)\r\n" + "#btalk, chat, say#k (Level 10 ~ 30)\r\n" + "#bup, stand, rise#k (Level 20 ~ 30)") +if selection == 11: + sm.sendNext("These are the commands for #rDino Boy and Dino Girl#k. " + "The level mentioned next to the command shows the pet level required for it to respond.\r\n" + "#bsit#k (Level 1 ~ 30)\r\n" + "#bbad, no, badboy, badgirl#k (Level 1 ~ 30)\r\n" + "#biloveyou#k (Level 1 ~ 30)\r\n" + "#bpoop#k (Level 1 ~ 30)\r\n" + "#bsmile, laugh#k (Level 1 ~ 30)\r\n" + "#bstupid, ihateyou, dummy#k (Level 1 ~ 30)\r\n" + "#btalk, chat, say#k (Level 10 ~ 30)\r\n" + "#bcutie#k (Level 10 ~ 30)\r\n" + "#bsleep, nap, sleepy#k (Level 20 ~ 30)") +if selection == 12: + sm.sendNext("These are the commands for #rMonkey#k. " + "The level mentioned next to the command shows the pet level required for it to respond.\r\n" + "#bsit#k (Level 1 ~ 30)\r\n" + "#brest#k (Level 1 ~ 30)\r\n" + "#bbad, no, badboy, badgirl#k (Level 1 ~ 30)\r\n" + "#bpee#k (Level 1 ~ 30)\r\n" + "#biloveyou#k (Level 1 ~ 30)\r\n" + "#bup, stand#k (Level 1 ~ 30)\r\n" + "#btalk, chat, say#k (Level 10 ~ 30)\r\n" + "#bplay#k (Level 10 ~ 30)\r\n" + "#bmelong#k (Level 10 ~ 30)\r\n" + "#bsleep, gotobed, sleepy#k (Level 20 ~ 30)") +if selection == 13: + sm.sendNext("These are the commands for #rTurkey#k. " + "The level mentioned next to the command shows the pet level required for it to respond.\r\n" + "#bsit#k (Level 1 ~ 30)\r\n" + "#bno, rudeboy, mischief#k (Level 1 ~ 30)\r\n" + "#bstupid#k (Level 1 ~ 30)\r\n" + "#biloveyou#k (Level 1 ~ 30)\r\n" + "#bup, stand#k (Level 1 ~ 30)\r\n" + "#btalk, chat, gobble#k (Level 10 ~ 30)\r\n" + "#byes, goodboy#k (Level 10 ~ 30)\r\n" + "#bsleepy, birdnap, doze#k (Level 20 ~ 30)\r\n" + "#bbirdeye, thanksgiving, fly, friedbird, imhungry#k (Level 30)") +if selection == 14: + sm.sendNext("These are the commands for #rWhite Tiger#k. " + "The level mentioned next to the command shows the pet level required for it to respond.\r\n" + "#bsit#k (Level 1 ~ 30)\r\n" + "#bbad, no, badboy, badgirl#k (Level 1 ~ 30)\r\n" + "#biloveyou#k (Level 1 ~ 30)\r\n" + "#bpoop#k (Level 1 ~ 30)\r\n" + "#brest, chill#k (Level 1 ~ 30)\r\n" + "#bstupid, ihateyou, dummy#k (Level 1 ~ 30)\r\n" + "#btalk, chat, say#k (Level 10 ~ 30)\r\n" + "#bactsad, sadlook#k (Level 10 ~ 30)\r\n" + "#bwait#k (Level 20 ~ 30)") +if selection == 15: + sm.sendNext("These are the commands for #rPenguin#k. " + "The level mentioned next to the command shows the pet level required for it to respond.\r\n" + "#bsit#k (Level 1 ~ 30)\r\n" + "#bbad, no, badboy, badgirl#k (Level 1 ~ 30)\r\n" + "#bpoop#k (Level 1 ~ 30)\r\n" + "#bup, stand, rise#k (Level 1 ~ 30)\r\n" + "#biloveyou#k (Level 1 ~ 30)\r\n" + "#btalk, chat, say#k (Level 10 ~ 30)\r\n" + "#bhug, hugme#k (Level 10 ~ 30)\r\n" + "#bwing, hand#k (Level 10 ~ 30)\r\n" + "#bsleep#k (Level 20 ~ 30)\r\n" + "#bkiss, smooch, muah#k (Level 20 ~ 30)\r\n" + "#bfly#k (Level 20 ~ 30)\r\n" + "#bcute, adorable#k (Level 20 ~ 30)") +if selection == 16: + sm.sendNext("These are the commands for #rGolden Pig#k. " + "The level mentioned next to the command shows the pet level required for it to respond.\r\n" + "#bsit#k (Level 1 ~ 30)\r\n" + "#bbad, no, badboy, badgirl#k (Level 1 ~ 30)\r\n" + "#bpoop#k (Level 1 ~ 30)\r\n" + "#biloveyou#k (Level 1 ~ 30)\r\n" + "#btalk, chat, say#k (Level 11 ~ 30)\r\n" + "#bloveme, hugme#k (Level 11 ~ 30)\r\n" + "#bsleep, sleepy, gotobed#k (Level 21 ~ 30)\r\n" + "#bignore / impressed / outofhere#k (Level 21 ~ 30)\r\n" + "#broll, showmethemoney#k (Level 21 ~ 30)") +if selection == 17: + sm.sendNext("These are the commands for #rRobot#k. " + "The level mentioned next to the command shows the pet level required for it to respond.\r\n" + "#bsit#k (Level 1 ~ 30)\r\n" + "#bup, stand, rise#k (Level 1 ~ 30)\r\n" + "#bstupid, ihateyou, dummy#k (Level 1 ~ 30)\r\n" + "#bbad, no, badgirl, badboy#k (Level 1 ~ 30)\r\n" + "#battack, charge#k (Level 1 ~ 30)\r\n" + "#biloveyou#k (Level 1 ~ 30)\r\n" + "#bgood, thelook, charisma#k (Level 11 ~ 30)\r\n" + "#bspeack, talk, chat, say#k (Level 11 ~ 30)\r\n" + "#bdisguise, change, transform#k (Level 11 ~ 30)") +if selection == 18: + sm.sendNext("These are the commands for #rMini Yeti#k. " + "The level mentioned next to the command shows the pet level required for it to respond.\r\n" + "#bsit#k (Level 1 ~ 30)\r\n" + "#bbad, no, badboy, badgirl#k (Level 1 ~ 30)\r\n" + "#bpoop#k (Level 1 ~ 30)\r\n" + "#bdance, boogie, shakeit#k (Level 1 ~ 30)\r\n" + "#bcute, cutie, pretty, adorable#k (Level 1 ~ 30)\r\n" + "#biloveyou, likeyou, mylove#k (Level 1 ~ 30)\r\n" + "#btalk, chat, say#k (Level 11 ~ 30)\r\n" + "#bsleep, nap, sleepy, gotobed#k (Level 11 ~ 30)") +if selection == 19: + sm.sendNext("These are the commands for #rJr. Balrog#k. " + "The level mentioned next to the command shows the pet level required for it to respond.\r\n" + "#bliedown#k (Level 1 ~ 30)\r\n" + "#bno|bad|badgirl|badboy#k (Level 1 ~ 30)\r\n" + "#biloveyou|mylove|likeyou#k (Level 1 ~ 30)\r\n" + "#bcute|cutie|pretty|adorable#k (Level 1 ~ 30)\r\n" + "#bpoop#k (Level 1 ~ 30)\r\n" + "#bsmirk|crooked|laugh#k (Level 1 ~ 30)\r\n" + "#bmelong#k (Level 11 ~ 30)\r\n" + "#bgood|thelook|charisma#k (Level 11 ~ 30)\r\n" + "#bspeak|talk|chat|say#k (Level 11 ~ 30)\r\n" + "#bsleep|nap|sleepy#k (Level 11 ~ 30)\r\n" + "#bgas#k (Level 21 ~ 30)") +if selection == 20: + sm.sendNext("These are the commands for #rBaby Dragon#k. " + "The level mentioned next to the command shows the pet level required for it to respond.\r\n" + "#bsit#k (Level 1 ~ 30)\r\n" + "#bno|bad|badgirl|badboy#k (Level 1 ~ 30)\r\n" + "#biloveyou|loveyou#k (Level 1 ~ 30)\r\n#bpoop#k (Level 1 ~ 30)\r\n" + "#bstupid|ihateyou|dummy#k (Level 1 ~ 30)\r\n#bcutie#k (Level 11 ~ 30)\r\n" + "#btalk|chat|say#k (Level 11 ~ 30)\r\n" + "#bsleep|sleepy|gotobed#k (Level 11 ~ 30)") +if selection == 21: + sm.sendNext("These are the commands for #rGreen/Red/Blue Dragon#k. " + "The level mentioned next to the command shows the pet level required for it to respond.\r\n" + "#bsit#k (Level 15 ~ 30)\r\n" + "#bno|bad|badgirl|badboy#k (Level 15 ~ 30)\r\n" + "#biloveyou|loveyou#k (Level 15 ~ 30)\r\n" + "#bpoop#k (Level 15 ~ 30)\r\n" + "#bstupid|ihateyou|dummy#k (Level 15 ~ 30)\r\n" + "#btalk|chat|say#k (Level 15 ~ 30)\r\n" + "#bsleep|sleepy|gotobed#k (Level 15 ~ 30)\r\n" + "#bchange#k (Level 21 ~ 30)") +if selection == 22: + sm.sendNext("These are the commands for #rBlack Dragon#k. " + "The level mentioned next to the command shows the pet level required for it to respond.\r\n" + "#bsit#k (Level 15 ~ 30)\r\n" + "#bno|bad|badgirl|badboy#k (Level 15 ~ 30)\r\n" + "#biloveyou|loveyou#k (Level 15 ~ 30)\r\n" + "#bpoop#k (Level 15 ~ 30)\r\n" + "#bstupid|ihateyou|dummy#k (Level 15 ~ 30)\r\n" + "#btalk|chat|say#k (Level 15 ~ 30)\r\n" + "#bsleep|sleepy|gotobed#k (Level 15 ~ 30)\r\n" + "#bcutie, change#k (Level 21 ~ 30)") +if selection == 23: + sm.sendNext("These are the commands for #rJr. Reaper#k. " + "The level mentioned next to the command shows the pet level required for it to respond.\r\n" + "#bsit#k (Level 1 ~ 30)\r\n" + "#bno|bad|badgirl|badboy#k (Level 1 ~ 30)\r\n" + "#bplaydead, poop#k (Level 1 ~ 30)\r\n" + "#btalk|chat|say#k (Level 1 ~ 30)\r\n" + "#biloveyou, hug#k (Level 1 ~ 30)\r\n" + "#bsmellmyfeet, rockout, boo#k (Level 1 ~ 30)\r\n" + "#btrickortreat#k (Level 1 ~ 30)\r\n" + "#bmonstermash#k (Level 1 ~ 30)") +if selection == 24: + sm.sendNext("These are the commands for #rPorcupine#k. " + "The level mentioned next to the command shows the pet level required for it to respond.\r\n" + "#bsit#k (Level 1 ~ 30)\r\n" + "#bno|bad|badgirl|badboy#k (Level 1 ~ 30)\r\n" + "#biloveyou|hug|goodboy#k (Level 1 ~ 30)\r\n" + "#btalk|chat|say#k (Level 1 ~ 30)\r\n" + "#bcushion|sleep|knit|poop#k (Level 1 ~ 30)\r\n" + "#bcomb|beach#k (Level 10 ~ 30)\r\n" + "#btreeninja#k (Level 20 ~ 30)\r\n" + "#bdart#k (Level 20 ~ 30)") +if selection == 25: + sm.sendNext("These are the commands for #rSnowman#k. " + "The level mentioned next to the command shows the pet level required for it to respond.\r\n" + "#bsit#k (Level 1 ~ 30)\r\n" + "#bstupid, ihateyou, dummy#k (Level 1 ~ 30)\r\n" + "#bloveyou, mylove, ilikeyou#k (Level 1 ~ 30)\r\n" + "#bmerrychristmas#k (Level 1 ~ 30)\r\n" + "#bcutie, adorable, cute, pretty#k (Level 1 ~ 30)\r\n" + "#bcomb, beach/bad, no, badgirl, badboy#k (Level 1 ~ 30)\r\n" + "#btalk, chat, say/sleep, sleepy, gotobed#k (Level 10 ~ 30)\r\n" + "#bchang#k (Level 20 ~ 30)") +if selection == 26: + sm.sendNext("These are the commands for #rSkunk#k. " + "The level mentioned next to the command shows the pet level required for it to respond.\r\n" + "#bsit#k (Level 1 ~ 30)\r\n" + "#bbad/no/badgirl/badboy#k (Level 1 ~ 30)\r\n" + "#brestandrelax, poop#k (Level 1 ~ 30)\r\n" + "#btalk/chat/say, iloveyou#k (Level 1 ~ 30)\r\n" + "#bsnuggle/hug, sleep, goodboy#k (Level 1 ~ 30)\r\n" + "#bfatty, blind, badbreath#k (Level 10 ~ 30)\r\n" + "#bsuitup, bringthefunk#k (Level 20 ~ 30)") +if selection == 27: + sm.sendNext("In order to transfer the pet ability points, closeness and level, " + "Pet AP Reset Scroll is required. If you take this\r\n" + "scroll to Mar the Fairy in Ellinia, she will transfer the level and closeness of the pet to another one. " + "I am especially giving it to you because I can feel your heart for your pet. However, I can't give this out for free. " + "I can give you this book for 250,000 mesos. Oh, I almost forgot! Even if you have this book, it is no use if you do not have a new pet to transfer the Ability points.") + + if sm.sendAskYesNo("250,000 mesos will be deducted. Do you really want to buy?"): + if sm.getMesos() < 250000 or not sm.canHold(4160011): + sm.sendSayOkay("Please check if your inventory has empty slot or you don't have enough mesos.") + else: + sm.sendSayOkay("Thank you for your purchase.") + sm.deductMesos(250000) + sm.giveItem(4160011) diff --git a/scripts/npc/pierreEnter.py b/scripts/npc/pierreEnter.py new file mode 100755 index 0000000..043d5d2 --- /dev/null +++ b/scripts/npc/pierreEnter.py @@ -0,0 +1,51 @@ +from net.swordie.ms.constants import BossConstants +from net.swordie.ms.enums import EventType + +# Mode, Required Level, Map ID, Death Count, Event Type, Cooldown + +destinations = [ + ["Normal", 100, 105200200, 5, EventType.Clown, 64800000], + ["Chaos", 220, 105200600, 5, EventType.CClown, 64800000], +] + +runsPerDay = 1 + +if sm.getFieldID() == 105200000: + def is_party_eligible(reqlevel, party): + for member in party.getMembers(): + if member.getLevel() < reqlevel: + return False + + return True + + sm.setSpeakerID(1064002) + + dialog = "Do you want to head to the '#bWest Garden#k' to fight \r\n#bPierre#k?\r\n" + + for i in range(len(destinations)): + dialog += "#L%d##bGo to the West Garden (%s Mode) #r(Lv. %d+)#b#l\r\n" % (i, destinations[i][0], destinations[i][1]) + + dialog += "#L99#Never mind." + response = sm.sendSay(dialog) + + if sm.getParty() is None: + sm.sendSayOkay("Please create a party before going in.") + sm.dispose() + + elif not sm.isPartyLeader(): + sm.sendSayOkay("Please have your party leader talk to me if you wish to face #bPierre#k.") + sm.dispose() + + elif sm.partyHasCoolDown(destinations[response][4], runsPerDay): + timeUntilReset = sm.getTimeUntilEventReset(destinations[response][4]) + sm.sendNext("You or one of your party member has already attempted facing #bPierre#k within the past 18 Hours.\r\n\r\nYou have " + timeUntilReset + " left on your cooldown.") + sm.dispose() + + elif sm.checkParty() and response != 99: + if is_party_eligible(destinations[response][1], sm.getParty()): + sm.setDeathCount(destinations[response][3]) + sm.warpInstanceIn(destinations[response][2], True) + sm.setInstanceTime(BossConstants.ROOTABYSS_TIME) + sm.addCooldownTimeForParty(destinations[response][4], destinations[response][5]) + else: + sm.sendSayOkay("One or more party members are lacking the prerequisite entry quests, or are below level #b%d#k." % destinations[response][1]) \ No newline at end of file diff --git a/scripts/npc/pirate4th_warp.py b/scripts/npc/pirate4th_warp.py new file mode 100755 index 0000000..225af7c --- /dev/null +++ b/scripts/npc/pirate4th_warp.py @@ -0,0 +1,20 @@ +# Pirate 4th Job NPC Warp Script + +MANON_PREV_MAP = 240020400 +GRIFFEY_PREV_MAP = 240020100 +MANONS_DARK_FOREST = 924000200 +DARK_GRIFFEY_FOREST = 924000201 + + +sm.setSpeakerID(parentID) +sm.sendNext("Is it in you to become a hero? The only way to find out is for you to take action...") +if not sm.hasQuest(1459): + sm.dispose() + +selection = sm.sendNext("If you agree to take this test, I will send you to Manon and Girffey. Of course, if you are capable of visit Manon Forest or Griffey Forest on your own, plese feel free to do so. What would you like to do?\r\n\r\n#L0##bPlease send me to Manon Forest.\r\n#L1#Please send me to Griffey Forest.#l\r\n#L2#It's nothing. I will go there on my own.#l#n") +if selection == 0: + sm.sendNext("Would you like to go to Manon Forest? I will send you there. Come back if you can't find the other monster on your own.") + sm.warpInstanceIn(MANONS_DARK_FOREST, False) +elif selection == 1: + sm.sendNext("Would you like to go to Griffey Forest? I will send you there. Come back if you can't find the other monster on your own.") + sm.warpInstanceIn(DARK_GRIFFEY_FOREST, False) diff --git a/scripts/npc/platformer_enter.py b/scripts/npc/platformer_enter.py new file mode 100755 index 0000000..6d1f550 --- /dev/null +++ b/scripts/npc/platformer_enter.py @@ -0,0 +1,50 @@ +# Maplerunner - Entry | Forest of Tenacity +# Author: shavit + +from net.swordie.ms.enums import UIType + +REQUIRED_QUEST = 34515 +REQUIRED_LEVEL = 33 + +TWO_PUNCH_CAT = 9070200 + +# Settings +sm.setSpeakerID(TWO_PUNCH_CAT) +sm.flipDialogue() +sm.setBoxChat() + +def first_dialog(): + sm.sendNext("Oh, it's you! " + "You're that goat with superhuman powers, aren't you? " + "It's an honor!") + + sm.sendNext("What are you doing hiding inside a human's body? " + "Ah, I get it. " + "You don't want the other animals to know who you really are!") + + sm.sendNext("Don't worry, your secret's safe with me. " + "But honestly, you'd be a great role model for some of the slackers around here.") + + sm.sendNext("Since you're not in your true goat form, I imagine you're a bit limited right now. " + "When you're out of that human body, I'd personally like to see #gwhat you're all about#k.") + + sm.sendNext("I think I get why you're pretending to be a human. " + "Discipline. I like that. Mad respect. " + "Anyway, good luck.") + + sm.sendNext("Oh, don't forget that you can use the #rDimensional Mirror #kwhen you're coming back!") + + sm.setQRValue(REQUIRED_QUEST, "1") + +if sm.getChr().getLevel() < REQUIRED_LEVEL: + sm.sendSayOkay("I'm sorry buddy, but this content is available starting from level %d and above." % REQUIRED_LEVEL) + sm.dispose() + +if not sm.hasQuestCompleted(REQUIRED_QUEST): + sm.sendSayOkay("You will have to finish the pre-entry quest attempting Maplerunner.") + sm.dispose() + +if sm.getQRValue(REQUIRED_QUEST) != "1": + first_dialog() + +sm.openUI(UIType.UI_PLATFORM_STAGE_SELECT) \ No newline at end of file diff --git a/scripts/npc/prisonBreak_enter.py b/scripts/npc/prisonBreak_enter.py new file mode 100755 index 0000000..fd017a1 --- /dev/null +++ b/scripts/npc/prisonBreak_enter.py @@ -0,0 +1,31 @@ +from net.swordie.ms.constants import CustomConstants +from net.swordie.ms.enums import EventType + +# Jenn (9020005) | Spiegelmann's Guest House + +pqItems = [ + +] + +runsPerDay = 3 + +if sm.isPartyLeader(): + sm.sendNext("Can you help me escape?#b\r\n" + "\r\n" + "#L0#Enter the Escape Party Quest#l") +else: + sm.sendSayOkay("Please have your party leader talk to me.") + sm.dispose() + +if sm.partyHasCoolDown(EventType.Escape_PQ, runsPerDay): + sm.sendNext("One of your party member has a cooldown for this pq.") + sm.dispose() + +if sm.checkParty() and sm.checkPartyLevelReq(CustomConstants.MIN_LEVEL_FOR_PQ): + # check for items + for item in pqItems: + if sm.hasItem(item): + quantity = sm.getQuantityOfItem(item) + sm.consumeItem(item, quantity) + sm.warpInstanceIn(921160100, 0, True) # Escape! - PQ first map + sm.addCoolDownInXDaysForParty(EventType.Escape_PQ, 1, 1) diff --git a/scripts/npc/promessa.py b/scripts/npc/promessa.py new file mode 100755 index 0000000..88bc113 --- /dev/null +++ b/scripts/npc/promessa.py @@ -0,0 +1,7 @@ +if not sm.hasQuestCompleted(23611): + sm.setSpeakerID(2300001) + response = sm.sendAskYesNo("You can't Return to Veritas until you complete your 2nd Job Advancement. Until then, you'll have to use the portal at the Aquarium. Are you sure you want to leave?") + if response: + sm.warp(310000000) +else: + sm.warp(310000000) diff --git a/scripts/npc/q1803_clear.py b/scripts/npc/q1803_clear.py new file mode 100755 index 0000000..c1392db --- /dev/null +++ b/scripts/npc/q1803_clear.py @@ -0,0 +1,3 @@ +# Power Control Device (9075105) | +sm.sendSayOkay("Evolution System initiating.") +sm.createQuestWithQRValue(1808, "find") \ No newline at end of file diff --git a/scripts/npc/q20850_check3.py b/scripts/npc/q20850_check3.py new file mode 100755 index 0000000..cfb8a2b --- /dev/null +++ b/scripts/npc/q20850_check3.py @@ -0,0 +1,33 @@ +# Created by MechAviv +# [Kimu] | [1102204] +# Hidden Street : Tiru Forest +OBJECT_1 = sm.getIntroNpcObjectID(1102204) +sm.setSpeakerID(1102204) +sm.setPlayerAsSpeaker() +sm.sendNext("Kimu! You haven't seen the Master of Disguise, have you?") + + +sm.setSpeakerID(1102204) +sm.sendSay("Nope! Nothing to report! Search somewhere else!") + + +sm.setSpeakerID(1102204) +sm.setPlayerAsSpeaker() +sm.sendSay("Yeah, okay. Oh, by the way, thanks for the cape earlier. It's really helped me out.") + + +sm.setSpeakerID(1102204) +sm.sendSay("You betcha! Anytime, pal!") + + +sm.setSpeakerID(1102204) +sm.setPlayerAsSpeaker() +sm.sendSay("... You never gave me a cape.") + + +sm.setSpeakerID(1102204) +sm.sendSay("Argh! But my disguise was perfect! Very well, I guess we have no choice but to fight. Behold the power of the #rBlack Wings#k!") + + +sm.sendNpcController(OBJECT_1, False) +sm.spawnMob(9300743, -1934, 88, False) \ No newline at end of file diff --git a/scripts/npc/q23005ing.py b/scripts/npc/q23005ing.py new file mode 100755 index 0000000..94cb38a --- /dev/null +++ b/scripts/npc/q23005ing.py @@ -0,0 +1,6 @@ +# Flier board | Edelstein + +if sm.hasItem(4032783): + # TODO: add dialog here before consuming item + sm.consumeItem(4032783, 1) + sm.addQRValue(23006, "1") \ No newline at end of file diff --git a/scripts/npc/q62003_check.py b/scripts/npc/q62003_check.py new file mode 100755 index 0000000..d2210fa --- /dev/null +++ b/scripts/npc/q62003_check.py @@ -0,0 +1,26 @@ +CHIEF_PRIESTS_WOES = 62003 + +if sm.hasQuest(CHIEF_PRIESTS_WOES): + sm.setPlayerAsSpeaker() + if parentID == 9310585: + if "check1" not in sm.getQRValue(CHIEF_PRIESTS_WOES): + sm.addQRValue(CHIEF_PRIESTS_WOES, "check1") + sm.sendNext("People must be making a lot of offerings. Look at that altar! It's so... grandiose!") + + elif parentID == 9310586: + if "check2" not in sm.getQRValue(CHIEF_PRIESTS_WOES): + sm.addQRValue(CHIEF_PRIESTS_WOES, "check2") + sm.sendNext("That censer over there sure is releasing a lot of smoke. Is it haunted?") + + elif parentID == 9310587: + if "check3" not in sm.getQRValue(CHIEF_PRIESTS_WOES): + sm.addQRValue(CHIEF_PRIESTS_WOES, "check3") + sm.sendNext("There's a lot of weird stuff coming out of that window. \r\n" + "Something terrible must be happening inside the depository.") + + if "check1" in sm.getQRValue(CHIEF_PRIESTS_WOES) and \ + "check2" in sm.getQRValue(CHIEF_PRIESTS_WOES) and \ + "check3" in sm.getQRValue(CHIEF_PRIESTS_WOES): + + sm.giveExp(1010226) + sm.completeQuest(CHIEF_PRIESTS_WOES) \ No newline at end of file diff --git a/scripts/npc/q62013_item.py b/scripts/npc/q62013_item.py new file mode 100755 index 0000000..f87bd34 --- /dev/null +++ b/scripts/npc/q62013_item.py @@ -0,0 +1,16 @@ +BLUE_DEMON = 9310577 +KID_SHOES = 4034657 +MOUNT_SONG_HAMLET = 701210000 + +sm.removeEscapeButton() +sm.setBoxChat() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.sendNext("Those are the shoes that the #p"+ str(BLUE_DEMON) +"# lost. Return them to their owner in #m"+ str(MOUNT_SONG_HAMLET) +".") + +if not sm.canHold(KID_SHOES): + sm.sendNext("I should make some room in my inventory before grabbing the shoes.") + sm.dispose() + +sm.chatScript("Go to [Mount Song Hamlet] and find the owner of the shoes.") +sm.giveItem(KID_SHOES) diff --git a/scripts/npc/rank_user.py b/scripts/npc/rank_user.py new file mode 100755 index 0000000..3bf17b2 --- /dev/null +++ b/scripts/npc/rank_user.py @@ -0,0 +1,6 @@ +# Created by MechAviv +# [FangBlade] | [9901000] +# Perion : Warriors' Sanctuary + +sm.setSpeakerID(9901000) +sm.sendSayOkay("Hello, I am #bFangBlade#k, and I am LEVEL 200.") \ No newline at end of file diff --git a/scripts/npc/reactor_8659135.py b/scripts/npc/reactor_8659135.py new file mode 100755 index 0000000..897e0a7 --- /dev/null +++ b/scripts/npc/reactor_8659135.py @@ -0,0 +1,16 @@ +# id 9400569 (Building Debris), field 867200400 +sm.lockInGameUI(True, False) +sm.setMapTaggedObjectVisible("guide135", False, 0, 0) +sm.sendDelay(120) +sm.forcedFlip(True) +sm.sendDelay(120) +sm.forcedAction(1946, 9999) +sm.showNpcSpecialActionByTemplateId(9400569, "state2", -1) +sm.forcedAction(1947, 9999) +sm.showNpcSpecialActionByTemplateId(9400569, "state3", -1) +sm.forcedAction(1948, 9999) +sm.resetNpcSpecialActionByTemplateId(9400569) +sm.playSound("Sound/PL_MONAD.img/EP1/ACT1/reactordrop1", 128) +sm.showNpcSpecialActionByTemplateId(9400569, "hit", 0) +sm.sendDelay(900) +sm.lockInGameUI(False, True) diff --git a/scripts/npc/reactor_8659136.py b/scripts/npc/reactor_8659136.py new file mode 100755 index 0000000..fb9a935 --- /dev/null +++ b/scripts/npc/reactor_8659136.py @@ -0,0 +1,17 @@ +# id 9400577 (Building Debris), field 867200400 +sm.lockInGameUI(True, False) +sm.setMapTaggedObjectVisible("guide136", False, 0, 0) +sm.sendDelay(120) +sm.forcedFlip(True) +sm.sendDelay(120) +sm.forcedAction(1946, 9999) +sm.showNpcSpecialActionByTemplateId(9400577, "state2", -1) +sm.forcedAction(1947, 9999) +sm.showNpcSpecialActionByTemplateId(9400577, "state3", -1) +sm.forcedAction(1948, 9999) +sm.resetNpcSpecialActionByTemplateId(9400577) +sm.playSound("Sound/PL_MONAD.img/EP1/ACT1/reactordrop2", 128) +sm.showNpcSpecialActionByTemplateId(9400577, "hit", 0) +sm.sendDelay(900) +sm.lockInGameUI(False, True) +sm.showNpcSpecialActionByTemplateId(9400578, "summon", 0) diff --git a/scripts/npc/reactor_8659137.py b/scripts/npc/reactor_8659137.py new file mode 100755 index 0000000..cbf078a --- /dev/null +++ b/scripts/npc/reactor_8659137.py @@ -0,0 +1,16 @@ +# id 9400578 (Building Debris), field 867200400 +sm.lockInGameUI(True, False) +sm.setMapTaggedObjectVisible("guide137", False, 0, 0) +sm.sendDelay(120) +sm.forcedFlip(True) +sm.sendDelay(120) +sm.forcedAction(1946, 9999) +sm.showNpcSpecialActionByTemplateId(9400578, "state2", -1) +sm.forcedAction(1947, 9999) +sm.showNpcSpecialActionByTemplateId(9400578, "state3", -1) +sm.forcedAction(1948, 9999) +sm.resetNpcSpecialActionByTemplateId(9400578) +sm.playSound("Sound/PL_MONAD.img/EP1/ACT1/reactordrop3", 128) +sm.showNpcSpecialActionByTemplateId(9400578, "hit", 0) +sm.sendDelay(900) +sm.lockInGameUI(False, True) diff --git a/scripts/npc/remove_DirtytreasureMap.py b/scripts/npc/remove_DirtytreasureMap.py new file mode 100755 index 0000000..2635ce5 --- /dev/null +++ b/scripts/npc/remove_DirtytreasureMap.py @@ -0,0 +1,2 @@ +# Jack (1092010) | Nautilus +sm.sendSayOkay("(Scratch scratch...)") diff --git a/scripts/npc/rescue_nora.py b/scripts/npc/rescue_nora.py new file mode 100755 index 0000000..cfb6d3f --- /dev/null +++ b/scripts/npc/rescue_nora.py @@ -0,0 +1,43 @@ +# Nora the Explorer (1514002) | Nora's Cove + +if not sm.hasMobsInField(): + sm.sendNext("You have to be calm... very calm... Mother and Father, please give me strength...") + + sm.sendSay("Huh? The monsters are gone! Where have they gone to?") + + sm.sendSay("Brave warrior! You saved me! I don't know how to thank you but... Thank you so much.") + + sm.sendSay("My name is #bNora#k, an Archaeologist.\r\n\r\n" + "I came to Rien because my interest is in the Riena Straits" + "I was doing research on the mysterious fossil found here, but it started to move and attack me." + "I was to scared back then.") + + sm.sendSay("But why were you there, brave warrior?") + + sm.setPlayerAsSpeaker() + sm.sendSay("#b(I told Nora that I was in search of a witch to help the residents here.)#k") + + sm.setSpeakerID(parentID) + sm.sendSay("A witch? Are you saying the appearance of the monsters and the rising of the sea levels is all done by the witch?") + + sm.sendSay("No way. " + "These fossils fell off as the eternal frost started to melt due to the rising temperature and as the foundation rock plate was influenced by the ores with its magical power." + "Which means, these monsters appeared naturally. They have not been summoned by anyone.") + + sm.sendSay("As for the rising of the sea levels.. Would that be really the work of the witch? Wouldn't there be other reasons behind it?") + + sm.sendSay("I have a favor to ask. Can I come along as you investigate the area? Please take me as your colleague!") + + sm.setPlayerAsSpeaker() + sm.sendSay("#b(The knowledge of this young scholar would be a good help when solving problems.)") + + sm.setSpeakerID(parentID) + sm.sendSay("Thank you! You will not regret it.\r\n" + "(You will be transported to the 1st Observatory.)") + + #sm.completeQuest(32170) # [Riena Strait] Nerd Rescue + #sm.startQuestNoCheck(32194) # Seems to be a quest needed 'in progress' to make nora appear in other maps + sm.createQuestWithQRValue(32194, "1") + + sm.warpInstanceOut(141010000,0) # Ice Station 1 + diff --git a/scripts/npc/rita_Field.py b/scripts/npc/rita_Field.py new file mode 100755 index 0000000..72d8f40 --- /dev/null +++ b/scripts/npc/rita_Field.py @@ -0,0 +1,11 @@ +# [Grand Athenaeum] Warp out +sm.removeEscapeButton() +sm.setSpeakerID(2500001) + +answer = sm.sendSay("Return to the Grand Athenaeum?\r\n\r\n#b#L0#Return to the Grand Athenaeum. #l\r\n#L1#Not just yet.") +if answer == 0: + sm.sendNext("Remembering this location...") + sm.warp(302000000, 0) +elif answer == 1: + sm.addEscapeButton() + sm.sendSayOkay("You can go back if you still have stories to experience.") diff --git a/scripts/npc/rita_library.py b/scripts/npc/rita_library.py new file mode 100755 index 0000000..a1d111f --- /dev/null +++ b/scripts/npc/rita_library.py @@ -0,0 +1,8 @@ +# Grand Athenaeum - Dimension Library +from net.swordie.ms.enums import UIType + +if sm.hasQuestCompleted(32662): + sm.openUI(UIType.UI_DIMENSION_LIBRARY) +else: + sm.setSpeakerID(2500001) + sm.sendSayOkay("Chirp chirp! Talk to Thales the Librarian first.") \ No newline at end of file diff --git a/scripts/npc/rogue4th_warp.py b/scripts/npc/rogue4th_warp.py new file mode 100755 index 0000000..48714e2 --- /dev/null +++ b/scripts/npc/rogue4th_warp.py @@ -0,0 +1,20 @@ +# Thief 4th Job NPC Warp Script + +MANON_PREV_MAP = 240020400 +GRIFFEY_PREV_MAP = 240020100 +MANONS_DARK_FOREST = 924000200 +DARK_GRIFFEY_FOREST = 924000201 + + +sm.setSpeakerID(parentID) +sm.sendNext("Is it in you to become a hero? The only way to find out is for you to take action...") +if not sm.hasQuest(1457): + sm.dispose() + +selection = sm.sendNext("If you agree to take this test, I will send you to Manon and Girffey. Of course, if you are capable of visit Manon Forest or Griffey Forest on your own, plese feel free to do so. What would you like to do?\r\n\r\n#L0##bPlease send me to Manon Forest.\r\n#L1#Please send me to Griffey Forest.#l\r\n#L2#It's nothing. I will go there on my own.#l#n") +if selection == 0: + sm.sendNext("Would you like to go to Manon Forest? I will send you there. Come back if you can't find the other monster on your own.") + sm.warpInstanceIn(MANONS_DARK_FOREST, False) +elif selection == 1: + sm.sendNext("Would you like to go to Griffey Forest? I will send you there. Come back if you can't find the other monster on your own.") + sm.warpInstanceIn(DARK_GRIFFEY_FOREST, False) diff --git a/scripts/npc/rootaBossOut.py b/scripts/npc/rootaBossOut.py new file mode 100755 index 0000000..ef507a5 --- /dev/null +++ b/scripts/npc/rootaBossOut.py @@ -0,0 +1,13 @@ +sm.setSpeakerID(1064002) +sm.sendAskYesNo + +dialog = str() + +if sm.hasMobsInField(): + dialog = "Are you sure you want to leave the battlefield and abandon your party members?" + +else: + dialog = "Are you sure you want to leave the battlefield?" + +if sm.sendAskYesNo(dialog): + sm.WarpInstanceOut(105200000) \ No newline at end of file diff --git a/scripts/npc/roro_Check1.py b/scripts/npc/roro_Check1.py new file mode 100755 index 0000000..8e430fb --- /dev/null +++ b/scripts/npc/roro_Check1.py @@ -0,0 +1,6 @@ +# Created by MechAviv +# [Magic Library Checker] | [1032218] +# Ellinia : Magic Library +if "1" not in sm.getQuestEx(25566, "c1"): + sm.setQuestEx(25566, "c1", "1") + sm.chatScript("You search the Magic Library.") \ No newline at end of file diff --git a/scripts/npc/roro_Check2.py b/scripts/npc/roro_Check2.py new file mode 100755 index 0000000..b0f5361 --- /dev/null +++ b/scripts/npc/roro_Check2.py @@ -0,0 +1,6 @@ +# Created by MechAviv +# [Magic Library Checker] | [1032219] +# Ellinia : Magic Library +if "1" not in sm.getQuestEx(25566, "c2"): + sm.setQuestEx(25566, "c2", "1") + sm.chatScript("You search the Magic Library.") diff --git a/scripts/npc/roro_Check3.py b/scripts/npc/roro_Check3.py new file mode 100755 index 0000000..2f9e315 --- /dev/null +++ b/scripts/npc/roro_Check3.py @@ -0,0 +1,6 @@ +# Created by MechAviv +# [Magic Library Checker] | [1032220] +# Ellinia : Magic Library +if "1" not in sm.getQuestEx(25566, "c3"): + sm.setQuestEx(25566, "c3", "1") + sm.chatScript("You search the Magic Library.") \ No newline at end of file diff --git a/scripts/npc/rouletteNPC.py b/scripts/npc/rouletteNPC.py new file mode 100755 index 0000000..1b6b300 --- /dev/null +++ b/scripts/npc/rouletteNPC.py @@ -0,0 +1,9 @@ +# russian roulette npc. +# custom function to work with in game event +# unsure what real function is + +if sm.getFieldID()== 910030000: # verify in event map + response = sm.sendNext("Hey! This is MapleStory Russian Roulette!\r\n#L0#What is that?#l\r\n#L1#Redeem rewards!#l") + # todo +else: + sm.sendSayOkay("Wanna give me a twirl, handsome?") \ No newline at end of file diff --git a/scripts/npc/rouletteNPC_2015.py b/scripts/npc/rouletteNPC_2015.py new file mode 100755 index 0000000..794a645 --- /dev/null +++ b/scripts/npc/rouletteNPC_2015.py @@ -0,0 +1,21 @@ +import random + +halloweenItems = [3018231,3018238,3018239,3018240,3018241,3018242,3018243,3018246,1702423,1112142,1112253,1052644,1004002,1702469,1702470,1702471,1702473,1702458,1702472,1702478,1702477,1702529,1702390,1012501,1102774,1102576,1102588,1004482,1052864,1051376,1032228,1072871,1702180,1102211,1102273,1004873,1050441,1073183,1102974,1051509,1702726,1053094,1053093,1702714,1004841,1702710,1115032,1115121,1115079,1115168] +randomHalloweenItem = random.choice(halloweenItems) + +sm.setSpeakerType(2) +sm.setParam(548) +sm.setColor(2) +sm.setInnerOverrideSpeakerTemplateID(9010063) # Machine Wheel +sm.sendNext("Would you like to spin the Celestial Wheel of mystery?\r\nYou're going to need 10 #i4310244#") +if sm.hasItem(4310244, 10): + if sm.canHold(randomHalloweenItem): + sm.sendNext("It looks like you have 10 #bGhost coins#k! Spin the wheel?") + sm.sendNext("You rolled a #i" + str(randomHalloweenItem) + "#!") + sm.consumeItem(4310244, 10) + sm.giveItem(randomHalloweenItem) + else: + sm.sendNext("Please check if you have enough available inventory space, silly!") + +else: + sm.sendNext("It looks like you don't have 10 #bGhost Coins#k!") \ No newline at end of file diff --git a/scripts/npc/rowen.py b/scripts/npc/rowen.py new file mode 100755 index 0000000..dda3432 --- /dev/null +++ b/scripts/npc/rowen.py @@ -0,0 +1,2 @@ +# Rowen the Fairy (1032101) | Ellinia +sm.sendSayOkay("Hello, I'm Rowen the Fairy!") diff --git a/scripts/npc/say_1012121.py b/scripts/npc/say_1012121.py new file mode 100755 index 0000000..306920f --- /dev/null +++ b/scripts/npc/say_1012121.py @@ -0,0 +1,2 @@ +# Clothes Collector (1012121) | Henesys Market +sm.sendSayOkay("You don't have anything for the Clothes Collector.") diff --git a/scripts/npc/sell_ticket.py b/scripts/npc/sell_ticket.py new file mode 100755 index 0000000..50f51e3 --- /dev/null +++ b/scripts/npc/sell_ticket.py @@ -0,0 +1 @@ +sm.sendNext("I hope you enjoy your stay.") diff --git a/scripts/npc/shammos2.py b/scripts/npc/shammos2.py new file mode 100755 index 0000000..e8915c7 --- /dev/null +++ b/scripts/npc/shammos2.py @@ -0,0 +1,2 @@ +# Message from Shammos (2022006) | Shammos PQ +sm.sendNext("Haha! FOOLS! I have betrayed you and have unsealed Rex, the Hoblin King!") \ No newline at end of file diff --git a/scripts/npc/shammos_Next1.py b/scripts/npc/shammos_Next1.py new file mode 100755 index 0000000..ce2d493 --- /dev/null +++ b/scripts/npc/shammos_Next1.py @@ -0,0 +1,2 @@ +# Shammos (2022009) | Shammos PQ +sm.sendNext("Let's go!") diff --git a/scripts/npc/shaolin_collector.py b/scripts/npc/shaolin_collector.py new file mode 100755 index 0000000..29109f3 --- /dev/null +++ b/scripts/npc/shaolin_collector.py @@ -0,0 +1,8 @@ +# id 9310597 (Zarak), field 701220000 +sm.setSpeakerType(3) +sm.setParam(56) +sm.setColor(1) +res = sm.sendNext("Talk to Zarak.\r\n#L1#What's a demon orb?#l\r\n#L0#Tell me more about collecting demon orbs.#l\r\n#L2#I'll help. Count me in!#l") +sm.setParam(37) +sm.setInnerOverrideSpeakerTemplateID(9310597) # Zarak +sm.sendSayOkay("I'm studying how demons are formed. Demon orbs are tightly condensed balls of demonic energy. I'm hoping they'll reveal the background and emotions of the demons you get them from.") diff --git a/scripts/npc/skin_henesys1.py b/scripts/npc/skin_henesys1.py new file mode 100755 index 0000000..64cdd24 --- /dev/null +++ b/scripts/npc/skin_henesys1.py @@ -0,0 +1,6 @@ +# Ms. Tan (1012105) | Henesys Skin-Care +sm.sendNext("Well, hello! Welcome to the Henesys Skin-Care! " + "Would you like to have a firm, tight, healthy looking skin like mine? " + "With a #b#t5153000##k, you can let us take care of the rest and have the kind of skin you've always wanted!") + +sm.sendSayOkay("You don't seem to have any #b#t5153000##k.") diff --git a/scripts/npc/soulWeapon.py b/scripts/npc/soulWeapon.py new file mode 100755 index 0000000..530915f --- /dev/null +++ b/scripts/npc/soulWeapon.py @@ -0,0 +1,6 @@ +# Murgoth +# Soul Researcher +# Multiple Boss Lobby Maps (Balrog, Pink Bean, etc) + +sm.sendSayOkay("Souls are my specialty, I always find the truth..") + diff --git a/scripts/npc/strangeGallery_out.py b/scripts/npc/strangeGallery_out.py new file mode 100755 index 0000000..d532dcd --- /dev/null +++ b/scripts/npc/strangeGallery_out.py @@ -0,0 +1,15 @@ + +from net.swordie.ms.constants import CustomConstants + + + +if sm.isPartyLeader(): + sm.sendNext("Do you wish to participate in the Halloween Party Quest?#b\r\n" + "\r\n" + "#L0#Enter Halloween Party Quest.#l") + if sm.checkParty() and sm.checkPartyLevelReq(CustomConstants.MIN_LEVEL_FOR_PQ): + + sm.warpInstanceIn(922900400, 0, True) # HGPQ 1st Map + +else: + sm.sendSayOkay("Please have your party leader talk to me.") diff --git a/scripts/npc/subway_in.py b/scripts/npc/subway_in.py new file mode 100755 index 0000000..447b494 --- /dev/null +++ b/scripts/npc/subway_in.py @@ -0,0 +1,5 @@ +# The Ticket Gate (1052007) | Kerning City Subway : Subway Ticketing Booth + +sm.sendNext("Where do you want to go?\r\n\r\n#L0#Subway Construction Site#l") + +sm.warpInstanceIn(931050400) \ No newline at end of file diff --git a/scripts/npc/talk2152014.py b/scripts/npc/talk2152014.py new file mode 100755 index 0000000..4e0d803 --- /dev/null +++ b/scripts/npc/talk2152014.py @@ -0,0 +1,4 @@ +FATTIE = 2159014 + +sm.setSpeakerID(FATTIE) +sm.sendSayOkay("I'm so hot, I'm probably blinding you. I also like balloons. And now, I won't share my balloons with you, so don't even ask.") \ No newline at end of file diff --git a/scripts/npc/talk2159000.py b/scripts/npc/talk2159000.py new file mode 100755 index 0000000..0839d21 --- /dev/null +++ b/scripts/npc/talk2159000.py @@ -0,0 +1,9 @@ +JUN = 2159000 +VON = 2159002 + +sm.setSpeakerID(JUN) +sm.sendNext("I'm glad you made it. Safety in numbers, right? I feel like we're being watched... Shouldn't we think about heading back? The grown-ups in town say the mines aren't safe...") + +sm.setSpeakerID(VON) +sm.flipDialogue() +sm.sendPrev("Sheesh, why are you such a scaredy cat? We've come all this way! We should at least do something before we go back.") \ No newline at end of file diff --git a/scripts/npc/talk2159001.py b/scripts/npc/talk2159001.py new file mode 100755 index 0000000..3c6331d --- /dev/null +++ b/scripts/npc/talk2159001.py @@ -0,0 +1,41 @@ +# Introduction quest portal for resistance +JUN_ID = 2159000 +ULRIKA_ID = 2159001 +VON_ID = 2159002 + +sm.setSpeakerID(ULRIKA_ID) +sm.sendNext("There you are, #h #! You're late. Get over here.") + +sm.setSpeakerID(VON_ID) +sm.flipDialogue() +sm.sendSay("What was the hold up? You scared or something?") + +sm.setPlayerAsSpeaker() +sm.sendSay("Don't be ridiculous.") + +sm.setSpeakerID(JUN_ID) +sm.flipDialogue() +sm.sendSay("You're not s-s-scared at all? I am, a little b-b-bit... The grown-ups warned us never to venture into the #bVerne Mines#k... Plus, there are all those #rBlack Wings#k around, watching us, I just know it.") + +sm.setSpeakerID(VON_ID) +sm.flipDialogue() +sm.sendSay("We snuck here, Jun. No one saw us. No one's watching us, okay? Come on, when else would we have ever gotten the chance to leave #bEdelstein#k? Don't be a chicken.") + +sm.setSpeakerID(JUN_ID) +sm.flipDialogue() +sm.sendSay("But what if we get in trouble?") + +sm.setSpeakerID(ULRIKA_ID) +sm.sendSay("Jun, we're already here. If we're going to get in trouble, let's at least have some fun first. Let's play hide-and-seek!") + +sm.setPlayerAsSpeaker() +sm.sendSay("Hide and seek?") + +sm.setSpeakerID(VON_ID) +sm.flipDialogue() +sm.sendSay("Ugh, la-ame.") + +sm.setSpeakerID(ULRIKA_ID) +sm.sendSay("Don't be a brat, Von. What? Are you scared to hide all by yourself in these big, bad caves? *snicker*\r\n#h0#, since you were late, you're it. Count to 10 and then come find us. No peeking.") + +sm.warp(931000001, 1) \ No newline at end of file diff --git a/scripts/npc/talk2159002.py b/scripts/npc/talk2159002.py new file mode 100755 index 0000000..adf8620 --- /dev/null +++ b/scripts/npc/talk2159002.py @@ -0,0 +1,5 @@ +VON = 2159002 + +sm.setSpeakerID(VON) +sm.sendNext("If Jun's too chiken, let's leave him here. But why's it have to be hide-and-seek? Let's play something cool...") +sm.sendPrev("That's not what I said...") \ No newline at end of file diff --git a/scripts/npc/talk2159003.py b/scripts/npc/talk2159003.py new file mode 100755 index 0000000..1e5dd0a --- /dev/null +++ b/scripts/npc/talk2159003.py @@ -0,0 +1,9 @@ +# Jun - Dangerous Hide-and-Seek : Neglected Rocky Mountain (931000001) +if "exp1=1" not in sm.getQRValue(23007): + sm.sendNext("Eep! You found me.") + sm.sendSay("Eh, I wanted to go further into the wagon, but my head wouldn't fit.") + sm.sendSay("Did you find Ulrika and Von yet? Von is really, really good at hiding.\r\n\r\n\r\n\r\n#fUI/UIWindow2.img/QuestIcon/8/0# 5 exp") + sm.giveExp(5) + sm.addQRValue(23007, "exp1=1") +else: + sm.sendNext("Did you find Ulrika and Von yet? Von is really, really good at hiding.") diff --git a/scripts/npc/talk2159004.py b/scripts/npc/talk2159004.py new file mode 100755 index 0000000..39755bb --- /dev/null +++ b/scripts/npc/talk2159004.py @@ -0,0 +1,8 @@ +# Ulrika - Dangerous Hide-and-Seek : Neglected Rocky Mountain (931000001) +if "exp2=1" not in sm.getQRValue(23007): + sm.sendNext("Haha, you found me. Guess I should've found a better hiding spot.") + sm.sendSay("Have you found Jun and Von yet? Von's going to be pretty hard to find. Better keep your eyes open.\r\n\r\n\r\n\r\n#fUI/UIWindow2.img/QuestIcon/8/0# 5 exp") + sm.giveExp(5) + sm.addQRValue(23007, "exp2=1") +else: + sm.sendNext("Have you found Jun and Von yet? Von's going to be pretty hard to find. Better keep your eyes open.") diff --git a/scripts/npc/talk2159006.py b/scripts/npc/talk2159006.py new file mode 100755 index 0000000..acabc83 --- /dev/null +++ b/scripts/npc/talk2159006.py @@ -0,0 +1,35 @@ +# Vita | Dangerous Hide-and-Seek : Suspicious Laboratory +if "vel00=1" not in sm.getQRValue(23007): + sm.sendNext("Stay back!") + sm.sendSay("How did you get here? This place is prohibited!") + + sm.setPlayerAsSpeaker() + sm.sendSay("Who's talking? Where are you?!") + + sm.resetParam() + sm.sendSay("Look up.") + sm.addQRValue(23007, "vel00=1") + sm.reservedEffect("Effect/Direction4.img/Resistance/ClickVel") +elif "vel00=2" not in sm.getQRValue(23007): + sm.sendNext("My name is #bVita#k. I'm one of #rDoctor Gelimer's#k test subjects. But that's not important right now. You have to get out of here before someone sees you!") + + sm.setPlayerAsSpeaker() + sm.sendSay("Wait, what are you talking about? Someone's doing experiments on you?! And who's Gelimer?") + + sm.resetParam() + sm.sendSay("You've never heard of Doctor Gelimer, the Black Wings' mad scientist? This is his lab, where he conducts experiments...on people.") + + sm.setPlayerAsSpeaker() + sm.sendSay("Experiments...on people? Are you serious?") + + sm.resetParam() + sm.sendSay("Yes! And if he catches you here, he won't be merciful. Get out of here! Quickly!") + + sm.setPlayerAsSpeaker() + sm.sendSay("What? But what about you?!") + + sm.resetParam() + sm.sendSay("Shhh! Did you hear that? Someone's coming! It's got to be Doctor Gelimer! Oh no!") + + sm.addQRValue(23007, "vel00=2") + sm.warp(931000011, 0) diff --git a/scripts/npc/talk2159007.py b/scripts/npc/talk2159007.py new file mode 100755 index 0000000..d3feb36 --- /dev/null +++ b/scripts/npc/talk2159007.py @@ -0,0 +1,21 @@ +if sm.getFieldID() == 931000020: + sm.sendSayOkay("It's been...a really long time since I've been outside the laboratory.") + sm.dispose() +sm.sendNext("Whoa. Wh-what happened? The glass is broken... Did that vibration earlier break it?") + +sm.setPlayerAsSpeaker() +sm.sendSay("Now, there's nothing stopping you right? Let's get out of here!") + +sm.resetParam() +sm.sendSay("But...") + +sm.setPlayerAsSpeaker() +sm.sendSay("Do you WANT to stay here or something?") + +sm.resetParam() +sm.sendSay("Of course not!") + +sm.setPlayerAsSpeaker() +sm.sendSay("Then hurry up! Let's go!") + +sm.warp(931000020, 1) \ No newline at end of file diff --git a/scripts/npc/talk2159008.py b/scripts/npc/talk2159008.py new file mode 100755 index 0000000..5b45e81 --- /dev/null +++ b/scripts/npc/talk2159008.py @@ -0,0 +1,32 @@ +sm.setSpeakerID(2159008) +sm.sendNext("Little rats. I say, how DARE you try to escape this place?") + +sm.setPlayerAsSpeaker() +sm.sendSay("Shoot, we were spotted!") + +sm.setSpeakerID(2159008) +sm.sendSay("Now, now, children. Don't make this harder than it needs to be. Just walk towards me, nice and easy... Wait, you're not one of the test subjects. You're one of the townspeople, aren't you?") + +sm.setPlayerAsSpeaker() +sm.sendSay("That's right. I'm a resident of Edelstein, not a test subject. You can't boss ME around.") + +sm.setSpeakerID(2159008) +sm.sendSay("Oh my, oh my. I told them to make sure the townspeople kept their kids away from the mines... Alas, it's too late now. I can't allow you to tell anyone about this laboratory, so I guess you'll just have to stay here and...help with the experiments. *snicker*") + +sm.setPlayerAsSpeaker() +sm.sendSay("Hmph. Big words, but let's see if you can catch me first.") + +sm.setSpeakerID(2159008) +sm.sendSay("Why, you insolent, little-- Ahem, ahem, ahem. Your words don't matter. Time for me to pull out the big guns. I do hope you're ready. If not, you will suffer.") + +sm.getChr().heal(-sm.getChr().getHP()/2) +sm.setPlayerAsSpeaker() +sm.sendSay("#b(Oh no! Schiller's attack HALVED your HP! He's tougher than you anticipated.)#k") + +sm.setSpeakerID(2159008) +sm.sendSay("I say, got any more big words, kiddo? I'll make sure Gelimer performs some especially atrocious experiments on you. But I'll be nice if you come with me quiet-like.") + +sm.setSpeakerID(2159010) +sm.sendSay("Hold it right there!") + +sm.warp(931000021, 1) \ No newline at end of file diff --git a/scripts/npc/talk2159009.py b/scripts/npc/talk2159009.py new file mode 100755 index 0000000..645d845 --- /dev/null +++ b/scripts/npc/talk2159009.py @@ -0,0 +1 @@ +# ? \ No newline at end of file diff --git a/scripts/npc/talk2159010.py b/scripts/npc/talk2159010.py new file mode 100755 index 0000000..27ea94d --- /dev/null +++ b/scripts/npc/talk2159010.py @@ -0,0 +1,41 @@ + +sm.flipSpeaker() +sm.sendNext("Looks like we lost him. Of course, I could've easily handled him, no problemo, but I wasn't sure I could protect you kiddos at the same time. *chuckle* What're you two doing here anyway? Didn't your parents warn you to steer clear of the mines?") + +sm.setSpeakerID(2159007) +sm.flipDialogue() +sm.sendSay("It's my fault! #h0# was just trying to help! #h0# rescued me!") + +sm.flipSpeaker() +sm.setSpeakerID(2159010) +sm.sendSay("Rescued you, eh? Hm, you are dressed kind of funny, little girl. Ooooh. Were you a prisoner of the Black Wings ?") + +sm.setSpeakerID(2159007) +sm.flipDialogue() +sm.sendSay("#b(Vita quickly explains the situation.)#k") + +sm.flipSpeaker() +sm.setSpeakerID(2159010) +sm.sendSay("Ah, yes, I knew the Black Wings were up to something dangerous. I knew it all along. I must tell the others so we can devise a plan.") + +sm.setPlayerAsSpeaker() +sm.sendSay("But who are you? Where did you come from? And why did you rescue us?") + +sm.flipSpeaker() +sm.setSpeakerID(2159010) +sm.sendSay("I suppose I can't hide it after everything you've seen today, including but not limited to my heroic rescue and brazen bravery. *cough* You know our grand city of Edelstein is currently under the control of the Black Wings, right?") +sm.sendSay("The stolen mines, the occupation of City Hall, the existence of the Watchmen... They are all signs that we no longer have our liberty. Despite all that, the Black Wings will never rule our hearts!") +sm.sendSay("I am a proud member of the Resistance, a group secretly fighting and undermining the Black Wings. I cannot tell you who I am, but I go by the codename of J. ") +sm.sendSay("Now, please return to town and stay away from the mines. As for you, Vita, come with me. If you're left unprotected, I fear the Black Wings will come look for you. No one can keep you safe like I can! Now, keep my words a secret. The fate of the Resistance depends on your discretion.") + +sm.setPlayerAsSpeaker() +sm.sendSay("Wait, before you go, tell me one thing. How can I join the Resistance?") + +sm.flipSpeaker() +sm.setSpeakerID(2159010) +sm.sendSay("Ah, little youngling, so you wish to fight the Black Wings, do you? Your heart is noble, but there is little you can do to aid our efforts until you reach Lv. 10. Do so, and I will have someone from the Resistance contact you. That's a promise, kiddo. Now, I must be off, but perhaps we will meet again someday!") + +sm.startQuest(23007) +sm.completeQuest(23007) +sm.giveExp(90) +sm.warp(310000000, 8) \ No newline at end of file diff --git a/scripts/npc/talk2159011.py b/scripts/npc/talk2159011.py new file mode 100755 index 0000000..b1c1380 --- /dev/null +++ b/scripts/npc/talk2159011.py @@ -0,0 +1,13 @@ +# 931000001 +sm.setSpeakerID(2159011) + +if not ("exp1=1" in sm.getQRValue(23007) and "exp2=1" in sm.getQRValue(23007) and "exp3=1" in sm.getQRValue(23007) and "exp4=1" in sm.getQRValue(23007)): + sm.sendSayOkay("#bFind your hiding friends before continuing.#k") + sm.dispose() + +if sm.sendAskYesNo("#b(What a suspicious hole. Maybe Von is hiding inside. Peek inside?)#k"): + sm.giveExp(35) + sm.warp(931000010, 0) + +else: + sm.sendSayOkay("#b(Even Von wouldn't hide here, right?)#k") diff --git a/scripts/npc/talk2159012.py b/scripts/npc/talk2159012.py new file mode 100755 index 0000000..92b94ed --- /dev/null +++ b/scripts/npc/talk2159012.py @@ -0,0 +1,32 @@ +# 931000011 +if "talk=1" not in sm.getQRValue(23007): + sm.addQRValue(23007, "talk=1") + sm.removeEscapeButton() + + sm.setSpeakerID(2159012) + sm.sendNext("The experiment is going well, quite well. The endless supply of Rue is certainly speeding things along. Joining the Black Wings was a wise decision, a wise decision indeed. Muahaha!") + + sm.setSpeakerID(2159008) + sm.sendSay("I say, you have great foresight about these things.") + + sm.setSpeakerID(2159012) + sm.sendSay("The android the Black Wings wanted will be completed soon. Oh yes, very soon. Then, the next stage will begin! I will conduct an experiment wilder than their wildest dreams!") + + sm.setSpeakerID(2159008) + sm.sendSay("Pardon? The next stage?") + + sm.setSpeakerID(2159012) + sm.sendSay("Teeheehee, do you still not comprehend what I'm trying to create? Look around! Here's a clue: it's eons more interesting than a simple android. Eons more interesting.") + + sm.setSpeakerID(2159008) + sm.sendSay("What?? All these test subjects... I say, sir, just what are you planning to do?") + + sm.setSpeakerID(2159012) + sm.sendSay("Now, now, you may not understand the grandness of my experiments. I don't expect you to. No, I don't expect you to. Just focus on your job and make sure none of the test subjects run away.") + sm.sendSay("Hey... Did you hear that?") + + sm.setSpeakerID(2159008) + sm.sendSay("Huh? Well... Now that you mention it, I do hear something. Yes, I do hear something...") + + # Tremble (FieldEffect here) - (0, 500, 30). + sm.reservedEffect("Effect/Direction4.img/Resistance/TalkInLab") \ No newline at end of file diff --git a/scripts/npc/talk2159013.py b/scripts/npc/talk2159013.py new file mode 100755 index 0000000..127a338 --- /dev/null +++ b/scripts/npc/talk2159013.py @@ -0,0 +1,4 @@ +CUTIE = 2159013 + +sm.setSpeakerID(CUTIE) +sm.sendSayOkay("My heart is pouding, but this is kind of exciting. We're going to get in so much trouble if we're caught, though.") \ No newline at end of file diff --git a/scripts/npc/talk2159015.py b/scripts/npc/talk2159015.py new file mode 100755 index 0000000..9926b73 --- /dev/null +++ b/scripts/npc/talk2159015.py @@ -0,0 +1,7 @@ +# Cutie - Dangerous Hide-and-Seek : Neglected Rocky Mountain (931000001) +if "exp3=1" not in sm.getQRValue(23007): + sm.sendNext("Aw shucks. You found me. Wow, you're really good at this game!\r\n\r\n\r\n\r\n#fUI/UIWindow2.img/QuestIcon/8/0# 3 exp") + sm.giveExp(3) + sm.addQRValue(23007, "exp3=1") +else: + sm.sendNext("Hehehe... I should have hidden somewhere else.") diff --git a/scripts/npc/talk2159016.py b/scripts/npc/talk2159016.py new file mode 100755 index 0000000..da748f1 --- /dev/null +++ b/scripts/npc/talk2159016.py @@ -0,0 +1,7 @@ +# Fattie - Dangerous Hide-and-Seek : Neglected Rocky Mountain (931000001) +if "exp4=1" not in sm.getQRValue(23007): + sm.sendNext("D'oh! You found me. But I'm tiny! Are you a professional at this game or something?\r\n\r\n\r\n\r\n#fUI/UIWindow2.img/QuestIcon/8/0# 3 exp") + sm.giveExp(3) + sm.addQRValue(23007, "exp4=1") +else: + sm.sendNext("Drats. Might as well eat another piece of candy.") diff --git a/scripts/npc/talkHelena.py b/scripts/npc/talkHelena.py new file mode 100755 index 0000000..7a8d375 --- /dev/null +++ b/scripts/npc/talkHelena.py @@ -0,0 +1,10 @@ +# 914000100 +HELENA = 1209000 + +if not "1" == sm.getQRValue(21002): + sm.setSpeakerID(HELENA) + sm.sendNext("Aran, you're awake! How are you feeling? Hm? You want to know what's been going on?") + sm.sendSay("We're almost done preparing for the escape. You don't have to worry. Everyone I could possibly find has boarded the ark, and Shinsoo has agreed to guide the way. We'll head to Victoria Island as soon as we finish the remaining preparations.") + sm.sendSay("The other heroes? They've left to fight the Black Mage. They're buying us time to escape. What? You want to fight with them? No! You can't! You're hurt. You must leave with us!") + sm.reservedEffect("Effect/Direction1.img/aranTutorial/Trio") + sm.setQRValue(21002, "1", False) \ No newline at end of file diff --git a/scripts/npc/talk_sugarMaple.py b/scripts/npc/talk_sugarMaple.py new file mode 100755 index 0000000..985f0d7 --- /dev/null +++ b/scripts/npc/talk_sugarMaple.py @@ -0,0 +1 @@ +sm.sendSayOkay("i'm a hoe") \ No newline at end of file diff --git a/scripts/npc/talk_vasilituto.py b/scripts/npc/talk_vasilituto.py new file mode 100755 index 0000000..795fa29 --- /dev/null +++ b/scripts/npc/talk_vasilituto.py @@ -0,0 +1,10 @@ +# Vasily (10305) | Maple Road : Port +if sm.hasQuestCompleted(32214): + if sm.sendAskYesNo("Thanks to you, we're ready to set sail to Lith Harbor"): + sm.warp(4000032, 0) +elif sm.hasQuest(32214): + if sm.sendAskYesNo("I'll let you on board. Go defeat the monsters rampaging my ship."): + sm.warp(4000033, 0) +else: + sm.sendSayOkay("It's not time to board yet.") +sm.dispose() \ No newline at end of file diff --git a/scripts/npc/tangyoon_end.py b/scripts/npc/tangyoon_end.py new file mode 100755 index 0000000..1316b4e --- /dev/null +++ b/scripts/npc/tangyoon_end.py @@ -0,0 +1,9 @@ +response = sm.sendAskYesNo("Are you sure you want to leave?") +if response: + if not sm.getParty() is None: + sm.warpInstanceOut(910002000) + for partyMembers in sm.getParty().getMembers(): + sm.setQRValue(partyMembers.getChr(), GameConstants.LORD_PIRATE_QUEST, "0") + else: + sm.warp(910002000, 0) + sm.setQRValue(GameConstants.LORD_PIRATE_QUEST, "0") \ No newline at end of file diff --git a/scripts/npc/tangyoon_start.py b/scripts/npc/tangyoon_start.py new file mode 100755 index 0000000..f506fef --- /dev/null +++ b/scripts/npc/tangyoon_start.py @@ -0,0 +1,18 @@ +# Guon (2094000) | Spiegelmann's Guest House + +from net.swordie.ms.constants import GameConstants + +if sm.isPartyLeader(): + sm.sendNext("Will you help me cook my meal?#b\r\n" + "\r\n" + "#L0#Enter Chef Tangyoon's Party Quest#l") + if sm.checkParty(): + + # for each party member, create a LORD_PIRATE_QUEST with qrValue = "0" + for partyMember in sm.getParty().getMembers(): + sm.createQuestWithQRValue(partyMember.getChr(), GameConstants.LORD_PIRATE_QUEST, "0", False) + + sm.warpInstanceIn(912080100, 0, True) + +else: + sm.sendSayOkay("Please have your party leader talk to me.") diff --git a/scripts/npc/taxi5.py b/scripts/npc/taxi5.py new file mode 100755 index 0000000..da361bb --- /dev/null +++ b/scripts/npc/taxi5.py @@ -0,0 +1 @@ +sm.sendAskSlideMenu(5) \ No newline at end of file diff --git a/scripts/npc/test.py b/scripts/npc/test.py new file mode 100755 index 0000000..3232fab --- /dev/null +++ b/scripts/npc/test.py @@ -0,0 +1,480 @@ +sm.setSpeakerID(9201324) +if sm.sendNext: + selection = sm.sendNext("Hi. I have the best totems around. Want to take a look?\r\nYou currently have #r"+ str(sm.getFriendPoints()) +" #bFriendship Points\r\n" + "#L0#Trade #r1000#b Friendship Points for #v 04310126 # #t 04310126 #(s)\r\n" + "#L1#Trade #v 04310126 # #t 04310126 #(s) for #r1000#b Friendship Points\r\n\r\n" + "#L2##v 1202086 # #z 1202086 ##r (1000 Friendship Points)#b\r\n" + "#L3##v 1202085 # #z 1202085 ##r (1000 Friendship Points)#b\r\n" + "#L4##v 1202084 # #z 1202084 ##r (1000 Friendship Points)#b\r\n" + "#L5##v 1202083 # #z 1202083 ##r (1000 Friendship Points)#b\r\n" + "#L6##v 1202124 # #z 1202124 ##r (5000 Friendship Points)#b\r\n" + "#L7##v 1202089 # #z 1202089 ##r (6000 Friendship Points)#b\r\n" + "#L8##v 1202090 # #z 1202090 ##r (6000 Friendship Points)#b\r\n" + "#L9##v 1202091 # #z 1202091 ##r (6000 Friendship Points)#b\r\n" + "#L10##v 1182162 # #z 1182162 ##r (6000 Friendship Points)#b\r\n" + "#L11##v 1202094 # #z 1202094 ##r (10000 Friendship Points)#b\r\n" + "#L12##v 1202095 # #z 1202095 ##r (10000 Friendship Points)#b\r\n" + "#L13##v 1202096 # #z 1202096 ##r (10000 Friendship Points)#b\r\n" + "#L14##v 1202097 # #z 1202097 ##r (10000 Friendship Points)#b\r\n" + "#L15##v 1202050 # #z 1202050 ##r (15000 Friendship Points)#b\r\n" + "#L16##v 1202054 # #z 1202054 ##r (15000 Friendship Points)#b\r\n" + "#L17##v 1202058 # #z 1202058 ##r (15000 Friendship Points)#b\r\n" + "#L18##v 1202062 # #z 1202062 ##r (15000 Friendship Points)#b\r\n" + "#L19##v 1202236 # #z 1202236 ##r (500000 Friendship Points)#b\r\n") + + + if selection == 0: + answer = sm.sendAskNumber("How many #b#v 04310126 # #t 04310126 #(s)#k #kdo you wish purchase?", 0, 1, 1000) + + Total = answer * 1 + totalQty = answer * 1000 # Cost Per Coin + + if sm.getFriendPoints() < totalQty: + sm.sendSayOkay("You do not have enough #bFriendship Points#k.") + sm.dispose() + + else: + sm.deductFriendPoints(totalQty) + sm.giveItem(4310126, Total) + sm.sendSayOkay("Thank you for your purchase!\r\nYou have #r"+ str(sm.getFriendPoints()) +"#b Friendship Points#k left.") + sm.dispose() + + if selection == 1: + answer = sm.sendAskNumber("How many #b#v 04310126 # #t 04310126 #(s)#k #kdo you wish sell?", 0, 1, 1000) + + Total = answer * 1 + totalQty = answer * 1000 # Cost Per Coin + + + if not sm.hasItem(4310126, Total): + sm.sendSayOkay("You do not have enough #b#v 04310126 # #t 04310126 #(s)#k.") + sm.dispose() + + else: + sm.consumeItem(4310126, Total) + sm.giveFriendPoints(totalQty) + sm.sendSayOkay("Thank you for your purchase!\r\nYou now have #r"+ str(sm.getFriendPoints()) +"#b Friendship Points#k.") + sm.dispose() + + if selection == 2: + selection = sm.sendAskYesNo("Do you wish to purchase a #b#v 1202086 # #z 1202086 ##k?\r\n\r\n#b#v 4031138 # #r50,000,000 #bMesos\r\n\r\n#b#v 3800453 ##r 1000 #b Friendship Points") + if sm.getFriendPoints() <= 1000: + sm.sendSayOkay("You do not have enough #bFriendship Points#k.") + sm.dispose() + + elif sm.getMesos() < 50000000: + sm.sendSayOkay("You do not have enough #bMesos#k.") + sm.dispose() + + elif not sm.canHold(1202086): + sm.sendSayOkay("Make sure you have room in your inventory.") + sm.dispose() + + else: + sm.deductFriendPoints(1000) + sm.deductMesos(50000000) + sm.giveItem(1202086) + sm.sendSayOkay("Thank you for your purchase!") + sm.dispose() + + if selection == 3: + selection = sm.sendAskYesNo("Do you wish to purchase a #b#v 1202085 # #z 1202085 ##k?\r\n\r\n#b#v 1202086 # #t 1202086 #\r\n\r\n#b#v 4031138 # #r50,000,000 #bMesos\r\n\r\n#b#v 3800453 ##r 1000 #b Friendship Points") + if sm.getFriendPoints() < 1000: + sm.sendSayOkay("You do not have enough #bFriendship Points#k.") + sm.dispose() + + elif sm.getMesos() < 50000000: + sm.sendSayOkay("You do not have enough #bMesos#k.") + sm.dispose() + + elif not sm.hasItem(1202086): + sm.sendSayOkay("You do not possess a #b#v 1202086 # #t 1202086 #.") + sm.dispose() + + elif not sm.canHold(1202085): + sm.sendSayOkay("Make sure you have room in your inventory.") + sm.dispose() + + else: + sm.deductFriendPoints(1000) + sm.consumeItem(1202086) + sm.deductMesos(50000000) + sm.giveItem(1202085) + sm.sendSayOkay("Thank you for your purchase!") + sm.dispose() + + if selection == 4: + selection = sm.sendAskYesNo("Do you wish to purchase a #b#v 1202084 # #z 1202084 ##k?\r\n\r\n#b#v 1202085 # #t 1202085 #\r\n\r\n#b#v 4031138 # #r50,000,000 #bMesos\r\n\r\n#b#v 3800453 ##r 1000 #b Friendship Points") + if sm.getFriendPoints() < 1000: + sm.sendSayOkay("You do not have enough #bFriendship Points#k.") + sm.dispose() + + elif not sm.hasItem(1202085): + sm.sendSayOkay("You do not possess a #b#v 1202085 # #t 1202085 #.") + sm.dispose() + + elif sm.getMesos() < 50000000: + sm.sendSayOkay("You do not have enough #bMesos#k.") + sm.dispose() + + elif not sm.canHold(1202084): + sm.sendSayOkay("Make sure you have room in your inventory.") + sm.dispose() + + else: + sm.deductFriendPoints(1000) + sm.consumeItem(1202085) + sm.deductMesos(50000000) + sm.giveItem(1202084) + sm.sendSayOkay("Thank you for your purchase!") + sm.dispose() + + if selection == 5: + selection = sm.sendAskYesNo("Do you wish to purchase a #b#v 1202083 # #z 1202083 ##k?\r\n\r\n#b#v 1202084 # #t 1202084 #\r\n\r\n#b#v 4031138 # #r50,000,000 #bMesos\r\n\r\n#b#v 3800453 ##r 1000 #b Friendship Points") + if sm.getFriendPoints() < 1000: + sm.sendSayOkay("You do not have enough #bFriendship Points#k.") + sm.dispose() + + elif sm.getMesos() < 50000000: + sm.sendSayOkay("You do not have enough #bMesos#k.") + sm.dispose() + + elif not sm.hasItem(1202084): + sm.sendSayOkay("You do not possess a #b#v 1202084 # #t 1202084 #.") + sm.dispose() + + elif not sm.canHold(1202083): + sm.sendSayOkay("Make sure you have room in your inventory.") + sm.dispose() + + else: + sm.deductFriendPoints(1000) + sm.deductMesos(50000000) + sm.consumeItem(1202084) + sm.giveItem(1202083) + sm.sendSayOkay("Thank you for your purchase!") + sm.dispose() + + if selection == 6: + selection = sm.sendAskYesNo("Do you wish to purchase a #b#v 1202124 # #z 1202124 ##k?\r\n\r\n#b#v 1202083 # #t 1202083 #\r\n\r\n#b#v 4031138 # #r100,000,000 #bMesos\r\n\r\n#b#v 3800453 ##r 5000 #b Friendship Points") + if sm.getFriendPoints() < 5000: + sm.sendSayOkay("You do not have enough #bFriendship Points#k.") + sm.dispose() + elif sm.getMesos() < 100000000: + sm.sendSayOkay("You do not have enough #bMesos#k.") + sm.dispose() + elif not sm.hasItem(1202083): + sm.sendSayOkay("You do not possess a #b#v 1202083 # #t 1202083 #.") + sm.dispose() + elif not sm.canHold(1202124): + sm.sendSayOkay("Make sure you have room in your inventory.") + sm.dispose() + else: + sm.deductFriendPoints(5000) + sm.deductMesos(100000000) + sm.consumeItem(1202083) + sm.giveItem(1202124) + sm.sendSayOkay("Thank you for your purchase!") + sm.dispose() + + if selection == 7: + selection = sm.sendAskYesNo("Do you wish to purchase a #b#v 1202089 # #z 1202089 ##k?\r\n\r\n#b#v 1202124 # #t 1202124 #\r\n\r\n#b#v 4031138 # #r100,000,000 #bMesos\r\n\r\n#b#v 3800453 ##r 6000 #b Friendship Points") + if sm.getFriendPoints() < 6000: + sm.sendSayOkay("You do not have enough #bFriendship Points#k.") + sm.dispose() + elif sm.getMesos() < 100000000: + sm.sendSayOkay("You do not have enough #bMesos#k.") + sm.dispose() + elif not sm.hasItem(1202124): + sm.sendSayOkay("You do not possess a #b#v 1202124 # #t 1202124 #.") + sm.dispose() + elif not sm.canHold(1202094): + sm.sendSayOkay("Make sure you have room in your inventory.") + sm.dispose() + else: + sm.deductFriendPoints(6000) + sm.deductMesos(100000000) + sm.consumeItem(1202124) + sm.giveItem(1202089) + sm.sendSayOkay("Thank you for your purchase!") + sm.dispose() + + if selection == 8: + selection = sm.sendAskYesNo("Do you wish to purchase a #b#v 1202090 # #z 1202090 ##k?\r\n\r\n#b#v 1202124 # #t 1202124 #\r\n\r\n#b#v 4031138 # #r100,000,000 #bMesos\r\n\r\n#b#v 3800453 ##r 6000 #b Friendship Points") + if sm.getFriendPoints() < 6000: + sm.sendSayOkay("You do not have enough #bFriendship Points#k.") + sm.dispose() + elif not sm.hasItem(1202124): + sm.sendSayOkay("You do not possess a #b#v 1202124 # #t 1202124 #.") + sm.dispose() + elif not sm.canHold(1202090): + sm.sendSayOkay("Make sure you have room in your inventory.") + sm.dispose() + else: + sm.deductFriendPoints(6000) + sm.deductMesos(100000000) + sm.consumeItem(1202124) + sm.giveItem(1202090) + sm.sendSayOkay("Thank you for your purchase!") + sm.dispose() + + if selection == 9: + selection = sm.sendAskYesNo("Do you wish to purchase a #b#v 1202091 # #z 1202091 ##k?\r\n\r\n#b#v 1202124 # #t 1202124 #\r\n\r\n#b#v 4031138 # #r100,000,000 #bMesos\r\n\r\n#b#v 3800453 ##r 6000 #b Friendship Points") + if sm.getFriendPoints() < 6000: + sm.sendSayOkay("You do not have enough #bFriendship Points#k.") + sm.dispose() + elif sm.getMesos() < 100000000: + sm.sendSayOkay("You do not have enough #bMesos#k.") + sm.dispose() + elif not sm.hasItem(1202124): + sm.sendSayOkay("You do not possess a #b#v 1202124 # #t 1202124 #.") + sm.dispose() + elif not sm.canHold(1202091): + sm.sendSayOkay("Make sure you have room in your inventory.") + sm.dispose() + else: + sm.deductFriendPoints(6000) + sm.deductMesos(100000000) + sm.consumeItem(1202124) + sm.giveItem(1202091) + sm.sendSayOkay("Thank you for your purchase!") + sm.dispose() + + if selection == 10: + selection = sm.sendAskYesNo("Do you wish to purchase a #b#v 1182162 # #z 1182162 ##k?\r\n\r\n#b#v 1202124 # #t 1202124 #\r\n\r\n#b#v 4031138 # #r100,000,000 #bMesos\r\n\r\n#b#v 3800453 ##r 6000 #b Friendship Points") + if sm.getFriendPoints() < 6000: + sm.sendSayOkay("You do not have enough #bFriendship Points#k.") + sm.dispose() + elif sm.getMesos() < 100000000: + sm.sendSayOkay("You do not have enough #bMesos#k.") + sm.dispose() + elif not sm.hasItem(1202124): + sm.sendSayOkay("You do not possess a #b#v 1202124 # #t 1202124 #.") + sm.dispose() + elif not sm.canHold(1182162): + sm.sendSayOkay("Make sure you have room in your inventory.") + sm.dispose() + else: + sm.deductFriendPoints(6000) + sm.consumeItem(1202124) + sm.deductMesos(100000000) + sm.giveItem(1182162) + sm.sendSayOkay("Thank you for your purchase!") + sm.dispose() + + if selection == 11: + selection = sm.sendAskYesNo("Do you wish to purchase a #b#v 1202094 # #z 1202094 ##k?\r\n\r\n#b#v 1202089 # #t 1202089 #\r\n\r\n#b#v 4031138 # #r250,000,000 #bMesos\r\n\r\n#b#v 3800453 ##r 30000 #b Friendship Points") + if sm.getFriendPoints() < 10000: + sm.sendSayOkay("You do not have enough #bFriendship Points#k.") + sm.dispose() + elif sm.getMesos() < 250000000: + sm.sendSayOkay("You do not have enough #bMesos#k.") + sm.dispose() + elif not sm.hasItem(1202089): + sm.sendSayOkay("You do not possess a #b#v 1202089 # #t 1202089 #.") + sm.dispose() + elif not sm.canHold(1202094): + sm.sendSayOkay("Make sure you have room in your inventory.") + sm.dispose() + else: + sm.deductFriendPoints(10000) + sm.consumeItem(1202089) + sm.deductMesos(250000000) + sm.giveItem(1202094) + sm.sendSayOkay("Thank you for your purchase!") + sm.dispose() + + if selection == 12: + selection = sm.sendAskYesNo("Do you wish to purchase a #b#v 1202095 # #z 1202095 ##k?\r\n\r\n#b#v 1202089 # #t 1202089 #\r\n\r\n#b#v 4031138 # #r250,000,000 #bMesos\r\n\r\n#b#v 3800453 ##r 30000 #b Friendship Points") + if sm.getFriendPoints() < 10000: + sm.sendSayOkay("You do not have enough #bFriendship Points#k.") + sm.dispose() + elif sm.getMesos() < 250000000: + sm.sendSayOkay("You do not have enough #bMesos#k.") + sm.dispose() + elif not sm.hasItem(1202089): + sm.sendSayOkay("You do not possess a #b#v 1202089 # #t 1202089 #.") + sm.dispose() + elif not sm.canHold(1202095): + sm.sendSayOkay("Make sure you have room in your inventory.") + sm.dispose() + else: + sm.deductFriendPoints(10000) + sm.consumeItem(1202089) + sm.deductMesos(250000000) + sm.giveItem(1202095) + sm.sendSayOkay("Thank you for your purchase!") + sm.dispose() + + if selection == 13: + selection = sm.sendAskYesNo("Do you wish to purchase a #b#v 1202096 # #z 1202096 ##k?\r\n\r\n#b#v 1202089 # #t 1202089 #\r\n\r\n#b#v 4031138 # #r250,000,000 #bMesos\r\n\r\n#b#v 3800453 ##r 30000 #b Friendship Points") + if sm.getFriendPoints() < 10000: + sm.sendSayOkay("You do not have enough #bFriendship Points#k.") + sm.dispose() + elif sm.getMesos() < 250000000: + sm.sendSayOkay("You do not have enough #bMesos#k.") + sm.dispose() + elif not sm.hasItem(1202089): + sm.sendSayOkay("You do not possess a #b#v 1202089 # #t 1202089 #.") + sm.dispose() + elif not sm.canHold(1202096): + sm.sendSayOkay("Make sure you have room in your inventory.") + sm.dispose() + else: + sm.deductFriendPoints(10000) + sm.consumeItem(1202089) + sm.deductMesos(250000000) + sm.giveItem(1202096) + sm.sendSayOkay("Thank you for your purchase!") + sm.dispose() + + if selection == 14: + selection = sm.sendAskYesNo("Do you wish to purchase a #b#v 1202097 # #z 1202097 ##k?\r\n\r\n#b#v 1202089 # #t 1202089 #\r\n\r\n#b#v 4031138 # #r250,000,000 #bMesos\r\n\r\n#b#v 3800453 ##r 30000 #b Friendship Points") + if sm.getFriendPoints() < 10000: + sm.sendSayOkay("You do not have enough #bFriendship Points#k.") + sm.dispose() + elif sm.getMesos() < 250000000: + sm.sendSayOkay("You do not have enough #bMesos#k.") + sm.dispose() + elif not sm.hasItem(1202089): + sm.sendSayOkay("You do not possess a #b#v 1202089 # #t 1202089 #.") + sm.dispose() + elif not sm.canHold(1202097): + sm.sendSayOkay("Make sure you have room in your inventory.") + sm.dispose() + else: + sm.deductFriendPoints(10000) + sm.consumeItem(1202089) + sm.deductMesos(250000000) + sm.giveItem(1202097) + sm.sendSayOkay("Thank you for your purchase!") + sm.dispose() + + if selection == 15: + selection = sm.sendAskYesNo("Do you wish to purchase a #b#v 1202050 # #z 1202050 ##k?\r\n\r\n#b#v 1202094 # #t 1202094 #\r\n\r\n#b#v 4031138 # #r250,000,000 #bMesos\r\n\r\n#b#v 3800453 ##r 15000 #b Friendship Points") + if sm.getFriendPoints() < 15000: + sm.sendSayOkay("You do not have enough #bFriendship Points#k.") + sm.dispose() + elif sm.getMesos() < 250000000: + sm.sendSayOkay("You do not have enough #bMesos#k.") + sm.dispose() + elif not sm.hasItem(1202094): + sm.sendSayOkay("You do not possess a #b#v 1202124 # #t 1202124 #.") + sm.dispose() + elif not sm.canHold(1202050): + sm.sendSayOkay("Make sure you have room in your inventory.") + sm.dispose() + else: + sm.deductFriendPoints(15000) + sm.consumeItem(1202094) + sm.giveItem(1202050) + sm.sendSayOkay("Thank you for your purchase!") + sm.dispose() + + if selection == 16: + selection = sm.sendAskYesNo("Do you wish to purchase a #b#v 1202054 # #z 1202054 ##k?\r\n\r\n#b#v 1202095 # #t 1202095 #\r\n\r\n#b#v 4031138 # #r250,000,000 #bMesos\r\n\r\n#b#v 3800453 ##r 15000 #b Friendship Points") + if sm.getFriendPoints() < 15000: + sm.sendSayOkay("You do not have enough #bFriendship Points#k.") + sm.dispose() + elif sm.getMesos() < 250000000: + sm.sendSayOkay("You do not have enough #bMesos#k.") + sm.dispose() + elif not sm.hasItem(1202095): + sm.sendSayOkay("You do not possess a #b#v 1202095 # #t 1202095 #.") + sm.dispose() + elif not sm.canHold(1202054): + sm.sendSayOkay("Make sure you have room in your inventory.") + sm.dispose() + else: + sm.deductFriendPoints(15000) + sm.consumeItem(1202095) + sm.deductMesos(250000000) + sm.giveItem(1202054) + sm.sendSayOkay("Thank you for your purchase!") + sm.dispose() + + if selection == 17: + selection = sm.sendAskYesNo("Do you wish to purchase a #b#v 1202058 # #z 1202058 ##k?\r\n\r\n#b#v 1202097 # #t 1202097 #\r\n\r\n#b#v 4031138 # #r250,000,000 #bMesos\r\n\r\n#b#v 3800453 ##r 15000 #b Friendship Points") + if sm.getFriendPoints() < 15000: + sm.sendSayOkay("You do not have enough #bFriendship Points#k.") + sm.dispose() + elif sm.getMesos() < 250000000: + sm.sendSayOkay("You do not have enough #bMesos#k.") + sm.dispose() + elif not sm.hasItem(1202097): + sm.sendSayOkay("You do not possess a #b#v 1202097 # #t 1202097 #.") + sm.dispose() + elif not sm.canHold(1202058): + sm.sendSayOkay("Make sure you have room in your inventory.") + sm.dispose() + else: + sm.deductFriendPoints(15000) + sm.consumeItem(1202097) + sm.deductMesos(250000000) + sm.giveItem(1202058) + sm.sendSayOkay("Thank you for your purchase!") + sm.dispose() + + if selection == 18: + selection = sm.sendAskYesNo("Do you wish to purchase a #b#v 1202062 # #z 1202062 ##k?\r\n\r\n#b#v 1202096 # #t 1202096 #\r\n\r\n#b#v 4031138 # #r250,000,000 #bMesos\r\n\r\n#b#v 3800453 ##r 15000 #b Friendship Points") + if sm.getFriendPoints() < 15000: + sm.sendSayOkay("You do not have enough #bFriendship Points#k.") + sm.dispose() + elif sm.getMesos() < 250000000: + sm.sendSayOkay("You do not have enough #bMesos#k.") + sm.dispose() + elif not sm.hasItem(1202096): + sm.sendSayOkay("You do not possess a #b#v 1202096 # #t 1202096 #.") + sm.dispose() + elif not sm.canHold(1202062): + sm.sendSayOkay("Make sure you have room in your inventory.") + sm.dispose() + else: + sm.deductFriendPoints(15000) + sm.consumeItem(1202096) + sm.deductMesos(250000000) + sm.giveItem(1202062) + sm.sendSayOkay("Thank you for your purchase!") + sm.dispose() + + if selection == 19: + selection = sm.sendAskYesNo("Do you wish to purchase a #b#v 1202236 # #z 1202236 ##k?\r\nMy prices are not cheap this is what I require.\r\n\r\n#b#v 4460005 # #t 4460005 #\r\n\r\n#b#v 1202062 # #t 1202062 #\r\n\r\n#b#v 1202058 # #t 1202058 #\r\n\r\n#b#v 1202054 # #t 1202054 #\r\n\r\n#b#v 1202050 # #t 1202050 #\r\n\r\n#b#v 4031138 # #r1,000,000,000 #bMesos\r\n\r\n#v 4031866 # #r10,000,000 #bNX\r\n\r\n#v 3800453 ##r 500000 #b Friendship Points") + if sm.getFriendPoints() < 500000: + sm.sendSayOkay("You do not have enough #bFriendship Points#k.") + sm.dispose() + elif sm.getMesos() < 1000000000: + sm.sendSayOkay("You do not have enough #bMesos#k.") + sm.dispose() + elif sm.getNX() < 10000000: + sm.sendSayOkay("You do not have enough #bNXs#k.") + sm.dispose() + elif not sm.hasItem(4460005): + sm.sendSayOkay("You do not possess a #b#v 1202062 # #t 1202062 #.") + sm.dispose() + elif not sm.hasItem(1202058): + sm.sendSayOkay("You do not possess a #b#v 1202058 # #t 1202058 #.") + sm.dispose() + elif not sm.hasItem(1202054): + sm.sendSayOkay("You do not possess a #b#v 1202054 # #t 1202054 #.") + sm.dispose() + elif not sm.hasItem(1202050): + sm.sendSayOkay("You do not possess a #b#v 1202050 # #t 1202050 #.") + sm.dispose() + elif not sm.hasItem(1202062): + sm.sendSayOkay("You do not possess a #b#v 1202050 # #t 1202050 #.") + sm.dispose() + elif not sm.canHold(1202236): + sm.sendSayOkay("Make sure you have room in your inventory.") + sm.dispose() + else: + sm.deductFriendPoints(500000) + sm.deductMesos(1000000000) + sm.deductNX(10000000) + sm.consumeItem(1202050) + sm.consumeItem(1202054) + sm.consumeItem(1202058) + sm.consumeItem(1202062) + sm.consumeItem(4460005) + sm.giveItem(1202236) + sm.sendSayOkay("Thank you for your purchase!") + sm.dispose() \ No newline at end of file diff --git a/scripts/npc/tourNotice.py b/scripts/npc/tourNotice.py new file mode 100755 index 0000000..f5ae8b4 --- /dev/null +++ b/scripts/npc/tourNotice.py @@ -0,0 +1,95 @@ +from net.swordie.ms.constants import TipConstants + +if sm.sendNext: + selection = sm.sendNext("Hello I'm the Information Board. What would you like to know?\r\n\r\nYou have been online for " + str(sm.getOnlineTimeInHours()) + "\r\n" + "#L0##rSeasonal Information\r\n" + "#L1#Seasonal Leaderboards\r\n" + "#L2#Server Tips\r\n" + "#L4##n#bItem Enhancement Costs\r\n" + "#L5#Superior Item Enhancement Costs\r\n" + "#L6#Special Item Information\r\n" + "#L7#Boss Information\r\n" + "#L8#Pierce Information\r\n" + "#L9#Acheivement Information\r\n") + if selection == 0: + + sm.sendSayOkay("#eSeason 1 will begin on June 1st 2020#n\r\n\r\nSeasons will occur in the same world doing this will prevent all wipes so the server will never have to wipe and the player can choose to continue playing their Non-Seasonal Characters without fear of it ever being wiped." + "\r\n\r\nSeasonal characters will have a different interaction with Non-Seasonal Characters to prevent gaining items and leeching from Non-Seasonal Characters.\r\n\r\n#eThis List Below Shows All Changed Interactions Between Seasonal and Non Seasonal.\r\n\r\n" + "\r\n\r\n#bYou will not be able to Trade with Non-Seasonal Characters.\r\n\r\nYou will not see items dropped by Non-Seasonal Characters.\r\n\r\nYou will not be able to loot items from monsters that Non-Seasonal Characters have killed.\r\n\r\nYou will only be allowed to trade NX Equips with Non-Seasonal Characters.\r\n\r\n" + "You will not have a shared storage or cash shop inventory with your Non-Seasonal Characters.\r\n\r\nYou will not be able to join parties of Non-Seasonal Characters.\r\n\r\n" + "You will gain items at the end of the season for Beating the game I.E. Completing CWKPQ.\r\n\r\nAt the end of the season your Characters will become Non-Seasonal Characters thus making it able to interact with other Non-Seasonal characters.\r\n\r\n" + "You will have a icon next to your name in chat indicating you are a Seasonal Character.\r\n\r\nCannot Use link skills from Non-Seasonal Characters on your account.\r\n\r\nYou may choose to make your characters Seasonal or Non-Seasonal in the character creation when making new characters.\r\n\r\n" + "Seasonal Characters will not be able to enter CWKPQ with Non-Seasonal Character parties.\r\n\r\nSeasonal Characters will not share the same Achievements and Pierce stats as their Non-Seasonal Characters.\r\n\r\n" + "The only things you may use from your Non-Seasonal Characters are as follows. Donation Points, Vote Points and NX Equips.") + sm.dispose() + + if selection == 1: + + sm.sendSayOkay("#eSeasonal Leaderboards will begin on June 1st 2020.") + sm.dispose() + + if selection == 2: + # tip = "" + # # prefix + # for tips in TipConstants.tips: + # tip_len = len(tips) + # if tip_len % 2 == 0: + # prefix = "#b" + # else: + # prefix = "" + # tip += prefix + tips + "#k\r\n\r\n" + # sm.sendSayOkay(str(tip)) + sm.sendSayOkay("Information to be added.") + sm.dispose() + + if selection == 3: + sm.sendSayOkay("Information to be added.") + sm.dispose() + + if selection == 4: + sm.sendSayOkay("Information to be added.") + sm.dispose() + + if selection == 5: + equipmentLevel = sm.sendAskNumber("Enter the Equipment's Level.", 1, 0, 255) + mesoCost = pow(equipmentLevel, 3.2394) + mesoCost = "{0:,.0f}".format(mesoCost) + sm.sendSay("Rank | Success % | Destruction % | Meso | NX\r\n\r\n" + " 1 | 50% | 0% | "+mesoCost+" | 1,170,000\r\n" + " 2 | 50% | 0% | "+mesoCost+" | 1,170,000\r\n" + " 3 | 45% | 0% | "+mesoCost+" | 1,170,000\r\n" + " 4 | 40% | 0% | "+mesoCost+" | 1,170,000\r\n" + " 5 | 40% | 0% | "+mesoCost+" | 1,170,000\r\n" + " 6 | 40% | 1.8% | "+mesoCost+" | 1,170,000\r\n" + " 7 | 40% | 3.0% | "+mesoCost+" | 1,170,000\r\n" + " 8 | 40% | 4.2% | "+mesoCost+" | 1,170,000\r\n" + " 9 | 40% | 6.0% | "+mesoCost+" | 1,170,000\r\n" + "10 | 37% | 9.5% | "+mesoCost+" | 1,170,000\r\n" + "11 | 35% | 13.0% | "+mesoCost+" | 1,170,000\r\n" + "12 | 35% | 16.2% | "+mesoCost+" | 1,170,000\r\n" + "13 | 3% | 48.5% | "+mesoCost+" | 1,170,000\r\n" + "14 | 2% | 49.0% | "+mesoCost+" | 1,170,000\r\n" + "15 | 1% | 50.0% | "+mesoCost+" | 1,170,000\r\n" + ) + sm.sendSayOkay("Information to be added.") + sm.dispose() + + if selection == 6: + + sm.sendSayOkay("Information to be added.") + sm.dispose() + + if selection == 7: + + sm.sendSayOkay("Information to be added.") + sm.dispose() + + if selection == 8: + + sm.sendSayOkay("Information to be added.") + sm.dispose() + + if selection == 9: + + sm.sendSayOkay("Information to be added.") + sm.dispose() diff --git a/scripts/npc/trademaster.py b/scripts/npc/trademaster.py new file mode 100755 index 0000000..43d84e4 --- /dev/null +++ b/scripts/npc/trademaster.py @@ -0,0 +1,53 @@ +# Created by MechAviv +# [Maestra Fiametta] | [9390220] +# Commerci Republic : San Commerci +from net.swordie.ms.enums import EventType + +names = ["Rosa (Ship level 1 Required) -", "Herb Town (Ship level 6 Required) -", "Rein Harbor (Ship level 12 Required) -", "Lith Harbor (Ship level 18 Required) -", "Dolce (Ship level 24 Required) -"] +runsADay = [15, 12, 10, 7, 5] +shipLevel = [1, 6, 12, 18, 24] +mapId = 865000000 + +if sm.getShipLevel() == 0: + response = sm.sendAskYesNo("Welcome to the #eSan Commerci: Trading Post#n\r\n\r\nI see this is your first time here so let me explain some things first. " + "By completing voyages you can earn #e#bCommerci Denaros#k#n Which you can spend by talking to #e#bJavert#k#n over on the right." + "\r\n\r\n#e#kWould you like to receive a Level #r1#k ship?") + if response: + sm.giveShipLevel(1) + sm.flipSpeaker() + sm.setPlayerAsSpeaker() + sm.sendSayOkay("#e#kCongragulations you have received a Level #r1#k ship.\r\n\r\n Talk to #bMaestra#k to begin your voyaging adventures.") + sm.dispose() +else: + say = "#eShip level: #r" + str(sm.getShipLevel()) + "#k\r\nShip EXP: #r" + str(sm.getShipExp()) + "/100#k\r\n\r\n#nAs you complete more voyages your ships EXP will increase unlocking more voyages that you can attempt.\r\n" + for x in range(len(names)): + say += "#L" + str(x) + "##b" + names[x] + " " + str(sm.getEventAmountDone(EventType.getByVal(40 + x))) + "/" + str(runsADay[x]) + " Attempted today""#l\r\n" + selection = sm.sendSay(say) + + if sm.getShipLevel() < (selection * 6): + sm.sendSayOkay("#eYour ship must be level #r" + str(selection * 6) + "#k to go on this voyage.") + sm.dispose() + if chr.getLevel() < 220: + sm.sendSayOkay("You must be level #b220#k to go on a voyage.") + sm.dispose() + if sm.getEventAmountDone(EventType.getByVal(40 + selection)) >= runsADay[selection]: + sm.sendSayOkay("You are currently on cooldown") + sm.dispose() + if sm.getParty() is not None: + sm.sendSayOkay("Please leave your party.") + sm.dispose() + + else: + sm.setDeathCount(3) + sm.setInstanceTime(60*10) + sm.addCoolDownInXays(EventType.getByVal(40 + selection), 1, 1) + if selection == 0: + sm.warpInstanceIn(865000200) + if selection == 1: + sm.warpInstanceIn(865000900) + if selection == 2: + sm.warpInstanceIn(865000300) + if selection == 3: + sm.warpInstanceIn(865000100) + if selection == 4: + sm.warpInstanceIn(865000400) \ No newline at end of file diff --git a/scripts/npc/undefined.py b/scripts/npc/undefined.py new file mode 100755 index 0000000..4ccae3c --- /dev/null +++ b/scripts/npc/undefined.py @@ -0,0 +1 @@ +sm.sendSayOkay("(Npc) Not coded. Admin was lazy and didn't fix this :). ID: " + str(parentID)) diff --git a/scripts/npc/unionRaid_IN.py b/scripts/npc/unionRaid_IN.py new file mode 100755 index 0000000..71db729 --- /dev/null +++ b/scripts/npc/unionRaid_IN.py @@ -0,0 +1,14 @@ +# +# @author PacketBakery +# @npc Dame Appropiation - Legion Manager +# + +from net.swordie.ms.enums import UIType + +if sm.sendAskYesNo("#r#eA duel with a dragon#n#k awaits you! Be careful, " + "he's a big'un.\r\nWould you like to #b#eenter the Legion Raid#n#k?"): + sm.createQuestWithQRValue(16014, "map=" + str(sm.getFieldID())) + sm.closeUI(UIType.UNION_BOARD) + sm.warp(921172000) +else: + sm.sendSayOkay("Talk to me after you've thought it over.") diff --git a/scripts/npc/unionRaid_OUT.py b/scripts/npc/unionRaid_OUT.py new file mode 100755 index 0000000..6d7622f --- /dev/null +++ b/scripts/npc/unionRaid_OUT.py @@ -0,0 +1,12 @@ +# Npc 9010108 Dame Appropriation +# Field 921172200 Legion Raid: Legion Raid Exit + +if sm.getUnionCoin() > 0: + coins = int(sm.getQRValue(18797, "PT")) + sm.getUnionCoin() + sm.sendSayOk("You already collected #b" + str(sm.getUnionCoin()) + " #k of #b#i4310229:##t4310229##k? That's impressive!\r\nI'll go ahead and update your #bWeekly Coin Rank#k!\r\n\r\n#bThis Week's Coin Total#k#e: " + str(coins) + "#n\r\n\r\nThen I'll send you back to where you came from. Bye!") + sm.giveItem(4310229, sm.getUnionCoin()) + sm.addUnionCoin(coins) +else: + sm.sendNext("Uh, it doesn't look like you've earned any Legion Coins. If you're having a tough time with raiding, just come back later. Your Legion members will continue the raid even after you've left.") + sm.sendSayOkay("I'll send you back to where you were. See you later.") +sm.warp(int(sm.getQRValue(16014, "map"))) \ No newline at end of file diff --git a/scripts/npc/unityPortal.py b/scripts/npc/unityPortal.py new file mode 100755 index 0000000..3732816 --- /dev/null +++ b/scripts/npc/unityPortal.py @@ -0,0 +1,9 @@ +from net.swordie.ms.enums import DimensionalPortalType + +current = sm.getFieldID() +response = sm.sendAskSlideMenu(0) +mapID = DimensionalPortalType.getByVal(response).getMapID() + +if mapID != 0 and sm.getFieldID() == current: + sm.setReturnField() + sm.warp(mapID) diff --git a/scripts/npc/unknown_shop.py b/scripts/npc/unknown_shop.py new file mode 100755 index 0000000..09740fb --- /dev/null +++ b/scripts/npc/unknown_shop.py @@ -0,0 +1 @@ +sm.sendSayOkay("This shop is empty! ID = " + str(parentID)) \ No newline at end of file diff --git a/scripts/npc/urusEnter.py b/scripts/npc/urusEnter.py new file mode 100755 index 0000000..db917bf --- /dev/null +++ b/scripts/npc/urusEnter.py @@ -0,0 +1,55 @@ +from net.swordie.ms.constants import BossConstants +from net.swordie.ms.enums import EventType + +# Mode, Required Level, Map ID, Death Count, Event Type, Cooldown, Hour String + +destinations = [ + ["Legendary", 230, 970072300, 20, EventType.Ursus, 259200000, 72], +] + +runsPerDay = 1 + +if sm.getFieldID() == 970072200: + def is_party_eligible(reqlevel, party): + for member in party.getMembers(): + if member.getLevel() < reqlevel: + return False + + return True + + dialog = "Do you want to head to '#bUrsus's Battleground#k' to fight \r\n#bUrsus#k?\r\n" + + for i in range(len(destinations)): + dialog += "#L%d##bGo to Ursus's Battleground (%s Mode) #r(Lv. %d+)#b#l\r\n" % (i, destinations[i][0], destinations[i][1]) + + dialog += "#L99#Never mind." + response = sm.sendSay(dialog) + + if not sm.canHold(4310199): + sm.sendSayOkay("You or someone in your party does not have room in their inventory for #bStigma Coins#k.") + sm.dispose() + + if sm.getParty() is None: + sm.sendSayOkay("Please create a party before going in.") + sm.dispose() + + elif not sm.isPartyLeader(): + sm.sendSayOkay("Please have your party leader talk to me if you wish to face #bUrsus#k.") + sm.dispose() + + elif sm.partyHasCoolDown(destinations[response][4], runsPerDay): + timeUntilReset = sm.getTimeUntilEventReset(destinations[response][4]) + sm.sendNext("You or one of your party member has already attempted facing \r\n#bUrsus#k within the past " + str(destinations[response][6]) + " Hours.\r\n You have " + timeUntilReset + " left on your cooldown.") + sm.dispose() + + elif sm.checkParty() and response != 99: + if is_party_eligible(destinations[response][1], sm.getParty()): + sm.setPartyDeathCount(destinations[response][3]) + sm.warpInstanceIn(destinations[response][2], True) + sm.setInstanceTime(BossConstants.URSUS_TIME, 970072200) + sm.addCooldownTimeForParty(destinations[response][4], destinations[response][5]) + else: + sm.sendSayOkay("One or more party members are lacking the prerequisite entry quests, or are below level #b%d#k." % destinations[response][1]) +else: + if sm.sendAskYesNo("Are you sure you want to leave the battlefield?"): + sm.WarpInstanceOut(970072200) \ No newline at end of file diff --git a/scripts/npc/urusReward.py b/scripts/npc/urusReward.py new file mode 100755 index 0000000..b5cfd76 --- /dev/null +++ b/scripts/npc/urusReward.py @@ -0,0 +1,60 @@ +from net.swordie.ms.enums import InvType +from net.swordie.ms.scripts import ScriptUtil as su; + +ursusEssenceId = 4009349 +ursusHatId = 1004597 +ursusSandalId = 1073090 +ursusGloveId = 1082666 + +if not sm.hasItem(ursusEssenceId): + sm.sendNext("You do not have a #b" + su.getItemImg(ursusEssenceId) + " " + su.getItemName(ursusEssenceId) + "#k") + sm.dispose() + +if not sm.canHold(1004598): + sm.sendNext("Please make sure you have room in your inventory first.") + sm.dispose() + +text = "The names #bJawad#k, what can I do for you?#b\r\n#L0# I want to upgrade my Ursus equip. #l\r\n" +text += "#L1# I want to get a Ursus equip. #l" + +selection = sm.sendNext(text) + +if selection == 0: + + itemsEligibleForUpgrade = eval(sm.getItemsEligibleForUrsusUpgrade()) + itemsEligibleForUpgrade.sort() + itemsIDs = [] + + for x in range(len(itemsEligibleForUpgrade)): + itemsIDs.append(sm.getItemIDByBagIndex(itemsEligibleForUpgrade[x], InvType.EQUIP)) + + if not itemsIDs: + sm.sendSayOkay("No equips to upgrade.") + sm.dispose() + + outPut = "Choose the equip you wish to upgrade:\r\n" + + for i in range(len(itemsIDs)): + outPut += su.addSelectItem(itemsEligibleForUpgrade[i]) + " " + su.getItemImg(itemsIDs[i]) + "\r\n" + + itemSelection = sm.sendNext(outPut) + sm.upgradeUrsusItem(itemSelection) + +elif selection == 1: + + text = "Which one would you like?\r\n#b#L0# I want a Ursus Hat. #l\r\n" + text += "#L1# I want a Ursus Glove. #l\r\n" + text += "#L2# I want a Ursus Slipper. #l" + + selection2 = sm.sendNext(text) + + if selection2 == 0: + sm.giveItem(ursusHatId) + + elif selection2 == 1: + sm.giveItem(ursusGloveId) + + elif selection2 == 2: + sm.giveItem(ursusSandalId) + +sm.consumeItem(ursusEssenceId) diff --git a/scripts/npc/victoria_taxi.py b/scripts/npc/victoria_taxi.py new file mode 100755 index 0000000..8fdc800 --- /dev/null +++ b/scripts/npc/victoria_taxi.py @@ -0,0 +1,6 @@ +maps = [104000000, 100000000, 103000000, 101000000, 102000000] + +selection = sm.sendNext("Where would you like to go? \r\n#L0#Lith Harbor#l\r\n#L1#Henesys#l\r\n#L2#Kerning City#l" + + "\r\n#L3#Ellinia#l\r\n#L4#Perion#l") + +sm.warp(maps[selection], 0) diff --git a/scripts/npc/viking_cannon1.py b/scripts/npc/viking_cannon1.py new file mode 100755 index 0000000..b745729 --- /dev/null +++ b/scripts/npc/viking_cannon1.py @@ -0,0 +1,52 @@ +# id 1302008 (Cannon), field 106030500 +sm.setSpeakerType(3) +sm.setParam(2) +res = sm.sendAskYesNo("Hop in the cannon to go to #m106030102#?") +sm.createQuestWithQRValue(1470, "on=1;exp=142712615") +sm.createQuestWithQRValue(1470, "on=1;exp=142713129") +sm.createQuestWithQRValue(1470, "on=1;exp=142713643") +sm.createQuestWithQRValue(1470, "on=1;exp=142714157") +sm.createQuestWithQRValue(1470, "on=1;exp=142714671") +sm.createQuestWithQRValue(1470, "on=1;exp=142715185") +sm.createQuestWithQRValue(1470, "on=1;exp=142715699") +sm.createQuestWithQRValue(1470, "on=1;exp=142716213") +sm.createQuestWithQRValue(1470, "on=1;exp=142716727") +sm.createQuestWithQRValue(1470, "on=1;exp=142717241") +sm.createQuestWithQRValue(1470, "on=1;exp=142717755") +sm.createQuestWithQRValue(1470, "on=1;exp=142718269") +sm.createQuestWithQRValue(1470, "on=1;exp=142718783") +sm.createQuestWithQRValue(1470, "on=1;exp=142719297") +sm.createQuestWithQRValue(1470, "on=1;exp=142719811") +sm.createQuestWithQRValue(1470, "on=1;exp=142720325") +sm.createQuestWithQRValue(1470, "on=1;exp=142720839") +sm.createQuestWithQRValue(1470, "on=1;exp=142721353") +sm.createQuestWithQRValue(1470, "on=1;exp=142721867") +sm.createQuestWithQRValue(1470, "on=1;exp=142722381") +sm.createQuestWithQRValue(1470, "on=1;exp=142722895") +sm.createQuestWithQRValue(1470, "on=1;exp=142723409") +sm.createQuestWithQRValue(1470, "on=1;exp=142723923") +sm.createQuestWithQRValue(1470, "on=1;exp=142724437") +sm.createQuestWithQRValue(1470, "on=1;exp=142724951") +sm.createQuestWithQRValue(1470, "on=1;exp=142725465") +sm.createQuestWithQRValue(1470, "on=1;exp=142725979") +sm.createQuestWithQRValue(1470, "on=1;exp=142726493") +sm.createQuestWithQRValue(1470, "on=1;exp=142727007") +sm.createQuestWithQRValue(1470, "on=1;exp=142727521") +sm.createQuestWithQRValue(1470, "on=1;exp=142728035") +sm.createQuestWithQRValue(1470, "on=1;exp=142728549") +sm.createQuestWithQRValue(1470, "on=1;exp=142729063") +sm.createQuestWithQRValue(1470, "on=1;exp=142729577") +sm.createQuestWithQRValue(1470, "on=1;exp=142730091") +sm.createQuestWithQRValue(1470, "on=1;exp=142730605") +sm.createQuestWithQRValue(1470, "on=1;exp=142731119") +sm.createQuestWithQRValue(1470, "on=1;exp=142731633") +sm.createQuestWithQRValue(1470, "on=1;exp=142732147") +sm.createQuestWithQRValue(1470, "on=1;exp=142732661") +sm.createQuestWithQRValue(1470, "on=1;exp=142733175") +sm.createQuestWithQRValue(1470, "on=1;exp=142733689") +sm.createQuestWithQRValue(1470, "on=1;exp=142734203") +sm.createQuestWithQRValue(1470, "on=1;exp=142734717") +sm.createQuestWithQRValue(1470, "on=1;exp=142735231") +sm.createQuestWithQRValue(1470, "on=1;exp=142735745") +sm.createQuestWithQRValue(1470, "on=1;exp=142736259") +sm.warp(106030302) diff --git a/scripts/npc/visitor_movenpc.py b/scripts/npc/visitor_movenpc.py new file mode 100755 index 0000000..1ff5130 --- /dev/null +++ b/scripts/npc/visitor_movenpc.py @@ -0,0 +1,31 @@ + +# Stage Items +items = [1032191, 1113038, 1122256] +rand = sm.getRandomIntBelow(len(items)) +random = sm.getRandomIntBelow(30) + +# Boss Items +items2 = [1003893, 1132230] +rand2 = sm.getRandomIntBelow(len(items)) +random2 = sm.getRandomIntBelow(200) + +if sm.hasMobsInField(sm.getFieldID()): + sm.chatRed("You must kill all the mobs in the map before proceeding") +else: + if sm.getFieldID() == 861000500: + sm.warpInstanceOut(861000000) + if random2 == 1: + item2 = items2[rand] + sm.giveItem(item2) + else: + if sm.isPartyLeader(): + sm.setInstanceTime(5*60) + sm.warp(sm.getFieldID() + 100) + if random == 1: + item = items[rand] + sm.giveItem(item) + else: + sm.warp(sm.getFieldID() + 100) + if random == 1: + item = items[rand] + sm.giveItem(item) \ No newline at end of file diff --git a/scripts/npc/wanted_premier.py b/scripts/npc/wanted_premier.py new file mode 100755 index 0000000..2673c72 --- /dev/null +++ b/scripts/npc/wanted_premier.py @@ -0,0 +1,12 @@ +# id 1302026 (Wanted), field 106030100 +sm.lockInGameUI(True, True) +sm.zoomCamera(1000, 4000, 800, 360, 270) +sm.sendDelay(1500) +sm.setSpeakerID(1302026) # Wanted +sm.setParam(57) +sm.setColor(1) +sm.sendNext("This is a wanted poster for that traitor the Prime Minister... Seems they haven't caught him yet.") +sm.zoomCamera(0, 1000, 2147483647, 2147483647, 2147483647) +sm.moveCamera(True, 0, 0, 0) +sm.startQuest(30050) +sm.lockInGameUI(False, True) diff --git a/scripts/npc/warrior4th_warp.py b/scripts/npc/warrior4th_warp.py new file mode 100755 index 0000000..10407b8 --- /dev/null +++ b/scripts/npc/warrior4th_warp.py @@ -0,0 +1,20 @@ +# Warrior 4th Job NPC Warp Script + +MANON_PREV_MAP = 240020400 +GRIFFEY_PREV_MAP = 240020100 +MANONS_DARK_FOREST = 924000200 +DARK_GRIFFEY_FOREST = 924000201 + + +sm.setSpeakerID(parentID) +sm.sendNext("Is it in you to become a hero? The only way to find out is for you to take action...") +if not sm.hasQuest(1451): + sm.dispose() + +selection = sm.sendNext("If you agree to take this test, I will send you to Manon and Girffey. Of course, if you are capable of visit Manon Forest or Griffey Forest on your own, plese feel free to do so. What would you like to do?\r\n\r\n#L0##bPlease send me to Manon Forest.\r\n#L1#Please send me to Griffey Forest.#l\r\n#L2#It's nothing. I will go there on my own.#l#n") +if selection == 0: + sm.sendNext("Would you like to go to Manon Forest? I will send you there. Come back if you can't find the other monster on your own.") + sm.warpInstanceIn(MANONS_DARK_FOREST, False) +elif selection == 1: + sm.sendNext("Would you like to go to Griffey Forest? I will send you there. Come back if you can't find the other monster on your own.") + sm.warpInstanceIn(DARK_GRIFFEY_FOREST, False) diff --git a/scripts/npc/watermelon_out.py b/scripts/npc/watermelon_out.py new file mode 100755 index 0000000..eacd74d --- /dev/null +++ b/scripts/npc/watermelon_out.py @@ -0,0 +1,177 @@ +import random +from net.swordie.ms.enums import InvType +from net.swordie.ms.loaders import ItemData +from net.swordie.ms.util import FileTime + +rlsPrice = 1000 +rlsId = 4000306 +damageSkinPrice = 500 +chairPrice = 100 +pvacHourlyPrice = 15 +pvacItemId = 4030003 +secondaryPendantPrice = 2000 +accSecondaryPendantPrice = 5000 +nameChangePrice = 1000 +errorMessage = "You do not have enough #bDonation Points#k or you do not have room in your inventory for this item." + +items = { #[itemid, price, expiration time] + 0 : [2434039, 5000, 0], + 1 : [2434038, 5000, 0], + 3 : [5360042, 3000, 0], + 4 : [5211122, 3000, 0], + 2 : [1122303, 1000, 0], + 5 : [1113171, 1000, 0], +} + +damageSkins = [2431966, 2432084, 2431967, 2432131, 2432153, 2432638, 2432659, 2432154, 2432637, 2432658, 2432207, 2432354, 2432355, 2432972, 2432465, 2432479, 2432526, 2432639, 2432660, 2432532, 2432592, 2432640, 2432661, 2432710, 2432836, 2432973, 2433063, 2433178, 2433456, 2435960, 2433715, 2433804, 5680343, 2433913, 2433980, 2433981, 2436229, 2434248, 2433362, 2434274, 2434289, 2434390, 2434391, 5680395, 2434528, 2434529, 2434530, 2433571, 2434574, 2433828, 2432804, 2434654, 2435326, 2432749, 2434710, 2433777, 2434824, 2434662, 2434664, 2434868, 2436041, 2436042, 2435046, 2435047, 2435836, 2435141, 2435179, 2435162, 2435157, 2435835, 2435159, 2436044, 2434663, 2435182, 2435850, 2435184, 2435222, 2435293, 2435313, 2435331, 2435332, 2435333, 2435334, 2435316, 2435408, 2435427, 2435428, 2435429, 2435456, 2435493, 2435331, 2435334, 2435959, 2435958, 2435431, 2435430, 2435432, 2435433, 2434601, 2435521, 2435523, 2435524, 2435538, 2435832, 2435833, 2435839, 2435840, 2435841, 2435849, 2435972, 2436023, 2436024, 2436026, 2436027, 2436028, 2436029, 2436045] + +if sm.sendNext: + selection = sm.sendNext("Hello my name is Agent W, This shop is where you can spend your #bDonation Points#k or exchange them for #i4000306# Red Packet(s). " + "\r\n\r\n#eYou have #r" + str(sm.getDonationPoints()) + " #bDonation points.\r\n#n#b" + "#L9##r#eI'd like to redeem my Donation key.#b#n\r\n" + "#L0#I'd like to exchange my Donation Points for a Red Packet(s).\r\n" + "#L1#I'd like to exchange my Red Packet(s) for Donation Points.\r\n" + "#L2#I'd like to purchase items.\r\n" + "#L3#I'd like to purchase a random damage skin.\r\n" + "#L4#I'd like to purchase a random chair.\r\n" + "#L5#I'd like to purchase a Pet Vac.\r\n" + "#L6#I'd like to purchase a permanent pendant slot (Character).\r\n" + "#L8#I'd like to purchase a permanent pendant slot (Account).\r\n" + "#L7#I'd like to purchase a name change.\r\n" + "#L10#I'd like to purchase a donor slot.\r\n") + if selection == 0: + amount = sm.sendAskNumber("A Red Packet costs #r(1000)#b Donation Points.\r\n" + "You currently have #e#r" + str(sm.getDonationPoints()) + " #bDonation points#n\r\n" + "How many would you like exchange1?", 1, 1, 100) + price = amount * rlsPrice + if sm.getDonationPoints() >= price and chr.canHold(rlsId, amount): + sm.deductDonationPoints(price) + sm.giveItem(rlsId, amount) + else: + sm.sendNext("You do not have enough #bDonation points#k or you do not have room in your inventory for this item.") + + elif selection == 1: + amount = sm.sendAskNumber("A Red Packet costs #r(1000)#b Donation Points. \r\n" + "You currently have #r#e" + str(sm.getQuantityOfItem(rlsId)) + " #bRed Packets \r\n" + "#nHow many would you like exchange2?", 1, 1, 100) + if sm.getQuantityOfItem(rlsId) >= amount: + sm.addDonationPoints(rlsPrice * amount) + sm.consumeItem(rlsId, amount); + else: + sm.sendNext("You do not have enough Red Packets for this exchange.") + + elif selection == 2: + outPut = "You currently have #e#r" + str(sm.getDonationPoints()) + " #bDonation points#n\r\n" + "Which item would you like to purchase?" + for x in range (len(items)): + outPut += "#b" + su.addSelectItem(x) + su.getItemImg(items[x][0]) + " " + su.getItemName(items[x][0]) + " for #r" + str(items[x][1]) + " #bDonation Points" + "\r\n" + selection = sm.sendNext(outPut) + itemId = items[selection][0] + price = items[selection][1] + answer = sm.sendAskYesNo("Would you like to purchase " + " #b" + su.getItemName(itemId) + " #kfor #r" + str(price) + " #bDonation Points#k?") + if answer and sm.canHold(itemId) and sm.getDonationPoints() >= price: + sm.giveItem(itemId, 1, items[selection][2]) + sm.deductDonationPoints(price) + else: + sm.sendNext(errorMessage) + + elif selection == 3: + answer = sm.sendAskYesNo("Are you sure you want to exchange #r" + str(damageSkinPrice) + " #bDonation Points#k for a random damage skin?\r\n\r\n#ePlease note that this will give you a random damage skin from all existing damage skins in the current game version.\r\n\r\nFurthermore use damage skins wisely as they are not account wide they are only character bound.") + if answer and sm.canHold(damageSkins[0]) and sm.getDonationPoints() >= damageSkinPrice: + sm.giveItem(random.choice(damageSkins)) + sm.deductDonationPoints(damageSkinPrice) + else: + sm.sendNext(errorMessage) + + elif selection == 4: + answer = sm.sendAskYesNo("Are you sure you want to exchange #r" + str(chairPrice) + " #bDonation Points#k for a random chair?\r\n\r\n#ePlease note that this will give you a random chair from all existing chairs in the current game version.") + if answer and sm.canHold(3015609) and sm.getDonationPoints() >= chairPrice: #id is a random chair + chairId = random.randint(3010002, 3015609) + item = ItemData.getItemDeepCopy(chairId) + while item is None: #reroll item id until itemid exist since chairs ids are not consistent + chairId = random.randint(3010002, 3010695) + item = ItemData.getItemDeepCopy(chairId) + sm.giveItem(chairId) + sm.deductDonationPoints(chairPrice) + else: + sm.sendNext(errorMessage) + + elif selection == 5: + hours = sm.sendAskNumber("For every #r" + str(pvacHourlyPrice) + "#b Donation Points#k your #rPet Vac#k will gain #r1 #bHour.#k\r\n" + "You currently have #e#r" + str(sm.getDonationPoints()) + " #bDonation points#n\r\n" + "How many Hour(s) would you like your #rPet Vac#k to be?", 1, 1, 1000) + totalPrice = pvacHourlyPrice * hours + answer = sm.sendAskYesNo("Are you sure you want your #rPet Vac#k to last #r" + str(hours) + "#b Hour(s) #kfor #r" + str(totalPrice) + "#bDonation Points#k?") + if answer and sm.canHold(pvacItemId) and sm.getDonationPoints() >= totalPrice: #id is a random chair + sm.giveItem(pvacItemId, 1, hours) + sm.deductDonationPoints(totalPrice) + else: + sm.sendNext(errorMessage) + + elif selection == 6: + answer = sm.sendAskYesNo("Are you sure you want to purchase a permanent secondary pendant slot for #r" + str(secondaryPendantPrice) + "#bDonation Points#k.") + if answer and sm.getDonationPoints() >= secondaryPendantPrice: + if sm.setSecondaryPendantDate(FileTime.fromType(FileTime.Type.MAX_TIME)): + sm.deductDonationPoints(secondaryPendantPrice) + sm.sendSayOkay("Please re-log for your secondary pendant slot to take effect.") + else: + sm.sendSayOkay("You already own a secondary pendant slot") + else: + sm.sendNext("You do not have enough #bDonation Points#k.") + + elif selection == 7: + name = sm.sendAskText("#b#eWhat name would you like to change your character to?", "", 4, 13) + if sm.getDonationPoints() >= nameChangePrice: + if not sm.setName(name): + sm.sendSayOkay("You cannot use this name or this name is already in use.") + sm.dispose() + else: + sm.deductDonationPoints(nameChangePrice) + sm.sendSayOkay("Please re-log for your new name to take take effect.") + else: + sm.sendSayOkay("You do not have enough #bDonation Points#k.") + + elif selection == 8: + answer = sm.sendAskYesNo("Are you sure you want to purchase a permanent secondary pendant slot for #r" + str( + accSecondaryPendantPrice) + " #bDonation Points#k.") + if answer and sm.getDonationPoints() >= accSecondaryPendantPrice: + if sm.setAccSecondaryPendantDate(FileTime.fromType(FileTime.Type.MAX_TIME)): + sm.deductDonationPoints(accSecondaryPendantPrice) + sm.sendSayOkay("Please re-log for your secondary pendant slot to take effect.") + else: + sm.sendSayOkay("You already own a secondary pendant slot") + else: + sm.sendNext("You do not have enough #bDonation Points#k.") + + elif selection == 9: + dpkey = sm.sendAskText("Here you can redeem your key, if you donated through our site.\r\nPlease enter the key you received on e-mail:", "", 4, 81) + if sm.isDonationKeyExists(dpkey): + if sm.commitDonationKey(dpkey): + sm.sendSayOkay("Thank you! The key has been validated and redeemed.") + else: + sm.sendSayOkay("An error occured while attempting to redeem your donation points. Please contact an Administrator..") + else: + sm.sendSayOkay("This key does not exists.") + + elif selection == 10: + newlist = [] + itemID = [] + listitem = eval(sm.getItemsByInventory(InvType.EQUIP)) + listitem.sort() + for x in range(len(listitem)): + itemID.append(sm.getItemIDByBagIndex(listitem[x], InvType.EQUIP)) + newlist.append('\n#L'+str(listitem[x])+'##v'+str(itemID[x])+'#'+"#t"+str(itemID[x])+"#\r\n") + if not newlist: + sm.sendSayOkay("I was unable to find any equips in your equip inventory.") + sm.dispose() + selection = sm.sendNext(''.join(newlist)) + if sm.sendAskYesNo("This will cost " + str(sm.getDonorSlotCost(selection)) + " donor points. Are you sure?"): + result = sm.doDonorSlot(selection) # DP Reduction and everything is handled in this function. + if result == -3: + sm.sendSayOkay("Your equip needs to not have any upgrade slots remaining.") + elif result == -2: + sm.sendSayOkay("Sorry. You do not have enough Donation Points.") + elif result == -1: + sm.sendSayOkay("The selected equip has already maxed out his available donor slots.") + else: + sm.sendSayOkay("Success! I have given the equip another slot to use. Enjoy!") \ No newline at end of file diff --git a/scripts/npc/wedding_enter.py b/scripts/npc/wedding_enter.py new file mode 100755 index 0000000..ed021e7 --- /dev/null +++ b/scripts/npc/wedding_enter.py @@ -0,0 +1,5 @@ +# id 9201594 (Nana K), field 101000000 +sm.setSpeakerType(3) +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(9201594) # Nana K +res = sm.sendNext("#e#n\r\nThe world is just bursting at the seams with love! And the best place to feel the love is right here in the #eNew Wedding Hall#k#n! You can choose from the #eHouse Wedding Hall, Las Vegas Wedding Hall, Japan Wedding Hall, or China Wedding Hall#k#n to move your ceremony there and experience the magic yourself!#k\r\n#b#L0# Go to #m620110000#.(#t5250500#)#l\r\n#b#L2# End conversation.#l") diff --git a/scripts/npc/welcome_ereb00.py b/scripts/npc/welcome_ereb00.py new file mode 100755 index 0000000..83e3333 --- /dev/null +++ b/scripts/npc/welcome_ereb00.py @@ -0,0 +1,6 @@ +# Kisha | Welcome to Ereve +KISHA = 1102105 +sm.setSpeakerID(KISHA) + +sm.sendSayOkay("Another new Cygnus Knight? Fortune smiles on us. " +"I am Kisha. I hope to see you progress into a fine knight.") \ No newline at end of file diff --git a/scripts/npc/welcome_ereb01.py b/scripts/npc/welcome_ereb01.py new file mode 100755 index 0000000..9eb298d --- /dev/null +++ b/scripts/npc/welcome_ereb01.py @@ -0,0 +1,5 @@ +# Kisha | Welcome to Ereve +KIDAN = 1102115 +sm.setSpeakerID(KIDAN) + +sm.sendSayOkay("You will need to train hard to be a servant of the Empress.") \ No newline at end of file diff --git a/scripts/npc/wendelinHeal.py b/scripts/npc/wendelinHeal.py new file mode 100755 index 0000000..09ad376 --- /dev/null +++ b/scripts/npc/wendelinHeal.py @@ -0,0 +1,8 @@ +WENDELLINE = 2151006 + +sm.setSpeakerID(WENDELLINE) +if sm.sendAskYesNo("Are you hurt? Allow me to treat you. Treatment is alway free for members of the Resistance."): + chr.heal(chr.getMaxHP()) + sm.sendSayOkay("There you go. You're fully healed.") +else: + sm.sendNext("So you don't need treatment?") \ No newline at end of file diff --git a/scripts/npc/will_enterGate.py b/scripts/npc/will_enterGate.py new file mode 100755 index 0000000..8401d8d --- /dev/null +++ b/scripts/npc/will_enterGate.py @@ -0,0 +1,44 @@ +# Will entry NPC (will_enterGate) + +# mode, req level, map, death count +destinations = [ + # actual map is -50, with some direction stuff + ["Normal", 210, 450008150, 10], + ["Hard", 235, 450008450, 10], +] +TIME = 30 * 60 # 30 minutes + +def is_party_eligible(reqlevel, party): + # TODO: check prequest + for member in party.getMembers(): + if member.getLevel() < reqlevel: + return False + + return True + +sm.flipSpeaker() +sm.flipDialoguePlayerAsSpeaker() +sm.setBoxChat() + +dialog = "Are you ready to head to the #bDiffraction Hall#k to fight Will?\r\n" + +for i in range(len(destinations)): + dialog += "#L%d#Go to the #bDiffraction Hall (%s Mode).#k (Lv. %d or above)#l\r\n" % (i, destinations[i][0], destinations[i][1]) + +dialog += "#L99#Never mind." +response = sm.sendSay(dialog) + +if sm.getParty() is None: + sm.sendSayOkay("Please create a party before going in.") + +elif not sm.isPartyLeader(): + sm.sendSayOkay("Please have your party leader talk to me if you wish to face Damien.") + +elif sm.checkParty() and response != 99: + if is_party_eligible(destinations[response][1], sm.getParty()): + sm.warpInstanceIn(destinations[response][2], True) + sm.setDeathCount(destinations[response][3]) + sm.setInstanceTime(TIME) + + else: + sm.sendSayOkay("One or more party members are lacking the prerequisite entry quests, or are below level %d." % destinations[response][1]) \ No newline at end of file diff --git a/scripts/npc/will_out.py b/scripts/npc/will_out.py new file mode 100755 index 0000000..63cbc56 --- /dev/null +++ b/scripts/npc/will_out.py @@ -0,0 +1,5 @@ + +response = sm.sendAskYesNo("Are you sure you want to leave? Your whole party will be ported out.") + +if response: + sm.warpInstanceOut(450007240) diff --git a/scripts/npc/witchMaladyGL.py b/scripts/npc/witchMaladyGL.py new file mode 100755 index 0000000..bbc782b --- /dev/null +++ b/scripts/npc/witchMaladyGL.py @@ -0,0 +1,3 @@ +# Witch Malady - Sleepywood + +sm.sendSayOkay("Get out of my face before I curse you and all your offspring!!") \ No newline at end of file diff --git a/scripts/npc/wizard4th_warp.py b/scripts/npc/wizard4th_warp.py new file mode 100755 index 0000000..905a2d3 --- /dev/null +++ b/scripts/npc/wizard4th_warp.py @@ -0,0 +1,20 @@ +# Magician 4th Job NPC Warp Script + +MANON_PREV_MAP = 240020400 +GRIFFEY_PREV_MAP = 240020100 +MANONS_DARK_FOREST = 924000200 +DARK_GRIFFEY_FOREST = 924000201 + + +sm.setSpeakerID(parentID) +sm.sendNext("Is it in you to become a hero? The only way to find out is for you to take action...") +if not sm.hasQuest(1453): + sm.dispose() + +selection = sm.sendNext("If you agree to take this test, I will send you to Manon and Girffey. Of course, if you are capable of visit Manon Forest or Griffey Forest on your own, plese feel free to do so. What would you like to do?\r\n\r\n#L0##bPlease send me to Manon Forest.\r\n#L1#Please send me to Griffey Forest.#l\r\n#L2#It's nothing. I will go there on my own.#l#n") +if selection == 0: + sm.sendNext("Would you like to go to Manon Forest? I will send you there. Come back if you can't find the other monster on your own.") + sm.warpInstanceIn(MANONS_DARK_FOREST, False) +elif selection == 1: + sm.sendNext("Would you like to go to Griffey Forest? I will send you there. Come back if you can't find the other monster on your own.") + sm.warpInstanceIn(DARK_GRIFFEY_FOREST, False) diff --git a/scripts/npc/world_trip.py b/scripts/npc/world_trip.py new file mode 100755 index 0000000..b62a60d --- /dev/null +++ b/scripts/npc/world_trip.py @@ -0,0 +1,8 @@ +# Spinel | World Tour Guide + +if sm.canHold(1452002): + sm.sendNext("You CAN hold an Equip.") +else: + sm.sendNext("You CANNOT hold an Equip.") + + diff --git a/scripts/npc/xmas_tree2.py b/scripts/npc/xmas_tree2.py new file mode 100755 index 0000000..5d5a966 --- /dev/null +++ b/scripts/npc/xmas_tree2.py @@ -0,0 +1,12 @@ +# Christmas Tree +# Happyville + +import random + +rand = [ +"I'm ornament to be with you! Haha~!", +"Put your big package under me!", +"Is Santa gonna come see me this year?" +] + +sm.sendSayOkay(random.choice(rand)) \ No newline at end of file diff --git a/scripts/npc/zakum_accept.py b/scripts/npc/zakum_accept.py new file mode 100755 index 0000000..e75766c --- /dev/null +++ b/scripts/npc/zakum_accept.py @@ -0,0 +1,57 @@ +from net.swordie.ms.constants import BossConstants +from net.swordie.ms.enums import EventType + +# Mode, Required Level, Map ID, Death Count, Event Type, Cooldown + +destinations = [ + ["Easy", 50, 280030200, 5, EventType.EasyZakum, 21600000], + ["Normal", 75, 280030100, 5, EventType.NormalZakum, 21600000], + ["Chaos", 120, 280030000, 5, EventType.ChaosZakum, 43200000], +] + +runsPerDay = 1 + +if sm.getFieldID() == 211042400: + def is_party_eligible(reqlevel, party): + for member in party.getMembers(): + if member.getLevel() < reqlevel: + return False + + return True + + sm.setSpeakerID(2030008) + + dialog = "Do you want to head to '#bZakum's Altar#k' to fight \r\n#bZakum#k?\r\n" + + for i in range(len(destinations)): + dialog += "#L%d##bGo to Zakum's Altar (%s Mode) #r(Lv. %d+)#b#l\r\n" % (i, destinations[i][0], destinations[i][1]) + + dialog += "#L99#Never mind." + response = sm.sendSay(dialog) + + if sm.getParty() is None: + sm.sendSayOkay("Please create a party before going in.") + sm.dispose() + + elif not sm.isPartyLeader(): + sm.sendSayOkay("Please have your party leader talk to me if you wish to face #bZakum#k.") + sm.dispose() + + elif sm.partyHasCoolDown(destinations[response][4], runsPerDay): + timeUntilReset = sm.getTimeUntilEventReset(destinations[response][4]) + sm.sendNext("You or one of your party member has already attempted facing #bZakum#k recently.\r\n\r\n You have #e#r" + timeUntilReset + "#n#k left on your cooldown.") + sm.dispose() + + elif not sm.hasItem(4001017): + sm.sendSayOkay("You do not possess a #b#v 4001017 # #z 4001017 ##k.") + sm.dispose() + + + elif sm.checkParty() and response != 99: + if is_party_eligible(destinations[response][1], sm.getParty()): + # sm.addCooldownTimeForParty(destinations[response][4], destinations[response][5]) + sm.warpInstanceIn(destinations[response][2], True) + sm.setPartyDeathCount(destinations[response][3]) + sm.setInstanceTime(BossConstants.ZAKUM_TIME_LIMIT) + else: + sm.sendSayOkay("One or more party members are lacking the prerequisite entry quests, or are below level #b%d#k." % destinations[response][1]) \ No newline at end of file diff --git a/scripts/portal/101020400_east00.py b/scripts/portal/101020400_east00.py new file mode 100755 index 0000000..1dbdbcd --- /dev/null +++ b/scripts/portal/101020400_east00.py @@ -0,0 +1,4 @@ +# 101020400 + +sm.warp(101020401, 10) +sm.dispose() diff --git a/scripts/portal/101020400_east01.py b/scripts/portal/101020400_east01.py new file mode 100755 index 0000000..f89155d --- /dev/null +++ b/scripts/portal/101020400_east01.py @@ -0,0 +1,3 @@ +# 101020400 +sm.warp(101020407, 7) +sm.dispose() diff --git a/scripts/portal/101030000_down.py b/scripts/portal/101030000_down.py new file mode 100755 index 0000000..6b925da --- /dev/null +++ b/scripts/portal/101030000_down.py @@ -0,0 +1,14 @@ +# Portal to enter Ellinel Fairy Academy + +FANZY = 1040002 # NPC ID +FAIRYNAPPERS = 32101 # QUEST ID +MIDSUMMER_NIGHTS_FOREST_PATH_TO_ELLINEL = 101074000 # MAP ID + +sm.setSpeakerID(FANZY) + +if sm.hasQuest(FAIRYNAPPERS) or sm.hasQuestCompleted(FAIRYNAPPERS): + response = sm.sendAskYesNo("Would you like to enter #b[Theme Dungeon: Ellinel Fairy Academy]#k?") + if response: + sm.warp(MIDSUMMER_NIGHTS_FOREST_PATH_TO_ELLINEL) +else: + sm.sendSayOkay("We still have a business to take care of, remember?\r\n\r\n#b(You must talk to Fanzy and complete his quests to enter.)#k") \ No newline at end of file diff --git a/scripts/portal/101050100_PT.py b/scripts/portal/101050100_PT.py new file mode 100755 index 0000000..ae55fb7 --- /dev/null +++ b/scripts/portal/101050100_PT.py @@ -0,0 +1,3 @@ +# 101050100 +sm.warp(101050000, 9) +sm.dispose() diff --git a/scripts/portal/101070000_up.py b/scripts/portal/101070000_up.py new file mode 100755 index 0000000..bc6ca3e --- /dev/null +++ b/scripts/portal/101070000_up.py @@ -0,0 +1,10 @@ +# Portal to leave Ellinel Fairy Academy + +FANZY = 1040002 # NPC ID +MIDSUMMER_NIGHTS_FOREST_PATH_FROM_ELLINEL = 101074001 # MAP ID + +sm.setSpeakerID(FANZY) + +response = sm.sendAskYesNo("Head back to #bNorth Forest: Giant Tree#k?") +if response: + sm.warp(MIDSUMMER_NIGHTS_FOREST_PATH_FROM_ELLINEL) \ No newline at end of file diff --git a/scripts/portal/101070100_east.py b/scripts/portal/101070100_east.py new file mode 100755 index 0000000..c459d73 --- /dev/null +++ b/scripts/portal/101070100_east.py @@ -0,0 +1,6 @@ +# Poral from Radiant Lake Path 1 to Ellinel Lake Shore +ACADEMIA = 32105 # QUEST ID +if sm.hasQuest(ACADEMIA) or sm.hasQuestCompleted(ACADEMIA): + sm.warp(101070010) +else: + sm.warp(101070000) \ No newline at end of file diff --git a/scripts/portal/101071000_west.py b/scripts/portal/101071000_west.py new file mode 100755 index 0000000..3b5bb54 --- /dev/null +++ b/scripts/portal/101071000_west.py @@ -0,0 +1,6 @@ +# Poral from Above the lake 1 to Ellinel Lake Shore +ACADEMIA = 32105 # QUEST ID +if sm.hasQuest(ACADEMIA) or sm.hasQuestCompleted(ACADEMIA): + sm.warp(101070010) +else: + sm.warp(101070000) \ No newline at end of file diff --git a/scripts/portal/101072000_east.py b/scripts/portal/101072000_east.py new file mode 100755 index 0000000..def19a5 --- /dev/null +++ b/scripts/portal/101072000_east.py @@ -0,0 +1,3 @@ +# Elliniel Academy Lobby portal to + +sm.warp(101072100) diff --git a/scripts/portal/103030100_in00.py b/scripts/portal/103030100_in00.py new file mode 100755 index 0000000..107be54 --- /dev/null +++ b/scripts/portal/103030100_in00.py @@ -0,0 +1,4 @@ +# 103030100 + +sm.chatRed("There seems to be a mysterious presence blocking you from entering.") +sm.dispose() diff --git a/scripts/portal/106030100_IP.py b/scripts/portal/106030100_IP.py new file mode 100755 index 0000000..974fa17 --- /dev/null +++ b/scripts/portal/106030100_IP.py @@ -0,0 +1,3 @@ +# 106030100 +sm.warp(106030000, 2) +sm.dispose() diff --git a/scripts/portal/106030200_out00.py b/scripts/portal/106030200_out00.py new file mode 100755 index 0000000..a0b4c9b --- /dev/null +++ b/scripts/portal/106030200_out00.py @@ -0,0 +1,3 @@ +# 106030200 +sm.warp(106030000, 1) +sm.dispose() diff --git a/scripts/portal/106030201_east00.py b/scripts/portal/106030201_east00.py new file mode 100755 index 0000000..f2293c3 --- /dev/null +++ b/scripts/portal/106030201_east00.py @@ -0,0 +1,3 @@ +# 106030201 +sm.warp(106030210, 1) +sm.dispose() diff --git a/scripts/portal/106030211_west00.py b/scripts/portal/106030211_west00.py new file mode 100755 index 0000000..274f58d --- /dev/null +++ b/scripts/portal/106030211_west00.py @@ -0,0 +1,3 @@ +# 310070230 +sm.warp(106030210, 2) +sm.dispose() diff --git a/scripts/portal/106030302_out00.py b/scripts/portal/106030302_out00.py new file mode 100755 index 0000000..8745190 --- /dev/null +++ b/scripts/portal/106030302_out00.py @@ -0,0 +1,3 @@ +# 106030302 +sm.warp(106030102, 1) +sm.dispose() diff --git a/scripts/portal/106030501_in00.py b/scripts/portal/106030501_in00.py new file mode 100755 index 0000000..f9bb99f --- /dev/null +++ b/scripts/portal/106030501_in00.py @@ -0,0 +1,3 @@ +# 106030501 +sm.warp(106030600, 2) +sm.dispose() diff --git a/scripts/portal/106030600_east00.py b/scripts/portal/106030600_east00.py new file mode 100755 index 0000000..06b9644 --- /dev/null +++ b/scripts/portal/106030600_east00.py @@ -0,0 +1,4 @@ +# 106030600 + +sm.warp(106030600, 3) +sm.dispose() diff --git a/scripts/portal/106031500_hide00.py b/scripts/portal/106031500_hide00.py new file mode 100755 index 0000000..c823789 --- /dev/null +++ b/scripts/portal/106031500_hide00.py @@ -0,0 +1,4 @@ +# id 1 (hide00), field 106031500 +sm.lockInGameUI(True, True) +sm.forcedInput(0) +sm.sendDelay(500) diff --git a/scripts/portal/106031502_hide01.py b/scripts/portal/106031502_hide01.py new file mode 100755 index 0000000..5d45f16 --- /dev/null +++ b/scripts/portal/106031502_hide01.py @@ -0,0 +1,4 @@ +# id 2 (hide01), field 106031502 +sm.lockInGameUI(True, True) +sm.forcedInput(0) +sm.sendDelay(500) diff --git a/scripts/portal/106031503_hide01.py b/scripts/portal/106031503_hide01.py new file mode 100755 index 0000000..f99a7e4 --- /dev/null +++ b/scripts/portal/106031503_hide01.py @@ -0,0 +1,4 @@ +# id 3 (hide01), field 106031503 +sm.lockInGameUI(True, True) +sm.forcedInput(0) +sm.sendDelay(500) diff --git a/scripts/portal/141060000_pt00.py b/scripts/portal/141060000_pt00.py new file mode 100755 index 0000000..6a21ca5 --- /dev/null +++ b/scripts/portal/141060000_pt00.py @@ -0,0 +1,9 @@ +# 141060000 +from net.swordie.ms.client.character.skills.temp import CharacterTemporaryStat + +sm.warp(141000000, 1) # Middle of Strait : Glacial Observatory + +# Ride Vehicle Check +if sm.getnOptionByCTS(CharacterTemporaryStat.RideVehicle) == 1930000: # Riena Skiff used in Riena Strait + sm.removeCTS(CharacterTemporaryStat.RideVehicle) + diff --git a/scripts/portal/141060000_pt01.py b/scripts/portal/141060000_pt01.py new file mode 100755 index 0000000..3cd7c02 --- /dev/null +++ b/scripts/portal/141060000_pt01.py @@ -0,0 +1,9 @@ +# 141060000 +from net.swordie.ms.client.character.skills.temp import CharacterTemporaryStat + +sm.warp(141010000, 0) # Middle of Strait : Ice Station 1 + +# Ride Vehicle Check +if sm.getnOptionByCTS(CharacterTemporaryStat.RideVehicle) == 1930000: # Riena Skiff used in Riena Strait + sm.removeCTS(CharacterTemporaryStat.RideVehicle) + diff --git a/scripts/portal/141060000_pt02.py b/scripts/portal/141060000_pt02.py new file mode 100755 index 0000000..c9e33a2 --- /dev/null +++ b/scripts/portal/141060000_pt02.py @@ -0,0 +1,10 @@ +# 141060000 +from net.swordie.ms.client.character.skills.temp import CharacterTemporaryStat + +sm.warp(141020000, 0) # Middle of Strait : Ice Station 2 + +# Ride Vehicle Check +if sm.getnOptionByCTS(CharacterTemporaryStat.RideVehicle) == 1930000: # Riena Skiff used in Riena Strait + sm.removeCTS(CharacterTemporaryStat.RideVehicle) + + diff --git a/scripts/portal/141060000_pt03.py b/scripts/portal/141060000_pt03.py new file mode 100755 index 0000000..9432a9c --- /dev/null +++ b/scripts/portal/141060000_pt03.py @@ -0,0 +1,10 @@ +# 141060000 +from net.swordie.ms.client.character.skills.temp import CharacterTemporaryStat + +sm.warp(141030000, 0) # Middle of Strait : Ice Station 3 + +# Ride Vehicle Check +if sm.getnOptionByCTS(CharacterTemporaryStat.RideVehicle) == 1930000: # Riena Skiff used in Riena Strait + sm.removeCTS(CharacterTemporaryStat.RideVehicle) + + diff --git a/scripts/portal/141060000_pt04.py b/scripts/portal/141060000_pt04.py new file mode 100755 index 0000000..e2a6a2f --- /dev/null +++ b/scripts/portal/141060000_pt04.py @@ -0,0 +1,9 @@ +# 141060000 +from net.swordie.ms.client.character.skills.temp import CharacterTemporaryStat + +sm.warp(141040000, 0) # Middle of Strait : Barbara's House + +# Ride Vehicle Check +if sm.getnOptionByCTS(CharacterTemporaryStat.RideVehicle) == 1930000: # Riena Skiff used in Riena Strait + sm.removeCTS(CharacterTemporaryStat.RideVehicle) + diff --git a/scripts/portal/141060000_pt05.py b/scripts/portal/141060000_pt05.py new file mode 100755 index 0000000..0347289 --- /dev/null +++ b/scripts/portal/141060000_pt05.py @@ -0,0 +1,10 @@ +# 141060000 +from net.swordie.ms.client.character.skills.temp import CharacterTemporaryStat + +sm.warp(141050000, 0) # Middle of Strait : Glacial Observatory + +# Ride Vehicle Check +if sm.getnOptionByCTS(CharacterTemporaryStat.RideVehicle) == 1930000: # Riena Skiff used in Riena Strait + sm.removeCTS(CharacterTemporaryStat.RideVehicle) + + diff --git a/scripts/portal/141060000_ptq1.py b/scripts/portal/141060000_ptq1.py new file mode 100755 index 0000000..efceec7 --- /dev/null +++ b/scripts/portal/141060000_ptq1.py @@ -0,0 +1,9 @@ +# 141060000 +from net.swordie.ms.client.character.skills.temp import CharacterTemporaryStat + +if sm.hasQuest(32170): + sm.warpInstanceIn(141010400, 0, False) # Nora's Cove + + # Ride Vehicle Check + if sm.getnOptionByCTS(CharacterTemporaryStat.RideVehicle) == 1930000: # Riena Skiff used in Riena Strait + sm.removeCTS(CharacterTemporaryStat.RideVehicle) \ No newline at end of file diff --git a/scripts/portal/1580_PCS01.py b/scripts/portal/1580_PCS01.py new file mode 100755 index 0000000..1a7b423 --- /dev/null +++ b/scripts/portal/1580_PCS01.py @@ -0,0 +1,14 @@ +# id 3 (pcs01), field 867201580 +sm.setSpeakerType(3) +sm.setParam(57) +sm.setColor(1) +sm.sendNext("#bPeytour said that the Grim Vale is actually a safe place to camp because of the tight terrain. ") +sm.setParam(37) +sm.setInnerOverrideSpeakerTemplateID(9400580) # Alika +sm.sendSay("#face0#Really...? ") +sm.sendSay("#face0#Oh wait, that does make sense. We seem to be clear for the moment, at least. ") +sm.setParam(57) +sm.sendSay("#bThat's right. ") +sm.setParam(37) +sm.sendSay("#face0#I suppose falling down here actually improved our situation. Ha, how funny. ") +sm.createQuestWithQRValue(64080, "chk1=0") diff --git a/scripts/portal/1580_PCS02.py b/scripts/portal/1580_PCS02.py new file mode 100755 index 0000000..1a4b5dd --- /dev/null +++ b/scripts/portal/1580_PCS02.py @@ -0,0 +1,2 @@ +# id 4 (pcs02), field 867201580 +sm.createQuestWithQRValue(64080, "chk1=0;chk2=1") diff --git a/scripts/portal/1580_PCS03.py b/scripts/portal/1580_PCS03.py new file mode 100755 index 0000000..b5d1d0b --- /dev/null +++ b/scripts/portal/1580_PCS03.py @@ -0,0 +1,2 @@ +# id 5 (pcs03), field 867201580 +sm.createQuestWithQRValue(64080, "chk1=0;chk2=1;chk3=1") diff --git a/scripts/portal/200020001_out00.py b/scripts/portal/200020001_out00.py new file mode 100755 index 0000000..420a249 --- /dev/null +++ b/scripts/portal/200020001_out00.py @@ -0,0 +1 @@ +sm.warpInstanceOut(200000000) \ No newline at end of file diff --git a/scripts/portal/240010102_out00.py b/scripts/portal/240010102_out00.py new file mode 100755 index 0000000..f84072c --- /dev/null +++ b/scripts/portal/240010102_out00.py @@ -0,0 +1,3 @@ +# 240010102 +sm.warp(240010101, 0) +sm.dispose() diff --git a/scripts/portal/240090000_mid.py b/scripts/portal/240090000_mid.py new file mode 100755 index 0000000..0a9ecc8 --- /dev/null +++ b/scripts/portal/240090000_mid.py @@ -0,0 +1,20 @@ +# 240090000 + +from net.swordie.ms.client.character.skills.temp import CharacterTemporaryStat + +KUPOS_RIDE = 1932165 +KUPO = 2210002 +TIME = 20 + +if sm.hasQuestCompleted(31339) or sm.hasQuest(31339): + sm.warpInstanceIn(240090800, 0) # Kupo's Ride The Road Up + sm.rideVehicle(KUPOS_RIDE) + sm.lockInGameUI(True, False) + sm.createStopWatch(TIME) + sm.setInstanceTime(TIME, 240091000, 2) + sm.invokeAfterDelay(TIME*999, "lockInGameUI", False) + sm.invokeAfterDelay(TIME*1000, "removeCTS", CharacterTemporaryStat.RideVehicle) +else: + sm.setSpeakerID(KUPO) + sm.sendSayOkay("Hey Hey Hey.. Where do you think you are going, buddy?\r\n" + "This path isn't meant for you. Sorry") \ No newline at end of file diff --git a/scripts/portal/240091000_west.py b/scripts/portal/240091000_west.py new file mode 100755 index 0000000..a9ed1fd --- /dev/null +++ b/scripts/portal/240091000_west.py @@ -0,0 +1,13 @@ +from net.swordie.ms.client.character.skills.temp import CharacterTemporaryStat + +KUPOS_RIDE = 1932165 +KUPO = 2210002 +TIME = 20 + +sm.warpInstanceIn(240090801, 0) # Kupo's Ride The Road Down +sm.rideVehicle(KUPOS_RIDE) +sm.lockInGameUI(True, False) +sm.createStopWatch(TIME) +sm.invokeAfterDelay(TIME*999, "lockInGameUI", False) +sm.invokeAfterDelay(TIME*1000, "removeCTS", CharacterTemporaryStat.RideVehicle) +sm.setInstanceTime(TIME, 240090000, 4) diff --git a/scripts/portal/240091300_south.py b/scripts/portal/240091300_south.py new file mode 100755 index 0000000..4283926 --- /dev/null +++ b/scripts/portal/240091300_south.py @@ -0,0 +1,9 @@ +CHRISTOPHER = 2210012 + +if sm.hasQuestCompleted(31351): # Clean up 7 + sm.warp(240091400, 1) +else: + sm.setSpeakerID(CHRISTOPHER) + sm.sendSayOkay("Oh Hey! No no no..\r\n" + "You don't want to go in there! That place is full of wasps and really strong ones too.. " + "It seems as if they are draining energy from the Mountain.\r\n") \ No newline at end of file diff --git a/scripts/portal/240091500_up.py b/scripts/portal/240091500_up.py new file mode 100755 index 0000000..607f309 --- /dev/null +++ b/scripts/portal/240091500_up.py @@ -0,0 +1,11 @@ +# 240091500 + +CHINO = 2210004 +TIME = 20 + +if sm.hasQuestCompleted(31342) or sm.hasQuest(31342): + sm.warpInstanceIn(240091600, 0) + sm.setInstanceTime(TIME, 240092000, 0) +else: + sm.setSpeakerID(CHINO) + sm.sendSayOkay("Where do you think you're going buddy? That lift is for me.\r\n\r\n#fs 18##eNO ONE ELSE!") \ No newline at end of file diff --git a/scripts/portal/240092000_down.py b/scripts/portal/240092000_down.py new file mode 100755 index 0000000..dfa8751 --- /dev/null +++ b/scripts/portal/240092000_down.py @@ -0,0 +1,5 @@ +# 223000000 +TIME = 20 + +sm.warpInstanceIn(240091601, 0) +sm.setInstanceTime(TIME, 240091500, 2) \ No newline at end of file diff --git a/scripts/portal/240092000_east.py b/scripts/portal/240092000_east.py new file mode 100755 index 0000000..8e8081b --- /dev/null +++ b/scripts/portal/240092000_east.py @@ -0,0 +1,6 @@ +if sm.hasQuestCompleted(31351): # Clean up 7 + sm.warp(240092100, 1) +elif sm.hasQuestCompleted(31348): + sm.warp(240092101, 1) +else: + sm.warp(240092100, 1) \ No newline at end of file diff --git a/scripts/portal/240092100_in.py b/scripts/portal/240092100_in.py new file mode 100755 index 0000000..1a8cace --- /dev/null +++ b/scripts/portal/240092100_in.py @@ -0,0 +1 @@ +sm.warp(240093000, 2) \ No newline at end of file diff --git a/scripts/portal/240092200_down.py b/scripts/portal/240092200_down.py new file mode 100755 index 0000000..c10f1be --- /dev/null +++ b/scripts/portal/240092200_down.py @@ -0,0 +1,6 @@ +if sm.hasQuestCompleted(31351): # Clean up 7 + sm.warp(240092100, 2) +elif sm.hasQuestCompleted(31348): + sm.warp(240092101, 2) +else: + sm.warp(240092100, 2) \ No newline at end of file diff --git a/scripts/portal/240092300_west.py b/scripts/portal/240092300_west.py new file mode 100755 index 0000000..4f930d2 --- /dev/null +++ b/scripts/portal/240092300_west.py @@ -0,0 +1,8 @@ +if sm.hasQuest(31348): # Colossal Clean Up 4 + sm.warpInstanceIn(924030000) # Hidden Street : Stone Colossus + +elif sm.hasQuestCompleted(31348): # Colossal Clean Up 4 + sm.warp(240092400) # Stone Colossus Torso 3 + +else: + sm.chat("This path is blocked by a mysterious presence.") \ No newline at end of file diff --git a/scripts/portal/240093000_out.py b/scripts/portal/240093000_out.py new file mode 100755 index 0000000..e832cf9 --- /dev/null +++ b/scripts/portal/240093000_out.py @@ -0,0 +1,6 @@ +if sm.hasQuestCompleted(31351): # Clean up 7 + sm.warp(240092100, 3) +elif sm.hasQuestCompleted(31348): + sm.warp(240092101, 3) +else: + sm.warp(240092100, 3) \ No newline at end of file diff --git a/scripts/portal/240093200_in.py b/scripts/portal/240093200_in.py new file mode 100755 index 0000000..284acf9 --- /dev/null +++ b/scripts/portal/240093200_in.py @@ -0,0 +1,5 @@ +if sm.checkParty(): + if sm.hasQuest(31351): # [Stone Colossus] Colossal Clean Up 7 + sm.warpInstanceIn(240093310, True) + elif sm.hasQuestCompleted(31351): + sm.warpInstanceIn(240093300, True) diff --git a/scripts/portal/240093300_out.py b/scripts/portal/240093300_out.py new file mode 100755 index 0000000..81b471c --- /dev/null +++ b/scripts/portal/240093300_out.py @@ -0,0 +1,2 @@ +if sm.checkParty(): + sm.warpInstanceOut(240093200) \ No newline at end of file diff --git a/scripts/portal/240093310_out.py b/scripts/portal/240093310_out.py new file mode 100755 index 0000000..81b471c --- /dev/null +++ b/scripts/portal/240093310_out.py @@ -0,0 +1,2 @@ +if sm.checkParty(): + sm.warpInstanceOut(240093200) \ No newline at end of file diff --git a/scripts/portal/260010601_out00.py b/scripts/portal/260010601_out00.py new file mode 100755 index 0000000..f1f8801 --- /dev/null +++ b/scripts/portal/260010601_out00.py @@ -0,0 +1,3 @@ +# 260010601 +sm.warp(260010600, 0) +sm.dispose() diff --git a/scripts/portal/301070010_out.py b/scripts/portal/301070010_out.py new file mode 100755 index 0000000..947b41b --- /dev/null +++ b/scripts/portal/301070010_out.py @@ -0,0 +1,5 @@ +# id 4 (out00), field 301070010 +sm.setSpeakerType(3) +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(2134012) # Ridley +res = sm.sendAskYesNo("You defeated Master Red Nirg. If you leave right now, you will need to defeat Master Red Nirg again to check the barrier. Are you going to leave?") diff --git a/scripts/portal/310_stop01.py b/scripts/portal/310_stop01.py new file mode 100755 index 0000000..4e92143 --- /dev/null +++ b/scripts/portal/310_stop01.py @@ -0,0 +1,2 @@ +# id 1 (stop01), field 867200310 +sm.createQuestWithQRValue(64015, "chk1=1;chk2=1;slaDir=0;chk3=1;chk4=0;chk5=0;chk6=0;chk7=0") diff --git a/scripts/portal/330_popup05.py b/scripts/portal/330_popup05.py new file mode 100755 index 0000000..7492b69 --- /dev/null +++ b/scripts/portal/330_popup05.py @@ -0,0 +1,2 @@ +# id 6 (popup05), field 867200330 +sm.playSound("Sound/PL_MONAD.img/EP1/ACT1/burning2", 128) diff --git a/scripts/portal/330_popup06.py b/scripts/portal/330_popup06.py new file mode 100755 index 0000000..d983051 --- /dev/null +++ b/scripts/portal/330_popup06.py @@ -0,0 +1,37 @@ +# id 7 (popup06), field 867200330 +sm.lockInGameUI(True, False) +sm.playSound("Sound/PL_MONAD.img/EP1/ACT1/burning3", 128) +sm.sendDelay(1000) +sm.speechBalloon(False, 0, 0, "#fs12##bI'll be there soon!", 2000, 1, 0, 0, 0, 4, 0, 4878499) +sm.forcedInput(3) +sm.sendDelay(300) +sm.sendDelay(500) +sm.forcedInput(0) +sm.sendDelay(500) +sm.sendDelay(2000) +sm.speechBalloon(False, 0, 0, "#fs12##bWhat?!", 2000, 1, 0, 0, 0, 4, 0, 4878499) +sm.sendDelay(1000) +sm.forcedInput(3) +sm.sendDelay(1500) +sm.sendDelay(100) +sm.forcedInput(6) +sm.sendDelay(100) +sm.forcedMove(False, 250) +sm.sendDelay(1650) +sm.playSound("Sound/PL_MONAD.img/EP1/ACT1/destroytower", 128) +sm.setMapTaggedObjectVisible("hideRope01", False, 0, 0) +sm.forcedInput(6) +sm.sendDelay(150) +sm.forcedMove(False, 150) +sm.sendDelay(900) +sm.forcedInput(6) +sm.sendDelay(150) +sm.forcedMove(False, 200) +sm.sendDelay(1500) +sm.sendDelay(300) +sm.forcedInput(0) +sm.forcedFlip(True) +sm.sendDelay(1000) +sm.sendDelay(3000) +sm.speechBalloon(True, 0, 0, "#fs12##bNo, there's no time. We have to get down fast!", 2000, 1, 0, 0, 0, 4, 0, 4878499) +sm.lockInGameUI(False, True) diff --git a/scripts/portal/330_popup07.py b/scripts/portal/330_popup07.py new file mode 100755 index 0000000..63dd218 --- /dev/null +++ b/scripts/portal/330_popup07.py @@ -0,0 +1,19 @@ +# id 8 (popup07), field 867200330 +sm.lockInGameUI(True, False) +sm.moveNpcByTemplateId(9400580, False, 150, 100) +sm.moveNpcByTemplateId(9400593, False, 150, 100) +sm.createQuestWithQRValue(64015, "chk1=1;chk2=1;slaDir=1;chk3=1;chk4=1;chk5=1;chk6=1;chk7=1;chk8=1") +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(9400580) # Alika +sm.sendNext("#face5#You made it! My hero! Let's get back down so I can thank you properly.") +sm.blind(True, 255, 0, 0, 0, 500) +sm.sendDelay(500) +sm.lockInGameUI(False, True) +sm.sendNext("#face5#Thank you. If it weren't for you, we would've... well, I'd really rather not think about that! ") +sm.playExclSoundWithDownBGM("Field.img/masteryBook/EnchantSuccess", 100) +sm.sendSay("#face0#I definitely owe you for your courage.") +sm.completeQuestNoCheck(64015) +sm.createQuestWithQRValue(64009, "money=0") +sm.warp(867200401) diff --git a/scripts/portal/3th_jobQuestMap.py b/scripts/portal/3th_jobQuestMap.py new file mode 100755 index 0000000..22c24da --- /dev/null +++ b/scripts/portal/3th_jobQuestMap.py @@ -0,0 +1,18 @@ +# 3rd job advancement portal for explorers +from net.swordie.ms.constants import JobConstants + +mapID = 0 +job = chr.getJob() +if JobConstants.isAdventurerWarrior(job): + mapID = 910540100 +elif JobConstants.isAdventurerMage(job): + mapID = 910540200 +elif JobConstants.isAdventurerArcher(job): + mapID = 910540300 +elif JobConstants.isAdventurerThief(job): + mapID = 910540400 +elif JobConstants.isAdventurerPirate(job): + mapID = 910540500 +if mapID != 0: + sm.warp(mapID, 0) +sm.dispose() diff --git a/scripts/portal/410000001_out00.py b/scripts/portal/410000001_out00.py new file mode 100755 index 0000000..32b60a5 --- /dev/null +++ b/scripts/portal/410000001_out00.py @@ -0,0 +1,2 @@ +# 410000001 +sm.warp(410000000, 5) diff --git a/scripts/portal/450001005_PS00.py b/scripts/portal/450001005_PS00.py new file mode 100755 index 0000000..acc836d --- /dev/null +++ b/scripts/portal/450001005_PS00.py @@ -0,0 +1,20 @@ +KIMA = 3003110 + +sm.setSpeakerID(KIMA) +if sm.hasQuestCompleted(34107) and (sm.hasQuestCompleted(34108) or sm.hasQuest(34108)): + sm.warp(450001105) + sm.dispose() +elif sm.hasQuestCompleted(34107): + sm.sendAskYesNo("...Steering this boat is one of the few things that I enjoy doing...") +elif sm.hasQuestCompleted(34106) and not sm.hasQuestCompleted(34107): + sm.sendSayOkay("Don't just enter my boat! Talk to me first...") + sm.dispose() +else: + sm.sendSayOkay("Sorry I don't remember how to row this boat. If only the #bTree of Memories#k was back to it's original state...") + sm.dispose() + +if sm.sendNext("...Alright, here we go..."): + sm.warpInstanceIn(450001310, 0) # left side of the map + sm.rideVehicle(1932393) + sm.progressMessageFont(3, 20, 20, 0, "Use the direction keys to steer the boat.") + sm.addPopUpSay(KIMA, 6000, "Cross this lake, and you'll arrive at a massive cliff. I don't know what's behind it.", "") \ No newline at end of file diff --git a/scripts/portal/450001007_PCS01.py b/scripts/portal/450001007_PCS01.py new file mode 100755 index 0000000..3019c14 --- /dev/null +++ b/scripts/portal/450001007_PCS01.py @@ -0,0 +1,6 @@ +from net.swordie.ms.client.character.skills.temp import CharacterTemporaryStat + +sm.warpInstanceOut(450001105, 0) +# Ride Vehicle Check +if sm.getnOptionByCTS(CharacterTemporaryStat.RideVehicle) == 1932393: # Paper Boat + sm.removeCTS(CharacterTemporaryStat.RideVehicle) \ No newline at end of file diff --git a/scripts/portal/450001100_PS00.py b/scripts/portal/450001100_PS00.py new file mode 100755 index 0000000..565e71c --- /dev/null +++ b/scripts/portal/450001100_PS00.py @@ -0,0 +1,4 @@ +if sm.hasQuestCompleted(34114): + sm.warp(450001200, 2) +else: + sm.chat("This path is blocked") \ No newline at end of file diff --git a/scripts/portal/450001105_PS00.py b/scripts/portal/450001105_PS00.py new file mode 100755 index 0000000..9f4d918 --- /dev/null +++ b/scripts/portal/450001105_PS00.py @@ -0,0 +1 @@ +sm.warp(450001005, 2) \ No newline at end of file diff --git a/scripts/portal/450001105_PS01.py b/scripts/portal/450001105_PS01.py new file mode 100755 index 0000000..ace276d --- /dev/null +++ b/scripts/portal/450001105_PS01.py @@ -0,0 +1 @@ +sm.warp(450001107, 1) \ No newline at end of file diff --git a/scripts/portal/450001107_PCS03.py b/scripts/portal/450001107_PCS03.py new file mode 100755 index 0000000..b748002 --- /dev/null +++ b/scripts/portal/450001107_PCS03.py @@ -0,0 +1,4 @@ +if sm.hasQuestCompleted(34108) and not sm.hasQuestCompleted(34109): + sm.warpInstanceIn(450001370, 0) +else: + sm.warp(450001100, 1) \ No newline at end of file diff --git a/scripts/portal/450001210_PS00.py b/scripts/portal/450001210_PS00.py new file mode 100755 index 0000000..55c249d --- /dev/null +++ b/scripts/portal/450001210_PS00.py @@ -0,0 +1,4 @@ +if sm.hasQuestCompleted(34116): + sm.warp(450001215, 1) +else: + sm.chat("I should probably ask Rino what to do.") \ No newline at end of file diff --git a/scripts/portal/450001215_PS00.py b/scripts/portal/450001215_PS00.py new file mode 100755 index 0000000..60dd487 --- /dev/null +++ b/scripts/portal/450001215_PS00.py @@ -0,0 +1,4 @@ +if sm.hasQuestCompleted(34117): + sm.warp(450001218, 1) +else: + sm.chat("I should probably ask Rino what to do.") \ No newline at end of file diff --git a/scripts/portal/450001218_PS00.py b/scripts/portal/450001218_PS00.py new file mode 100755 index 0000000..d7317b3 --- /dev/null +++ b/scripts/portal/450001218_PS00.py @@ -0,0 +1,6 @@ +if sm.hasQuestCompleted(34119): + sm.warp(450001219, 1) +elif sm.hasQuestCompleted(34118): + sm.warpInstanceIn(450001380, 0) +else: + sm.chat("I should probably ask Rino what to do.") \ No newline at end of file diff --git a/scripts/portal/450001219_PS00.py b/scripts/portal/450001219_PS00.py new file mode 100755 index 0000000..1ef20ae --- /dev/null +++ b/scripts/portal/450001219_PS00.py @@ -0,0 +1,2 @@ +if sm.hasQuestCompleted(34119): + sm.warp(450001230, 1) \ No newline at end of file diff --git a/scripts/portal/450001219_PS01.py b/scripts/portal/450001219_PS01.py new file mode 100755 index 0000000..86b2d98 --- /dev/null +++ b/scripts/portal/450001219_PS01.py @@ -0,0 +1,2 @@ +if sm.hasQuestCompleted(34119): + sm.warp(450001240, 1) \ No newline at end of file diff --git a/scripts/portal/450001240_PS00.py b/scripts/portal/450001240_PS00.py new file mode 100755 index 0000000..cf4092d --- /dev/null +++ b/scripts/portal/450001240_PS00.py @@ -0,0 +1 @@ +sm.warp(450001250, 1) \ No newline at end of file diff --git a/scripts/portal/450001250_PCS00.py b/scripts/portal/450001250_PCS00.py new file mode 100755 index 0000000..fb8b016 --- /dev/null +++ b/scripts/portal/450001250_PCS00.py @@ -0,0 +1,6 @@ +# id 2 (PCS00), field 450001250 +if sm.hasQuestCompleted(34120): + sm.warp(450002021, 1) +else: + sm.progressMessageFont(3, 20, 20, 0, "You must be Lv. 210 or higher to enter this area.") + sm.warp(450001250) diff --git a/scripts/portal/450001320_PCS00.py b/scripts/portal/450001320_PCS00.py new file mode 100755 index 0000000..311bdf6 --- /dev/null +++ b/scripts/portal/450001320_PCS00.py @@ -0,0 +1,3 @@ +# id 1 (PCS00), field 450001320 +sm.createQuestWithQRValue(34125, "310=2;320=2") +sm.warp(450001390) diff --git a/scripts/portal/450001350_PCS00.py b/scripts/portal/450001350_PCS00.py new file mode 100755 index 0000000..8457c82 --- /dev/null +++ b/scripts/portal/450001350_PCS00.py @@ -0,0 +1 @@ +sm.warpInstanceIn(450001360) \ No newline at end of file diff --git a/scripts/portal/807000000_honogi.py b/scripts/portal/807000000_honogi.py new file mode 100755 index 0000000..99ae949 --- /dev/null +++ b/scripts/portal/807000000_honogi.py @@ -0,0 +1,5 @@ +# Created by MechAviv +# Map ID :: 807000000 +# Momijigaoka : Momijigaoka + +sm.systemMessage("You cannot move right now.") \ No newline at end of file diff --git a/scripts/portal/865010200_pc00.py b/scripts/portal/865010200_pc00.py new file mode 100755 index 0000000..036e30e --- /dev/null +++ b/scripts/portal/865010200_pc00.py @@ -0,0 +1,4 @@ +# 865010200 +if sm.hasQuestCompleted(17612) and not sm.hasQuestCompleted(17613): + sm.startQuest(17613) # [Commerci Republic] The Minister's Son + sm.warpInstanceIn(865090001, 1) \ No newline at end of file diff --git a/scripts/portal/865020001_pc00.py b/scripts/portal/865020001_pc00.py new file mode 100755 index 0000000..d565300 --- /dev/null +++ b/scripts/portal/865020001_pc00.py @@ -0,0 +1,4 @@ +from net.swordie.ms.scripts import ScriptType + +sm.openNpc(9390223) # Crew Impostor +sm.dispose(ScriptType.Portal) diff --git a/scripts/portal/865020051_out00.py b/scripts/portal/865020051_out00.py new file mode 100755 index 0000000..66bf7e3 --- /dev/null +++ b/scripts/portal/865020051_out00.py @@ -0,0 +1,2 @@ +# 865020051 +sm.warpInstanceOut(865020300) # Canal 4 diff --git a/scripts/portal/910090305_out00.py b/scripts/portal/910090305_out00.py new file mode 100755 index 0000000..79a0fc8 --- /dev/null +++ b/scripts/portal/910090305_out00.py @@ -0,0 +1,2 @@ +# id 1 (out00), field 910090305 +sm.warp(100051010) diff --git a/scripts/portal/910090350_pcs00.py b/scripts/portal/910090350_pcs00.py new file mode 100755 index 0000000..10d2da3 --- /dev/null +++ b/scripts/portal/910090350_pcs00.py @@ -0,0 +1,3 @@ +# id 1 (pcs00), field 910090350 +sm.sm.getOffFieldEffectFromWz("hillah/fail") +sm.warp(100051043) diff --git a/scripts/portal/910090350_talk1.py b/scripts/portal/910090350_talk1.py new file mode 100755 index 0000000..1163db5 --- /dev/null +++ b/scripts/portal/910090350_talk1.py @@ -0,0 +1,2 @@ +# id 2 (910090350_talk1), field 910090350 +sm.createQuestWithQRValue(35927, "count=0;talk1=1;talk2=0") diff --git a/scripts/portal/910090350_talk2.py b/scripts/portal/910090350_talk2.py new file mode 100755 index 0000000..39028f0 --- /dev/null +++ b/scripts/portal/910090350_talk2.py @@ -0,0 +1,2 @@ +# id 3 (910090350_talk2), field 910090350 +sm.createQuestWithQRValue(35927, "count=0;talk1=1;talk2=1") diff --git a/scripts/portal/924000200_out00.py b/scripts/portal/924000200_out00.py new file mode 100755 index 0000000..dd71114 --- /dev/null +++ b/scripts/portal/924000200_out00.py @@ -0,0 +1,4 @@ +if sm.hasQuest(1451) or sm.hasQuest(1453) or sm.hasQuest(1455) or sm.hasQuest(1457) or sm.hasQuest(1459): + sm.warp(240010501) +else: + sm.warp(240020400) diff --git a/scripts/portal/924000201_out00.py b/scripts/portal/924000201_out00.py new file mode 100755 index 0000000..9de47d3 --- /dev/null +++ b/scripts/portal/924000201_out00.py @@ -0,0 +1,4 @@ +if sm.hasQuest(1451) or sm.hasQuest(1453) or sm.hasQuest(1455) or sm.hasQuest(1457) or sm.hasQuest(1459): + sm.warp(240010501) +else: + sm.warp(240010100) diff --git a/scripts/portal/940200040_east00.py b/scripts/portal/940200040_east00.py new file mode 100755 index 0000000..e0204d0 --- /dev/null +++ b/scripts/portal/940200040_east00.py @@ -0,0 +1,9 @@ +# Bad Signs is supposed to be completed on a thought bubble pop up after killing all the tigers but it isn't +if sm.hasMobsInField(): + sm.chatScript("You need to complete the quest first.") +else: + sm.flipDialoguePlayerAsSpeaker() + sm.sendNext("It's my fault. I should've kept a closer eye on you... Please be safe. I'm coming to save you!") + sm.giveExp(5000) + sm.completeQuest(38021) + sm.warp(940200050, 0) diff --git a/scripts/portal/940200500_west00.py b/scripts/portal/940200500_west00.py new file mode 100755 index 0000000..dcb0376 --- /dev/null +++ b/scripts/portal/940200500_west00.py @@ -0,0 +1,5 @@ +# 940200500_west00 +if sm.hasQuest(34600) or sm.hasQuestCompleted(34600): + sm.warp(940200501) +else: + sm.chat("Click the lightbulb above your head to start a quest.") \ No newline at end of file diff --git a/scripts/portal/970072200_west.py b/scripts/portal/970072200_west.py new file mode 100755 index 0000000..6f80850 --- /dev/null +++ b/scripts/portal/970072200_west.py @@ -0,0 +1 @@ +sm.warp(100000000) \ No newline at end of file diff --git a/scripts/portal/BPReturn_Akayrum.py b/scripts/portal/BPReturn_Akayrum.py new file mode 100755 index 0000000..1466a56 --- /dev/null +++ b/scripts/portal/BPReturn_Akayrum.py @@ -0,0 +1,3 @@ +# 272000000 +sm.warp(270000000, 6) +sm.dispose() diff --git a/scripts/portal/BPReturn_Hillah.py b/scripts/portal/BPReturn_Hillah.py new file mode 100755 index 0000000..395df03 --- /dev/null +++ b/scripts/portal/BPReturn_Hillah.py @@ -0,0 +1 @@ +sm.warp(262010000, 0) diff --git a/scripts/portal/BPReturn_Hon1.py b/scripts/portal/BPReturn_Hon1.py new file mode 100755 index 0000000..537143c --- /dev/null +++ b/scripts/portal/BPReturn_Hon1.py @@ -0,0 +1 @@ +sm.warp(240040700, 2) diff --git a/scripts/portal/BPReturn_Hontale.py b/scripts/portal/BPReturn_Hontale.py new file mode 100755 index 0000000..1512c82 --- /dev/null +++ b/scripts/portal/BPReturn_Hontale.py @@ -0,0 +1 @@ +sm.warp(240040600, 5) diff --git a/scripts/portal/BPReturn_Magnus.py b/scripts/portal/BPReturn_Magnus.py new file mode 100755 index 0000000..0e6e815 --- /dev/null +++ b/scripts/portal/BPReturn_Magnus.py @@ -0,0 +1,5 @@ +# 101020400 + +def init(): + sm.warp(401000000, 1) + sm.dispose() \ No newline at end of file diff --git a/scripts/portal/BPReturn_Magnus2.py b/scripts/portal/BPReturn_Magnus2.py new file mode 100755 index 0000000..5d99fb9 --- /dev/null +++ b/scripts/portal/BPReturn_Magnus2.py @@ -0,0 +1,3 @@ +# 401060000 +sm.warp(401053002, 2) +sm.dispose() diff --git a/scripts/portal/BPReturn_Vanleon.py b/scripts/portal/BPReturn_Vanleon.py new file mode 100755 index 0000000..72c33f7 --- /dev/null +++ b/scripts/portal/BPReturn_Vanleon.py @@ -0,0 +1,5 @@ +# Lion King's Castle +# Roof of the Fourth Tower +# Warps to fourth tower + +sm.warp(211060800, 8) \ No newline at end of file diff --git a/scripts/portal/BPReturn_Will.py b/scripts/portal/BPReturn_Will.py new file mode 100755 index 0000000..d37110e --- /dev/null +++ b/scripts/portal/BPReturn_Will.py @@ -0,0 +1,2 @@ +# pt01 in field 450007240 (Esfera : Radiant Throne) +sm.warp(450007230, 2) \ No newline at end of file diff --git a/scripts/portal/BPReturn_Zakum.py b/scripts/portal/BPReturn_Zakum.py new file mode 100755 index 0000000..a59577d --- /dev/null +++ b/scripts/portal/BPReturn_Zakum.py @@ -0,0 +1,11 @@ + +oldFieldID = sm.getReturnField() +if oldFieldID == 0 or oldFieldID == 211042300: + sm.chat("(Portal) Cannot find your previous map ID, warping to Henesys.") + map = 100000000 + portal = 0 +else: + map = oldFieldID + portal = 0 +sm.warp(map, portal) +sm.dispose() diff --git a/scripts/portal/CWPQ_Portal4.py b/scripts/portal/CWPQ_Portal4.py new file mode 100755 index 0000000..94ed7be --- /dev/null +++ b/scripts/portal/CWPQ_Portal4.py @@ -0,0 +1,3 @@ +# 930100400 +sm.warp(930100500, 0) +sm.dispose() diff --git a/scripts/portal/CWPQ_bonus_out.py b/scripts/portal/CWPQ_bonus_out.py new file mode 100755 index 0000000..61fb36e --- /dev/null +++ b/scripts/portal/CWPQ_bonus_out.py @@ -0,0 +1,3 @@ +# 930100500 +sm.warp(930100000, 0) +sm.dispose() diff --git a/scripts/portal/CWminiGame_enter.py b/scripts/portal/CWminiGame_enter.py new file mode 100755 index 0000000..6d5981b --- /dev/null +++ b/scripts/portal/CWminiGame_enter.py @@ -0,0 +1,4 @@ +# id 10 (miniGame), field 301000000 +sm.setSpeakerType(8) +sm.setParam(16) +sm.sendSayOkay("I don't have any reason to be here right now.") diff --git a/scripts/portal/CaravanP1_Goal.py b/scripts/portal/CaravanP1_Goal.py new file mode 100755 index 0000000..68ca1ea --- /dev/null +++ b/scripts/portal/CaravanP1_Goal.py @@ -0,0 +1,10 @@ +# id 17 (CaravanP1_Goal), field 867200500 +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(9400580) # Alika +sm.sendNext("#face2#Did you hear? We're almost to town! I'm so relieved... and I know I'm not the only one! ") +sm.playExclSoundWithDownBGM("Field.img/masteryBook/EnchantSuccess", 100) +sm.sendSay("#face1#I know this must have been hard for you, but you did great. Thanks for everything, #h0#.") +sm.completeQuestNoCheck(64033) +sm.warp(867200502) diff --git a/scripts/portal/CaravanP1_chk0.py b/scripts/portal/CaravanP1_chk0.py new file mode 100755 index 0000000..2c084bb --- /dev/null +++ b/scripts/portal/CaravanP1_chk0.py @@ -0,0 +1,4 @@ +# id 16 (CaravanP1_chk0), field 867200500 +sm.createQuestWithQRValue(64006, "WC=0;speed=20;man=200;prog=0;Pt=Caravan_chk0;Ec=0;weather=0;max=16;food=450") +sm.createQuestWithQRValue(64006, "WC=0;speed=20;man=200;prog=0;Pt=CaravanP1_chk0;Ec=0;weather=0;max=16;food=450") +sm.createQuestWithQRValue(64006, "WC=0;speed=20;man=200;prog=0;Pt=CaravanP1_chk0;Ec=1;weather=0;max=16;food=450") diff --git a/scripts/portal/CaravanP1_chk1.py b/scripts/portal/CaravanP1_chk1.py new file mode 100755 index 0000000..04d3cff --- /dev/null +++ b/scripts/portal/CaravanP1_chk1.py @@ -0,0 +1,37 @@ +# id 1 (CaravanP1_chk1), field 867200500 +sm.createQuestWithQRValue(64006, "WC=0;speed=20;man=200;prog=0;Pt=Caravan_chk1;Ec=1;weather=0;max=16;food=450") +sm.createQuestWithQRValue(64006, "WC=0;speed=20;man=200;prog=0;Pt=CaravanP1_chk1;Ec=1;weather=0;max=16;food=450") +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(9400581) # Butler +sm.sendNext("#face0#Chief. Since our knights are protecting the caravan, I will assume command here. ") +sm.sendSay("#face0#I will need you to provide directions to our destination, of course. ") +sm.setInnerOverrideSpeakerTemplateID(9400587) # Kan +sm.sendSay("#face0#No. My villagers form the majority of this group, so I will remain in charge. ") +sm.sendSay("#face0#Since you are unfamiliar with the land and the weather, Captain, it would be better if you focused on matters of defense. ") +sm.setInnerOverrideSpeakerTemplateID(9400581) # Butler +sm.sendSay("#face0#Chief, have you ever led this many people? ") +sm.setInnerOverrideSpeakerTemplateID(9400587) # Kan +sm.sendSay("#face0#Captain, have you ever lead your dispatch through a snowstorm like this?") +sm.setInnerOverrideSpeakerTemplateID(9400581) # Butler +sm.sendNext("#face0#The snowstorm is closing in. We have no time to waste.") +sm.sendSay("#face0#We should increase our pace, and leave the food to delay the monsters.") +sm.setInnerOverrideSpeakerTemplateID(9400587) # Kan +sm.sendSay("#face0#Are you mad? You want to throw away the food we worked so hard to gather?!") +sm.sendSay("#face0#We'll continue as we have, and send the knights and hunters to protect the caravan.") +sm.setInnerOverrideSpeakerTemplateID(9400581) # Butler +sm.sendSay("#face0#Weren't you just talking about how dangerous the snowstorm is?") +sm.setInnerOverrideSpeakerTemplateID(9400589) # Peytour +sm.sendSay("#face0#Kan... Vice Captain Butler... Please compose yourselves. If we're to survive this journey, we must work together without so much infighting.") +sm.setInnerOverrideSpeakerTemplateID(9400587) # Kan +sm.sendSay("#face0#If we give up our food, it will slow our people as hunger sets in.") +sm.setInnerOverrideSpeakerTemplateID(9400581) # Butler +sm.sendSay("#face0#Giving up the food will delay the monsters and give us more room to maneuver.") +sm.setInnerOverrideSpeakerTemplateID(9400589) # Peytour +sm.sendNext("#face0##h0#, it might be better not to take a side in this situation. ") +sm.sendSay("#face0#I hate to put this on you, but can you help us out? ") +sm.sendSay("#face0#I will leave our fate in your capable hands.") +sm.setParam(35) +sm.sendSay("Go to #m867200600#.") +sm.warp(867200600) diff --git a/scripts/portal/CaravanP1_chk10.py b/scripts/portal/CaravanP1_chk10.py new file mode 100755 index 0000000..5f8fea8 --- /dev/null +++ b/scripts/portal/CaravanP1_chk10.py @@ -0,0 +1,7 @@ +# id 10 (CaravanP1_chk10), field 867200500 +sm.createQuestWithQRValue(64006, "WC=4;k1=0;k2=0;speed=20;man=200;prog=0;Pt=CaravanP1_chk9;Ec=10;weather=1;max=16;food=240") +sm.createQuestWithQRValue(64006, "WC=5;k1=0;k2=0;speed=20;man=200;prog=0;Pt=CaravanP1_chk9;Ec=10;weather=1;max=16;food=240") +sm.createQuestWithQRValue(64006, "WC=5;k1=0;k2=0;speed=20;man=200;prog=0;Pt=Caravan_chk10;Ec=10;weather=1;max=16;food=240") +sm.createQuestWithQRValue(64006, "WC=5;k1=0;k2=0;speed=20;man=200;prog=0;Pt=CaravanP1_chk10;Ec=10;weather=1;max=16;food=240") +sm.createQuestWithQRValue(64006, "WC=5;k1=0;k2=0;speed=20;man=200;prog=0;Pt=CaravanP1_chk10;Ec=11;weather=1;max=16;food=240") +sm.createQuestWithQRValue(64007, "happy0=100;happy1=75;happy2=100;happy3=98;man0=56;man1=33;man2=38;man3=73") diff --git a/scripts/portal/CaravanP1_chk11.py b/scripts/portal/CaravanP1_chk11.py new file mode 100755 index 0000000..f7e2439 --- /dev/null +++ b/scripts/portal/CaravanP1_chk11.py @@ -0,0 +1,12 @@ +# id 11 (CaravanP1_chk11), field 867200500 +sm.createQuestWithQRValue(64006, "WC=5;k1=0;k2=0;speed=20;man=200;prog=0;Pt=Caravan_chk11;Ec=11;weather=1;max=16;food=240") +sm.createQuestWithQRValue(64006, "WC=5;k1=0;k2=0;speed=20;man=200;prog=0;Pt=CaravanP1_chk11;Ec=11;weather=1;max=16;food=240") +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(9400590) # Slaka +sm.sendNext("#face0#I'll give you a tip I've never given anyone else. If you encounter a yeti, always fight it up close. ") +sm.sendSay("#face0#Because of their thick fur and hide, ranged attacks won't do much good. It's a natural defense against archers like myself. ") +sm.sendSay("#face0#Remember that! ") +sm.createQuestWithQRValue(64006, "WC=5;k1=0;k2=0;speed=20;man=200;prog=0;Pt=CaravanP1_chk11;Ec=12;weather=1;max=16;food=240") +sm.createQuestWithQRValue(64007, "happy0=100;happy1=90;happy2=100;happy3=98;man0=56;man1=33;man2=38;man3=73") diff --git a/scripts/portal/CaravanP1_chk12.py b/scripts/portal/CaravanP1_chk12.py new file mode 100755 index 0000000..08abf0a --- /dev/null +++ b/scripts/portal/CaravanP1_chk12.py @@ -0,0 +1,7 @@ +# id 12 (CaravanP1_chk12), field 867200500 +sm.createQuestWithQRValue(64006, "WC=5;k1=0;k2=0;speed=20;man=200;prog=0;Pt=CaravanP1_chk11;Ec=12;weather=2;max=16;food=240") +sm.createQuestWithQRValue(64006, "WC=6;k1=0;k2=0;speed=20;man=200;prog=0;Pt=CaravanP1_chk11;Ec=12;weather=2;max=16;food=240") +sm.createQuestWithQRValue(64006, "WC=6;k1=0;k2=0;speed=20;man=200;prog=0;Pt=Caravan_chk12;Ec=12;weather=2;max=16;food=240") +sm.createQuestWithQRValue(64006, "WC=6;k1=0;k2=0;speed=20;man=200;prog=0;Pt=CaravanP1_chk12;Ec=12;weather=2;max=16;food=240") +sm.createQuestWithQRValue(64006, "WC=6;k1=0;k2=0;speed=20;man=200;prog=0;Pt=CaravanP1_chk12;Ec=13;weather=2;max=16;food=240") +sm.createQuestWithQRValue(64007, "happy0=100;happy1=90;happy2=100;happy3=100;man0=56;man1=33;man2=38;man3=73") diff --git a/scripts/portal/CaravanP1_chk13.py b/scripts/portal/CaravanP1_chk13.py new file mode 100755 index 0000000..40fbb13 --- /dev/null +++ b/scripts/portal/CaravanP1_chk13.py @@ -0,0 +1,16 @@ +# id 13 (CaravanP1_chk13), field 867200500 +sm.createQuestWithQRValue(64006, "WC=6;k1=0;k2=0;speed=20;man=200;prog=0;Pt=Caravan_chk13;Ec=13;weather=2;max=16;food=240") +sm.createQuestWithQRValue(64006, "WC=6;k1=0;k2=0;speed=20;man=200;prog=0;Pt=CaravanP1_chk13;Ec=13;weather=2;max=16;food=240") +sm.createQuestWithQRValue(64006, "WC=6;k1=0;k2=0;k3=1;speed=20;man=200;prog=0;Pt=CaravanP1_chk13;Ec=13;weather=2;max=16;food=240") +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(9400582) # Cayne +sm.sendNext("#face1#You're going hunting again? Splendid, I'll join you! My noble soul aches for the thrill of combat! ") +sm.sendSay("#face0#Gillie, I leave Alika in your capable hands. Protect her with your life! ") +sm.sendSay("#face0#I can't be away from Alika for too long, #h0#, so let's make quick work of these brutes! ") +sm.setParam(35) +sm.sendSay("Go to #m867200650#.") +sm.createQuestWithQRValue(64006, "WC=6;k1=0;k2=0;k3=0;speed=20;man=200;prog=0;Pt=CaravanP1_chk13;Ec=13;weather=2;max=16;food=240") +sm.createQuestWithQRValue(64007, "happy0=100;happy1=100;happy2=100;happy3=100;man0=56;man1=33;man2=38;man3=73") +sm.warp(867200650) diff --git a/scripts/portal/CaravanP1_chk14.py b/scripts/portal/CaravanP1_chk14.py new file mode 100755 index 0000000..fd17aa0 --- /dev/null +++ b/scripts/portal/CaravanP1_chk14.py @@ -0,0 +1,11 @@ +# id 14 (CaravanP1_chk14), field 867200500 +sm.createQuestWithQRValue(64006, "WC=6;k1=0;k2=0;k3=0;speed=20;man=200;prog=0;Pt=CaravanP1_chk13;Ec=14;weather=3;max=16;food=240") +sm.createQuestWithQRValue(64006, "WC=7;k1=0;k2=0;k3=0;speed=20;man=200;prog=0;Pt=CaravanP1_chk13;Ec=14;weather=3;max=16;food=240") +sm.createQuestWithQRValue(64006, "WC=7;k1=0;k2=0;k3=0;speed=20;man=200;prog=0;Pt=Caravan_chk14;Ec=14;weather=3;max=16;food=240") +sm.createQuestWithQRValue(64006, "WC=7;k1=0;k2=0;k3=0;speed=20;man=200;prog=0;Pt=CaravanP1_chk14;Ec=14;weather=3;max=16;food=240") +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(9400582) # Cayne +sm.sendNext("#face0#So... that's how you think of me. I will remember this! ") +sm.createQuestWithQRValue(64006, "WC=7;k1=0;k2=0;k3=0;speed=20;man=200;prog=0;Pt=CaravanP1_chk14;Ec=15;weather=3;max=16;food=240") diff --git a/scripts/portal/CaravanP1_chk15.py b/scripts/portal/CaravanP1_chk15.py new file mode 100755 index 0000000..0ac112e --- /dev/null +++ b/scripts/portal/CaravanP1_chk15.py @@ -0,0 +1,10 @@ +# id 15 (CaravanP1_chk15), field 867200500 +sm.createQuestWithQRValue(64006, "WC=7;k1=0;k2=0;k3=0;speed=20;man=200;prog=0;Pt=Caravan_chk15;Ec=15;weather=3;max=16;food=240") +sm.createQuestWithQRValue(64006, "WC=7;k1=0;k2=0;k3=0;speed=20;man=200;prog=0;Pt=CaravanP1_chk15;Ec=15;weather=3;max=16;food=240") +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(9400587) # Kan +sm.sendNext("#face0#Don't be ridiculous, #h0#. Every one of us owes you a debt we can never repay. ") +sm.sendSay("#face0#Everyone trusts you now. It... hurts me a little, I admit. They've put their faith in you, a newcomer, over me, their chief for years and years. But it's because you've proven yourself, and even I can agree with that. ") +sm.createQuestWithQRValue(64006, "WC=7;k1=0;k2=0;k3=0;speed=20;man=200;prog=0;Pt=CaravanP1_chk15;Ec=16;weather=3;max=16;food=240") diff --git a/scripts/portal/CaravanP1_chk2.py b/scripts/portal/CaravanP1_chk2.py new file mode 100755 index 0000000..babbe2e --- /dev/null +++ b/scripts/portal/CaravanP1_chk2.py @@ -0,0 +1,26 @@ +# id 2 (CaravanP1_chk2), field 867200500 +sm.createQuestWithQRValue(64006, "WC=0;speed=20;man=200;prog=0;Pt=CaravanP1_chk1;Ec=2;weather=1;max=16;food=450") +sm.createQuestWithQRValue(64006, "WC=1;speed=20;man=200;prog=0;Pt=CaravanP1_chk1;Ec=2;weather=1;max=16;food=450") +sm.createQuestWithQRValue(64006, "WC=1;speed=20;man=200;prog=0;Pt=Caravan_chk2;Ec=2;weather=1;max=16;food=450") +sm.createQuestWithQRValue(64006, "WC=1;speed=20;man=200;prog=0;Pt=CaravanP1_chk2;Ec=2;weather=1;max=16;food=450") +sm.createQuestWithQRValue(49000, "count=0;Quest=0;day=152843;QET=20190622191818;state=2") +sm.createQuestWithQRValue(49000, "count=0;Quest=0;day=152843;QET=20190622191818;state=1") +sm.createQuestWithQRValue(49000, "count=0;Quest=0;day=152843;QET=20190622201819;state=1") +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(9400581) # Butler +sm.sendNext("#face0#Asking for help is an important way to deal with a situation if you're not fully informed. ") +sm.sendSay("#face0#Janyt is an Afinas Devata with healing abilities. Call her for help. ") +sm.setInnerOverrideSpeakerTemplateID(9400584) # Janyt +sm.sendSay("#face0#Have no fear. The protection of Afinas is upon you. ") +sm.setParam(57) +sm.sendSay("#bThank you, Janyt. ") +sm.setParam(37) +sm.sendSay("#face0#I am but a humble servant who shares the the blessings I've received from Afinas. ") +sm.setParam(57) +sm.sendSay("#bBut to have such powers at such a young age. It's impressive. ") +sm.setParam(37) +sm.sendSay("#face0#All thanks to Afinas. ") +sm.createQuestWithQRValue(64006, "WC=1;speed=20;man=200;prog=0;Pt=CaravanP1_chk2;Ec=3;weather=1;max=16;food=450") +sm.createQuestWithQRValue(64007, "happy0=65;happy1=50;happy2=60;happy3=55;man0=56;man1=33;man2=38;man3=73") diff --git a/scripts/portal/CaravanP1_chk3.py b/scripts/portal/CaravanP1_chk3.py new file mode 100755 index 0000000..ef2f5c4 --- /dev/null +++ b/scripts/portal/CaravanP1_chk3.py @@ -0,0 +1,12 @@ +# id 3 (CaravanP1_chk3), field 867200500 +sm.createQuestWithQRValue(64006, "WC=1;speed=20;man=200;prog=0;Pt=Caravan_chk3;Ec=3;weather=1;max=16;food=450") +sm.createQuestWithQRValue(64006, "WC=1;speed=20;man=200;prog=0;Pt=CaravanP1_chk3;Ec=3;weather=1;max=16;food=450") +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(9400582) # Cayne +sm.sendNext("#face0#Indeed! Think about it... His mission was on the verge of failure, and his dispatch was left in shambles. Butler can hardly report back like this, right? ") +sm.sendSay("#face0#He probably feels like Abrup is a massive trap, with no way out. ") +sm.sendSay("#face0#And then all of a sudden, you show up. With how capable you've proved to be, he's got to be thinking about how to use you. ") +sm.sendSay("#face1#I'm not saying you should never trust him, of course. But you need to consider his motivations when making your decisions.") +sm.createQuestWithQRValue(64006, "WC=1;speed=20;man=200;prog=0;Pt=CaravanP1_chk3;Ec=4;weather=1;max=16;food=450") diff --git a/scripts/portal/CaravanP1_chk4.py b/scripts/portal/CaravanP1_chk4.py new file mode 100755 index 0000000..e7133c1 --- /dev/null +++ b/scripts/portal/CaravanP1_chk4.py @@ -0,0 +1,13 @@ +# id 4 (CaravanP1_chk4), field 867200500 +sm.createQuestWithQRValue(64006, "WC=1;speed=20;man=200;prog=0;Pt=CaravanP1_chk3;Ec=4;weather=2;max=16;food=450") +sm.createQuestWithQRValue(64006, "WC=2;speed=20;man=200;prog=0;Pt=CaravanP1_chk3;Ec=4;weather=2;max=16;food=450") +sm.createQuestWithQRValue(64006, "WC=2;speed=20;man=200;prog=0;Pt=Caravan_chk4;Ec=4;weather=2;max=16;food=450") +sm.createQuestWithQRValue(64006, "WC=2;speed=20;man=200;prog=0;Pt=CaravanP1_chk4;Ec=4;weather=2;max=16;food=450") +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(9400590) # Slaka +sm.sendNext("#face0#You make a pretty good leader, y'know? Better than Chief Kan or that arrogant Butler, anyway. ") +sm.sendSay("#face0#Yeah, you might just have what it takes. Just nosy enough...") +sm.createQuestWithQRValue(64006, "WC=2;speed=20;man=200;prog=0;Pt=CaravanP1_chk4;Ec=5;weather=2;max=16;food=450") +sm.createQuestWithQRValue(64007, "happy0=65;happy1=60;happy2=60;happy3=55;man0=56;man1=33;man2=38;man3=73") diff --git a/scripts/portal/CaravanP1_chk5.py b/scripts/portal/CaravanP1_chk5.py new file mode 100755 index 0000000..badcbb6 --- /dev/null +++ b/scripts/portal/CaravanP1_chk5.py @@ -0,0 +1,35 @@ +# id 5 (CaravanP1_chk5), field 867200500 +sm.createQuestWithQRValue(64006, "WC=2;speed=20;man=200;prog=0;Pt=Caravan_chk5;Ec=5;weather=2;max=16;food=450") +sm.createQuestWithQRValue(64006, "WC=2;speed=20;man=200;prog=0;Pt=CaravanP1_chk5;Ec=5;weather=2;max=16;food=450") +sm.createQuestWithQRValue(64006, "WC=2;k1=0;speed=20;man=200;prog=0;Pt=CaravanP1_chk5;Ec=5;weather=2;max=16;food=450") +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(9400587) # Kan +sm.sendNext("#face0#Good decision. ") +sm.sendSay("#face0#But remember that our food is limited, so not everyone can have his or her fill. ") +sm.setInnerOverrideSpeakerTemplateID(9400580) # Alika +sm.sendSay("#face0##h0#, are you distributing food? ") +sm.sendSay("#face0#If you would, please make sure the children and wounded get their portions first. They need all the help they can get. ") +sm.setInnerOverrideSpeakerTemplateID(9400587) # Kan +sm.sendSay("#face0#If you let your emotions decide for you, you may end up losing everyone's trust. ") +sm.sendSay("#face0#It is tradition in Kaptafel to allow our hunters to eat first, guaranteeing their strength to continue hunting. It's a tradition that has kept us alive through many harsh winters. ") +sm.setInnerOverrideSpeakerTemplateID(9400580) # Alika +sm.sendSay("#face0#Then, at least let the children eat first. They do not understand such things, and hunger hits them the hardest. ") +sm.setInnerOverrideSpeakerTemplateID(9400587) # Kan +sm.sendSay("#face0#...#h0#, the decision is yours. ") +sm.createQuestWithQRValue(64005, "FoodL=3") +sm.createQuestWithQRValue(64005, "FoodL=3;FoodM=2") +sm.createQuestWithQRValue(64005, "FoodL=3;FoodM=2;FoodS=0") +sm.createQuestWithQRValue(64005, "FoodL=3;FoodM=2;FoodS=0;FoodNone=1") +sm.createQuestWithQRValue(64007, "happy0=75;happy1=60;happy2=60;happy3=55;man0=56;man1=33;man2=38;man3=73") +sm.createQuestWithQRValue(64007, "happy0=75;happy1=70;happy2=60;happy3=55;man0=56;man1=33;man2=38;man3=73") +sm.createQuestWithQRValue(64007, "happy0=75;happy1=70;happy2=70;happy3=55;man0=56;man1=33;man2=38;man3=73") +sm.createQuestWithQRValue(64007, "happy0=75;happy1=70;happy2=70;happy3=65;man0=56;man1=33;man2=38;man3=73") +sm.sendNext("#face0#Good. We shall distribute the remaining food. ") +sm.sendSay("#face0#It seems that everyone is satisfied.") +sm.createQuestWithQRValue(64006, "WC=2;k1=0;speed=20;man=200;prog=0;Pt=CaravanP1_chk5;Ec=5;weather=2;max=16;food=250") +sm.createQuestWithQRValue(64007, "happy0=85;happy1=70;happy2=70;happy3=65;man0=56;man1=33;man2=38;man3=73") +sm.createQuestWithQRValue(64007, "happy0=85;happy1=70;happy2=90;happy3=65;man0=56;man1=33;man2=38;man3=73") +sm.createQuestWithQRValue(64007, "happy0=85;happy1=70;happy2=90;happy3=95;man0=56;man1=33;man2=38;man3=73") +sm.createQuestWithQRValue(64006, "WC=2;k1=0;speed=20;man=200;prog=0;Pt=CaravanP1_chk5;Ec=6;weather=2;max=16;food=250") diff --git a/scripts/portal/CaravanP1_chk6.py b/scripts/portal/CaravanP1_chk6.py new file mode 100755 index 0000000..2102e3a --- /dev/null +++ b/scripts/portal/CaravanP1_chk6.py @@ -0,0 +1,10 @@ +# id 6 (CaravanP1_chk6), field 867200500 +sm.createQuestWithQRValue(64006, "WC=2;k1=0;speed=20;man=200;prog=0;Pt=CaravanP1_chk5;Ec=6;weather=3;max=16;food=250") +sm.createQuestWithQRValue(64006, "WC=3;k1=0;speed=20;man=200;prog=0;Pt=CaravanP1_chk5;Ec=6;weather=3;max=16;food=250") +sm.createQuestWithQRValue(64006, "WC=3;k1=0;speed=20;man=200;prog=0;Pt=Caravan_chk6;Ec=6;weather=3;max=16;food=250") +sm.createQuestWithQRValue(64006, "WC=3;k1=0;speed=20;man=200;prog=0;Pt=CaravanP1_chk6;Ec=6;weather=3;max=16;food=250") +sm.setSpeakerType(3) +sm.setParam(35) +sm.setColor(1) +sm.sendNext("Go to #m867200621#.") +sm.warp(867200621) diff --git a/scripts/portal/CaravanP1_chk7.py b/scripts/portal/CaravanP1_chk7.py new file mode 100755 index 0000000..79d2fe8 --- /dev/null +++ b/scripts/portal/CaravanP1_chk7.py @@ -0,0 +1,11 @@ +# id 7 (CaravanP1_chk7), field 867200500 +sm.createQuestWithQRValue(64006, "WC=3;k1=0;speed=20;man=200;prog=0;Pt=Caravan_chk7;Ec=7;weather=3;max=16;food=240") +sm.createQuestWithQRValue(64006, "WC=3;k1=0;speed=20;man=200;prog=0;Pt=CaravanP1_chk7;Ec=7;weather=3;max=16;food=240") +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(9400589) # Peytour +sm.sendNext("#face0#So, you understand my concerns? Hahh... ") +sm.sendSay("#face0#Thank you. Everyone thinks I always side with Kan. Really, I just want to mediate between them and him. Though sometimes I wonder... should I be on his side? It's complicated. ") +sm.createQuestWithQRValue(64006, "WC=3;k1=0;speed=20;man=200;prog=0;Pt=CaravanP1_chk7;Ec=8;weather=3;max=16;food=240") +sm.createQuestWithQRValue(64007, "happy0=85;happy1=70;happy2=100;happy3=95;man0=56;man1=33;man2=38;man3=73") diff --git a/scripts/portal/CaravanP1_chk8.py b/scripts/portal/CaravanP1_chk8.py new file mode 100755 index 0000000..9b8f207 --- /dev/null +++ b/scripts/portal/CaravanP1_chk8.py @@ -0,0 +1,10 @@ +# id 8 (CaravanP1_chk8), field 867200500 +sm.createQuestWithQRValue(64006, "WC=3;k1=0;speed=20;man=200;prog=0;Pt=CaravanP1_chk7;Ec=8;weather=0;max=16;food=240") +sm.createQuestWithQRValue(64006, "WC=4;k1=0;speed=20;man=200;prog=0;Pt=CaravanP1_chk7;Ec=8;weather=0;max=16;food=240") +sm.createQuestWithQRValue(64006, "WC=4;k1=0;speed=20;man=200;prog=0;Pt=Caravan_chk8;Ec=8;weather=0;max=16;food=240") +sm.createQuestWithQRValue(64006, "WC=4;k1=0;speed=20;man=200;prog=0;Pt=CaravanP1_chk8;Ec=8;weather=0;max=16;food=240") +sm.setSpeakerType(3) +sm.setParam(35) +sm.setColor(1) +sm.sendNext("Go to #m867200622#.") +sm.warp(867200622) diff --git a/scripts/portal/CaravanP1_chk9.py b/scripts/portal/CaravanP1_chk9.py new file mode 100755 index 0000000..a7b2195 --- /dev/null +++ b/scripts/portal/CaravanP1_chk9.py @@ -0,0 +1,16 @@ +# id 9 (CaravanP1_chk9), field 867200500 +sm.createQuestWithQRValue(64006, "WC=4;k1=0;speed=20;man=200;prog=0;Pt=Caravan_chk9;Ec=9;weather=0;max=16;food=240") +sm.createQuestWithQRValue(64006, "WC=4;k1=0;speed=20;man=200;prog=0;Pt=CaravanP1_chk9;Ec=9;weather=0;max=16;food=240") +sm.createQuestWithQRValue(64006, "WC=4;k1=0;k2=1;speed=20;man=200;prog=0;Pt=CaravanP1_chk9;Ec=9;weather=0;max=16;food=240") +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(9400585) # Afinas Soldier +sm.sendNext("Oh, what a relief! I'm so glad you're with us. Let me just report to Vice Captain Butler first... ") +sm.setParam(35) +sm.sendSay("Go to #m867200630#.") +sm.createQuestWithQRValue(64006, "WC=4;k1=0;k2=0;speed=20;man=200;prog=0;Pt=CaravanP1_chk9;Ec=9;weather=0;max=16;food=240") +sm.createQuestWithQRValue(64007, "happy0=95;happy1=70;happy2=100;happy3=95;man0=56;man1=33;man2=38;man3=73") +sm.createQuestWithQRValue(64007, "happy0=95;happy1=75;happy2=100;happy3=95;man0=56;man1=33;man2=38;man3=73") +sm.createQuestWithQRValue(64007, "happy0=95;happy1=75;happy2=100;happy3=98;man0=56;man1=33;man2=38;man3=73") +sm.warp(867200630) diff --git a/scripts/portal/CaravanP2_Goal.py b/scripts/portal/CaravanP2_Goal.py new file mode 100755 index 0000000..ea6e858 --- /dev/null +++ b/scripts/portal/CaravanP2_Goal.py @@ -0,0 +1,10 @@ +# id 20 (CaravanP2_Goal), field 867200550 +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(9400583) # Gillie +sm.sendNext("#face0#We've been through a lot, but we finally made it. ") +sm.playExclSoundWithDownBGM("Field.img/masteryBook/EnchantSuccess", 100) +sm.sendSay("#face0#It's all thanks to Cayne! And #h0#, of course! ") +sm.completeQuestNoCheck(64041) +sm.warp(867200552) diff --git a/scripts/portal/CaravanP2_chk0.py b/scripts/portal/CaravanP2_chk0.py new file mode 100755 index 0000000..93a30b6 --- /dev/null +++ b/scripts/portal/CaravanP2_chk0.py @@ -0,0 +1,4 @@ +# id 21 (CaravanP2_chk0), field 867200550 +sm.createQuestWithQRValue(64006, "WC=0;k1=0;k2=0;k3=0;speed=20;man=199;prog=0;Pt=Caravan_chk0;Ec=0;max=20;weather=0;food=320") +sm.createQuestWithQRValue(64006, "WC=0;k1=0;k2=0;k3=0;speed=20;man=199;prog=0;Pt=CaravanP2_chk0;Ec=0;max=20;weather=0;food=320") +sm.createQuestWithQRValue(64006, "WC=0;k1=0;k2=0;k3=0;speed=20;man=199;prog=0;Pt=CaravanP2_chk0;Ec=1;max=20;weather=0;food=320") diff --git a/scripts/portal/CaravanP2_chk1.py b/scripts/portal/CaravanP2_chk1.py new file mode 100755 index 0000000..889b3dc --- /dev/null +++ b/scripts/portal/CaravanP2_chk1.py @@ -0,0 +1,12 @@ +# id 1 (CaravanP2_chk1), field 867200550 +sm.createQuestWithQRValue(64006, "WC=0;k1=0;k2=0;k3=0;speed=20;man=199;prog=0;Pt=Caravan_chk1;Ec=1;max=20;weather=0;food=320") +sm.createQuestWithQRValue(64006, "WC=0;k1=0;k2=0;k3=0;speed=20;man=199;prog=0;Pt=CaravanP2_chk1;Ec=1;max=20;weather=0;food=320") +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(9400581) # Butler +sm.sendNext("#face0#This is true, we can gather more. ") +sm.sendSay("#face0#But when will we have the time to hunt? And what if someone is injured? All of this could have been avoided. ") +sm.sendSay("#face0#I trust you will make wiser decisions in the future. ") +sm.createQuestWithQRValue(64006, "WC=0;k1=0;k2=0;k3=0;speed=20;man=199;prog=0;Pt=CaravanP2_chk1;Ec=2;max=20;weather=0;food=320") +sm.createQuestWithQRValue(64007, "happy0=95;happy1=100;happy2=100;happy3=100;man0=56;man1=32;man2=38;man3=73") diff --git a/scripts/portal/CaravanP2_chk10.py b/scripts/portal/CaravanP2_chk10.py new file mode 100755 index 0000000..dbb965c --- /dev/null +++ b/scripts/portal/CaravanP2_chk10.py @@ -0,0 +1,12 @@ +# id 10 (CaravanP2_chk10), field 867200550 +sm.createQuestWithQRValue(64006, "WC=4;k1=0;k2=0;k3=0;k5=0;speed=20;k6=0;k7=0;man=199;prog=0;Pt=CaravanP2_chk9;Ec=10;max=20;weather=1;food=329") +sm.createQuestWithQRValue(64006, "WC=5;k1=0;k2=0;k3=0;k5=0;speed=20;k6=0;k7=0;man=199;prog=0;Pt=CaravanP2_chk9;Ec=10;max=20;weather=1;food=329") +sm.createQuestWithQRValue(64006, "WC=5;k1=0;k2=0;k3=0;k5=0;speed=20;k6=0;k7=0;man=199;prog=0;Pt=Caravan_chk10;Ec=10;max=20;weather=1;food=329") +sm.createQuestWithQRValue(64006, "WC=5;k1=0;k2=0;k3=0;k5=0;speed=20;k6=0;k7=0;man=199;prog=0;Pt=CaravanP2_chk10;Ec=10;max=20;weather=1;food=329") +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(9400581) # Butler +sm.sendNext("#face0#Good to hear. Never forget that there are people who are depending on you for survival. ") +sm.sendSay("#face0#And remember, you have the full support of Afinas at your back. Assuming we can trust your judgment, of course.") +sm.createQuestWithQRValue(64006, "WC=5;k1=0;k2=0;k3=0;k5=0;speed=20;k6=0;k7=0;man=199;prog=0;Pt=CaravanP2_chk10;Ec=11;max=20;weather=1;food=329") diff --git a/scripts/portal/CaravanP2_chk11.py b/scripts/portal/CaravanP2_chk11.py new file mode 100755 index 0000000..771a8d0 --- /dev/null +++ b/scripts/portal/CaravanP2_chk11.py @@ -0,0 +1,12 @@ +# id 11 (CaravanP2_chk11), field 867200550 +sm.createQuestWithQRValue(64006, "WC=5;k1=0;k2=0;k3=0;k5=0;speed=20;k6=0;k7=0;man=199;prog=0;Pt=Caravan_chk11;Ec=11;max=20;weather=1;food=329") +sm.createQuestWithQRValue(64006, "WC=5;k1=0;k2=0;k3=0;k5=0;speed=20;k6=0;k7=0;man=199;prog=0;Pt=CaravanP2_chk11;Ec=11;max=20;weather=1;food=329") +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(9400580) # Alika +sm.sendNext("#face2#I'm happy to hear that. Having you with us has given us all so much hope. And it feels like we're all united in our goal to preserve Abrup!") +sm.sendSay("#face1#I'm sure we'll meet the lady who sent the letter soon. I'll help you find her. ") +sm.setInnerOverrideSpeakerTemplateID(9400582) # Cayne +sm.sendSay("#face1#I suppose I've been a good influence on you, eh? Eh? ") +sm.createQuestWithQRValue(64006, "WC=5;k1=0;k2=0;k3=0;k5=0;speed=20;k6=0;k7=0;man=199;prog=0;Pt=CaravanP2_chk11;Ec=12;max=20;weather=1;food=329") diff --git a/scripts/portal/CaravanP2_chk12.py b/scripts/portal/CaravanP2_chk12.py new file mode 100755 index 0000000..a1bcb79 --- /dev/null +++ b/scripts/portal/CaravanP2_chk12.py @@ -0,0 +1,17 @@ +# id 12 (CaravanP2_chk12), field 867200550 +sm.createQuestWithQRValue(64006, "WC=5;k1=0;k2=0;k3=0;k5=0;speed=20;k6=0;k7=0;man=199;prog=0;Pt=CaravanP2_chk11;Ec=12;max=20;weather=2;food=329") +sm.createQuestWithQRValue(64006, "WC=6;k1=0;k2=0;k3=0;k5=0;speed=20;k6=0;k7=0;man=199;prog=0;Pt=CaravanP2_chk11;Ec=12;max=20;weather=2;food=329") +sm.createQuestWithQRValue(64006, "WC=6;k1=0;k2=0;k3=0;k5=0;speed=20;k6=0;k7=0;man=199;prog=0;Pt=Caravan_chk12;Ec=12;max=20;weather=2;food=329") +sm.createQuestWithQRValue(64006, "WC=6;k1=0;k2=0;k3=0;k5=0;speed=20;k6=0;k7=0;man=199;prog=0;Pt=CaravanP2_chk12;Ec=12;max=20;weather=2;food=329") +sm.createQuestWithQRValue(64006, "WC=6;k1=0;k2=0;k3=0;k4=2;k5=0;speed=20;k6=0;k7=0;man=199;prog=0;Pt=CaravanP2_chk12;Ec=12;max=20;weather=2;food=329") +sm.setSpeakerType(3) +sm.setParam(35) +sm.setColor(1) +sm.sendNext("Go to #m867200980#.") +sm.createQuestWithQRValue(64006, "WC=6;k1=0;k2=0;k3=0;k4=0;k5=0;speed=20;k6=0;k7=0;man=199;prog=0;Pt=CaravanP2_chk12;Ec=12;max=20;weather=2;food=329") +sm.createQuestWithQRValue(64007, "happy0=100;happy1=100;happy2=100;happy3=100;man0=66;man1=32;man2=38;man3=73") +sm.createQuestWithQRValue(64007, "happy0=100;happy1=100;happy2=100;happy3=100;man0=66;man1=42;man2=38;man3=73") +sm.createQuestWithQRValue(64007, "happy0=100;happy1=100;happy2=100;happy3=100;man0=66;man1=42;man2=48;man3=73") +sm.createQuestWithQRValue(64007, "happy0=100;happy1=100;happy2=100;happy3=100;man0=66;man1=42;man2=48;man3=83") +sm.createQuestWithQRValue(64006, "WC=6;k1=0;k2=0;k3=0;k4=0;k5=0;speed=20;k6=0;k7=0;man=239;prog=0;Pt=CaravanP2_chk12;Ec=12;max=20;weather=2;food=329") +sm.warp(867200980) diff --git a/scripts/portal/CaravanP2_chk13.py b/scripts/portal/CaravanP2_chk13.py new file mode 100755 index 0000000..dc5595e --- /dev/null +++ b/scripts/portal/CaravanP2_chk13.py @@ -0,0 +1,9 @@ +# id 13 (CaravanP2_chk13), field 867200550 +sm.createQuestWithQRValue(64006, "WC=6;k1=0;k2=0;k3=0;k4=0;k5=0;speed=20;k6=0;k7=0;man=239;prog=0;Pt=Caravan_chk13;Ec=13;max=20;weather=2;food=329") +sm.createQuestWithQRValue(64006, "WC=6;k1=0;k2=0;k3=0;k4=0;k5=0;speed=20;k6=0;k7=0;man=239;prog=0;Pt=CaravanP2_chk13;Ec=13;max=20;weather=2;food=329") +sm.createQuestWithQRValue(64005, "FoodL=3;FoodM=1;FoodS=0;FoodNone=3") +sm.createQuestWithQRValue(64005, "FoodL=3;FoodM=2;FoodS=0;FoodNone=3") +sm.createQuestWithQRValue(64005, "FoodL=3;FoodM=2;FoodS=1;FoodNone=3") +sm.createQuestWithQRValue(64005, "FoodL=3;FoodM=2;FoodS=1;FoodNone=0") +sm.createQuestWithQRValue(64006, "WC=6;k1=0;k2=0;k3=0;k4=0;k5=0;speed=20;k6=0;k7=0;man=239;prog=0;Pt=CaravanP2_chk13;Ec=13;max=20;weather=2;food=90") +sm.createQuestWithQRValue(64006, "WC=6;k1=0;k2=0;k3=0;k4=0;k5=0;speed=20;k6=0;k7=0;man=239;prog=0;Pt=CaravanP2_chk13;Ec=14;max=20;weather=2;food=90") diff --git a/scripts/portal/CaravanP2_chk14.py b/scripts/portal/CaravanP2_chk14.py new file mode 100755 index 0000000..7cc5404 --- /dev/null +++ b/scripts/portal/CaravanP2_chk14.py @@ -0,0 +1,13 @@ +# id 14 (CaravanP2_chk14), field 867200550 +sm.createQuestWithQRValue(64006, "WC=6;k1=0;k2=0;k3=0;k4=0;k5=0;speed=20;k6=0;k7=0;man=239;prog=0;Pt=CaravanP2_chk13;Ec=14;max=20;weather=3;food=90") +sm.createQuestWithQRValue(64006, "WC=7;k1=0;k2=0;k3=0;k4=0;k5=0;speed=20;k6=0;k7=0;man=239;prog=0;Pt=CaravanP2_chk13;Ec=14;max=20;weather=3;food=90") +sm.createQuestWithQRValue(64006, "WC=7;k1=0;k2=0;k3=0;k4=0;k5=0;speed=20;k6=0;k7=0;man=239;prog=0;Pt=Caravan_chk14;Ec=14;max=20;weather=3;food=90") +sm.createQuestWithQRValue(64006, "WC=7;k1=0;k2=0;k3=0;k4=0;k5=0;speed=20;k6=0;k7=0;man=239;prog=0;Pt=CaravanP2_chk14;Ec=14;max=20;weather=3;food=90") +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(9400580) # Alika +sm.sendNext("#face4#We can always find more food, but we can't bring back lost lives. ") +sm.sendSay("#face0#I know you're looking out for all of the villagers. But please consider the lives of everyone we meet. ") +sm.createQuestWithQRValue(64006, "WC=7;k1=0;k2=0;k3=0;k4=0;k5=0;speed=20;k6=0;k7=0;man=239;prog=0;Pt=CaravanP2_chk14;Ec=15;max=20;weather=3;food=90") +sm.createQuestWithQRValue(64007, "happy0=100;happy1=100;happy2=80;happy3=100;man0=66;man1=42;man2=48;man3=83") diff --git a/scripts/portal/CaravanP2_chk15.py b/scripts/portal/CaravanP2_chk15.py new file mode 100755 index 0000000..71f198a --- /dev/null +++ b/scripts/portal/CaravanP2_chk15.py @@ -0,0 +1,8 @@ +# id 15 (CaravanP2_chk15), field 867200550 +sm.createQuestWithQRValue(64006, "WC=7;k1=0;k2=0;k3=0;k4=0;k5=0;speed=20;k6=0;k7=0;man=239;prog=0;Pt=Caravan_chk15;Ec=15;max=20;weather=3;food=90") +sm.createQuestWithQRValue(64006, "WC=7;k1=0;k2=0;k3=0;k4=0;k5=0;speed=20;k6=0;k7=0;man=239;prog=0;Pt=CaravanP2_chk15;Ec=15;max=20;weather=3;food=90") +sm.setSpeakerType(3) +sm.setParam(35) +sm.setColor(1) +sm.sendNext("Go to #m867200960#.") +sm.warp(867200960) diff --git a/scripts/portal/CaravanP2_chk16.py b/scripts/portal/CaravanP2_chk16.py new file mode 100755 index 0000000..507191d --- /dev/null +++ b/scripts/portal/CaravanP2_chk16.py @@ -0,0 +1,10 @@ +# id 16 (CaravanP2_chk16), field 867200550 +sm.createQuestWithQRValue(64006, "WC=7;k1=0;k2=0;k3=0;k4=0;k5=0;speed=20;k6=0;k7=0;man=239;prog=0;Pt=CaravanP2_chk15;Ec=16;max=20;weather=0;food=90") +sm.createQuestWithQRValue(64006, "WC=8;k1=0;k2=0;k3=0;k4=0;k5=0;speed=20;k6=0;k7=0;man=239;prog=0;Pt=CaravanP2_chk15;Ec=16;max=20;weather=0;food=90") +sm.createQuestWithQRValue(64006, "WC=8;k1=0;k2=0;k3=0;k4=0;k5=0;speed=20;k6=0;k7=0;man=239;prog=0;Pt=Caravan_chk16;Ec=16;max=20;weather=0;food=90") +sm.createQuestWithQRValue(64006, "WC=8;k1=0;k2=0;k3=0;k4=0;k5=0;speed=20;k6=0;k7=0;man=239;prog=0;Pt=CaravanP2_chk16;Ec=16;max=20;weather=0;food=90") +sm.setSpeakerType(3) +sm.setParam(35) +sm.setColor(1) +sm.sendNext("Go to #m867200961#.") +sm.warp(867200961) diff --git a/scripts/portal/CaravanP2_chk17.py b/scripts/portal/CaravanP2_chk17.py new file mode 100755 index 0000000..c8dc9ad --- /dev/null +++ b/scripts/portal/CaravanP2_chk17.py @@ -0,0 +1,6 @@ +# id 17 (CaravanP2_chk17), field 867200550 +sm.createQuestWithQRValue(64006, "WC=8;k1=0;k2=0;k3=0;k4=0;k5=0;speed=20;k6=0;k7=0;man=239;prog=0;Pt=Caravan_chk17;Ec=17;max=20;weather=0;food=90") +sm.createQuestWithQRValue(64006, "WC=8;k1=0;k2=0;k3=0;k4=0;k5=0;speed=20;k6=0;k7=0;man=239;prog=0;Pt=CaravanP2_chk17;Ec=17;max=20;weather=0;food=90") +sm.createQuestWithQRValue(64006, "WC=8;k1=0;k2=0;k3=0;k4=0;k5=0;speed=20;k6=0;k7=0;man=239;prog=0;Pt=CaravanP2_chk17;Ec=18;max=20;weather=0;food=90") +sm.createQuestWithQRValue(64007, "happy0=95;happy1=100;happy2=80;happy3=100;man0=66;man1=42;man2=48;man3=83") +sm.createQuestWithQRValue(64007, "happy0=95;happy1=100;happy2=85;happy3=100;man0=66;man1=42;man2=48;man3=83") diff --git a/scripts/portal/CaravanP2_chk18.py b/scripts/portal/CaravanP2_chk18.py new file mode 100755 index 0000000..c4cfbdb --- /dev/null +++ b/scripts/portal/CaravanP2_chk18.py @@ -0,0 +1,18 @@ +# id 18 (CaravanP2_chk18), field 867200550 +sm.createQuestWithQRValue(64006, "WC=8;k1=0;k2=0;k3=0;k4=0;k5=0;speed=20;k6=0;k7=0;man=239;prog=0;Pt=CaravanP2_chk17;Ec=18;max=20;weather=1;food=90") +sm.createQuestWithQRValue(64006, "WC=9;k1=0;k2=0;k3=0;k4=0;k5=0;speed=20;k6=0;k7=0;man=239;prog=0;Pt=CaravanP2_chk17;Ec=18;max=20;weather=1;food=90") +sm.createQuestWithQRValue(64006, "WC=9;k1=0;k2=0;k3=0;k4=0;k5=0;speed=20;k6=0;k7=0;man=239;prog=0;Pt=Caravan_chk18;Ec=18;max=20;weather=1;food=90") +sm.createQuestWithQRValue(64006, "WC=9;k1=0;k2=0;k3=0;k4=0;k5=0;speed=20;k6=0;k7=0;man=239;prog=0;Pt=CaravanP2_chk18;Ec=18;max=20;weather=1;food=90") +sm.lockInGameUI(True, False) +sm.sendDelay(500) +sm.sendDelay(3000) +sm.sendDelay(500) +sm.sendDelay(3000) +sm.sendDelay(500) +sm.sendDelay(3000) +sm.sendDelay(500) +sm.sendDelay(3000) +sm.lockInGameUI(False, True) +sm.createQuestWithQRValue(64006, "WC=9;k1=0;k2=0;k3=0;k4=0;k5=0;speed=20;k6=0;k7=0;man=239;prog=0;Pt=CaravanP2_chk18;Ec=19;max=20;weather=1;food=90") +sm.createQuestWithQRValue(64007, "happy0=100;happy1=100;happy2=85;happy3=100;man0=66;man1=42;man2=48;man3=83") +sm.createQuestWithQRValue(64007, "happy0=100;happy1=100;happy2=90;happy3=100;man0=66;man1=42;man2=48;man3=83") diff --git a/scripts/portal/CaravanP2_chk19.py b/scripts/portal/CaravanP2_chk19.py new file mode 100755 index 0000000..32fba95 --- /dev/null +++ b/scripts/portal/CaravanP2_chk19.py @@ -0,0 +1,9 @@ +# id 19 (CaravanP2_chk19), field 867200550 +sm.createQuestWithQRValue(64006, "WC=9;k1=0;k2=0;k3=0;k4=0;k5=0;speed=20;k6=0;k7=0;man=239;prog=0;Pt=Caravan_chk19;Ec=19;max=20;weather=1;food=90") +sm.createQuestWithQRValue(64006, "WC=9;k1=0;k2=0;k3=0;k4=0;k5=0;speed=20;k6=0;k7=0;man=239;prog=0;Pt=CaravanP2_chk19;Ec=19;max=20;weather=1;food=90") +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(9400580) # Alika +sm.sendNext("#face1#I will! You hang in there too.") +sm.createQuestWithQRValue(64006, "WC=9;k1=0;k2=0;k3=0;k4=0;k5=0;speed=20;k6=0;k7=0;man=239;prog=0;Pt=CaravanP2_chk19;Ec=20;max=20;weather=1;food=90") diff --git a/scripts/portal/CaravanP2_chk2.py b/scripts/portal/CaravanP2_chk2.py new file mode 100755 index 0000000..fe92747 --- /dev/null +++ b/scripts/portal/CaravanP2_chk2.py @@ -0,0 +1,15 @@ +# id 2 (CaravanP2_chk2), field 867200550 +sm.createQuestWithQRValue(64006, "WC=0;k1=0;k2=0;k3=0;speed=20;man=199;prog=0;Pt=CaravanP2_chk1;Ec=2;max=20;weather=1;food=320") +sm.createQuestWithQRValue(64006, "WC=1;k1=0;k2=0;k3=0;speed=20;man=199;prog=0;Pt=CaravanP2_chk1;Ec=2;max=20;weather=1;food=320") +sm.createQuestWithQRValue(64006, "WC=1;k1=0;k2=0;k3=0;speed=20;man=199;prog=0;Pt=Caravan_chk2;Ec=2;max=20;weather=1;food=320") +sm.createQuestWithQRValue(64006, "WC=1;k1=0;k2=0;k3=0;speed=20;man=199;prog=0;Pt=CaravanP2_chk2;Ec=2;max=20;weather=1;food=320") +sm.lockInGameUI(True, False) +sm.sendDelay(500) +sm.sendDelay(5000) +sm.sendDelay(500) +sm.sendDelay(5000) +sm.sendDelay(500) +sm.sendDelay(5000) +sm.lockInGameUI(False, True) +sm.createQuestWithQRValue(64006, "WC=1;k1=0;k2=0;k3=0;speed=20;man=199;prog=0;Pt=CaravanP2_chk2;Ec=3;max=20;weather=1;food=320") +sm.createQuestWithQRValue(64007, "happy0=100;happy1=100;happy2=100;happy3=100;man0=56;man1=32;man2=38;man3=73") diff --git a/scripts/portal/CaravanP2_chk3.py b/scripts/portal/CaravanP2_chk3.py new file mode 100755 index 0000000..b039551 --- /dev/null +++ b/scripts/portal/CaravanP2_chk3.py @@ -0,0 +1,15 @@ +# id 3 (CaravanP2_chk3), field 867200550 +sm.createQuestWithQRValue(64006, "WC=1;k1=0;k2=0;k3=0;speed=20;man=199;prog=0;Pt=Caravan_chk3;Ec=3;max=20;weather=1;food=320") +sm.createQuestWithQRValue(64006, "WC=1;k1=0;k2=0;k3=0;speed=20;man=199;prog=0;Pt=CaravanP2_chk3;Ec=3;max=20;weather=1;food=320") +sm.createQuestWithQRValue(64006, "WC=1;k1=0;k2=0;k3=0;k5=1;speed=20;man=199;prog=0;Pt=CaravanP2_chk3;Ec=3;max=20;weather=1;food=320") +sm.createQuestWithQRValue(64193, "pMeat=0") +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(9400581) # Butler +sm.sendNext("#face0#We must complete this mission as fast as possible. 3 minutes. You have 3 minutes to bring back as much food as you can. ") +sm.setParam(35) +sm.sendSay("Go to #m867200900#.") +sm.createQuestWithQRValue(64006, "WC=1;k1=0;k2=0;k3=0;k5=1;speed=20;man=199;prog=0;Pt=CaravanP2_chk3;Ec=3;max=20;weather=1;food=420") +sm.createQuestWithQRValue(64006, "WC=1;k1=0;k2=0;k3=0;k5=0;speed=20;man=199;prog=0;Pt=CaravanP2_chk3;Ec=3;max=20;weather=1;food=420") +sm.warp(867200900) diff --git a/scripts/portal/CaravanP2_chk4.py b/scripts/portal/CaravanP2_chk4.py new file mode 100755 index 0000000..757a82d --- /dev/null +++ b/scripts/portal/CaravanP2_chk4.py @@ -0,0 +1,31 @@ +# id 4 (CaravanP2_chk4), field 867200550 +sm.createQuestWithQRValue(64006, "WC=1;k1=0;k2=0;k3=0;k5=0;speed=20;man=199;prog=0;Pt=CaravanP2_chk3;Ec=4;max=20;weather=2;food=528") +sm.createQuestWithQRValue(64006, "WC=2;k1=0;k2=0;k3=0;k5=0;speed=20;man=199;prog=0;Pt=CaravanP2_chk3;Ec=4;max=20;weather=2;food=528") +sm.createQuestWithQRValue(64006, "WC=2;k1=0;k2=0;k3=0;k5=0;speed=20;man=199;prog=0;Pt=Caravan_chk4;Ec=4;max=20;weather=2;food=528") +sm.createQuestWithQRValue(64006, "WC=2;k1=0;k2=0;k3=0;k5=0;speed=20;man=199;prog=0;Pt=CaravanP2_chk4;Ec=4;max=20;weather=2;food=528") +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(9400592) # Aruhi +sm.sendNext("#face1#Nothing! I've been doing my job, really! ") +sm.sendSay("#face1#You... you think I'm useless, don't you? Just like everyone else... HIC! ") +sm.setParam(57) +sm.sendSay("#bThat's not what I think. I'm just concerned about your ability to keep watch if you're... ") +sm.setParam(37) +sm.sendSay("#face1#...Okay. Okay, I did, a little. HIC! But I can handle it! ") +sm.setParam(57) +sm.sendSay("#b...I see. Please return to your posting. ") +sm.setParam(37) +sm.sendNext("#face1#You... you don't really trust me, do you? HIC! You think I'm just rambling! ") +sm.sendSay("#face0#Right. Well, that's fine... No one listens to what I say anyways... ") +sm.sendSay("#face0#It doesn't matter... But! But, I really saw it with my own two eyes. ") +sm.sendSay("#face1#I mean, it was hard to see through the snow and fog... but I saw it! That giant shadow swept through the forest like it was swimming! ") +sm.sendSay("#face1#Of course, no one would want to believe that! But we must face reality, to be able to... prepare... ") +sm.setParam(57) +sm.sendSay("#bI also saw that shadow while I was coming down the mountain. But none of the villagers seemed to see it. I didn't ask everyone, but... ") +sm.sendSay("#bI was putting off asking people, honestly. I didn't want to stress anyone further by asking about giant monsters... ") +sm.sendSay("#bBut I have to do it, to learn as much as I can about what we're up against. ") +sm.setParam(37) +sm.sendSay("#face1#See? I don't lie.") +sm.createQuestWithQRValue(64020, "chk1=1;chk2=1") +sm.createQuestWithQRValue(64006, "WC=2;k1=0;k2=0;k3=0;k5=0;speed=20;man=199;prog=0;Pt=CaravanP2_chk4;Ec=5;max=20;weather=2;food=528") diff --git a/scripts/portal/CaravanP2_chk5.py b/scripts/portal/CaravanP2_chk5.py new file mode 100755 index 0000000..8b5fc32 --- /dev/null +++ b/scripts/portal/CaravanP2_chk5.py @@ -0,0 +1,8 @@ +# id 5 (CaravanP2_chk5), field 867200550 +sm.createQuestWithQRValue(64006, "WC=2;k1=0;k2=0;k3=0;k5=0;speed=20;man=199;prog=0;Pt=Caravan_chk5;Ec=5;max=20;weather=2;food=528") +sm.createQuestWithQRValue(64006, "WC=2;k1=0;k2=0;k3=0;k5=0;speed=20;man=199;prog=0;Pt=CaravanP2_chk5;Ec=5;max=20;weather=2;food=528") +sm.createQuestWithQRValue(64005, "FoodL=2;FoodM=2;FoodS=0;FoodNone=1") +sm.createQuestWithQRValue(64005, "FoodL=2;FoodM=1;FoodS=0;FoodNone=1") +sm.createQuestWithQRValue(64005, "FoodL=2;FoodM=1;FoodS=0;FoodNone=3") +sm.createQuestWithQRValue(64006, "WC=2;k1=0;k2=0;k3=0;k5=0;speed=20;man=199;prog=0;Pt=CaravanP2_chk5;Ec=5;max=20;weather=2;food=329") +sm.createQuestWithQRValue(64006, "WC=2;k1=0;k2=0;k3=0;k5=0;speed=20;man=199;prog=0;Pt=CaravanP2_chk5;Ec=6;max=20;weather=2;food=329") diff --git a/scripts/portal/CaravanP2_chk6.py b/scripts/portal/CaravanP2_chk6.py new file mode 100755 index 0000000..b3e5ee5 --- /dev/null +++ b/scripts/portal/CaravanP2_chk6.py @@ -0,0 +1,13 @@ +# id 6 (CaravanP2_chk6), field 867200550 +sm.createQuestWithQRValue(64006, "WC=2;k1=0;k2=0;k3=0;k5=0;speed=20;man=199;prog=0;Pt=CaravanP2_chk5;Ec=6;max=20;weather=3;food=329") +sm.createQuestWithQRValue(64006, "WC=3;k1=0;k2=0;k3=0;k5=0;speed=20;man=199;prog=0;Pt=CaravanP2_chk5;Ec=6;max=20;weather=3;food=329") +sm.createQuestWithQRValue(64006, "WC=3;k1=0;k2=0;k3=0;k5=0;speed=20;man=199;prog=0;Pt=Caravan_chk6;Ec=6;max=20;weather=3;food=329") +sm.createQuestWithQRValue(64006, "WC=3;k1=0;k2=0;k3=0;k5=0;speed=20;man=199;prog=0;Pt=CaravanP2_chk6;Ec=6;max=20;weather=3;food=329") +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(9400591) # Shulla +sm.sendNext("Really? Thank you! Thank you... ") +sm.sendSay("I'm not sure if it's fair to the others to accept this, but thank you so much. ") +sm.sendSay("Actually, Ullan hasn't eaten since we left Kaptafel yesterday. I gave her some of my portion, but that wasn't enough. Thank you so much.") +sm.createQuestWithQRValue(64006, "WC=3;k1=0;k2=0;k3=0;k5=0;speed=20;man=199;prog=0;Pt=CaravanP2_chk6;Ec=7;max=20;weather=3;food=329") diff --git a/scripts/portal/CaravanP2_chk7.py b/scripts/portal/CaravanP2_chk7.py new file mode 100755 index 0000000..38a02c9 --- /dev/null +++ b/scripts/portal/CaravanP2_chk7.py @@ -0,0 +1,4 @@ +# id 7 (CaravanP2_chk7), field 867200550 +sm.createQuestWithQRValue(64006, "WC=3;k1=0;k2=0;k3=0;k5=0;speed=20;man=199;prog=0;Pt=Caravan_chk7;Ec=7;max=20;weather=3;food=329") +sm.createQuestWithQRValue(64006, "WC=3;k1=0;k2=0;k3=0;k5=0;speed=20;man=199;prog=0;Pt=CaravanP2_chk7;Ec=7;max=20;weather=3;food=329") +sm.createQuestWithQRValue(64006, "WC=3;k1=0;k2=0;k3=0;k5=0;speed=20;man=199;prog=0;Pt=CaravanP2_chk7;Ec=8;max=20;weather=3;food=329") diff --git a/scripts/portal/CaravanP2_chk8.py b/scripts/portal/CaravanP2_chk8.py new file mode 100755 index 0000000..1f19a72 --- /dev/null +++ b/scripts/portal/CaravanP2_chk8.py @@ -0,0 +1,12 @@ +# id 8 (CaravanP2_chk8), field 867200550 +sm.createQuestWithQRValue(64006, "WC=3;k1=0;k2=0;k3=0;k5=0;speed=20;man=199;prog=0;Pt=CaravanP2_chk7;Ec=8;max=20;weather=0;food=329") +sm.createQuestWithQRValue(64006, "WC=4;k1=0;k2=0;k3=0;k5=0;speed=20;man=199;prog=0;Pt=CaravanP2_chk7;Ec=8;max=20;weather=0;food=329") +sm.createQuestWithQRValue(64006, "WC=4;k1=0;k2=0;k3=0;k5=0;speed=20;man=199;prog=0;Pt=Caravan_chk8;Ec=8;max=20;weather=0;food=329") +sm.createQuestWithQRValue(64006, "WC=4;k1=0;k2=0;k3=0;k5=0;speed=20;man=199;prog=0;Pt=CaravanP2_chk8;Ec=8;max=20;weather=0;food=329") +sm.createQuestWithQRValue(64006, "WC=4;k1=0;k2=0;k3=0;k5=0;speed=20;k6=1;man=199;prog=0;Pt=CaravanP2_chk8;Ec=8;max=20;weather=0;food=329") +sm.setSpeakerType(3) +sm.setParam(35) +sm.setColor(1) +sm.sendNext("Go to #m867200920#.") +sm.createQuestWithQRValue(64006, "WC=4;k1=0;k2=0;k3=0;k5=0;speed=20;k6=0;man=199;prog=0;Pt=CaravanP2_chk8;Ec=8;max=20;weather=0;food=329") +sm.warp(867200920) diff --git a/scripts/portal/CaravanP2_chk9.py b/scripts/portal/CaravanP2_chk9.py new file mode 100755 index 0000000..07a12e7 --- /dev/null +++ b/scripts/portal/CaravanP2_chk9.py @@ -0,0 +1,10 @@ +# id 9 (CaravanP2_chk9), field 867200550 +sm.createQuestWithQRValue(64006, "WC=4;k1=0;k2=0;k3=0;k5=0;speed=20;k6=0;man=199;prog=0;Pt=Caravan_chk9;Ec=9;max=20;weather=0;food=329") +sm.createQuestWithQRValue(64006, "WC=4;k1=0;k2=0;k3=0;k5=0;speed=20;k6=0;man=199;prog=0;Pt=CaravanP2_chk9;Ec=9;max=20;weather=0;food=329") +sm.createQuestWithQRValue(64006, "WC=4;k1=0;k2=0;k3=0;k5=0;speed=20;k6=0;k7=1;man=199;prog=0;Pt=CaravanP2_chk9;Ec=9;max=20;weather=0;food=329") +sm.setSpeakerType(3) +sm.setParam(35) +sm.setColor(1) +sm.sendNext("Go to #m867200940#.") +sm.createQuestWithQRValue(64006, "WC=4;k1=0;k2=0;k3=0;k5=0;speed=20;k6=0;k7=0;man=199;prog=0;Pt=CaravanP2_chk9;Ec=9;max=20;weather=0;food=329") +sm.warp(867200940) diff --git a/scripts/portal/ComeBackHome.py b/scripts/portal/ComeBackHome.py new file mode 100755 index 0000000..568b658 --- /dev/null +++ b/scripts/portal/ComeBackHome.py @@ -0,0 +1 @@ +sm.warpInstanceIn(910000000) \ No newline at end of file diff --git a/scripts/portal/Curbrock_Out.py b/scripts/portal/Curbrock_Out.py new file mode 100755 index 0000000..3885d85 --- /dev/null +++ b/scripts/portal/Curbrock_Out.py @@ -0,0 +1,3 @@ +# Curbrock Exit Portal + +sm.warpInstanceOut(chr.getPreviousFieldID()) \ No newline at end of file diff --git a/scripts/portal/DI_out.py b/scripts/portal/DI_out.py new file mode 100755 index 0000000..a611ef6 --- /dev/null +++ b/scripts/portal/DI_out.py @@ -0,0 +1 @@ +sm.warp(sm.getReturnField()) \ No newline at end of file diff --git a/scripts/portal/DemianOut.py b/scripts/portal/DemianOut.py new file mode 100755 index 0000000..7633705 --- /dev/null +++ b/scripts/portal/DemianOut.py @@ -0,0 +1,15 @@ +# Damien leave NPC + +WORLD_TREE_SUMMIT = 105300303 + +BLACK_HEAVEN_CORE_ENTRANCE = 350060300 +BLACK_HEAVEN_CORE_LAST_HARD = 350060600 + +sm.setSpeakerID(1530621) +response = sm.sendAskYesNo("Are you sure you want to leave the battlefield?") +if response: + sm.WarpInstanceOut(WORLD_TREE_SUMMIT) +else: + sm.dispose() + + diff --git a/scripts/portal/DemonZoneOut.py b/scripts/portal/DemonZoneOut.py new file mode 100755 index 0000000..9ee3ca1 --- /dev/null +++ b/scripts/portal/DemonZoneOut.py @@ -0,0 +1,5 @@ +# Exit Blackgate City +if not sm.getReturnField() is None: + sm.warp(sm.getReturnField()) +else: + sm.warp(100000000, 19) \ No newline at end of file diff --git a/scripts/portal/DragonEggNotice.py b/scripts/portal/DragonEggNotice.py new file mode 100755 index 0000000..a963448 --- /dev/null +++ b/scripts/portal/DragonEggNotice.py @@ -0,0 +1,14 @@ +# Portal for Evan Intro | Hidden Street: Lush Forest (900020110) +# Author: Tiger + +from net.swordie.ms.constants import GameConstants + +# Custom QR value to prevent sayImage from loop repeatedly when portal script is run + +if not "2" in sm.getQRValue(GameConstants.EVAN_INTRO2): + sm.createQuestWithQRValue(GameConstants.EVAN_INTRO2, "1") + +if "1" in sm.getQRValue(GameConstants.EVAN_INTRO2): + sm.sendSayImage("UI/tutorial/evan/8/0") + sm.setQRValue(GameConstants.EVAN_INTRO2, "2") + diff --git a/scripts/portal/ES_Out.py b/scripts/portal/ES_Out.py new file mode 100755 index 0000000..319b146 --- /dev/null +++ b/scripts/portal/ES_Out.py @@ -0,0 +1 @@ +sm.warp(chr.getPreviousFieldID()) \ No newline at end of file diff --git a/scripts/portal/EnterSWmer.py b/scripts/portal/EnterSWmer.py new file mode 100755 index 0000000..10f3678 --- /dev/null +++ b/scripts/portal/EnterSWmer.py @@ -0,0 +1,5 @@ +map = 105000000 +portal = 7 + +sm.warp(map, portal) +sm.dispose() diff --git a/scripts/portal/EnterStageSengo.py b/scripts/portal/EnterStageSengo.py new file mode 100755 index 0000000..0fa63c7 --- /dev/null +++ b/scripts/portal/EnterStageSengo.py @@ -0,0 +1,11 @@ +Sengoku = 744000020 +sm.setSpeakerID(9330279) + +if sm.getFieldID() == Sengoku: + selection = sm.sendNext("You dare wish challenge Sengoku High?.\r\n#b" + "#L0#I want to challenge Sengoku High.#l\r\n") + if selection == 0: + if not sm.getParty(): + sm.sendSayOkay("You must leave your party first.") + else: + sm.warpInstanceIn(744000041) diff --git a/scripts/portal/Event_PinkZakumR.py b/scripts/portal/Event_PinkZakumR.py new file mode 100755 index 0000000..17e2146 --- /dev/null +++ b/scripts/portal/Event_PinkZakumR.py @@ -0,0 +1,5 @@ +# Pink Zakum : Pink Zakum Revive +# Return portal + +sm.returnPinkZakum() # warps to pink zakum if ongoing, else to previous field ID +sm.sendAutoEventClock() \ No newline at end of file diff --git a/scripts/portal/Exit_SparringMapNpc_Tiger.py b/scripts/portal/Exit_SparringMapNpc_Tiger.py new file mode 100755 index 0000000..807df53 --- /dev/null +++ b/scripts/portal/Exit_SparringMapNpc_Tiger.py @@ -0,0 +1 @@ +sm.warpInstanceOut(925020001) \ No newline at end of file diff --git a/scripts/portal/FCPzone_start.py b/scripts/portal/FCPzone_start.py new file mode 100755 index 0000000..dad75aa --- /dev/null +++ b/scripts/portal/FCPzone_start.py @@ -0,0 +1,5 @@ +# id 2 (FCPzone_start), field 301050300 +sm.setSpeakerType(8) +sm.setParam(16) +res = sm.sendAskYesNo("Maybe I should get a little tougher first...") +sm.warp(301000000) diff --git a/scripts/portal/FourthJobResi.py b/scripts/portal/FourthJobResi.py new file mode 100755 index 0000000..88b29a0 --- /dev/null +++ b/scripts/portal/FourthJobResi.py @@ -0,0 +1,21 @@ +# Portal to the 4th Job Advancement for Main Resistance + +GELIMERS_KEY_CARD = 4032743 + +if not sm.hasItem(GELIMERS_KEY_CARD): + sm.chat("The entrance is locked. It can only be unlocked by Gelimer.") + sm.dispose() + +validJobIDs = { + 3211: 931000300, + 3311: 931000301, + 3511: 931000302, + 3711: 931000303, +} + +charJobID = sm.getChr().getJob() +if charJobID not in validJobIDs: + sm.dispose() + +sm.warpInstanceIn(validJobIDs[charJobID], 0, False) +sm.setInstanceTime(15*60) diff --git a/scripts/portal/GiantBossQuit1.py b/scripts/portal/GiantBossQuit1.py new file mode 100755 index 0000000..1d92b9c --- /dev/null +++ b/scripts/portal/GiantBossQuit1.py @@ -0,0 +1,7 @@ +sm.setSpeakerID(9390124) +if sm.sendAskYesNo: + if sm.sendAskYesNo("Do you wish to leave this place?"): + sm.WarpInstanceOut(863010000) + sm.dispose() + else: + sm.dispose() diff --git a/scripts/portal/In_diera.py b/scripts/portal/In_diera.py new file mode 100755 index 0000000..d18a5c1 --- /dev/null +++ b/scripts/portal/In_diera.py @@ -0,0 +1,3 @@ +# 865000000 +sm.warp(865000002, 1) +sm.dispose() diff --git a/scripts/portal/Library_out.py b/scripts/portal/Library_out.py new file mode 100755 index 0000000..aade19d --- /dev/null +++ b/scripts/portal/Library_out.py @@ -0,0 +1,5 @@ +# Grand Athenaeum +if not sm.getReturnField() is None: + sm.warp(sm.getReturnField()) +else: + sm.warp(100000000, 19) \ No newline at end of file diff --git a/scripts/portal/MD_high.py b/scripts/portal/MD_high.py new file mode 100755 index 0000000..568f08a --- /dev/null +++ b/scripts/portal/MD_high.py @@ -0,0 +1,4 @@ +if sm.getFieldID() == 551030000: + sm.warpInstanceIn(551030001, 3, True) +else: + sm.warpInstanceOut(551030000, 3) diff --git a/scripts/portal/NextStageSengo.py b/scripts/portal/NextStageSengo.py new file mode 100755 index 0000000..421f7cf --- /dev/null +++ b/scripts/portal/NextStageSengo.py @@ -0,0 +1,9 @@ +currentMap = sm.getFieldID() +if sm.hasMobsInField(): + sm.chat("Kill all monsters first.") +elif currentMap / 10000 == 74400 and not currentMap == 744000000: + sm.warp(currentMap+1, 0) + +elif currentMap == 744000000: + sm.warp(744000020, 1) +sm.dispose() diff --git a/scripts/portal/NextStg.py b/scripts/portal/NextStg.py new file mode 100755 index 0000000..f725238 --- /dev/null +++ b/scripts/portal/NextStg.py @@ -0,0 +1,8 @@ +fieldID = sm.getFieldID() +if fieldID == 811000500: + sm.warpInstanceOut(811000008) +elif not sm.hasMobsInField(): + sm.warp(fieldID + 100) +else: + sm.chat("The portal is not opened yet.") +sm.dispose() diff --git a/scripts/portal/OutElfKingRoom.py b/scripts/portal/OutElfKingRoom.py new file mode 100755 index 0000000..a5f2ce8 --- /dev/null +++ b/scripts/portal/OutElfKingRoom.py @@ -0,0 +1,3 @@ +# 101050010 +sm.warp(101050000, 7) +sm.dispose() diff --git a/scripts/portal/P1_BacktoEvent2.py b/scripts/portal/P1_BacktoEvent2.py new file mode 100755 index 0000000..8efc9af --- /dev/null +++ b/scripts/portal/P1_BacktoEvent2.py @@ -0,0 +1,2 @@ +# id 9 (E2_Block), field 867236100 +sm.createQuestWithQRValue(64203, "count=0;event3_camera=1") diff --git a/scripts/portal/P1_E1_Fire00.py b/scripts/portal/P1_E1_Fire00.py new file mode 100755 index 0000000..5cb7724 --- /dev/null +++ b/scripts/portal/P1_E1_Fire00.py @@ -0,0 +1,10 @@ +# id 7 (E1_Fire00), field 867236100 +sm.createQuestWithQRValue(64272, "25=1;26=1;27=1;0=4;2=2") +sm.createQuestWithQRValue(16119, "") +sm.createQuestWithQRValue(16150, "") +sm.createQuestWithQRValue(64272, "25=1;26=2;27=1;0=4;2=2") +sm.createQuestWithQRValue(64272, "25=1;26=2;27=2;0=4;2=2") +sm.createQuestWithQRValue(64272, "25=1;26=3;27=2;0=4;2=2") +sm.createQuestWithQRValue(64272, "25=1;26=3;27=3;0=4;2=2") +sm.createQuestWithQRValue(64272, "25=1;26=4;27=3;0=4;2=2") +sm.createQuestWithQRValue(64272, "25=1;26=4;27=4;0=4;2=2") diff --git a/scripts/portal/P1_E2_Fire00.py b/scripts/portal/P1_E2_Fire00.py new file mode 100755 index 0000000..ec2dc8f --- /dev/null +++ b/scripts/portal/P1_E2_Fire00.py @@ -0,0 +1,2 @@ +# id 4 (E2_Fire00), field 867236100 +sm.createQuestWithQRValue(64272, "25=6;26=4;27=4;0=4;2=2") diff --git a/scripts/portal/P2_E2_Fire00.py b/scripts/portal/P2_E2_Fire00.py new file mode 100755 index 0000000..4aa32a2 --- /dev/null +++ b/scripts/portal/P2_E2_Fire00.py @@ -0,0 +1,2 @@ +# id 9 (E2_Fire00), field 867236150 +sm.createQuestWithQRValue(64272, "25=8;26=5;27=5;0=4;2=2") diff --git a/scripts/portal/P2_E3_Fire00.py b/scripts/portal/P2_E3_Fire00.py new file mode 100755 index 0000000..fa35a44 --- /dev/null +++ b/scripts/portal/P2_E3_Fire00.py @@ -0,0 +1,2 @@ +# id 6 (E3_Fire00), field 867236150 +sm.createQuestWithQRValue(64272, "25=10;26=5;27=5;0=4;2=2") diff --git a/scripts/portal/P2_Event2_Start.py b/scripts/portal/P2_Event2_Start.py new file mode 100755 index 0000000..f039080 --- /dev/null +++ b/scripts/portal/P2_Event2_Start.py @@ -0,0 +1,2 @@ +# id 11 (P2_Event2_00), field 867236150 +sm.createQuestWithQRValue(64204, "RushMob=1;P2_fall=2;LadderMob=1") diff --git a/scripts/portal/P2_Event3_Start.py b/scripts/portal/P2_Event3_Start.py new file mode 100755 index 0000000..4dfcb28 --- /dev/null +++ b/scripts/portal/P2_Event3_Start.py @@ -0,0 +1,2 @@ +# id 8 (P2_Event3_00), field 867236150 +sm.createQuestWithQRValue(64204, "RushMob=1;P2_fall=3;LadderMob=1") diff --git a/scripts/portal/P3_Fire00.py b/scripts/portal/P3_Fire00.py new file mode 100755 index 0000000..cfcf160 --- /dev/null +++ b/scripts/portal/P3_Fire00.py @@ -0,0 +1,8 @@ +# id 3 (P3_Fire), field 867236200 +sm.createQuestWithQRValue(64272, "25=31;26=6;27=6;0=4;2=2") +sm.createQuestWithQRValue(16119, "") +sm.createQuestWithQRValue(16150, "") +sm.createQuestWithQRValue(64272, "25=31;26=7;27=6;0=4;2=2") +sm.createQuestWithQRValue(64272, "25=31;26=7;27=7;0=4;2=2") +sm.createQuestWithQRValue(64272, "25=31;26=8;27=7;0=4;2=2") +sm.createQuestWithQRValue(64272, "25=31;26=8;27=8;0=4;2=2") diff --git a/scripts/portal/P3_ForceFire.py b/scripts/portal/P3_ForceFire.py new file mode 100755 index 0000000..34c93a5 --- /dev/null +++ b/scripts/portal/P3_ForceFire.py @@ -0,0 +1,2 @@ +# id 4 (P3_Force), field 867236200 +sm.createQuestWithQRValue(64272, "25=28;26=5;27=5;0=4;2=2") diff --git a/scripts/portal/PCS_q17640.py b/scripts/portal/PCS_q17640.py new file mode 100755 index 0000000..0da1abe --- /dev/null +++ b/scripts/portal/PCS_q17640.py @@ -0,0 +1,36 @@ +# id 13 (q17640), field 865000000 +sm.setSpeakerType(8) +sm.setParam(5) +sm.setInnerOverrideSpeakerTemplateID(9390211) # Kentucky +sm.sendNext("Welcome!") +sm.setParam(17) +sm.sendSay("I'm here for Leon Daniella's items.") +sm.setParam(5) +sm.sendSay("Aha, yes. Let me get everything together. This, and that, and this...") +sm.setParam(17) +sm.sendSay("(Ugh, there's so much junk.) Say, do you think I could have those delivered to the dock?") +sm.setParam(5) +sm.sendSay("Of course. I'll have them delivered right away.") +sm.setParam(17) +sm.sendSay("Great, thank you. (What the heck, they deliver?!)") +sm.setParam(57) +sm.setColor(1) +sm.sendSay("Hm? You..!") +sm.setParam(37) +sm.setInnerOverrideSpeakerTemplateID(9390204) # Robed Lady +sm.sendSay("Oh, it's you.") +sm.setParam(57) +sm.sendSay("What are you doing here? I hope you didn't forget you're still a wanted criminal?") +sm.setParam(37) +sm.sendSay("Hey, if I didn't save you that day, you wouldn't be standing here.") +sm.setParam(57) +sm.sendSay("Hm... Fine, you win. For now. I'll be going...") +sm.setParam(37) +sm.sendSay("Whoa, not so fast. Where are you headed?") +sm.setParam(57) +sm.sendSay("Time for some pirate-hunting. Why?") +sm.setParam(37) +sm.sendSay("No, it's nothing... Goodbye.") +sm.setParam(57) +sm.sendSay("Uh... Okay. I should head back to Leon.") +sm.createQuestWithQRValue(18418, "B=33264") diff --git a/scripts/portal/PF_nextStage.py b/scripts/portal/PF_nextStage.py new file mode 100755 index 0000000..1066d88 --- /dev/null +++ b/scripts/portal/PF_nextStage.py @@ -0,0 +1,3 @@ +# id 1 (next00), field 867201960 +sm.completeQuestNoCheck(64089) +sm.warp(867201980) diff --git a/scripts/portal/PH02.py b/scripts/portal/PH02.py new file mode 100755 index 0000000..348e921 --- /dev/null +++ b/scripts/portal/PH02.py @@ -0,0 +1 @@ +# id 6 (PH02), field 450001012 diff --git a/scripts/portal/PL_JBS_enter2.py b/scripts/portal/PL_JBS_enter2.py new file mode 100755 index 0000000..b0070be --- /dev/null +++ b/scripts/portal/PL_JBS_enter2.py @@ -0,0 +1,14 @@ +# id 6 (P1toP2), field 867236100 +sm.createQuestWithQRValue(64202, "event2_camera=0;event2_wall=1") +sm.createQuestWithQRValue(64202, "event2_camera=1;event2_wall=1") +sm.lockInGameUI(True, False) +sm.forcedInput(0) +sm.sendDelay(1500) +sm.lockInGameUI(False, True) +sm.lockInGameUI(True, False) +sm.forcedInput(0) +sm.zoomCamera(3000, 1000, 3000, 177, 385) +sm.sendDelay(1500) +sm.lockInGameUI(False, True) +sm.createQuestWithQRValue(16119, "") +sm.createQuestWithQRValue(16150, "") diff --git a/scripts/portal/PL_JBS_enter4.py b/scripts/portal/PL_JBS_enter4.py new file mode 100755 index 0000000..0a43697 --- /dev/null +++ b/scripts/portal/PL_JBS_enter4.py @@ -0,0 +1,6 @@ +# id 2 (enterPhase4_00), field 867236200 +sm.lockInGameUI(True, False) +sm.blind(True, 255, 0, 0, 0, 350) +sm.sendDelay(300) +sm.lockInGameUI(False, True) +sm.warp(867236220) diff --git a/scripts/portal/PL_JBS_enter5.py b/scripts/portal/PL_JBS_enter5.py new file mode 100755 index 0000000..de0c343 --- /dev/null +++ b/scripts/portal/PL_JBS_enter5.py @@ -0,0 +1,8 @@ +# id 1 (gotoPhase5), field 867236250 +sm.createQuestWithQRValue(64272, "25=34;26=12;27=11;0=4;2=2") +sm.createQuestWithQRValue(64272, "25=34;26=12;27=12;0=4;2=2") +sm.createQuestWithQRValue(64206, "count=1;ScreenMob=1") +sm.createQuestWithQRValue(16119, "") +sm.createQuestWithQRValue(16150, "") +sm.createQuestWithQRValue(64272, "25=34;26=13;27=12;0=4;2=2") +sm.createQuestWithQRValue(64272, "25=34;26=13;27=13;0=4;2=2") diff --git a/scripts/portal/PPinkOut.py b/scripts/portal/PPinkOut.py new file mode 100755 index 0000000..ce2a76e --- /dev/null +++ b/scripts/portal/PPinkOut.py @@ -0,0 +1 @@ +sm.warpInstanceOut(270050000) \ No newline at end of file diff --git a/scripts/portal/PQout1.py b/scripts/portal/PQout1.py new file mode 100755 index 0000000..326eab3 --- /dev/null +++ b/scripts/portal/PQout1.py @@ -0,0 +1,5 @@ +# Party Quest Entrance leave +if not sm.getReturnField() is None: + sm.warp(sm.getReturnField()) +else: + sm.warp(100000000, 19) \ No newline at end of file diff --git a/scripts/portal/PTjob3M.py b/scripts/portal/PTjob3M.py new file mode 100755 index 0000000..757dd40 --- /dev/null +++ b/scripts/portal/PTjob3M.py @@ -0,0 +1 @@ +sm.warpInstanceOut(260010601, 2) \ No newline at end of file diff --git a/scripts/portal/PTjob4M_2.py b/scripts/portal/PTjob4M_2.py new file mode 100755 index 0000000..7120711 --- /dev/null +++ b/scripts/portal/PTjob4M_2.py @@ -0,0 +1 @@ +sm.warp(915010201) \ No newline at end of file diff --git a/scripts/portal/PTtutor100_0.py b/scripts/portal/PTtutor100_0.py new file mode 100755 index 0000000..1aefb7b --- /dev/null +++ b/scripts/portal/PTtutor100_0.py @@ -0,0 +1,3 @@ +if sm.hasQuest(25000): + sm.warpInstanceIn(915000200, 2) +sm.dispose() \ No newline at end of file diff --git a/scripts/portal/PTtutor200_0.py b/scripts/portal/PTtutor200_0.py new file mode 100755 index 0000000..383a89a --- /dev/null +++ b/scripts/portal/PTtutor200_0.py @@ -0,0 +1,13 @@ +GUARD1 = 9300498 +GUARD2 = 9300507 + +if sm.hasQuest(25000): + #sm.removeEscapeButton() + #sm.flipDialoguePlayerAsSpeaker() + sm.sendNext("This portal leads straight into Ereve. The place is going to be positively crawling with knights. Sounds like just my kind of place.") + #sm.startQuestNoCheck(25003) + sm.levelUntil(10) + sm.jobAdvance(2400) + sm.completeQuest(25000) + sm.warpInstanceIn(100000000, 1) + sm.dispose() \ No newline at end of file diff --git a/scripts/portal/PTtutor300_0.py b/scripts/portal/PTtutor300_0.py new file mode 100755 index 0000000..014d659 --- /dev/null +++ b/scripts/portal/PTtutor300_0.py @@ -0,0 +1,7 @@ +GUARD1 = 9300498 +GUARD2 = 9300507 + +sm.removeEscapeButton() +sm.flipDialoguePlayerAsSpeaker() +sm.sendNext("This will be a cakewalk. I hope...") +sm.dispose() \ No newline at end of file diff --git a/scripts/portal/PTtutor300_2.py b/scripts/portal/PTtutor300_2.py new file mode 100755 index 0000000..daea320 --- /dev/null +++ b/scripts/portal/PTtutor300_2.py @@ -0,0 +1,71 @@ +sm.setSpeakerID(1402001) +sm.sendNext("Who're you? You new?") + +sm.setPlayerAsSpeaker() +sm.sendSay("Kidan! Old pal! You really don't remember me? We say hello all the time!") + +sm.setSpeakerID(1402001) +sm.sendSay("Oh, um, sorry about that...") + +sm.setPlayerAsSpeaker() +sm.sendSay("It's okay old chum, I know you're seeing countless people coming through. It can't be easy to remember all of them, but I was hoping you'd at least remember ME. ") + +sm.setSpeakerID(1402001) +sm.sendSay("H-hey! I said I was sorry! This place is like a madhouse right now. You can't blame a guy for missing a few faces.") + +sm.setPlayerAsSpeaker() +sm.sendSay("It's really that bad?") + +sm.setSpeakerID(1402001) +sm.sendSay("Of course! We've got some new royal lady claiming that Empress Cygnus may be a fake! How could anyone feel at ease?!") + +sm.setPlayerAsSpeaker() +sm.sendSay("That's a good point. That's why I'm here!") + +sm.setSpeakerID(1402001) +sm.sendSay("It's got me pretty worried too. Even the Empress looked worried. She was white as a ghost when I saw her.") + +sm.setPlayerAsSpeaker() +sm.sendSay("Not looking forward to having a new empress, Kidan?") + +sm.setSpeakerID(1402001) +sm.sendSay("I would never wish ill of Empress Cygnus! We would not be where we are today without her leadership. But if this new woman's claims are true...") + +sm.setPlayerAsSpeaker() +sm.sendSay("Do you really think there is another member of the Empress's bloodline?") + +sm.setSpeakerID(1402001) +sm.sendSay("This Hilla woman insisted that she was a descendant to the last Empress.") + +sm.setPlayerAsSpeaker() +sm.sendSay("That would explain the foul mood.") + +sm.setSpeakerID(1402001) +sm.sendSay("Indeed. If Shinsoo were here, she could clear this up. Unfortunately she is not. ") +sm.sendSay("Why did that woman insist on holding the conference today of all days?!") + +sm.setPlayerAsSpeaker() +sm.sendSay("It seems awfully convenient, doesn't it?") + +sm.setSpeakerID(1402001) +sm.sendSay("I hope this works out. What are we going to do if Cygnus isn't the real empress? I have devoted myself to her.") +sm.sendSay("Ereve can't split into two. It would be chaos.") + +sm.setPlayerAsSpeaker() +sm.sendSay("Don't worry too much, Kidan. I have a feeling these things will all work out.") + +sm.setSpeakerID(1402001) +sm.sendSay("I wish I had your optimism. At any rate, this Hilla character must be quite confident to call all these people here.") + +sm.setPlayerAsSpeaker() +sm.sendSay("Confidence is required of both truthsayers and liars. You never know. Maybe someone INCREDIBLE will come swooping in to clear this up.") + +sm.setSpeakerID(1402001) +sm.sendSay("What does that mean? Why are you talking like that?") + +sm.setPlayerAsSpeaker() +sm.sendSay("Don't worry yourself! I'm sure I'll see you after everything is said and done.") + +sm.setSpeakerID(1402001) +sm.sendSay("Uh...okay, see you.") +sm.dispose() \ No newline at end of file diff --git a/scripts/portal/PTtutor400_0.py b/scripts/portal/PTtutor400_0.py new file mode 100755 index 0000000..53ad2d7 --- /dev/null +++ b/scripts/portal/PTtutor400_0.py @@ -0,0 +1,3 @@ +sm.flipDialoguePlayerAsSpeaker() +sm.sendSayOkay("I'm late, I'm late! I can't be late!") +sm.dispose() \ No newline at end of file diff --git a/scripts/portal/Pianus.py b/scripts/portal/Pianus.py new file mode 100755 index 0000000..781225f --- /dev/null +++ b/scripts/portal/Pianus.py @@ -0,0 +1,7 @@ +if sm.hasQuest(1666): + sm.warpInstanceIn(931050429) + sm.setInstanceTime(6 * 60, 230040410, 0) +else: + map = 230040420 + portal = 2 + sm.warp(map, portal) diff --git a/scripts/portal/Pinkin.py b/scripts/portal/Pinkin.py new file mode 100755 index 0000000..1b6bd78 --- /dev/null +++ b/scripts/portal/Pinkin.py @@ -0,0 +1,3 @@ +# pink bean exit portal (yes, the name would suggest otherwise) + +sm.warp(270050300, 2) \ No newline at end of file diff --git a/scripts/portal/Platformer_exit.py b/scripts/portal/Platformer_exit.py new file mode 100755 index 0000000..c7a31cd --- /dev/null +++ b/scripts/portal/Platformer_exit.py @@ -0,0 +1,5 @@ +# Maplerunner exit portal, to Henesys +# Author: shavit +HENESYS = 100000000 + +sm.warp(HENESYS) \ No newline at end of file diff --git a/scripts/portal/Populatus00.py b/scripts/portal/Populatus00.py new file mode 100755 index 0000000..72ccf51 --- /dev/null +++ b/scripts/portal/Populatus00.py @@ -0,0 +1,5 @@ +if sm.hasQuest(1662): + sm.warpInstanceIn(931050427) # Silent Crusade Papu boss map + sm.setInstanceTime(6 * 60, 220080000, 0) +else: + sm.chat("This portal needs to be scripted.") \ No newline at end of file diff --git a/scripts/portal/Portal_down.py b/scripts/portal/Portal_down.py new file mode 100755 index 0000000..9fc53aa --- /dev/null +++ b/scripts/portal/Portal_down.py @@ -0,0 +1 @@ +sm.teleportToPortal(3) \ No newline at end of file diff --git a/scripts/portal/Portal_up.py b/scripts/portal/Portal_up.py new file mode 100755 index 0000000..58e44aa --- /dev/null +++ b/scripts/portal/Portal_up.py @@ -0,0 +1 @@ +sm.teleportToPortal(8) \ No newline at end of file diff --git a/scripts/portal/Pre_stg.py b/scripts/portal/Pre_stg.py new file mode 100755 index 0000000..c7fd7ea --- /dev/null +++ b/scripts/portal/Pre_stg.py @@ -0,0 +1,30 @@ +# \\ Princess No \\ Next Map \\ 2 \\ 3 \\ 3 \\ 4 \\ + +if sm.getFieldID() == 811000200: + if sm.hasMobsInField(): + sm.chat("You must kill all monsters before proceeding.") + else: + sm.warp(811000300) +elif sm.getFieldID() == 811000300: + if sm.hasMobsInField(): + sm.chat("You must kill all monsters before proceeding.") + else: + sm.warp(811000400) +elif sm.getFieldID() == 811000400: + if sm.hasMobsInField(): + sm.chat("You must kill all monsters before proceeding.") + else: + sm.warp(811000500) +elif sm.getFieldID() == 811000500: + + sm.sendAskYesNo + + dialog = str() + + if sm.hasMobsInField(): + dialog = "Are you sure you want to leave the battlefield?" + if not sm.hasMobsInField(): + dialog = "Are you sure you want to leave the battlefield?" + if sm.sendAskYesNo(dialog): + sm.WarpInstanceOut(811000008) + diff --git a/scripts/portal/Ranmaru_ptlNPC.py b/scripts/portal/Ranmaru_ptlNPC.py new file mode 100755 index 0000000..5dbced4 --- /dev/null +++ b/scripts/portal/Ranmaru_ptlNPC.py @@ -0,0 +1,54 @@ +# Ranmaru entry NPC + +from net.swordie.ms.constants import BossConstants +from net.swordie.ms.enums import EventType + +# Mode, Required Level, Map ID, Death Count, Event Type, Cooldown, Hour String + +destinations = [ + ["Normal", 120, 807300210, 20, EventType.Ranmaru, 64800000, 18], + ["Chaos", 230, 807300110, 20, EventType.CRanmaru, 129600000, 36], +] + +runsPerDay = 1 + +if sm.getFieldID() == 807300100: + def is_party_eligible(reqlevel, party): + for member in party.getMembers(): + if member.getLevel() < reqlevel: + return False + + return True + + dialog = "Do you want to head to '#bSecret Altar#k' to fight \r\n#bMori Ranmaru#k?\r\n" + + for i in range(len(destinations)): + dialog += "#L%d##bGo to Secret Altar (%s Mode) #r(Lv. %d+)#b#l\r\n" % (i, destinations[i][0], destinations[i][1]) + + dialog += "#L99#Never mind." + response = sm.sendSay(dialog) + + if sm.getParty() is None: + sm.sendSayOkay("Please create a party before going in.") + sm.dispose() + + elif not sm.isPartyLeader(): + sm.sendSayOkay("Please have your party leader talk to me if you wish to face #bMori Ranmaru#k.") + sm.dispose() + + elif sm.partyHasCoolDown(destinations[response][4], runsPerDay): + timeUntilReset = sm.getTimeUntilEventReset(destinations[response][4]) + sm.sendNext("You or one of your party member has already attempted facing \r\n#bMori Ranmaru#k within the past " + str(destinations[response][6]) + " Hours.\r\n You have " + timeUntilReset + " left on your cooldown.") + sm.dispose() + + elif sm.checkParty() and response != 99: + if is_party_eligible(destinations[response][1], sm.getParty()): + sm.setPartyDeathCount(destinations[response][3]) + sm.warpInstanceIn(destinations[response][2], True) + sm.setInstanceTime(BossConstants.RANMARU_TIME) + sm.addCooldownTimeForParty(destinations[response][4], destinations[response][5]) + else: + sm.sendSayOkay("One or more party members are lacking the prerequisite entry quests, or are below level #b%d#k." % destinations[response][1]) +else: + if sm.sendAskYesNo("Are you sure you want to leave the battlefield?"): + sm.WarpInstanceOut(807300100) \ No newline at end of file diff --git a/scripts/portal/Ranmaru_ptlNPC2.py b/scripts/portal/Ranmaru_ptlNPC2.py new file mode 100755 index 0000000..d9e0d43 --- /dev/null +++ b/scripts/portal/Ranmaru_ptlNPC2.py @@ -0,0 +1,54 @@ +# Ranmaru entry NPC + +from net.swordie.ms.constants import BossConstants +from net.swordie.ms.enums import EventType + +# Mode, Required Level, Map ID, Death Count, Event Type, Cooldown, Hour String + +destinations = [ + ["Normal", 120, 807300210, 20, EventType.Ranmaru, 64800000, 18], + ["Chaos", 240, 807300110, 20, EventType.CRanmaru, 129600000, 36], +] + +runsPerDay = 1 + +if sm.getFieldID() == 807300100: + def is_party_eligible(reqlevel, party): + for member in party.getMembers(): + if member.getLevel() < reqlevel: + return False + + return True + + dialog = "Do you want to head to '#bSecret Altar#k' to fight \r\n#bMori Ranmaru#k?\r\n" + + for i in range(len(destinations)): + dialog += "#L%d##bGo to Secret Altar (%s Mode) #r(Lv. %d+)#b#l\r\n" % (i, destinations[i][0], destinations[i][1]) + + dialog += "#L99#Never mind." + response = sm.sendSay(dialog) + + if sm.getParty() is None: + sm.sendSayOkay("Please create a party before going in.") + sm.dispose() + + elif not sm.isPartyLeader(): + sm.sendSayOkay("Please have your party leader talk to me if you wish to face #bMori Ranmaru#k.") + sm.dispose() + + elif sm.partyHasCoolDown(destinations[response][4], runsPerDay): + timeUntilReset = sm.getTimeUntilEventReset(destinations[response][4]) + sm.sendNext("You or one of your party member has already attempted facing \r\n#bMori Ranmaru#k within the past " + str(destinations[response][6]) + " Hours.\r\n You have " + timeUntilReset + " left on your cooldown.") + sm.dispose() + + elif sm.checkParty() and response != 99: + if is_party_eligible(destinations[response][1], sm.getParty()): + sm.setPartyDeathCount(destinations[response][3]) + sm.warpInstanceIn(destinations[response][2], True) + sm.setInstanceTime(BossConstants.RANMARU_TIME) + sm.addCooldownTimeForParty(destinations[response][4], destinations[response][5]) + else: + sm.sendSayOkay("One or more party members are lacking the prerequisite entry quests, or are below level #b%d#k." % destinations[response][1]) +else: + if sm.sendAskYesNo("Are you sure you want to leave the battlefield?"): + sm.WarpInstanceOut(807300100) \ No newline at end of file diff --git a/scripts/portal/Resi_tutor11.py b/scripts/portal/Resi_tutor11.py new file mode 100755 index 0000000..3c6331d --- /dev/null +++ b/scripts/portal/Resi_tutor11.py @@ -0,0 +1,41 @@ +# Introduction quest portal for resistance +JUN_ID = 2159000 +ULRIKA_ID = 2159001 +VON_ID = 2159002 + +sm.setSpeakerID(ULRIKA_ID) +sm.sendNext("There you are, #h #! You're late. Get over here.") + +sm.setSpeakerID(VON_ID) +sm.flipDialogue() +sm.sendSay("What was the hold up? You scared or something?") + +sm.setPlayerAsSpeaker() +sm.sendSay("Don't be ridiculous.") + +sm.setSpeakerID(JUN_ID) +sm.flipDialogue() +sm.sendSay("You're not s-s-scared at all? I am, a little b-b-bit... The grown-ups warned us never to venture into the #bVerne Mines#k... Plus, there are all those #rBlack Wings#k around, watching us, I just know it.") + +sm.setSpeakerID(VON_ID) +sm.flipDialogue() +sm.sendSay("We snuck here, Jun. No one saw us. No one's watching us, okay? Come on, when else would we have ever gotten the chance to leave #bEdelstein#k? Don't be a chicken.") + +sm.setSpeakerID(JUN_ID) +sm.flipDialogue() +sm.sendSay("But what if we get in trouble?") + +sm.setSpeakerID(ULRIKA_ID) +sm.sendSay("Jun, we're already here. If we're going to get in trouble, let's at least have some fun first. Let's play hide-and-seek!") + +sm.setPlayerAsSpeaker() +sm.sendSay("Hide and seek?") + +sm.setSpeakerID(VON_ID) +sm.flipDialogue() +sm.sendSay("Ugh, la-ame.") + +sm.setSpeakerID(ULRIKA_ID) +sm.sendSay("Don't be a brat, Von. What? Are you scared to hide all by yourself in these big, bad caves? *snicker*\r\n#h0#, since you were late, you're it. Count to 10 and then come find us. No peeking.") + +sm.warp(931000001, 1) \ No newline at end of file diff --git a/scripts/portal/Resi_tutor31.py b/scripts/portal/Resi_tutor31.py new file mode 100755 index 0000000..ab4e9ca --- /dev/null +++ b/scripts/portal/Resi_tutor31.py @@ -0,0 +1,35 @@ +# Vita | Dangerous Hide-and-Seek : Suspicious Laboratory +if "vel00=1" not in sm.getQRValue(23007): + sm.sendNext("Stay back!") + sm.sendSay("How did you get here? This place is prohibited!") + + sm.setPlayerAsSpeaker() + sm.sendSay("Who's talking? Where are you?!") + + sm.resetParam() + sm.sendSay("Look up.") + sm.addQRValue(23007, "vel00=1") + sm.reservedEffect("Effect/Direction4.img/Resistance/ClickVel") +# elif "vel00=2" not in sm.getQRValue(23007): +# sm.sendNext("My name is #bVita#k. I'm one of #rDoctor Gelimer's#k test subjects. But that's not important right now. You have to get out of here before someone sees you!") + +# sm.setPlayerAsSpeaker() +# sm.sendSay("Wait, what are you talking about? Someone's doing experiments on you?! And who's Gelimer?") + +# sm.resetParam() +# sm.sendSay("You've never heard of Doctor Gelimer, the Black Wings' mad scientist? This is his lab, where he conducts experiments...on people.") + +# sm.setPlayerAsSpeaker() +# sm.sendSay("Experiments...on people? Are you serious?") + +# sm.resetParam() +# sm.sendSay("Yes! And if he catches you here, he won't be merciful. Get out of here! Quickly!") + +# sm.setPlayerAsSpeaker() +# sm.sendSay("What? But what about you?!") + +# sm.resetParam() +# sm.sendSay("Shhh! Did you hear that? Someone's coming! It's got to be Doctor Gelimer! Oh no!") + +# sm.addQRValue(23007, "vel00=2") +# sm.warp(931000011, 0) diff --git a/scripts/portal/Resi_tutor61.py b/scripts/portal/Resi_tutor61.py new file mode 100755 index 0000000..5b45e81 --- /dev/null +++ b/scripts/portal/Resi_tutor61.py @@ -0,0 +1,32 @@ +sm.setSpeakerID(2159008) +sm.sendNext("Little rats. I say, how DARE you try to escape this place?") + +sm.setPlayerAsSpeaker() +sm.sendSay("Shoot, we were spotted!") + +sm.setSpeakerID(2159008) +sm.sendSay("Now, now, children. Don't make this harder than it needs to be. Just walk towards me, nice and easy... Wait, you're not one of the test subjects. You're one of the townspeople, aren't you?") + +sm.setPlayerAsSpeaker() +sm.sendSay("That's right. I'm a resident of Edelstein, not a test subject. You can't boss ME around.") + +sm.setSpeakerID(2159008) +sm.sendSay("Oh my, oh my. I told them to make sure the townspeople kept their kids away from the mines... Alas, it's too late now. I can't allow you to tell anyone about this laboratory, so I guess you'll just have to stay here and...help with the experiments. *snicker*") + +sm.setPlayerAsSpeaker() +sm.sendSay("Hmph. Big words, but let's see if you can catch me first.") + +sm.setSpeakerID(2159008) +sm.sendSay("Why, you insolent, little-- Ahem, ahem, ahem. Your words don't matter. Time for me to pull out the big guns. I do hope you're ready. If not, you will suffer.") + +sm.getChr().heal(-sm.getChr().getHP()/2) +sm.setPlayerAsSpeaker() +sm.sendSay("#b(Oh no! Schiller's attack HALVED your HP! He's tougher than you anticipated.)#k") + +sm.setSpeakerID(2159008) +sm.sendSay("I say, got any more big words, kiddo? I'll make sure Gelimer performs some especially atrocious experiments on you. But I'll be nice if you come with me quiet-like.") + +sm.setSpeakerID(2159010) +sm.sendSay("Hold it right there!") + +sm.warp(931000021, 1) \ No newline at end of file diff --git a/scripts/portal/Sky_BossOut.py b/scripts/portal/Sky_BossOut.py new file mode 100755 index 0000000..6a74476 --- /dev/null +++ b/scripts/portal/Sky_BossOut.py @@ -0,0 +1,5 @@ +# id 1 (out00), field 240080500 +sm.setSpeakerID(2085002) # Crimson Sky Doorway +res = sm.sendAskYesNo("Would you like to return to the Crimson Sky Dock?") +sm.startQuest(7812) +sm.warp(240080000) diff --git a/scripts/portal/Sky_Out.py b/scripts/portal/Sky_Out.py new file mode 100755 index 0000000..4aee24e --- /dev/null +++ b/scripts/portal/Sky_Out.py @@ -0,0 +1,39 @@ +# id 1 (out00), field 240080200 +sm.setSpeakerID(2085001) # Crimson Sky Doorway +res = sm.sendAskYesNo("Do you wish to abandon the battle and leave the Crimson Sky area? To enter again, you must form a new party.") +sm.closeUI(1128) +sm.closeUI(1128) +sm.closeUI(1128) +sm.closeUI(1128) +sm.closeUI(1128) +sm.closeUI(1128) +sm.closeUI(1128) +sm.closeUI(1128) +sm.closeUI(1128) +sm.closeUI(1128) +sm.closeUI(1128) +sm.closeUI(1128) +sm.closeUI(1128) +sm.closeUI(1128) +sm.closeUI(1128) +sm.closeUI(1128) +sm.closeUI(1128) +sm.closeUI(1128) +sm.closeUI(1128) +sm.closeUI(1128) +sm.closeUI(1128) +sm.closeUI(1128) +sm.closeUI(1128) +sm.closeUI(1128) +sm.closeUI(1128) +sm.closeUI(1128) +sm.closeUI(1128) +sm.closeUI(1128) +sm.closeUI(1128) +sm.closeUI(1128) +sm.closeUI(1128) +sm.showFieldEffect("quest/party/clear", 0) +sm.playSound("Party1/Clear", 100) +sm.lockInGameUI(True, False) +sm.lockInGameUI(False, True) +sm.warp(240080300) diff --git a/scripts/portal/StageOutSengo.py b/scripts/portal/StageOutSengo.py new file mode 100755 index 0000000..2b4b44d --- /dev/null +++ b/scripts/portal/StageOutSengo.py @@ -0,0 +1,2 @@ +sm.sendAskYesNo("Do you wish to leave this place?") +sm.warp(744000020) \ No newline at end of file diff --git a/scripts/portal/TD_MC_first.py b/scripts/portal/TD_MC_first.py new file mode 100755 index 0000000..06da31a --- /dev/null +++ b/scripts/portal/TD_MC_first.py @@ -0,0 +1 @@ +sm.warp(106030100) \ No newline at end of file diff --git a/scripts/portal/TD_MC_jump.py b/scripts/portal/TD_MC_jump.py new file mode 100755 index 0000000..9360ecb --- /dev/null +++ b/scripts/portal/TD_MC_jump.py @@ -0,0 +1,5 @@ +# bouncy thingy in Mushroom Castle | Shadow Cliffs +# warps to outer castle wall + +sm.warp(106020600) + diff --git a/scripts/portal/ThirdJobResi.py b/scripts/portal/ThirdJobResi.py new file mode 100755 index 0000000..bc40e0b --- /dev/null +++ b/scripts/portal/ThirdJobResi.py @@ -0,0 +1,8 @@ +# 310050100 +if sm.hasQuest(23033) or sm.hasQuest(23034) or sm.hasQuest(23035) or sm.hasQuest(23164): + sm.warp(931000200, 1) + sm.chat("Destroy the Energy Conducting Device!") + if not sm.hasMobsInField(931000200): + sm.invokeAfterDelay(500, "spawnMob", 9001032, 680, 18, False) +else: + sm.chat("This seems to be a forbidden area. Better stay away.") \ No newline at end of file diff --git a/scripts/portal/UMFieldOut.py b/scripts/portal/UMFieldOut.py new file mode 100755 index 0000000..461557d --- /dev/null +++ b/scripts/portal/UMFieldOut.py @@ -0,0 +1,5 @@ +# Created by MechAviv +# Map ID :: 913050010 +# Ereve : Conference Room of the Alliance + +sm.warpOutByUnityPortal() \ No newline at end of file diff --git a/scripts/portal/WUenterHubPortal.py b/scripts/portal/WUenterHubPortal.py new file mode 100755 index 0000000..025b137 --- /dev/null +++ b/scripts/portal/WUenterHubPortal.py @@ -0,0 +1,8 @@ +# Portal to Cross world party quest +sm.setSpeakerID(9076003) +response = sm.sendNext("What Party quest would you like to do? \r\n#L0#Moon Bunny's rice cake#l \r\n #L1#First Time together#l") + +if response == 0: + sm.warp(933000000, 0) +elif response == 1: + sm.warp(933010000, 0) \ No newline at end of file diff --git a/scripts/portal/WUexitHub.py b/scripts/portal/WUexitHub.py new file mode 100755 index 0000000..f2fc6df --- /dev/null +++ b/scripts/portal/WUexitHub.py @@ -0,0 +1,2 @@ +# Portal from Cross world party quest to party quest entrance map +sm.warp(910002000) \ No newline at end of file diff --git a/scripts/portal/Zakum05.py b/scripts/portal/Zakum05.py new file mode 100755 index 0000000..48272a5 --- /dev/null +++ b/scripts/portal/Zakum05.py @@ -0,0 +1 @@ +sm.warp(211042400) diff --git a/scripts/portal/Zakumgo.py b/scripts/portal/Zakumgo.py new file mode 100755 index 0000000..9ddaa23 --- /dev/null +++ b/scripts/portal/Zakumgo.py @@ -0,0 +1,3 @@ +# 211042200 +sm.warp(211042300, 0) +sm.dispose() diff --git a/scripts/portal/__init__.py b/scripts/portal/__init__.py new file mode 100755 index 0000000..e69de29 diff --git a/scripts/portal/amoria_out.py b/scripts/portal/amoria_out.py new file mode 100755 index 0000000..016fa41 --- /dev/null +++ b/scripts/portal/amoria_out.py @@ -0,0 +1,2 @@ +# 680000000 - Amoria -> Henesys +sm.warp(100000000) \ No newline at end of file diff --git a/scripts/portal/aranTutorAloneX.py b/scripts/portal/aranTutorAloneX.py new file mode 100755 index 0000000..c2a3ea5 --- /dev/null +++ b/scripts/portal/aranTutorAloneX.py @@ -0,0 +1,2 @@ +# 914000000 +sm.warp(914000100, 1) \ No newline at end of file diff --git a/scripts/portal/aranTutorArrow0.py b/scripts/portal/aranTutorArrow0.py new file mode 100755 index 0000000..1fe62ff --- /dev/null +++ b/scripts/portal/aranTutorArrow0.py @@ -0,0 +1,4 @@ +# 914000100 +if not "arr0=o" in sm.getQRValue(21002): + sm.avatarOriented("Effect/OnUserEff.img/guideEffect/aranTutorial/tutorialArrow3") + sm.addQRValue(21002, "arr0=o") \ No newline at end of file diff --git a/scripts/portal/aranTutorArrow1.py b/scripts/portal/aranTutorArrow1.py new file mode 100755 index 0000000..8d3b0e0 --- /dev/null +++ b/scripts/portal/aranTutorArrow1.py @@ -0,0 +1,4 @@ +# 914000200 +if not "arr1=o" in sm.getQRValue(21002): + sm.avatarOriented("Effect/OnUserEff.img/guideEffect/aranTutorial/tutorialArrow1") + sm.addQRValue(21002, "arr1=o") \ No newline at end of file diff --git a/scripts/portal/aranTutorArrow2.py b/scripts/portal/aranTutorArrow2.py new file mode 100755 index 0000000..64f7cef --- /dev/null +++ b/scripts/portal/aranTutorArrow2.py @@ -0,0 +1,4 @@ +# 914000200 +if not "arr2=o" in sm.getQRValue(21002): + sm.avatarOriented("Effect/OnUserEff.img/guideEffect/aranTutorial/tutorialArrow1") + sm.addQRValue(21002, "arr2=o") \ No newline at end of file diff --git a/scripts/portal/aranTutorArrow3.py b/scripts/portal/aranTutorArrow3.py new file mode 100755 index 0000000..636d709 --- /dev/null +++ b/scripts/portal/aranTutorArrow3.py @@ -0,0 +1,4 @@ +# 914000220 +if not "arr3=o" in sm.getQRValue(21002): + sm.avatarOriented("Effect/OnUserEff.img/guideEffect/aranTutorial/tutorialArrow1") + sm.addQRValue(21002, "arr3=o") \ No newline at end of file diff --git a/scripts/portal/aranTutorGuide0.py b/scripts/portal/aranTutorGuide0.py new file mode 100755 index 0000000..8580017 --- /dev/null +++ b/scripts/portal/aranTutorGuide0.py @@ -0,0 +1,5 @@ +# 914000200 +if not "normal=o" in sm.getQRValue(21002): + sm.showFieldEffect("aran/tutorialGuide1") + sm.systemMessage("To use a Regular Attack on monsters, press the Ctrl key.") + sm.addQRValue(21002, "normal=o") \ No newline at end of file diff --git a/scripts/portal/aranTutorGuide1.py b/scripts/portal/aranTutorGuide1.py new file mode 100755 index 0000000..f4061fa --- /dev/null +++ b/scripts/portal/aranTutorGuide1.py @@ -0,0 +1,5 @@ +# 914000210 +if not "chain=o" in sm.getQRValue(21002): + sm.showFieldEffect("aran/tutorialGuide1") + sm.systemMessage("You can use Consecutive Attacks by pressing the Ctrl key multiple times.") + sm.addQRValue(21002, "chain=o") \ No newline at end of file diff --git a/scripts/portal/aranTutorGuide2.py b/scripts/portal/aranTutorGuide2.py new file mode 100755 index 0000000..3eb99d1 --- /dev/null +++ b/scripts/portal/aranTutorGuide2.py @@ -0,0 +1,5 @@ +# 914000220 +if not "cmd=o" in sm.getQRValue(21002): + sm.showFieldEffect("aran/tutorialGuide3") + sm.systemMessage("You can use a Command Attack by pressing both the arrow key and the attack key after a Consecutive Attack.") + sm.addQRValue(21002, "cmd=o") \ No newline at end of file diff --git a/scripts/portal/aranTutorLost.py b/scripts/portal/aranTutorLost.py new file mode 100755 index 0000000..d95e4fe --- /dev/null +++ b/scripts/portal/aranTutorLost.py @@ -0,0 +1,4 @@ +# 914000300 +if not "fin=o" in sm.getQRValue(21002): + sm.reservedEffect("Effect/Direction1.img/aranTutorial/ClickChild") + sm.addQRValue(21002, "fin=o") \ No newline at end of file diff --git a/scripts/portal/aranTutorMono0.py b/scripts/portal/aranTutorMono0.py new file mode 100755 index 0000000..ecdb0aa --- /dev/null +++ b/scripts/portal/aranTutorMono0.py @@ -0,0 +1,4 @@ +# 914000000 +if not "mo1=o" in sm.getQRValue(21002): + sm.avatarOriented("Effect/OnUserEff.img/guideEffect/aranTutorial/legendBalloon1") + sm.addQRValue(21002, "mo1=o") \ No newline at end of file diff --git a/scripts/portal/aranTutorMono1.py b/scripts/portal/aranTutorMono1.py new file mode 100755 index 0000000..f299f80 --- /dev/null +++ b/scripts/portal/aranTutorMono1.py @@ -0,0 +1,5 @@ +# 914000000 +if not "mo2=o" in sm.getQRValue(21002): + sm.playSound("Aran/balloon") + sm.avatarOriented("Effect/OnUserEff.img/guideEffect/aranTutorial/legendBalloon2") + sm.addQRValue(21002, "mo2=o") \ No newline at end of file diff --git a/scripts/portal/aranTutorMono2.py b/scripts/portal/aranTutorMono2.py new file mode 100755 index 0000000..c4411c1 --- /dev/null +++ b/scripts/portal/aranTutorMono2.py @@ -0,0 +1,4 @@ +# 914000000 +if not "mo3=o" in sm.getQRValue(21002): + sm.avatarOriented("Effect/OnUserEff.img/guideEffect/aranTutorial/legendBalloon3") + sm.addQRValue(21002, "mo3=o") \ No newline at end of file diff --git a/scripts/portal/aranTutorMono3.py b/scripts/portal/aranTutorMono3.py new file mode 100755 index 0000000..1cd59cb --- /dev/null +++ b/scripts/portal/aranTutorMono3.py @@ -0,0 +1,4 @@ +# 914000200 +if not "mo4=o" in sm.getQRValue(21002): + sm.avatarOriented("Effect/OnUserEff.img/guideEffect/aranTutorial/legendBalloon6") + sm.addQRValue(21002, "mo4=o") \ No newline at end of file diff --git a/scripts/portal/aranTutorOut1.py b/scripts/portal/aranTutorOut1.py new file mode 100755 index 0000000..7677531 --- /dev/null +++ b/scripts/portal/aranTutorOut1.py @@ -0,0 +1,7 @@ +# 914000100 +sm.removeSkill(20000017) +sm.removeSkill(20000018) +sm.giveSkill(20000017) +sm.giveSkill(20000018) +sm.setQRValue(21002, "arr0=o;mo1=o;mo2=o;mo3=o", False) +sm.warp(914000200, 1) \ No newline at end of file diff --git a/scripts/portal/aranTutorOut2.py b/scripts/portal/aranTutorOut2.py new file mode 100755 index 0000000..9d4a56a --- /dev/null +++ b/scripts/portal/aranTutorOut2.py @@ -0,0 +1,7 @@ +# 914000200 +sm.killMobs() +sm.removeSkill(20000014) +sm.removeSkill(20000015) +sm.giveSkill(20000014) +sm.giveSkill(20000015) +sm.warp(914000210, 1) \ No newline at end of file diff --git a/scripts/portal/aranTutorOut3.py b/scripts/portal/aranTutorOut3.py new file mode 100755 index 0000000..cdf3409 --- /dev/null +++ b/scripts/portal/aranTutorOut3.py @@ -0,0 +1,5 @@ +# 914000210 +sm.killMobs() +sm.removeSkill(20000016) +sm.giveSkill(20000016) +sm.warp(914000220, 1) \ No newline at end of file diff --git a/scripts/portal/arcanaCave_next.py b/scripts/portal/arcanaCave_next.py new file mode 100755 index 0000000..60103eb --- /dev/null +++ b/scripts/portal/arcanaCave_next.py @@ -0,0 +1,4 @@ +# id 1 (next00), field 940200320 +sm.startQuest(34476) +sm.completeQuestNoCheck(34476) +sm.warp(450005000) diff --git a/scripts/portal/arcana_landing2.py b/scripts/portal/arcana_landing2.py new file mode 100755 index 0000000..7aa11e0 --- /dev/null +++ b/scripts/portal/arcana_landing2.py @@ -0,0 +1,3 @@ +# id 2 (pt_landing2), field 940200206 +sm.startQuest(34454) +sm.warp(450005100) diff --git a/scripts/portal/arcane_water.py b/scripts/portal/arcane_water.py new file mode 100755 index 0000000..fef4a83 --- /dev/null +++ b/scripts/portal/arcane_water.py @@ -0,0 +1,2 @@ +# id 1 (PCS99), field 450001310 +sm.playSound("Sound/Foot.img/water/2", 200) diff --git a/scripts/portal/arisan_out.py b/scripts/portal/arisan_out.py new file mode 100755 index 0000000..09c1f87 --- /dev/null +++ b/scripts/portal/arisan_out.py @@ -0,0 +1,12 @@ +# Created by MechAviv +# Map ID :: 749080900 +# Alishan : Leshan + +sm.setSpeakerID(0) +sm.flipSpeaker() +sm.flipDialoguePlayerAsSpeaker() +sm.setBoxChat() +sm.setColor(1) +sm.setSpeakerType(8) +if sm.sendAskAccept("Hmm... I wonder where this goes? Only one way to find out!"): + sm.warp(100000000) \ No newline at end of file diff --git a/scripts/portal/ark_mPark_Next.py b/scripts/portal/ark_mPark_Next.py new file mode 100755 index 0000000..050f258 --- /dev/null +++ b/scripts/portal/ark_mPark_Next.py @@ -0,0 +1,7 @@ +# Created by MechAviv +# Map ID :: 940205100 +# Ravaged Base Remnants : Ravaged Eastern Base 1 + +# Unhandled User Effect [PlayPortalSE] Packet: 0D +# Unhandled Message [47] Packet: 2F 04 00 00 00 B8 58 08 00 00 00 00 00 23 02 00 00 00 00 00 80 05 BB 46 E6 17 02 0D 00 6D 6F 62 5F 6B 69 6C 6C 3D 35 31 39 34 58 68 08 00 00 00 00 00 27 02 00 00 00 00 00 80 05 BB 46 E6 17 02 0D 00 6D 6F 62 5F 6B 69 6C 6C 3D 35 31 39 34 B0 83 08 00 00 00 00 00 2E 02 00 00 00 00 00 80 05 BB 46 E6 17 02 0B 00 6D 6F 62 5F 6B 69 6C 6C 3D 32 32 D0 22 11 00 00 00 00 00 63 04 00 00 18 02 B0 0D 0A 78 8B D6 D4 01 0D 00 66 69 65 6C 64 5F 65 6E 74 65 72 3D 31 +sm.warp(940205200, 0) diff --git a/scripts/portal/aswan_in.py b/scripts/portal/aswan_in.py new file mode 100755 index 0000000..f72bce3 --- /dev/null +++ b/scripts/portal/aswan_in.py @@ -0,0 +1,2 @@ +# Enter azwan through Sahel(The Burning Sands) +sm.warp(262010000) diff --git a/scripts/portal/babyPigOut.py b/scripts/portal/babyPigOut.py new file mode 100755 index 0000000..11e25eb --- /dev/null +++ b/scripts/portal/babyPigOut.py @@ -0,0 +1 @@ +sm.warpInstanceOut(100030300, 0) \ No newline at end of file diff --git a/scripts/portal/back_Ludi.py b/scripts/portal/back_Ludi.py new file mode 100755 index 0000000..ecf6e22 --- /dev/null +++ b/scripts/portal/back_Ludi.py @@ -0,0 +1,3 @@ +# 223000000 +sm.warp(220000000, 12) +sm.dispose() diff --git a/scripts/portal/back_hillah.py b/scripts/portal/back_hillah.py new file mode 100755 index 0000000..2658973 --- /dev/null +++ b/scripts/portal/back_hillah.py @@ -0,0 +1 @@ +sm.warpInstanceOut(262030300) \ No newline at end of file diff --git a/scripts/portal/balogTemple.py b/scripts/portal/balogTemple.py new file mode 100755 index 0000000..d9ea4be --- /dev/null +++ b/scripts/portal/balogTemple.py @@ -0,0 +1,3 @@ +# Bottom Portal | Cursed Temple - Another Door + +sm.warp(105100000, 2) \ No newline at end of file diff --git a/scripts/portal/balog_end.py b/scripts/portal/balog_end.py new file mode 100755 index 0000000..21cf964 --- /dev/null +++ b/scripts/portal/balog_end.py @@ -0,0 +1,5 @@ +# balrog win map exit portal + +from net.swordie.ms.constants import BossConstants + +sm.warpInstanceOut(BossConstants.BALROG_ENTRY_MAP) \ No newline at end of file diff --git a/scripts/portal/banbanGoInside.py b/scripts/portal/banbanGoInside.py new file mode 100755 index 0000000..2b1d8ce --- /dev/null +++ b/scripts/portal/banbanGoInside.py @@ -0,0 +1,2 @@ +if chr.getField().hasProperty("enablevonbonportal") and chr.getField().getProperty("enablevonbonportal"): + sm.warp(105200520) \ No newline at end of file diff --git a/scripts/portal/bedroom_out.py b/scripts/portal/bedroom_out.py new file mode 100755 index 0000000..a2dde75 --- /dev/null +++ b/scripts/portal/bedroom_out.py @@ -0,0 +1,2 @@ +if sm.hasQuest(2570): + sm.warp(120000101, 0) \ No newline at end of file diff --git a/scripts/portal/berry_out.py b/scripts/portal/berry_out.py new file mode 100755 index 0000000..35ff341 --- /dev/null +++ b/scripts/portal/berry_out.py @@ -0,0 +1,8 @@ +# Created by MechAviv +# ID :: [865010200] +# Commerci Republic : Berry +sm.setSpeakerID(9010000) +sm.flipDialogue() +sm.setSpeakerType(8) +if sm.sendAskYesNo("Would you like to leave the Commerci Republic?"): + sm.dispose() \ No newline at end of file diff --git a/scripts/portal/bh_bossOut.py b/scripts/portal/bh_bossOut.py new file mode 100755 index 0000000..13fc0e7 --- /dev/null +++ b/scripts/portal/bh_bossOut.py @@ -0,0 +1,39 @@ + +# Chaos Lotus Reward / Leave + +BLACK_HEAVEN_CORE_ENTRANCE = 350060300 +BLACK_HEAVEN_CORE_LAST_HARD = 350060600 + +absoLabCoinID = 4310156 + +if sm.hasMobsInField(chr.getFieldID()) or (sm.getFieldID() != 350060600 and sm.getFieldID() != 350060900): + response = sm.sendAskYesNo("Do you wish to leave the battlefield and abandon your allies?") + if response: + sm.warpInstanceOut(BLACK_HEAVEN_CORE_ENTRANCE) + sm.dispose() + +if not sm.canHold(absoLabCoinID): + sm.sendSayOkay("Please make room in your inventory to receive your #bAbsoLab Coins.") + sm.dispose() + +if not sm.hasMobsInField(chr.getFieldID()): + #sm.doLog() + + if chr.getParty().getMembers().size() == 1: + sm.giveItem(absoLabCoinID, 72) + sm.warpInstanceOut(BLACK_HEAVEN_CORE_ENTRANCE) + if chr.getParty().getMembers().size() == 2: + sm.giveItem(absoLabCoinID, 64) + sm.warpInstanceOut(BLACK_HEAVEN_CORE_ENTRANCE) + if chr.getParty().getMembers().size() == 3: + sm.giveItem(absoLabCoinID, 58) + sm.warpInstanceOut(BLACK_HEAVEN_CORE_ENTRANCE) + if chr.getParty().getMembers().size() == 4: + sm.giveItem(absoLabCoinID, 58) + sm.warpInstanceOut(BLACK_HEAVEN_CORE_ENTRANCE) + if chr.getParty().getMembers().size() == 5: + sm.giveItem(absoLabCoinID, 55) + sm.warpInstanceOut(BLACK_HEAVEN_CORE_ENTRANCE) + if chr.getParty().getMembers().size() == 6: + sm.giveItem(absoLabCoinID, 52) + sm.warpInstanceOut(BLACK_HEAVEN_CORE_ENTRANCE) \ No newline at end of file diff --git a/scripts/portal/bh_bossOutN.py b/scripts/portal/bh_bossOutN.py new file mode 100755 index 0000000..e47b3ad --- /dev/null +++ b/scripts/portal/bh_bossOutN.py @@ -0,0 +1,40 @@ + +# Normal Lotus Reward / Leave + +BLACK_HEAVEN_CORE_ENTRANCE = 350060300 +BLACK_HEAVEN_CORE_LAST_HARD = 350060600 + +absoLabCoinID = 4310156 + + +if sm.hasMobsInField(chr.getFieldID()) or (sm.getFieldID() != 350060600 and sm.getFieldID() != 350060900): + response = sm.sendAskYesNo("Do you wish to leave the battlefield and abandon your allies?") + if response: + sm.warpInstanceOut(BLACK_HEAVEN_CORE_ENTRANCE) + sm.dispose() + +if not sm.canHold(absoLabCoinID): + sm.sendSayOkay("Please make room in your inventory to receive your #bAbsoLab Coins.") + sm.dispose() + +if not sm.hasMobsInField(chr.getFieldID()): + #sm.doLog() + if chr.getParty().getMembers().size() == 1: + sm.giveItem(absoLabCoinID, 25) + sm.warpInstanceOut(BLACK_HEAVEN_CORE_ENTRANCE) + if chr.getParty().getMembers().size() == 2: + sm.giveItem(absoLabCoinID, 22) + sm.warpInstanceOut(BLACK_HEAVEN_CORE_ENTRANCE) + if chr.getParty().getMembers().size() == 3: + sm.giveItem(absoLabCoinID, 20) + sm.warpInstanceOut(BLACK_HEAVEN_CORE_ENTRANCE) + if chr.getParty().getMembers().size() == 4: + sm.giveItem(absoLabCoinID, 20) + sm.warpInstanceOut(BLACK_HEAVEN_CORE_ENTRANCE) + if chr.getParty().getMembers().size() == 5: + sm.giveItem(absoLabCoinID, 19) + sm.warpInstanceOut(BLACK_HEAVEN_CORE_ENTRANCE) + if chr.getParty().getMembers().size() == 6: + sm.giveItem(absoLabCoinID, 18) + sm.warpInstanceOut(BLACK_HEAVEN_CORE_ENTRANCE) + diff --git a/scripts/portal/bh_bossinmap1.py b/scripts/portal/bh_bossinmap1.py new file mode 100755 index 0000000..83cd7fa --- /dev/null +++ b/scripts/portal/bh_bossinmap1.py @@ -0,0 +1 @@ +sm.teleportToPortal(2) \ No newline at end of file diff --git a/scripts/portal/bh_bossinmap1n.py b/scripts/portal/bh_bossinmap1n.py new file mode 100755 index 0000000..83cd7fa --- /dev/null +++ b/scripts/portal/bh_bossinmap1n.py @@ -0,0 +1 @@ +sm.teleportToPortal(2) \ No newline at end of file diff --git a/scripts/portal/bh_bossinmap2.py b/scripts/portal/bh_bossinmap2.py new file mode 100755 index 0000000..9fc53aa --- /dev/null +++ b/scripts/portal/bh_bossinmap2.py @@ -0,0 +1 @@ +sm.teleportToPortal(3) \ No newline at end of file diff --git a/scripts/portal/bh_bossinmap2n.py b/scripts/portal/bh_bossinmap2n.py new file mode 100755 index 0000000..9fc53aa --- /dev/null +++ b/scripts/portal/bh_bossinmap2n.py @@ -0,0 +1 @@ +sm.teleportToPortal(3) \ No newline at end of file diff --git a/scripts/portal/bh_bossinmap3.py b/scripts/portal/bh_bossinmap3.py new file mode 100755 index 0000000..7f473b8 --- /dev/null +++ b/scripts/portal/bh_bossinmap3.py @@ -0,0 +1 @@ +sm.teleportToPortal(5) \ No newline at end of file diff --git a/scripts/portal/bh_bossinmap3n.py b/scripts/portal/bh_bossinmap3n.py new file mode 100755 index 0000000..7f473b8 --- /dev/null +++ b/scripts/portal/bh_bossinmap3n.py @@ -0,0 +1 @@ +sm.teleportToPortal(5) \ No newline at end of file diff --git a/scripts/portal/bh_bossinmap4.py b/scripts/portal/bh_bossinmap4.py new file mode 100755 index 0000000..f87f00d --- /dev/null +++ b/scripts/portal/bh_bossinmap4.py @@ -0,0 +1 @@ +sm.teleportToPortal(4) \ No newline at end of file diff --git a/scripts/portal/bh_bossinmap4n.py b/scripts/portal/bh_bossinmap4n.py new file mode 100755 index 0000000..f87f00d --- /dev/null +++ b/scripts/portal/bh_bossinmap4n.py @@ -0,0 +1 @@ +sm.teleportToPortal(4) \ No newline at end of file diff --git a/scripts/portal/bhb1_sc1.py b/scripts/portal/bhb1_sc1.py new file mode 100755 index 0000000..df4e542 --- /dev/null +++ b/scripts/portal/bhb1_sc1.py @@ -0,0 +1,3 @@ +# 350060160 +sm.teleportInField(2) #portal Id +sm.dispose() diff --git a/scripts/portal/bhb1_sc2.py b/scripts/portal/bhb1_sc2.py new file mode 100755 index 0000000..1774c44 --- /dev/null +++ b/scripts/portal/bhb1_sc2.py @@ -0,0 +1,2 @@ +sm.teleportInField(3) #portal Id +sm.dispose() diff --git a/scripts/portal/bhb1_sc3.py b/scripts/portal/bhb1_sc3.py new file mode 100755 index 0000000..7f3efe5 --- /dev/null +++ b/scripts/portal/bhb1_sc3.py @@ -0,0 +1,4 @@ +# 350060160 + +sm.teleportInField(5) #Portal Id +sm.dispose() diff --git a/scripts/portal/bhb1_sc4.py b/scripts/portal/bhb1_sc4.py new file mode 100755 index 0000000..2efdcd3 --- /dev/null +++ b/scripts/portal/bhb1_sc4.py @@ -0,0 +1,2 @@ +sm.teleportInField(4) #Portal Id +sm.dispose() diff --git a/scripts/portal/bhb_scbossOut.py b/scripts/portal/bhb_scbossOut.py new file mode 100755 index 0000000..3481f4e --- /dev/null +++ b/scripts/portal/bhb_scbossOut.py @@ -0,0 +1,3 @@ +# 105200310 (+ other RA bosses) +if sm.sendAskYesNo("Would you like to leave?"): + sm.warpInstanceOut(350060000) # Entrance Core diff --git a/scripts/portal/bhb_scenario.py b/scripts/portal/bhb_scenario.py new file mode 100755 index 0000000..76e235d --- /dev/null +++ b/scripts/portal/bhb_scenario.py @@ -0,0 +1,10 @@ +# 350060000 Portal at Gelimer's Lab | Used to open an NPC dialogue that will warp the player inside the Lotus Boss + +FirstBossMap = 350060160 + +sm.setSpeakerID(1540496) # Lotus Hologram +response = sm.sendAskYesNo("Are you sure you want to battle me?") + +if response: + if sm.checkParty(): + sm.warpInstanceIn(FirstBossMap, True) diff --git a/scripts/portal/blackHeaven_boss.py b/scripts/portal/blackHeaven_boss.py new file mode 100755 index 0000000..03ab92c --- /dev/null +++ b/scripts/portal/blackHeaven_boss.py @@ -0,0 +1,54 @@ +from net.swordie.ms.constants import BossConstants +from net.swordie.ms.enums import EventType + +# Mode, Required Level, Map ID, Death Count, Event Type, Cooldown + +destinations = [ + ["Normal", 230, 350060700, 5, EventType.Lotus, 216000000], + ["Chaos", 240, 350060400, 5, EventType.CLotus, 216000000], +] + +runsPerDay = 1 + +if sm.getFieldID() == 350060300: + def is_party_eligible(reqlevel, party): + for member in party.getMembers(): + if member.getLevel() < reqlevel: + return False + + return True + + sm.setSpeakerID(9075005) + + dialog = "Do you want to head to the '#bBlack Heaven Core#k' to fight \r\n#bLotus#k?\r\n" + + for i in range(len(destinations)): + dialog += "#L%d##bGo to the Black Heaven Core (%s Mode) #r(Lv. %d+)#b#l\r\n" % (i, destinations[i][0], destinations[i][1]) + + dialog += "#L99#Never mind." + response = sm.sendSay(dialog) + + if sm.getParty() is None: + sm.sendSayOkay("Please create a party before going in.") + sm.dispose() + + elif not sm.isPartyLeader(): + sm.sendSayOkay("Please have your party leader talk to me if you wish to face #bLotus#k.") + sm.dispose() + + elif response != 99 and sm.partyHasCoolDown(destinations[response][4], runsPerDay): + timeUntilReset = sm.getTimeUntilEventReset(destinations[response][4]) + sm.sendNext("You or one of your party member has already attempted facing \r\n#bLotus#k within the past 60 Hours.\r\n You have " + timeUntilReset + " left on your cooldown.") + sm.dispose() + + elif sm.checkParty() and response != 99: + if is_party_eligible(destinations[response][1], sm.getParty()): + sm.setPartyDeathCount(destinations[response][3]) + sm.warpInstanceIn(destinations[response][2], True) + sm.setInstanceTime(BossConstants.LOTUS_TIME) + sm.addCooldownTimeForParty(destinations[response][4], destinations[response][5]) + else: + sm.sendSayOkay("One or more party members are lacking the prerequisite entry quests, or are below level #b%d#k." % destinations[response][1]) +else: + if sm.sendAskYesNo("Are you sure you want to leave the battlefield?"): + sm.WarpInstanceOut(807300100) \ No newline at end of file diff --git a/scripts/portal/blackHeaven_boss_back.py b/scripts/portal/blackHeaven_boss_back.py new file mode 100755 index 0000000..d68db42 --- /dev/null +++ b/scripts/portal/blackHeaven_boss_back.py @@ -0,0 +1 @@ +sm.warp(310070490, 4) \ No newline at end of file diff --git a/scripts/portal/blackbean_portal.py b/scripts/portal/blackbean_portal.py new file mode 100755 index 0000000..f83bc30 --- /dev/null +++ b/scripts/portal/blackbean_portal.py @@ -0,0 +1,2 @@ +if sm.sendAskYesNo("Are you sure you want to leave the battlefield?"): + sm.WarpInstanceOut(120040000) \ No newline at end of file diff --git a/scripts/portal/blackdracoout.py b/scripts/portal/blackdracoout.py new file mode 100755 index 0000000..e002e6f --- /dev/null +++ b/scripts/portal/blackdracoout.py @@ -0,0 +1,3 @@ +# 272000600 +sm.warp(272000500, 2) +sm.dispose() diff --git a/scripts/portal/bmbossfield_out.py b/scripts/portal/bmbossfield_out.py new file mode 100755 index 0000000..ade53a8 --- /dev/null +++ b/scripts/portal/bmbossfield_out.py @@ -0,0 +1,4 @@ +response = sm.sendAskYesNo("If you leave now, your whole party will be warped out. Are you sure you want to leave?") + +if response: + sm.warpInstanceOut(450012500) \ No newline at end of file diff --git a/scripts/portal/book.py b/scripts/portal/book.py new file mode 100755 index 0000000..9f1e63d --- /dev/null +++ b/scripts/portal/book.py @@ -0,0 +1,5 @@ +# id 5 (book3), field 701220350 +sm.setSpeakerType(8) +sm.setParam(57) +sm.setColor(1) +sm.sendNext("Huh? This is the #r#t4034637##k") diff --git a/scripts/portal/bossBlackMage_pt.py b/scripts/portal/bossBlackMage_pt.py new file mode 100755 index 0000000..72ef470 --- /dev/null +++ b/scripts/portal/bossBlackMage_pt.py @@ -0,0 +1,40 @@ +# Damien entry NPC + +# mode, req level, map, death count +destinations = [ + ["Normal", 245, 450013100, 10], +] + +def is_party_eligible(reqlevel, party): + # TODO: check prequest + for member in party.getMembers(): + if member.getLevel() < reqlevel: + return False + + return True + +sm.flipSpeaker() +sm.flipDialoguePlayerAsSpeaker() +sm.setBoxChat() + +dialog = "Do you want to head to the #rTemple of Darkness#k to fight the Black Mage??\r\n" + +for i in range(len(destinations)): + dialog += "#L%d#Go to the Temple of Darkness (%s Mode). (Lv. %d+)#l\r\n" % (i, destinations[i][0], destinations[i][1]) + +dialog += "#L99#Never mind." +response = sm.sendSay(dialog) + +if sm.getParty() is None: + sm.sendSayOkay("Please create a party before going in.") + +elif not sm.isPartyLeader(): + sm.sendSayOkay("Please have your party leader talk to me if you wish to face the Black Mage.") + +elif sm.checkParty() and response != 99: + if is_party_eligible(destinations[response][1], sm.getParty()): + sm.warpInstanceIn(destinations[response][2], True) + sm.setDeathCount(destinations[response][3]) + + else: + sm.sendSayOkay("One or more party members are lacking the prerequisite entry quests, or are below level %d." % destinations[response][1]) \ No newline at end of file diff --git a/scripts/portal/cannon_tuto_06.py b/scripts/portal/cannon_tuto_06.py new file mode 100755 index 0000000..4a7f4ff --- /dev/null +++ b/scripts/portal/cannon_tuto_06.py @@ -0,0 +1,13 @@ +MONKEY = 1096003 + +sm.lockInGameUI(False) +sm.lockInGameUI(True) +sm.forcedInput(4) + +sm.removeEscapeButton() + +sm.setSpeakerID(MONKEY) +sm.reservedEffect("Effect/Direction4.img/cannonshooter/face00") +sm.sendNext("Ook! Ook!") + +sm.lockInGameUI(False) \ No newline at end of file diff --git a/scripts/portal/cannon_tuto_07.py b/scripts/portal/cannon_tuto_07.py new file mode 100755 index 0000000..b49011f --- /dev/null +++ b/scripts/portal/cannon_tuto_07.py @@ -0,0 +1,5 @@ +sm.lockInGameUI(True) +sm.spawnNpc(1096012, -51, -97) +sm.showNpcSpecialActionByTemplateId(1096012, "summon", 0) +sm.forcedInput(0) +sm.forcedInput(2) \ No newline at end of file diff --git a/scripts/portal/cannon_tuto_09.py b/scripts/portal/cannon_tuto_09.py new file mode 100755 index 0000000..953552c --- /dev/null +++ b/scripts/portal/cannon_tuto_09.py @@ -0,0 +1,14 @@ +CUTTER = 1096005 + +sm.removeEscapeButton() +sm.setSpeakerID(CUTTER) +sm.sendNext("All right! Let's go!") + +sm.startQuest(2572) +sm.removeNpc(1096012) +sm.playSound("cannonshooter/fire", 100) +sm.showEffect("Effect/Direction4.img/effect/cannonshooter/flying/0", 7000, 0, 0, -2, -2, False, 0) +sm.showEffect("Effect/Direction4.img/effect/cannonshooter/flying1/0", 7000, 0, 0, -2, -2, False, 0) +sm.sendDelay(800) + +sm.warp(912060300, 0) \ No newline at end of file diff --git a/scripts/portal/cannon_tuto_10.py b/scripts/portal/cannon_tuto_10.py new file mode 100755 index 0000000..16d3ee0 --- /dev/null +++ b/scripts/portal/cannon_tuto_10.py @@ -0,0 +1 @@ +sm.lockInGameUI(False) \ No newline at end of file diff --git a/scripts/portal/captinsg00.py b/scripts/portal/captinsg00.py new file mode 100755 index 0000000..7dfef41 --- /dev/null +++ b/scripts/portal/captinsg00.py @@ -0,0 +1,3 @@ +answer = sm.sendAskYesNo("Would you like to fight Cap Latanica?") +if answer: + sm.warpInstanceIn(541010100) \ No newline at end of file diff --git a/scripts/portal/check_25856.py b/scripts/portal/check_25856.py new file mode 100755 index 0000000..947f07a --- /dev/null +++ b/scripts/portal/check_25856.py @@ -0,0 +1,3 @@ +# id 1 (exit00), field 940010020 +sm.startQuest(25913) +sm.warp(400030000) diff --git a/scripts/portal/check_Portal0.py b/scripts/portal/check_Portal0.py new file mode 100755 index 0000000..8b4997b --- /dev/null +++ b/scripts/portal/check_Portal0.py @@ -0,0 +1,3 @@ +# 272000100 +sm.warp(272000200, 1) +sm.dispose() diff --git a/scripts/portal/check_Portal1.py b/scripts/portal/check_Portal1.py new file mode 100755 index 0000000..cd7787a --- /dev/null +++ b/scripts/portal/check_Portal1.py @@ -0,0 +1,3 @@ +# 272000200 +sm.warp(272000300, 1) +sm.dispose() diff --git a/scripts/portal/check_Portal2.py b/scripts/portal/check_Portal2.py new file mode 100755 index 0000000..2fcaed6 --- /dev/null +++ b/scripts/portal/check_Portal2.py @@ -0,0 +1,3 @@ +# 272000300 +sm.warp(272000310, 1) +sm.dispose() diff --git a/scripts/portal/check_Portal3.py b/scripts/portal/check_Portal3.py new file mode 100755 index 0000000..184e7d1 --- /dev/null +++ b/scripts/portal/check_Portal3.py @@ -0,0 +1,3 @@ +# 272000310 +sm.warp(272000400, 1) +sm.dispose() diff --git a/scripts/portal/check_Portal5.py b/scripts/portal/check_Portal5.py new file mode 100755 index 0000000..7c751ed --- /dev/null +++ b/scripts/portal/check_Portal5.py @@ -0,0 +1,3 @@ +# 272000500 +sm.warp(272000600, 1) +sm.dispose() diff --git a/scripts/portal/check_Portal6.py b/scripts/portal/check_Portal6.py new file mode 100755 index 0000000..ddc7ae7 --- /dev/null +++ b/scripts/portal/check_Portal6.py @@ -0,0 +1,3 @@ +# 272010000 +sm.warp(272010100, 1) +sm.dispose() diff --git a/scripts/portal/check_eNum.py b/scripts/portal/check_eNum.py new file mode 100755 index 0000000..d16d04b --- /dev/null +++ b/scripts/portal/check_eNum.py @@ -0,0 +1,3 @@ +# 272020100 +sm.warp(272020110, 1) +sm.dispose() diff --git a/scripts/portal/check_q20828.py b/scripts/portal/check_q20828.py new file mode 100755 index 0000000..645d845 --- /dev/null +++ b/scripts/portal/check_q20828.py @@ -0,0 +1 @@ +# ? \ No newline at end of file diff --git a/scripts/portal/collision_1820_1.py b/scripts/portal/collision_1820_1.py new file mode 100755 index 0000000..5b5bd1a --- /dev/null +++ b/scripts/portal/collision_1820_1.py @@ -0,0 +1,7 @@ +# id 3 (coll01), field 867201820 +sm.setSpeakerType(3) +sm.setParam(57) +sm.setColor(1) +sm.sendNext("#bGood job! ") +sm.sendSay("#bStay right behind me!") +sm.createQuestWithQRValue(64088, "coll1=1") diff --git a/scripts/portal/collision_1820_2.py b/scripts/portal/collision_1820_2.py new file mode 100755 index 0000000..a293615 --- /dev/null +++ b/scripts/portal/collision_1820_2.py @@ -0,0 +1,13 @@ +# id 4 (coll02), field 867201820 +sm.lockInGameUI(True, False) +sm.createQuestWithQRValue(64088, "coll1=1;coll2=1") +sm.sendDelay(2000) +sm.setSpeakerType(3) +sm.setParam(57) +sm.setColor(1) +sm.sendNext("#b(This might be too far for a jump.)") +sm.sendDelay(2000) +sm.sendNext("#bWe can probably bounce across on that. ") +sm.spawnNpc(9400580, 1690, -500) +sm.showNpcSpecialActionByTemplateId(9400580, "summon", 0) +sm.lockInGameUI(False, True) diff --git a/scripts/portal/collision_1820_3.py b/scripts/portal/collision_1820_3.py new file mode 100755 index 0000000..7a101b7 --- /dev/null +++ b/scripts/portal/collision_1820_3.py @@ -0,0 +1,18 @@ +# id 5 (coll03), field 867201820 +sm.lockInGameUI(True, False) +sm.createQuestWithQRValue(64088, "coll1=1;coll2=1;coll3=1") +sm.setSpeakerType(3) +sm.setParam(57) +sm.setColor(1) +sm.sendNext("#bAlika, do what I did! Jump on that!") +sm.moveNpcByTemplateId(9400580, True, 50, 100) +sm.sendDelay(500) +sm.setMapTaggedObjectVisible("alika01", True, 1, 0) +sm.sendDelay(2000) +sm.setMapTaggedObjectVisible("alika01", False, 0, 0) +sm.setParam(37) +sm.setInnerOverrideSpeakerTemplateID(9400580) # Alika +sm.sendNext("#face3#Haaaaa! ") +sm.setParam(57) +sm.sendSay("#bGood job! ") +sm.lockInGameUI(False, True) diff --git a/scripts/portal/collision_1820_4.py b/scripts/portal/collision_1820_4.py new file mode 100755 index 0000000..4d09b3a --- /dev/null +++ b/scripts/portal/collision_1820_4.py @@ -0,0 +1,19 @@ +# id 6 (coll04), field 867201820 +sm.lockInGameUI(True, False) +sm.createQuestWithQRValue(64088, "coll1=1;coll2=1;coll3=1;coll4=1") +sm.sendDelay(900) +sm.setMapTaggedObjectVisible("alika02", True, 1, 0) +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(9400580) # Alika +sm.sendNext("#face3#Hyaaaaa! ") +sm.sendDelay(1500) +sm.setMapTaggedObjectVisible("alika02", False, 0, 0) +sm.spawnNpc(9400580, 135, -690) +sm.showNpcSpecialActionByTemplateId(9400580, "summon", 0) +sm.sendNext("#face1#The wind is here, too... ") +sm.sendSay("#face2#I guess we have the winds on our side! ") +sm.moveNpcByTemplateId(9400580, True, 150, 30) +sm.sendDelay(1000) +sm.lockInGameUI(False, True) diff --git a/scripts/portal/collision_1820_5.py b/scripts/portal/collision_1820_5.py new file mode 100755 index 0000000..7923f57 --- /dev/null +++ b/scripts/portal/collision_1820_5.py @@ -0,0 +1,93 @@ +# id 7 (coll05), field 867201820 +sm.lockInGameUI(True, False) +sm.createQuestWithQRValue(64088, "coll1=1;coll2=1;coll3=1;coll4=1;coll5=1") +sm.createQuestWithQRValue(64088, "coll1=1;coll2=1;coll3=1;coll4=1;coll5=1;chk1=1") +sm.spawnNpc(9400580, -340, -585) +sm.showNpcSpecialActionByTemplateId(9400580, "summon", 0) +sm.spawnNpc(9400676, 200, 400) +sm.showNpcSpecialActionByTemplateId(9400676, "summon", 0) +sm.spawnNpc(9400642, 120, 400) +sm.showNpcSpecialActionByTemplateId(9400642, "summon", 0) +sm.spawnNpc(9400642, 50, 400) +sm.showNpcSpecialActionByTemplateId(9400642, "summon", 0) +sm.spawnNpc(9400676, -30, 400) +sm.showNpcSpecialActionByTemplateId(9400676, "summon", 0) +sm.spawnNpc(9400642, -100, 400) +sm.showNpcSpecialActionByTemplateId(9400642, "summon", 0) +sm.spawnNpc(9400642, -180, 400) +sm.showNpcSpecialActionByTemplateId(9400642, "summon", 0) +sm.spawnNpc(9400676, -280, 400) +sm.showNpcSpecialActionByTemplateId(9400676, "summon", 0) +sm.spawnNpc(9400675, -350, 400) +sm.showNpcSpecialActionByTemplateId(9400675, "summon", 0) +sm.spawnNpc(9400674, -430, 400) +sm.showNpcSpecialActionByTemplateId(9400674, "summon", 0) +sm.spawnNpc(9400641, -500, 400) +sm.showNpcSpecialActionByTemplateId(9400641, "summon", 0) +sm.spawnNpc(9400675, -560, 400) +sm.showNpcSpecialActionByTemplateId(9400675, "summon", 0) +sm.spawnNpc(9400641, -620, 400) +sm.showNpcSpecialActionByTemplateId(9400641, "summon", 0) +sm.spawnNpc(9400667, -800, 400) +sm.showNpcSpecialActionByTemplateId(9400667, "summon", 0) +sm.spawnNpc(9400672, -850, 400) +sm.showNpcSpecialActionByTemplateId(9400672, "summon", 0) +sm.spawnNpc(9400674, -910, 400) +sm.showNpcSpecialActionByTemplateId(9400674, "summon", 0) +sm.spawnNpc(9400675, -970, 400) +sm.showNpcSpecialActionByTemplateId(9400675, "summon", 0) +sm.spawnNpc(9400666, -1050, 400) +sm.showNpcSpecialActionByTemplateId(9400666, "summon", 0) +sm.spawnNpc(9400674, -1120, 400) +sm.showNpcSpecialActionByTemplateId(9400674, "summon", 0) +sm.spawnNpc(9400676, -1200, 400) +sm.showNpcSpecialActionByTemplateId(9400676, "summon", 0) +sm.spawnNpc(9400672, -1250, 400) +sm.showNpcSpecialActionByTemplateId(9400672, "summon", 0) +sm.spawnNpc(9400668, -1400, 400) +sm.showNpcSpecialActionByTemplateId(9400668, "summon", 0) +sm.moveNpcByTemplateId(9400676, False, 200, 10) +sm.moveNpcByTemplateId(9400642, False, 200, 10) +sm.moveNpcByTemplateId(9400642, False, 200, 10) +sm.moveNpcByTemplateId(9400676, False, 200, 10) +sm.moveNpcByTemplateId(9400642, False, 200, 10) +sm.moveNpcByTemplateId(9400642, False, 200, 10) +sm.moveNpcByTemplateId(9400676, False, 200, 10) +sm.moveNpcByTemplateId(9400675, False, 200, 10) +sm.moveNpcByTemplateId(9400674, False, 200, 10) +sm.moveNpcByTemplateId(9400641, False, 200, 10) +sm.moveNpcByTemplateId(9400675, False, 200, 10) +sm.moveNpcByTemplateId(9400641, False, 200, 10) +sm.moveNpcByTemplateId(9400667, False, 200, 10) +sm.moveNpcByTemplateId(9400672, False, 200, 10) +sm.moveNpcByTemplateId(9400674, False, 200, 10) +sm.moveNpcByTemplateId(9400675, False, 200, 10) +sm.moveNpcByTemplateId(9400666, False, 200, 10) +sm.moveNpcByTemplateId(9400674, False, 200, 10) +sm.moveNpcByTemplateId(9400676, False, 200, 10) +sm.moveNpcByTemplateId(9400672, False, 200, 10) +sm.moveNpcByTemplateId(9400668, False, 200, 10) +sm.sendDelay(2000) +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(9400580) # Alika +sm.sendNext("#face5#What in the world is that... ") +sm.sendDelay(1500) +sm.setParam(57) +sm.sendNext("#bWhere would they be going? ") +sm.setParam(37) +sm.sendSay("#face5##h0#... ") +sm.sendDelay(1500) +sm.sendNext("#face5#Do you see those ribbons? ") +sm.sendDelay(2000) +sm.sendNext("#face5#Are they headed to... ") +sm.setParam(57) +sm.sendSay("#b...No way. ") +sm.setParam(37) +sm.sendSay("#face5#Svarti? ") +sm.sendDelay(1000) +sm.setParam(57) +sm.sendNext("#bWait a sec. Let me go look! ") +sm.lockInGameUI(False, True) +sm.setMapTaggedObjectVisible("up00", True, 0, 0) diff --git a/scripts/portal/collision_D5.py b/scripts/portal/collision_D5.py new file mode 100755 index 0000000..2a2f3e5 --- /dev/null +++ b/scripts/portal/collision_D5.py @@ -0,0 +1,3 @@ +# id 11 (Colldir05), field 867200400 +sm.completeQuestNoCheck(64023) +sm.warp(867200405) diff --git a/scripts/portal/collision_E2.py b/scripts/portal/collision_E2.py new file mode 100755 index 0000000..fddac63 --- /dev/null +++ b/scripts/portal/collision_E2.py @@ -0,0 +1,25 @@ +# id 3 (pcs02), field 867200310 +sm.lockInGameUI(True, False) +sm.spawnNpc(9400667, 1350, 76) +sm.showNpcSpecialActionByTemplateId(9400667, "summon", 0) +sm.moveNpcByTemplateId(9400667, True, 450, 200) +sm.sendDelay(500) +sm.sendDelay(500) +sm.showNpcSpecialActionByTemplateId(9400667, "jumpattack", 2160) +sm.sendDelay(2500) +sm.playSound("Sound/PL_MONAD.img/EP1/ACT1/burning1", 128) +sm.setMapTaggedObjectVisible("fire1", True, 0, 0) +sm.sendDelay(500) +sm.showNpcSpecialActionByTemplateId(9400667, "hit", 200) +sm.sendDelay(300) +sm.showNpcSpecialActionByTemplateId(9400667, "ear", 1680) +sm.sendDelay(1700) +sm.flipNpcByTemplateId(9400667, False) +sm.moveNpcByTemplateId(9400667, False, 100, 300) +sm.sendDelay(500) +sm.setMapTaggedObjectVisible("guide1", True, 0, 0) +sm.sendDelay(500) +sm.sendDelay(500) +sm.sendDelay(1000) +sm.lockInGameUI(False, True) +sm.createQuestWithQRValue(64015, "chk1=1;chk2=1;slaDir=1;chk3=1;chk4=0;chk5=0;chk6=0;chk7=0") diff --git a/scripts/portal/comerz_potal00.py b/scripts/portal/comerz_potal00.py new file mode 100755 index 0000000..c15dc98 --- /dev/null +++ b/scripts/portal/comerz_potal00.py @@ -0,0 +1,3 @@ +# 865000000 +sm.warp(865020000, 3) +sm.dispose() diff --git a/scripts/portal/commerce_move.py b/scripts/portal/commerce_move.py new file mode 100755 index 0000000..e28094e --- /dev/null +++ b/scripts/portal/commerce_move.py @@ -0,0 +1 @@ +sm.teleportInField(0, 0) \ No newline at end of file diff --git a/scripts/portal/connect1.py b/scripts/portal/connect1.py new file mode 100755 index 0000000..00cb399 --- /dev/null +++ b/scripts/portal/connect1.py @@ -0,0 +1 @@ +sm.openNpc(9075308) \ No newline at end of file diff --git a/scripts/portal/connect2.py b/scripts/portal/connect2.py new file mode 100755 index 0000000..5c9f26f --- /dev/null +++ b/scripts/portal/connect2.py @@ -0,0 +1 @@ +sm.openNpc(9075309) \ No newline at end of file diff --git a/scripts/portal/connect3.py b/scripts/portal/connect3.py new file mode 100755 index 0000000..fad075a --- /dev/null +++ b/scripts/portal/connect3.py @@ -0,0 +1 @@ +sm.openNpc(9075310) \ No newline at end of file diff --git a/scripts/portal/connect4.py b/scripts/portal/connect4.py new file mode 100755 index 0000000..3cbc65d --- /dev/null +++ b/scripts/portal/connect4.py @@ -0,0 +1 @@ +sm.openNpc(9075311) \ No newline at end of file diff --git a/scripts/portal/connect5.py b/scripts/portal/connect5.py new file mode 100755 index 0000000..5cc9308 --- /dev/null +++ b/scripts/portal/connect5.py @@ -0,0 +1 @@ +sm.openNpc(9075312) \ No newline at end of file diff --git a/scripts/portal/connect6.py b/scripts/portal/connect6.py new file mode 100755 index 0000000..15a590e --- /dev/null +++ b/scripts/portal/connect6.py @@ -0,0 +1 @@ +sm.openNpc(9075313) \ No newline at end of file diff --git a/scripts/portal/connect7.py b/scripts/portal/connect7.py new file mode 100755 index 0000000..b2b5dbf --- /dev/null +++ b/scripts/portal/connect7.py @@ -0,0 +1 @@ +sm.openNpc(9075314) \ No newline at end of file diff --git a/scripts/portal/connect8.py b/scripts/portal/connect8.py new file mode 100755 index 0000000..b2b5dbf --- /dev/null +++ b/scripts/portal/connect8.py @@ -0,0 +1 @@ +sm.openNpc(9075314) \ No newline at end of file diff --git a/scripts/portal/connect9.py b/scripts/portal/connect9.py new file mode 100755 index 0000000..1296b80 --- /dev/null +++ b/scripts/portal/connect9.py @@ -0,0 +1 @@ +sm.openNpc(9075315) \ No newline at end of file diff --git a/scripts/portal/connect_UIOpen.py b/scripts/portal/connect_UIOpen.py new file mode 100755 index 0000000..c3c30a2 --- /dev/null +++ b/scripts/portal/connect_UIOpen.py @@ -0,0 +1,3 @@ +# Azwan refuge zone entrance + +sm.openNpc(2183003) \ No newline at end of file diff --git a/scripts/portal/contactDragon.py b/scripts/portal/contactDragon.py new file mode 100755 index 0000000..678403d --- /dev/null +++ b/scripts/portal/contactDragon.py @@ -0,0 +1,2 @@ +#todo effects +sm.warp(900010200, 0) \ No newline at end of file diff --git a/scripts/portal/crane_MR.py b/scripts/portal/crane_MR.py new file mode 100755 index 0000000..dcdc0a7 --- /dev/null +++ b/scripts/portal/crane_MR.py @@ -0,0 +1,3 @@ +# 200090300 +sm.warp(250000100, 0) +sm.dispose() diff --git a/scripts/portal/crane_SS.py b/scripts/portal/crane_SS.py new file mode 100755 index 0000000..3a72477 --- /dev/null +++ b/scripts/portal/crane_SS.py @@ -0,0 +1,4 @@ +# 200090310 + +sm.warp(200000141, 0) +sm.dispose() diff --git a/scripts/portal/createTower.py b/scripts/portal/createTower.py new file mode 100755 index 0000000..0d8b5c0 --- /dev/null +++ b/scripts/portal/createTower.py @@ -0,0 +1,2 @@ +# id 9 (create01), field 867200330 +sm.setMapTaggedObjectVisible("hideRope01", True, 0, 0) diff --git a/scripts/portal/crimsonNext.py b/scripts/portal/crimsonNext.py new file mode 100755 index 0000000..cf5de33 --- /dev/null +++ b/scripts/portal/crimsonNext.py @@ -0,0 +1,5 @@ +if sm.hasQuest(31258): + sm.warpInstanceIn(301070010, 4) + sm.spawnMob(8148012, 138, 38, False) +else: + sm.warp(301070000, 4) diff --git a/scripts/portal/crimsonPZ.py b/scripts/portal/crimsonPZ.py new file mode 100755 index 0000000..b0d3512 --- /dev/null +++ b/scripts/portal/crimsonPZ.py @@ -0,0 +1 @@ +sm.warp(301060000, 1) diff --git a/scripts/portal/crimsonWood2.py b/scripts/portal/crimsonWood2.py new file mode 100755 index 0000000..95336fc --- /dev/null +++ b/scripts/portal/crimsonWood2.py @@ -0,0 +1 @@ +sm.warp(301020000, 1) diff --git a/scripts/portal/crimsonWood3.py b/scripts/portal/crimsonWood3.py new file mode 100755 index 0000000..80f9d88 --- /dev/null +++ b/scripts/portal/crimsonWood3.py @@ -0,0 +1 @@ +sm.warp(301030000, 1) diff --git a/scripts/portal/crimsonWood4.py b/scripts/portal/crimsonWood4.py new file mode 100755 index 0000000..36da0a4 --- /dev/null +++ b/scripts/portal/crimsonWood4.py @@ -0,0 +1 @@ +sm.warp(301040000, 1) diff --git a/scripts/portal/crossHunterAgit.py b/scripts/portal/crossHunterAgit.py new file mode 100755 index 0000000..b8a11e9 --- /dev/null +++ b/scripts/portal/crossHunterAgit.py @@ -0,0 +1 @@ +sm.warp(931050500, 1) \ No newline at end of file diff --git a/scripts/portal/cyg_tutoPortal.py b/scripts/portal/cyg_tutoPortal.py new file mode 100755 index 0000000..c19d1ce --- /dev/null +++ b/scripts/portal/cyg_tutoPortal.py @@ -0,0 +1,8 @@ +# 130030101 - Forest of Beginnings -> Physical Training Yard +KIMU = 1102004 + +if sm.hasQuest(20827): # What's Next? + sm.warp(130030102) +else: + sm.setSpeakerID(KIMU) + sm.sendSayOkay("Proceed with the quest #bWhat's Next#k to continue.") \ No newline at end of file diff --git a/scripts/portal/cygnusre01.py b/scripts/portal/cygnusre01.py new file mode 100755 index 0000000..8b9f4f1 --- /dev/null +++ b/scripts/portal/cygnusre01.py @@ -0,0 +1,3 @@ +# 100000200 - Henesys Park -> Pet-Walking Road +sm.warp(100000202, 5) +sm.dispose() diff --git a/scripts/portal/davy_exit.py b/scripts/portal/davy_exit.py new file mode 100755 index 0000000..e6a32ab --- /dev/null +++ b/scripts/portal/davy_exit.py @@ -0,0 +1,6 @@ +ENTRANCE_MAP = 251010404 + +if sm.getFieldID() == ENTRANCE_MAP: + sm.warp(910002000) +else: + sm.chat("unscripted portal davy_exit") \ No newline at end of file diff --git a/scripts/portal/davy_next0.py b/scripts/portal/davy_next0.py new file mode 100755 index 0000000..e6c5861 --- /dev/null +++ b/scripts/portal/davy_next0.py @@ -0,0 +1,5 @@ +# 925100000 - First Map of the Lord Pirate PQ +if sm.getReactorQuantity() > 7 and sm.hasMobsInField(): + sm.chat("The portal is not opened.") +else: + sm.warpInstanceIn(sm.getFieldID() + 100, 0, True) diff --git a/scripts/portal/davy_next1.py b/scripts/portal/davy_next1.py new file mode 100755 index 0000000..84dd4ad --- /dev/null +++ b/scripts/portal/davy_next1.py @@ -0,0 +1,7 @@ +from net.swordie.ms.constants import GameConstants + +# 925100100 - Second Map of the Lord Pirate PQ +if int(sm.getQRValue(GameConstants.LORD_PIRATE_QUEST)) < 3: + sm.chat("The portal is not opened.") +else: + sm.warpInstanceIn(sm.getFieldID() + 100, 0, True) \ No newline at end of file diff --git a/scripts/portal/davy_next2.py b/scripts/portal/davy_next2.py new file mode 100755 index 0000000..2a51162 --- /dev/null +++ b/scripts/portal/davy_next2.py @@ -0,0 +1,5 @@ +# 925100200 - Third Map of the Lord Pirate PQ +if sm.getReactorQuantity() > 8 or sm.hasMobsInField(): # due to invisible reactor hidden on the map + sm.chat("The portal is not opened.") +else: + sm.warpInstanceIn(sm.getFieldID() + 100, 0, True) diff --git a/scripts/portal/davy_next3.py b/scripts/portal/davy_next3.py new file mode 100755 index 0000000..d3a220f --- /dev/null +++ b/scripts/portal/davy_next3.py @@ -0,0 +1,5 @@ +# 925100300 - Fourth Map of the Lord Pirate PQ +if sm.getReactorQuantity() > 8 or sm.hasMobsInField(): # due to invisible reactor hidden on the map + sm.chat("The portal is not opened.") +else: + sm.warpInstanceIn(sm.getFieldID() + 100, 0, True) diff --git a/scripts/portal/davy_next4.py b/scripts/portal/davy_next4.py new file mode 100755 index 0000000..0200ee2 --- /dev/null +++ b/scripts/portal/davy_next4.py @@ -0,0 +1,5 @@ +# 925100400 - Fifth Map of the Lord Pirate PQ +if sm.getReactorQuantity() > 1: + sm.chat("The portal is not opened.") +else: + sm.warpInstanceIn(sm.getFieldID() + 100, 0, True) #Boss Map of Lord Pirate PQ diff --git a/scripts/portal/demonOutCheck.py b/scripts/portal/demonOutCheck.py new file mode 100755 index 0000000..e78581a --- /dev/null +++ b/scripts/portal/demonOutCheck.py @@ -0,0 +1 @@ +sm.warpInstanceOut(310010000, 0) \ No newline at end of file diff --git a/scripts/portal/dir01_867201540.py b/scripts/portal/dir01_867201540.py new file mode 100755 index 0000000..f93f992 --- /dev/null +++ b/scripts/portal/dir01_867201540.py @@ -0,0 +1,17 @@ +# id 2 (dir01), field 867201540 +sm.sendDelay(250) +sm.forcedMove(True, 150) +sm.sendDelay(1000) +sm.setSpeakerType(3) +sm.setParam(57) +sm.setColor(1) +sm.sendNext("#bIt seems too steep... to go down... ") +sm.setParam(37) +sm.setInnerOverrideSpeakerTemplateID(9400580) # Alika +sm.sendSay("#face0#The wind is blowing on that side again! I think we just need to jump down to that tree. ") +sm.setParam(57) +sm.sendNext("#bAlika... are you going to be all right? ") +sm.setParam(37) +sm.sendSay("#face1#I'll just hang onto your back, #h0#! ") +sm.lockInGameUI(False, True) +sm.createQuestWithQRValue(64078, "chk1=2") diff --git a/scripts/portal/dir02_867201540.py b/scripts/portal/dir02_867201540.py new file mode 100755 index 0000000..e69f47d --- /dev/null +++ b/scripts/portal/dir02_867201540.py @@ -0,0 +1,18 @@ +# id 3 (dir02), field 867201540 +sm.lockInGameUI(True, False) +sm.sendDelay(1000) +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(9400580) # Alika +sm.sendNext("#face0#What do we do now? ") +sm.sendDelay(1000) +sm.forcedMove(True, 140) +sm.sendDelay(1000) +sm.setParam(57) +sm.sendNext("#bHold on tight! ") +sm.forcedInput(5) +sm.createQuestWithQRValue(64078, "chk1=3") +sm.sendDelay(1000) +sm.lockInGameUI(False, True) +sm.warp(867201550) diff --git a/scripts/portal/dir_1560_1.py b/scripts/portal/dir_1560_1.py new file mode 100755 index 0000000..1ce7fcf --- /dev/null +++ b/scripts/portal/dir_1560_1.py @@ -0,0 +1,3 @@ +# id 1 (dir01), field 867201560 +sm.lockInGameUI(True, False) +sm.sendDelay(500) diff --git a/scripts/portal/dir_1760.py b/scripts/portal/dir_1760.py new file mode 100755 index 0000000..3a14392 --- /dev/null +++ b/scripts/portal/dir_1760.py @@ -0,0 +1,24 @@ +# id 2 (collision), field 867201760 +sm.lockInGameUI(True, False) +sm.sendDelay(500) +sm.sendDelay(3000) +sm.forcedMove(True, 200) +sm.sendDelay(2000) +sm.setSpeakerType(3) +sm.setParam(57) +sm.setColor(1) +sm.sendNext("#b(This may be too gross for Alika to hold onto.) ") +sm.sendDelay(250) +sm.forcedFlip(True) +sm.sendDelay(500) +sm.forcedFlip(True) +sm.sendDelay(500) +sm.forcedFlip(True) +sm.sendDelay(2000) +sm.forcedFlip(True) +sm.sendNext("#b(Maybe just use it for now.) ") +sm.forcedFlip(True) +sm.forcedMove(True, 100) +sm.createQuestWithQRValue(64084, "chk1=1") +sm.sendDelay(1000) +sm.lockInGameUI(False, True) diff --git a/scripts/portal/dir_867201800.py b/scripts/portal/dir_867201800.py new file mode 100755 index 0000000..4fad08d --- /dev/null +++ b/scripts/portal/dir_867201800.py @@ -0,0 +1,13 @@ +# id 3 (collision), field 867201800 +sm.setSpeakerType(3) +sm.setParam(57) +sm.setColor(1) +sm.sendNext("#bI feel like we're seeing more and more traps. ") +sm.setParam(37) +sm.setInnerOverrideSpeakerTemplateID(9400580) # Alika +sm.sendSay("#face0##h0#! There! ") +sm.sendNext("#face0#Thankfully, it looks pretty much untouched by monsters. ") +sm.sendSay("#face0#Should we go in? ") +sm.setParam(57) +sm.sendSay("#bYeah, let's go. ") +sm.startQuest(64085) diff --git a/scripts/portal/dir_867201810.py b/scripts/portal/dir_867201810.py new file mode 100755 index 0000000..8ea9e5c --- /dev/null +++ b/scripts/portal/dir_867201810.py @@ -0,0 +1,6 @@ +# id 1 (dir01), field 867201803 +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(9400580) # Alika +sm.sendNext("#face5#Gasp... ") diff --git a/scripts/portal/dojang_exit.py b/scripts/portal/dojang_exit.py new file mode 100755 index 0000000..74ed0e1 --- /dev/null +++ b/scripts/portal/dojang_exit.py @@ -0,0 +1,11 @@ +# Leaving Mu Lung Dojo +oldFieldID = sm.getReturnField() +if oldFieldID == 0 or oldFieldID == 910000000: + sm.chat("(Portal) Cannot find your previous map ID, warping to Henesys.") + map = 100000000 + portal = 0 +else: + map = oldFieldID + portal = 0 +sm.warp(map, portal) +sm.dispose() \ No newline at end of file diff --git a/scripts/portal/dojang_next.py b/scripts/portal/dojang_next.py new file mode 100755 index 0000000..64071fc --- /dev/null +++ b/scripts/portal/dojang_next.py @@ -0,0 +1,2 @@ +sm.teleportToPortal(1) +sm.dispose() diff --git a/scripts/portal/dojang_up.py b/scripts/portal/dojang_up.py new file mode 100755 index 0000000..c38530a --- /dev/null +++ b/scripts/portal/dojang_up.py @@ -0,0 +1,13 @@ +from time import sleep + +currentMap = sm.getFieldID() +if sm.hasMobsInField(): + sm.chat("Kill all monsters first.") +else: + #add delay to prevent bypassing + sleep(2) + if currentMap == 925076300: + sm.warpInstanceOut(925020003, 1) + elif currentMap / 10000 == 92507: + sm.warp(currentMap+100, 0) + #chr.setDojoPoints(current_dojoPoints+100) diff --git a/scripts/portal/donghwa_out.py b/scripts/portal/donghwa_out.py new file mode 100755 index 0000000..79f35ed --- /dev/null +++ b/scripts/portal/donghwa_out.py @@ -0,0 +1,7 @@ +# Russian Roulette Exit Portal + +DIZZY_NPC = 9000155 # some roulette-looking npc + +sm.setSpeakerID(DIZZY_NPC) +if sm.sendAskYesNo("Are you sure you want to leave? You won't be able to return!"): + sm.warpNoReturn(sm.getPreviousFieldID()) \ No newline at end of file diff --git a/scripts/portal/downtown2015.py b/scripts/portal/downtown2015.py new file mode 100755 index 0000000..99a7008 --- /dev/null +++ b/scripts/portal/downtown2015.py @@ -0,0 +1,4 @@ +# 230030200 + +sm.warp(224000001, 0) +sm.dispose() diff --git a/scripts/portal/dracoout.py b/scripts/portal/dracoout.py new file mode 100755 index 0000000..0f713d2 --- /dev/null +++ b/scripts/portal/dracoout.py @@ -0,0 +1,2 @@ +# Leafre station exit towrads leafre station entrance +sm.warp(240000100, 2) \ No newline at end of file diff --git a/scripts/portal/dragoneyes.py b/scripts/portal/dragoneyes.py new file mode 100755 index 0000000..972d5fc --- /dev/null +++ b/scripts/portal/dragoneyes.py @@ -0,0 +1,4 @@ +# Portal & Starting Quest for Evan Intro | Dream World: Dream Forest (900010200) +# Author: Tiger + +# TODO: Not really sure what goes here. diff --git a/scripts/portal/dropPortalGiantBoss.py b/scripts/portal/dropPortalGiantBoss.py new file mode 100755 index 0000000..7e18b8e --- /dev/null +++ b/scripts/portal/dropPortalGiantBoss.py @@ -0,0 +1,4 @@ +map = 863010100 +portal = 0 +sm.warp(map, portal) +sm.dispose() diff --git a/scripts/portal/drop_out.py b/scripts/portal/drop_out.py new file mode 100755 index 0000000..c2d037b --- /dev/null +++ b/scripts/portal/drop_out.py @@ -0,0 +1,5 @@ +# id 3 (out02), field 301050200 +sm.setSpeakerType(8) +sm.setParam(16) +res = sm.sendAskYesNo("You seem to have other priorities. Maybe you should come back to this later.") +sm.warp(301000000) diff --git a/scripts/portal/ds_tuto_2_0.py b/scripts/portal/ds_tuto_2_0.py new file mode 100755 index 0000000..3547860 --- /dev/null +++ b/scripts/portal/ds_tuto_2_0.py @@ -0,0 +1,44 @@ +ARKARIUM = 2159309 + +sm.completeQuestNoRewards(23204) +sm.deleteQuest(23204) +sm.lockInGameUI(True) +sm.forcedInput(2) +sm.sendDelay(10) + +sm.forcedInput(0) + +sm.removeEscapeButton() +sm.setSpeakerID(ARKARIUM) +sm.sendNext("Oh, look, it's #h0#? How was your trip? I hope it was worth disobeying your orders. And how was your family? Are they looking well? Heh heh heh...") + +sm.setPlayerAsSpeaker() +sm.sendSay("...I don't have time for you, #r#p2159309##k. Move, or I will MAKE you move.") + +sm.setSpeakerID(ARKARIUM) +sm.sendSay("Tsk, tsk... Leaving without approval, disobeying orders... And that rebellious look... No, I don't think I'll allow you to see the Black Mage.") + +sm.showBalloonMsg("Effect/Direction6.img/effect/tuto/balloonMsg1/14", 2000) +sm.forcedAction(332, 0) +sm.playSound("demonSlayer/31111003", 100) +sm.showEffect("Skill/3111.img/skill/31111003/effect", 0, 0, 0) +sm.showNpcSpecialActionByTemplateId(ARKARIUM, "teleportation", 0) +sm.sendDelay(570) + +sm.removeNpc(ARKARIUM) +sm.sendDelay(1200) + +sm.spawnNpc(ARKARIUM, 180, 50) +sm.showNpcSpecialActionByTemplateId(ARKARIUM, "summon", 0) +sm.sendDelay(360) + +sm.setSpeakerID(ARKARIUM) +sm.sendNext("Really? This is treason, you know! Are you really so weak that losing your family drives you to this? Pathetic!") + +sm.showBalloonMsg("Effect/Direction6.img/effect/tuto/balloonMsg1/15", 2000) +sm.forcedInput(1) +sm.dispose() + + + + diff --git a/scripts/portal/ds_tuto_home.py b/scripts/portal/ds_tuto_home.py new file mode 100755 index 0000000..369505e --- /dev/null +++ b/scripts/portal/ds_tuto_home.py @@ -0,0 +1,8 @@ +if sm.hasQuest(23201) or sm.hasQuestCompleted(23201): + sm.dispose() +elif not sm.hasQuest(23200) and not sm.hasQuestCompleted(23200): + sm.avatarOriented("Effect/OnUserEff.img/normalEffect/demonSlayer/chatBalloon1") + sm.startQuestNoCheck(23200) +elif sm.hasQuest(23200): + sm.avatarOriented("Effect/OnUserEff.img/normalEffect/demonSlayer/chatBalloon0") +sm.dispose(); \ No newline at end of file diff --git a/scripts/portal/dubl2TutoPT.py b/scripts/portal/dubl2TutoPT.py new file mode 100755 index 0000000..60408b2 --- /dev/null +++ b/scripts/portal/dubl2TutoPT.py @@ -0,0 +1,2 @@ +if sm.hasQuest(2600): + sm.warp(103050910, 0) \ No newline at end of file diff --git a/scripts/portal/dublportal100.py b/scripts/portal/dublportal100.py new file mode 100755 index 0000000..ad0d300 --- /dev/null +++ b/scripts/portal/dublportal100.py @@ -0,0 +1,3 @@ +# 103050100 +sm.warp(103050200, 4) +sm.dispose() diff --git a/scripts/portal/east00_866101000.py b/scripts/portal/east00_866101000.py new file mode 100755 index 0000000..a451db7 --- /dev/null +++ b/scripts/portal/east00_866101000.py @@ -0,0 +1,3 @@ +# 106030302 +if sm.hasQuest(59002): + sm.warpInstanceIn(866106000, 0) diff --git a/scripts/portal/end_cygtuto.py b/scripts/portal/end_cygtuto.py new file mode 100755 index 0000000..3adefa0 --- /dev/null +++ b/scripts/portal/end_cygtuto.py @@ -0,0 +1,6 @@ +sm.startQuest(20838) +sm.completeQuest(20838) +sm.startQuest(20839) +sm.giveExp(3500) +sm.warp(130030006, 0) +sm.dispose() \ No newline at end of file diff --git a/scripts/portal/enterAchter.py b/scripts/portal/enterAchter.py new file mode 100755 index 0000000..c69cd35 --- /dev/null +++ b/scripts/portal/enterAchter.py @@ -0,0 +1,5 @@ +map = 100000201 +portal = 4 + +sm.warp(map, portal) +sm.dispose() diff --git a/scripts/portal/enterBlackMine.py b/scripts/portal/enterBlackMine.py new file mode 100755 index 0000000..b6a2e4f --- /dev/null +++ b/scripts/portal/enterBlackMine.py @@ -0,0 +1,3 @@ +# Portal from Dry Road: Road to the Mine 2 to Dry Road: Mine Entrance +sm.warp(310040200, 0) +sm.dispose() \ No newline at end of file diff --git a/scripts/portal/enterBlackWing.py b/scripts/portal/enterBlackWing.py new file mode 100755 index 0000000..211bfed --- /dev/null +++ b/scripts/portal/enterBlackWing.py @@ -0,0 +1,8 @@ +# 310040200 + +BLACKWING_HAT = 1003134 + +if sm.hasItem(BLACKWING_HAT): + sm.warp(310050000, 1) +else: + sm.chat("You need a disguise to enter.") diff --git a/scripts/portal/enterDangerHair.py b/scripts/portal/enterDangerHair.py new file mode 100755 index 0000000..41a50bf --- /dev/null +++ b/scripts/portal/enterDangerHair.py @@ -0,0 +1,3 @@ +# 223010100 +sm.warp(310000003, 1) +sm.dispose() diff --git a/scripts/portal/enterDisguise5.py b/scripts/portal/enterDisguise5.py new file mode 100755 index 0000000..2b1213b --- /dev/null +++ b/scripts/portal/enterDisguise5.py @@ -0,0 +1,3 @@ +# 130010200 - Training forest III -> Entrance to the drill hall +sm.warp(130020000, 0) +sm.dispose() diff --git a/scripts/portal/enterDollcave.py b/scripts/portal/enterDollcave.py new file mode 100755 index 0000000..14f0c5a --- /dev/null +++ b/scripts/portal/enterDollcave.py @@ -0,0 +1,4 @@ +# 102010100 + +sm.chatRed("There seems to be a mysterious presence blocking you from entering.") +sm.dispose() diff --git a/scripts/portal/enterDublTuto.py b/scripts/portal/enterDublTuto.py new file mode 100755 index 0000000..abe4bf5 --- /dev/null +++ b/scripts/portal/enterDublTuto.py @@ -0,0 +1 @@ +sm.warp(103050500, 4)# quest 2605 \ No newline at end of file diff --git a/scripts/portal/enterHRpt.py b/scripts/portal/enterHRpt.py new file mode 100755 index 0000000..43db9b9 --- /dev/null +++ b/scripts/portal/enterHRpt.py @@ -0,0 +1,5 @@ +# 222020000 - Ludi tower: Helios Tower (CoK 3rd job portal) +if not sm.hasQuest(20881) and sm.isComplete(20880): # 3rd job quest + sm.chat("Only knights looking to job advance to the third job may enter here.") +else: + sm.warpInstanceIn(922030400, 0, False) diff --git a/scripts/portal/enterHonnouji.py b/scripts/portal/enterHonnouji.py new file mode 100755 index 0000000..76aafb7 --- /dev/null +++ b/scripts/portal/enterHonnouji.py @@ -0,0 +1,8 @@ +# Portal in Field: Momijigaoka : Momijigahara 2 (807020100) +# Used for Kanna's quest -> Honnou-ji Infiltration 1 & 2 (57436, 57437) +# Author: Tiger + +if sm.hasQuest(57436) or sm.hasQuest(57437): # Honnou-ji Infiltration 1 & 2 + sm.warpInstanceIn(807050200) # Honnou-ji : Honnou-ji Eastern Wall +else: + chr.chatMessage("You may not enter right now.") diff --git a/scripts/portal/enterInfo.py b/scripts/portal/enterInfo.py new file mode 100755 index 0000000..dd462d3 --- /dev/null +++ b/scripts/portal/enterInfo.py @@ -0,0 +1,4 @@ +# Created by MechAviv +# ID :: [104000000] +# Lith Harbor : Lith Harbor +sm.warp(104000004, 1) \ No newline at end of file diff --git a/scripts/portal/enterMCave.py b/scripts/portal/enterMCave.py new file mode 100755 index 0000000..8760e3d --- /dev/null +++ b/scripts/portal/enterMCave.py @@ -0,0 +1,11 @@ +# 101020400 +if sm.hasQuest(21201): + sm.warpInstanceIn(914021000, 1) + sm.addQRValue(21203, "0") + sm.setInstanceTime(15*60) +if sm.hasQuest(21302): + sm.warpInstanceIn(914022100, 0) + sm.setQRValue(21203, "1", False) + sm.setInstanceTime(20*60) +else: + chr.chatMessage("The mirror is blocking you. You may not enter at this stage.") \ No newline at end of file diff --git a/scripts/portal/enterMagiclibrar.py b/scripts/portal/enterMagiclibrar.py new file mode 100755 index 0000000..11a62c3 --- /dev/null +++ b/scripts/portal/enterMagiclibrar.py @@ -0,0 +1,3 @@ +# 101000000 +sm.warp(101000003, 8) +sm.dispose() diff --git a/scripts/portal/enterNewWeapon1.py b/scripts/portal/enterNewWeapon1.py new file mode 100755 index 0000000..2cb5801 --- /dev/null +++ b/scripts/portal/enterNewWeapon1.py @@ -0,0 +1,5 @@ +# 931000310 +sm.warp(931000320, 0) +if not sm.hasMobsInField: + sm.spawnMob(9001035, -344, 16, False) +sm.dispose() diff --git a/scripts/portal/enterNewWeapon2.py b/scripts/portal/enterNewWeapon2.py new file mode 100755 index 0000000..def0b35 --- /dev/null +++ b/scripts/portal/enterNewWeapon2.py @@ -0,0 +1,4 @@ +# 931000310 +sm.warp(931000321, 0) +if not sm.hasMobsInField: + sm.spawnMob(9001035, -344, 16, False) diff --git a/scripts/portal/enterNewWeapon3.py b/scripts/portal/enterNewWeapon3.py new file mode 100755 index 0000000..0749253 --- /dev/null +++ b/scripts/portal/enterNewWeapon3.py @@ -0,0 +1,4 @@ +# 931000310 +sm.warp(931000322, 0) +if not sm.hasMobsInField: + sm.spawnMob(9001035, -344, 16, False) diff --git a/scripts/portal/enterNewWeapon4.py b/scripts/portal/enterNewWeapon4.py new file mode 100755 index 0000000..629c55f --- /dev/null +++ b/scripts/portal/enterNewWeapon4.py @@ -0,0 +1,5 @@ +# 931000310 +sm.warp(931000323, 0) +if not sm.hasMobsInField: + sm.spawnMob(9001035, -344, 16, False) +sm.dispose() diff --git a/scripts/portal/enterPTjob2.py b/scripts/portal/enterPTjob2.py new file mode 100755 index 0000000..ccf14a0 --- /dev/null +++ b/scripts/portal/enterPTjob2.py @@ -0,0 +1,5 @@ +if sm.hasMobsInField(): + sm.chat("Remove the lock first.") +else: + sm.warp(915010001, 1) +sm.dispose() \ No newline at end of file diff --git a/scripts/portal/enterPort.py b/scripts/portal/enterPort.py new file mode 100755 index 0000000..680fe01 --- /dev/null +++ b/scripts/portal/enterPort.py @@ -0,0 +1,5 @@ +if sm.hasQuest(21301): + sm.warpInstanceIn(914022000, 1) + sm.setInstanceTime(10*60, 914022000) +else: + sm.warp(140020300, 1) \ No newline at end of file diff --git a/scripts/portal/enterRIpt.py b/scripts/portal/enterRIpt.py new file mode 100755 index 0000000..a6f2f7c --- /dev/null +++ b/scripts/portal/enterRIpt.py @@ -0,0 +1 @@ +sm.warp(140000000, 7) \ No newline at end of file diff --git a/scripts/portal/enterResiTR.py b/scripts/portal/enterResiTR.py new file mode 100755 index 0000000..8420868 --- /dev/null +++ b/scripts/portal/enterResiTR.py @@ -0,0 +1,21 @@ +# Resistance Training Room Entrance +ELEVATOR_CONTROL = 2151007 +FERDI = 2151010 +preQs = [23103, 23104, 23105, 23106, 23118] +preQsDemon = [23231, 23232, 23233, 23234] +maps = [310010100, 310010200, 310010300, 310010400, 931000400] + +sm.setSpeakerID(ELEVATOR_CONTROL) +selection = sm.sendNext("An elevator that will take you to your desired training room. Choose the floor you'd like to go to.\r\n\r\n#b#L0#Underground 2nd Floor Training Room A#l\r\n#L1#Underground 3rd Floor Training Room B#l\r\n#L2#Underground 4th Floor Training Room C#l\r\n#L3#Underground 5th Floor Training Room D#l\r\n#L4#Underground 6th Floor Training Room E#l") + +if selection == 4 and sm.hasQuest(preQs[selection]): + # TODO: can you come in here anymore after turning in quest? + sm.warpInstanceIn(maps[selection], False) + sm.setInstanceTime(5*60) + sm.dispose() + +if (not sm.hasQuest(preQs[selection]) and not sm.hasQuestCompleted(preQs[selection]) and not sm.hasQuest(preQsDemon[selection]) and not sm.hasQuestCompleted(preQsDemon[selection])): + sm.setSpeakerID(2151010) + sm.sendSayOkay("You are not at the right level to go there yet.") + sm.dispose() +sm.warp(maps[selection], 1) diff --git a/scripts/portal/enterRider.py b/scripts/portal/enterRider.py new file mode 100755 index 0000000..e5157c9 --- /dev/null +++ b/scripts/portal/enterRider.py @@ -0,0 +1,4 @@ +# El Nath - Icy Cold Field +# Map ID: 211050000 + +sm.warp(921110000) # warps to some kinda jump quest.. TODO finish it lol \ No newline at end of file diff --git a/scripts/portal/enterRienFirst.py b/scripts/portal/enterRienFirst.py new file mode 100755 index 0000000..b92b820 --- /dev/null +++ b/scripts/portal/enterRienFirst.py @@ -0,0 +1,5 @@ +# 140010000 +if sm.hasQuestCompleted(21014): + sm.warp(140000000, 3) +else: + sm.warp(140000000, 1) \ No newline at end of file diff --git a/scripts/portal/enterSecJobResi.py b/scripts/portal/enterSecJobResi.py new file mode 100755 index 0000000..aee5688 --- /dev/null +++ b/scripts/portal/enterSecJobResi.py @@ -0,0 +1,25 @@ +# 223010100 + +WATER_TRADE = 23121 + +if sm.hasQuest(WATER_TRADE): + sm.warpInstanceIn(931000420, 1, False) + sm.setInstanceTime(10*60) + sm.chatScript("Thieves have attacked! Defeat all the thieves and then go see Ace the Pilot.") + # sm.waitForMobDeath() + # sm.chatScript("You've taken out all the thieves. Talk to Ace.") + sm.dispose() + +if sm.hasQuest(23023) or sm.hasQuest(23024) or sm.hasQuest(23025): # 2nd job advancement for Resistance + sm.warpInstanceIn(931000100, 0) + sm.setInstanceTime(10*60) + sm.dispose() + +if sm.hasQuest(23162): + sm.warpInstanceIn(931000101, 0) + sm.setInstanceTime(10*60) + sm.chatScript("The Schiller has appeared. Let's talk to him.") + sm.chat("The Schiller has appeared. Let's talk to him.") + sm.dispose() + +sm.warp(310000010, 1) diff --git a/scripts/portal/enterSecondDH.py b/scripts/portal/enterSecondDH.py new file mode 100755 index 0000000..fc53c93 --- /dev/null +++ b/scripts/portal/enterSecondDH.py @@ -0,0 +1,6 @@ +# 130020000 - Entrance to Drill Hall +if not sm.hasQuest(20871) and not sm.hasQuest(20872) and not sm.hasQuest(20873) and not sm.hasQuest(20874) and not sm.hasQuest(20875): # KoC 2nd JobAdv Quests + sm.chat("Sorry, only knights looking to job advance to the second job may enter here.") +else: + sm.warp(913001000, 0) +sm.dispose() diff --git a/scripts/portal/enterTheCrack.py b/scripts/portal/enterTheCrack.py new file mode 100755 index 0000000..40a65d3 --- /dev/null +++ b/scripts/portal/enterTheCrack.py @@ -0,0 +1,3 @@ +# 270000000 +sm.warp(272000000, 1) +sm.dispose() diff --git a/scripts/portal/enter_AA2R.py b/scripts/portal/enter_AA2R.py new file mode 100755 index 0000000..e67bf64 --- /dev/null +++ b/scripts/portal/enter_AA2R.py @@ -0,0 +1,7 @@ +# id 1 (enter00), field 867201990 +sm.setSpeakerType(3) +sm.setParam(36) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(9400580) # Alika +res = sm.sendNext("#face4#We need to get on Pete and get out of here right now!#b\r\n#L0# Let's leave now.#l\r\n#L1# Let's make repairs and then leave.#l") +sm.warp(867202000) diff --git a/scripts/portal/enter_bellDoor.py b/scripts/portal/enter_bellDoor.py new file mode 100755 index 0000000..d54bf5a --- /dev/null +++ b/scripts/portal/enter_bellDoor.py @@ -0,0 +1,32 @@ +answer = sm.sendSay("Where would you like to go to?#b \r\n#L0#Velderoth's Sitting Room#l\r\n#L1#Continue to Magnus#l\r\n#L2#Forge a Dragon King Relic\r\n#L3#Nevermind#l") + +# sm.chat("Response was " + str(response) + "\r\rAnswer was " + str(answer)) +if answer == 0: + if sm.getParty() is None: + sm.sendSay("Please create a party before going in.") + elif not sm.isPartyLeader(): + sm.sendSay("Please have your party leader enter if you wish to face Velderoth.") + elif sm.checkParty(): + sm.warpInstanceIn(401053100, True) +elif answer == 1: + sm.warp(401060000) +elif answer == 2: + if not sm.hasItem(4033403): + sm.sendSayOkay("You do not possess a #v4033403# #b#z4033403##k.") + sm.dispose() + elif not sm.hasItem(4033404): + sm.sendSayOkay("You do not possess a #v4033404# #b#z4033404##k.") + sm.dispose() + elif not sm.hasItem(4033405): + sm.sendSayOkay("You do not possess a #v4033405# #b#z4033405##k.") + sm.dispose() + elif not sm.canHold(4033406): + sm.sendSayOkay("Please make room in your inventory first.") + sm.dispose() + else: + sm.consumeItem(4033403) + sm.consumeItem(4033404) + sm.consumeItem(4033405) + sm.giveItem(4033406) + sm.chat("You have gained a Dragon King Relic") + sm.dispose() diff --git a/scripts/portal/enter_bossBlackMage.py b/scripts/portal/enter_bossBlackMage.py new file mode 100755 index 0000000..6d33540 --- /dev/null +++ b/scripts/portal/enter_bossBlackMage.py @@ -0,0 +1 @@ +sm.setDeathCount(12) \ No newline at end of file diff --git a/scripts/portal/enter_boss_CN.py b/scripts/portal/enter_boss_CN.py new file mode 100755 index 0000000..a655bda --- /dev/null +++ b/scripts/portal/enter_boss_CN.py @@ -0,0 +1 @@ +sm.warpInstanceIn(701220610, 1) \ No newline at end of file diff --git a/scripts/portal/enter_bosswait.py b/scripts/portal/enter_bosswait.py new file mode 100755 index 0000000..2ebc78c --- /dev/null +++ b/scripts/portal/enter_bosswait.py @@ -0,0 +1,2 @@ +if "clear" in sm.getQRValue(62038): + sm.warp(701220601, 2) \ No newline at end of file diff --git a/scripts/portal/enter_citadel.py b/scripts/portal/enter_citadel.py new file mode 100755 index 0000000..2b918bb --- /dev/null +++ b/scripts/portal/enter_citadel.py @@ -0,0 +1,3 @@ +# 401050000 +sm.warp(401050001, 0) +sm.dispose() diff --git a/scripts/portal/enter_earth00.py b/scripts/portal/enter_earth00.py new file mode 100755 index 0000000..3928231 --- /dev/null +++ b/scripts/portal/enter_earth00.py @@ -0,0 +1,5 @@ +# Created by MechAviv +# ID :: [120000101] +# Nautilus : Navigation Room + +sm.systemMessage("You need a 'Warp Card' to use the warp machine.") diff --git a/scripts/portal/enter_georg.py b/scripts/portal/enter_georg.py new file mode 100755 index 0000000..7f86680 --- /dev/null +++ b/scripts/portal/enter_georg.py @@ -0,0 +1,3 @@ +# 141050200 - Riena Strait boss +if sm.checkParty(): + sm.warpInstanceIn(141050300, True) \ No newline at end of file diff --git a/scripts/portal/enter_magnusDoor.py b/scripts/portal/enter_magnusDoor.py new file mode 100755 index 0000000..31f2634 --- /dev/null +++ b/scripts/portal/enter_magnusDoor.py @@ -0,0 +1,57 @@ +from net.swordie.ms.constants import BossConstants +from net.swordie.ms.enums import EventType + +# Mode, Required Level, Map ID, Death Count, Event Type, Cooldown + +destinations = [ + ["Normal", 160, 401060200, 20, EventType.NMagnus, 64800000], + ["Hard", 220, 401060100, 20, EventType.HMagnus, 64800000], +] + +runsPerDay = 1 + +if sm.getFieldID() == 401060000: + def is_party_eligible(reqlevel, party): + for member in party.getMembers(): + if member.getLevel() < reqlevel: + return False + + return True + + sm.setSpeakerID(3001032) + + dialog = "Do you want to head to '#bTyrant's Throne Room#k' to fight \r\n#bMagnus#k?\r\n" + + for i in range(len(destinations)): + dialog += "#L%d##bGo to Tyrant's Throne Room (%s Mode) #r(Lv. %d+)#b#l\r\n" % (i, destinations[i][0], destinations[i][1]) + + dialog += "#L99#Never mind." + response = sm.sendSay(dialog) + + if sm.getParty() is None: + sm.sendSayOkay("Please create a party before going in.") + sm.dispose() + + elif not sm.isPartyLeader(): + sm.sendSayOkay("Please have your party leader talk to me if you wish to face #bMagnus#k.") + sm.dispose() + + elif sm.partyHasCoolDown(destinations[response][4], runsPerDay): + timeUntilReset = sm.getTimeUntilEventReset(destinations[response][4]) + sm.sendNext("You or one of your party member has already attempted facing \r\n#bMagnus#k within the past 18 Hours.\r\n You have " + timeUntilReset + " left on your cooldown.") + sm.dispose() + + elif not sm.hasItem(4033406): + sm.sendSayOkay("You do not possess a #b#v 4033406 # #z 4033406 ##k.") + sm.dispose() + + + elif sm.checkParty() and response != 99: + if is_party_eligible(destinations[response][1], sm.getParty()): + sm.setPartyDeathCount(destinations[response][3]) + sm.warpInstanceIn(destinations[response][2], True) + sm.setInstanceTime(BossConstants.MAGNUS_TIME) + sm.addCooldownTimeForParty(destinations[response][4], destinations[response][5]) + sm.consumeItem(4033406) + else: + sm.sendSayOkay("One or more party members are lacking the prerequisite entry quests, or are below level #b%d#k." % destinations[response][1]) \ No newline at end of file diff --git a/scripts/portal/enter_mastema.py b/scripts/portal/enter_mastema.py new file mode 100755 index 0000000..8f0bd22 --- /dev/null +++ b/scripts/portal/enter_mastema.py @@ -0,0 +1,7 @@ +if sm.hasQuest(23210): + sm.warpInstanceIn(931050100, False) +elif sm.hasQuest(23213): + sm.addQRValue(23206, "1") + sm.warp(931050110, 1) +elif sm.hasQuestCompleted(23213): + sm.warp(931050110, 1) \ No newline at end of file diff --git a/scripts/portal/enter_retakeHQ.py b/scripts/portal/enter_retakeHQ.py new file mode 100755 index 0000000..35c7358 --- /dev/null +++ b/scripts/portal/enter_retakeHQ.py @@ -0,0 +1,3 @@ +# 401000002 - Heliseum : Transitional Dimensional Door +sm.warp(401000000, 1) +sm.dispose() diff --git a/scripts/portal/enter_skyGate.py b/scripts/portal/enter_skyGate.py new file mode 100755 index 0000000..538bd13 --- /dev/null +++ b/scripts/portal/enter_skyGate.py @@ -0,0 +1 @@ +sm.warp(240080000) \ No newline at end of file diff --git a/scripts/portal/enter_treDoor.py b/scripts/portal/enter_treDoor.py new file mode 100755 index 0000000..cc09460 --- /dev/null +++ b/scripts/portal/enter_treDoor.py @@ -0,0 +1,10 @@ +sm.setSpeakerID(3001027) +answer = sm.sendSay("Are you ready to face #bTreglow#k?#b\r\n#L0#Enter Treglow's Laboratory#l") + +if answer == 0: + if sm.getParty() is None: + sm.sendSay("Please create a party before going in.") + elif not sm.isPartyLeader(): + sm.sendSay("Please have your party leader enter if you wish to face Treglow.") + elif sm.checkParty(): + sm.warpInstanceIn(401052200, True) \ No newline at end of file diff --git a/scripts/portal/enter_victorDoor.py b/scripts/portal/enter_victorDoor.py new file mode 100755 index 0000000..04a6ef3 --- /dev/null +++ b/scripts/portal/enter_victorDoor.py @@ -0,0 +1,10 @@ +sm.setSpeakerID(3001025) +answer = sm.sendSay("Are you ready to face #bVictor#k?#b\r\n#L0#Enter Victor's Workshop#l") + +if answer == 0: + if sm.getParty() is None: + sm.sendSay("Please create a party before going in.") + elif not sm.isPartyLeader(): + sm.sendSay("Please have your party leader enter if you wish to face Victor.") + elif sm.checkParty(): + sm.warpInstanceIn(401051200, True) \ No newline at end of file diff --git a/scripts/portal/ep1_escortGiveup.py b/scripts/portal/ep1_escortGiveup.py new file mode 100755 index 0000000..bba3937 --- /dev/null +++ b/scripts/portal/ep1_escortGiveup.py @@ -0,0 +1,10 @@ +# [Grand Athenaeum] Ariant : Middle of the Desert +sm.removeEscapeButton() +sm.setSpeakerID(2510001) + +answer = sm.sendSay("Hey, are you gonna leave me behind?!\r\n#b#L0#Keep escorting.#l\r\n#L1#Quit escorting for now.#l") +if answer == 0: + sm.sendSayOkay("Good. Let's keep going.") +elif answer == 1: + sm.sendNext("I knew it. It's too dangerous for one person to take on. Let's go back to #m302010000#.") + sm.warpInstanceOut(302010000, 0) \ No newline at end of file diff --git a/scripts/portal/escortPast_Next.py b/scripts/portal/escortPast_Next.py new file mode 100755 index 0000000..09dff62 --- /dev/null +++ b/scripts/portal/escortPast_Next.py @@ -0,0 +1,3 @@ +# [Grand Athenaeum] Ariant : Escort Hatsar's Servant +if sm.isFinishedEscort(8230000): + sm.warp(302010400, 0) \ No newline at end of file diff --git a/scripts/portal/escort_start.py b/scripts/portal/escort_start.py new file mode 100755 index 0000000..499ae65 --- /dev/null +++ b/scripts/portal/escort_start.py @@ -0,0 +1,15 @@ +# [Grand Athenaeum] Ariant : Middle of the Desert +sm.removeEscapeButton() +sm.setSpeakerID(2510001) +if sm.hasQuest(32630): + answer = sm.sendSay("Are you sure you can do this? I'm telling you, there's a load of big, bad monsters out there.\r\n#b#L0#Let's go.#l\r\n#L1#Let's wait.#l") + if answer == 0: + sm.sendNext("Wait for me!") + sm.systemMessage("Starting the escort for Hatsar's Servant.") + sm.warpInstanceIn(302010100, 0) + sm.dispose() + elif answer == 1: + sm.addEscapeButton() + sm.sendSayOkay("I told you it's too dangerous for one person!") +else: + sm.sendSayOkay("Hey, are you gonna ignore me like that?!") \ No newline at end of file diff --git a/scripts/portal/evanDollGR.py b/scripts/portal/evanDollGR.py new file mode 100755 index 0000000..703f015 --- /dev/null +++ b/scripts/portal/evanDollGR.py @@ -0,0 +1,7 @@ +# Created by MechAviv +# ID :: [100040000] +# Golem's Temple : Golem's Temple Entrance +if sm.hasQuest(25584) or sm.hasQuest(25583): + sm.warp(910600201, 0) +else: + sm.systemMessage("There's a suspicious-looking puppet in this building. It seems to be locked. You can't get in.") \ No newline at end of file diff --git a/scripts/portal/evanEntrance.py b/scripts/portal/evanEntrance.py new file mode 100755 index 0000000..66c5330 --- /dev/null +++ b/scripts/portal/evanEntrance.py @@ -0,0 +1,3 @@ +# Portal out of Utah's farm +sm.warp(100030400, 0) +sm.dispose() \ No newline at end of file diff --git a/scripts/portal/evanFall.py b/scripts/portal/evanFall.py new file mode 100755 index 0000000..c5ca59c --- /dev/null +++ b/scripts/portal/evanFall.py @@ -0,0 +1,5 @@ +# Portal for Evan Intro | Hidden Street - Lush Forest (900020100) +# Author: Tiger + +sm.warp(931050990, 0) # Custom Video Field (A Black Field used for Effects/Videos) +sm.dispose() diff --git a/scripts/portal/evanFarmCT.py b/scripts/portal/evanFarmCT.py new file mode 100755 index 0000000..fb1161a --- /dev/null +++ b/scripts/portal/evanFarmCT.py @@ -0,0 +1,7 @@ +# Farm Center -> Large Forest Trail +if sm.hasQuestCompleted(22010) or sm.hasQuest(22010): + sm.warp(100030310, 0) + sm.dispose() +else: + sm.chat("You are not allowed to leave the farm yet.") + sm.dispose() \ No newline at end of file diff --git a/scripts/portal/evanGarden0.py b/scripts/portal/evanGarden0.py new file mode 100755 index 0000000..669f56d --- /dev/null +++ b/scripts/portal/evanGarden0.py @@ -0,0 +1,3 @@ +# Utah's house, Front yard +sm.warp(100030200, 0) +sm.dispose() diff --git a/scripts/portal/evanGarden1.py b/scripts/portal/evanGarden1.py new file mode 100755 index 0000000..7170399 --- /dev/null +++ b/scripts/portal/evanGarden1.py @@ -0,0 +1,5 @@ +# Utah's house, Front yard +if sm.hasQuest(22008): + #todo make instanced + sm.warp(100030103, 0) + sm.dispose() diff --git a/scripts/portal/evanGolemDoor.py b/scripts/portal/evanGolemDoor.py new file mode 100755 index 0000000..b4de75a --- /dev/null +++ b/scripts/portal/evanGolemDoor.py @@ -0,0 +1,3 @@ +# 100020200 +sm.warp(100040000, 3) +sm.dispose() diff --git a/scripts/portal/evanRoom0.py b/scripts/portal/evanRoom0.py new file mode 100755 index 0000000..f3acf3e --- /dev/null +++ b/scripts/portal/evanRoom0.py @@ -0,0 +1,9 @@ +# Portal for Evan Intro | Utah's House: Attic (100030100) +# Author: Tiger + +from net.swordie.ms.constants import GameConstants + +# "What a strange dream" +sm.avatarOriented("Effect/OnUserEff.img/guideEffect/evanTutorial/evanBalloon30") +sm.createQuestWithQRValue(GameConstants.EVAN_INTRO, "1") # Custom QR value, so script doesn't repeat the sayImage in the next portal "evanRoom1" +sm.dispose() diff --git a/scripts/portal/evanRoom1.py b/scripts/portal/evanRoom1.py new file mode 100755 index 0000000..2c24632 --- /dev/null +++ b/scripts/portal/evanRoom1.py @@ -0,0 +1,12 @@ +# Portal for Evan Intro | Utah's House: Attic (100030100) +# Author: Tiger + +from net.swordie.ms.constants import GameConstants + +if "1" in sm.getQRValue(GameConstants.EVAN_INTRO): + sm.sendSayImage("UI/tutorial/evan/0/0") + sm.setQRValue(GameConstants.EVAN_INTRO, "2") + +# "What this on the back of my hand? Eh, I won't worry about it" +sm.avatarOriented("Effect/OnUserEff.img/guideEffect/evanTutorial/evanBalloon70") + diff --git a/scripts/portal/evanlivingRoom.py b/scripts/portal/evanlivingRoom.py new file mode 100755 index 0000000..281dd24 --- /dev/null +++ b/scripts/portal/evanlivingRoom.py @@ -0,0 +1,3 @@ +# 100020200 +sm.warp(100030102, 0) +sm.dispose() diff --git a/scripts/portal/evantalk00.py b/scripts/portal/evantalk00.py new file mode 100755 index 0000000..72234ba --- /dev/null +++ b/scripts/portal/evantalk00.py @@ -0,0 +1,5 @@ +# Portal & Balloon Msgs for Evan Intro | Dream World: Dream Forest Entrance (900010000) +# Author: Tiger + +# "Huh? Where am I?" +sm.avatarOriented("Effect/OnUserEff.img/guideEffect/evanTutorial/evanBalloon00") diff --git a/scripts/portal/evantalk01.py b/scripts/portal/evantalk01.py new file mode 100755 index 0000000..c9af05c --- /dev/null +++ b/scripts/portal/evantalk01.py @@ -0,0 +1,5 @@ +# Portal & Balloon Msgs for Evan Intro | Dream World: Dream Forest Entrance (900010000) +# Author: Tiger + +# "What was that? I heard something!" +sm.avatarOriented("Effect/OnUserEff.img/guideEffect/evanTutorial/evanBalloon01") diff --git a/scripts/portal/evantalk02.py b/scripts/portal/evantalk02.py new file mode 100755 index 0000000..815e3a2 --- /dev/null +++ b/scripts/portal/evantalk02.py @@ -0,0 +1,5 @@ +# Portal & Balloon Msgs for Evan Intro | Dream World: Dream Forest Entrance (900010000) +# Author: Tiger + +# "Did it come from there?" +sm.avatarOriented("Effect/OnUserEff.img/guideEffect/evanTutorial/evanBalloon02") diff --git a/scripts/portal/evantalk10.py b/scripts/portal/evantalk10.py new file mode 100755 index 0000000..b4c6a24 --- /dev/null +++ b/scripts/portal/evantalk10.py @@ -0,0 +1,5 @@ +# Portal & Balloon Msgs for Evan Intro | Dream World: Dream Forest Trail (900010100) +# Author: Tiger + +# "I didn't know a place like this existed nearby..." +sm.avatarOriented("Effect/OnUserEff.img/guideEffect/evanTutorial/evanBalloon10") diff --git a/scripts/portal/evantalk11.py b/scripts/portal/evantalk11.py new file mode 100755 index 0000000..d424a2a --- /dev/null +++ b/scripts/portal/evantalk11.py @@ -0,0 +1,5 @@ +# Portal & Balloon Msgs for Evan Intro | Dream World: Dream Forest Trail (900010100) +# Author: Tiger + +# "Another strange noise? Is someone talking?" +sm.avatarOriented("Effect/OnUserEff.img/guideEffect/evanTutorial/evanBalloon11") diff --git a/scripts/portal/evantalk20.py b/scripts/portal/evantalk20.py new file mode 100755 index 0000000..d5ef793 --- /dev/null +++ b/scripts/portal/evantalk20.py @@ -0,0 +1,5 @@ +# Portal & Balloon Msgs for Evan Intro | Dream World: Dream Forest (900010200) +# Author: Tiger + +# "Whoa! A Dragon?!" +sm.avatarOriented("Effect/OnUserEff.img/guideEffect/evanTutorial/evanBalloon20") diff --git a/scripts/portal/evantalk21.py b/scripts/portal/evantalk21.py new file mode 100755 index 0000000..23c663d --- /dev/null +++ b/scripts/portal/evantalk21.py @@ -0,0 +1,5 @@ +# Portal & Balloon Msgs for Evan Intro | Dream World: Dream Forest (900010200) +# Author: Tiger + +# "I'm a little scared, but it's so mesmerizing... I want to touch it." +sm.avatarOriented("Effect/OnUserEff.img/guideEffect/evanTutorial/evanBalloon21") diff --git a/scripts/portal/evantalk40.py b/scripts/portal/evantalk40.py new file mode 100755 index 0000000..fe841dc --- /dev/null +++ b/scripts/portal/evantalk40.py @@ -0,0 +1,5 @@ +# Portal for Evan Intro | Hidden Street: Lost Forest Entrance (900020200) +# Author: Tiger + +# "Argh.." +sm.avatarOriented("Effect/OnUserEff.img/guideEffect/evanTutorial/evanBalloon40") diff --git a/scripts/portal/evantalk41.py b/scripts/portal/evantalk41.py new file mode 100755 index 0000000..29961f1 --- /dev/null +++ b/scripts/portal/evantalk41.py @@ -0,0 +1,5 @@ +# Portal for Evan Intro | Hidden Street: Lost Forest Entrance (900020200) +# Author: Tiger + +# "Where am I?" +sm.avatarOriented("Effect/OnUserEff.img/guideEffect/evanTutorial/evanBalloon41") diff --git a/scripts/portal/evantalk42.py b/scripts/portal/evantalk42.py new file mode 100755 index 0000000..b85a8b7 --- /dev/null +++ b/scripts/portal/evantalk42.py @@ -0,0 +1,5 @@ +# Portal for Evan Intro | Hidden Street: Lost Forest Entrance (900020200) +# Author: Tiger + +# "This looks just like the place in my dream" +sm.avatarOriented("Effect/OnUserEff.img/guideEffect/evanTutorial/evanBalloon42") diff --git a/scripts/portal/evantalk50.py b/scripts/portal/evantalk50.py new file mode 100755 index 0000000..0a0a24c --- /dev/null +++ b/scripts/portal/evantalk50.py @@ -0,0 +1,5 @@ +# Portal for Evan Intro | Hidden Street: Lost Forest Trail (900020210) +# Author: Tiger + +# "Does that mean there's a dragan here, too?" +sm.avatarOriented("Effect/OnUserEff.img/guideEffect/evanTutorial/evanBalloon50") diff --git a/scripts/portal/evantalk60.py b/scripts/portal/evantalk60.py new file mode 100755 index 0000000..f48b450 --- /dev/null +++ b/scripts/portal/evantalk60.py @@ -0,0 +1,5 @@ +# Portal for Evan Intro | Hidden Street: Lost Forest (900020220) +# Author: Tiger + +# "Could this be a Dragon Egg?" +sm.avatarOriented("Effect/OnUserEff.img/guideEffect/evanTutorial/evanBalloon60") diff --git a/scripts/portal/eventjp_exit.py b/scripts/portal/eventjp_exit.py new file mode 100755 index 0000000..64c9a15 --- /dev/null +++ b/scripts/portal/eventjp_exit.py @@ -0,0 +1,6 @@ +maps = [104000000, 100000000, 103000000, 101000000, 102000000] + +selection = sm.sendNext("Where would you like to go? \r\n#L0#Lith Harbor#l\r\n#L1#Henesys#l\r\n#L2#Kerning City#l" + + "\r\n#L3#Ellinia#l\r\n#L4#Perion#l") + +sm.warp(maps[selection], 0) diff --git a/scripts/portal/evolving_outPT1.py b/scripts/portal/evolving_outPT1.py new file mode 100755 index 0000000..914bb61 --- /dev/null +++ b/scripts/portal/evolving_outPT1.py @@ -0,0 +1 @@ +sm.warp(957019000) \ No newline at end of file diff --git a/scripts/portal/evolving_outPT2.py b/scripts/portal/evolving_outPT2.py new file mode 100755 index 0000000..914bb61 --- /dev/null +++ b/scripts/portal/evolving_outPT2.py @@ -0,0 +1 @@ +sm.warp(957019000) \ No newline at end of file diff --git a/scripts/portal/evolving_outPT3.py b/scripts/portal/evolving_outPT3.py new file mode 100755 index 0000000..914bb61 --- /dev/null +++ b/scripts/portal/evolving_outPT3.py @@ -0,0 +1 @@ +sm.warp(957019000) \ No newline at end of file diff --git a/scripts/portal/evolving_outPT4.py b/scripts/portal/evolving_outPT4.py new file mode 100755 index 0000000..914bb61 --- /dev/null +++ b/scripts/portal/evolving_outPT4.py @@ -0,0 +1 @@ +sm.warp(957019000) \ No newline at end of file diff --git a/scripts/portal/evolving_outPT5.py b/scripts/portal/evolving_outPT5.py new file mode 100755 index 0000000..914bb61 --- /dev/null +++ b/scripts/portal/evolving_outPT5.py @@ -0,0 +1 @@ +sm.warp(957019000) \ No newline at end of file diff --git a/scripts/portal/evolving_outPT6.py b/scripts/portal/evolving_outPT6.py new file mode 100755 index 0000000..914bb61 --- /dev/null +++ b/scripts/portal/evolving_outPT6.py @@ -0,0 +1 @@ +sm.warp(957019000) \ No newline at end of file diff --git a/scripts/portal/evolving_outPT7.py b/scripts/portal/evolving_outPT7.py new file mode 100755 index 0000000..914bb61 --- /dev/null +++ b/scripts/portal/evolving_outPT7.py @@ -0,0 +1 @@ +sm.warp(957019000) \ No newline at end of file diff --git a/scripts/portal/evolving_outPT8.py b/scripts/portal/evolving_outPT8.py new file mode 100755 index 0000000..914bb61 --- /dev/null +++ b/scripts/portal/evolving_outPT8.py @@ -0,0 +1 @@ +sm.warp(957019000) \ No newline at end of file diff --git a/scripts/portal/evolving_outPT9.py b/scripts/portal/evolving_outPT9.py new file mode 100755 index 0000000..914bb61 --- /dev/null +++ b/scripts/portal/evolving_outPT9.py @@ -0,0 +1 @@ +sm.warp(957019000) \ No newline at end of file diff --git a/scripts/portal/exit_adventure.py b/scripts/portal/exit_adventure.py new file mode 100755 index 0000000..88d27a6 --- /dev/null +++ b/scripts/portal/exit_adventure.py @@ -0,0 +1,3 @@ +# 211040401 - Hidden Street -> Holy Ground at the Snowfield +sm.warp(211040300, 0) +sm.dispose() diff --git a/scripts/portal/exit_dragonR.py b/scripts/portal/exit_dragonR.py new file mode 100755 index 0000000..5a8d221 --- /dev/null +++ b/scripts/portal/exit_dragonR.py @@ -0,0 +1,3 @@ +# id 2 (left00), field 240080000 +sm.completeQuestNoCheck(7848) +sm.warp(240030102) diff --git a/scripts/portal/exit_juliet.py b/scripts/portal/exit_juliet.py new file mode 100755 index 0000000..135e27c --- /dev/null +++ b/scripts/portal/exit_juliet.py @@ -0,0 +1,3 @@ +# Alcadno - Hidden Room back to pq hub +sm.warp(910002000, 1) +sm.dispose() diff --git a/scripts/portal/extreme_in03.py b/scripts/portal/extreme_in03.py new file mode 100755 index 0000000..8a8fdae --- /dev/null +++ b/scripts/portal/extreme_in03.py @@ -0,0 +1,30 @@ +sm.setSpeakerID(9071006) + +mapID = [951000210,951000220,951000230,951000240,951000250,951000260,951000270] +runsADay = 10 +rand = sm.getRandomIntBelow(len(mapID)) + +from net.swordie.ms.enums import EventType + +selection = sm.sendSayOkay("Monster Park Extreme is where you can face dangerous enemies to level up quickly.\r\n" + "#L0##bEnter Monster Park Extreme "+ str(sm.getEventAmountDone(EventType.MonsterParkExtreme)) + "/10 Attempted today #l\r\n") + +if selection == 0: + + if chr.getLevel() < 200: + sm.sendSayOkay("You must be level #b200#k to enter the Dimensional Invasion Party Quest.") + sm.dispose() + + if sm.partyHasCoolDown(EventType.MonsterParkExtreme, runsADay): + sm.sendSayOkay("You are currently on cooldown for Monster Park Extreme.") + sm.dispose() + + if sm.getParty() is None: + sm.sendSayOkay("Please create a party before entering.") + sm.dispose() + + else: + map = mapID[rand] + sm.addCoolDownInXays(EventType.MonsterParkExtreme, 1, 1) + sm.warpInstanceIn(map, True) + sm.setInstanceTime(60*10) \ No newline at end of file diff --git a/scripts/portal/extreme_out.py b/scripts/portal/extreme_out.py new file mode 100755 index 0000000..14f123b --- /dev/null +++ b/scripts/portal/extreme_out.py @@ -0,0 +1,2 @@ +if sm.sendAskYesNo("Are you sure you want to leave the battlefield?"): + sm.warpInstanceOut(951000000) \ No newline at end of file diff --git a/scripts/portal/fall_224000103.py b/scripts/portal/fall_224000103.py new file mode 100755 index 0000000..ae71a9b --- /dev/null +++ b/scripts/portal/fall_224000103.py @@ -0,0 +1,4 @@ +# 224000103 - When you fall down + +sm.warp(224000132, 4) +sm.dispose() diff --git a/scripts/portal/fallenWT_boss.py b/scripts/portal/fallenWT_boss.py new file mode 100755 index 0000000..c3b6df9 --- /dev/null +++ b/scripts/portal/fallenWT_boss.py @@ -0,0 +1,49 @@ +from net.swordie.ms.constants import BossConstants +from net.swordie.ms.enums import EventType + +# Mode, Required Level, Map ID, Death Count, Event Type, Cooldown + +destinations = [ + ["Legendary", 255, 350160100, 20, EventType.Damien, 604800000], +] + +runsPerDay = 1 + +def is_party_eligible(reqlevel, party): + for member in party.getMembers(): + if member.getLevel() < reqlevel: + return False + + return True + +sm.setSpeakerID(1530621) + +dialog = "Do you want to head to the '#bDark World Tree Summit#k' to fight \r\n#bDamien#k?\r\n" + +for i in range(len(destinations)): + dialog += "#L%d##bGo to the Dark World Tree Summit (%s Mode) #r(Lv. %d+)#b#l\r\n" % (i, destinations[i][0], destinations[i][1]) + +dialog += "#L99#Never mind." +response = sm.sendSay(dialog) + + if sm.getParty() is None: + sm.sendSayOkay("Please create a party before going in.") + sm.dispose() + + elif not sm.isPartyLeader(): + sm.sendSayOkay("Please have your party leader talk to me if you wish to face #bDamien#k.") + sm.dispose() + + elif sm.partyHasCoolDown(destinations[response][4], runsPerDay): + timeUntilReset = sm.getTimeUntilEventReset(destinations[response][4]) + sm.sendNext("You or one of your party member has already attempted facing \r\n#bDamien#k within the past 7 Days.\r\n You have " + timeUntilReset + " left on your cooldown.") + sm.dispose() + +elif sm.checkParty() and response != 99: + if is_party_eligible(destinations[response][1], sm.getParty()): + sm.setPartyDeathCount(destinations[response][3]) + sm.warpInstanceIn(destinations[response][2], True) + sm.setInstanceTime(BossConstants.DAMIEN_TIME) + sm.addCooldownTimeForParty(destinations[response][4], destinations[response][5]) + else: + sm.sendSayOkay("One or more party members are lacking the prerequisite entry quests, or are below level #b%d#k." % destinations[response][1]) diff --git a/scripts/portal/find_secretRoom.py b/scripts/portal/find_secretRoom.py new file mode 100755 index 0000000..d68cb5f --- /dev/null +++ b/scripts/portal/find_secretRoom.py @@ -0,0 +1,14 @@ +from net.swordie.ms.client.character.skills.temp import CharacterTemporaryStat + +random = sm.getRandomIntBelow(5) + +if random == 0: + sm.warpInstanceOut(701220300) # Sutra 5-6 + sm.removeCTS(CharacterTemporaryStat.Morph) + if sm.hasQuest(62011): + sm.completeQuest(62011) + sm.giveExp(2020453) + sm.createQuestWithQRValue(62011, "0") +else: + sm.setPlayerAsSpeaker() + sm.sendSayOkay("This doesn't seem to be it..") \ No newline at end of file diff --git a/scripts/portal/finish_warZone1.py b/scripts/portal/finish_warZone1.py new file mode 100755 index 0000000..24503ca --- /dev/null +++ b/scripts/portal/finish_warZone1.py @@ -0,0 +1,6 @@ +# Used in Magnus questline - Occupied Reclamation HQ +if sm.hasMobsInField(): + sm.chat("Please eliminate all mobs.") +else: + sm.warp(401000000, 1) # To Heliseum Reclamation HQ +sm.dispose() diff --git a/scripts/portal/flag_Start.py b/scripts/portal/flag_Start.py new file mode 100755 index 0000000..17645e3 --- /dev/null +++ b/scripts/portal/flag_Start.py @@ -0,0 +1,3 @@ +# 932200100 +sm.teleportInField(-1978, 2558) +sm.dispose() diff --git a/scripts/portal/flag_goal.py b/scripts/portal/flag_goal.py new file mode 100755 index 0000000..43dd8c6 --- /dev/null +++ b/scripts/portal/flag_goal.py @@ -0,0 +1,3 @@ +# Finish portal in Flag Race +# 932200100 +sm.teleportToPortal(0) diff --git a/scripts/portal/frittoEgg_1.py b/scripts/portal/frittoEgg_1.py new file mode 100755 index 0000000..756a225 --- /dev/null +++ b/scripts/portal/frittoEgg_1.py @@ -0,0 +1,9 @@ +if parentID % 2 == 0: + portal = 14 +else: + portal = 13 +if sm.getRandomIntBelow(2) == 0: + sm.teleportToPortal(portal) +else: + sm.giveNX(10000) + sm.warpInstanceOut(993000601, 0) # Hidden Street : Secluded Forest \ No newline at end of file diff --git a/scripts/portal/frittoEgg_2.py b/scripts/portal/frittoEgg_2.py new file mode 100755 index 0000000..439554f --- /dev/null +++ b/scripts/portal/frittoEgg_2.py @@ -0,0 +1,9 @@ +if parentID % 2 == 0: + portal = 16 +else: + portal = 15 +if sm.getRandomIntBelow(2) == 0: + sm.teleportToPortal(portal) +else: + sm.giveNX(20000) + sm.warpInstanceOut(993000601, 0) # Hidden Street : Secluded Forest \ No newline at end of file diff --git a/scripts/portal/frittoEgg_3.py b/scripts/portal/frittoEgg_3.py new file mode 100755 index 0000000..eda59eb --- /dev/null +++ b/scripts/portal/frittoEgg_3.py @@ -0,0 +1,9 @@ +if parentID % 2 == 0: + portal = 18 +else: + portal = 17 +if sm.getRandomIntBelow(2) == 0: + sm.teleportToPortal(portal) +else: + sm.giveNX(30000) + sm.warpInstanceOut(993000601, 0) # Hidden Street : Secluded Forest \ No newline at end of file diff --git a/scripts/portal/frittoEgg_4.py b/scripts/portal/frittoEgg_4.py new file mode 100755 index 0000000..c81dd4c --- /dev/null +++ b/scripts/portal/frittoEgg_4.py @@ -0,0 +1,9 @@ +if parentID % 2 == 0: + portal = 20 +else: + portal = 19 +if sm.getRandomIntBelow(2) == 0: + sm.teleportToPortal(portal) +else: + sm.giveNX(40000) + sm.warpInstanceOut(993000601, 0) # Hidden Street : Secluded Forest \ No newline at end of file diff --git a/scripts/portal/frittoEgg_5.py b/scripts/portal/frittoEgg_5.py new file mode 100755 index 0000000..c1d4427 --- /dev/null +++ b/scripts/portal/frittoEgg_5.py @@ -0,0 +1,5 @@ +if sm.getRandomIntBelow(2) == 0: + sm.teleportToPortal(10) # Final portal +else: + sm.giveNX(50000) + sm.warpInstanceOut(993000601, 0) # Hidden Street : Secluded Forest \ No newline at end of file diff --git a/scripts/portal/frittoEgg_Final.py b/scripts/portal/frittoEgg_Final.py new file mode 100755 index 0000000..2b1cbd1 --- /dev/null +++ b/scripts/portal/frittoEgg_Final.py @@ -0,0 +1,5 @@ +sm.stopEvents() +sm.setPlayerAsSpeaker() +sm.sendNext("You found the dragon egg!") +sm.giveNX(60000) +sm.warp(993000601, 0) # Hidden Street : Secluded Forest) \ No newline at end of file diff --git a/scripts/portal/gPark_Portal.py b/scripts/portal/gPark_Portal.py new file mode 100755 index 0000000..f867c67 --- /dev/null +++ b/scripts/portal/gPark_Portal.py @@ -0,0 +1,8 @@ +if sm.getFieldID() == 956100000: + map = 224000000 + portal = 32 +else: + map = 956100000 + portal = 3 +sm.warp(map, portal) +sm.dispose() diff --git a/scripts/portal/gate_intoPast.py b/scripts/portal/gate_intoPast.py new file mode 100755 index 0000000..0d94fb5 --- /dev/null +++ b/scripts/portal/gate_intoPast.py @@ -0,0 +1,6 @@ +# 270000000 +if not sm.hasQuestCompleted(3500): # time lane quest + sm.chat("You have not completed the appropriate quest to enter here.") +else: + sm.warp(270010000, 3) +sm.dispose() diff --git a/scripts/portal/gatherTuto.py b/scripts/portal/gatherTuto.py new file mode 100755 index 0000000..8e78b0f --- /dev/null +++ b/scripts/portal/gatherTuto.py @@ -0,0 +1,25 @@ +# Hidden Street - Ardentmill :: 910001000 +Maps = [910001003, 910001004, 910001007, 910001009, 910001005, 910001006, 910001008, 910001010] +GRANT = 9031000 +MINING_SKILL = 92010000 +HERBALISM_SKILL = 92000000 +sm.setSpeakerID(GRANT) + + +if sm.hasSkill(HERBALISM_SKILL) or sm.hasSkill(MINING_SKILL): + text = "Where do you want to go?\r\n" + if sm.hasSkill(HERBALISM_SKILL): + for x in range(4): + text += "#b#L" + str(x) + "##m" + str(Maps[x]) + "##l\r\n" + if sm.hasSkill(MINING_SKILL): + for i in range(4): + text += "#b#L" + str(i + 4) + "##m" + str(Maps[i + 4]) + "##l\r\n" + selection = sm.sendSay(text) + + sm.warp(Maps[selection], 1) +else: + selection = sm.sendSay("Where do you want to go?\r\n\r\n#L0##bSaffron's Herb Field#k\r\n#L1##bCole's Mine#k") + if selection == 0: + sm.warp(910001001, 1) + else: + sm.warp(910001002, 1) \ No newline at end of file diff --git a/scripts/portal/giantBossPortal.py b/scripts/portal/giantBossPortal.py new file mode 100755 index 0000000..3674af6 --- /dev/null +++ b/scripts/portal/giantBossPortal.py @@ -0,0 +1,89 @@ +# Gollux portals +fields = { + # Main map id : main portal id : [to field id, to field portal] + 863010100 : { + 3 : [863010400, 2], + 6 : [863010300, 2], + 7 : [863010300, 2], + 9 : [863010220, 1], + }, + 863010200 : { + 0 : [863010100, 2], + 1 : [863010220, 2], + 2 : [863010240, 2], + }, + 863010210 : { + 1 : [863010200, 1], + 2 : [863010240, 0], + }, + 863010220 : { + 1 : [863010100, 1], + 2 : [863010230, 1], + }, + 863010230 : { + 1 : [863010220, 2], + 2 : [863010240, 0], + }, + 863010240 : { + 1 : [863010230, 2], + 2 : [863010210, 2], + 3 : [863010500, 0], + }, + 863010300 :{ + 1 : [863010310, 1], + 2 : [863010100, 7], + }, + 863010310 : { + 1 : [863010300, 1], + 2 : [863010320, 1], + }, + 863010320 : { + 1 : [863010500, 1], + 2 : [863010310, 2], + 3 : [863010330, 0], + }, + 863010330 : { + 1 : [863010320, 3], + 3 : [863010500, 0], + }, + 863010400 : { + 1 : [863010410, 1], + 2 : [863010100, 6], + }, + 863010410 : { + 1 : [863010400, 1], + 2 : [863010420, 1], + }, + 863010420 : { + 1 : [863010410, 5], + 2 : [863010500, 5], + 3 : [863010430, 0], + }, + 863010430 : { + 1 : [863010420, 3], + 3 : [863010500, 0], + }, + 863010500 : { + 1 : [863010320, 1], + 2 : [863010240, 0], + 3 : [863010600, 0], + 4 : [863010330, 0], + 5 : [863010420, 2], + 6 : [863010430, 0], + }, + 863010600 : { + 2 : [863010500, 0], + }, +} + +fieldID = sm.getFieldID() +if fieldID not in fields: + sm.chat("This portal (giantBossPortal.py) is not yet coded for this map (" + str(fieldID) + ")") +else: + innerDict = fields[fieldID] + if parentID not in innerDict: + sm.chat("This portal (giantBossPortal, " + str(parentID) + ") is not yet coded for this map (" + str(fieldID) + ")") + elif sm.getAmountOfMobsInField() > 2 and fieldID != 863010600: + sm.chat("Defeat all monsters first.") + else: + sm.warp(innerDict[parentID][0], innerDict[parentID][1]) diff --git a/scripts/portal/giveupCH_test.py b/scripts/portal/giveupCH_test.py new file mode 100755 index 0000000..1136570 --- /dev/null +++ b/scripts/portal/giveupCH_test.py @@ -0,0 +1 @@ +sm.warpInstanceOut(931050500) \ No newline at end of file diff --git a/scripts/portal/glpqPortal1.py b/scripts/portal/glpqPortal1.py new file mode 100755 index 0000000..361e376 --- /dev/null +++ b/scripts/portal/glpqPortal1.py @@ -0,0 +1,5 @@ +if sm.getFieldID() == 610030200: + if sm.fieldHasProperty("Stage1Cleared"): + sm.warpInstanceIn(610030200) + else: + sm.chatRed("Some of the Sigils have not been activated yet") \ No newline at end of file diff --git a/scripts/portal/goBlackMarket.py b/scripts/portal/goBlackMarket.py new file mode 100755 index 0000000..3b2e1a2 --- /dev/null +++ b/scripts/portal/goBlackMarket.py @@ -0,0 +1,3 @@ +# 401030600 +sm.warp(401040001, 1) +sm.dispose() diff --git a/scripts/portal/goSkuasForest.py b/scripts/portal/goSkuasForest.py new file mode 100755 index 0000000..35714ae --- /dev/null +++ b/scripts/portal/goSkuasForest.py @@ -0,0 +1,6 @@ +# id 4 (pt_skuasforest), field 867202200 +sm.setSpeakerType(3) +sm.setParam(56) +sm.setColor(1) +res = sm.sendNext("#bI think we should head into the forest to see if we can find something we can use.\r\n#L0# Let's leave now.#l\r\n#L1# Let's make repairs and then leave.#l") +sm.warp(867202800) diff --git a/scripts/portal/goSvarti.py b/scripts/portal/goSvarti.py new file mode 100755 index 0000000..82f2619 --- /dev/null +++ b/scripts/portal/goSvarti.py @@ -0,0 +1,6 @@ +# id 2 (goTown), field 867201000 +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(9400587) # Kan +sm.sendNext("#face0#Not a chance. Chief Gurnardson won't let us in until he gets everything he wants.") diff --git a/scripts/portal/goSvartiField.py b/scripts/portal/goSvartiField.py new file mode 100755 index 0000000..f9580be --- /dev/null +++ b/scripts/portal/goSvartiField.py @@ -0,0 +1,7 @@ +# id 1 (goField), field 867201000 +sm.setSpeakerType(3) +sm.setParam(36) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(9400589) # Peytour +res = sm.sendNext("#face0#Over here! Come on over.#b \r\n#L0# Let's leave now.#l\r\n#L1# Let's make repairs and then leave.#l") +sm.warp(867201160) diff --git a/scripts/portal/goUP_310070300.py b/scripts/portal/goUP_310070300.py new file mode 100755 index 0000000..a4440a3 --- /dev/null +++ b/scripts/portal/goUP_310070300.py @@ -0,0 +1,3 @@ +# 310070230 +sm.warp(310070300, 15) +sm.dispose() diff --git a/scripts/portal/go_867201280.py b/scripts/portal/go_867201280.py new file mode 100755 index 0000000..f25df6c --- /dev/null +++ b/scripts/portal/go_867201280.py @@ -0,0 +1,18 @@ +# id 2 (go_867201280), field 867201260 +sm.lockInGameUI(True, False) +sm.removeAdditionalEffect() +sm.sendDelay(1000) +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(9400580) # Alika +sm.sendNext("#face5#Aghhhh! ") +sm.forcedFlip(True) +sm.setParam(57) +sm.sendSay("#bWhat was that? ") +sm.avatarOriented("Effect/OnUserEff.img/emotionBalloon/exclamation3") +sm.forcedMove(False, 2000) +sm.sendDelay(1500) +sm.moveCamera(True, 0, 0, 0) +sm.lockInGameUI(False, True) +sm.warp(867201280) diff --git a/scripts/portal/go_FantasticPark.py b/scripts/portal/go_FantasticPark.py new file mode 100755 index 0000000..6bfa79e --- /dev/null +++ b/scripts/portal/go_FantasticPark.py @@ -0,0 +1,3 @@ +# 220000000 +sm.warp(223000000, 0) +sm.dispose() diff --git a/scripts/portal/go_adventuretuto.py b/scripts/portal/go_adventuretuto.py new file mode 100755 index 0000000..72f0bf2 --- /dev/null +++ b/scripts/portal/go_adventuretuto.py @@ -0,0 +1,9 @@ +# 106030201 +fieldID = sm.getFieldID() +if fieldID < 4000014: + sm.warp(sm.getFieldID() + 1) + sm.dispose() +elif sm.getFieldID() == 4000014: + sm.warp(4000020, 0) + sm.dispose() + diff --git a/scripts/portal/go_animalShow.py b/scripts/portal/go_animalShow.py new file mode 100755 index 0000000..21da9a8 --- /dev/null +++ b/scripts/portal/go_animalShow.py @@ -0,0 +1,12 @@ +# 223030200 +response = sm.sendAskYesNo("Would you like to battle scarlion and targa?") + +currentMap = sm.getFieldID() +if response: + if sm.getParty() is None: + sm.sendSayOkay("Please create a party before going in.") + elif not sm.isPartyLeader(): + sm.sendSayOkay("Please have your party leader enter the portal.") + elif sm.checkParty(): + sm.warpInstanceIn(223030210, True) +sm.dispose() diff --git a/scripts/portal/go_ballroom.py b/scripts/portal/go_ballroom.py new file mode 100755 index 0000000..d1fdbf0 --- /dev/null +++ b/scripts/portal/go_ballroom.py @@ -0,0 +1,4 @@ +# Lachelein Main street -> + +if sm.hasQuest(34319) or sm.hasQuestCompleted(34319): + sm.warp(450003400) \ No newline at end of file diff --git a/scripts/portal/go_blackmarket.py b/scripts/portal/go_blackmarket.py new file mode 100755 index 0000000..3335470 --- /dev/null +++ b/scripts/portal/go_blackmarket.py @@ -0,0 +1,3 @@ +# 401040001 - Helisium Downtown Entrance +sm.warp(401040001, 3) +sm.dispose() diff --git a/scripts/portal/go_clockTower.py b/scripts/portal/go_clockTower.py new file mode 100755 index 0000000..6d1de9e --- /dev/null +++ b/scripts/portal/go_clockTower.py @@ -0,0 +1,4 @@ +# Lachelein Main street -> + +if sm.hasQuest(34326) or sm.hasQuestCompleted(34326): + sm.warp(450003500) \ No newline at end of file diff --git a/scripts/portal/go_deepForest.py b/scripts/portal/go_deepForest.py new file mode 100755 index 0000000..ce86cfd --- /dev/null +++ b/scripts/portal/go_deepForest.py @@ -0,0 +1,2 @@ +# Portal towards Slurpy Tree Habitat. Used for ChuChu prequests +sm.warpInstanceIn(450002250) diff --git a/scripts/portal/go_kCity.py b/scripts/portal/go_kCity.py new file mode 100755 index 0000000..0a11d3d --- /dev/null +++ b/scripts/portal/go_kCity.py @@ -0,0 +1 @@ +sm.warp(331000000, 3) \ No newline at end of file diff --git a/scripts/portal/go_reward.py b/scripts/portal/go_reward.py new file mode 100755 index 0000000..9d2e5bc --- /dev/null +++ b/scripts/portal/go_reward.py @@ -0,0 +1,6 @@ +# 811000500 - Princess No (pno) +response = sm.sendAskYesNo("Would you like to leave?") + +if response: + sm.clearPartyInfo(811000100) +sm.dispose() diff --git a/scripts/portal/goldTempleBoss.py b/scripts/portal/goldTempleBoss.py new file mode 100755 index 0000000..8d90615 --- /dev/null +++ b/scripts/portal/goldTempleBoss.py @@ -0,0 +1,3 @@ +# 252030000 - To Ravana +if sm.checkParty(): + sm.warpInstanceIn(252030100, True) # Ravana's Golden Altar diff --git a/scripts/portal/goldTemple_mGate.py b/scripts/portal/goldTemple_mGate.py new file mode 100755 index 0000000..d3c8f72 --- /dev/null +++ b/scripts/portal/goldTemple_mGate.py @@ -0,0 +1,3 @@ +# 252010300 - Golden Temple Training Ground 4 -> SnowFro's Lair +sm.warp(925120000, 0) +sm.dispose() diff --git a/scripts/portal/goldTemple_sGate.py b/scripts/portal/goldTemple_sGate.py new file mode 100755 index 0000000..61706e7 --- /dev/null +++ b/scripts/portal/goldTemple_sGate.py @@ -0,0 +1,3 @@ +# 223010100 +sm.warp(252020000, 0) +sm.dispose() diff --git a/scripts/portal/gold_boss_gate.py b/scripts/portal/gold_boss_gate.py new file mode 100755 index 0000000..4a2506c --- /dev/null +++ b/scripts/portal/gold_boss_gate.py @@ -0,0 +1,4 @@ +# 252020000 - to gold boss +# idk if this is the correct portal progression but i couldn't find another way to link everything together + +sm.warp(252030000, 5) diff --git a/scripts/portal/gotoAran.py b/scripts/portal/gotoAran.py new file mode 100755 index 0000000..0cb1906 --- /dev/null +++ b/scripts/portal/gotoAran.py @@ -0,0 +1,3 @@ +# 927020010 +sm.giveSkill(20041226, 0) +sm.warp(927020050, 0) diff --git a/scripts/portal/gotoDoor.py b/scripts/portal/gotoDoor.py new file mode 100755 index 0000000..002cf43 --- /dev/null +++ b/scripts/portal/gotoDoor.py @@ -0,0 +1,3 @@ +# 272010100 +sm.warp(272010200, 1) +sm.dispose() diff --git a/scripts/portal/gotoNow.py b/scripts/portal/gotoNow.py new file mode 100755 index 0000000..c270b68 --- /dev/null +++ b/scripts/portal/gotoNow.py @@ -0,0 +1,3 @@ +# 272010200 +sm.warp(272010100, 2) +sm.dispose() diff --git a/scripts/portal/goto_701220350.py b/scripts/portal/goto_701220350.py new file mode 100755 index 0000000..39672a8 --- /dev/null +++ b/scripts/portal/goto_701220350.py @@ -0,0 +1,262 @@ +from net.swordie.ms.world.field.fieldeffect import GreyFieldType + +BLUE_DEMON = 9310577 +GOBLIN_DEMON = 9310578 +NINE_TAILED_FOX = 9310579 + + +if "0" in sm.getQRValue(62011): + sm.warpInstanceIn(701220350) + + sm.lockInGameUI(True, False) + sm.removeEscapeButton() + sm.setFieldColour(GreyFieldType.Field, 0, 0, 0, 0) + sm.showEffectOnPosition("Map/Effect2.img/BlackOut", 23600, 1100, 400) + sm.sendDelay(2000) + + sm.showBalloonMsgOnNpc("Effect/Direction_CN.img/effect/tuto/BalloonMsg0/1", 2500, GOBLIN_DEMON) + sm.sendDelay(2000) + + sm.showBalloonMsgOnNpc("Effect/Direction_CN.img/effect/tuto/BalloonMsg0/2", 2500, NINE_TAILED_FOX) + sm.sendDelay(2000) + + sm.showBalloonMsgOnNpc("Effect/Direction_CN.img/effect/tuto/BalloonMsg0/3", 2500, BLUE_DEMON) + sm.sendDelay(2000) + + sm.showBalloonMsgOnNpc("Effect/Direction_CN.img/effect/tuto/BalloonMsg0/4", 2500, GOBLIN_DEMON) + sm.sendDelay(2000) + + sm.showBalloonMsgOnNpc("Effect/Direction_CN.img/effect/tuto/BalloonMsg0/5", 2500, NINE_TAILED_FOX) + sm.sendDelay(2000) + + sm.showBalloonMsgOnNpc("Effect/Direction_CN.img/effect/tuto/BalloonMsg0/6", 2500, BLUE_DEMON) + sm.sendDelay(2000) + + sm.showBalloonMsgOnNpc("Effect/Direction_CN.img/effect/tuto/BalloonMsg0/7", 2500, GOBLIN_DEMON) + sm.sendDelay(2000) + + sm.showBalloonMsgOnNpc("Effect/Direction_CN.img/effect/tuto/BalloonMsg0/8", 2500, BLUE_DEMON) + sm.sendDelay(2000) + + sm.showBalloonMsgOnNpc("Effect/Direction_CN.img/effect/tuto/BalloonMsg0/9", 2500, NINE_TAILED_FOX) + sm.sendDelay(2000) + + sm.showBalloonMsgOnNpc("Effect/Direction_CN.img/effect/tuto/BalloonMsg0/10", 2500, BLUE_DEMON) + sm.sendDelay(2000) + + sm.showBalloonMsgOnNpc("Effect/Direction_CN.img/effect/tuto/BalloonMsg0/11", 2500, GOBLIN_DEMON) + sm.sendDelay(2000) + + sm.setFieldColour(GreyFieldType.Field, 250, 250, 250, 1000) + sm.sendDelay(1000) + + sm.setSpeakerID(NINE_TAILED_FOX) + sm.setBoxChat() + sm.sendNext("Intruder!") + sm.showNpcSpecialActionByTemplateId(NINE_TAILED_FOX, "angry") + + sm.setSpeakerID(GOBLIN_DEMON) + sm.setBoxChat() + sm.sendNext("A human. Gross. Who's got the antihomosapien gel?") + + sm.setSpeakerID(NINE_TAILED_FOX) + sm.setBoxChat() + sm.sendNext("Shoo! Begone!") + sm.showNpcSpecialActionByTemplateId(NINE_TAILED_FOX, "angry") + + sm.flipBoxChat() + sm.flipBoxChatPlayerAsSpeaker() + sm.sendNext("Huh? What? Wait a sec--!") + + sm.warpInstanceOut(701220300, 2) + sm.chatRed("A strong demonic energy shoves you out the door.") + sm.createQuestWithQRValue(62011, "1") + sm.lockInGameUI(False) + + +elif "1" in sm.getQRValue(62011): + sm.removeEscapeButton() + sm.setBoxChat() + sm.flipBoxChat() + sm.flipBoxChatPlayerAsSpeaker() + sm.sendNext("What was that? This time, disguise yourself and sneak in...") + + sm.warpInstanceIn(701220350) + + sm.lockInGameUI(True, False) + sm.hideUser(True) + sm.sendDelay(1000) + + sm.setSpeakerID(GOBLIN_DEMON) + sm.setBoxChat() + sm.sendNext("Ugh. A human. Thanks a lot, Blue") + + sm.setSpeakerID(BLUE_DEMON) + sm.setBoxChat() + sm.sendNext("It's not my fault!") + + sm.setSpeakerID(GOBLIN_DEMON) + sm.setBoxChat() + sm.sendNext("I TOLD you to stop stealing shoes!") + + sm.setSpeakerID(BLUE_DEMON) + sm.setBoxChat() + sm.sendNext("But I'm so cute! How could they hold it against me?") + + sm.setSpeakerID(GOBLIN_DEMON) + sm.setBoxChat() + sm.sendNext("Because you're a cliche, dimwit. A demon taking shoes? Of course you're gonna be mad.") + + sm.flipBoxChat() + sm.flipBoxChatPlayerAsSpeaker() + sm.sendNext("(These must be the demons stirring up trouble in town.)") + + sm.setSpeakerID(NINE_TAILED_FOX) + sm.setBoxChat() + sm.sendNext("Why does the human lurk silently in the portal?") + + sm.setSpeakerID(GOBLIN_DEMON) + sm.setBoxChat() + sm.sendNext("Should I get the human swatter?") + + sm.flipBoxChat() + sm.flipBoxChatPlayerAsSpeaker() + sm.sendNext("(You approach the demons slowly, hands up in front of you.)") + + sm.sendDelay(500) + + sm.hideUser(False) + sm.sendDelay(1000) + + sm.forcedMove(True, 400) + sm.sendDelay(2000) + + sm.sendNext("Hey, guys. How's it going? Listen, I just--") + + sm.setSpeakerID(GOBLIN_DEMON) + sm.setBoxChat() + sm.sendNext("Ugh. Its breath smells like cow.") + + sm.setSpeakerID(BLUE_DEMON) + sm.setBoxChat() + sm.sendNext("Hi, human! Tell me the truth. Are my cheeks pinchable? Are they tasty, like a human baby's?") + + sm.setSpeakerID(GOBLIN_DEMON) + sm.setBoxChat() + sm.sendNext("The human has made a mistake. It has come alone...") + + sm.setSpeakerID(BLUE_DEMON) + sm.setBoxChat() + sm.sendNext("Can you burp me, human? And wipe me? I've always wanted--") + + sm.setSpeakerID(NINE_TAILED_FOX) + sm.setBoxChat() + sm.sendNext("Silence!") + + sm.sendNext("Human. Why do you invade our home?") + + sm.flipBoxChat() + sm.flipBoxChatPlayerAsSpeaker() + sm.sendNext("I don't want any trouble. I'm just looking for a book.") + + sm.setSpeakerID(NINE_TAILED_FOX) + sm.setBoxChat() + sm.sendNext("A book...") + + sm.flipBoxChat() + sm.flipBoxChatPlayerAsSpeaker() + sm.sendNext("A book written by a monk, a long time ago. Mind if I check the bookshelf?") + + sm.setSpeakerID(NINE_TAILED_FOX) + sm.setBoxChat() + sm.sendNext("Mind if I eat your eyeballs?") + + sm.setSpeakerID(BLUE_DEMON) + sm.setBoxChat() + sm.sendNext("If you give a human a booksie, they'll ask you for a glass of BLOOD.") + + sm.setSpeakerID(GOBLIN_DEMON) + sm.setBoxChat() + sm.sendNext("Just give it the book! I want to breathe again!") + + sm.flipBoxChat() + sm.flipBoxChatPlayerAsSpeaker() + sm.sendNext("(Maybe these demons can be reasoned with. After all, they haven't ripped my heart out yet.)") + + sm.sendNext("All I want is that book. Is there anything I can do to convince you I'm harmless? Maybe a favour?") + + sm.setSpeakerID(GOBLIN_DEMON) + sm.setBoxChat() + sm.sendNext("It thinks it can trick us...") + + sm.setSpeakerID(BLUE_DEMON) + sm.setBoxChat() + sm.sendNext("Sing me a lullaby! Make my cradle fall down from a treetop! Ring me around a rosie!!") + + sm.setSpeakerID(GOBLIN_DEMON) + sm.setBoxChat() + sm.sendNext("Sew Blue's mouth shut so he'll stop annoying me.") + + sm.setSpeakerID(BLUE_DEMON) + sm.setBoxChat() + sm.sendNext("Foxy, make Gobby be nice!") + + sm.setSpeakerID(NINE_TAILED_FOX) + sm.setBoxChat() + sm.sendNext("Actually...") + + sm.sendNext("We accept your proposal.\r\n" + "Do each of us a favour, and we'll find your book.\r\n" + "If you fail to complete my, *ahem, OUR, favours, we eat your eyeballs.") + + sm.setSpeakerID(BLUE_DEMON) + sm.setBoxChat() + sm.sendNext("Deal! Me, first! Me, first!") + + sm.setSpeakerID(GOBLIN_DEMON) + sm.setBoxChat() + sm.sendNext("If the human is going to stick around can we at least make it do something about its breath?") + + sm.lockInGameUI(False) + sm.warpInstanceOut(701220350) + sm.setQRValue(62011, "2") + + +elif sm.hasQuestCompleted(62007) and not "1" in sm.getQRValue(62007): + sm.warpInstanceIn(701220350) + sm.lockInGameUI(True, False) + sm.removeEscapeButton() + sm.hideNpcByTemplateId(NINE_TAILED_FOX, True) + sm.hideNpcByTemplateId(GOBLIN_DEMON, True) + + sm.setSpeakerID(BLUE_DEMON) + sm.setBoxChat() + sm.sendNext("#fs 24##h0#!!! It's horrible!!! "+ sm.getQRValue(62015) +" and "+ sm.getQRValue(62018) +" have been taken!") + + sm.flipBoxChat() + sm.flipBoxChatPlayerAsSpeaker() + sm.sendNext("Taken?! Tell me everything!") + + sm.setSpeakerID(BLUE_DEMON) + sm.setBoxChat() + sm.sendNext("A man stormed in here and ook them! I wiggled away, because I'm small and extremely cute. But he took the other two upstairs!") + + sm.flipBoxChat() + sm.flipBoxChatPlayerAsSpeaker() + sm.sendNext("A #bman#k? Who would do that?") + + sm.setSpeakerID(BLUE_DEMON) + sm.setBoxChat() + sm.sendNext("We have to save "+ sm.getQRValue(62015) +" and "+ sm.getQRValue(62018) +"!!") + + sm.flipBoxChat() + sm.flipBoxChatPlayerAsSpeaker() + sm.sendNext("Let's go! Lead the way, "+ sm.getQRValue(62013) +"!") + + sm.warpInstanceOut(701220300, 2) + sm.createQuestWithQRValue(62007, "1") + sm.lockInGameUI(False) + + +elif "2" in sm.getQRValue(62011): + sm.warp(701220350) \ No newline at end of file diff --git a/scripts/portal/gryphius.py b/scripts/portal/gryphius.py new file mode 100755 index 0000000..6416ba1 --- /dev/null +++ b/scripts/portal/gryphius.py @@ -0,0 +1,7 @@ +# Portal to Griffin +DARK_GRIFFEY_FOREST = 924000201 + +if sm.hasQuest(1451) or sm.hasQuest(1453) or sm.hasQuest(1455) or sm.hasQuest(1457) or sm.hasQuest(1459): + sm.warpInstanceIn(DARK_GRIFFEY_FOREST, False) + sm.dispose() +sm.warp(240020101, 3) diff --git a/scripts/portal/hillah_next.py b/scripts/portal/hillah_next.py new file mode 100755 index 0000000..9082d5a --- /dev/null +++ b/scripts/portal/hillah_next.py @@ -0,0 +1,11 @@ +if not sm.hasMobsInField(chr.getFieldID()): + if sm.getFieldID() == 262030100: + sm.warp(262030200, True) + elif sm.getFieldID() == 262030200: + sm.warp(262030300, True) + elif sm.getFieldID() == 262031100: + sm.warp(262031200, True) + elif sm.getFieldID() == 262031200: + sm.warp(262031300, True) +else: + sm.chatRed("You must eliminate all the monsters in the map before continuing") \ No newline at end of file diff --git a/scripts/portal/hintTuto02.py b/scripts/portal/hintTuto02.py new file mode 100755 index 0000000..7c16c33 --- /dev/null +++ b/scripts/portal/hintTuto02.py @@ -0,0 +1,4 @@ +# Adventurer Tutorial + +sm.avatarOriented("UI/tutorial.img/20") +sm.dispose() diff --git a/scripts/portal/hintTuto03.py b/scripts/portal/hintTuto03.py new file mode 100755 index 0000000..d7b0834 --- /dev/null +++ b/scripts/portal/hintTuto03.py @@ -0,0 +1,4 @@ +# Adventurer Tutorial + +sm.avatarOriented("UI/tutorial.img/21") +sm.dispose() diff --git a/scripts/portal/hontale_BR.py b/scripts/portal/hontale_BR.py new file mode 100755 index 0000000..bc44994 --- /dev/null +++ b/scripts/portal/hontale_BR.py @@ -0,0 +1,47 @@ +# horntail - Cave of Life - Cave of trial 1 & 2 +from net.swordie.ms.constants import BossConstants + +if sm.getFieldID() == 240060000: + if sm.getChr().getField().getMobs().size() == 0: + sm.warp(240060100, True) + sm.setInstanceTime(BossConstants.HORNTAIL_NORMAL_TIME) + sm.dispose() + else: + sm.chat("Please eliminate all monsters") + +elif sm.getFieldID() == 240060100: + if sm.getChr().getField().getMobs().size() == 0: + sm.warpInstanceIn(240060300, True) + sm.setInstanceTime(BossConstants.HORNTAIL_NORMAL_TIME) + sm.dispose() + else: + sm.chat("Please eliminate all monsters") +elif sm.getFieldID() == 240060002: + if sm.getChr().getField().getMobs().size() == 0: + sm.warp(240060102, True) + sm.setInstanceTime(BossConstants.HORNTAIL_NORMAL_TIME) + sm.dispose() + else: + sm.chat("Please eliminate all monsters") +elif sm.getFieldID() == 240060102: + if sm.getChr().getField().getMobs().size() == 0: + sm.warpInstanceIn(240060200, True) + sm.setInstanceTime(BossConstants.HORNTAIL_NORMAL_TIME) + sm.dispose() + else: + sm.chat("Please eliminate all monsters") +elif sm.getFieldID() == 240060001: + if sm.getChr().getField().getMobs().size() == 0: + sm.warp(240060101, True) + sm.setInstanceTime(BossConstants.HORNTAIL_NORMAL_TIME) + sm.dispose() + else: + sm.chat("Please eliminate all monsters") + +elif sm.getFieldID() == 240060101: + if sm.getChr().getField().getMobs().size() == 0: + sm.warpInstanceIn(240060201, True) + sm.setInstanceTime(BossConstants.HORNTAIL_NORMAL_TIME) + sm.dispose() + else: + sm.chat("Please eliminate all monsters") diff --git a/scripts/portal/hontale_Bopen.py b/scripts/portal/hontale_Bopen.py new file mode 100755 index 0000000..ec75c17 --- /dev/null +++ b/scripts/portal/hontale_Bopen.py @@ -0,0 +1,18 @@ +# Cave of Life | 1st Room of Maze +# Continue Portal + +nextMap = chr.getFieldID() + 1 +portal = 0 + +if nextMap > 240050105: + nextMap = 240050200 + portal = 1 + +if sm.isPartyLeader(): + if sm.hasMobsInField(): + sm.systemMessage("The map must be clear before proceeding..") + else: + # TODO reset map for next party + sm.invokeForParty("warp", nextMap, portal) +else: + sm.systemMessage("Only the party leader may proceed..") \ No newline at end of file diff --git a/scripts/portal/hontale_BtoB1.py b/scripts/portal/hontale_BtoB1.py new file mode 100755 index 0000000..3419177 --- /dev/null +++ b/scripts/portal/hontale_BtoB1.py @@ -0,0 +1,4 @@ +# Cave of Life | Room of Maze +# exit portal + +sm.openNpc(2083002) \ No newline at end of file diff --git a/scripts/portal/hontale_C.py b/scripts/portal/hontale_C.py new file mode 100755 index 0000000..70ee0ac --- /dev/null +++ b/scripts/portal/hontale_C.py @@ -0,0 +1,11 @@ +# Cave of Life | Cave of Choice +# Warps to next Horntail map + +if sm.isPartyLeader(): + if sm.hasMobsInField(): + sm.systemMessage("The map must be clear before proceeding..") + else: + # TODO reset map for next party + sm.invokeForParty("warp", chr.getFieldID() + 100, 1) +else: + sm.systemMessage("Only the party leader may proceed..") \ No newline at end of file diff --git a/scripts/portal/hontale_boss1.py b/scripts/portal/hontale_boss1.py new file mode 100755 index 0000000..1886bf6 --- /dev/null +++ b/scripts/portal/hontale_boss1.py @@ -0,0 +1 @@ +sm.dispose() \ No newline at end of file diff --git a/scripts/portal/hontale_boss2.py b/scripts/portal/hontale_boss2.py new file mode 100755 index 0000000..1886bf6 --- /dev/null +++ b/scripts/portal/hontale_boss2.py @@ -0,0 +1 @@ +sm.dispose() \ No newline at end of file diff --git a/scripts/portal/hontale_pass.py b/scripts/portal/hontale_pass.py new file mode 100755 index 0000000..e185335 --- /dev/null +++ b/scripts/portal/hontale_pass.py @@ -0,0 +1,4 @@ +# horntail entrace - Cave of Life - Entrance + +sm.warp(240050000, 0) +sm.dispose() diff --git a/scripts/portal/hunterOut.py b/scripts/portal/hunterOut.py new file mode 100755 index 0000000..9fe05ab --- /dev/null +++ b/scripts/portal/hunterOut.py @@ -0,0 +1,34 @@ +maps = { + 931050410 : 102040600, + 931050415 : 260010201, + 931050434 : 261010002, + 931050435 : 261010103, + 931050417 : 261020500, + 931050424 : 261020200, + 931050419 : 240010200, + 931050420 : 240010600, + 931050426 : 240020101, + 931050425 : 240020401, + 931050422 : 240020200, + 931050413 : 220040200, + 931050428 : 211041400, + 931050436 : 250010502, + 931050418 : 251010500, + 931050427 : 220080000, + 931050429 : 230040410, + 931050430 : 240040400, + 931050431 : 270010500, + 931050432 : 270020500, + 931050433 : 270030500, +} +MYSTIC_GATE = 9073008 + +sm.setSpeakerID(MYSTIC_GATE) +response = sm.sendAskYesNo("Exit the Mystic Gate?") + +if not sm.getFieldID() in maps: + sm.sendSayOkay("Sorry I haven't been coded for this map yet") + sm.dispose() + +if response: + sm.warpInstanceOut(maps[sm.getFieldID()], 0) \ No newline at end of file diff --git a/scripts/portal/in03.py b/scripts/portal/in03.py new file mode 100755 index 0000000..0edbdcc --- /dev/null +++ b/scripts/portal/in03.py @@ -0,0 +1 @@ +sm.warp(104000004, 1) \ No newline at end of file diff --git a/scripts/portal/in2159011.py b/scripts/portal/in2159011.py new file mode 100755 index 0000000..999f8d9 --- /dev/null +++ b/scripts/portal/in2159011.py @@ -0,0 +1,13 @@ +# 931000001 +sm.setSpeakerID(2159011) + +if not ("exp1=1" in sm.getQRValue(23007) and "exp2=1" in sm.getQRValue(23007) and "exp3=1" in sm.getQRValue(23007) and "exp4=1" in sm.getQRValue(23007)): + sm.sendSayOkay("#bFind your hiding friends before continuing.#k") + sm.dispose() + +if sm.sendAskYesNo("#b(What a suspicious hole. Maybe Von is hiding inside. Peek inside?)#k"): + sm.giveExp(35) + sm.warp(931000010, 0) + +else: + sm.sendSayOkay("#b(Even Von wouldn't hide here, right?)#k") diff --git a/scripts/portal/inBlackSlimeBoss.py b/scripts/portal/inBlackSlimeBoss.py new file mode 100755 index 0000000..098d3f1 --- /dev/null +++ b/scripts/portal/inBlackSlimeBoss.py @@ -0,0 +1,2 @@ +# 120041800 +sm.warp(914200000, 2) \ No newline at end of file diff --git a/scripts/portal/inDragonEgg.py b/scripts/portal/inDragonEgg.py new file mode 100755 index 0000000..06b0010 --- /dev/null +++ b/scripts/portal/inDragonEgg.py @@ -0,0 +1,6 @@ +# Farm Street | Farm Center + +if sm.hasQuest(22005): # only if intro quest is active "Rescuing the Piglet" + sm.warp(900020100, 0) +else: + sm.warp(100030301, 0) diff --git a/scripts/portal/inERShip.py b/scripts/portal/inERShip.py new file mode 100755 index 0000000..1e42870 --- /dev/null +++ b/scripts/portal/inERShip.py @@ -0,0 +1,3 @@ +# 104020100 +sm.warp(104020120, 2) +sm.dispose() diff --git a/scripts/portal/inMyung.py b/scripts/portal/inMyung.py new file mode 100755 index 0000000..aaa8e77 --- /dev/null +++ b/scripts/portal/inMyung.py @@ -0,0 +1,6 @@ +# 103000000 - To Kerning City Pharmacy +sm.warp(103000002, 8) +if sm.hasQuest(2614): + for i in range(15): + sm.spawnMob(9300524, -54, 86, False) +sm.dispose() diff --git a/scripts/portal/inPTjob2.py b/scripts/portal/inPTjob2.py new file mode 100755 index 0000000..2e97ab4 --- /dev/null +++ b/scripts/portal/inPTjob2.py @@ -0,0 +1,8 @@ +# 200020001 +if 2400 == chr.getJob(): + sm.warp(915010000, 1)# should be instance ? +elif 2410 <= chr.getJob() <= 2411: + sm.warp(915020000, 2) +else: + sm.chat("Only Phantoms can enter.") +sm.dispose() diff --git a/scripts/portal/inPTjob3.py b/scripts/portal/inPTjob3.py new file mode 100755 index 0000000..5830ec6 --- /dev/null +++ b/scripts/portal/inPTjob3.py @@ -0,0 +1,6 @@ +# 260010601 +if 2410 <= chr.getJob() <= 2411: + sm.warp(915020100, 1) +else: + sm.chat("Only Phantoms can enter.") +sm.dispose() diff --git a/scripts/portal/inPTjob4.py b/scripts/portal/inPTjob4.py new file mode 100755 index 0000000..f907302 --- /dev/null +++ b/scripts/portal/inPTjob4.py @@ -0,0 +1,6 @@ +# 240010102 +if 2410 <= chr.getJob() <= 2411: + sm.warp(915010200, 1) +else: + sm.chat("Only Phantoms can enter.") +sm.dispose() diff --git a/scripts/portal/inThiefMaster.py b/scripts/portal/inThiefMaster.py new file mode 100755 index 0000000..6ef4509 --- /dev/null +++ b/scripts/portal/inThiefMaster.py @@ -0,0 +1,3 @@ +# 223010100 +sm.warp(103000003, 3) +sm.dispose() diff --git a/scripts/portal/in_701220200.py b/scripts/portal/in_701220200.py new file mode 100755 index 0000000..f3d44b2 --- /dev/null +++ b/scripts/portal/in_701220200.py @@ -0,0 +1,4 @@ +if sm.hasQuestCompleted(62009): + sm.warp(701220200) +else: + sm.chat("There's a demonic energy blocking you from entering.") \ No newline at end of file diff --git a/scripts/portal/in_701220300.py b/scripts/portal/in_701220300.py new file mode 100755 index 0000000..cd3f2a9 --- /dev/null +++ b/scripts/portal/in_701220300.py @@ -0,0 +1,4 @@ +if sm.hasQuest(62011) or sm.hasQuestCompleted(62011): + sm.warp(701220300) +else: + sm.chat("There's a demonic energy blocking you from entering.") \ No newline at end of file diff --git a/scripts/portal/in_FantasticPark.py b/scripts/portal/in_FantasticPark.py new file mode 100755 index 0000000..dc63db4 --- /dev/null +++ b/scripts/portal/in_FantasticPark.py @@ -0,0 +1,3 @@ +# 223000000 +sm.warp(223010000, 1) +sm.dispose() diff --git a/scripts/portal/in_adventure.py b/scripts/portal/in_adventure.py new file mode 100755 index 0000000..71eef19 --- /dev/null +++ b/scripts/portal/in_adventure.py @@ -0,0 +1,3 @@ +sm.setReturnField() +sm.warp(993080000, 2) +sm.dispose() \ No newline at end of file diff --git a/scripts/portal/in_ban.py b/scripts/portal/in_ban.py new file mode 100755 index 0000000..795914e --- /dev/null +++ b/scripts/portal/in_ban.py @@ -0,0 +1,4 @@ +# Created by MechAviv +# ID :: [865000000] +# Commerci Republic : San Commerci +sm.warp(865000003, 1) \ No newline at end of file diff --git a/scripts/portal/in_chowBoss.py b/scripts/portal/in_chowBoss.py new file mode 100755 index 0000000..6bde513 --- /dev/null +++ b/scripts/portal/in_chowBoss.py @@ -0,0 +1,19 @@ +# Portal for entering Chao + +CAVE_ENTRANCE = 2133005 # NPC ID +DEEP_INSIDE_THE_CAVE = 300010420 # MAP ID +BOULDER_MOUNTAIN_ENTRANCE = 300010400 # MAP ID 2 +BOULDER_MOUNTAIN_MENACE = 31223 # QUEST ID +time = 7 * 60 # 7 MINUTES + +sm.setSpeakerID(CAVE_ENTRANCE) + +if sm.hasQuest(BOULDER_MOUNTAIN_MENACE) or sm.hasQuestCompleted(BOULDER_MOUNTAIN_MENACE): + response = sm.sendAskYesNo("You sense something inside the dark cave. " + "Do you want to enter?") + if response: + sm.warpInstanceIn(DEEP_INSIDE_THE_CAVE) + sm.setInstanceTime(time, BOULDER_MOUNTAIN_ENTRANCE, 2) + sm.invokeAfterDelay(time * 1000, "chatRed", "Leaving the cave...") +else: + sm.sendSayOkay("You sense nothing inside the cave.") \ No newline at end of file diff --git a/scripts/portal/in_cygnus.py b/scripts/portal/in_cygnus.py new file mode 100755 index 0000000..1f89702 --- /dev/null +++ b/scripts/portal/in_cygnus.py @@ -0,0 +1,3 @@ +# 271040000 (outside) / 271040100 (inside) + +sm.openNpc(2143004) \ No newline at end of file diff --git a/scripts/portal/in_cygnusGarden.py b/scripts/portal/in_cygnusGarden.py new file mode 100755 index 0000000..f300e2a --- /dev/null +++ b/scripts/portal/in_cygnusGarden.py @@ -0,0 +1,9 @@ +# 271030600 +# sm.setSpeakerID(2143000) +# if not sm.hasItem(4032923): +# sm.sendSayOkay("You do not possess a #bDream Key") +# else: +# sm.chatRed("You have lost your Dream Key") +# sm.consumeItem(4032923) + sm.warp(271040000, 2) +# sm.dispose() diff --git a/scripts/portal/in_fairyBoss.py b/scripts/portal/in_fairyBoss.py new file mode 100755 index 0000000..6accfca --- /dev/null +++ b/scripts/portal/in_fairyBoss.py @@ -0,0 +1,39 @@ +# Portal for entering Ephenia + +nameList = [] + +EPHENIAS_HIDING_PLACE = 2133006 # NPC ID +QUEENS_HIDING_PLACE = 300030310 # MAP ID +FAIRY_FOREST_2 = 300030300 # MAP ID 2 +LADY_OF_THE_CORRUPTED_FOREST = 31229 # QUEST ID +time = 15 * 60 # 15 MINUTES + +sm.setSpeakerID(EPHENIAS_HIDING_PLACE) + +response = sm.sendAskYesNo("This is Ephenia's Hideout.\r\n" + "If you haven't gotten permission, you shouldn't be here.\r\n" + "Enter anyway?") + +if response: + chrHasQuest = True + if not sm.getParty() is None: + for partyChr in sm.getPartyMembersInSameField(chr): + partysm = partyChr.getScriptManager() + if not partysm.hasQuest(LADY_OF_THE_CORRUPTED_FOREST) and not partysm.hasQuestCompleted(LADY_OF_THE_CORRUPTED_FOREST): + chrHasQuest = False + nameList.append(partyChr.getName()) + break + + if chrHasQuest: + sm.warpInstanceIn(QUEENS_HIDING_PLACE, True) + sm.setInstanceTime(time, FAIRY_FOREST_2) + else: + text = ("You may not approach the Queen's Hiding Place. " + "Some of your party members have not completed the fairy elimination quest.\r\n\r\n" + "#bThese people don't meet the requirements:#k \r\n") + for i in nameList: + text += "#r" + i + "#k\r\n" + sm.sendSayOkay(text) + + else: + sm.sendSayOkay("You may enter in a party.") \ No newline at end of file diff --git a/scripts/portal/in_ghostHouse.py b/scripts/portal/in_ghostHouse.py new file mode 100755 index 0000000..8af660e --- /dev/null +++ b/scripts/portal/in_ghostHouse.py @@ -0,0 +1,3 @@ +# 223010100 +sm.warp(223010110, 0) +sm.dispose() diff --git a/scripts/portal/in_guild.py b/scripts/portal/in_guild.py new file mode 100755 index 0000000..ecba870 --- /dev/null +++ b/scripts/portal/in_guild.py @@ -0,0 +1,3 @@ +# 200000300 +sm.warp(200000301, 3) +sm.dispose() diff --git a/scripts/portal/in_hillah.py b/scripts/portal/in_hillah.py new file mode 100755 index 0000000..8f895da --- /dev/null +++ b/scripts/portal/in_hillah.py @@ -0,0 +1 @@ +sm.openNpc(2184000) \ No newline at end of file diff --git a/scripts/portal/in_party2.py b/scripts/portal/in_party2.py new file mode 100755 index 0000000..ec59440 --- /dev/null +++ b/scripts/portal/in_party2.py @@ -0,0 +1,3 @@ +# 221023200 +sm.warp(221023300, 0) +sm.dispose() diff --git a/scripts/portal/infoAttackTuto.py b/scripts/portal/infoAttackTuto.py new file mode 100755 index 0000000..995c49a --- /dev/null +++ b/scripts/portal/infoAttackTuto.py @@ -0,0 +1,3 @@ +# Created by MechAviv +# ID :: [4000013] +# Maple Road : Inside the Small Forest \ No newline at end of file diff --git a/scripts/portal/infoPickupTuto.py b/scripts/portal/infoPickupTuto.py new file mode 100755 index 0000000..995c49a --- /dev/null +++ b/scripts/portal/infoPickupTuto.py @@ -0,0 +1,3 @@ +# Created by MechAviv +# ID :: [4000013] +# Maple Road : Inside the Small Forest \ No newline at end of file diff --git a/scripts/portal/infoRelaxTuto.py b/scripts/portal/infoRelaxTuto.py new file mode 100755 index 0000000..f4cbe94 --- /dev/null +++ b/scripts/portal/infoRelaxTuto.py @@ -0,0 +1,5 @@ +# Created by MechAviv +# ID :: [4000012] +# Maple Road : Snail Park + +sm.avatarOriented("UI/tutorial.img/27") diff --git a/scripts/portal/infoSkillTuto.py b/scripts/portal/infoSkillTuto.py new file mode 100755 index 0000000..995c49a --- /dev/null +++ b/scripts/portal/infoSkillTuto.py @@ -0,0 +1,3 @@ +# Created by MechAviv +# ID :: [4000013] +# Maple Road : Inside the Small Forest \ No newline at end of file diff --git a/scripts/portal/jett_tuto_11_1.py b/scripts/portal/jett_tuto_11_1.py new file mode 100755 index 0000000..caaa636 --- /dev/null +++ b/scripts/portal/jett_tuto_11_1.py @@ -0,0 +1,11 @@ +# Created by MechAviv +# Map ID :: 620100041 +# Nautilus : Wrecked Airship 1 + +sm.curNodeEventEnd(True) +sm.setTemporarySkillSet(0) +sm.setInGameDirectionMode(True, True, False, False) +sm.setTemporarySkillSet(0) +sm.setInGameDirectionMode(False, True, False, False) + +sm.warp(620100042, 0) \ No newline at end of file diff --git a/scripts/portal/jett_tuto_5672.py b/scripts/portal/jett_tuto_5672.py new file mode 100755 index 0000000..531e774 --- /dev/null +++ b/scripts/portal/jett_tuto_5672.py @@ -0,0 +1,6 @@ +# Created by MechAviv +# Map ID :: 620100026 +# Spaceship : In Front of the Shuttle + +# [FORCED_STAT_RESET] [] +sm.warp(620100027, 0) diff --git a/scripts/portal/jett_tuto_9_1.py b/scripts/portal/jett_tuto_9_1.py new file mode 100755 index 0000000..0e0e094 --- /dev/null +++ b/scripts/portal/jett_tuto_9_1.py @@ -0,0 +1,37 @@ +# Created by MechAviv +# Map ID :: 620100029 +# Spaceship : In Front of the Shuttle + +sm.curNodeEventEnd(True) +sm.setTemporarySkillSet(0) +sm.setInGameDirectionMode(True, True, False, False) +sm.startQuest(53246) +sm.completeQuest(53246) +sm.sendDelay(1000) + + +sm.forcedAction(379, 0) +sm.sendDelay(2000) + + +sm.setSpeakerID(9270083) +sm.removeEscapeButton() +sm.flipSpeaker() +sm.setSpeakerType(3) +sm.sendNext("We're en route. Can you really bring us down over Maple World?") + + +sm.setSpeakerID(9201286) +sm.removeEscapeButton() +sm.flipSpeaker() +sm.setSpeakerType(3) +sm.sendSay("Kshhhhh... Of course... Our power... is great... Kshhhhh... this...") + + +sm.sendDelay(2000) + + +sm.setTemporarySkillSet(0) +sm.setInGameDirectionMode(False, True, False, False) +# [FORCED_STAT_RESET] [] +sm.warp(620100040, 0) diff --git a/scripts/portal/jobout00.py b/scripts/portal/jobout00.py new file mode 100755 index 0000000..a0b74ea --- /dev/null +++ b/scripts/portal/jobout00.py @@ -0,0 +1,5 @@ +# Created by MechAviv +# ID :: [101000010] +# Ellinia : Magic Library + +sm.warp(101000000, 4) \ No newline at end of file diff --git a/scripts/portal/kCity_agit.py b/scripts/portal/kCity_agit.py new file mode 100755 index 0000000..f934550 --- /dev/null +++ b/scripts/portal/kCity_agit.py @@ -0,0 +1,5 @@ +# Created by MechAviv +# Kinesis Introduction +# Map ID :: 331000000 +# Main Street :: City Center +sm.warp(331001000, 0) \ No newline at end of file diff --git a/scripts/portal/kCity_school.py b/scripts/portal/kCity_school.py new file mode 100755 index 0000000..c9c1b80 --- /dev/null +++ b/scripts/portal/kCity_school.py @@ -0,0 +1,5 @@ +# Created by MechAviv +# Kinesis Introduction +# Map ID :: 331000000 +# Main Street :: City Center +sm.warp(331002000, 0) \ No newline at end of file diff --git a/scripts/portal/kCity_west.py b/scripts/portal/kCity_west.py new file mode 100755 index 0000000..b1f56e8 --- /dev/null +++ b/scripts/portal/kCity_west.py @@ -0,0 +1,10 @@ +# Created by MechAviv +# Kinesis Introduction +# Map ID :: 331000000 +# Main Street :: City Center + +# should be handled by quest +if sm.hasQuest(22730): + sm.warpInstanceIn(331003000, 0) +else: + sm.warp(331003000, 0) \ No newline at end of file diff --git a/scripts/portal/kannaTutoPortal.py b/scripts/portal/kannaTutoPortal.py new file mode 100755 index 0000000..c07ee6c --- /dev/null +++ b/scripts/portal/kannaTutoPortal.py @@ -0,0 +1,42 @@ +# Created by MechAviv +# Map ID :: 807100102 +# Honnou-ji : Honnou-ji Alleyway + +if sm.hasMobsInField(): + sm.chatScript("Defeat all the enemy Spirit Walkers!") +else: + sm.curNodeEventEnd(True) + sm.setTemporarySkillSet(0) + sm.setInGameDirectionMode(True, False, False, False) + sm.showFieldEffect("JPKanna/magicCircle2", 0) + sm.sendDelay(7000) + + + sm.setSpeakerID(9131010) + sm.removeEscapeButton() + sm.flipSpeaker() + sm.flipDialoguePlayerAsSpeaker() + sm.setBoxChat() + sm.setColor(1) + sm.setSpeakerType(3) + sm.sendNext("It seems like the others have succeeded as well. The barrier is collapsing.") + + + sm.setSpeakerID(9131010) + sm.removeEscapeButton() + sm.flipSpeaker() + sm.flipDialoguePlayerAsSpeaker() + sm.setBoxChat() + sm.setColor(1) + sm.setSpeakerType(3) + sm.sendSay("I need to hurry to the basement and take care of the altar.") + + + sm.setTemporarySkillSet(0) + sm.setInGameDirectionMode(False, True, False, False) + sm.removeSkill(40021183) + sm.removeSkill(40021184) + sm.removeSkill(40021185) + sm.removeSkill(40021186) + # Unhandled Message [47] Packet: 2F 02 00 00 00 A0 5C 08 00 00 00 00 00 24 02 00 00 00 00 00 80 05 BB 46 E6 17 02 0F 00 6D 6F 62 5F 6B 69 6C 6C 3D 31 32 37 30 35 31 58 68 08 00 00 00 00 00 27 02 00 00 00 00 00 80 05 BB 46 E6 17 02 0F 00 6D 6F 62 5F 6B 69 6C 6C 3D 31 32 37 30 35 31 + sm.warp(807100103, 1) \ No newline at end of file diff --git a/scripts/portal/kenjiTutoDirection.py b/scripts/portal/kenjiTutoDirection.py new file mode 100755 index 0000000..ae3215c --- /dev/null +++ b/scripts/portal/kenjiTutoDirection.py @@ -0,0 +1,46 @@ +# Portal for Hayato Tutorial cutsence when approaching Princess | Honnou-ji Temple Plaza (807100004) +# Author: Tiger + +PRINCESS_NO = 9131005 + +sm.lockInGameUI(True) +sm.removeEscapeButton() +sm.forcedInput(0) + +sm.setPlayerAsSpeaker() +sm.sendNext("Please step aside, madam, I have no quarrel with you.") + +sm.setSpeakerID(PRINCESS_NO) +sm.flipDialogue() +sm.sendSay("How dare you speak to me in such a familiar tongue. I am Kichou, daughter of the Saitou Dousan, lawful wife of the Demon King!") + +sm.setPlayerAsSpeaker() +sm.sendSay("The tales of your beauty are not exaggerations, Lady No, but you must stand aside. Your husband is my sworn enemy.") + +sm.setSpeakerID(PRINCESS_NO) +sm.flipDialogue() +sm.sendSay("Cocky little brat! You will be me for death before I am done!") + +sm.showNpcSpecialActionByTemplateId(PRINCESS_NO, "step") +sm.sendDelay(1000) + +sm.showBalloonMsgOnNpc("Effect/DirectionJP3.img/effect/kenjiTuto/balloonMsg/14", 2000, PRINCESS_NO) +sm.sendDelay(2000) + +sm.showBalloonMsgOnNpc("Effect/DirectionJP3.img/effect/kenjiTuto/balloonMsg/15", 2000, PRINCESS_NO) +sm.sendDelay(2000) + +sm.showBalloonMsgOnNpc("Effect/DirectionJP3.img/effect/kenjiTuto/balloonMsg/16", 2000, PRINCESS_NO) +sm.sendDelay(2000) + +sm.showBalloonMsg("Effect/DirectionJP3.img/effect/kenjiTuto/balloonMsg/17", 2000) +sm.sendDelay(2000) + +sm.forcedInput(1) +sm.sendDelay(1000) + +sm.forcedInput(7) +sm.sendDelay(200) + +sm.warp(807040000) +sm.dispose() # needed here or script will never stop for the next player diff --git a/scripts/portal/kenjiTutoPortal.py b/scripts/portal/kenjiTutoPortal.py new file mode 100755 index 0000000..7bc70f0 --- /dev/null +++ b/scripts/portal/kenjiTutoPortal.py @@ -0,0 +1,4 @@ +# Portal for Hayato Tutorial +# Author: Tiger + +sm.warp(807100003) # Honnou-ji : Honnou-ji Courtyard diff --git a/scripts/portal/kine_downFloor1.py b/scripts/portal/kine_downFloor1.py new file mode 100755 index 0000000..2b3b71d --- /dev/null +++ b/scripts/portal/kine_downFloor1.py @@ -0,0 +1,5 @@ +# Created by MechAviv +# Kinesis Introduction +# Map ID :: 331002100 +# School for the Gifted :: Second Floor Corridor +sm.warp(331002000, 1) \ No newline at end of file diff --git a/scripts/portal/kine_gate.py b/scripts/portal/kine_gate.py new file mode 100755 index 0000000..55c0766 --- /dev/null +++ b/scripts/portal/kine_gate.py @@ -0,0 +1,9 @@ +if sm.hasQuest(22780) or sm.hasQuestCompleted(22780): + KINESIS = 1531000 + sm.setNpcOverrideBoxChat(KINESIS) + if sm.getFieldID() == 101020400: + if sm.sendAskYesNo("Return to Seoul?"): + sm.warp(331001000, 4) + elif sm.getFieldID() == 331001000: + if sm.sendAskYesNo("Return to Maple World?"): + sm.warp(101020400, 5) \ No newline at end of file diff --git a/scripts/portal/kine_goFloor1.py b/scripts/portal/kine_goFloor1.py new file mode 100755 index 0000000..572f802 --- /dev/null +++ b/scripts/portal/kine_goFloor1.py @@ -0,0 +1,5 @@ +# Created by MechAviv +# Kinesis Introduction +# Map ID :: 331002300 +# School for the Gifted :: 1-1 Classroom +sm.warpInstanceOut(331002000, 2) \ No newline at end of file diff --git a/scripts/portal/kine_goFloor2.py b/scripts/portal/kine_goFloor2.py new file mode 100755 index 0000000..6b9ebdf --- /dev/null +++ b/scripts/portal/kine_goFloor2.py @@ -0,0 +1,5 @@ +# Created by MechAviv +# Kinesis Introduction +# Map ID :: 331002300 +# School for the Gifted :: 2-1 Classroom +sm.warpInstanceOut(331002100, 1) \ No newline at end of file diff --git a/scripts/portal/kine_goSub2.py b/scripts/portal/kine_goSub2.py new file mode 100755 index 0000000..510788b --- /dev/null +++ b/scripts/portal/kine_goSub2.py @@ -0,0 +1,8 @@ +# Created by MechAviv +# Kinesis Introduction +# Map ID :: 331003000 +# Subway :: Subway Car #1 +BLUE_SHIRT_GUY = 1531064 + +sm.removeNpc(BLUE_SHIRT_GUY) +sm.warpInstanceIn(331003100, 0) diff --git a/scripts/portal/kine_goSub3.py b/scripts/portal/kine_goSub3.py new file mode 100755 index 0000000..464c64f --- /dev/null +++ b/scripts/portal/kine_goSub3.py @@ -0,0 +1,9 @@ +# Created by MechAviv +# Kinesis Introduction +# Map ID :: 331003100 +# Subway :: Subway Car #2 +BLONDE_LADY = 1531065 +STUDENT = 1531066 +sm.removeNpc(BLONDE_LADY) +sm.removeNpc(STUDENT) +sm.warpInstanceIn(331003200, 0) \ No newline at end of file diff --git a/scripts/portal/kine_goSub4.py b/scripts/portal/kine_goSub4.py new file mode 100755 index 0000000..6662780 --- /dev/null +++ b/scripts/portal/kine_goSub4.py @@ -0,0 +1,7 @@ +# Created by MechAviv +# Kinesis Introduction +# Map ID :: 331003200 +# Subway :: Subway Car #3 +GIRL = 1531067 +sm.removeNpc(GIRL) +sm.warpInstanceIn(331003300, 0) \ No newline at end of file diff --git a/scripts/portal/kine_go_tuto2.py b/scripts/portal/kine_go_tuto2.py new file mode 100755 index 0000000..8f8fa13 --- /dev/null +++ b/scripts/portal/kine_go_tuto2.py @@ -0,0 +1,17 @@ +# Created by MechAviv +# Kinesis Introduction +# Map ID :: 331001110 +# Hideout :: Training Room 1 + +if "1" not in sm.getQuestEx(22700, "E1"): + sm.lockForIntro() + sm.playSound("Sound/Field.img/masteryBook/EnchantSuccess") + sm.showClearStageExpWindow(350) + sm.giveExp(350) + + sm.playExclSoundWithDownBGM("Voice3.img/Kinesis/guide_04", 100) + sm.sendDelay(2500) + + sm.setQuestEx(22700, "E1", "1") + sm.unlockForIntro() + sm.warp(331001120, 0) \ No newline at end of file diff --git a/scripts/portal/kine_go_tuto3.py b/scripts/portal/kine_go_tuto3.py new file mode 100755 index 0000000..d6baac4 --- /dev/null +++ b/scripts/portal/kine_go_tuto3.py @@ -0,0 +1,25 @@ +# Created by MechAviv +# Kinesis Introduction +# Map ID :: 331001120 +# Hideout :: Training Room 2 +KINESIS = 1531000 +JAY = 1531001 + +if "1" not in sm.getQuestEx(22700, "E2"): + sm.setNpcOverrideBoxChat(KINESIS) + sm.sendNext("Jay, I feel so slow walking around like this. I'm going to switch to my speedier moves.") + + sm.setNpcOverrideBoxChat(JAY) + sm.sendSay("#face9#Fine, whatever! Just ignore the test plan I spent hours on... Okay, I updated my database with your #bTriple Jump#k and #bAttack Skills#k for the final stage. Go nuts, dude.") + + sm.lockForIntro() + sm.playSound("Sound/Field.img/masteryBook/EnchantSuccess") + sm.showClearStageExpWindow(600) + sm.giveExp(600) + + sm.playExclSoundWithDownBGM("Voice3.img/Kinesis/guide_04", 100) + sm.sendDelay(2500) + + sm.unlockForIntro() + sm.warp(331001130, 0) + sm.setQuestEx(22700, "E1", "1") \ No newline at end of file diff --git a/scripts/portal/kine_gokCity2.py b/scripts/portal/kine_gokCity2.py new file mode 100755 index 0000000..2a4f1bc --- /dev/null +++ b/scripts/portal/kine_gokCity2.py @@ -0,0 +1,21 @@ +# Created by MechAviv +# Kinesis Introduction +# Map ID :: 331001130 +# Hideout :: HQ +KINESIS = 1531000 +JAY = 1531001 +NERO = 1531003 + +if sm.hasQuest(22730): + sm.setIntroBoxChat(KINESIS) + sm.sendNext("No, Nero. You stay here. Jay, make sure Nero doesn't follow me.") + + sm.setIntroBoxChat(NERO) + sm.sendSay("#face4#Meow! Meow! ") + + sm.setIntroBoxChat(JAY) + sm.sendSay("#face1#Are... are you telling me to hold that thing?!") + + sm.setIntroBoxChat(KINESIS) + sm.sendSay("I can't take a kitten into battle. Think of it as a special mission... partner.") +sm.warp(331000000, 2) \ No newline at end of file diff --git a/scripts/portal/kine_intoClass.py b/scripts/portal/kine_intoClass.py new file mode 100755 index 0000000..6f8876a --- /dev/null +++ b/scripts/portal/kine_intoClass.py @@ -0,0 +1,11 @@ +# Created by MechAviv +# Kinesis Introduction +# Map ID :: 331002000 +# School for the Gifted :: First Floor Corridor + +if sm.hasQuest(22727): + sm.warpInstanceIn(331002300) +else: + sm.removeEscapeButton() + sm.setPlayerAsSpeaker() + sm.sendSayOkay("I don't need to check this classroom.") diff --git a/scripts/portal/kine_intoClass2.py b/scripts/portal/kine_intoClass2.py new file mode 100755 index 0000000..31a190a --- /dev/null +++ b/scripts/portal/kine_intoClass2.py @@ -0,0 +1,10 @@ +# Created by MechAviv +# Kinesis Introduction +# Map ID :: 331002000 +# School for the Gifted :: First Floor Corridor +if sm.hasQuest(22728): + sm.warpInstanceIn(331002400) +else: + sm.removeEscapeButton() + sm.setPlayerAsSpeaker() + sm.sendSayOkay("I don't need to check this classroom.") \ No newline at end of file diff --git a/scripts/portal/kine_tutoV01.py b/scripts/portal/kine_tutoV01.py new file mode 100755 index 0000000..d9ffe85 --- /dev/null +++ b/scripts/portal/kine_tutoV01.py @@ -0,0 +1,8 @@ +# Created by MechAviv +# Kinesis Introduction +# Map ID :: 331001110 +# Hideout :: Training Room 1 + +if "1" not in sm.getQuestEx(22700, "V01"): + sm.progressMessageFont(3, 20, 20, 0, "Move by pressing the move or jump keys.") + sm.setQuestEx(22700, "V01", "1") diff --git a/scripts/portal/kine_tutoV02.py b/scripts/portal/kine_tutoV02.py new file mode 100755 index 0000000..6c91866 --- /dev/null +++ b/scripts/portal/kine_tutoV02.py @@ -0,0 +1,10 @@ +# Created by MechAviv +# Kinesis Introduction +# Map ID :: 331001110 +# Hideout :: Training Room 1 +KINESIS = 1531000 +JAY = 1531001 +if "1" not in sm.getQuestEx(22700, "V02"): + sm.addPopUpSay(KINESIS, 2000, "Jay, this is too easy!", "") + sm.addPopUpSay(JAY, 2000, "#face9#I'm still calibrating, you smuglord! I'll prep some monsters for the next room.", "") + sm.setQuestEx(22700, "V02", "1") \ No newline at end of file diff --git a/scripts/portal/kine_tutoout.py b/scripts/portal/kine_tutoout.py new file mode 100755 index 0000000..62d94a7 --- /dev/null +++ b/scripts/portal/kine_tutoout.py @@ -0,0 +1,17 @@ +# Created by MechAviv +# Kinesis Introduction +# Map ID :: 331001130 +# Hideout :: Training Room 3 + +if "1" not in sm.getQuestEx(22700, "E3"): + sm.lockForIntro() + sm.playSound("Sound/Field.img/masteryBook/EnchantSuccess") + sm.showClearStageExpWindow(600) + sm.giveExp(600) + + sm.playExclSoundWithDownBGM("Voice3.img/Kinesis/guide_08", 100) + sm.sendDelay(2500) + + sm.setQuestEx(22700, "E3", "1") + sm.unlockForIntro() + sm.warp(331001000, 2) \ No newline at end of file diff --git a/scripts/portal/kine_upFloor2.py b/scripts/portal/kine_upFloor2.py new file mode 100755 index 0000000..86f8285 --- /dev/null +++ b/scripts/portal/kine_upFloor2.py @@ -0,0 +1,5 @@ +# Created by MechAviv +# Kinesis Introduction +# Map ID :: 331002000 +# School for the Gifted :: First Floor Corridor +sm.warp(331002100, 0) \ No newline at end of file diff --git a/scripts/portal/laniaDoor.py b/scripts/portal/laniaDoor.py new file mode 100755 index 0000000..349bffe --- /dev/null +++ b/scripts/portal/laniaDoor.py @@ -0,0 +1 @@ +sm.warp(101020100, 9) \ No newline at end of file diff --git a/scripts/portal/lionCastle_enter.py b/scripts/portal/lionCastle_enter.py new file mode 100755 index 0000000..f65aac2 --- /dev/null +++ b/scripts/portal/lionCastle_enter.py @@ -0,0 +1,9 @@ +CASTLE_ENTRANCE = 211060010 + +SHADE_THIRD_JOB = 38074 +CASTLE_ENTRANCE_SHADE3 = 921110300 + +if sm.hasQuest(SHADE_THIRD_JOB) or sm.hasQuest(SHADE_THIRD_JOB + 1): + sm.warpInstanceIn(CASTLE_ENTRANCE_SHADE3, 1, False) +else: + sm.warp(CASTLE_ENTRANCE) diff --git a/scripts/portal/lostSpirit_next.py b/scripts/portal/lostSpirit_next.py new file mode 100755 index 0000000..52559eb --- /dev/null +++ b/scripts/portal/lostSpirit_next.py @@ -0,0 +1,4 @@ +# id 1 (next00), field 940200240 +sm.startQuest(34464) +sm.completeQuestNoCheck(34464) +sm.warp(940200210) diff --git a/scripts/portal/ludi_s1Clear.py b/scripts/portal/ludi_s1Clear.py new file mode 100755 index 0000000..bf9f78c --- /dev/null +++ b/scripts/portal/ludi_s1Clear.py @@ -0,0 +1,2 @@ +# Stage 1 ludibrium pq to stage 2 +sm.invokeForParty("warp", 922010400) \ No newline at end of file diff --git a/scripts/portal/ludi_s2Clear.py b/scripts/portal/ludi_s2Clear.py new file mode 100755 index 0000000..6589cfe --- /dev/null +++ b/scripts/portal/ludi_s2Clear.py @@ -0,0 +1,2 @@ +# Stage 2 ludibrium pq to stage 3 +sm.invokeForParty("warp", 922010600) \ No newline at end of file diff --git a/scripts/portal/mPark_final.py b/scripts/portal/mPark_final.py new file mode 100755 index 0000000..5a71959 --- /dev/null +++ b/scripts/portal/mPark_final.py @@ -0,0 +1,33 @@ +from net.swordie.ms.client.character.quest import Quest +from net.swordie.ms.constants import GameConstants +from net.swordie.ms.enums import QuestStatus + +qm = sm.getChr().getQuestManager() +quest = qm.getQuests().get(GameConstants.MONSTER_PARK_EXP_QUEST) +if quest is None: + quest = Quest(GameConstants.MONSTER_PARK_EXP_QUEST, QuestStatus.STARTED) + quest.setQrValue("0") + qm.addQuest(quest) +quest.setQrValue(str(int(quest.getQRValue()))) + + +fieldID = sm.getFieldID() + +if fieldID / 1000000 == 952 or fieldID / 1000000 == 953 or fieldID / 1000000 == 954: + sm.setSpeakerID(9071005) + sm.sendNext("Did you have a blast in Monster Park? Here's your reward\r\n" + "\r\n" + "#e#bDay-of-the-week reward: #v"+ str(sm.getMPReward()) +"##t"+ str(sm.getMPReward()) +"#\r\n" + "EXP reward: "+ sm.formatNumber(quest.getQRValue())) + if sm.canHold(sm.getMPReward()): + #Warp out instance | Monster Park + sm.warpInstanceOut(951000000) #Monster Park + sm.giveExp(long(quest.getQRValue())) + sm.giveItem(sm.getMPReward()) + sm.stopEvents() + else: + sm.sendSayOkay("Please make some space before leaving.") +else: + sm.chat("This is uncoded for the current map (" + fieldID + ")") + +sm.dispose() diff --git a/scripts/portal/mPark_in00.py b/scripts/portal/mPark_in00.py new file mode 100755 index 0000000..9ecf5e3 --- /dev/null +++ b/scripts/portal/mPark_in00.py @@ -0,0 +1,44 @@ +# 951000000 - Monster Park + +from net.swordie.ms.constants import GameConstants + +minLv = 105 +maxLv = 115 + +maps = [ +["Auto Security Area (Lv.105-114)", 953020000] +] + +sm.setSpeakerID(9071004) +if not sm.getParty() is None: + sm.sendSayOkay("Please leave your party to enter Monster Park.") + sm.dispose() + +elif sm.getChr().getLevel() < minLv or sm.getChr().getLevel() > maxLv: + sm.sendSayOkay("You need to be between Level "+ str(minLv) +" and "+ str(maxLv) +" to enter.") + sm.dispose() + +else: + if sm.getMonsterParkCount() >= GameConstants.MAX_MONSTER_PARK_RUNS: + colour = "#r" + else: + colour = "#b" + string = "#eToday is #b"+ sm.getDay() +"#k.\r\nToday's Clear Count "+ colour +""+ str(sm.getMonsterParkCount()) +"/"+ str(GameConstants.MAX_MONSTER_PARK_RUNS) +"#k (per Maple Character)\r\n\r\nYou have #b"+ str(2) +"#k free clears left for today.\r\n\r\n#n#b" + i = 0 + while i < len(maps): + string += "#L"+ str(i) +"#"+ maps[i][0] +"#l\r\n" + i += 1 + selection = sm.sendNext(string) + + if sm.getMonsterParkCount() >= GameConstants.MAX_MONSTER_PARK_RUNS: + sm.sendSayOkay("I'm sorry, but you've used up all your clears for today.") + sm.dispose() + else: + if sm.sendAskYesNo("#eToday is #b"+ sm.getDay() +"#k.\r\n\r\n" + + "Selected Dungeon: #b"+ maps[selection][0] +"#k\r\n" + + "Clearing the dungeon will use up #bone of your free clears#k \r\nfor today.\r\n\r\n" + + "Would you like to enter the dungeon?"): + sm.warpInstanceIn(maps[selection][1]) + sm.incrementMonsterParkCount() + sm.setInstanceTime(GameConstants.MONSTER_PARK_TIME, 951000000) + sm.createQuestWithQRValue(GameConstants.MONSTER_PARK_EXP_QUEST, "0") \ No newline at end of file diff --git a/scripts/portal/mPark_in01.py b/scripts/portal/mPark_in01.py new file mode 100755 index 0000000..65937ae --- /dev/null +++ b/scripts/portal/mPark_in01.py @@ -0,0 +1,50 @@ +# Monster Park + +from net.swordie.ms.constants import GameConstants + +minLv = 115 +maxLv = 160 + +maps = [ +["Mossy Tree Forest (Lv.115-124", 953030000], +["Sky Forest Training Center (Lv.125-129)", 953040000], +["Secret Pirate Hideout (Lv.125-134)", 953060000], +["Otherworld Battlefield (Lv.135-144)", 953070000], +["Dangerously Isolated Forest (Lv.140-149)", 953080000], +["Forbidden Time (Lv.145-154)", 953050000], +["Clandestine Ruins (Lv.150-159)", 953090000], +] + +sm.setSpeakerID(9071004) +if not sm.getParty() is None: + sm.sendSayOkay("Please leave your party to enter Monster Park.") + sm.dispose() + +elif sm.getChr().getLevel() < minLv or sm.getChr().getLevel() > maxLv: + sm.sendSayOkay("You need to be between Level "+ str(minLv) +" and "+ str(maxLv) +" to enter.") + sm.dispose() + +else: + if sm.getMonsterParkCount() >= GameConstants.MAX_MONSTER_PARK_RUNS: + colour = "#r" + else: + colour = "#b" + string = "#eToday is #b"+ sm.getDay() +"#k.\r\nToday's Clear Count "+ colour +""+ str(sm.getMonsterParkCount()) +"/"+ str(GameConstants.MAX_MONSTER_PARK_RUNS) +"#k (per Maple Character)\r\n\r\nYou have #b"+ str(2) +"#k free clears left for today.\r\n\r\n#n#b" + i = 0 + while i < len(maps): + string += "#L"+ str(i) +"#"+ maps[i][0] +"#l\r\n" + i += 1 + selection = sm.sendNext(string) + + if sm.getMonsterParkCount() >= GameConstants.MAX_MONSTER_PARK_RUNS: + sm.sendSayOkay("I'm sorry, but you've used up all your clears for today.") + sm.dispose() + else: + if sm.sendAskYesNo("#eToday is #b"+ sm.getDay() +"#k.\r\n\r\n" + + "Selected Dungeon: #b"+ maps[selection][0] +"#k\r\n" + + "Clearing the dungeon will use up #bone of your free clears#k \r\nfor today.\r\n\r\n" + + "Would you like to enter the dungeon?"): + sm.warpInstanceIn(maps[selection][1]) + sm.incrementMonsterParkCount() + sm.setInstanceTime(GameConstants.MONSTER_PARK_TIME) + sm.createQuestWithQRValue(GameConstants.MONSTER_PARK_EXP_QUEST, "0") \ No newline at end of file diff --git a/scripts/portal/mPark_in02.py b/scripts/portal/mPark_in02.py new file mode 100755 index 0000000..11f69a9 --- /dev/null +++ b/scripts/portal/mPark_in02.py @@ -0,0 +1,50 @@ +# Monster Park + +from net.swordie.ms.constants import GameConstants + +minLv = 160 +maxLv = 251 + +maps = [ +["Ruined City (Lv.160-169)", 954000000], +["Dead Tree Forest (Lv.170-179)", 954010000], +["Watchman's Tower (Lv.175-184)", 954020000], +["Dragon Nest (Lv.180-189)", 954030000], +["Temple of Oblivion (Lv.185-194)", 954040000], +["Knight Stronghold (Lv.190-199)", 954050000], +["Spirit Valley (Lv.200-209)", 954060000], +] + +sm.setSpeakerID(9071004) +if not sm.getParty() is None: + sm.sendSayOkay("Please leave your party to enter Monster Park.") + sm.dispose() + +elif sm.getChr().getLevel() < minLv or sm.getChr().getLevel() > maxLv: + sm.sendSayOkay("You need to be between Level "+ str(minLv) +" and "+ str(maxLv) +" to enter.") + sm.dispose() + +else: + if sm.getMonsterParkCount() >= GameConstants.MAX_MONSTER_PARK_RUNS: + colour = "#r" + else: + colour = "#b" + string = "#eToday is #b"+ sm.getDay() +"#k.\r\nToday's Clear Count "+ colour +""+ str(sm.getMonsterParkCount()) +"/"+ str(GameConstants.MAX_MONSTER_PARK_RUNS) +"#k (per Maple Character)\r\n\r\nYou have #b"+ str(2) +"#k free clears left for today.\r\n\r\n#n#b" + i = 0 + while i < len(maps): + string += "#L"+ str(i) +"#"+ maps[i][0] +"#l\r\n" + i += 1 + selection = sm.sendNext(string) + + if sm.getMonsterParkCount() >= GameConstants.MAX_MONSTER_PARK_RUNS: + sm.sendSayOkay("I'm sorry, but you've used up all your clears for today.") + sm.dispose() + else: + if sm.sendAskYesNo("#eToday is #b"+ sm.getDay() +"#k.\r\n\r\n" + + "Selected Dungeon: #b"+ maps[selection][0] +"#k\r\n" + + "Clearing the dungeon will use up #bone of your free clears#k \r\nfor today.\r\n\r\n" + + "Would you like to enter the dungeon?"): + sm.warpInstanceIn(maps[selection][1]) + sm.incrementMonsterParkCount() + sm.setInstanceTime(GameConstants.MONSTER_PARK_TIME) + sm.createQuestWithQRValue(GameConstants.MONSTER_PARK_EXP_QUEST, "0") \ No newline at end of file diff --git a/scripts/portal/mPark_nextStage.py b/scripts/portal/mPark_nextStage.py new file mode 100755 index 0000000..b99ef51 --- /dev/null +++ b/scripts/portal/mPark_nextStage.py @@ -0,0 +1,8 @@ +if not sm.hasMobsInField(): + fieldID = sm.getFieldID() + map = fieldID + 100 + portal = 0 + sm.warp(map, portal) +else: + sm.chat("Please kill all monsters first.") +sm.dispose() diff --git a/scripts/portal/magnus_easy.py b/scripts/portal/magnus_easy.py new file mode 100755 index 0000000..53729f1 --- /dev/null +++ b/scripts/portal/magnus_easy.py @@ -0,0 +1,17 @@ +from net.swordie.ms.constants import BossConstants + +EASY_MAGNUS_QUEST = 31851 + +sm.setSpeakerID(3001000) # Edea + +response = sm.sendAskYesNo("Would you like to fight easy magnus?") +if response: + if not sm.hasQuestCompleted(EASY_MAGNUS_QUEST): + sm.sendSayOkay("Please talk to Piston to know more about the Magnus simulator.") + elif sm.getParty() is None: + sm.sendSayOkay("Please create a party before going in.") + elif not sm.isPartyLeader(): + sm.sendSayOkay("Please have your party leader enter if you wish to face Magnus.") + elif sm.checkParty(): + sm.setDeathCount(BossConstants.MAGNUS_DEATHCOUNT) + sm.warpInstanceIn(401060300, True) diff --git a/scripts/portal/map915020100_PT.py b/scripts/portal/map915020100_PT.py new file mode 100755 index 0000000..94496ff --- /dev/null +++ b/scripts/portal/map915020100_PT.py @@ -0,0 +1,3 @@ +if 2400 <= chr.getJob() <= 2411: + sm.warp(915020101, 1) +sm.dispose() diff --git a/scripts/portal/map915020200_PT.py b/scripts/portal/map915020200_PT.py new file mode 100755 index 0000000..88d3a6b --- /dev/null +++ b/scripts/portal/map915020200_PT.py @@ -0,0 +1,3 @@ +# 915020200 +sm.warp(915020201, 2) +sm.dispose() diff --git a/scripts/portal/map_865030200.py b/scripts/portal/map_865030200.py new file mode 100755 index 0000000..5935c8f --- /dev/null +++ b/scripts/portal/map_865030200.py @@ -0,0 +1,3 @@ +# 865030200 +sm.warp(865030201, 2) +sm.dispose() diff --git a/scripts/portal/market00.py b/scripts/portal/market00.py new file mode 100755 index 0000000..0d8f8ea --- /dev/null +++ b/scripts/portal/market00.py @@ -0,0 +1,4 @@ +# Free market +sm.chat("Warping you to your previous map.") +sm.warp(chr.getPreviousFieldID()) + \ No newline at end of file diff --git a/scripts/portal/market01.py b/scripts/portal/market01.py new file mode 100755 index 0000000..d59845e --- /dev/null +++ b/scripts/portal/market01.py @@ -0,0 +1,2 @@ +# 100000100 - henesys fm portal +sm.warp(910000000, 36) diff --git a/scripts/portal/market02.py b/scripts/portal/market02.py new file mode 100755 index 0000000..f8a0a6e --- /dev/null +++ b/scripts/portal/market02.py @@ -0,0 +1,4 @@ +# 220000000 - Ludi FM +sm.setReturnField() +sm.warp(910000000, 2) +sm.dispose() \ No newline at end of file diff --git a/scripts/portal/market06.py b/scripts/portal/market06.py new file mode 100755 index 0000000..4fd1f70 --- /dev/null +++ b/scripts/portal/market06.py @@ -0,0 +1,4 @@ +# 221000000 - Omega Sector FM +sm.setReturnField() +sm.warp(910000000, 2) +sm.dispose() \ No newline at end of file diff --git a/scripts/portal/market08.py b/scripts/portal/market08.py new file mode 100755 index 0000000..b32b2f5 --- /dev/null +++ b/scripts/portal/market08.py @@ -0,0 +1,4 @@ +# 240000000 - Leafre FM +sm.setReturnField() +sm.warp(910000000, 2) +sm.dispose() diff --git a/scripts/portal/market14.py b/scripts/portal/market14.py new file mode 100755 index 0000000..cddb3cd --- /dev/null +++ b/scripts/portal/market14.py @@ -0,0 +1,4 @@ +# 224000000 - Korean Folk Town FM +sm.setReturnField() +sm.warp(910000000, 2) +sm.dispose() \ No newline at end of file diff --git a/scripts/portal/market17.py b/scripts/portal/market17.py new file mode 100755 index 0000000..41f1d2e --- /dev/null +++ b/scripts/portal/market17.py @@ -0,0 +1,4 @@ +# 120000100 - Nautilus FM +sm.setReturnField() +sm.warp(910000000, 2) +sm.dispose() \ No newline at end of file diff --git a/scripts/portal/market20.py b/scripts/portal/market20.py new file mode 100755 index 0000000..015b2fe --- /dev/null +++ b/scripts/portal/market20.py @@ -0,0 +1,3 @@ +# Portal to FM from Ardentmill +sm.setReturnField() +sm.warp(910000000, 2) \ No newline at end of file diff --git a/scripts/portal/mas_down00.py b/scripts/portal/mas_down00.py new file mode 100755 index 0000000..135facd --- /dev/null +++ b/scripts/portal/mas_down00.py @@ -0,0 +1,4 @@ +# 863100002 + +sm.warp(863100006, 2) +sm.dispose() diff --git a/scripts/portal/mas_fog00.py b/scripts/portal/mas_fog00.py new file mode 100755 index 0000000..0095371 --- /dev/null +++ b/scripts/portal/mas_fog00.py @@ -0,0 +1,3 @@ +# id 2 (east00), field 863100008 +sm.startQuest(17800) +sm.warp(863100001) diff --git a/scripts/portal/mas_fog01.py b/scripts/portal/mas_fog01.py new file mode 100755 index 0000000..9756672 --- /dev/null +++ b/scripts/portal/mas_fog01.py @@ -0,0 +1,3 @@ +# 863100007 +sm.warp(863100100, 2) +sm.dispose() diff --git a/scripts/portal/mayong.py b/scripts/portal/mayong.py new file mode 100755 index 0000000..159de67 --- /dev/null +++ b/scripts/portal/mayong.py @@ -0,0 +1,7 @@ +# Portal to Manon +MANONS_DARK_FOREST = 924000200 + +if sm.hasQuest(1451) or sm.hasQuest(1453) or sm.hasQuest(1455) or sm.hasQuest(1457) or sm.hasQuest(1459): + sm.warpInstanceIn(MANONS_DARK_FOREST, False) + sm.dispose() +sm.warp(240020401, 3) diff --git a/scripts/portal/merTutoFight.py b/scripts/portal/merTutoFight.py new file mode 100755 index 0000000..8c9c62b --- /dev/null +++ b/scripts/portal/merTutoFight.py @@ -0,0 +1,3 @@ +# 910150002 - Path of the Glowcaves -> Blooming Forest (Frozen Fairy Forest) +sm.warp(910150003, 0) +sm.dispose() diff --git a/scripts/portal/merTutorDoor.py b/scripts/portal/merTutorDoor.py new file mode 100755 index 0000000..6b0828c --- /dev/null +++ b/scripts/portal/merTutorDoor.py @@ -0,0 +1,3 @@ +# 910150001 - FFF : Elluel -> FFF : Path of the Glowcaves *FFF = Frozen Fairy Forest +sm.warp(910150002, 2) +sm.dispose() diff --git a/scripts/portal/merTutorRoom.py b/scripts/portal/merTutorRoom.py new file mode 100755 index 0000000..532510f --- /dev/null +++ b/scripts/portal/merTutorRoom.py @@ -0,0 +1,4 @@ +# 223010100 - # FFF : Elluel -> FFF : Royal Chamber(FFF = Frozen Fairy Forest) +if sm.hasQuest(24005): # Cursed Slumber + sm.warpInstanceOut(910150004, 0) +sm.dispose() diff --git a/scripts/portal/mihailPortal003.py b/scripts/portal/mihailPortal003.py new file mode 100755 index 0000000..0fc67c2 --- /dev/null +++ b/scripts/portal/mihailPortal003.py @@ -0,0 +1,2 @@ +sm.warp(913070020, 1) +sm.dispose() \ No newline at end of file diff --git a/scripts/portal/mihailPortal004.py b/scripts/portal/mihailPortal004.py new file mode 100755 index 0000000..adc6717 --- /dev/null +++ b/scripts/portal/mihailPortal004.py @@ -0,0 +1,3 @@ +if sm.hasQuest(20034) or sm.hasQuestCompleted(20034): + sm.warp(913070050, 0) +sm.dispose() \ No newline at end of file diff --git a/scripts/portal/mihail_3rdJobMap.py b/scripts/portal/mihail_3rdJobMap.py new file mode 100755 index 0000000..9859994 --- /dev/null +++ b/scripts/portal/mihail_3rdJobMap.py @@ -0,0 +1,4 @@ +# 224000103 - When you fall down + +sm.warpInstanceOut(130000000, 0) +sm.dispose() diff --git a/scripts/portal/minar_job4.py b/scripts/portal/minar_job4.py new file mode 100755 index 0000000..1f89d9a --- /dev/null +++ b/scripts/portal/minar_job4.py @@ -0,0 +1,3 @@ +# 240010500 +sm.warp(240010501, 1) +sm.dispose() diff --git a/scripts/portal/minar_kritias.py b/scripts/portal/minar_kritias.py new file mode 100755 index 0000000..a35405c --- /dev/null +++ b/scripts/portal/minar_kritias.py @@ -0,0 +1 @@ +sm.warp(241020218, 1) \ No newline at end of file diff --git a/scripts/portal/miro0.py b/scripts/portal/miro0.py new file mode 100755 index 0000000..3fe09d1 --- /dev/null +++ b/scripts/portal/miro0.py @@ -0,0 +1,6 @@ +# Used in Party Quest - Escape +if sm.hasMobsInField(): + sm.warp(921160400, 0) # A secret Door to the Aerial Prison +else: + sm.chat("Please eliminate all mobs.") +sm.dispose() diff --git a/scripts/portal/miro1.py b/scripts/portal/miro1.py new file mode 100755 index 0000000..0319df2 --- /dev/null +++ b/scripts/portal/miro1.py @@ -0,0 +1,6 @@ +# Used in Party Quest - Escape +if sm.hasMobsInField(): + sm.warp(921160400, 0) # A secret Door to the Aerial Prison +else: + sm.chat("Please eliminate all mobs.") +sm.dispose() diff --git a/scripts/portal/miro2.py b/scripts/portal/miro2.py new file mode 100755 index 0000000..0319df2 --- /dev/null +++ b/scripts/portal/miro2.py @@ -0,0 +1,6 @@ +# Used in Party Quest - Escape +if sm.hasMobsInField(): + sm.warp(921160400, 0) # A secret Door to the Aerial Prison +else: + sm.chat("Please eliminate all mobs.") +sm.dispose() diff --git a/scripts/portal/miro3.py b/scripts/portal/miro3.py new file mode 100755 index 0000000..0319df2 --- /dev/null +++ b/scripts/portal/miro3.py @@ -0,0 +1,6 @@ +# Used in Party Quest - Escape +if sm.hasMobsInField(): + sm.warp(921160400, 0) # A secret Door to the Aerial Prison +else: + sm.chat("Please eliminate all mobs.") +sm.dispose() diff --git a/scripts/portal/mirtalk00.py b/scripts/portal/mirtalk00.py new file mode 100755 index 0000000..8439873 --- /dev/null +++ b/scripts/portal/mirtalk00.py @@ -0,0 +1,5 @@ +# Portal & Effect for Evan Intro | Dream World: Dream Forest Entrance (900010000) +# Author: Tiger + +# "The Pact" +sm.showEffect("Map/Effect.img/evan/dragonTalk00", 3000) diff --git a/scripts/portal/mirtalk01.py b/scripts/portal/mirtalk01.py new file mode 100755 index 0000000..fca7841 --- /dev/null +++ b/scripts/portal/mirtalk01.py @@ -0,0 +1,5 @@ +# Portal & Effect for Evan Intro | Dream World: Dream Forest Entrance (900010000) +# Author: Tiger + +# "You who are seeking a Pact..." +sm.showEffect("Map/Effect.img/evan/dragonTalk01", 3000) diff --git a/scripts/portal/mistic_hene.py b/scripts/portal/mistic_hene.py new file mode 100755 index 0000000..ddcd16f --- /dev/null +++ b/scripts/portal/mistic_hene.py @@ -0,0 +1,3 @@ +# 100000000 +sm.warp(931050800, 0) +sm.dispose() diff --git a/scripts/portal/mistic_pant.py b/scripts/portal/mistic_pant.py new file mode 100755 index 0000000..1d3bd39 --- /dev/null +++ b/scripts/portal/mistic_pant.py @@ -0,0 +1,3 @@ +# 400000000 +sm.warp(931050810, 0) +sm.dispose() diff --git a/scripts/portal/mistic_ref.py b/scripts/portal/mistic_ref.py new file mode 100755 index 0000000..dd59b22 --- /dev/null +++ b/scripts/portal/mistic_ref.py @@ -0,0 +1,3 @@ +# 240000000 +sm.warp(931050820, 0) +sm.dispose() diff --git a/scripts/portal/momijiTraining.py b/scripts/portal/momijiTraining.py new file mode 100755 index 0000000..efd384b --- /dev/null +++ b/scripts/portal/momijiTraining.py @@ -0,0 +1,7 @@ +# Momijigaoka +if sm.hasQuest(57106): + sm.warp(807030000, 0) +elif sm.hasQuest(57107): + sm.warp(807030100, 0) +else: + sm.warp(807030200, 0) \ No newline at end of file diff --git a/scripts/portal/moveBefore.py b/scripts/portal/moveBefore.py new file mode 100755 index 0000000..7c646f4 --- /dev/null +++ b/scripts/portal/moveBefore.py @@ -0,0 +1,3 @@ +# 914021010 | [Job Adv] (Lv.30) Aran +sm.warp(914021000, 2) +sm.dispose() diff --git a/scripts/portal/moveNext.py b/scripts/portal/moveNext.py new file mode 100755 index 0000000..e65c2c2 --- /dev/null +++ b/scripts/portal/moveNext.py @@ -0,0 +1,3 @@ +# 914021000 | [Job Adv] (Lv.30) Aran +sm.warp(914021010, 0) +sm.dispose() diff --git a/scripts/portal/move_701220000.py b/scripts/portal/move_701220000.py new file mode 100755 index 0000000..cc4121a --- /dev/null +++ b/scripts/portal/move_701220000.py @@ -0,0 +1,4 @@ +if sm.hasQuestCompleted(62002): # [Shaoling Temple] Not a Demon + sm.warp(701220000, 1) # Shaolin Temple +else: + sm.openNpc(9310041) # Zhikeseng \ No newline at end of file diff --git a/scripts/portal/move_701220100.py b/scripts/portal/move_701220100.py new file mode 100755 index 0000000..ce488cc --- /dev/null +++ b/scripts/portal/move_701220100.py @@ -0,0 +1,4 @@ +if sm.hasQuest(62007) or sm.hasQuestCompleted(62007): + sm.warp(701220100) +else: + sm.chat("I've been warned to stay away from the Sutra Depository.") \ No newline at end of file diff --git a/scripts/portal/move_EdeEli.py b/scripts/portal/move_EdeEli.py new file mode 100755 index 0000000..28dc00c --- /dev/null +++ b/scripts/portal/move_EdeEli.py @@ -0,0 +1,3 @@ +# 200090710 +sm.warp(104020130, 0) +sm.dispose() diff --git a/scripts/portal/move_EdeOrb.py b/scripts/portal/move_EdeOrb.py new file mode 100755 index 0000000..0ea4d88 --- /dev/null +++ b/scripts/portal/move_EdeOrb.py @@ -0,0 +1,3 @@ +# 200090610 +sm.warp(200000100, 0) +sm.dispose() diff --git a/scripts/portal/move_EliEde.py b/scripts/portal/move_EliEde.py new file mode 100755 index 0000000..9e59d6f --- /dev/null +++ b/scripts/portal/move_EliEde.py @@ -0,0 +1,3 @@ +# 200090701 +sm.warp(310000010, 0) +sm.dispose() diff --git a/scripts/portal/move_OrbEde.py b/scripts/portal/move_OrbEde.py new file mode 100755 index 0000000..fc10018 --- /dev/null +++ b/scripts/portal/move_OrbEde.py @@ -0,0 +1,3 @@ +# 200090600 +sm.warp(310000010, 0) +sm.dispose() diff --git a/scripts/portal/move_OrbEre.py b/scripts/portal/move_OrbEre.py new file mode 100755 index 0000000..861a4a0 --- /dev/null +++ b/scripts/portal/move_OrbEre.py @@ -0,0 +1,3 @@ +# 200090020 +sm.warp(130000210, 12) +sm.dispose() diff --git a/scripts/portal/move_elin.py b/scripts/portal/move_elin.py new file mode 100755 index 0000000..da4f481 --- /dev/null +++ b/scripts/portal/move_elin.py @@ -0,0 +1,3 @@ +# 222020400 +sm.warp(300000100, 1) +sm.dispose() diff --git a/scripts/portal/move_stage.py b/scripts/portal/move_stage.py new file mode 100755 index 0000000..c7add2f --- /dev/null +++ b/scripts/portal/move_stage.py @@ -0,0 +1,9 @@ + +time = 15 *60 + +if "clear" in sm.getQRValue(62038): + sm.warp(701220400) + +elif "1" in sm.getQRValue(62007): + sm.warpInstanceIn(701220410) + sm.setInstanceTime(time, 701220300, 3) diff --git a/scripts/portal/mud_q2620.py b/scripts/portal/mud_q2620.py new file mode 100755 index 0000000..ed84064 --- /dev/null +++ b/scripts/portal/mud_q2620.py @@ -0,0 +1,2 @@ +sm.warp(mud_q2620.py, 8) +sm.dispose() diff --git a/scripts/portal/next00.py b/scripts/portal/next00.py new file mode 100755 index 0000000..2242fab --- /dev/null +++ b/scripts/portal/next00.py @@ -0,0 +1,6 @@ +# id 1 (null), field 940205300 +sm.startQuest(34938) +sm.completeQuestNoCheck(34938) +sm.createQuestWithQRValue(34938, "exp=1") +sm.createQuestWithQRValue(34995, "00=h1;01=h0;10=h0;02=h0;11=h0;12=h0;04=h0;13=h0;05=h0;14=h0;23=h0;06=h0;15=h0;24=h0;07=h0;16=h0;17=h0;09=h0") +sm.warp(402090007) diff --git a/scripts/portal/nooutShip.py b/scripts/portal/nooutShip.py new file mode 100755 index 0000000..1e0895d --- /dev/null +++ b/scripts/portal/nooutShip.py @@ -0,0 +1,2 @@ +# 914000500 +sm.warp(914000420, 1) \ No newline at end of file diff --git a/scripts/portal/out00_020.py b/scripts/portal/out00_020.py new file mode 100755 index 0000000..80f3780 --- /dev/null +++ b/scripts/portal/out00_020.py @@ -0,0 +1,5 @@ +# id 1 (out00), field 811000020 +sm.setSpeakerType(3) +sm.setParam(16) +sm.sendNext("(Miroku seems to have dropped something. Take it with you.)") +sm.warp(811000019) diff --git a/scripts/portal/out00_100.py b/scripts/portal/out00_100.py new file mode 100755 index 0000000..03bc231 --- /dev/null +++ b/scripts/portal/out00_100.py @@ -0,0 +1,6 @@ +#Princess No \\ Next Map \\ 1 + +if sm.hasMobsInField(): + sm.chat("You must kill all monsters before proceeding.") +else: + sm.warp(811000200) \ No newline at end of file diff --git a/scripts/portal/out00_DI.py b/scripts/portal/out00_DI.py new file mode 100755 index 0000000..500fee3 --- /dev/null +++ b/scripts/portal/out00_DI.py @@ -0,0 +1,5 @@ + +response = sm.sendAskYesNo("Do you wish to leave the battlefield") + +if response: + sm.WarpInstanceOut(940020000) \ No newline at end of file diff --git a/scripts/portal/outArchterMap.py b/scripts/portal/outArchterMap.py new file mode 100755 index 0000000..8a06156 --- /dev/null +++ b/scripts/portal/outArchterMap.py @@ -0,0 +1,3 @@ +# 100000201 +sm.warp(100000000, 16) +sm.dispose() diff --git a/scripts/portal/outCG.py b/scripts/portal/outCG.py new file mode 100755 index 0000000..950aba1 --- /dev/null +++ b/scripts/portal/outCG.py @@ -0,0 +1,3 @@ +# Phantom contimove +sm.warp(int(sm.getQRValue(25010))) +sm.dispose() \ No newline at end of file diff --git a/scripts/portal/outChild.py b/scripts/portal/outChild.py new file mode 100755 index 0000000..1c57594 --- /dev/null +++ b/scripts/portal/outChild.py @@ -0,0 +1,5 @@ +# Created by MechAviv +# ID :: [914000300] +# Black Road : Dead End Forest + +sm.warp(914000220, 2) diff --git a/scripts/portal/outEurel.py b/scripts/portal/outEurel.py new file mode 100755 index 0000000..60a0eec --- /dev/null +++ b/scripts/portal/outEurel.py @@ -0,0 +1,3 @@ +# 101050000 +sm.warp(101050100, 2) +sm.dispose() diff --git a/scripts/portal/outMaha.py b/scripts/portal/outMaha.py new file mode 100755 index 0000000..128afff --- /dev/null +++ b/scripts/portal/outMaha.py @@ -0,0 +1,3 @@ +# 914020000 | aran 4th job advancement +sm.warpInstanceOut(140000000, 1) +sm.dispose() diff --git a/scripts/portal/outTemple.py b/scripts/portal/outTemple.py new file mode 100755 index 0000000..171753d --- /dev/null +++ b/scripts/portal/outTemple.py @@ -0,0 +1,4 @@ +# 270000100 - ToT -> Dragon Flight-2nd Map +sm.useItem(2210016) +sm.warp(200090510, 0) +sm.dispose() diff --git a/scripts/portal/out_140030000.py b/scripts/portal/out_140030000.py new file mode 100755 index 0000000..5eb2acf --- /dev/null +++ b/scripts/portal/out_140030000.py @@ -0,0 +1,4 @@ +if sm.hasQuestCompleted(21202) and sm.hasQuest(21201) or sm.hasQuestCompleted(21303) and sm.hasQuest(21302): + sm.warp(140000000, 1) +else: + sm.warp(140010200, 1) \ No newline at end of file diff --git a/scripts/portal/out_141050300.py b/scripts/portal/out_141050300.py new file mode 100755 index 0000000..5bd72b7 --- /dev/null +++ b/scripts/portal/out_141050300.py @@ -0,0 +1,3 @@ +# 141050300 - Out +sm.warpInstanceOut(141050200) +sm.dispose() diff --git a/scripts/portal/out_450004300.py b/scripts/portal/out_450004300.py new file mode 100755 index 0000000..014879c --- /dev/null +++ b/scripts/portal/out_450004300.py @@ -0,0 +1,6 @@ +# id 1 (out00), field 450004900 +sm.setSpeakerType(3) +sm.setParam(56) +sm.setColor(1) +res = sm.sendAskYesNo("You have defeated Lucid. Return?") +sm.warp(450004000) diff --git a/scripts/portal/out_701220601.py b/scripts/portal/out_701220601.py new file mode 100755 index 0000000..8496483 --- /dev/null +++ b/scripts/portal/out_701220601.py @@ -0,0 +1 @@ +sm.warp(701220500, 2) \ No newline at end of file diff --git a/scripts/portal/out_701220610.py b/scripts/portal/out_701220610.py new file mode 100755 index 0000000..5076cea --- /dev/null +++ b/scripts/portal/out_701220610.py @@ -0,0 +1 @@ +sm.warpInstanceOut(701220601, 1) \ No newline at end of file diff --git a/scripts/portal/out_701220710.py b/scripts/portal/out_701220710.py new file mode 100755 index 0000000..a34e94b --- /dev/null +++ b/scripts/portal/out_701220710.py @@ -0,0 +1,7 @@ +# id 1 (out00), field 701220710 +sm.setSpeakerType(8) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(9310051) # Haifeng Fashi +res = sm.sendAskYesNo("Are you really going to give up?") +sm.warp(701220700) diff --git a/scripts/portal/out_867201801.py b/scripts/portal/out_867201801.py new file mode 100755 index 0000000..81e2fa4 --- /dev/null +++ b/scripts/portal/out_867201801.py @@ -0,0 +1,3 @@ +# id 2 (out00), field 867201801 +sm.startQuest(64086) +sm.warp(867201810) diff --git a/scripts/portal/out_adventure.py b/scripts/portal/out_adventure.py new file mode 100755 index 0000000..3be8252 --- /dev/null +++ b/scripts/portal/out_adventure.py @@ -0,0 +1,10 @@ +oldFieldID = sm.getReturnField() +if oldFieldID == 0 or oldFieldID == 993080000: + sm.chat("(Portal) Cannot find your previous map ID, warping to Henesys.") + map = 100000000 + portal = 0 +else: + map = oldFieldID + portal = 0 +sm.warp(map, portal) +sm.dispose() \ No newline at end of file diff --git a/scripts/portal/out_animalShow.py b/scripts/portal/out_animalShow.py new file mode 100755 index 0000000..4cf5571 --- /dev/null +++ b/scripts/portal/out_animalShow.py @@ -0,0 +1,6 @@ +# 223030210 - Scarlion & Targa +response = sm.sendAskYesNo("Would you like to leave?") + +if response: + sm.clearPartyInfo(223030200) +sm.dispose() diff --git a/scripts/portal/out_aswan.py b/scripts/portal/out_aswan.py new file mode 100755 index 0000000..bde0608 --- /dev/null +++ b/scripts/portal/out_aswan.py @@ -0,0 +1,11 @@ +# aswan exit | Azwan Obelisk : Azwan +oldFieldID = sm.getReturnField() +if oldFieldID == 0 or oldFieldID == 910000000: + sm.chat("(Portal) Cannot find your previous map ID, warping to Henesys.") + map = 100000000 + portal = 0 +else: + map = oldFieldID + portal = 0 +sm.warp(map, portal) +sm.dispose() diff --git a/scripts/portal/out_bellDoor.py b/scripts/portal/out_bellDoor.py new file mode 100755 index 0000000..c5025c9 --- /dev/null +++ b/scripts/portal/out_bellDoor.py @@ -0,0 +1,5 @@ +response = sm.sendAskYesNo("Are you sure you want to leave?") + +if response: + sm.WarpInstanceOut(401053002) + sm.dispose() diff --git a/scripts/portal/out_brokenSubway.py b/scripts/portal/out_brokenSubway.py new file mode 100755 index 0000000..7c38306 --- /dev/null +++ b/scripts/portal/out_brokenSubway.py @@ -0,0 +1,11 @@ +STARLING = 9120221 + +if sm.hasQuestCompleted(1602): + sm.warpInstanceOut(103020000, 2) + +else: + sm.setSpeakerID(STARLING) + response = sm.sendAskYesNo("Excuse me? \r\nAre you just going to leave me?") + + if response: + sm.warpInstanceOut(103020000, 2) \ No newline at end of file diff --git a/scripts/portal/out_city.py b/scripts/portal/out_city.py new file mode 100755 index 0000000..871a8ef --- /dev/null +++ b/scripts/portal/out_city.py @@ -0,0 +1,3 @@ +# warp from hene to shinsoo school road city center + +sm.warp(330000000, 11) \ No newline at end of file diff --git a/scripts/portal/out_cygnusAK.py b/scripts/portal/out_cygnusAK.py new file mode 100755 index 0000000..3616408 --- /dev/null +++ b/scripts/portal/out_cygnusAK.py @@ -0,0 +1,7 @@ +# 272030400 - Arkarium + +response = sm.sendAskYesNo("Would you like to leave?") + +if response: + sm.clearPartyInfo(272030300) +sm.dispose() diff --git a/scripts/portal/out_cygnusBackGarden.py b/scripts/portal/out_cygnusBackGarden.py new file mode 100755 index 0000000..f848c9b --- /dev/null +++ b/scripts/portal/out_cygnusBackGarden.py @@ -0,0 +1 @@ +sm.warp(271040000, 1) \ No newline at end of file diff --git a/scripts/portal/out_cygnusBackGardenEasy.py b/scripts/portal/out_cygnusBackGardenEasy.py new file mode 100755 index 0000000..341890e --- /dev/null +++ b/scripts/portal/out_cygnusBackGardenEasy.py @@ -0,0 +1 @@ +sm.warpInstanceOut(271040000, 0) \ No newline at end of file diff --git a/scripts/portal/out_cygnusGarden.py b/scripts/portal/out_cygnusGarden.py new file mode 100755 index 0000000..a942c98 --- /dev/null +++ b/scripts/portal/out_cygnusGarden.py @@ -0,0 +1,3 @@ +# 271040000 +sm.warp(271030600, 3) +sm.dispose() diff --git a/scripts/portal/out_elinCave.py b/scripts/portal/out_elinCave.py new file mode 100755 index 0000000..daff548 --- /dev/null +++ b/scripts/portal/out_elinCave.py @@ -0,0 +1,6 @@ +# Portal to leave Chao + +BOULDER_MOUNTAIN_ENTRANCE = 300010400 # MAP ID + +sm.chatRed("Leaving the cave...") +sm.warpInstanceOut(BOULDER_MOUNTAIN_ENTRANCE, 2) \ No newline at end of file diff --git a/scripts/portal/out_fairyBoss.py b/scripts/portal/out_fairyBoss.py new file mode 100755 index 0000000..470037f --- /dev/null +++ b/scripts/portal/out_fairyBoss.py @@ -0,0 +1,13 @@ +# Portal for leaving Ephenia + +EPHENIAS_HIDING_PLACE = 2133006 # NPC ID +FAIRY_FOREST_2 = 300030300 # MAP ID + +if not sm.hasMobsInField(): + sm.clearPartyInfo(FAIRY_FOREST_2) +else: + sm.setSpeakerID(EPHENIAS_HIDING_PLACE) + response = sm.sendAskYesNo("Are you sure you want to leave?") + + if response: + sm.clearPartyInfo(FAIRY_FOREST_2) \ No newline at end of file diff --git a/scripts/portal/out_foxtree.py b/scripts/portal/out_foxtree.py new file mode 100755 index 0000000..83ae835 --- /dev/null +++ b/scripts/portal/out_foxtree.py @@ -0,0 +1,4 @@ +if sm.hasQuestCompleted(38027): + sm.warp(940200020, 0) +else: + sm.warp(410000000, 6) \ No newline at end of file diff --git a/scripts/portal/out_ghostHouse.py b/scripts/portal/out_ghostHouse.py new file mode 100755 index 0000000..324cf15 --- /dev/null +++ b/scripts/portal/out_ghostHouse.py @@ -0,0 +1,3 @@ +# 223010110 +sm.warp(223010100, 3) +sm.dispose() diff --git a/scripts/portal/out_guild.py b/scripts/portal/out_guild.py new file mode 100755 index 0000000..23701aa --- /dev/null +++ b/scripts/portal/out_guild.py @@ -0,0 +1,3 @@ +# 200000301 +sm.warp(200000300, 11) +sm.dispose() diff --git a/scripts/portal/out_henesys.py b/scripts/portal/out_henesys.py new file mode 100755 index 0000000..3bac07f --- /dev/null +++ b/scripts/portal/out_henesys.py @@ -0,0 +1,5 @@ +map = 100000000 +portal = 17 + +sm.warp(map, portal) +sm.dispose() diff --git a/scripts/portal/out_hilla.py b/scripts/portal/out_hilla.py new file mode 100755 index 0000000..46b3f39 --- /dev/null +++ b/scripts/portal/out_hilla.py @@ -0,0 +1,4 @@ +# id 2 (out00), field 863100105 +sm.setSpeakerType(8) +sm.setParam(16) +res = sm.sendAskYesNo("I need keys to get out. \r\nI'll have to forfeit the quest if I leave now. Should I?") diff --git a/scripts/portal/out_hillah.py b/scripts/portal/out_hillah.py new file mode 100755 index 0000000..1165895 --- /dev/null +++ b/scripts/portal/out_hillah.py @@ -0,0 +1,3 @@ +# Azwan refuge zone entrance + +sm.openNpc(2184000) \ No newline at end of file diff --git a/scripts/portal/out_magnusDoor.py b/scripts/portal/out_magnusDoor.py new file mode 100755 index 0000000..1630c41 --- /dev/null +++ b/scripts/portal/out_magnusDoor.py @@ -0,0 +1,6 @@ +sm.setSpeakerID(3001021) +response = sm.sendAskYesNo("Do you wish to leave the battlefield?") + +if response: + sm.WarpInstanceOut(401060000) + sm.dispose() diff --git a/scripts/portal/out_profession.py b/scripts/portal/out_profession.py new file mode 100755 index 0000000..bfef414 --- /dev/null +++ b/scripts/portal/out_profession.py @@ -0,0 +1,5 @@ +# 910001000 +if not sm.getReturnField() is None: + sm.warp(sm.getReturnField()) +else: + sm.warp(100000000, 19) \ No newline at end of file diff --git a/scripts/portal/out_q25584.py b/scripts/portal/out_q25584.py new file mode 100755 index 0000000..989c075 --- /dev/null +++ b/scripts/portal/out_q25584.py @@ -0,0 +1,5 @@ +# Created by MechAviv +# ID :: [910600201] +# Hidden Street : Abandoned Hideout + +sm.warp(100040000, 8) diff --git a/scripts/portal/out_secretLB.py b/scripts/portal/out_secretLB.py new file mode 100755 index 0000000..1e240be --- /dev/null +++ b/scripts/portal/out_secretLB.py @@ -0,0 +1,3 @@ +# Portal out of Secret Library +sm.warpInstanceOut(222020000, 0) +sm.dispose() \ No newline at end of file diff --git a/scripts/portal/out_treDoor.py b/scripts/portal/out_treDoor.py new file mode 100755 index 0000000..620f438 --- /dev/null +++ b/scripts/portal/out_treDoor.py @@ -0,0 +1,5 @@ +response = sm.sendAskYesNo("Are you sure you want to leave?") + +if response: + sm.WarpInstanceOut(401052104) + sm.dispose() diff --git a/scripts/portal/out_victorDoor.py b/scripts/portal/out_victorDoor.py new file mode 100755 index 0000000..824ee58 --- /dev/null +++ b/scripts/portal/out_victorDoor.py @@ -0,0 +1,5 @@ +response = sm.sendAskYesNo("Are you sure you want to leave?") + +if response: + sm.WarpInstanceOut(401051104) + sm.dispose() diff --git a/scripts/portal/outpasttemple.py b/scripts/portal/outpasttemple.py new file mode 100755 index 0000000..7f2e75d --- /dev/null +++ b/scripts/portal/outpasttemple.py @@ -0,0 +1,3 @@ +# 272010000 +sm.warp(272000600, 2) +sm.dispose() diff --git a/scripts/portal/outportalNCP.py b/scripts/portal/outportalNCP.py new file mode 100755 index 0000000..374a761 --- /dev/null +++ b/scripts/portal/outportalNCP.py @@ -0,0 +1,8 @@ +# 910700200 Root Abyss : Colossal Root (Quest Map) +if sm.hasQuest(30002): + sm.setPlayerAsSpeaker() + sm.sendNext("I should tell that girl about the exit first.") + sm.completeQuest(30002) +else: + sm.warp(105010200, 0) # Secret Swamp +sm.dispose() diff --git a/scripts/portal/outportalNPC.py b/scripts/portal/outportalNPC.py new file mode 100755 index 0000000..ceb9112 --- /dev/null +++ b/scripts/portal/outportalNPC.py @@ -0,0 +1,9 @@ +THE_MYSTERIOUS_GIRL = 30002 + +if sm.hasQuest(THE_MYSTERIOUS_GIRL): + sm.setPlayerAsSpeaker() + sm.completeQuest(THE_MYSTERIOUS_GIRL) + sm.dispose() + sm.sendNext("I should tell that girl about the exit first.") +else: + sm.warp(105010200, 0) # Secret Swamp \ No newline at end of file diff --git a/scripts/portal/outrootaBoss.py b/scripts/portal/outrootaBoss.py new file mode 100755 index 0000000..359aa7e --- /dev/null +++ b/scripts/portal/outrootaBoss.py @@ -0,0 +1,13 @@ +sm.setSpeakerID(1064002) +sm.sendAskYesNo + +dialog = str() + +if sm.hasMobsInField(): + dialog = "Are you sure you want to leave the battlefield and abandon your party members?" + +else: + dialog = "Are you sure you want to leave the battlefield?" + +if sm.sendAskYesNo(dialog): + sm.warpInstanceOut(105200000) \ No newline at end of file diff --git a/scripts/portal/party2_exit.py b/scripts/portal/party2_exit.py new file mode 100755 index 0000000..21866f9 --- /dev/null +++ b/scripts/portal/party2_exit.py @@ -0,0 +1,3 @@ +# 221023300 +sm.warp(221023200, 1) +sm.dispose() diff --git a/scripts/portal/party2_rp.py b/scripts/portal/party2_rp.py new file mode 100755 index 0000000..ebdea01 --- /dev/null +++ b/scripts/portal/party2_rp.py @@ -0,0 +1,220 @@ +# Stage 3 ludibrium pq boxes + +#Get Order +STAGE_3_ORDER = "Stage3Order" +STAGE_3_COMPLETE = "Stage3Complete" +stage3OrderArray = field.getProperty(STAGE_3_ORDER) + +#Check if at corresponding ID +if parentID == 15: + if stage3OrderArray[0] == 3: + sm.showObjectFieldEffect("an00") + sm.teleportToPortal(18) + else: + sm.teleportToPortal(0) + +elif parentID == 16: + if stage3OrderArray[0] == 2: + sm.showObjectFieldEffect("an01") + sm.teleportToPortal(18) + else: + sm.teleportToPortal(0) + +elif parentID == 17: + if stage3OrderArray[0] == 1: + sm.showObjectFieldEffect("an02") + sm.teleportToPortal(18) + else: + sm.teleportToPortal(0) + +elif parentID == 18: + if stage3OrderArray[1] == 1: + sm.showObjectFieldEffect("an10") + sm.teleportToPortal(21) + else: + sm.teleportToPortal(0) + +elif parentID == 19: + if stage3OrderArray[1] == 2: + sm.showObjectFieldEffect("an11") + sm.teleportToPortal(21) + else: + sm.teleportToPortal(0) + +elif parentID == 20: + if stage3OrderArray[1] == 3: + sm.showObjectFieldEffect("an12") + sm.teleportToPortal(21) + else: + sm.teleportToPortal(0) + +elif parentID == 21: + if stage3OrderArray[2] == 3: + sm.showObjectFieldEffect("an20") + sm.teleportToPortal(24) + else: + sm.teleportToPortal(0) + +elif parentID == 22: + if stage3OrderArray[2] == 2: + sm.showObjectFieldEffect("an21") + sm.teleportToPortal(24) + else: + sm.teleportToPortal(0) + +elif parentID == 23: + if stage3OrderArray[2] == 1: + sm.showObjectFieldEffect("an22") + sm.teleportToPortal(24) + else: + sm.teleportToPortal(0) + +elif parentID == 24: + if stage3OrderArray[3] == 3: + sm.showObjectFieldEffect("an30") + sm.teleportToPortal(27) + else: + sm.teleportToPortal(0) + +elif parentID == 25: + if stage3OrderArray[3] == 2: + sm.showObjectFieldEffect("an31") + sm.teleportToPortal(27) + else: + sm.teleportToPortal(0) + +elif parentID == 26: + if stage3OrderArray[3] == 1: + sm.showObjectFieldEffect("an32") + sm.teleportToPortal(27) + else: + sm.teleportToPortal(0) + +elif parentID == 27: + if stage3OrderArray[4] == 1: + sm.showObjectFieldEffect("an40") + sm.teleportToPortal(30) + else: + sm.teleportToPortal(0) + +elif parentID == 28: + if stage3OrderArray[4] == 2: + sm.showObjectFieldEffect("an41") + sm.teleportToPortal(30) + else: + sm.teleportToPortal(0) + +elif parentID == 29: + if stage3OrderArray[4] == 3: + sm.showObjectFieldEffect("an42") + sm.teleportToPortal(30) + else: + sm.teleportToPortal(0) + +elif parentID == 30: + if stage3OrderArray[5] == 1: + sm.showObjectFieldEffect("an50") + sm.teleportToPortal(33) + else: + sm.teleportToPortal(0) + +elif parentID == 31: + if stage3OrderArray[5] == 2: + sm.showObjectFieldEffect("an51") + sm.teleportToPortal(33) + else: + sm.teleportToPortal(0) + +elif parentID == 32: + if stage3OrderArray[5] == 3: + sm.showObjectFieldEffect("an52") + sm.teleportToPortal(33) + else: + sm.teleportToPortal(0) + +elif parentID == 33: + if stage3OrderArray[6] == 3: + sm.showObjectFieldEffect("an60") + sm.teleportToPortal(36) + else: + sm.teleportToPortal(0) + +elif parentID == 34: + if stage3OrderArray[6] == 1: + sm.showObjectFieldEffect("an61") + sm.teleportToPortal(36) + else: + sm.teleportToPortal(0) + +elif parentID == 35: + if stage3OrderArray[6] == 2: + sm.showObjectFieldEffect("an62") + sm.teleportToPortal(36) + else: + sm.teleportToPortal(0) + +elif parentID == 36: + if stage3OrderArray[7] == 3: + sm.showObjectFieldEffect("an70") + sm.teleportToPortal(39) + else: + sm.teleportToPortal(0) + +elif parentID == 37: + if stage3OrderArray[7] == 2: + sm.showObjectFieldEffect("an71") + sm.teleportToPortal(39) + else: + sm.teleportToPortal(0) + +elif parentID == 38: + if stage3OrderArray[7] == 1: + sm.showObjectFieldEffect("an72") + sm.teleportToPortal(39) + else: + sm.teleportToPortal(0) + +elif parentID == 39: + if stage3OrderArray[8] == 1: + sm.showObjectFieldEffect("an80") + sm.teleportToPortal(42) + else: + sm.teleportToPortal(0) + +elif parentID == 40: + if stage3OrderArray[8] == 3: + sm.showObjectFieldEffect("an81") + sm.teleportToPortal(42) + else: + sm.teleportToPortal(0) + +elif parentID == 41: + if stage3OrderArray[8] == 2: + sm.showObjectFieldEffect("an82") + sm.teleportToPortal(42) + else: + sm.teleportToPortal(0) + +elif parentID == 42: + if stage3OrderArray[9] == 1: + sm.invokeForParty("teleportToPortal", 2) + sm.invokeForParty("showFieldEffect", "quest/party/clear") + field.setProperty(STAGE_3_COMPLETE, True) + else: + sm.teleportToPortal(0) + +elif parentID == 43: + if stage3OrderArray[9] == 2: + sm.invokeForParty("teleportToPortal", 2) + sm.invokeForParty("showFieldEffect", "quest/party/clear") + field.setProperty(STAGE_3_COMPLETE, True) + else: + sm.teleportToPortal(0) + +elif parentID == 44: + if stage3OrderArray[9] == 3: + sm.invokeForParty("teleportToPortal", 2) + sm.invokeForParty("showFieldEffect", "quest/party/clear") + field.setProperty(STAGE_3_COMPLETE, True) + else: + sm.teleportToPortal(0) \ No newline at end of file diff --git a/scripts/portal/pf_in.py b/scripts/portal/pf_in.py new file mode 100755 index 0000000..ca704b0 --- /dev/null +++ b/scripts/portal/pf_in.py @@ -0,0 +1,4 @@ +# id 6 (out00), field 301070000 +sm.setSpeakerType(8) +sm.setParam(16) +sm.sendSayOkay("There's a barrier here... I can't make it past.") diff --git a/scripts/portal/platformer_trap.py b/scripts/portal/platformer_trap.py new file mode 100755 index 0000000..8ded617 --- /dev/null +++ b/scripts/portal/platformer_trap.py @@ -0,0 +1,2 @@ +sm.warp(993001160) +sm.speechBalloon(True, 0, 0, "#fs12##bNo, Wowow!", 2000, 1, 0, 0, 0, 4, 0, 4878499) diff --git a/scripts/portal/platformer_trap0.py b/scripts/portal/platformer_trap0.py new file mode 100755 index 0000000..e61e2f0 --- /dev/null +++ b/scripts/portal/platformer_trap0.py @@ -0,0 +1,2 @@ +sm.warp(993001160) +sm.speechBalloon(True, 0, 0, "#fs12##bNo, Wowow!", 2000, 1, 0, 0, 0, 4, 0, 4878499) \ No newline at end of file diff --git a/scripts/portal/platformer_trap1.py b/scripts/portal/platformer_trap1.py new file mode 100755 index 0000000..6bece51 --- /dev/null +++ b/scripts/portal/platformer_trap1.py @@ -0,0 +1 @@ +sm.warp(993001160) \ No newline at end of file diff --git a/scripts/portal/platformer_trap3.py b/scripts/portal/platformer_trap3.py new file mode 100755 index 0000000..6bece51 --- /dev/null +++ b/scripts/portal/platformer_trap3.py @@ -0,0 +1 @@ +sm.warp(993001160) \ No newline at end of file diff --git a/scripts/portal/platformer_trap4.py b/scripts/portal/platformer_trap4.py new file mode 100755 index 0000000..6bece51 --- /dev/null +++ b/scripts/portal/platformer_trap4.py @@ -0,0 +1 @@ +sm.warp(993001160) \ No newline at end of file diff --git a/scripts/portal/portalNPC.py b/scripts/portal/portalNPC.py new file mode 100755 index 0000000..c741b85 --- /dev/null +++ b/scripts/portal/portalNPC.py @@ -0,0 +1,2 @@ +# 211042200 +sm.openNpc(2161005) \ No newline at end of file diff --git a/scripts/portal/portalNPC1.py b/scripts/portal/portalNPC1.py new file mode 100755 index 0000000..3f16ea8 --- /dev/null +++ b/scripts/portal/portalNPC1.py @@ -0,0 +1,2 @@ +# 211042200 +sm.openNpc(2144017) \ No newline at end of file diff --git a/scripts/portal/portal_000.py b/scripts/portal/portal_000.py new file mode 100755 index 0000000..696c864 --- /dev/null +++ b/scripts/portal/portal_000.py @@ -0,0 +1,11 @@ +# Limbert's General Store (913070000) - continue script +sm.forcedInput(0) +sm.showBalloonMsg("Effect/Direction7.img/effect/tuto/step0/3", 3000) +sm.localEmotion(6, 2000, False) +sm.sendDelay(2000) + +sm.sendDelay(1000) + +sm.forcedInput(1) +# continue in portal_001.py +sm.dispose() \ No newline at end of file diff --git a/scripts/portal/portal_001.py b/scripts/portal/portal_001.py new file mode 100755 index 0000000..bf0dbad --- /dev/null +++ b/scripts/portal/portal_001.py @@ -0,0 +1,55 @@ +# Limbert's General Store (913070000) - continue script + +# Constants +NEINHEART = 1106000 +LIMBERT = 1106002 + +# Script answer init +sm.removeEscapeButton() +sm.setSpeakerID(NEINHEART) +sm.setPlayerAsSpeaker() + +# Actions +sm.forcedInput(0) +sm.sendNext("Do you have something to say to me?") + + +sm.setSpeakerID(NEINHEART) +sm.sendSay("What is your name?") + +sm.setPlayerAsSpeaker() +sm.sendSay("I don't have one. Just call me #bKiddo#k. That's what the old man calls me.") + +sm.setSpeakerID(NEINHEART) +sm.sendSay("Is he your grandpa? Where are your parents?") + +sm.setPlayerAsSpeaker() +sm.sendSay("I don't have any family. I just work here.#b\r\n(What's with all the questions?)#k\r\nLook, I have to get back to work before the old man comes back...") + +sm.setSpeakerID(NEINHEART) +sm.sendSay("Do you know the name Chromile? The Knight of Light?") + +sm.setPlayerAsSpeaker() +sm.sendSay("Nope, never heard of the guy...#b\r\n(Why does that name sound familiar?)") + +sm.setSpeakerID(LIMBERT) +sm.sendSay("#eYou little brat!\r\nI told you to move boxes, not chat up my customers!") + +sm.setPlayerAsSpeaker() +sm.sendSay("I was just about to clean it up...\r\nSorry, I gotta do what he says...") + +sm.completeQuestNoRewards(20030) # neinheart npc to disappear after completing the quest +sm.addLevel(1) +sm.showBalloonMsg("Effect/Direction7.img/effect/tuto/step0/4", 2000) +sm.localEmotion(6, 2000, False) +sm.sendDelay(2000) + +sm.setPlayerAsSpeaker() +sm.sendNext("H-hey! Where did he go?!\r\n Ugh, who cares?! I gotta get that stuff out of here before Limbert starts raising a ruckus again...") + +sm.forcedInput(2) +sm.sendDelay(800) + +sm.lockInGameUI(False) +sm.warpInstanceIn(913070001, 0) +sm.dispose() \ No newline at end of file diff --git a/scripts/portal/portal_002.py b/scripts/portal/portal_002.py new file mode 100755 index 0000000..808cf07 --- /dev/null +++ b/scripts/portal/portal_002.py @@ -0,0 +1,61 @@ +# Limbert's General Store (913070000) - continue script + +# Constants +NEINHEART = 1106003 +CYGNUS = 1106001 +JAAH = 1106005 +MOB = 9001050 + +# Script answer init +sm.removeEscapeButton() +sm.setSpeakerID(JAAH) +sm.setPlayerAsSpeaker() + +# Actions +sm.forcedInput(0) +sm.sendNext("Who are you? Are you lost? ") + +sm.setSpeakerID(CYGNUS) +sm.sendSay("I have sought after you for some time, and now you stand before me. The warrior with the destiny of light.") + +sm.setPlayerAsSpeaker() +sm.sendSay("What are you talking about?") + +sm.setSpeakerID(NEINHEART) +sm.sendSay("Mind your manners, peon! This is the Empress!") + +sm.setPlayerAsSpeaker() +sm.sendSay("You're the guy from before! What's going on here? That guy you talked about, Chromile... I found a letter from him in the attic. Is that Limbert's real name or something?") + +sm.setSpeakerID(CYGNUS) +sm.sendSay("Chromile and Mr. Limbert have no connection, save you. Chromile... is your father.") + +sm.setPlayerAsSpeaker() +sm.sendSay("My father left me here when I was little. He abandoned me to this old chicken-keeper.") + +sm.setSpeakerID(CYGNUS) +sm.sendSay("He did not abandon you. Your father left you here after your mother passed away to save your life. His path was not one you could follow...") + +sm.setPlayerAsSpeaker() +sm.sendSay("Save me? He didn't save me. He left me to be a slave in this shack. He didn't even give me a name! And now I find out I've been here waiting for a father that'll never return...") + +sm.setSpeakerID(CYGNUS) +sm.sendSay("Only the darkest night can produce a brilliant sunrise. Put aside your anger and come with me. You will find the light you seek.") + +sm.setSpeakerID(NEINHEART) +sm.sendSay("Empress, I do not have faith in this boy. We know nothing about him. I don't think he is fit to be the knight of light.") + +sm.setSpeakerID(CYGNUS) +sm.sendSay("Dear Neinheart, I should have known better than to assume you would trust in faith. Go ahead and test him, but be gentle.") + +sm.setPlayerAsSpeaker() +sm.sendSay("Wait, what?") + +sm.sendDelay(1000) + +for i in range(10): + sm.spawnMobWithAppearType(MOB, 200, 50, 0, 0) +sm.lockInGameUI(False) +sm.completeQuestNoRewards(20034) # neinheart npc to disappear after completing the quest +sm.startQuestNoCheck(20035) +sm.dispose() \ No newline at end of file diff --git a/scripts/portal/portal_foxtree.py b/scripts/portal/portal_foxtree.py new file mode 100755 index 0000000..b7e7ea5 --- /dev/null +++ b/scripts/portal/portal_foxtree.py @@ -0,0 +1,4 @@ +if sm.hasQuest(38004) or sm.hasQuest(38011): + sm.warp(940200011, 0) +else: + sm.warp(410000002, 0) \ No newline at end of file diff --git a/scripts/portal/portal_victor2.py b/scripts/portal/portal_victor2.py new file mode 100755 index 0000000..08fd420 --- /dev/null +++ b/scripts/portal/portal_victor2.py @@ -0,0 +1 @@ +sm.warp(401051100) \ No newline at end of file diff --git a/scripts/portal/prism_out.py b/scripts/portal/prism_out.py new file mode 100755 index 0000000..d612c30 --- /dev/null +++ b/scripts/portal/prism_out.py @@ -0,0 +1,5 @@ +# Exit Harmony +if not sm.getReturnField() is None: + sm.warp(sm.getReturnField()) +else: + sm.warp(100000000, 19) \ No newline at end of file diff --git a/scripts/portal/prisonBreak_miro.py b/scripts/portal/prisonBreak_miro.py new file mode 100755 index 0000000..97bac86 --- /dev/null +++ b/scripts/portal/prisonBreak_miro.py @@ -0,0 +1,12 @@ +import random +maps = [921160350, 921160340, 921160330, 921160400, 921160300, 921160320, 921160310] +if sm.hasMobsInField(): + sm.dispose() +fieldId = random.choice(maps) +while fieldId == sm.getFieldID(): + fieldId = random.choice(maps) +if fieldId == 921160400: + for partyMember in sm.getParty().getMembers(): + sm.warp(fieldId) + sm.dispose() +sm.warp(fieldId) diff --git a/scripts/portal/prisonBreak_next.py b/scripts/portal/prisonBreak_next.py new file mode 100755 index 0000000..3eb377e --- /dev/null +++ b/scripts/portal/prisonBreak_next.py @@ -0,0 +1,17 @@ +# 921160200 +# Party Quest - Escape! PQ + +# Hidden Street : Aerial Prison +if sm.getFieldID() == 921160600: + warp = sm.getReactorQuantity() > 1 + if warp: # due to invisible reactor hidden on the map + sm.chat("Unlock all the prison doors.") + sm.dispose() +else: + warp = not sm.hasMobsInField() or sm.getFieldID() == 921160100 + if not warp: + sm.chat("The portal is not opened.") + sm.dispose() +for partyMember in sm.getParty().getPartyMembersInSameFieldList(chr): + partyMember.warp(sm.getFieldID() + 100) +chr.warp(sm.getFieldID() + 100) \ No newline at end of file diff --git a/scripts/portal/prisonBreak_out0.py b/scripts/portal/prisonBreak_out0.py new file mode 100755 index 0000000..910ac0b --- /dev/null +++ b/scripts/portal/prisonBreak_out0.py @@ -0,0 +1,14 @@ +# 921160700 - Escape! - PQ + +if sm.hasMobsInField(): + sm.chat("The portal is not opened.") +elif sm.getFieldID() == 921160700: + sm.warpInstanceOut(910002000) # Party Quest Map + sm.giveExp(sm.getPQExp()) #Gives player PQ exp + sm.giveNX(400000) + sm.giveItem(4310212, 2) +else: + dialog = "Are you sure you want to leave?" + if sm.sendAskYesNo(dialog): + sm.warpInstanceOut(910002000) +sm.dispose() diff --git a/scripts/portal/profession01.py b/scripts/portal/profession01.py new file mode 100755 index 0000000..6e81835 --- /dev/null +++ b/scripts/portal/profession01.py @@ -0,0 +1,2 @@ +sm.setReturnField() +sm.warp(910001000, 6) diff --git a/scripts/portal/profession05.py b/scripts/portal/profession05.py new file mode 100755 index 0000000..6e81835 --- /dev/null +++ b/scripts/portal/profession05.py @@ -0,0 +1,2 @@ +sm.setReturnField() +sm.warp(910001000, 6) diff --git a/scripts/portal/profession06.py b/scripts/portal/profession06.py new file mode 100755 index 0000000..6e81835 --- /dev/null +++ b/scripts/portal/profession06.py @@ -0,0 +1,2 @@ +sm.setReturnField() +sm.warp(910001000, 6) diff --git a/scripts/portal/profession07.py b/scripts/portal/profession07.py new file mode 100755 index 0000000..6e81835 --- /dev/null +++ b/scripts/portal/profession07.py @@ -0,0 +1,2 @@ +sm.setReturnField() +sm.warp(910001000, 6) diff --git a/scripts/portal/profession08.py b/scripts/portal/profession08.py new file mode 100755 index 0000000..6e81835 --- /dev/null +++ b/scripts/portal/profession08.py @@ -0,0 +1,2 @@ +sm.setReturnField() +sm.warp(910001000, 6) diff --git a/scripts/portal/profession09.py b/scripts/portal/profession09.py new file mode 100755 index 0000000..6e81835 --- /dev/null +++ b/scripts/portal/profession09.py @@ -0,0 +1,2 @@ +sm.setReturnField() +sm.warp(910001000, 6) diff --git a/scripts/portal/profession10.py b/scripts/portal/profession10.py new file mode 100755 index 0000000..6e81835 --- /dev/null +++ b/scripts/portal/profession10.py @@ -0,0 +1,2 @@ +sm.setReturnField() +sm.warp(910001000, 6) diff --git a/scripts/portal/profession107.py b/scripts/portal/profession107.py new file mode 100755 index 0000000..6e81835 --- /dev/null +++ b/scripts/portal/profession107.py @@ -0,0 +1,2 @@ +sm.setReturnField() +sm.warp(910001000, 6) diff --git a/scripts/portal/profession11.py b/scripts/portal/profession11.py new file mode 100755 index 0000000..6e81835 --- /dev/null +++ b/scripts/portal/profession11.py @@ -0,0 +1,2 @@ +sm.setReturnField() +sm.warp(910001000, 6) diff --git a/scripts/portal/profession14.py b/scripts/portal/profession14.py new file mode 100755 index 0000000..6e81835 --- /dev/null +++ b/scripts/portal/profession14.py @@ -0,0 +1,2 @@ +sm.setReturnField() +sm.warp(910001000, 6) diff --git a/scripts/portal/pt02_450003720.py b/scripts/portal/pt02_450003720.py new file mode 100755 index 0000000..e743cdb --- /dev/null +++ b/scripts/portal/pt02_450003720.py @@ -0,0 +1,8 @@ +# id 2 (pt02), field 450003720 +if sm.hasQuestCompleted(34302): + sm.warp(450003100) + +else: + sm.setSpeakerType(3) + sm.setParam(2) + sm.sendSayOkay("(I should try and get through that fog on the right.)") diff --git a/scripts/portal/pt_101080000.py b/scripts/portal/pt_101080000.py new file mode 100755 index 0000000..40ee3c1 --- /dev/null +++ b/scripts/portal/pt_101080000.py @@ -0,0 +1,19 @@ +# id 3 (south00), field 101080000 +sm.lockInGameUI(True, False) +sm.removeAdditionalEffect() +sm.setSpeakerType(8) +sm.setParam(3) +sm.sendNext("I'm tough. What's the worst that could happen?") +sm.sendDelay(500) +sm.sendDelay(900) +sm.hideUser(True) +sm.blind(True, 255, 0, 0, 0, 500) +sm.sendDelay(500) +sm.showFadeTransition(0, 1000, 3000) +sm.zoomCamera(0, 1000, 2147483647, 2147483647, 2147483647) +sm.moveCamera(True, 0, 0, 0) +sm.sendDelay(300) +sm.removeOverlapScreen(1000) +sm.moveCamera(True, 0, 0, 0) +sm.lockInGameUI(False, True) +sm.warp(910143001) diff --git a/scripts/portal/pt_101081300.py b/scripts/portal/pt_101081300.py new file mode 100755 index 0000000..9f628e9 --- /dev/null +++ b/scripts/portal/pt_101081300.py @@ -0,0 +1,4 @@ +# id 4 (in00), field 101081300 +sm.setSpeakerType(8) +sm.setParam(2) +sm.sendNext("But it's pitch dark in there. I can't just walk in uninvited.") diff --git a/scripts/portal/pt_224000121_2.py b/scripts/portal/pt_224000121_2.py new file mode 100755 index 0000000..afd72c0 --- /dev/null +++ b/scripts/portal/pt_224000121_2.py @@ -0,0 +1,2 @@ +sm.warp(224000122, 4) +sm.dispose() diff --git a/scripts/portal/pt_450003720.py b/scripts/portal/pt_450003720.py new file mode 100755 index 0000000..bd879e4 --- /dev/null +++ b/scripts/portal/pt_450003720.py @@ -0,0 +1,8 @@ +# id 3 (pt01), field 450003720 +if not sm.hasQuestCompleted(34302): + sm.startQuest(34302) + if sm.hasQuest(34302): + sm.completeQuest(34302) + sm.setPlayerAsSpeaker() + sm.sendNext("(I can't pass through the fog...)") + sm.sendNext("(I guess I should turn back for now...)") diff --git a/scripts/portal/pt_59063.py b/scripts/portal/pt_59063.py new file mode 100755 index 0000000..f9c9f32 --- /dev/null +++ b/scripts/portal/pt_59063.py @@ -0,0 +1,3 @@ +# 866000220 +sm.warp(865000000, 0) +sm.dispose() diff --git a/scripts/portal/pt_867200408.py b/scripts/portal/pt_867200408.py new file mode 100755 index 0000000..ef41d24 --- /dev/null +++ b/scripts/portal/pt_867200408.py @@ -0,0 +1,5 @@ +# id 1 (pt_867200408), field 867200408 +sm.setSpeakerType(3) +sm.setParam(5) +sm.setInnerOverrideSpeakerTemplateID(9400581) # Butler +res = sm.sendAskYesNo("Hurry up! Are you ready to leave?") diff --git a/scripts/portal/pt_867200501.py b/scripts/portal/pt_867200501.py new file mode 100755 index 0000000..c2abf11 --- /dev/null +++ b/scripts/portal/pt_867200501.py @@ -0,0 +1,4 @@ +# id 1 (pt_867200501), field 867200501 +sm.openUI(1888) +sm.openUI(1890) +sm.warp(867200500) diff --git a/scripts/portal/pt_867200706.py b/scripts/portal/pt_867200706.py new file mode 100755 index 0000000..07cd9c7 --- /dev/null +++ b/scripts/portal/pt_867200706.py @@ -0,0 +1,6 @@ +# id 1 (pt_867200706), field 867200706 +sm.setSpeakerType(3) +sm.setParam(35) +sm.setColor(1) +sm.sendNext("Go to #m867200920#.") +sm.warp(-1) diff --git a/scripts/portal/pt_867200853.py b/scripts/portal/pt_867200853.py new file mode 100755 index 0000000..b276cfd --- /dev/null +++ b/scripts/portal/pt_867200853.py @@ -0,0 +1,5 @@ +# id 1 (pt_867200853), field 867200853 +sm.setSpeakerType(3) +sm.setParam(5) +sm.setInnerOverrideSpeakerTemplateID(9400587) # Kan +res = sm.sendAskYesNo("Are you ready to leave?") diff --git a/scripts/portal/pt_867200900.py b/scripts/portal/pt_867200900.py new file mode 100755 index 0000000..06199d7 --- /dev/null +++ b/scripts/portal/pt_867200900.py @@ -0,0 +1,5 @@ +# id 1 (pt_867200900), field 867200900 +sm.completeQuestNoCheck(64158) +sm.setSpeakerType(8) +sm.setParam(2) +res = sm.sendAskYesNo("If you forfeit, your progress will be reset.\r\nDo you wish to leave now?") diff --git a/scripts/portal/pt_940202032_l.py b/scripts/portal/pt_940202032_l.py new file mode 100755 index 0000000..46de66a --- /dev/null +++ b/scripts/portal/pt_940202032_l.py @@ -0,0 +1,6 @@ +# id 1 (pt_l), field 940202032 +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(3001353) # Illium +sm.sendNext("#face3#I need to get the hang of handling this crystal. It's pretty powerful.") diff --git a/scripts/portal/pt_940202036_col.py b/scripts/portal/pt_940202036_col.py new file mode 100755 index 0000000..5ad343f --- /dev/null +++ b/scripts/portal/pt_940202036_col.py @@ -0,0 +1,70 @@ +# id 1 (pt_col), field 940202036 +sm.lockInGameUI(True, False) +sm.removeAdditionalEffect() +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(3001300) # Ex +sm.sendNext("#face1#Warning. An unidentified group is approaching.") +sm.setInnerOverrideSpeakerTemplateID(3001326) # Hoodlum +sm.sendSay("#face0#Check out those weird kids over there.") +sm.spawnNpc(3001343, -600, 790) +sm.showNpcSpecialActionByTemplateId(3001343, "summon", 0) +sm.spawnNpc(3001343, -520, 790) +sm.showNpcSpecialActionByTemplateId(3001343, "summon", 0) +sm.spawnNpc(3001343, -415, 790) +sm.showNpcSpecialActionByTemplateId(3001343, "summon", 0) +sm.spawnNpc(3001343, -325, 790) +sm.showNpcSpecialActionByTemplateId(3001343, "summon", 0) +sm.spawnNpc(3001343, -205, 790) +sm.showNpcSpecialActionByTemplateId(3001343, "summon", 0) +sm.spawnNpc(3001343, -130, 790) +sm.showNpcSpecialActionByTemplateId(3001343, "summon", 0) +sm.spawnNpc(3001343, 25, 790) +sm.showNpcSpecialActionByTemplateId(3001343, "summon", 0) +sm.spawnNpc(3001343, 120, 790) +sm.showNpcSpecialActionByTemplateId(3001343, "summon", 0) +sm.spawnNpc(3001343, 225, 790) +sm.showNpcSpecialActionByTemplateId(3001343, "summon", 0) +sm.playSound("Sound/Mob.img/2400317/Regen", 100) +sm.showNpcSpecialActionByTemplateId(3001343, "regen", 1100) +sm.showNpcSpecialActionByTemplateId(3001343, "regen", 1100) +sm.showNpcSpecialActionByTemplateId(3001343, "regen", 1100) +sm.showNpcSpecialActionByTemplateId(3001343, "regen", 1100) +sm.showNpcSpecialActionByTemplateId(3001343, "regen", 1100) +sm.showNpcSpecialActionByTemplateId(3001343, "regen", 1100) +sm.showNpcSpecialActionByTemplateId(3001343, "regen", 1100) +sm.showNpcSpecialActionByTemplateId(3001343, "regen", 1100) +sm.showNpcSpecialActionByTemplateId(3001343, "regen", 1100) +sm.sendDelay(1200) +sm.resetNpcSpecialActionByTemplateId(3001343) +sm.resetNpcSpecialActionByTemplateId(3001343) +sm.resetNpcSpecialActionByTemplateId(3001343) +sm.resetNpcSpecialActionByTemplateId(3001343) +sm.resetNpcSpecialActionByTemplateId(3001343) +sm.resetNpcSpecialActionByTemplateId(3001343) +sm.resetNpcSpecialActionByTemplateId(3001343) +sm.resetNpcSpecialActionByTemplateId(3001343) +sm.resetNpcSpecialActionByTemplateId(3001343) +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(3001326) # Hoodlum +sm.sendNext("#face0#Hey! Weird kids! You lost?") +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(3001326) # Hoodlum +sm.sendSay("#face0#Wait a minute. They aren't High Flora, are they? They've been everywhere lately.") +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(3001326) # Hoodlum +sm.sendSay("#face0#They'd better not be. I hate those arrogant jerks!") +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(3001326) # Hoodlum +sm.sendSay("#face0#Maybe we can rough them up a bit and steal their stuff.") +sm.lockInGameUI(False, True) +sm.createQuestWithQRValue(27040, "0=190221171834") diff --git a/scripts/portal/pt_940202300_o.py b/scripts/portal/pt_940202300_o.py new file mode 100755 index 0000000..fb4aa39 --- /dev/null +++ b/scripts/portal/pt_940202300_o.py @@ -0,0 +1,3 @@ +# id 1 (pt_out), field 940202300 +sm.createQuestWithQRValue(34817, "m=1;clear=1") +sm.warp(940202041) diff --git a/scripts/portal/pt_c02.py b/scripts/portal/pt_c02.py new file mode 100755 index 0000000..c0405ce --- /dev/null +++ b/scripts/portal/pt_c02.py @@ -0,0 +1,4 @@ +# id 8 (null), field 101070000 +sm.setSpeakerType(3) +sm.setParam(17) +sm.sendNext("Ugh! Why do I feel so... heavy?! Each... step... getting... tougher! \r\n\r\nARGH!") diff --git a/scripts/portal/pt_col.py b/scripts/portal/pt_col.py new file mode 100755 index 0000000..a3f18fb --- /dev/null +++ b/scripts/portal/pt_col.py @@ -0,0 +1,70 @@ +# id 1 (pt_col), field 940202036 +sm.lockInGameUI(True, False) +sm.removeAdditionalEffect() +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(3001300) # Ex +sm.sendNext("#face1#Warning. An unidentified group is approaching.") +sm.setInnerOverrideSpeakerTemplateID(3001326) # Hoodlum +sm.sendSay("#face0#Check out those weird kids over there.") +sm.spawnNpc(3001343, -600, 790) +sm.showNpcSpecialActionByTemplateId(3001343, "summon", 0) +sm.spawnNpc(3001343, -520, 790) +sm.showNpcSpecialActionByTemplateId(3001343, "summon", 0) +sm.spawnNpc(3001343, -415, 790) +sm.showNpcSpecialActionByTemplateId(3001343, "summon", 0) +sm.spawnNpc(3001343, -325, 790) +sm.showNpcSpecialActionByTemplateId(3001343, "summon", 0) +sm.spawnNpc(3001343, -205, 790) +sm.showNpcSpecialActionByTemplateId(3001343, "summon", 0) +sm.spawnNpc(3001343, -130, 790) +sm.showNpcSpecialActionByTemplateId(3001343, "summon", 0) +sm.spawnNpc(3001343, 25, 790) +sm.showNpcSpecialActionByTemplateId(3001343, "summon", 0) +sm.spawnNpc(3001343, 120, 790) +sm.showNpcSpecialActionByTemplateId(3001343, "summon", 0) +sm.spawnNpc(3001343, 225, 790) +sm.showNpcSpecialActionByTemplateId(3001343, "summon", 0) +sm.playSound("Sound/Mob.img/2400317/Regen", 100) +sm.showNpcSpecialActionByTemplateId(3001343, "regen", 1100) +sm.showNpcSpecialActionByTemplateId(3001343, "regen", 1100) +sm.showNpcSpecialActionByTemplateId(3001343, "regen", 1100) +sm.showNpcSpecialActionByTemplateId(3001343, "regen", 1100) +sm.showNpcSpecialActionByTemplateId(3001343, "regen", 1100) +sm.showNpcSpecialActionByTemplateId(3001343, "regen", 1100) +sm.showNpcSpecialActionByTemplateId(3001343, "regen", 1100) +sm.showNpcSpecialActionByTemplateId(3001343, "regen", 1100) +sm.showNpcSpecialActionByTemplateId(3001343, "regen", 1100) +sm.sendDelay(1200) +sm.resetNpcSpecialActionByTemplateId(3001343) +sm.resetNpcSpecialActionByTemplateId(3001343) +sm.resetNpcSpecialActionByTemplateId(3001343) +sm.resetNpcSpecialActionByTemplateId(3001343) +sm.resetNpcSpecialActionByTemplateId(3001343) +sm.resetNpcSpecialActionByTemplateId(3001343) +sm.resetNpcSpecialActionByTemplateId(3001343) +sm.resetNpcSpecialActionByTemplateId(3001343) +sm.resetNpcSpecialActionByTemplateId(3001343) +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(3001326) # Hoodlum +sm.sendNext("#face0#Hey! Weird kids! You lost?") +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(3001326) # Hoodlum +sm.sendSay("#face0#Wait a minute. They aren't High Flora, are they? They've been everywhere lately.") +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(3001326) # Hoodlum +sm.sendSay("#face0#They'd better not be. I hate those arrogant jerks!") +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(3001326) # Hoodlum +sm.sendSay("#face0#Maybe we can rough them up a bit and steal their stuff.") +sm.lockInGameUI(False, True) +sm.createQuestWithQRValue(27040, "0=190221171834") \ No newline at end of file diff --git a/scripts/portal/pt_dir0240.py b/scripts/portal/pt_dir0240.py new file mode 100755 index 0000000..c7e9a2e --- /dev/null +++ b/scripts/portal/pt_dir0240.py @@ -0,0 +1,9 @@ +# id 2 (dir0240), field 867200240 +sm.lockInGameUI(True, False) +sm.spawnNpc(9400588, 45, -650) +sm.showNpcSpecialActionByTemplateId(9400588, "summon", 0) +sm.forcedFlip(True) +sm.setSpeakerType(3) +sm.setParam(57) +sm.setColor(1) +sm.sendNext("#bAre you okay?") diff --git a/scripts/portal/pt_dir0260.py b/scripts/portal/pt_dir0260.py new file mode 100755 index 0000000..42775ce --- /dev/null +++ b/scripts/portal/pt_dir0260.py @@ -0,0 +1,23 @@ +# id 1 (dir0260), field 867200260 +sm.createQuestWithQRValue(64014, "scene1=1;scene2=1;scene4=1;mapIdx=0") +sm.createQuestWithQRValue(64014, "scene1=1;scene2=1;scene4=2;mapIdx=0") +sm.lockInGameUI(True, False) +sm.removeAdditionalEffect() +sm.moveCamera(True, 5000, 0, 0) +sm.spawnNpc(9400675, -445, 125) +sm.showNpcSpecialActionByTemplateId(9400675, "summon", 0) +sm.sendDelay(500) +sm.zoomCamera(1000, 2000, 2000, -200, 90) +sm.sendDelay(500) +sm.showNpcSpecialActionByTemplateId(9400675, "regen", 0) +sm.sendDelay(800) +sm.forcedFlip(True) +sm.showNpcSpecialActionByTemplateId(9400675, "skill1", 0) +sm.sendDelay(2000) +sm.playExclSoundWithDownBGM("Mob.img/9402244/skill1", 100) +sm.sendDelay(1000) +sm.moveCamera(True, 0, 0, 0) +sm.lockInGameUI(False, True) +sm.showFieldEffect("monsterPark/stageEff/clear", 0) +sm.playSound("Party1/Clear", 100) +sm.warp(867200281) diff --git a/scripts/portal/pt_dir1340.py b/scripts/portal/pt_dir1340.py new file mode 100755 index 0000000..46a51b9 --- /dev/null +++ b/scripts/portal/pt_dir1340.py @@ -0,0 +1,54 @@ +# id 1 (next00), field 867201340 +sm.completeQuestNoCheck(64073) +sm.lockInGameUI(True, False) +sm.spawnNpc(9400580, -337, 440) +sm.showNpcSpecialActionByTemplateId(9400580, "summon", 0) +sm.spawnNpc(9400595, -176, 440) +sm.showNpcSpecialActionByTemplateId(9400595, "summon", 0) +sm.spawnNpc(9400609, 450, 440) +sm.showNpcSpecialActionByTemplateId(9400609, "summon", 0) +sm.sendDelay(250) +sm.moveNpcByTemplateId(9400609, True, 500, 150) +sm.sendDelay(250) +sm.showNpcSpecialActionByTemplateId(9400580, "ribbon", -1) +sm.sendDelay(500) +sm.forcedFlip(True) +sm.sendDelay(500) +sm.forcedMove(False, 250) +sm.sendDelay(1500) +sm.showEffect("Effect/OnUserEff.img/emotion/oh", 0, 0, 0, 0, 0, 0, 0) +sm.resetNpcSpecialActionByTemplateId(9400580) +sm.sendDelay(500) +sm.flipNpcByTemplateId(9400580, False) +sm.flipNpcByTemplateId(9400595, False) +sm.sendDelay(500) +sm.showEffect("Effect/OnUserEff.img/emotion/what", 0, 0, 0, 0, 33655379, 0, 0) +sm.sendDelay(500) +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(9400580) # Alika +sm.sendNext("#face0#Hmm? A flying Eyeful? ") +sm.setParam(57) +sm.sendSay("#bHow can it fly? ") +sm.moveNpcByTemplateId(9400580, False, 250, 80) +sm.sendDelay(1000) +sm.forcedMove(False, 700) +sm.showEffect("Effect/OnUserEff.img/emotion/oh", 0, 0, 0, 0, 33655381, 0, 0) +sm.sendDelay(500) +sm.flipNpcByTemplateId(9400609, False) +sm.sendDelay(500) +sm.moveNpcByTemplateId(9400609, False, 200, 150) +sm.sendDelay(3000) +sm.forcedAction(5, 0) +sm.sendDelay(500) +sm.showNpcSpecialActionByTemplateId(9400609, "die1", 0) +sm.sendDelay(1000) +sm.playSound("Sound/PL_MONAD.img/EP1/ACT2/eyeeyeportal", 128) +sm.showEffect("Effect/OnUserEff.img/emotion/oh", 0, 0, 0, 0, 0, 0, 0) +sm.showEffect("Effect/OnUserEff.img/emotion/oh", 0, 0, 0, 0, 33655379, 0, 0) +sm.sendDelay(1000) +sm.blind(True, 255, 240, 240, 240, 1300) +sm.sendDelay(1600) +sm.lockInGameUI(False, True) +sm.warp(867201401) diff --git a/scripts/portal/pt_down.py b/scripts/portal/pt_down.py new file mode 100755 index 0000000..646f3a7 --- /dev/null +++ b/scripts/portal/pt_down.py @@ -0,0 +1,5 @@ +# id 5 (null), field 101030000 +sm.setSpeakerType(3) +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(1500010) # Fanzy +res = sm.sendAskYesNo("Would you like to enter #b#e[Theme Dungeon: Ellinel Fairy Academy]#k#n?") diff --git a/scripts/portal/pt_fairyacademy1.py b/scripts/portal/pt_fairyacademy1.py new file mode 100755 index 0000000..2f53ed2 --- /dev/null +++ b/scripts/portal/pt_fairyacademy1.py @@ -0,0 +1,4 @@ +# id 4 (pt_in), field 101073000 +sm.setSpeakerID(1500024) # Noisy Spot +res = sm.sendAskAccept("Chase after #bTosh the Fairy#k.") +sm.warp(101073010) diff --git a/scripts/portal/pt_fairyacademy2.py b/scripts/portal/pt_fairyacademy2.py new file mode 100755 index 0000000..a8e03fe --- /dev/null +++ b/scripts/portal/pt_fairyacademy2.py @@ -0,0 +1,4 @@ +# id 3 (pt_in), field 101073100 +sm.setSpeakerID(1500025) # Noisy Spot +res = sm.sendAskAccept("Chase after #bEphony the Fairy#k and #bPhiny the Fairy#k.") +sm.warp(101073110) diff --git a/scripts/portal/pt_go0220.py b/scripts/portal/pt_go0220.py new file mode 100755 index 0000000..2aa642e --- /dev/null +++ b/scripts/portal/pt_go0220.py @@ -0,0 +1,19 @@ +# id 1 (go0220), field 867200200 +sm.createQuestWithQRValue(64014, "scene1=1;mapIdx=0") +sm.lockInGameUI(True, False) +sm.removeAdditionalEffect() +sm.spawnNpc(9400686, 2025, -180) +sm.showNpcSpecialActionByTemplateId(9400686, "summon", 0) +sm.sendDelay(300) +sm.showNpcSpecialActionByTemplateId(9400686, "regen", 0) +sm.sendDelay(800) +sm.spawnNpc(9400642, 2025, -180) +sm.showNpcSpecialActionByTemplateId(9400642, "summon", 0) +sm.forcedFlip(True) +sm.sendDelay(500) +sm.avatarOriented("Effect/OnUserEff.img/emotionBalloon/exclamation3") +sm.showNpcSpecialActionByTemplateId(9400642, "skill1", 0) +sm.playSound("Sound/Mob.img/9402242/Attack1", 128) +sm.sendDelay(2000) +sm.sendDelay(500) +sm.lockInGameUI(False, True) diff --git a/scripts/portal/pt_go0240.py b/scripts/portal/pt_go0240.py new file mode 100755 index 0000000..a00eb71 --- /dev/null +++ b/scripts/portal/pt_go0240.py @@ -0,0 +1,37 @@ +# id 1 (go0240), field 867200220 +sm.createQuestWithQRValue(64014, "scene1=1;scene2=1;mapIdx=0") +sm.lockInGameUI(True, False) +sm.removeAdditionalEffect() +sm.sendDelay(500) +sm.sendDelay(500) +sm.avatarOriented("Effect/OnUserEff.img/emotionBalloon/exclamation3") +sm.forcedMove(False, 400) +sm.sendDelay(3000) +sm.setSpeakerType(3) +sm.setParam(57) +sm.setColor(1) +sm.sendNext("#bWhat is that?") +sm.sendDelay(2000) +sm.playSound("Sound/PL_MONAD.img/EP1/ACT1/ullan", 128) +sm.setParam(37) +sm.setInnerOverrideSpeakerTemplateID(9400588) # Ullan +sm.sendNext("Ah!") +sm.sendDelay(500) +sm.setParam(57) +sm.sendNext("#bThat can't be good! Whoever that is down there needs saving!") +sm.spawnNpc(9400674, 2240, -180) +sm.showNpcSpecialActionByTemplateId(9400674, "summon", 0) +sm.spawnNpc(9400642, 1985, -180) +sm.showNpcSpecialActionByTemplateId(9400642, "summon", 0) +sm.spawnNpc(9400642, 2115, -180) +sm.showNpcSpecialActionByTemplateId(9400642, "summon", 0) +sm.sendDelay(500) +sm.showNpcSpecialActionByTemplateId(9400674, "regen", 0) +sm.showNpcSpecialActionByTemplateId(9400642, "regen", 0) +sm.showNpcSpecialActionByTemplateId(9400642, "regen", 0) +sm.sendDelay(800) +sm.forcedFlip(True) +sm.showNpcSpecialActionByTemplateId(9400674, "skill1", 0) +sm.playSound("Sound/Mob.img/9402243/skill1", 128) +sm.sendDelay(2500) +sm.lockInGameUI(False, True) diff --git a/scripts/portal/pt_go1340.py b/scripts/portal/pt_go1340.py new file mode 100755 index 0000000..f37691f --- /dev/null +++ b/scripts/portal/pt_go1340.py @@ -0,0 +1,24 @@ +# id 1 (next), field 867201320 +sm.lockInGameUI(True, False) +sm.spawnNpc(9400580, -372, 440) +sm.showNpcSpecialActionByTemplateId(9400580, "summon", 0) +sm.spawnNpc(9400595, -245, 440) +sm.showNpcSpecialActionByTemplateId(9400595, "summon", 0) +sm.setMapTaggedObjectVisible("ribbon02", True, 0, 0) +sm.sendDelay(500) +sm.showNpcSpecialActionByTemplateId(9400580, "ribbon", -1) +sm.sendDelay(2000) +sm.setSpeakerType(3) +sm.setParam(57) +sm.setColor(1) +sm.sendNext("#bAlika? What are you doing? We have to go before the sun sets.") +sm.setParam(37) +sm.setInnerOverrideSpeakerTemplateID(9400580) # Alika +sm.sendSay("#face1#Hold on a second. It's easy to get lost in the forest, so I want to mark the path we traveled.") +sm.sendDelay(500) +sm.resetNpcSpecialActionByTemplateId(9400580) +sm.setMapTaggedObjectVisible("ribbon03", True, 0, 0) +sm.sendDelay(1000) +sm.sendNext("#face1#There! Let's go! ") +sm.lockInGameUI(False, True) +sm.warp(867201340) diff --git a/scripts/portal/pt_goHelisium00.py b/scripts/portal/pt_goHelisium00.py new file mode 100755 index 0000000..f3fa884 --- /dev/null +++ b/scripts/portal/pt_goHelisium00.py @@ -0,0 +1,3 @@ +# 400000000 +sm.warp(401000002) +sm.dispose() diff --git a/scripts/portal/pt_goto141060000.py b/scripts/portal/pt_goto141060000.py new file mode 100755 index 0000000..185b475 --- /dev/null +++ b/scripts/portal/pt_goto141060000.py @@ -0,0 +1,5 @@ +# 141010000 - [Riena Strait] Ice Station 1 or [Riena Strait] Ice Station 2 or [Riena Strait] Barbara's House +from net.swordie.ms.scripts import ScriptType + +sm.openNpc(1510006) +sm.dispose(ScriptType.Portal) diff --git a/scripts/portal/pt_henespin.py b/scripts/portal/pt_henespin.py new file mode 100755 index 0000000..15e70b6 --- /dev/null +++ b/scripts/portal/pt_henespin.py @@ -0,0 +1,2 @@ +sm.warp(100000004, 1) +sm.dispose() diff --git a/scripts/portal/pt_horizonPortal.py b/scripts/portal/pt_horizonPortal.py new file mode 100755 index 0000000..64f44c1 --- /dev/null +++ b/scripts/portal/pt_horizonPortal.py @@ -0,0 +1,18 @@ +# 5th job portal inside Henesys + +if sm.hasQuest(1461): + if sm.getFieldID() == 100000101: + sm.warpInstanceIn(450000100) + sm.setInstanceTime(10, 450000000) + elif sm.getFieldID() == 450000000: + sm.warpInstanceOut(100000201) + elif sm.getFieldID() == 400000001: + sm.warpInstanceIn(450000110) + sm.setInstanceTime(10, 450000010) + elif sm.getFieldID() == 450000010: + sm.warpInstanceOut(400000001) + elif sm.getFieldID() == 105300000: + sm.warpInstanceIn(450000120) + sm.setInstanceTime(10, 450000020) + elif sm.getFieldID() == 450000020: + sm.warpInstanceOut(105300000) \ No newline at end of file diff --git a/scripts/portal/pt_illium_hunt1.py b/scripts/portal/pt_illium_hunt1.py new file mode 100755 index 0000000..e72fbd1 --- /dev/null +++ b/scripts/portal/pt_illium_hunt1.py @@ -0,0 +1,54 @@ +# id 1 (pt_r), field 940202013 +sm.lockInGameUI(False, True) +sm.lockInGameUI(True, False) +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(3001350) # Illium +sm.sendNext("#face4#Yikes! What are those!?") +sm.createQuestWithQRValue(16119, "") +sm.createQuestWithQRValue(27039, "") +sm.completeQuestNoCheck(28515) +sm.createQuestWithQRValue(26015, "") +sm.createQuestWithQRValue(26011, "") +sm.setInnerOverrideSpeakerTemplateID(3001300) # Ex +sm.sendSay("#face0#Those hedgehogs are close enough to hunt, and they may have the parts you need.") +sm.setInnerOverrideSpeakerTemplateID(3001350) # Illium +sm.sendSay("#face3#Those are hedgehogs?! But they're so... pokey... and weird. I thought they were supposed to be cute!") +sm.setInnerOverrideSpeakerTemplateID(3001300) # Ex +sm.sendSay("#face0#Try to get a little closer and use your basic attack on them with the #rCtrl#k key.") +sm.setInnerOverrideSpeakerTemplateID(3001350) # Illium +sm.sendSay("#face0#That'll work on these things?") +sm.sendSay("#face0#Okay... Ctrl key, Ctrl key... Here goes nothing!") +sm.moveCamera(True, 0, 0, 0) +sm.lockInGameUI(False, True) +sm.progressMessageFont(3, 20, 20, 0, "You can attack by pressing the Ctrl key.") +sm.avatarOriented("UI/tutorial.img/illium/attack") +sm.createQuestWithQRValue(64110, "chk=1") +sm.createQuestWithQRValue(64110, "chk=0") +sm.startQuest(9571) +sm.startQuest(28861) +sm.startQuest(28862) +sm.startQuest(28830) +sm.startQuest(28831) +sm.startQuest(42102) +sm.startQuest(7621) +sm.startQuest(11620) +sm.createQuestWithQRValue(15710, "lasttime=19/02/21/15/53") +sm.createQuestWithQRValue(25980, "normal=#") +sm.createQuestWithQRValue(25980, "normal=#;hard=#") +sm.createQuestWithQRValue(16700, "date=20190221") +sm.createQuestWithQRValue(16700, "count=1;date=20190221") +sm.createQuestWithQRValue(34801, "hunt1=1") +sm.createQuestWithQRValue(51236, "StageKey=0") +sm.createQuestWithQRValue(16700, "count=2;date=20190221") +sm.createQuestWithQRValue(16027, "ComboK=2") +sm.startQuest(11620) +sm.createQuestWithQRValue(16700, "count=3;date=20190221") +sm.createQuestWithQRValue(16027, "ComboK=3") +sm.sendNext("#face0#Did it work?") +sm.setInnerOverrideSpeakerTemplateID(3001300) # Ex +sm.sendSay("#face0#You did manage to defeat the hedgehogs, yes, though unfortunately, they weren't carrying the parts you need. Try hunting more.") +sm.setInnerOverrideSpeakerTemplateID(3001350) # Illium +sm.sendSay("#face0#Sounds good. That was easier than I expected, and I really need those parts.") +sm.warp(940203000) diff --git a/scripts/portal/pt_illium_hunt2.py b/scripts/portal/pt_illium_hunt2.py new file mode 100755 index 0000000..56344c7 --- /dev/null +++ b/scripts/portal/pt_illium_hunt2.py @@ -0,0 +1,26 @@ +# id 1 (pt_r), field 940203000 +sm.completeQuestNoCheck(parentID) +sm.createQuestWithQRValue(parentID, "hunt1=1;exp=1") +sm.startQuest(11620) +sm.startQuest(11620) +sm.startQuest(11620) +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(3001300) # Ex +if sm.hasItem(4036162, 10): + sm.sendNext("#face0#Perfect! Now, let's move on and gather more.") + sm.createQuestWithQRValue(16700, "count=33;date=20190221") + sm.createQuestWithQRValue(16700, "count=34;date=20190221") + sm.createQuestWithQRValue(16700, "count=35;date=20190221") + sm.createQuestWithQRValue(16700, "count=36;date=20190221") + sm.createQuestWithQRValue(16700, "count=37;date=20190221") + sm.createQuestWithQRValue(16700, "count=38;date=20190221") + sm.createQuestWithQRValue(16700, "count=39;date=20190221") + sm.createQuestWithQRValue(16700, "count=40;date=20190221") + sm.lockInGameUI(False, True) + sm.createQuestWithQRValue(16027, "ComboK=19") + sm.lockInGameUI(False, True) + sm.warp(940202019) +else: + sm.sendNext("You're still missing some materials!") \ No newline at end of file diff --git a/scripts/portal/pt_moleking.py b/scripts/portal/pt_moleking.py new file mode 100755 index 0000000..48cc0a2 --- /dev/null +++ b/scripts/portal/pt_moleking.py @@ -0,0 +1,4 @@ +# id 2 (pt_east), field 101073200 +sm.setSpeakerID(1500027) # Mole King's Lair +res = sm.sendAskAccept("Moving to the #bOutdoor Theater Stage#k.") +sm.warp(101073300) diff --git a/scripts/portal/pt_rosegarden.py b/scripts/portal/pt_rosegarden.py new file mode 100755 index 0000000..ee2bf63 --- /dev/null +++ b/scripts/portal/pt_rosegarden.py @@ -0,0 +1,5 @@ +# Lion King's Castle +# Roof of the Fifth Tower | 211061001 +# Warps to Rose Garden : Gardener's Spot + +sm.warp(211080000, 2) \ No newline at end of file diff --git a/scripts/portal/pt_rosegardenout.py b/scripts/portal/pt_rosegardenout.py new file mode 100755 index 0000000..678d52f --- /dev/null +++ b/scripts/portal/pt_rosegardenout.py @@ -0,0 +1,5 @@ +# Rose Garden : Gardener's Spot | 211080000 +# Exit Portal +# Warps back to Roof of the Fifth Tower | 211061001 + +sm.warp(211061001, 3) \ No newline at end of file diff --git a/scripts/portal/q1602_move.py b/scripts/portal/q1602_move.py new file mode 100755 index 0000000..b67e760 --- /dev/null +++ b/scripts/portal/q1602_move.py @@ -0,0 +1,5 @@ +if sm.hasQuest(1602): + sm.warp(931050402) + +else: + sm.chat("This portal is blocked.") \ No newline at end of file diff --git a/scripts/portal/q20749_Fail.py b/scripts/portal/q20749_Fail.py new file mode 100755 index 0000000..6f2e501 --- /dev/null +++ b/scripts/portal/q20749_Fail.py @@ -0,0 +1,3 @@ +# 220070400 +sm.warp(922020000, 0) +sm.dispose() diff --git a/scripts/portal/q57104portal.py b/scripts/portal/q57104portal.py new file mode 100755 index 0000000..af80fbf --- /dev/null +++ b/scripts/portal/q57104portal.py @@ -0,0 +1,6 @@ +# Momijigaoka | Unfamiliar Hillside + +if sm.getFieldID() == 807040100: + sm.warp(807000000, 1) +else: + sm.warp(807040100, 0) \ No newline at end of file diff --git a/scripts/portal/q57141p.py b/scripts/portal/q57141p.py new file mode 100755 index 0000000..cb5268b --- /dev/null +++ b/scripts/portal/q57141p.py @@ -0,0 +1,11 @@ +# Portal in Field: Honnou-ji : Honnou-ji Eastern Wall (807050200) +# Used for Kanna's Quest: Honnou-ji Infiltration 2 (57437) +# Author: Tiger + +if sm.hasQuest(57437): # Honnou-ji Infiltration 2 + if sm.getFieldID() == 807050204: # Honnou-ji : Honnou-ji Eastern Wall + sm.warpInstanceOut(807020100, 0) + else: + sm.warpInstanceIn(807050201, 0) # Honnou-ji : Honnou-ji Eastern Wall Exterior +else: + chr.chatMessage("You may not enter at this moment.") diff --git a/scripts/portal/q57158p.py b/scripts/portal/q57158p.py new file mode 100755 index 0000000..a004f48 --- /dev/null +++ b/scripts/portal/q57158p.py @@ -0,0 +1 @@ +sm.warp(807050501, 1) diff --git a/scripts/portal/q57159p.py b/scripts/portal/q57159p.py new file mode 100755 index 0000000..e5b1e65 --- /dev/null +++ b/scripts/portal/q57159p.py @@ -0,0 +1 @@ +sm.warp(807050502, 1) diff --git a/scripts/portal/q57433p.py b/scripts/portal/q57433p.py new file mode 100755 index 0000000..5b58c04 --- /dev/null +++ b/scripts/portal/q57433p.py @@ -0,0 +1,9 @@ +# El Nath Town +# Portal to house next to FM + +from net.swordie.ms.constants import BossConstants + +sm.setSpeakerID(9000185) # Eileen next to the portal + +if sm.sendAskYesNo("Would you like to go to the Zakum quest entrance?"): + sm.warp(BossConstants.ZAKUM_JQ_MAP_1) # Shammos's Solitary Room \ No newline at end of file diff --git a/scripts/portal/q62005_in.py b/scripts/portal/q62005_in.py new file mode 100755 index 0000000..cdef9b2 --- /dev/null +++ b/scripts/portal/q62005_in.py @@ -0,0 +1,4 @@ +if sm.hasQuest(62005): + sm.warpInstanceIn(701210161) # Script Map +else: + sm.warp(701210160) \ No newline at end of file diff --git a/scripts/portal/q62015_in.py b/scripts/portal/q62015_in.py new file mode 100755 index 0000000..1767d28 --- /dev/null +++ b/scripts/portal/q62015_in.py @@ -0,0 +1,2 @@ +if sm.hasQuest(62015): + sm.warpInstanceIn(701210131) # Hidden Map : Deep In the Forest \ No newline at end of file diff --git a/scripts/portal/q64026_1.py b/scripts/portal/q64026_1.py new file mode 100755 index 0000000..b8db23b --- /dev/null +++ b/scripts/portal/q64026_1.py @@ -0,0 +1,6 @@ +# id 2 (chk01), field 867200480 +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(9400588) # Ullan +sm.sendNext("Pete!! Elle!! ") diff --git a/scripts/portal/q64026_2.py b/scripts/portal/q64026_2.py new file mode 100755 index 0000000..dc8d644 --- /dev/null +++ b/scripts/portal/q64026_2.py @@ -0,0 +1,6 @@ +# id 3 (chk02), field 867200480 +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(9400588) # Ullan +sm.sendNext("Sighs... Where would they have gone?") diff --git a/scripts/portal/q64026_3.py b/scripts/portal/q64026_3.py new file mode 100755 index 0000000..101df44 --- /dev/null +++ b/scripts/portal/q64026_3.py @@ -0,0 +1,6 @@ +# id 4 (chk03), field 867200480 +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(9400588) # Ullan +sm.sendNext("Elle gets scared easily, so I bet she took off as soon as the monsters came... And maybe Pete went to look for Elle...") diff --git a/scripts/portal/quest58901.py b/scripts/portal/quest58901.py new file mode 100755 index 0000000..d92b40f --- /dev/null +++ b/scripts/portal/quest58901.py @@ -0,0 +1,10 @@ +# Portal for Rakeda Shingen (Sengoku Era) Questline | Near Momiji Hills 1 (811000001) +# Author: Tiger + +if sm.hasQuestCompleted(58907): # has just completed Mouri's Quest + if sm.hasQuestCompleted(58908): # has already meet Ayame + sm.warp(811000008) + else: + sm.warpInstanceIn(811000007, 0) # Momiji Hills (First Meet Ayame) +else: + sm.warp(811000001) # Momiji Hills : Near Momiji Hills 1 diff --git a/scripts/portal/random_portal_inferno.py b/scripts/portal/random_portal_inferno.py new file mode 100755 index 0000000..0768dc1 --- /dev/null +++ b/scripts/portal/random_portal_inferno.py @@ -0,0 +1,12 @@ +POLLO = 9001059 +INFERNO_CHANNEL = 2 +INFERNO_FIELD_ID = 993000500 +field = chr.getField() +sm.setSpeakerID(POLLO) +answer = sm.sendNext("My brother and I have been tracking down the legendary #rInferno Wolf#k, and we finally found its " + "hideout! It's a really vicious monster that ruthlessly attacks Maple World's travelers... So, will" + "you join us in bringing that beast down?\r\n#L0#Let's do it!#l\r\n#L1#Nah, I'm good.#l") +if answer == 0: + chr.setPreviousFieldID(chr.getFieldID()) + sm.changeChannelAndWarp(INFERNO_CHANNEL, INFERNO_FIELD_ID) + field.removeLife(objectID, False) \ No newline at end of file diff --git a/scripts/portal/random_portal_pollo_fritto.py b/scripts/portal/random_portal_pollo_fritto.py new file mode 100755 index 0000000..d7f21e3 --- /dev/null +++ b/scripts/portal/random_portal_pollo_fritto.py @@ -0,0 +1,43 @@ +POLLO = 9001059 +FRITTO = 9001060 + +ids = [POLLO, FRITTO] + +text = { + POLLO : "Hello, I am #rPollo#k the bounty hunter.\r\nMy brother #bFritto#k and I are the best at what we do! Ha ha!", + FRITTO : "Hello, I am #bFritto#k the bounty hunter.\r\nMy brother #rPollo#k and I are the best at what we do! Ha ha!" +} + +text2 = { + POLLO : "People look at me and instantly see that I am not to be trifled with. How would you like to come with me" + "and witness my greatness?\r\n#L0#Yeah, let's go.#l\r\n#L1#Nah, not now.#l", + FRITTO : "Many people doubt my skills, but one look proves them wrong. How would you like to come with me and" + "witness my greatness?\r\n#L0#Yeah, let's go.#l\r\n#L1#Nah, not now.#l" +} + +maps = { + POLLO : [ + #993000000, need to be fixed, protect pollo + 993000100, #defense wave + ], + FRITTO : [ + #993000200, bird hunting + 993000300, + #993000400, dance mini game + ] +} + +rand = sm.getRandomIntBelow(2) +npc = ids[rand] +field = chr.getField() +sm.setSpeakerID(npc) +if sm.getParty() is None: + sm.sendNext(text[npc]) + answer = sm.sendNext(text2[npc]) + if answer == 0: + chr.setPreviousFieldID(chr.getFieldID()) + map = maps[npc][sm.getRandomIntBelow(len(maps[npc]))] + sm.warpInstanceIn(map) + field.removeLife(objectID, False) +else: + sm.sendSayOkay("Please leave your party before talking to me.") \ No newline at end of file diff --git a/scripts/portal/rankRoom.py b/scripts/portal/rankRoom.py new file mode 100755 index 0000000..f743320 --- /dev/null +++ b/scripts/portal/rankRoom.py @@ -0,0 +1,16 @@ +fields = { +100000201 : [100000205, 2], +103000003 : [103000008, 1], +102000003 : [102000004, 1], +101000003 : [101000004, 2], +# 120000101 : [100000205, 2], +} + +currentMap = sm.getFieldID() +if currentMap == 120000101:# Pirates + sm.chatBlue("[WIP] no MapID for Hall of Pirates") +elif currentMap in fields: + sm.warp(fields[currentMap][0], fields[currentMap][1]) +else: + sm.chat("This script (rankRoom.py) has not been coded for the given map (" + str(currentMap) + ")") +sm.dispose() diff --git a/scripts/portal/return_867202680.py b/scripts/portal/return_867202680.py new file mode 100755 index 0000000..5f6e489 --- /dev/null +++ b/scripts/portal/return_867202680.py @@ -0,0 +1,7 @@ +# id 2 (return), field 867202680 +sm.setSpeakerType(3) +sm.setParam(36) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(9400590) # Slaka +res = sm.sendNext("#face0#Gah! Hurry up! Get rid of it!#b \r\n#L0# Let's leave now.#l\r\n#L1# Let's make repairs and then leave.#l") +sm.warp(-1) diff --git a/scripts/portal/return_refPotal.py b/scripts/portal/return_refPotal.py new file mode 100755 index 0000000..380097a --- /dev/null +++ b/scripts/portal/return_refPotal.py @@ -0,0 +1 @@ +sm.warp(820000000) \ No newline at end of file diff --git a/scripts/portal/rienCaveEnter.py b/scripts/portal/rienCaveEnter.py new file mode 100755 index 0000000..88732a2 --- /dev/null +++ b/scripts/portal/rienCaveEnter.py @@ -0,0 +1,3 @@ +# portal to Snow Island : mirror cave +sm.warp(140030000, 2) +sm.dispose() diff --git a/scripts/portal/rienTutor1.py b/scripts/portal/rienTutor1.py new file mode 100755 index 0000000..d5fa7ab --- /dev/null +++ b/scripts/portal/rienTutor1.py @@ -0,0 +1,5 @@ +# 140090100 +if sm.hasQuestCompleted(21010): + sm.warp(140090200, 1) +else: + sm.systemMessage("You must complete the quest before proceeding to the next map.") \ No newline at end of file diff --git a/scripts/portal/rienTutor2.py b/scripts/portal/rienTutor2.py new file mode 100755 index 0000000..157a96c --- /dev/null +++ b/scripts/portal/rienTutor2.py @@ -0,0 +1,5 @@ +# 140090200 +if sm.hasQuestCompleted(21011): + sm.warp(140090300, 1) +else: + sm.systemMessage("You must complete the quest before proceeding to the next map.") \ No newline at end of file diff --git a/scripts/portal/rienTutor3.py b/scripts/portal/rienTutor3.py new file mode 100755 index 0000000..676957e --- /dev/null +++ b/scripts/portal/rienTutor3.py @@ -0,0 +1,7 @@ +# 140090300 +if sm.hasQuestCompleted(21012): + sm.warp(140090500, 1) + sm.completeQuest(21013) + sm.addLevel(1) +else: + sm.systemMessage("You must complete the quest before proceeding to the next map.") \ No newline at end of file diff --git a/scripts/portal/rienTutor4.py b/scripts/portal/rienTutor4.py new file mode 100755 index 0000000..54d0ed7 --- /dev/null +++ b/scripts/portal/rienTutor4.py @@ -0,0 +1,5 @@ +# 140090400 +if sm.hasQuestCompleted(21013): + sm.warp(140090500, 1) +else: + sm.systemMessage("You must complete the quest before proceeding to the next map.") \ No newline at end of file diff --git a/scripts/portal/rienTutor5.py b/scripts/portal/rienTutor5.py new file mode 100755 index 0000000..8623878 --- /dev/null +++ b/scripts/portal/rienTutor5.py @@ -0,0 +1,3 @@ +# 140090500 +if sm.hasTutor(): + sm.tutorCustomMsg("You're very close to town. I'll head over there first since I have some things to take care of. You take your time.", 200, 4000) \ No newline at end of file diff --git a/scripts/portal/rienTutor6.py b/scripts/portal/rienTutor6.py new file mode 100755 index 0000000..03ca26b --- /dev/null +++ b/scripts/portal/rienTutor6.py @@ -0,0 +1,4 @@ +# 140090500 +if not "miss=o" in sm.getQRValue(21019) or sm.hasTutor(): + sm.hireTutor(False) + sm.addQRValue(21019, "miss=o") \ No newline at end of file diff --git a/scripts/portal/rienTutor7.py b/scripts/portal/rienTutor7.py new file mode 100755 index 0000000..2edbf5a --- /dev/null +++ b/scripts/portal/rienTutor7.py @@ -0,0 +1,5 @@ +# 140010000 +if sm.hasQuestCompleted(21014) or sm.getChr().getJob() != 2000: + sm.warp(140010100, 2) +else: + sm.systemMessage("You must complete the quest before proceeding to the next map.") \ No newline at end of file diff --git a/scripts/portal/rienTutor8.py b/scripts/portal/rienTutor8.py new file mode 100755 index 0000000..52f1cbc --- /dev/null +++ b/scripts/portal/rienTutor8.py @@ -0,0 +1,2 @@ +# 140000000 +sm.warp(140010000, 2) \ No newline at end of file diff --git a/scripts/portal/roadToVellud1.py b/scripts/portal/roadToVellud1.py new file mode 100755 index 0000000..c49424a --- /dev/null +++ b/scripts/portal/roadToVellud1.py @@ -0,0 +1,8 @@ +# id 2 (in00), field 863000016 +sm.setSpeakerType(8) +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(9390101) # ?????? +sm.sendNext("Insignificant child! Are you deaf to the fury of the old world? Can you not hear the roars of pain and resentment that echo around you? Discard whatever foot touched the corruption of this soil, and escape while you can. The Heart Tree's corruption touches the very ground you stand upon.") +sm.setParam(16) +res = sm.sendAskYesNo("What the heck was that?! I feel like someone was yelling inside my bones. Should I keep going?") +sm.warp(863000100) diff --git a/scripts/portal/roadToVellud2.py b/scripts/portal/roadToVellud2.py new file mode 100755 index 0000000..02c6724 --- /dev/null +++ b/scripts/portal/roadToVellud2.py @@ -0,0 +1 @@ +sm.warp(863010000) \ No newline at end of file diff --git a/scripts/portal/root_ent.py b/scripts/portal/root_ent.py new file mode 100755 index 0000000..6a632a4 --- /dev/null +++ b/scripts/portal/root_ent.py @@ -0,0 +1,6 @@ +# Portal to Root Abyss +if sm.hasQuest(30000) or sm.hasQuestCompleted(30000): # Root Abyss quest - [Root Abyss] An Urgent Summons + sm.warp(105010200, 0) # Secret Swamp +else: + sm.chat("The path is blocked by a thick fog.") +sm.dispose() diff --git a/scripts/portal/root_route.py b/scripts/portal/root_route.py new file mode 100755 index 0000000..c5c4fde --- /dev/null +++ b/scripts/portal/root_route.py @@ -0,0 +1,6 @@ +# Used to portal you to Root Abyss's Quest Map +if sm.hasQuest(30000) or sm.hasQuest(30003): + sm.warp(910700200, 0) # Root Abyss Quest Map - (NOT the actual map) +else: + sm.warp(105200000, 0) # Root Abyss +sm.dispose() diff --git a/scripts/portal/rootaNext.py b/scripts/portal/rootaNext.py new file mode 100755 index 0000000..716d708 --- /dev/null +++ b/scripts/portal/rootaNext.py @@ -0,0 +1,5 @@ +# Root abyss "next" portals +from net.swordie.ms.constants import BossConstants + +sm.warpInstanceIn(sm.getFieldID() + 10, True) +sm.setInstanceTime(BossConstants.ROOTABYSS_TIME) diff --git a/scripts/portal/rootabyssOUT.py b/scripts/portal/rootabyssOUT.py new file mode 100755 index 0000000..288dd6d --- /dev/null +++ b/scripts/portal/rootabyssOUT.py @@ -0,0 +1,15 @@ +sm.setSpeakerID(1064002) +sm.sendAskYesNo + +dialog = str() +if sm.getFieldID() == 105200000: + sm.warp(105000000) +else: + if sm.hasMobsInField(): + dialog = "Are you sure you want to leave the battlefield and abandon your party members?" + + else: + dialog = "Are you sure you want to leave the battlefield?" + + if sm.sendAskYesNo(dialog): + sm.warpInstanceOut(105200000) \ No newline at end of file diff --git a/scripts/portal/rootafirstDoor.py b/scripts/portal/rootafirstDoor.py new file mode 100755 index 0000000..5ab8ea7 --- /dev/null +++ b/scripts/portal/rootafirstDoor.py @@ -0,0 +1,3 @@ +# Root Abyss - Pierre Portal + +sm.startScript("pierreEnter", "npc") \ No newline at end of file diff --git a/scripts/portal/rootaforthDoor.py b/scripts/portal/rootaforthDoor.py new file mode 100755 index 0000000..fb7049d --- /dev/null +++ b/scripts/portal/rootaforthDoor.py @@ -0,0 +1,3 @@ +# Root Abyss - Vellum Portal + +sm.startScript("bellumEnter", "npc") \ No newline at end of file diff --git a/scripts/portal/rootasecondDoor.py b/scripts/portal/rootasecondDoor.py new file mode 100755 index 0000000..b500742 --- /dev/null +++ b/scripts/portal/rootasecondDoor.py @@ -0,0 +1,3 @@ +# Root Abyss - Von Bon Portal + +sm.startScript("banbanEnter", "npc") \ No newline at end of file diff --git a/scripts/portal/rootathirdDoor.py b/scripts/portal/rootathirdDoor.py new file mode 100755 index 0000000..4105f94 --- /dev/null +++ b/scripts/portal/rootathirdDoor.py @@ -0,0 +1,3 @@ +# Root Abyss - Crimson Queen Portal + +sm.startScript("bloodyqueenEnter", "npc") \ No newline at end of file diff --git a/scripts/portal/shaolin_done.py b/scripts/portal/shaolin_done.py new file mode 100755 index 0000000..32d263b --- /dev/null +++ b/scripts/portal/shaolin_done.py @@ -0,0 +1,6 @@ +if not sm.hasMobsInField(): + sm.stopEvents() + sm.warpInstanceIn(701220600) + sm.createQuestWithQRValue(62038, "clear") +else: + sm.chat("Please eliminate all monsters before moving to the next stage.") \ No newline at end of file diff --git a/scripts/portal/shaolin_next.py b/scripts/portal/shaolin_next.py new file mode 100755 index 0000000..a64b758 --- /dev/null +++ b/scripts/portal/shaolin_next.py @@ -0,0 +1,4 @@ +if not sm.hasMobsInField(): + sm.warpInstanceIn(701220510) +else: + sm.chat("Please eliminate all monsters before moving to the next stage.") \ No newline at end of file diff --git a/scripts/portal/shaolin_out.py b/scripts/portal/shaolin_out.py new file mode 100755 index 0000000..35ec591 --- /dev/null +++ b/scripts/portal/shaolin_out.py @@ -0,0 +1 @@ +sm.warpInstanceOut(701220300, 3) \ No newline at end of file diff --git a/scripts/portal/singleDungeonout.py b/scripts/portal/singleDungeonout.py new file mode 100755 index 0000000..5949050 --- /dev/null +++ b/scripts/portal/singleDungeonout.py @@ -0,0 +1,11 @@ +map = sm.getReturnField() +if map == 0 or map == 910000000: + sm.chat("(Portal) Cannot find your previous map ID, warping to Henesys.") + map = 100000000 + portal = 0 + +if "910001000" in sm.getQRValue(9999): + sm.setQRValue(9999, "") + map = 910001000 + +sm.warpNoReturn(map, 2) \ No newline at end of file diff --git a/scripts/portal/spirit00.py b/scripts/portal/spirit00.py new file mode 100755 index 0000000..cae888e --- /dev/null +++ b/scripts/portal/spirit00.py @@ -0,0 +1,24 @@ +sm.setSpeakerID(2143000) + +answer = sm.sendNext("So you want to go to the Hallowed Ground? Oh yeah, we discovered a new Hallowed Ground. I hear the" + "key to the Cygnus Garden can be found there. Please continue doing your best to bring peace to our world.\r\n#b" + "#L0#Hallowed Ground of Dawn#l\r\n" + "#L1#Hallowed Ground of Blaze#l\r\n" + "#L2#Hallowed Ground of Wind#l\r\n" + "#L3#Hallowed Ground of Night#l\r\n" + "#L4#Hallowed Ground of Thunder#l\r\n") + +if answer == 0: + sm.warpInstanceIn(271030201) + +elif answer == 1: + sm.warpInstanceIn(271030202) + +elif answer == 2: + sm.warpInstanceIn(271030203) + +elif answer == 3: + sm.warpInstanceIn(271030204) + +elif answer == 4: + sm.warpInstanceIn(271030205) diff --git a/scripts/portal/stage6_portal.py b/scripts/portal/stage6_portal.py new file mode 100755 index 0000000..ddbb942 --- /dev/null +++ b/scripts/portal/stage6_portal.py @@ -0,0 +1,8 @@ +# Hidden street | Abandoned Tower + +STAGE_3_COMPLETE = "Stage3Complete" + +if field.hasProperty(STAGE_3_COMPLETE): + sm.invokeForParty("warp", 922010700) +else: + sm.sendChat("Something went wrong, please contact an admin.") diff --git a/scripts/portal/stageOut.py b/scripts/portal/stageOut.py new file mode 100755 index 0000000..8c97ccb --- /dev/null +++ b/scripts/portal/stageOut.py @@ -0,0 +1,6 @@ +sm.setSpeakerID(2540000) +response = sm.sendAskYesNo("Do you wish to leave the battlefield?") + +if response: + sm.warpInstanceOut(992000000) + sm.dispose() diff --git a/scripts/portal/subway_in2.py b/scripts/portal/subway_in2.py new file mode 100755 index 0000000..85223db --- /dev/null +++ b/scripts/portal/subway_in2.py @@ -0,0 +1,3 @@ +# 103020000 +sm.warp(103020100, 2) +sm.dispose() diff --git a/scripts/portal/talkToMai.py b/scripts/portal/talkToMai.py new file mode 100755 index 0000000..e345dd3 --- /dev/null +++ b/scripts/portal/talkToMai.py @@ -0,0 +1,14 @@ +# Created by MechAviv +# ID :: [4000021] +# Maple Road : Entrance to Adventurer Training Center + +sm.setSpeakerID(12100) +selection = sm.sendNext("This is the perfect place to train your basic skills. Where do you want to train?\r\n#b#L0#Adventurer Training Center 1#l\r\n#b#L1#Adventurer Training Center 2#l\r\n#b#L2#Adventurer Training Center 3#l\r\n#b#L3#Adventurer Training Center 4#l") +if selection == 0: + sm.warp(4000022, 4) +elif selection == 1: + sm.warp(4000023, 4) +elif selection == 2: + sm.warp(4000024, 4) +elif selection == 3: + sm.warp(4000025, 4) \ No newline at end of file diff --git a/scripts/portal/talkToPresent.py b/scripts/portal/talkToPresent.py new file mode 100755 index 0000000..d213565 --- /dev/null +++ b/scripts/portal/talkToPresent.py @@ -0,0 +1,6 @@ +# Gate to the present +if sm.hasQuestCompleted(1478): #V-matrix quest + sm.setSpeakerID(1520021) + selection = sm.sendNext("At the center of the Temple of Time stands an enormous door, the Gate of the Present.\r\n #b#L0#Step through into the Arcane River.#l \r\n #L1#Pass through the Gate of the Present. #l") + if selection == 0: + sm.warp(450001003) \ No newline at end of file diff --git a/scripts/portal/talkToVasili.py b/scripts/portal/talkToVasili.py new file mode 100755 index 0000000..6ea3ed2 --- /dev/null +++ b/scripts/portal/talkToVasili.py @@ -0,0 +1,2 @@ +# Portal into vasily's ship Maple road | Port +sm.openNpc(10305) diff --git a/scripts/portal/templeenter.py b/scripts/portal/templeenter.py new file mode 100755 index 0000000..b6d7366 --- /dev/null +++ b/scripts/portal/templeenter.py @@ -0,0 +1,3 @@ +# 200090510 +sm.warp(270000100, 2) +sm.dispose() diff --git a/scripts/portal/testGotoBigBoss.py b/scripts/portal/testGotoBigBoss.py new file mode 100755 index 0000000..fd29779 --- /dev/null +++ b/scripts/portal/testGotoBigBoss.py @@ -0,0 +1,50 @@ +from net.swordie.ms.constants import BossConstants +from net.swordie.ms.enums import EventType + +# Mode, Required Level, Map ID, Death Count, Event Type, Cooldown + +destinations = [ + ["Legendary", 240, 863010100, 20, EventType.Gollux, 172800000], +] + +runsPerDay = 1 + +if sm.getFieldID() == 863010000: + def is_party_eligible(reqlevel, party): + for member in party.getMembers(): + if member.getLevel() < reqlevel: + return False + + return True + + sm.setSpeakerID(9390124) + + dialog = "Do you want to head to the '#bRoad to Gollux#k' to fight \r\n#bLegendary Gollux#k?\r\n" + + for i in range(len(destinations)): + dialog += "#L%d##bGo to the Road to Gollux (%s Mode) #r(Lv. %d+)#b#l\r\n" % (i, destinations[i][0], destinations[i][1]) + + dialog += "#L99#Never mind." + response = sm.sendSay(dialog) + + if sm.getParty() is None: + sm.sendSayOkay("Please create a party before going in.") + sm.dispose() + + elif not sm.isPartyLeader(): + sm.sendSayOkay("Please have your party leader talk to me if you wish to face the #bLegendary Gollux#k.") + sm.dispose() + + elif sm.partyHasCoolDown(destinations[response][4], runsPerDay): + timeUntilReset = sm.getTimeUntilEventReset(destinations[response][4]) + sm.sendNext("You or one of your party member has already attempted facing the \r\n#bLegendary Gollux#k within the past 48 Hours.\r\n You have " + timeUntilReset + " left on your cooldown.") + sm.dispose() + + elif sm.checkParty() and response != 99: + if is_party_eligible(destinations[response][1], sm.getParty()): + sm.setPartyDeathCount(destinations[response][3]) + sm.warpInstanceIn(destinations[response][2], True) + sm.setInstanceTime(BossConstants.GOLLUX_TIME) + sm.addCooldownTimeForParty(destinations[response][4], destinations[response][5]) + else: + sm.sendSayOkay("One or more party members are lacking the prerequisite entry quests, or are below level #b%d#k." % destinations[response][1]) diff --git a/scripts/portal/timeCrack.py b/scripts/portal/timeCrack.py new file mode 100755 index 0000000..2663fe2 --- /dev/null +++ b/scripts/portal/timeCrack.py @@ -0,0 +1,3 @@ +# 272000000 - Portal to leafre in flames + +sm.warp(272000100, 0) diff --git a/scripts/portal/timeQuest1.py b/scripts/portal/timeQuest1.py new file mode 100755 index 0000000..fb0002e --- /dev/null +++ b/scripts/portal/timeQuest1.py @@ -0,0 +1,6 @@ +# 270010100 +if not sm.hasQuestCompleted(3501): # time lane quest + sm.chat("You have not completed the appropriate quest to enter here.") +else: + sm.warp(270010110, 0) +sm.dispose() diff --git a/scripts/portal/timeQuest2.py b/scripts/portal/timeQuest2.py new file mode 100755 index 0000000..fed96f5 --- /dev/null +++ b/scripts/portal/timeQuest2.py @@ -0,0 +1,6 @@ +# 270010200 +if not sm.hasQuestCompleted(3502): # time lane quest + sm.chat("You have not completed the appropriate quest to enter here.") +else: + sm.warp(270010300, 0) +sm.dispose() diff --git a/scripts/portal/timeQuest3.py b/scripts/portal/timeQuest3.py new file mode 100755 index 0000000..327a878 --- /dev/null +++ b/scripts/portal/timeQuest3.py @@ -0,0 +1,6 @@ +# 270010300 +if not sm.hasQuestCompleted(3503): # time lane quest + sm.chat("You have not completed the appropriate quest to enter here.") +else: + sm.warp(270010400, 5) +sm.dispose() diff --git a/scripts/portal/timeQuest4.py b/scripts/portal/timeQuest4.py new file mode 100755 index 0000000..08902e9 --- /dev/null +++ b/scripts/portal/timeQuest4.py @@ -0,0 +1,6 @@ +# 270010400 +if not sm.hasQuestCompleted(3504): # time lane quest + sm.chat("You have not completed the appropriate quest to enter here.") +else: + sm.warp(270010500, 0) +sm.dispose() diff --git a/scripts/portal/timeSeal00.py b/scripts/portal/timeSeal00.py new file mode 100755 index 0000000..00307fa --- /dev/null +++ b/scripts/portal/timeSeal00.py @@ -0,0 +1,12 @@ +SEAL_CHECKER = 9300535 +SEAL_OF_TIME = 2159367 + +if not sm.hasQuest(25670): + sm.showFieldEffect("lightning/screenMsg/6") + sm.createQuestWithQRValue(25670, "1", False) + if sm.hasQuest(25671) and sm.hasQuest(25672) and sm.hasQuest(25673): + sm.spawnMob(SEAL_CHECKER, -54, -80, False) + sm.spawnNpc(SEAL_OF_TIME, -54, -80) + sm.showNpcSpecialActionByTemplateId(SEAL_OF_TIME, "summon", 0) + sm.flipDialoguePlayerAsSpeaker() + sm.sendSayOkay("The final seal is below the central staircase. I'm almost done.") \ No newline at end of file diff --git a/scripts/portal/timeSeal01.py b/scripts/portal/timeSeal01.py new file mode 100755 index 0000000..78fe17e --- /dev/null +++ b/scripts/portal/timeSeal01.py @@ -0,0 +1,13 @@ +SEAL_CHECKER = 9300535 +SEAL_OF_TIME = 2159367 + +if not sm.hasQuest(25671): + sm.showFieldEffect("lightning/screenMsg/6") + sm.createQuestWithQRValue(25671, "1", False) + if sm.hasQuest(25670) and sm.hasQuest(25672) and sm.hasQuest(25673): + sm.spawnMob(SEAL_CHECKER, -54, -80, False) + sm.spawnNpc(SEAL_OF_TIME, -54, -80) + sm.showNpcSpecialActionByTemplateId(SEAL_OF_TIME, "summon", 0) + sm.flipDialoguePlayerAsSpeaker() + sm.sendSayOkay("The final seal is below the central staircase. I'm almost done.") + diff --git a/scripts/portal/timeSeal02.py b/scripts/portal/timeSeal02.py new file mode 100755 index 0000000..fcdd6b1 --- /dev/null +++ b/scripts/portal/timeSeal02.py @@ -0,0 +1,12 @@ +SEAL_CHECKER = 9300535 +SEAL_OF_TIME = 2159367 + +if not sm.hasQuest(25672): + sm.showFieldEffect("lightning/screenMsg/6") + sm.createQuestWithQRValue(25672, "1", False) + if sm.hasQuest(25670) and sm.hasQuest(25671) and sm.hasQuest(25673): + sm.spawnMob(SEAL_CHECKER, -54, -80, False) + sm.spawnNpc(SEAL_OF_TIME, -54, -80) + sm.showNpcSpecialActionByTemplateId(SEAL_OF_TIME, "summon", 0) + sm.flipDialoguePlayerAsSpeaker() + sm.sendSayOkay("The final seal is below the central staircase. I'm almost done.") diff --git a/scripts/portal/timeSeal03.py b/scripts/portal/timeSeal03.py new file mode 100755 index 0000000..d5e2903 --- /dev/null +++ b/scripts/portal/timeSeal03.py @@ -0,0 +1,13 @@ +SEAL_CHECKER = 9300535 +SEAL_OF_TIME = 2159367 + +if not sm.hasQuest(25673): + sm.showFieldEffect("lightning/screenMsg/6") + sm.createQuestWithQRValue(25673, "1", False) + if sm.hasQuest(25670) and sm.hasQuest(25671) and sm.hasQuest(25672): + sm.spawnMob(SEAL_CHECKER, -54, -80, False) + sm.spawnNpc(SEAL_OF_TIME, -54, -80) + sm.showNpcSpecialActionByTemplateId(SEAL_OF_TIME, "summon", 0) + sm.flipDialoguePlayerAsSpeaker() + sm.sendSayOkay("The final seal is below the central staircase. I'm almost done.") + diff --git a/scripts/portal/timeSeal04.py b/scripts/portal/timeSeal04.py new file mode 100755 index 0000000..206848f --- /dev/null +++ b/scripts/portal/timeSeal04.py @@ -0,0 +1,20 @@ +SEAL_OF_TIME_1 = 2159363 +SEAL_OF_TIME_2 = 2159364 +SEAL_OF_TIME_3 = 2159365 +SEAL_OF_TIME_4 = 2159366 +SEAL_OF_TIME_5 = 2159367 + +if not sm.hasQuest(25674) and sm.hasQuest(25670) and sm.hasQuest(25671) and sm.hasQuest(25672) and sm.hasQuest(25673): + sm.createQuestWithQRValue(25674, "1", False) + sm.showFieldEffect("lightning/screenMsg/7") + sm.removeEscapeButton() + sm.flipDialoguePlayerAsSpeaker() + sm.sendNext("All the seals should be active now.") + sm.setFuncKeyByScript(False, 20041222, 0) + sm.removeNpc(SEAL_OF_TIME_1) + sm.removeNpc(SEAL_OF_TIME_2) + sm.removeNpc(SEAL_OF_TIME_3) + sm.removeNpc(SEAL_OF_TIME_4) + sm.removeNpc(SEAL_OF_TIME_5) + # kill mobs + sm.warp(927020072, 0) \ No newline at end of file diff --git a/scripts/portal/toArcana_pt.py b/scripts/portal/toArcana_pt.py new file mode 100755 index 0000000..70c96b5 --- /dev/null +++ b/scripts/portal/toArcana_pt.py @@ -0,0 +1,3 @@ +# id 1 (out00), field 940200202 +sm.lockInGameUI(False, True) +sm.warp(940200203) diff --git a/scripts/portal/toFallenTree.py b/scripts/portal/toFallenTree.py new file mode 100755 index 0000000..4b812d8 --- /dev/null +++ b/scripts/portal/toFallenTree.py @@ -0,0 +1,5 @@ +map = 105300000 +portal = 0 + +sm.warp(map, portal) +sm.dispose() diff --git a/scripts/portal/top_450003500.py b/scripts/portal/top_450003500.py new file mode 100755 index 0000000..45f8cac --- /dev/null +++ b/scripts/portal/top_450003500.py @@ -0,0 +1,3 @@ +# From Lach Clocktower 1F -> 2F +if sm.hasQuestCompleted(34327): + sm.warp(450003510) diff --git a/scripts/portal/top_450003510.py b/scripts/portal/top_450003510.py new file mode 100755 index 0000000..6aae4ae --- /dev/null +++ b/scripts/portal/top_450003510.py @@ -0,0 +1,3 @@ +# From Lach Clocktower 2F -> 3F +if sm.hasQuestCompleted(34328): + sm.warp(450003520) diff --git a/scripts/portal/top_450003520.py b/scripts/portal/top_450003520.py new file mode 100755 index 0000000..bdcdcdf --- /dev/null +++ b/scripts/portal/top_450003520.py @@ -0,0 +1,3 @@ +# From Lach Clocktower 2F -> 3F +if sm.hasQuestCompleted(34329): + sm.warp(450003530) diff --git a/scripts/portal/top_450003540.py b/scripts/portal/top_450003540.py new file mode 100755 index 0000000..a12ebed --- /dev/null +++ b/scripts/portal/top_450003540.py @@ -0,0 +1,2 @@ +# 450003540 +sm.warp(450004000) \ No newline at end of file diff --git a/scripts/portal/traitor0_enter.py b/scripts/portal/traitor0_enter.py new file mode 100755 index 0000000..3595959 --- /dev/null +++ b/scripts/portal/traitor0_enter.py @@ -0,0 +1,3 @@ +# id 6 (traitor_enter), field 400010300 +sm.startQuest(25915) +sm.warp(400010500) diff --git a/scripts/portal/tuto00.py b/scripts/portal/tuto00.py new file mode 100755 index 0000000..e1f3a36 --- /dev/null +++ b/scripts/portal/tuto00.py @@ -0,0 +1,7 @@ +# Ardent Mill Portals + Mihile Tutorial + Xenon Tutorial + +XENON_TUTORIAL = 931050970 + +if sm.getFieldID() == XENON_TUTORIAL: + # TODO: Handle "escort" / mobs + sm.warpInstanceIn(931050980) diff --git a/scripts/portal/tutorquest.py b/scripts/portal/tutorquest.py new file mode 100755 index 0000000..c61056e --- /dev/null +++ b/scripts/portal/tutorquest.py @@ -0,0 +1,4 @@ +# 130030001 ~ 130030004 +fieldID = sm.getFieldID() +sm.warp(fieldID + 1, 0) +sm.dispose() diff --git a/scripts/portal/undefined.py b/scripts/portal/undefined.py new file mode 100755 index 0000000..f5b82ac --- /dev/null +++ b/scripts/portal/undefined.py @@ -0,0 +1,2 @@ +sm.chat("(Portal) Not coded. Not coded. Admin was lazy and didn't fix this :). ID: " + str(parentID)) +sm.dispose() diff --git a/scripts/portal/undodraco.py b/scripts/portal/undodraco.py new file mode 100755 index 0000000..d536194 --- /dev/null +++ b/scripts/portal/undodraco.py @@ -0,0 +1,3 @@ +# 200090500 +sm.warp(240000110, 0) +sm.dispose() diff --git a/scripts/portal/visitor_in.py b/scripts/portal/visitor_in.py new file mode 100755 index 0000000..2d349c8 --- /dev/null +++ b/scripts/portal/visitor_in.py @@ -0,0 +1 @@ +sm.openNpc(9390008) \ No newline at end of file diff --git a/scripts/portal/visitor_move.py b/scripts/portal/visitor_move.py new file mode 100755 index 0000000..67bdac1 --- /dev/null +++ b/scripts/portal/visitor_move.py @@ -0,0 +1 @@ +sm.openNpc(9390011) \ No newline at end of file diff --git a/scripts/portal/visitor_out.py b/scripts/portal/visitor_out.py new file mode 100755 index 0000000..5949050 --- /dev/null +++ b/scripts/portal/visitor_out.py @@ -0,0 +1,11 @@ +map = sm.getReturnField() +if map == 0 or map == 910000000: + sm.chat("(Portal) Cannot find your previous map ID, warping to Henesys.") + map = 100000000 + portal = 0 + +if "910001000" in sm.getQRValue(9999): + sm.setQRValue(9999, "") + map = 910001000 + +sm.warpNoReturn(map, 2) \ No newline at end of file diff --git a/scripts/portal/w310070300.py b/scripts/portal/w310070300.py new file mode 100755 index 0000000..b3f1df2 --- /dev/null +++ b/scripts/portal/w310070300.py @@ -0,0 +1,3 @@ +# 310070300 +sm.warp(310070230, 0) +sm.dispose() diff --git a/scripts/portal/waitOut.py b/scripts/portal/waitOut.py new file mode 100755 index 0000000..bc53ebe --- /dev/null +++ b/scripts/portal/waitOut.py @@ -0,0 +1,2 @@ +# 252030000 - Entrance to Ravana's Altar -> Room of Suffering +sm.warp(252020700, 1) \ No newline at end of file diff --git a/scripts/portal/water_101070000.py b/scripts/portal/water_101070000.py new file mode 100755 index 0000000..5ec9bc3 --- /dev/null +++ b/scripts/portal/water_101070000.py @@ -0,0 +1,15 @@ +# Midsummer Night's Forest: Ellinel Lake Shore's Water Portal Script + +YOU_CAN_DO_IT = 32102 # QUEST ID +MIDSUMMER_NIGHTS_FOREST_ELLINEL_LAKE_SHORE = 101070000 # MAP ID +MIDSUMMER_NIGHTS_FOREST_ELLINEL_LAKE_SHORE_VER2 = 101070001 # MAP ID + +if sm.hasQuest(YOU_CAN_DO_IT): + sm.removeEscapeButton() + sm.setPlayerAsSpeaker() + sm.sendNext("Ugh! Why do I feel so... heavy?! Each... step... getting... tougher!\r\n\r\nARGH!") +else: + sm.warp(MIDSUMMER_NIGHTS_FOREST_ELLINEL_LAKE_SHORE) + sm.dispose() + +sm.warp(MIDSUMMER_NIGHTS_FOREST_ELLINEL_LAKE_SHORE_VER2) diff --git a/scripts/portal/west_450004150.py b/scripts/portal/west_450004150.py new file mode 100755 index 0000000..0124d1f --- /dev/null +++ b/scripts/portal/west_450004150.py @@ -0,0 +1,3 @@ +# Lucid out portal +if sm.sendAskYesNo("Are you sure you want to leave? Your whole party will be ported out."): + sm.warpInstanceOut(450004000) \ No newline at end of file diff --git a/scripts/portal/zakum_regionOut.py b/scripts/portal/zakum_regionOut.py new file mode 100755 index 0000000..c127df3 --- /dev/null +++ b/scripts/portal/zakum_regionOut.py @@ -0,0 +1,3 @@ +# 211042400 +sm.warp(211042300, 0) +sm.dispose() diff --git a/scripts/quest/__init__.py b/scripts/quest/__init__.py new file mode 100755 index 0000000..e69de29 diff --git a/scripts/quest/q100167s.py b/scripts/quest/q100167s.py new file mode 100755 index 0000000..f6deefc --- /dev/null +++ b/scripts/quest/q100167s.py @@ -0,0 +1,25 @@ +# id 100167 (Tera Burning Project Arcane Symbols!), field 701220100 +sm.setSpeakerID(9010000) # Maple Administrator +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(9010000) # Maple Administrator +res = sm.sendAskYesNo("\r\nCongratulations on reaching #b#eLv. 201#n#k!\r\nWould you like to receive #b#t1712001/10:# x10#k?\r\n\r\n\r\n#fUI/UIWindow2.img/Quest/quest_info/summary_icon/reward#\r\n#b#i1712001/10:# #t1712001/10:##k x10") +sm.startQuest(16689) +sm.startQuest(16689) +sm.startQuest(16689) +sm.startQuest(16689) +sm.startQuest(16689) +sm.startQuest(16689) +sm.createQuestWithQRValue(parentID, "rLevel=202") +sm.sendSayOkay("\r\nI've given you #b#t1712001/10:# x10#k!\r\nCome see me again after reaching #b#eLv. 202#n#k!\r\n\r\n\r\n#fUI/UIWindow2.img/Quest/quest_info/summary_icon/reward#\r\n#b#i1712001/10:# #t1712001/10:##k x10") +sm.startQuest(62009) +sm.startQuest(16689) +sm.startQuest(62009) +sm.startQuest(16689) +sm.startQuest(62009) +sm.startQuest(16689) +sm.startQuest(62009) +sm.startQuest(16689) +sm.startQuest(16689) +sm.startQuest(16689) +sm.startQuest(16689) +sm.startQuest(16689) diff --git a/scripts/quest/q12394s.py b/scripts/quest/q12394s.py new file mode 100755 index 0000000..9265bc6 --- /dev/null +++ b/scripts/quest/q12394s.py @@ -0,0 +1,4 @@ +pm = sm.getChr().getPotentialMan() +pm.addPotential(pm.generateRandomPotential(1, chr.getPotentials())) +sm.completeQuestNoRewards(12394) +sm.dispose() diff --git a/scripts/quest/q12395s.py b/scripts/quest/q12395s.py new file mode 100755 index 0000000..dd79ee6 --- /dev/null +++ b/scripts/quest/q12395s.py @@ -0,0 +1,4 @@ +pm = sm.getChr().getPotentialMan() +pm.addPotential(pm.generateRandomPotential(2, chr.getPotentials())) +sm.completeQuestNoRewards(12395) +sm.dispose() diff --git a/scripts/quest/q12396s.py b/scripts/quest/q12396s.py new file mode 100755 index 0000000..2c442ce --- /dev/null +++ b/scripts/quest/q12396s.py @@ -0,0 +1,5 @@ +# Character potential unlock quest. Used to be only for the 3rd line, got changed to be the initial quest. +pm = sm.getChr().getPotentialMan() +sm.addCharacterPotentials() +sm.sendSayOkay("Character potential unlocked.") +sm.completeQuestNoCheck(12396) diff --git a/scripts/quest/q1400s.py b/scripts/quest/q1400s.py new file mode 100755 index 0000000..a6a8b70 --- /dev/null +++ b/scripts/quest/q1400s.py @@ -0,0 +1,26 @@ +sm.setSpeakerID(12100) +sm.sendNext("Hmm, you're making good progress with your leveling. Have you decided on which job you want to take? You could be a Warrior with great strength and high HP, a Magician with many spells, a Bowman that shoots arrows from afar, a Thief that uses quick, sneaky attacks, or a Pirate with all kinds of flashy chain skills... There are so many!") +choice = sm.sendNext("If you go to Victoria Island, you can advance to the job of your choice by going to the right Job Instructor. But before that, lemme know which one you're interested in, and I'll send #bthem#k a letter of recommendation. That will make it easier for you to advance! So, which job will you choose?\r\n\r\n#b#L0#I want to be a might Warrior!#l\r\n#L1#I want to be a mystical Magician!#l\r\n#L2#I want to be a sharp-shooting Bowman!#l\r\n#L3#I want to be a sneaky Thief!#l\r\n#L4#I want to be a swashbuckling Pirate!#l\r\n#L5#I want to be a pinky bean!#l") + +sm.createQuestWithQRValue(1406, str(choice+1)) +sm.startQuest(parentID) +sm.completeQuest(parentID) + +if choice == 0: + sm.sendNext("A Warrior, huh? Boy, you're going to get really strong! They can take tons of damage, and dish plenty out, too. Okay, I'll send my recommendation to #bDances with Balrog#k, the Warrior Job Instructor.") + sm.sendSay("He will contact you when you reach Lv. 10. Become a great Warrior!") +elif choice == 1: + sm.sendNext("A Magician, huh? Okay, I'll send my recommendation to #bGrendel, the Really Old#k, the Magician Job Instructor.") + sm.sendSay("They will contact you when you reach Lv. 10. Become a great Magician!") +elif choice == 2: + sm.sendNext("A Bowman, huh? Okay, I'll send my recommendation to #bAthena Pierce#k, the Bowman Job Instructor.") + sm.sendSay("They will contact you when you reach Lv. 10. Become a great Bowman!") +elif choice == 3: + sm.sendNext("A Thief, huh? Okay, I'll send my recommendation to #bthe Dark Lord#k, the Thief Job Instructor.") + sm.sendSay("They will contact you when you reach Lv. 10. Become a great Thief!") +elif choice == 4: + sm.sendNext("A Pirate, huh? Okay, I'll send my recommendation to #bKyrin#k, the Pirate Job Instructor.") + sm.sendSay("They will contact you when you reach Lv. 10. Become a great Pirate!") +elif choice == 5: + sm.sendNext("#bA Pink Bean, huh? Okay, I would usually send a recommendation to some job instructor but since you want to be a Pink Bean I'll just throw 'em skills at ya.") + sm.jobAdvance(13100) diff --git a/scripts/quest/q1401e.py b/scripts/quest/q1401e.py new file mode 100755 index 0000000..4e759bd --- /dev/null +++ b/scripts/quest/q1401e.py @@ -0,0 +1,11 @@ +# 1401 - Warriors of Perion + +sm.setSpeakerID(1022000) # Dances with Balrog +response = sm.sendAskYesNo("So you want to become a #bWarrior#k?") + +if response: + sm.completeQuestNoRewards(parentID) + sm.jobAdvance(100) + sm.resetAP(False, 100) + sm.giveItem(1302182) + sm.sendSayOkay("You are now a #bWarrior#k.") diff --git a/scripts/quest/q1401s.py b/scripts/quest/q1401s.py new file mode 100755 index 0000000..5c98b3a --- /dev/null +++ b/scripts/quest/q1401s.py @@ -0,0 +1,25 @@ +sm.setSpeakerID(1022000) +sm.sendNext("So, you are the person Mai recommended. You seek to become a Warrior, am I right? I am Dances with Balrog, the Warrior Job Instructor. I instruct newcomers in the ways of battle.") +sm.sendSay("How much do you know about Warriors? Warriors have great strength and high HP, and face their enemies up-close with powerful attacks. Sounds fun, right?") +if sm.sendAskAccept("You look like you are more than qualified. If you wish to become a Warrior, I welcome you. You wish to become a Warrior? If you accept, I will use my power as the Job Instructor to bring you to the #bWarriors' Sanctuary in Perion#k right away. #rThere are still paths for you even if you change your mind, and I will help you if you do.#k."): + sm.warp(102000003) + sm.startQuest(parentID) +else: + choice = sm.sendNext("You do not wish to choose the path of a Warrior? Very well. There are four other paths you can choose.\r\n\r\n#b#L0#Magician#l\r\n#L1#Bowman#l\r\n#L2#Thief#l\r\n#L3#Pirate#l") + if choice == 0: + sm.sendNext("Do you want to go the way of the Magician? I'll admit I'm disappointed, but I'll respect your decision and send you to #bGrendel the Really Old#k.") + sm.createQuestWithQRValue(1406, "2") + sm.warp(101000003) + elif choice == 1: + sm.sendNext("Do you want to go the way of the Bowman? I'll admit I'm disappointed, but I'll respect your decision and send you to #b#k.Then I'll send you to #bAthena Pierce#k.") + sm.createQuestWithQRValue(1406, "3") + sm.warp(100000201) + elif choice == 2: + sm.sendNext("Do you want to go the way of the Thief? I'll admit I'm disappointed, but I'll respect your decision and send you to #b#k.Then I'll send you to #bthe Dark Lord#k.") + sm.createQuestWithQRValue(1406, "4") + sm.warp(103000003) + elif choice == 3: + sm.sendNext("Do you want to go the way of the Pirate? I'll admit I'm disappointed, but I'll respect your decision and send you to #b#k.Then I'll send you to #bKyrin#k.") + sm.createQuestWithQRValue(1406, "5") + sm.warp(120000101) + sm.chatScript("Please CC.") diff --git a/scripts/quest/q1402e.py b/scripts/quest/q1402e.py new file mode 100755 index 0000000..14d459e --- /dev/null +++ b/scripts/quest/q1402e.py @@ -0,0 +1,11 @@ +# 1402 - Magicians of Ellinia + +sm.setSpeakerID(1032001) # Grendel the Really Old +response = sm.sendAskYesNo("So you want to become a #bMagician#k?") + +if response: + sm.completeQuestNoRewards(parentID) + sm.jobAdvance(200) # Magician + sm.resetAP(False, 200) + sm.giveItem(1372043) + sm.sendSayOkay("You are now a #bMagician#k.") diff --git a/scripts/quest/q1402s.py b/scripts/quest/q1402s.py new file mode 100755 index 0000000..385dfa5 --- /dev/null +++ b/scripts/quest/q1402s.py @@ -0,0 +1,25 @@ +sm.setSpeakerID(1032001) +sm.sendNext("Ah, so you are the one that Mai was talking about. How do you do? I heard that you are interested in the path of a Magician. If that's the case, I will help guide you. I am Grendel the Really Old, the Magician Job Instructor.") +sm.sendSay("I'm sure you already know a little bit about Magicians. With high intelligence as our foundation, we learn all manner of magic spells to wield in battle. Range is not a concern for us, but our low HP is our weakness. We've come up with many ways around that, though, so don't worry too much.") +if sm.sendAskAccept("I see that you are more than qualified to beocme a Magician... would you like to become a Magician? If you accept, I will use my power as the Job Instructor to bring you to the #bMagic Library in Ellinia#k. I'll perform the Job Advancement once we meet in person. #rThere are still other paths open to you if you change your mind, and I will help you find them if you do.#k"): + sm.warp(101000003) + sm.startQuest(parentID) +else: + choice = sm.sendNext("You are not content with the path of a Magician? That is unfortunate, but I will respect your decision. Which path will you now choose?\r\n\r\n#b#L0#Warrior#l\r\n#L1#Bowman#l\r\n#L2#Thief#l\r\n#L3#Pirate#l") + if choice == 0: + sm.sendNext("You're choosing Warrior? That's disappointing. But if you're sure, I'll send you to #bDances with Balrog#k.") + sm.createQuestWithQRValue(1406, "1") + sm.warp(102000003) + elif choice == 1: + sm.sendNext("You're choosing Bowman? That's disappointing. But if you're sure, I'll send you to #bAthena Pierce#k.") + sm.createQuestWithQRValue(1406, "3") + sm.warp(100000201) + elif choice == 2: + sm.sendNext("You're choosing Thief? That's disappointing. But if you're sure, I'll send you to #bthe Dark Lord#k.") + sm.createQuestWithQRValue(1406, "4") + sm.warp(103000003) + elif choice == 3: + sm.sendNext("You're choosing Pirate? That's disappointing. But if you're sure, I'll send you to #bKyrin#k.") + sm.createQuestWithQRValue(1406, "5") + sm.warp(120000101) + sm.chatScript("Please CC.") diff --git a/scripts/quest/q1403e.py b/scripts/quest/q1403e.py new file mode 100755 index 0000000..cb33744 --- /dev/null +++ b/scripts/quest/q1403e.py @@ -0,0 +1,14 @@ +# 1403 - Athena Pierce + +sm.setSpeakerID(1012100) # Athena +response = sm.sendAskYesNo("So you want to become an #bArcher#k?") + +if response: + sm.completeQuestNoRewards(parentID) + sm.jobAdvance(300) # Archer + sm.resetAP(False, 300) + sm.giveItem(1452051, 1) + sm.giveItem(1462001, 1) + sm.giveItem(2060000, 500) + sm.giveItem(2061000, 500) + sm.sendSayOkay("You are now an #bArcher#k!") diff --git a/scripts/quest/q1403s.py b/scripts/quest/q1403s.py new file mode 100755 index 0000000..60bcac0 --- /dev/null +++ b/scripts/quest/q1403s.py @@ -0,0 +1,25 @@ +sm.setSpeakerID(1012100) +sm.sendNext("Hello, #h #. I've heard plenty about you from Mai. You are interested in becoming a Bowman, right? My name is Athena Pierce, Bowman Job Instructor. Nice to meet you!") +sm.sendSay("How much do you know about Bowmen? We use bows or crossbows to attack enemies at long range, mainly. We're a bit slower than others, but our arrows never miss their mark!") +if sm.sendAskAccept("If you really wish to become a Bowman, I will bring you to the #bBowman Instructional School in Henesys#k using my power as the Job Instructor, #rif you are interested in other jobs, however, I will help you find your true path#k. Now, would you like to become a Bowman?"): + sm.warp(100000201) + sm.startQuest(parentID) +else: + choice = sm.sendNext("So, you have chosen another path. That is your decision, of course. Which path will you now choose?\r\n\r\n#b#L0#Warrior#l\r\n#L1#Magician#l\r\n#L2#Thief#l\r\n#L3#Pirate#l") + if choice == 0: + sm.sendNext("You seek the powerful strength of a Warrior, do you? Then I'll send you to #bDances with Balrog#k.") + sm.createQuestWithQRValue(1406, "1") + sm.warp(102000003) + elif choice == 1: + sm.sendNext("You seek the powerful strength of a Magician, do you? Then I'll send you to #bGrendel the really Old#k.") + sm.createQuestWithQRValue(1406, "2") + sm.warp(101000003) + elif choice == 2: + sm.sendNext("You seek the powerful strength of a Thief, do you? Then I'll send you to #bthe Dark Lord#k.") + sm.createQuestWithQRValue(1406, "4") + sm.warp(103000003) + elif choice == 3: + sm.sendNext("You seek the powerful strength of a Pirate, do you? Then I'll send you to #bKyrin#k.") + sm.createQuestWithQRValue(1406, "5") + sm.warp(120000101) + sm.chatScript("Please CC.") \ No newline at end of file diff --git a/scripts/quest/q1404e.py b/scripts/quest/q1404e.py new file mode 100755 index 0000000..1d784a8 --- /dev/null +++ b/scripts/quest/q1404e.py @@ -0,0 +1,13 @@ +# 1404 - Thieves of Kerning City + +sm.setSpeakerID(1052001) +response = sm.sendAskYesNo("So you want to become a #bThief#k?") + +if response: + sm.completeQuestNoRewards(parentID) + sm.jobAdvance(400) # Thief + sm.resetAP(False, 400) + sm.giveItem(2070000, 500) + sm.giveItem(1332063, 1) + sm.giveItem(1472061, 1) + sm.sendSayOkay("You are now a #bThief#k.") diff --git a/scripts/quest/q1404s.py b/scripts/quest/q1404s.py new file mode 100755 index 0000000..61a9b8e --- /dev/null +++ b/scripts/quest/q1404s.py @@ -0,0 +1,26 @@ +sm.setSpeakerID(1052001) +sm.sendNext("So, you're the one Mai was talking about? #h #... I guess you do have some potential. You want to become a Thief? Do you knwo what Thieves are all about?") +sm.sendSay("Most people think of us as petty thieves who steal things, but that's not true at all. Thieves in Maple World are those who fight with sharp daggers and throwing stars from the shadows. We don't always fight fair, but we always fight to win.") +sm.sendSay("As a job, Thieves attack enemies with swift, powerful skills. Though their HP is a bit low, they make it up with speed, so you had better learn to dodge. High luck allows them to land critical hits often, as well.") +if sm.sendAskAccept("Now, will you join us on the path of Thieves? If you decide to doso, I will bring you to the #bsecret Thieves' Hideout in Kerning City#k using my power as the Job Instructor... You should feel honored. #rBut if you prefer a different job, I will help you find the other paths#k."): + sm.warp(103000003) + sm.startQuest(parentID) +else: + choice = sm.sendNext("You don't wish to walk the path of a Thief? I will not force this path on someone who doesn't want it. WHich job do you want?\r\n\r\n#b#L0#Warrior#l\r\n#L1#Magician#l\r\n#L2#Bowman#l\r\n#L3#Pirate#l") + if choice == 0: + sm.sendNext("Warrior? I mean, if you want go with the trendy one, I'll send you to #bDances with Balrog#k.") + sm.createQuestWithQRValue(1406, "1") + sm.warp(102000003) + elif choice == 1: + sm.sendNext("Magician? I mean, if you want go with the trendy one, I'll send you to #bGrendel the really Old#k.") + sm.createQuestWithQRValue(1406, "2") + sm.warp(101000003) + elif choice == 2: + sm.sendNext("Bowman? I mean, if you want go with the trendy one, I'll send you to #bAthena Pierce#k.") + sm.createQuestWithQRValue(1406, "3") + sm.warp(100000201) + elif choice == 3: + sm.sendNext("Pirate? I mean, if you want go with the trendy one, I'll send you to #bKyrin#k.") + sm.createQuestWithQRValue(1406, "5") + sm.warp(120000101) + sm.chatScript("Please CC.") diff --git a/scripts/quest/q1405e.py b/scripts/quest/q1405e.py new file mode 100755 index 0000000..3910a64 --- /dev/null +++ b/scripts/quest/q1405e.py @@ -0,0 +1,13 @@ +# 1405 - Pirates of the Nautilus + +sm.setSpeakerID(1090000) +response = sm.sendAskYesNo("So you want to become a #bPirate#k?") + +if response: + sm.completeQuestNoRewards(parentID) + sm.jobAdvance(500) # Pirate + sm.resetAP(False, 500) + sm.giveItem(1492014) + sm.giveItem(1482014) + sm.giveItem(2330006, 500) + sm.sendSayOkay("You are now a #bPirate#k.") diff --git a/scripts/quest/q1405s.py b/scripts/quest/q1405s.py new file mode 100755 index 0000000..ba3823c --- /dev/null +++ b/scripts/quest/q1405s.py @@ -0,0 +1,28 @@ +sm.setSpeakerID(1090000) +sm.sendNext("#h #...? Oh, right! Mai mentioned you. Yeah...you look pretty good to me. I'm Kyrin, the captain of the Nautilus and the Pirate Job Instructor. I heard you are interested in becoming a Pirate. Is that true?") +sm.sendSay("If that's the case, I should tell you a bit about myself first. I brought the pirates together to start working against the Black Mage, the great evil that threatens all of Maple World. Turns out the hero business is more profitable than looting and pillaging!") +sm.sendSay("If you become a Pirate, you can help investigate the Black Mage's plots, and assist in the defense of Maple World. Keep in mind that I won't make you do anything...I'm primarily a Job Instructor, and just guide the pirates in a general sense.") +sm.sendSay("But, I know you would help us fight the Black Mage. You have that gleam in your eye that all heroes do. Anyway, I've said my piece. That was just for your information. What's really important is coming up next.") +sm.sendSay("There are two paths you can take as a Pirate. You can fight with guns, or with your fists. Your weapons and skills will be quite different depending on what you pick, but both are still Pirates. And that means you're gonna look GOOD while you fight!") +if sm.sendAskAccept("Okay, I've said enough. So, Pirate. In, or out? If you want to become a Pirate, I'll bring you to the Nautilus right now using my power as a Job Instructor. #rAnd if you don't, I'll help you find the right job for you#k."): + sm.warp(120000101) + sm.startQuest(parentID) +else: + choice = sm.sendNext("You wish to choose a different path? Hey, if that's what you want. Which job will you choose, then?\r\n\r\n#b#L0#Warrior#l\r\n#L1#Magician#l\r\n#L2#Bowman#l\r\n#L3#Thief#l") + if choice == 0: + sm.sendNext("You want to be a Warrior? I don't really understand why, but all right. I'll send you to #bDances with Balrog#k.") + sm.createQuestWithQRValue(1406, "1") + sm.warp(102000003) + elif choice == 1: + sm.sendNext("You want to be a Magician? I don't really understand why, but all right. I'll send you to #bGrendel the really Old#k.") + sm.createQuestWithQRValue(1406, "2") + sm.warp(101000003) + elif choice == 2: + sm.sendNext("You want to be a Bowman? I don't really understand why, but all right. I'll send you to #bAthena Pierce#k.") + sm.createQuestWithQRValue(1406, "3") + sm.warp(100000201) + elif choice == 3: + sm.sendNext("You want to be a Thief? I don't really understand why, but all right. I'll send you to #bthe Dark Lord#k.") + sm.createQuestWithQRValue(1406, "4") + sm.warp(103000003) + sm.chatScript("Please CC.") diff --git a/scripts/quest/q1411e.py b/scripts/quest/q1411e.py new file mode 100755 index 0000000..7a6ee66 --- /dev/null +++ b/scripts/quest/q1411e.py @@ -0,0 +1,19 @@ +# 1411 - [Job Adv] (Lv.30) Way of the Fighter + +darkMarble = 4031013 +job = "Fighter" + +sm.setSpeakerID(1022000) +if sm.hasItem(darkMarble, 30): + sm.sendNext("I am impressed, you surpassed the test. Only few are talented enough.\r\n" + "You have proven yourself to be worthy, thus I shall mold your body into a #b"+ job +"#k.") +else: + sm.sendSayOkay("You have not retrieved the #t"+ darkMarble+"#s yet, I will be waiting.") + sm.dispose() + + +sm.consumeItem(darkMarble, 30) +sm.completeQuestNoRewards(parentID) +sm.jobAdvance(110) # Fighter +sm.sendNext("You are now a #b"+ job +"#k.") +sm.dispose() diff --git a/scripts/quest/q1411s.py b/scripts/quest/q1411s.py new file mode 100755 index 0000000..db3aa43 --- /dev/null +++ b/scripts/quest/q1411s.py @@ -0,0 +1,38 @@ +# 1411 - [Job Adv] (Lv.30) Way of the Fighter + +darkMarble = 4031013 +job = "Fighter" + +sm.setSpeakerID(1022000) # Dances with Balrog + +sm.sendNext("You wish to become a #b"+ job +"#k?\r\n\r\n" + "A #b"+ job +"#k is specialised in short weapons such as #bSwords#kand #bAxes#k." + "There are many useful skills you can acquire with both weapons, but I strongly recommend that you focus on one and stick to it.") + +# start of custom +response = sm.sendAskYesNo("Are you sure you wish to become a #b" + job + "#k?") + +if response: + sm.completeQuestNoRewards(parentID) + sm.jobAdvance(110) # Spearman + sm.sendSayOkay("Alright! You have now become a #b" + job + "!") +else: + sm.sendSayOkay("Speak to me again and I can explain the three paths to you.") + +sm.dispose() +# end of custom + +# sm.sendNext("Before I teach you the ways of the "+ job +", you will have to accomplish a very difficult test. " +# "I will warp you into a special map, in which I require you to defeat #bSkeledogs#k " +# "and return 30 #i"+ str(darkMarble) +"##z"+ str(darkMarble) +"#s to me.") +# +# response = sm.sendAskYesNo("Once you enter the map, you #rcannot#k return without the #b#t"+ str(darkMarble) +"#s#k, if you die you will lose your experience.\r\n" +# "Are you ready?") +# +# if response: +# sm.warp(910230000, 0) +# sm.startQuestNoCheck(parentID) +# else: +# sm.sendSayOkay("You cannot stay a Swordman. You #bwill#k have to face up to the test.\r\n" +# "Talk to me when you are ready.") +# sm.dispose() diff --git a/scripts/quest/q1412e.py b/scripts/quest/q1412e.py new file mode 100755 index 0000000..ab4937a --- /dev/null +++ b/scripts/quest/q1412e.py @@ -0,0 +1,19 @@ +# 1412 - [Job Adv] (Lv.30) Way of the Page + +darkMarble = 4031013 +job = "Page" + +sm.setSpeakerID(1022000) +if sm.hasItem(darkMarble, 30): + sm.sendNext("I am impressed, you surpassed the test. Only few are talented enough.\r\n" + "You have proven yourself to be worthy, thus I shall mold your body into a #b"+ job +"#k.") +else: + sm.sendSayOkay("You have not retrieved the #t"+ darkMarble+"#s yet, I will be waiting.") + sm.dispose() + + +sm.consumeItem(darkMarble, 30) +sm.completeQuestNoRewards(parentID) +sm.jobAdvance(120) # Page +sm.sendNext("You are now a #b"+ job +"#k.") +sm.dispose() diff --git a/scripts/quest/q1412s.py b/scripts/quest/q1412s.py new file mode 100755 index 0000000..9a7c73a --- /dev/null +++ b/scripts/quest/q1412s.py @@ -0,0 +1,38 @@ +# 1412 - [Job Adv] (Lv.30) Way of the Page + +darkMarble = 4031013 +job = "Page" + +sm.setSpeakerID(1022000) # Dances with Balrog + +sm.sendNext("You wish to become a #b"+ job +"#k?\r\n\r\n" + "A #b"+ job +"#k is specialised in short weapons such as #bHammers#kand #bAxes#k. " + "There are many useful skills you can acquire with both weapons, but I strongly recommend that you focus on one and stick to it.") + +# start of custom +response = sm.sendAskYesNo("Are you sure you wish to become a #b" + job + "#k?") + +if response: + sm.completeQuestNoRewards(parentID) + sm.jobAdvance(120) # Spearman + sm.sendSayOkay("Alright! You have now become a #b" + job + "!") +else: + sm.sendSayOkay("Speak to me again and I can explain the three paths to you.") + +sm.dispose() +# end of custom + +# sm.sendNext("Before I teach you the ways of the "+ job +", you will have to accomplish a very difficult test. " +# "I will warp you into a special map, in which I require you to defeat #bSkeledogs#k " +# "and return 30 #i"+ str(darkMarble) +"##z"+ str(darkMarble) +"#s to me.") +# +# response = sm.sendAskYesNo("Once you enter the map, you #rcannot#k return without the #b#t"+ str(darkMarble) +"#s#k, if you die you will lose your experience.\r\n" +# "Are you ready?") +# +# if response: +# sm.warp(910230000, 0) +# sm.startQuestNoCheck(parentID) +# else: +# sm.sendSayOkay("You cannot stay a Swordman. You #bwill#k have to face up to the test.\r\n" +# "Talk to me when you are ready.") +# sm.dispose() diff --git a/scripts/quest/q1413e.py b/scripts/quest/q1413e.py new file mode 100755 index 0000000..e4c23ea --- /dev/null +++ b/scripts/quest/q1413e.py @@ -0,0 +1,19 @@ +# 1413 - [Job Adv] (Lv.30) Way of the Spearman + +darkMarble = 4031013 +job = "Spearman" + +sm.setSpeakerID(1022000) +if sm.hasItem(darkMarble, 30): + sm.sendNext("I am impressed, you surpassed the test. Only few are talented enough.\r\n" + "You have proven yourself to be worthy, thus I shall mold your body into a #b"+ job +"#k.") +else: + sm.sendSayOkay("You have not retrieved the #t"+ darkMarble+"#s yet, I will be waiting.") + sm.dispose() + + +sm.consumeItem(darkMarble, 30) +sm.completeQuestNoRewards(parentID) +sm.jobAdvance(130) # Spearman +sm.sendNext("You are now a #b"+ job +"#k.") +sm.dispose() diff --git a/scripts/quest/q1413s.py b/scripts/quest/q1413s.py new file mode 100755 index 0000000..db67cd5 --- /dev/null +++ b/scripts/quest/q1413s.py @@ -0,0 +1,38 @@ +# 1413 - [Job Adv] (Lv.30) Way of the Spearman + +darkMarble = 4031013 +job = "Spearman" + +sm.setSpeakerID(1022000) # Dances with Balrog + +sm.sendNext("You wish to become a #b"+ job +"#k?\r\n\r\n" + "A #b"+ job +"#k is specialised in long weapons such as #bSpears#k and #bPolearms#k. " + "There are many useful skills you can acquire with both weapons, but I strongly recommend that you focus on one and stick to it.") + +# start of custom +response = sm.sendAskYesNo("Are you sure you wish to become a #b" + job + "#k?") + +if response: + sm.completeQuestNoRewards(parentID) + sm.jobAdvance(130) # Spearman + sm.sendSayOkay("Alright! You have now become a #b" + job + "!") +else: + sm.sendSayOkay("Speak to me again and I can explain the three paths to you once more.") + +sm.dispose() +# end of custom + +# sm.sendNext("Before I teach you the ways of the "+ job +", you will have to accomplish a very difficult test. " +# "I will warp you into a special map, in which I require you to defeat #bSkeledogs#k " +# "and return 30 #i"+ str(darkMarble) +"##z"+ str(darkMarble) +"#s to me.") +# +# response = sm.sendAskYesNo("Once you enter the map, you #rcannot#k return without the #b#t"+ str(darkMarble) +"#s#k, if you die you will lose your experience.\r\n" +# "Are you ready?") +# +# if response: +# sm.warp(910230000, 0) +# sm.startQuestNoCheck(parentID) +# else: +# sm.sendSayOkay("You cannot stay a Swordman. You #bwill#k have to face up to the test.\r\n" +# "Talk to me when you are ready.") +# sm.dispose() diff --git a/scripts/quest/q1415e.py b/scripts/quest/q1415e.py new file mode 100755 index 0000000..3847abe --- /dev/null +++ b/scripts/quest/q1415e.py @@ -0,0 +1,19 @@ +# [Job Adv] (Lv.30) Way of the Mage FP + +darkMarble = 4031013 +job = "Mage (Fire, Poison)" + +sm.setSpeakerID(1032001) # Grendel the Really Old +if sm.hasItem(darkMarble, 30): + sm.sendNext("I am impressed, you surpassed the test. Only few are talented enough.\r\n" + "You have proven yourself to be worthy, I shall mold your body into a #b"+ job +"#k.") +else: + sm.sendSayOkay("You have not retrieved the #t"+ darkMarble+"#s yet, I will be waiting.") + sm.dispose() + + +sm.consumeItem(darkMarble, 30) +sm.completeQuestNoRewards(parentID) +sm.jobAdvance(210) # Mage FP +sm.sendNext("You are now a #b"+ job +"#k.") +sm.dispose() diff --git a/scripts/quest/q1415s.py b/scripts/quest/q1415s.py new file mode 100755 index 0000000..e1022d1 --- /dev/null +++ b/scripts/quest/q1415s.py @@ -0,0 +1,39 @@ +# 1415 - [Job Adv] (Lv.30) Path of Fire and Ice + +darkMarble = 4031013 +job = "Wizard (Fire, Poison)" +monster = "Zombie Lupin" + +sm.setSpeakerID(1032001) # Grendel the Really Old +sm.sendNext("You wish to become a #b"+ job +"#k?\r\n\r\n" + "A #b"+ job +"#k is specialised in long ranged magic attacks and use #bfire and poison magic#k to defeat their enemies. " + "There are many useful skills you can acquire.") + +# start of custom +response = sm.sendAskYesNo("Are you sure you wish to become a #b" + job + "#k?") + +if response: + sm.completeQuestNoRewards(parentID) + sm.jobAdvance(210) # Wizard (Fire, Poison) + sm.sendSayOkay("Alright! You have now become a #b" + job + "!") +else: + sm.sendSayOkay("Speak to me again and I can explain the three paths to you once more.") + +sm.dispose() +# end of custom + +# sm.sendNext("Before I teach you the ways of the "+ job +", you will have to accomplish a very difficult test. " +# "I will warp you into a special map, in which I require you to defeat #b"+ monster +"#k " +# "and return 30 #i"+ str(darkMarble) +"##z"+ str(darkMarble) +"#s to me.") +# +# response = sm.sendAskYesNo("Once you enter the map, you #rcannot#k return without the #b#t"+ str(darkMarble) +"#s#k, " +# "if you die you will lose your experience.\r\n" +# "Are you ready?") +# +# if response: +# sm.warp(910140000, 0) # Magician Test Site +# sm.startQuestNoCheck(parentID) +# else: +# sm.sendSayOkay("You cannot be a Magician forever. You #bwill#k have to face up to the test.\r\n" +# "Talk to me when you are ready.") +# sm.dispose() diff --git a/scripts/quest/q1416e.py b/scripts/quest/q1416e.py new file mode 100755 index 0000000..cd1adeb --- /dev/null +++ b/scripts/quest/q1416e.py @@ -0,0 +1,19 @@ +# [Job Adv] (Lv.30) Way of the Mage IL + +darkMarble = 4031013 +job = "Mage (Ice, Lightning)" + +sm.setSpeakerID(1032001) # Grendel the Really Old +if sm.hasItem(darkMarble, 30): + sm.sendNext("I am impressed, you surpassed the test. Only few are talented enough.\r\n" + "You have proven yourself to be worthy, I shall mold your body into a #b"+ job +"#k.") +else: + sm.sendSayOkay("You have not retrieved the #t"+ darkMarble+"#s yet, I will be waiting.") + sm.dispose() + + +sm.consumeItem(darkMarble, 30) +sm.completeQuestNoRewards(parentID) +sm.jobAdvance(220) # Mage IL +sm.sendNext("You are now a #b"+ job +"#k.") +sm.dispose() diff --git a/scripts/quest/q1416s.py b/scripts/quest/q1416s.py new file mode 100755 index 0000000..71817a0 --- /dev/null +++ b/scripts/quest/q1416s.py @@ -0,0 +1,39 @@ +# 1416 - [Job Adv] (Lv.30) Path of Ice and Lightning + +darkMarble = 4031013 +job = "Wizard (Ice, Lightning)" +monster = "Zombie Lupin" + +sm.setSpeakerID(1032001) # Grendel the Really Old +sm.sendNext("You wish to become a #b"+ job +"#k?\r\n\r\n" + "A #b"+ job +"#k is specialised in long ranged magic attacks and use #bice and lightning magic#k to defeat their enemies. " + "There are many useful skills you can acquire.") + +# start of custom +response = sm.sendAskYesNo("Are you sure you wish to become a #b" + job + "#k?") + +if response: + sm.completeQuestNoRewards(parentID) + sm.jobAdvance(220) # Wizard (Ice, Lightning) + sm.sendSayOkay("Alright! You have now become a #b" + job + "!") +else: + sm.sendSayOkay("Speak to me again and I can explain the three paths to you once more.") + +sm.dispose() +# end of custom + +# sm.sendNext("Before I teach you the ways of the "+ job +", you will have to accomplish a very difficult test. " +# "I will warp you into a special map, in which I require you to defeat #b"+ monster +"#k " +# "and return 30 #i"+ str(darkMarble) +"##z"+ str(darkMarble) +"#s to me.") +# +# response = sm.sendAskYesNo("Once you enter the map, you #rcannot#k return without the #b#t"+ str(darkMarble) +"#s#k, " +# "if you die you will lose your experience.\r\n" +# "Are you ready?") +# +# if response: +# sm.warp(910140000, 0) # Magician Test Site +# sm.startQuestNoCheck(parentID) +# else: +# sm.sendSayOkay("You cannot be a Magician forever. You #bwill#k have to face up to the test.\r\n" +# "Talk to me when you are ready.") +# sm.dispose() diff --git a/scripts/quest/q1417e.py b/scripts/quest/q1417e.py new file mode 100755 index 0000000..eef3515 --- /dev/null +++ b/scripts/quest/q1417e.py @@ -0,0 +1,19 @@ +# [Job Adv] (Lv.30) Way of the Cleric + +darkMarble = 4031013 +job = "Cleric" + +sm.setSpeakerID(1032001) # Grendel the Really Old +if sm.hasItem(darkMarble, 30): + sm.sendNext("I am impressed, you surpassed the test. Only few are talented enough.\r\n" + "You have proven yourself to be worthy, I shall mold your body into a #b"+ job +"#k.") +else: + sm.sendSayOkay("You have not retrieved the #t"+ darkMarble+"#s yet, I will be waiting.") + sm.dispose() + + +sm.consumeItem(darkMarble, 30) +sm.completeQuestNoRewards(parentID) +sm.jobAdvance(230) # Cleric +sm.sendNext("You are now a #b"+ job +"#k.") +sm.dispose() diff --git a/scripts/quest/q1417s.py b/scripts/quest/q1417s.py new file mode 100755 index 0000000..4c28d39 --- /dev/null +++ b/scripts/quest/q1417s.py @@ -0,0 +1,39 @@ +# 1417 - [Job Adv] (Lv.30) Path of the Cleric + +darkMarble = 4031013 +job = "Cleric" +monster = "Zombie Lupin" + +sm.setSpeakerID(1032001) # Grendel the Really Old +sm.sendNext("You wish to become a #b"+ job +"#k?\r\n" + "A #b"+ job +"#k is specialised in supporting spells and uses #bholy magic#k to defeat their enemies." + "There are many useful skills you can acquire.") + +# start of custom +response = sm.sendAskYesNo("Are you sure you want to become a #b" + job + "#k?") + +if response: + sm.completeQuestNoRewards(parentID) + sm.jobAdvance(230) # Cleric + sm.sendSayOkay("Alright! You have now become a #b" + job + "!") +else: + sm.sendSayOkay("Speak to me again and I can explain the three paths to you once more.") + +sm.dispose() +# end of custom + +# sm.sendNext("Before I teach you the ways of the "+ job +", you will have to accomplish a very difficult test. " +# "I will warp you into a special map, in which I require you to defeat #b"+ monster +"#k " +# "and return 30 #i"+ str(darkMarble) +"##z"+ str(darkMarble) +"#s to me.") +# +# response = sm.sendAskYesNo("Once you enter the map, you #rcannot#k return without the #b#t"+ str(darkMarble) +"#s#k, " +# "if you die you will lose your experience.\r\n" +# "Are you ready?") +# +# if response: +# sm.warp(910140000, 0) # Magician Test Site +# sm.startQuestNoCheck(parentID) +# else: +# sm.sendSayOkay("You cannot be a Magician forever. You #bwill#k have to face up to the test.\r\n" +# "Talk to me when you are ready.") +# sm.dispose() diff --git a/scripts/quest/q1419e.py b/scripts/quest/q1419e.py new file mode 100755 index 0000000..4b31ef9 --- /dev/null +++ b/scripts/quest/q1419e.py @@ -0,0 +1,19 @@ +# [Job Adv] (Lv.30) Way of the Hunter + +darkMarble = 4031013 +job = "Hunter" + +sm.setSpeakerID(1012100) +if sm.hasItem(darkMarble, 30): + sm.sendNext("I am impressed, you surpassed the test. Only few are talented enough.\r\n" + "You have proven yourself to be worthy, I shall mold your body into a #b"+ job +"#k.") +else: + sm.sendSayOkay("You have not retrieved the #t"+ darkMarble+"#s yet, I will be waiting.") + sm.dispose() + + +sm.consumeItem(darkMarble, 30) +sm.completeQuestNoRewards(parentID) +sm.jobAdvance(310) # Hunter +sm.sendNext("You are now a #b"+ job +"#k.") +sm.dispose() diff --git a/scripts/quest/q1419s.py b/scripts/quest/q1419s.py new file mode 100755 index 0000000..1347f43 --- /dev/null +++ b/scripts/quest/q1419s.py @@ -0,0 +1,39 @@ +# 1419 - [Job Adv] (Lv.30) Trail of the Hunter + +darkMarble = 4031013 +job = "Hunter" +monster = "Stone Golem" + +sm.setSpeakerID(1012100) # Athena Pierce +sm.sendNext("You wish to become a #b"+ job +"#k?\r\n\r\n" + "A #b"+ job +"#k is specialised in ranged attacks and use #bbows#k to defeat their enemies. " + "There are many useful skills you can acquire.") + +# start of custom +response = sm.sendAskYesNo("Are you sure you wish to become a #b" + job + "#k?") + +if response: + sm.completeQuestNoRewards(parentID) + sm.jobAdvance(310) # Hunter + sm.sendSayOkay("Alright! You have now become a #b" + job + "!") +else: + sm.sendSayOkay("Speak to me again and I can explain the two trails to you once more.") + +sm.dispose() +# end of custom + +# sm.sendNext("Before I teach you the ways of the "+ job +", you will have to accomplish a very difficult test. " +# "I will warp you into a special map, in which I require you to defeat #b"+ monster +"#k " +# "and return 30 #i"+ str(darkMarble) +"##z"+ str(darkMarble) +"#s to me.") +# +# response = sm.sendAskYesNo("Once you enter the map, you #rcannot#k return without the #b#t"+ str(darkMarble) +"#s#k, " +# "if you die you will lose your experience.\r\n" +# "Are you ready?") +# +# if response: +# sm.warp(910070000, 0) # Archer Test Site +# sm.startQuestNoCheck(parentID) +# else: +# sm.sendSayOkay("You cannot be an Archer forever. You #bwill#k have to face up to the test.\r\n" +# "Talk to me when you are ready.") +# sm.dispose() diff --git a/scripts/quest/q1420e.py b/scripts/quest/q1420e.py new file mode 100755 index 0000000..4b9cbdf --- /dev/null +++ b/scripts/quest/q1420e.py @@ -0,0 +1,19 @@ +# [Job Adv] (Lv.30) Way of the Crossbowman + +darkMarble = 4031013 +job = "Crossbowman" + +sm.setSpeakerID(1012100) +if sm.hasItem(darkMarble, 30): + sm.sendNext("I am impressed, you surpassed the test. Only few are talented enough.\r\n" + "You have proven yourself to be worthy, I shall mold your body into a #b"+ job +"#k.") +else: + sm.sendSayOkay("You have not retrieved the #t"+ darkMarble+"#s yet, I will be waiting.") + sm.dispose() + + +sm.consumeItem(darkMarble, 30) +sm.completeQuestNoRewards(parentID) +sm.jobAdvance(320) # Crossbowman +sm.sendNext("You are now a #b"+ job +"#k.") +sm.dispose() diff --git a/scripts/quest/q1420s.py b/scripts/quest/q1420s.py new file mode 100755 index 0000000..0a2c049 --- /dev/null +++ b/scripts/quest/q1420s.py @@ -0,0 +1,40 @@ +# 1420 - [Job Adv] (Lv.30) Trail of the Crossbowman + +darkMarble = 4031013 +job = "Crossbowman" +monster = "Stone Golem" + +sm.setSpeakerID(1012100) # Athena Pierce +sm.sendNext("You wish to become a #b" + job + "#k?\r\n\r\n" + "A #b" + job + "#k is specialised in ranged attacks and use #crossbows#k to defeat their enemies. " + "There are many useful skills you can acquire.") + +# start of custom +response = sm.sendAskYesNo("Are you sure you wish to become a #b" + job + "#k?") + +if response: + sm.completeQuestNoRewards(parentID) + sm.jobAdvance(320) # Crossbowman + sm.sendSayOkay("Alright! You have now become a #b" + job + "!") +else: + sm.sendSayOkay("Speak to me again and I can explain the two trails to you once more.") + +sm.dispose() +# end of custom + +# sm.sendNext("Before I teach you the ways of the " + job + ", you will have to accomplish a very difficult test. " +# "I will warp you into a special map, in which I require you to defeat #b" + monster + "#k " +# "and return 30 #i" + str( +# darkMarble) + "##z" + str(darkMarble) + "#s to me.") +# +# response = sm.sendAskYesNo("Once you enter the map, you #rcannot#k return without the #b#t" + str( +# darkMarble) + "#s#k, if you die you will lose your experience.\r\n" +# "Are you ready?") +# +# if response: +# sm.warp(910070000, 0) # Archer Test Site +# sm.startQuestNoCheck(parentID) +# else: +# sm.sendSayOkay("You cannot be an Archer forever. You #bwill#k have to face up to the test.\r\n" +# "Talk to me when you are ready.") +# sm.dispose() diff --git a/scripts/quest/q1421s.py b/scripts/quest/q1421s.py new file mode 100755 index 0000000..c7f3f28 --- /dev/null +++ b/scripts/quest/q1421s.py @@ -0,0 +1,3 @@ +# The 2 Paths of the Thief + +sm.sendNext("Test - The 2 Paths of the Thief") diff --git a/scripts/quest/q1422e.py b/scripts/quest/q1422e.py new file mode 100755 index 0000000..aa87cb0 --- /dev/null +++ b/scripts/quest/q1422e.py @@ -0,0 +1,19 @@ +# [Job Adv] (Lv.30) Way of the Assassin + +darkMarble = 4031013 +job = "Night Lord" + +sm.setSpeakerID(1052001) +if sm.hasItem(darkMarble, 30): + sm.sendNext("I am impressed, you surpassed the test. Only few are talented enough.\r\n" + "You have proven yourself to be worthy, I shall mold your body into a #b"+ job +"#k.") +else: + sm.sendSayOkay("You have not retrieved the #t"+ darkMarble+"#s yet, I will be waiting.") + sm.dispose() + + +sm.consumeItem(darkMarble, 30) +sm.completeQuestNoRewards(parentID) +sm.jobAdvance(410) # Night Lord +sm.sendNext("You are now a #b"+ job +"#k.") +sm.dispose() diff --git a/scripts/quest/q1422s.py b/scripts/quest/q1422s.py new file mode 100755 index 0000000..87d12eb --- /dev/null +++ b/scripts/quest/q1422s.py @@ -0,0 +1,38 @@ +# 1422 - [Job Adv] (Lv.30) Path of the Assassin + +darkMarble = 4031013 +job = "Assassin" +monster = "Swamp Monster" + +sm.setSpeakerID(1052001) # Dark Lord +sm.sendNext("You wish to become an #b"+ job +"#k?\r\n\r\n" + "An #b"+ job +"#k is specialised in long range attacks and use #bthrowing stars#k to defeat their enemies. " + "There are many useful skills you can acquire.") + +# start of custom +response = sm.sendAskYesNo("Are you sure you wish to become an #b" + job + "#k?") + +if response: + sm.completeQuestNoRewards(parentID) + sm.jobAdvance(410) # Assassin + sm.sendSayOkay("Alright! You have now become a #b" + job + "!") +else: + sm.sendSayOkay("Speak to me again and I can explain the two paths to you once more.") + +sm.dispose() +# end of custom + +# sm.sendNext("Before I teach you the ways of the "+ job +", you will have to accomplish a very difficult test. " +# "I will warp you into a special map, in which I require you to defeat #b"+ monster +"#k " +# "and return 30 #i"+ str(darkMarble) +"##z"+ str(darkMarble) +"#s to me.") +# +# response = sm.sendAskYesNo("Once you enter the map, you #rcannot#k return without the #b#t"+ str(darkMarble) +"#s#k, if you die you will lose your experience.\r\n" +# "Are you ready?") +# +# if response: +# sm.warp(910370000, 0) # Thief Test Site +# sm.startQuestNoCheck(parentID) +# else: +# sm.sendSayOkay("You cannot be a Rogue forever. You #bwill#k have to face up to the test.\r\n" +# "Talk to me when you are ready.") +# sm.dispose() diff --git a/scripts/quest/q1423e.py b/scripts/quest/q1423e.py new file mode 100755 index 0000000..76ef5b6 --- /dev/null +++ b/scripts/quest/q1423e.py @@ -0,0 +1,19 @@ +# [Job Adv] (Lv.30) Way of the Bandit + +darkMarble = 4031013 +job = "Night Lord" + +sm.setSpeakerID(1052001) +if sm.hasItem(darkMarble, 30): + sm.sendNext("I am impressed, you surpassed the test. Only few are talented enough.\r\n" + "You have proven yourself to be worthy, I shall mold your body into a #b"+ job +"#k.") +else: + sm.sendSayOkay("You have not retrieved the #t"+ darkMarble+"#s yet, I will be waiting.") + sm.dispose() + + +sm.consumeItem(darkMarble, 30) +sm.completeQuestNoRewards(parentID) +sm.jobAdvance(420) # Bandit +sm.sendNext("You are now a #b"+ job +"#k.") +sm.dispose() diff --git a/scripts/quest/q1423s.py b/scripts/quest/q1423s.py new file mode 100755 index 0000000..98ff0e9 --- /dev/null +++ b/scripts/quest/q1423s.py @@ -0,0 +1,38 @@ +# 1423 - [Job Adv] (Lv.30) Path of the Bandit + +darkMarble = 4031013 +job = "Bandit" +monster = "Swamp Monster" + +sm.setSpeakerID(1052001) # Dark Lord +sm.sendNext("You wish to become a #b"+ job +"#k?\r\n\r\n" + "A #b"+ job +"#k is specialised in short range attacks and use #bdaggers#k to defeat their enemies." + "There are many useful skills you can acquire.") + +# start of custom +response = sm.sendAskYesNo("Are you sure you wish to become a #b" + job + "#k?") + +if response: + sm.completeQuestNoRewards(parentID) + sm.jobAdvance(420) # Bandit + sm.sendSayOkay("Alright! You have now become a #b" + job + "!") +else: + sm.sendSayOkay("Speak to me again and I can explain the two paths to you once more.") + +sm.dispose() +# end of custom + +# sm.sendNext("Before I teach you the ways of the "+ job +", you will have to accomplish a very difficult test. " +# "I will warp you into a special map, in which I require you to defeat #b"+ monster +"#k " +# "and return 30 #i"+ str(darkMarble) +"##z"+ str(darkMarble) +"#s to me.") +# +# response = sm.sendAskYesNo("Once you enter the map, you #rcannot#k return without the #b#t"+ str(darkMarble) +"#s#k, if you die you will lose your experience.\r\n" +# "Are you ready?") +# +# if response: +# sm.warp(910370000, 0) # Thief Test Site +# sm.startQuestNoCheck(parentID) +# else: +# sm.sendSayOkay("You cannot be a Rogue forever. You #bwill#k have to face up to the test.\r\n" +# "Talk to me when you are ready.") +# sm.dispose() diff --git a/scripts/quest/q1424s.py b/scripts/quest/q1424s.py new file mode 100755 index 0000000..cb78910 --- /dev/null +++ b/scripts/quest/q1424s.py @@ -0,0 +1 @@ +sm.sendNext("Argh") diff --git a/scripts/quest/q1425e.py b/scripts/quest/q1425e.py new file mode 100755 index 0000000..8663dab --- /dev/null +++ b/scripts/quest/q1425e.py @@ -0,0 +1,19 @@ +# [Job Adv] (Lv.30) Brawler of the High Seas + +darkMarble = 4031013 +job = "Brawler" + +sm.setSpeakerID(1090000) +if sm.hasItem(darkMarble, 30): + sm.sendNext("I am impressed, you surpassed the test. Only few are talented enough.\r\n" + "You have proven yourself to be worthy, I shall mold your body into a #b"+ job +"#k.") +else: + sm.sendSayOkay("You have not retrieved the #t"+ darkMarble+"#s yet, I will be waiting.") + sm.dispose() + + +sm.consumeItem(darkMarble, 30) +sm.completeQuestNoRewards(parentID) +sm.jobAdvance(510) # Brawler +sm.sendNext("You are now a #b"+ job +"#k.") +sm.dispose() diff --git a/scripts/quest/q1425s.py b/scripts/quest/q1425s.py new file mode 100755 index 0000000..2bb0d7d --- /dev/null +++ b/scripts/quest/q1425s.py @@ -0,0 +1,38 @@ +# 1425 - [Job Adv] (Lv.30) Brawler of the High Seas + +darkMarble = 4031013 +job = "Brawler" +monster = "OctoPirate" + +sm.setSpeakerID(1090000) +sm.sendNext("You wish to become a #b"+ job +"#k?\r\n\r\n" + "A #b"+ job +"#k is specialised in short range attacks and use #bKnucklers#k to defeat their enemies. " + "There are many useful skills you can acquire.") + +# start of custom +response = sm.sendAskYesNo("Are you sure you wish to become a #b" + job + "#k?") + +if response: + sm.completeQuestNoRewards(parentID) + sm.jobAdvance(510) # Brawler + sm.sendSayOkay("Alright! You have now become a #b" + job + "!") +else: + sm.sendSayOkay("Speak to me again and I can explain the two trails to you once more.") + +sm.dispose() +# end of custom + +# sm.sendNext("Before I teach you the ways of the "+ job +", you will have to accomplish a very difficult test. " +# "I will warp you into a special map, in which I require you to defeat #b"+ monster +"#k " +# "and return 30 #i"+ str(darkMarble) +"##z"+ str(darkMarble) +"#s to me.") +# +# response = sm.sendAskYesNo("Once you enter the map, you #rcannot#k return without the #b#t"+ str(darkMarble) +"#s#k, if you die you will lose your experience.\r\n" +# "Are you ready?") +# +# if response: +# sm.warp(912040000, 0) # Pirate Test Site +# sm.startQuestNoCheck(parentID) +# else: +# sm.sendSayOkay("You cannot be a Magician forever. You #bwill#k have to face up to the test.\r\n" +# "Talk to me when you are ready.") +# sm.dispose() diff --git a/scripts/quest/q1426e.py b/scripts/quest/q1426e.py new file mode 100755 index 0000000..2ee25ff --- /dev/null +++ b/scripts/quest/q1426e.py @@ -0,0 +1,19 @@ +# [Job Adv] (Lv.30) Gunslinger of the Seven Seas + +darkMarble = 4031013 +job = "Gunslinger" + +sm.setSpeakerID(1090000) +if sm.hasItem(darkMarble, 30): + sm.sendNext("I am impressed, you surpassed the test. Only few are talented enough.\r\n" + "You have proven yourself to be worthy, I shall mold your body into a #b"+ job +"#k.") +else: + sm.sendSayOkay("You have not retrieved the #t"+ darkMarble+"#s yet, I will be waiting.") + sm.dispose() + + +sm.consumeItem(darkMarble, 30) +sm.completeQuestNoRewards(parentID) +sm.jobAdvance(520) # Gunslinger +sm.sendNext("You are now a #b"+ job +"#k.") +sm.dispose() diff --git a/scripts/quest/q1426s.py b/scripts/quest/q1426s.py new file mode 100755 index 0000000..ee60caf --- /dev/null +++ b/scripts/quest/q1426s.py @@ -0,0 +1,38 @@ +# 1426 - [Job Adv] (Lv.30) Gunslinger of the Seven Seas + +darkMarble = 4031013 +job = "Gunslinger" +monster = "OctoPirate" + +sm.setSpeakerID(1090000) +sm.sendNext("You wish to become a #b"+ job +"#k?\r\n\r\n" + "A #b"+ job +"#k is specialised in long range attacks and use #bGuns#k to defeat their enemies. " + "There are many useful skills you can acquire.") + +# start of custom +response = sm.sendAskYesNo("Are you sure you wish to become a #b" + job + "#k?") + +if response: + sm.completeQuestNoRewards(parentID) + sm.jobAdvance(520) # Gunslinger + sm.sendSayOkay("Alright! You have now become a #b" + job + "!") +else: + sm.sendSayOkay("Speak to me again and I can explain the two trails to you once more.") + +sm.dispose() +# end of custom + +# sm.sendNext("Before I teach you the ways of the "+ job +", you will have to accomplish a very difficult test. " +# "I will warp you into a special map, in which I require you to defeat #b"+ monster +"#k " +# "and return 30 #i"+ str(darkMarble) +"##z"+ str(darkMarble) +"#s to me.") +# +# response = sm.sendAskYesNo("Once you enter the map, you #rcannot#k return without the #b#t"+ str(darkMarble) +"#s#k, if you die you will lose your experience.\r\n" +# "Are you ready?") +# +# if response: +# sm.warp(912040000, 0) # Pirate Test Site +# sm.startQuestNoCheck(parentID) +# else: +# sm.sendSayOkay("You cannot be a Magician forever. You #bwill#k have to face up to the test.\r\n" +# "Talk to me when you are ready.") +# sm.dispose() diff --git a/scripts/quest/q1428e.py b/scripts/quest/q1428e.py new file mode 100755 index 0000000..3c075be --- /dev/null +++ b/scripts/quest/q1428e.py @@ -0,0 +1,19 @@ +# [Job Adv] (Lv.30) Cannoneer + +darkMarble = 4031013 +job = "Cannoneer" + +sm.setSpeakerID(1072008) +if sm.hasItem(darkMarble, 30): + sm.sendNext("I am impressed, you surpassed the test. Only few are talented enough.\r\n" + "You have proven yourself to be worthy, I shall mold your body into a #b"+ job +"#k.") +else: + sm.sendSayOkay("You have not retrieved the #t"+ darkMarble+"#s yet, I will be waiting.") + sm.dispose() + + +sm.consumeItem(darkMarble, 30) +sm.completeQuestNoRewards(parentID) +sm.jobAdvance(530) # Gunslinger +sm.sendNext("You are now a #b"+ job +"#k.") +sm.dispose() diff --git a/scripts/quest/q1428s.py b/scripts/quest/q1428s.py new file mode 100755 index 0000000..52e4d78 --- /dev/null +++ b/scripts/quest/q1428s.py @@ -0,0 +1,10 @@ +# [Job Adv] (Lv.30) Cannoneer +sm.setSpeakerID(1072008) +sm.sendNext("You must prove yourself before you can advance to Cannoneer. Pass the test first!") +if sm.sendAskYesNo("Fight the OctoPirates and retrieve a Dark Marble from them. This will awaken your Mirror of Insight. I'll send you over immediately once you accept"): + sm.warp(912040000, 0) + sm.startQuestNoCheck(parentID) +else: + sm.sendSayOkay("You cannot stay a mere Pirate. You #bwill#k have to face up to the test.\r\n" + "Talk to me when you are ready.") +sm.dispose() diff --git a/scripts/quest/q1431e.py b/scripts/quest/q1431e.py new file mode 100755 index 0000000..b3615a5 --- /dev/null +++ b/scripts/quest/q1431e.py @@ -0,0 +1,19 @@ +# [Job Adv] (Lv.60) Way of the Crusader + +blackCharm = 4031059 +job = "Crusader" + +sm.setSpeakerID(2020008) +if sm.hasItem(blackCharm, 1): + sm.sendNext("I am impressed, you surpassed the test. Only few are talented enough.\r\n" + "You have proven yourself to be worthy, thus I shall mold your body into a #b"+ job +"#k.") +else: + sm.sendSayOkay("You have not retrieved the #t"+ blackCharm +"# yet, I will be waiting.") + sm.dispose() + + +sm.consumeItem(blackCharm, 1) +sm.completeQuestNoRewards(parentID) +sm.jobAdvance(111) # Crusader +sm.sendSayOkay("You are now a #b"+ job +"#k.") +sm.dispose() diff --git a/scripts/quest/q1432e.py b/scripts/quest/q1432e.py new file mode 100755 index 0000000..81a52ff --- /dev/null +++ b/scripts/quest/q1432e.py @@ -0,0 +1,19 @@ +# [Job Adv] (Lv.60) Way of the White Knight + +blackCharm = 4031059 +job = "White Knight" + +sm.setSpeakerID(2020008) +if sm.hasItem(blackCharm, 1): + sm.sendNext("I am impressed, you surpassed the test. Only few are talented enough.\r\n" + "You have proven yourself to be worthy, thus I shall mold your body into a #b"+ job +"#k.") +else: + sm.sendSayOkay("You have not retrieved the #t"+ blackCharm +"#s yet, I will be waiting.") + sm.dispose() + + +sm.consumeItem(blackCharm, 1) +sm.completeQuestNoRewards(parentID) +sm.jobAdvance(121) # Crusader +sm.sendSayOkay("You are now a #b"+ job +"#k.") +sm.dispose() diff --git a/scripts/quest/q1433e.py b/scripts/quest/q1433e.py new file mode 100755 index 0000000..55a8241 --- /dev/null +++ b/scripts/quest/q1433e.py @@ -0,0 +1,19 @@ +# [Job Adv] (Lv.60) Way of the Berseker + +blackCharm = 4031059 +job = "Berserker" + +sm.setSpeakerID(2020008) +if sm.hasItem(blackCharm, 1): + sm.sendNext("I am impressed, you surpassed the test. Only few are talented enough.\r\n" + "You have proven yourself to be worthy, thus I shall mold your body into a #b"+ job +"#k.") +else: + sm.sendSayOkay("You have not retrieved the #t"+ blackCharm +"#s yet, I will be waiting.") + sm.dispose() + + +sm.consumeItem(blackCharm, 1) +sm.completeQuestNoRewards(parentID) +sm.jobAdvance(131) # Crusader +sm.sendSayOkay("You are now a #b"+ job +"#k.") +sm.dispose() diff --git a/scripts/quest/q1435e.py b/scripts/quest/q1435e.py new file mode 100755 index 0000000..c9f49f7 --- /dev/null +++ b/scripts/quest/q1435e.py @@ -0,0 +1,19 @@ +# [Job Adv] (Lv.60) Way of the Mage FP + +blackCharm = 4031059 +job = "Mage (Fire, Poison)" + +sm.setSpeakerID(2020009) +if sm.hasItem(blackCharm, 1): + sm.sendNext("I am impressed, you surpassed the test. Only few are talented enough.\r\n" + "You have proven yourself to be worthy, thus I shall mold your body into a #b"+ job +"#k.") +else: + sm.sendSayOkay("You have not retrieved the #t"+ blackCharm +"# yet, I will be waiting.") + sm.dispose() + + +sm.consumeItem(blackCharm, 1) +sm.completeQuestNoRewards(parentID) +sm.jobAdvance(211) # Mage FP +sm.sendSayOkay("You are now a #b"+ job +"#k.") +sm.dispose() diff --git a/scripts/quest/q1436e.py b/scripts/quest/q1436e.py new file mode 100755 index 0000000..45e87e7 --- /dev/null +++ b/scripts/quest/q1436e.py @@ -0,0 +1,19 @@ +# [Job Adv] (Lv.60) Way of the Mage IL + +blackCharm = 4031059 +job = "Mage (Ice, Lightning)" + +sm.setSpeakerID(2020009) +if sm.hasItem(blackCharm, 1): + sm.sendNext("I am impressed, you surpassed the test. Only few are talented enough.\r\n" + "You have proven yourself to be worthy, thus I shall mold your body into a #b"+ job +"#k.") +else: + sm.sendSayOkay("You have not retrieved the #t"+ blackCharm +"# yet, I will be waiting.") + sm.dispose() + + +sm.consumeItem(blackCharm, 1) +sm.completeQuestNoRewards(parentID) +sm.jobAdvance(221) # Mage IL +sm.sendSayOkay("You are now a #b"+ job +"#k.") +sm.dispose() diff --git a/scripts/quest/q1437e.py b/scripts/quest/q1437e.py new file mode 100755 index 0000000..0780476 --- /dev/null +++ b/scripts/quest/q1437e.py @@ -0,0 +1,19 @@ +# [Job Adv] (Lv.60) Way of the Priest + +blackCharm = 4031059 +job = "Priest" + +sm.setSpeakerID(2020009) +if sm.hasItem(blackCharm, 1): + sm.sendNext("I am impressed, you surpassed the test. Only few are talented enough.\r\n" + "You have proven yourself to be worthy, thus I shall mold your body into a #b"+ job +"#k.") +else: + sm.sendSayOkay("You have not retrieved the #t"+ blackCharm +"# yet, I will be waiting.") + sm.dispose() + + +sm.consumeItem(blackCharm, 1) +sm.completeQuestNoRewards(parentID) +sm.jobAdvance(231) # Priest +sm.sendSayOkay("You are now a #b"+ job +"#k.") +sm.dispose() diff --git a/scripts/quest/q1439e.py b/scripts/quest/q1439e.py new file mode 100755 index 0000000..a945217 --- /dev/null +++ b/scripts/quest/q1439e.py @@ -0,0 +1,19 @@ +# [Job Adv] (Lv.60) Way of the Ranger + +blackCharm = 4031059 +job = "Ranger" + +sm.setSpeakerID(2020010) +if sm.hasItem(blackCharm, 1): + sm.sendNext("I am impressed, you surpassed the test. Only few are talented enough.\r\n" + "You have proven yourself to be worthy, thus I shall mold your body into a #b"+ job +"#k.") +else: + sm.sendSayOkay("You have not retrieved the #t"+ blackCharm +"# yet, I will be waiting.") + sm.dispose() + + +sm.consumeItem(blackCharm, 1) +sm.completeQuestNoRewards(parentID) +sm.jobAdvance(311) # Ranger +sm.sendSayOkay("You are now a #b"+ job +"#k.") +sm.dispose() diff --git a/scripts/quest/q1440e.py b/scripts/quest/q1440e.py new file mode 100755 index 0000000..ed43a1b --- /dev/null +++ b/scripts/quest/q1440e.py @@ -0,0 +1,19 @@ +# [Job Adv] (Lv.60) Way of the Sniper + +blackCharm = 4031059 +job = "Sniper" + +sm.setSpeakerID(2020010) +if sm.hasItem(blackCharm, 1): + sm.sendNext("I am impressed, you surpassed the test. Only few are talented enough.\r\n" + "You have proven yourself to be worthy, thus I shall mold your body into a #b"+ job +"#k.") +else: + sm.sendSayOkay("You have not retrieved the #t"+ blackCharm +"# yet, I will be waiting.") + sm.dispose() + + +sm.consumeItem(blackCharm, 1) +sm.completeQuestNoRewards(parentID) +sm.jobAdvance(321) # Sniper +sm.sendSayOkay("You are now a #b"+ job +"#k.") +sm.dispose() diff --git a/scripts/quest/q1442e.py b/scripts/quest/q1442e.py new file mode 100755 index 0000000..471d5dc --- /dev/null +++ b/scripts/quest/q1442e.py @@ -0,0 +1,19 @@ +# [Job Adv] (Lv.60) Way of the Hermit + +blackCharm = 4031059 +job = "Hermit" + +sm.setSpeakerID(2020011) +if sm.hasItem(blackCharm, 1): + sm.sendNext("I am impressed, you surpassed the test. Only few are talented enough.\r\n" + "You have proven yourself to be worthy, thus I shall mold your body into a #b"+ job +"#k.") +else: + sm.sendSayOkay("You have not retrieved the #t"+ blackCharm +"# yet, I will be waiting.") + sm.dispose() + + +sm.consumeItem(blackCharm, 1) +sm.completeQuestNoRewards(parentID) +sm.jobAdvance(411) # Hermit +sm.sendSayOkay("You are now a #b"+ job +"#k.") +sm.dispose() diff --git a/scripts/quest/q1443e.py b/scripts/quest/q1443e.py new file mode 100755 index 0000000..fa4d9f5 --- /dev/null +++ b/scripts/quest/q1443e.py @@ -0,0 +1,19 @@ +# [Job Adv] (Lv.60) Way of the Chief Bandit + +blackCharm = 4031059 +job = "Chief Bandit" + +sm.setSpeakerID(2020011) +if sm.hasItem(blackCharm, 1): + sm.sendNext("I am impressed, you surpassed the test. Only few are talented enough.\r\n" + "You have proven yourself to be worthy, thus I shall mold your body into a #b"+ job +"#k.") +else: + sm.sendSayOkay("You have not retrieved the #t"+ blackCharm +"# yet, I will be waiting.") + sm.dispose() + + +sm.consumeItem(blackCharm, 1) +sm.completeQuestNoRewards(parentID) +sm.jobAdvance(421) # Chief Bandit +sm.sendSayOkay("You are now a #b"+ job +"#k.") +sm.dispose() diff --git a/scripts/quest/q1445e.py b/scripts/quest/q1445e.py new file mode 100755 index 0000000..aa9072d --- /dev/null +++ b/scripts/quest/q1445e.py @@ -0,0 +1,19 @@ +# [Job Adv] (Lv.60) Way of the Marauder + +blackCharm = 4031059 +job = "Marauder" + +sm.setSpeakerID(2020013) +if sm.hasItem(blackCharm, 1): + sm.sendNext("I am impressed, you surpassed the test. Only few are talented enough.\r\n" + "You have proven yourself to be worthy, thus I shall mold your body into a #b"+ job +"#k.") +else: + sm.sendSayOkay("You have not retrieved the #t"+ blackCharm +"# yet, I will be waiting.") + sm.dispose() + + +sm.consumeItem(blackCharm, 1) +sm.completeQuestNoRewards(parentID) +sm.jobAdvance(511) # Marauder +sm.sendSayOkay("You are now a #b"+ job +"#k.") +sm.dispose() diff --git a/scripts/quest/q1446e.py b/scripts/quest/q1446e.py new file mode 100755 index 0000000..c356f75 --- /dev/null +++ b/scripts/quest/q1446e.py @@ -0,0 +1,19 @@ +# [Job Adv] (Lv.60) Way of the Outlaw + +blackCharm = 4031059 +job = "Outlaw" + +sm.setSpeakerID(2020013) +if sm.hasItem(blackCharm, 1): + sm.sendNext("I am impressed, you surpassed the test. Only few are talented enough.\r\n" + "You have proven yourself to be worthy, thus I shall mold your body into a #b"+ job +"#k.") +else: + sm.sendSayOkay("You have not retrieved the #t"+ blackCharm +"# yet, I will be waiting.") + sm.dispose() + + +sm.consumeItem(blackCharm, 1) +sm.completeQuestNoRewards(parentID) +sm.jobAdvance(521) # Blade Lord +sm.sendSayOkay("You are now a #b"+ job +"#k.") +sm.dispose() diff --git a/scripts/quest/q1447e.py b/scripts/quest/q1447e.py new file mode 100755 index 0000000..6c84878 --- /dev/null +++ b/scripts/quest/q1447e.py @@ -0,0 +1,17 @@ +# [Job Adv] (Lv.60) Blade Lord + +blackCharm = 4031059 +job = "Blade Lord" +sm.setSpeakerID(2020011) # Alec + +if sm.hasItem(blackCharm, 1): + sm.sendNext("I am impressed, you surpassed the test. Only few are talented enough.\r\n" + "You have proven yourself to be worthy, thus I shall mold your body into a #b"+ job +"#k.") + sm.consumeItem(blackCharm, 1) + sm.completeQuestNoRewards(parentID) + sm.sendSayOkay("You are now a #b"+ job +"#k.") + sm.jobAdvance(433) # Blade Lord +else: + sm.sendSayOkay("You have not retrieved the #t"+ blackCharm +"# yet, I will be waiting.") + + diff --git a/scripts/quest/q1448e.py b/scripts/quest/q1448e.py new file mode 100755 index 0000000..a951129 --- /dev/null +++ b/scripts/quest/q1448e.py @@ -0,0 +1,19 @@ +# [Job Adv] (Lv.60) Cannon Blaster + +blackCharm = 4031059 +job = "Cannon Blaster" + +sm.setSpeakerID(2020013) +if sm.hasItem(blackCharm, 1): + sm.sendNext("I am impressed, you surpassed the test. Only few are talented enough.\r\n" + "You have proven yourself to be worthy, thus I shall mold your body into a #b"+ job +"#k.") +else: + sm.sendSayOkay("You have not retrieved the #t"+ blackCharm +"# yet, I will be waiting.") + sm.dispose() + + +sm.consumeItem(blackCharm, 1) +sm.completeQuestNoRewards(parentID) +sm.jobAdvance(531) # Cannon Blaster +sm.sendSayOkay("You are now a #b"+ job +"#k.") +sm.dispose() diff --git a/scripts/quest/q1451e.py b/scripts/quest/q1451e.py new file mode 100755 index 0000000..5b56ef9 --- /dev/null +++ b/scripts/quest/q1451e.py @@ -0,0 +1,17 @@ +# [Job Adv] (Lv.100) Way of the Hero / Paladin / Dark Knight + +heroicPentagon = 4031343 +heroicStar = 4031344 + +sm.setSpeakerID(2081100) # Gritto +sm.sendNext("You have returned.") + + +sm.sendNext("I will take these tokens of heroism from you, and grant you your 4th job skills.\r\nYou helped a great deal in the fight to come.") + +sm.consumeItem(heroicPentagon, 1) +sm.consumeItem(heroicStar, 1) +sm.completeQuestNoRewards(parentID) +chrJobID = sm.getChr().getJob() +sm.jobAdvance(chrJobID+1) +sm.dispose() diff --git a/scripts/quest/q1451s.py b/scripts/quest/q1451s.py new file mode 100755 index 0000000..026d3f5 --- /dev/null +++ b/scripts/quest/q1451s.py @@ -0,0 +1,24 @@ +# [Job Adv] (Lv.100) Way of the Hero / Paladin / Dark Knight + +heroicPentagon = 4031343 +heroicStar = 4031344 + +sm.setSpeakerID(2081100) # Gritto +if sm.getChr().getLevel() >= 100: + sm.sendNext("You have accomplished the pinnacle of Strength, however there is one more obstacle in your way.\r\n" + "I will test you before I grant you the 4th job powers.") +else: + sm.sendSayOkay("You are not ready yet. Talk to me when you are Level 100.") + + +sm.sendNext("Bring me one #b#i"+ str(heroicPentagon) +"##z"+ str(heroicPentagon) +"##k and one #b#i"+ str(heroicStar) +"##z"+ str(heroicStar) +"##k. " + "These tokens of heroism can be obtained by defeating #bManon#k and #bGriffey#k.") + +response = sm.sendAskYesNo("Are you ready to take the test?") + +if response: + sm.sendSayOkay("I will wait for your arrival.") + sm.startQuestNoCheck(parentID) +else: + sm.sendSayOkay("Talk to me once you feel you are ready.") +sm.dispose() diff --git a/scripts/quest/q14524s.py b/scripts/quest/q14524s.py new file mode 100755 index 0000000..3d85421 --- /dev/null +++ b/scripts/quest/q14524s.py @@ -0,0 +1,15 @@ +sm.setSpeakerID(9400534) # Goddess Avaracia +sm.sendNext("Are you ready to begin?") + +sm.setPlayerAsSpeaker() # Player +sm.sendNext("What are you talking about? Who are you?") + +sm.setSpeakerID(9400534) # Goddess Avaracia +response = sm.sendAskYesNo("There isn't much time to explain, will you help me?") + +if response == 1: + sm.sendNext("Please go eliminate 100 #r#o9390010##k, They need to be dealt with.") + sm.startQuest(parentID) +else: + sm.sendSayOkay("I guess you aren't up for the task") +sm.dispose() \ No newline at end of file diff --git a/scripts/quest/q1453e.py b/scripts/quest/q1453e.py new file mode 100755 index 0000000..aae771b --- /dev/null +++ b/scripts/quest/q1453e.py @@ -0,0 +1,17 @@ +# [Job Adv] (Lv.100) Way of the Arch Mage FP / Arch Mage IL / Bishop + +heroicPentagon = 4031511 +heroicStar = 4031512 + +sm.setSpeakerID(2081200) # Gritto +sm.sendNext("You have returned.") + + +sm.sendNext("I will take these tokens of heroism from you, and grant you your 4th job skills.\r\nYou helped a great deal in the fight to come.") + +sm.consumeItem(heroicPentagon, 1) +sm.consumeItem(heroicStar, 1) +sm.completeQuestNoRewards(parentID) +chrJobID = sm.getChr().getJob() +sm.jobAdvance(chrJobID+1) +sm.dispose() diff --git a/scripts/quest/q1453s.py b/scripts/quest/q1453s.py new file mode 100755 index 0000000..bae4d4f --- /dev/null +++ b/scripts/quest/q1453s.py @@ -0,0 +1,24 @@ +# [Job Adv] (Lv.100) Way of the Arch Mage FP / Arch Mage IL / Bishop + +heroicPentagon = 4031511 +heroicStar = 4031512 + +sm.setSpeakerID(2081200) # Gritto +if sm.getChr().getLevel() >= 100: + sm.sendNext("You have accomplished the pinnacle of Strength, however there is one more obstacle in your way.\r\n" + "I will test you before I grant you the 4th job powers.") +else: + sm.sendSayOkay("You are not ready yet. Talk to me when you are Level 100.") + + +sm.sendNext("Bring me one #b#i"+ str(heroicPentagon) +"##z"+ str(heroicPentagon) +"##k and one #b#i"+ str(heroicStar) +"##z"+ str(heroicStar) +"##k. " + "These tokens of heroism can be obtained by defeating #bManon#k and #bGriffey#k.") + +response = sm.sendAskYesNo("Are you ready to take the test?") + +if response: + sm.sendSayOkay("I will wait for your arrival.") + sm.startQuestNoCheck(parentID) +else: + sm.sendSayOkay("Talk to me once you feel you are ready.") +sm.dispose() diff --git a/scripts/quest/q1455e.py b/scripts/quest/q1455e.py new file mode 100755 index 0000000..66680f8 --- /dev/null +++ b/scripts/quest/q1455e.py @@ -0,0 +1,17 @@ +# [Job Adv] (Lv.100) Way of the Bowmaster / Marksman + +heroicPentagon = 4031514 +heroicStar = 4031515 + +sm.setSpeakerID(2081300) +sm.sendNext("You have returned.") + + +sm.sendNext("I will take these tokens of heroism from you, and grant you your 4th job skills.\r\nYou helped a great deal in the fight to come.") + +sm.consumeItem(heroicPentagon, 1) +sm.consumeItem(heroicStar, 1) +sm.completeQuestNoRewards(parentID) +chrJobID = sm.getChr().getJob() +sm.jobAdvance(chrJobID+1) +sm.dispose() diff --git a/scripts/quest/q1455s.py b/scripts/quest/q1455s.py new file mode 100755 index 0000000..9bffafd --- /dev/null +++ b/scripts/quest/q1455s.py @@ -0,0 +1,24 @@ +# [Job Adv] (Lv.100) Way of the Bowmaster / Marksman + +heroicPentagon = 4031514 +heroicStar = 4031515 + +sm.setSpeakerID(2081300) +if sm.getChr().getLevel() >= 100: + sm.sendNext("You have accomplished the pinnacle of Strength, however there is one more obstacle in your way.\r\n" + "I will test you before I grant you the 4th job powers.") +else: + sm.sendSayOkay("You are not ready yet. Talk to me when you are Level 100.") + + +sm.sendNext("Bring me one #b#i"+ str(heroicPentagon) +"##z"+ str(heroicPentagon) +"##k and one #b#i"+ str(heroicStar) +"##z"+ str(heroicStar) +"##k. " + "These tokens of heroism can be obtained by defeating #bManon#k and #bGriffey#k.") + +response = sm.sendAskYesNo("Are you ready to take the test?") + +if response: + sm.sendSayOkay("I will wait for your arrival.") + sm.startQuestNoCheck(parentID) +else: + sm.sendSayOkay("Talk to me once you feel you are ready.") +sm.dispose() diff --git a/scripts/quest/q1457e.py b/scripts/quest/q1457e.py new file mode 100755 index 0000000..cd9fc0a --- /dev/null +++ b/scripts/quest/q1457e.py @@ -0,0 +1,17 @@ +# [Job Adv] (Lv.100) Way of the NightLord / Shadower + +heroicPentagon = 4031517 +heroicStar = 4031518 + +sm.setSpeakerID(2081400) # Hellin +sm.sendNext("You have returned.") + + +sm.sendNext("I will take these tokens of heroism from you, and grant you your 4th job skills.\r\nYou helped a great deal in the fight to come.") + +sm.consumeItem(heroicPentagon, 1) +sm.consumeItem(heroicStar, 1) +sm.completeQuestNoRewards(parentID) +chrJobID = sm.getChr().getJob() +sm.jobAdvance(chrJobID+1) +sm.dispose() diff --git a/scripts/quest/q1457s.py b/scripts/quest/q1457s.py new file mode 100755 index 0000000..c012d98 --- /dev/null +++ b/scripts/quest/q1457s.py @@ -0,0 +1,24 @@ +# [Job Adv] (Lv.100) Way of the NightLord / Shadower + +heroicPentagon = 4031517 +heroicStar = 4031518 + +sm.setSpeakerID(2081400) # Hellin +if sm.getChr().getLevel() >= 100: + sm.sendNext("You have accomplished the pinnacle of Strength, however there is one more obstacle in your way.\r\n" + "I will test you before I grant you the 4th job powers.") +else: + sm.sendSayOkay("You are not ready yet. Talk to me when you are Level 100.") + + +sm.sendNext("Bring me one #b#i"+ str(heroicPentagon) +"##z"+ str(heroicPentagon) +"##k and one #b#i"+ str(heroicStar) +"##z"+ str(heroicStar) +"##k. " + "These tokens of heroism can be obtained by defeating #bManon#k and #bGriffey#k.") + +response = sm.sendAskYesNo("Are you ready to take the test?") + +if response: + sm.sendSayOkay("I will wait for your arrival.") + sm.startQuestNoCheck(parentID) +else: + sm.sendSayOkay("Talk to me once you feel you are ready.") +sm.dispose() diff --git a/scripts/quest/q1459e.py b/scripts/quest/q1459e.py new file mode 100755 index 0000000..2a19552 --- /dev/null +++ b/scripts/quest/q1459e.py @@ -0,0 +1,17 @@ +# [Job Adv] (Lv.100) Way of the Buccaneer / Corsair + +heroicPentagon = 4031860 +heroicStar = 4031861 + + +sm.setSpeakerID(2081500) # Samuel + +sm.sendNext("You have returned.") +sm.sendNext("I will take these tokens of heroism from you, and grant you your 4th job skills.\r\nYou helped a great deal in the fight to come.") + +sm.consumeItem(heroicPentagon, 1) +sm.consumeItem(heroicStar, 1) +sm.completeQuestNoRewards(parentID) +chrJobID = sm.getChr().getJob() +sm.jobAdvance(chrJobID+1) +sm.dispose() diff --git a/scripts/quest/q1459s.py b/scripts/quest/q1459s.py new file mode 100755 index 0000000..16b346d --- /dev/null +++ b/scripts/quest/q1459s.py @@ -0,0 +1,24 @@ +# [Job Adv] (Lv.100) Way of the Buccaneer / Corsair + +heroicPentagon = 4031860 +heroicStar = 4031861 + +sm.setSpeakerID(2081500) # Samuel +if sm.getChr().getLevel() >= 100: + sm.sendNext("You have accomplished the pinnacle of Strength, however there is one more obstacle in your way.\r\n" + "I will test you before I grant you the 4th job powers.") +else: + sm.sendSayOkay("You are not ready yet. Talk to me when you are Level 100.") + + +sm.sendNext("Bring me one #b#i"+ str(heroicPentagon) +"##z"+ str(heroicPentagon) +"##k and one #b#i"+ str(heroicStar) +"##z"+ str(heroicStar) +"##k. " + "These tokens of heroism can be obtained by defeating #bManon#k and #bGriffey#k.") + +response = sm.sendAskYesNo("Are you ready to take the test?") + +if response: + sm.sendSayOkay("I will wait for your arrival.") + sm.startQuestNoCheck(parentID) +else: + sm.sendSayOkay("Talk to me once you feel you are ready.") +sm.dispose() diff --git a/scripts/quest/q1460e.py b/scripts/quest/q1460e.py new file mode 100755 index 0000000..bb36864 --- /dev/null +++ b/scripts/quest/q1460e.py @@ -0,0 +1,18 @@ +# [Job Adv] (5th job) 5th Job : Call of the erdas + +sm.setSpeakerID(2140001) + +if "1" == sm.getQRValue(parentID): + sm.sendNext("#h #... I've heard many great things about you. \r\n\r\n I wanted to seee you today to tell you about the strange phenomenon that is taking place in this world. \r\n\r\n #L0##bWhat is it?#l") + sm.sendNext("Have you heard about the energy that forms this world, #eErda#n? \r\n\r\n #L1##bErda?#l") + sm.sendNext("Erda continuously comes into existence and perishes, forming and supporting this world. It's not just Maple World where Erda can be found, but also many other worlds in different dimensions. Long before you setpped into this world for the first time, Erda had existed in the soil and trees and in the light and darkness. \r\n\r\n #L2##bIt sounds important.#l") + sm.sendNext("It is. Without erda, this world can't exist. A while ago, I've noticed this important Erda is vanishing little by little. \r\n\r\n #L3##bIt's vanishing?#l") + sm.sendNext("You look doubtful. Seeing is believing. See for yourself, and your perspective of this world will change.") + if sm.sendAskYesNo("If you don't mind, I can help you see the flow of Erda. Now, close your eyes... \r\n\r\n #b(Select Yes to follow the History Observer's instructions and concentrate your mind.)"): + sm.warpInstanceIn(450000200) + +elif "2" == sm.getQRValue(parentID): + sm.sendNext("Do you see now? Do you understand the importance of the Erdas? \r\n\r\n #L4##bI... talked to them.#l") + sm.sendNext("You spoke to the Erdas? Can this be true? I have observed the Erdas my whole life, but never have I communicated with them in any way.") + sm.sendNext("If the Erdas spoke to you... Then you have a grander fate than I suspected. The Erdas wish to give you their power, so that you can protect them. \r\n\r\n #L5##bThat sounds sweet! How does that work?#l") + sm.completeQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q1460s.py b/scripts/quest/q1460s.py new file mode 100755 index 0000000..caac527 --- /dev/null +++ b/scripts/quest/q1460s.py @@ -0,0 +1,9 @@ +# [Job Adv] (5th job) 5th Job : Call of the erdas + +sm.setSpeakerID(2140001) +sm.sendNext("You have come far in the pursuit of rare and incredible power. But in your journeys, did you ever find yourself lost, or unsure of how to proceed?") +if sm.sendAskYesNo("We have meditated on this problem for ages, and at last we may have a solution. Not just for finding power, but for surpassing your limits. If you are interested, come find me in the Temple of Time. \r\n\r\n\r\n #b(Accepting this quest will take you to the Temple of Time for your #e5th Job Advancement#n.)"): + sm.startQuest(parentID) + sm.addQRValue(parentID, "1") + sm.warp(270010111, 0) +sm.dispose() diff --git a/scripts/quest/q1461e.py b/scripts/quest/q1461e.py new file mode 100755 index 0000000..9f92bab --- /dev/null +++ b/scripts/quest/q1461e.py @@ -0,0 +1,6 @@ +# [Job Adv] (5th job) 5th Job : Blessings of the Goddess + +sm.setSpeakerID(2140001) +sm.sendNext("So, you have met with the goddesses and earned their trust. I knew you would succeed.") +sm.completeQuest(parentID) +sm.dispose() \ No newline at end of file diff --git a/scripts/quest/q1461s.py b/scripts/quest/q1461s.py new file mode 100755 index 0000000..6ded344 --- /dev/null +++ b/scripts/quest/q1461s.py @@ -0,0 +1,9 @@ +# [Job Adv] (5th job) 5th Job : Blessings of the Goddess + +sm.setSpeakerID(2140001) +sm.sendNext("According to legend, in ancient times, after the fall of the 365 gods, the goddesses used the Erdas to sculpt this world into being. Supposedly there have also been a select few... humans, elves, demons and dragons... who have learned the art of #bmanipulating The Erda Flow#k from the goddesses themselves.") +#todo show image +if sm.sendAskYesNo("The portal to the Goddess of Maple World can be found at the #bBowman Instructional School in Henesys#k. The Goddess of Grandis can be found at the #bGreat Temple Interior in Pantheon#k. And the Goddess of Tynerum can be found at the #bDeserted Camp at the Dark World Tree#k. If anyone can find their way to the goddess, it is you."): + sm.startQuest(parentID) + sm.sendSayOkay("Come back to me anytime you are lost. \r\n\r\n #b(Go find the goddess of Maple World.)") +sm.dispose() \ No newline at end of file diff --git a/scripts/quest/q1462e.py b/scripts/quest/q1462e.py new file mode 100755 index 0000000..9b7f9a2 --- /dev/null +++ b/scripts/quest/q1462e.py @@ -0,0 +1,12 @@ +# [Job Adv] (5th job) 5th Job : Arcane stone of maple world + +sm.setSpeakerID(1540942) +sm.sendNext("What is it that you want to protect the most in this world? \r\n\r\n #L0#Friends whom I went on adventures with. #l \r\n #L1#The people of Maple World #l") +sm.sendNext("I see. People have many things that are precious to them. There is no right answer... I simply wanted to know where your priorities lie. \r\n\r\n #v2435734# #bArcane Stone of Maple World x1") +if sm.canHold(2435734): + sm.giveItem(2435734) + sm.completeQuest(parentID) + sm.dispose() +else: + sm.sendSayOkay("I have something to give you, but you're carrying too many items. Please empty 1 Use slot, and then talk to me again.") + sm.dispose() \ No newline at end of file diff --git a/scripts/quest/q1462s.py b/scripts/quest/q1462s.py new file mode 100755 index 0000000..a844478 --- /dev/null +++ b/scripts/quest/q1462s.py @@ -0,0 +1,8 @@ +# [Job Adv] (5th job) 5th Job : Arcane stone of maple world + +sm.setSpeakerID(1540942) +sm.sendNext("You have done well. I and my sisters exist to safeguard this world and guide its heroes, but few ever come far enough to meet us.") +sm.sendNext("You wish to claim the power t control the Erdas, yes? It is natural, since you yourself are of the Erdas, as we all are. If you can release this energy from within you, it will unlock new power for you to command. I shall aid you in this effort.") +sm.startQuest(parentID) +sm.sendSayOkay("But there is a question I wish to ask before that. \r\n\r\n #b(What does the goddess want to know from you?)") +sm.dispose() \ No newline at end of file diff --git a/scripts/quest/q1463e.py b/scripts/quest/q1463e.py new file mode 100755 index 0000000..7ab8f61 --- /dev/null +++ b/scripts/quest/q1463e.py @@ -0,0 +1,5 @@ +# [Job Adv] (5th job) 5th Job : Arcane stone of Grandis + +sm.setSpeakerID(1540943) +sm.sendSayOkay("Good job stranger, I will lend you my power.") +sm.completeQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q1463s.py b/scripts/quest/q1463s.py new file mode 100755 index 0000000..1079a5a --- /dev/null +++ b/scripts/quest/q1463s.py @@ -0,0 +1,8 @@ +# [Job Adv] (5th job) 5th Job : Arcane stone of Grandis + +sm.setSpeakerID(1540943) +sm.sendNext("Welcome, stranger. \r\n\r\n I'll lend you my power if you're willing to protect this world.") +sm.sendNext("If you want my help, then you have to prove your strength and bravery to me. Can you confront #rMagnus#k?") +sm.startQuest(parentID) +sm.completeQuest(parentID) +sm.sendSayOkay("I know you can do it. \r\n\r\n #b(Eliminate Magnus once and return.)") diff --git a/scripts/quest/q1464s.py b/scripts/quest/q1464s.py new file mode 100755 index 0000000..3c9c6aa --- /dev/null +++ b/scripts/quest/q1464s.py @@ -0,0 +1,23 @@ +# [Job Adv] (5th job) 5th Job : Arcane stone of Tynerium + +sm.setSpeakerID(1540944) +sm.sendNext("Maple World is a world of order and rules whereas Tynerium is a world of chaos and uncertainty. FOr a long time we've been acting as the shadows of this world.") +sm.sendNext("Truth be told, I don't want to help Maple World, but our world is not complete without it. The Black Mage must be gone for our sake and for everyone else's") +sm.setPlayerAsSpeaker() +sm.sendNext("So are you going to help me?") +sm.setSpeakerID(1540944) +sm.sendNext("Huh? I didn't say that.") +sm.setPlayerAsSpeaker() +sm.sendNext("...") +sm.setSpeakerID(1540944) +sm.sendNext("...") +sm.setPlayerAsSpeaker() +sm.sendNext("...") +sm.setSpeakerID(1540944) +sm.sendNext("All right, all right, don't look at me like that. I'll help you. But I want to test you first. \r\n\r\n #L0#What test? #l") +sm.sendNext("It's a simple test to see how lucky you are. I'm going to send you out of this place. You'll have to come back, but the entrance to this place will have been moved someplace else. \r\n\r\n #L1# Wait, that's unfair?#l") +sm.sendNext("I'm not going to wait for you long. Prove to me how lucky you are. \r\n\r\n #b(Find a Horizon Portal near the upper side of the World Tree within 5 minutes.)") +sm.sendNext("This is what you want, right? I was going to give it to you from the start. Hurry, take it. \r\n\r\n #v2435736# #bArcane Stone of Tynerum x1") +sm.startQuest(parentID) +sm.completeQuest(parentID)#todo +sm.dispose() \ No newline at end of file diff --git a/scripts/quest/q1465e.py b/scripts/quest/q1465e.py new file mode 100755 index 0000000..be24516 --- /dev/null +++ b/scripts/quest/q1465e.py @@ -0,0 +1,7 @@ +# [Job Adv] (5th job) 5th Job : Record of power + +sm.setSpeakerID(2140001) +sm.sendNext("You are now ready to claim a new power... Hand me the activated Arcane Stone. I will use this to awaken a new force within you. \r\n\r\n #b(Press Next to complete the 5th Job Advancement.)") +sm.completeQuest(parentID) +#todo show job adv effect +sm.dispose() \ No newline at end of file diff --git a/scripts/quest/q1465s.py b/scripts/quest/q1465s.py new file mode 100755 index 0000000..fec0e11 --- /dev/null +++ b/scripts/quest/q1465s.py @@ -0,0 +1,9 @@ +# [Job Adv] (5th job) 5th Job : Record of power + +sm.setSpeakerID(2140001) +if sm.sendAskYesNo("But these stones are not yours yet. To make them truly yours, you must mark them with you power. \r\n #b(Activate the Arcane Stone of the Goddess and hunt monsters near your level. The Arcane Stone will record you EXP gain and once activated they will give you the EXP saved in them one more time.)"): + sm.startQuest(parentID) + sm.sendSayOkay("Don't forget to activate all the three Arcane Stones.") + sm.dispose() + + #todo add quest completion of 1474 1475 and 1476 to arcane stones \ No newline at end of file diff --git a/scripts/quest/q1466e.py b/scripts/quest/q1466e.py new file mode 100755 index 0000000..0bc7555 --- /dev/null +++ b/scripts/quest/q1466e.py @@ -0,0 +1,13 @@ +# id 1466 (A Greater Power), field 270000000 +sm.setSpeakerType(3) +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(2140001) # Memory Keeper +sm.sendNext("So, how was it facing those monsters? \r\n\r\n #b#L0#They're stronger than expected. I don't think I can take them alone.#l") +sm.sendNext("Of course... The power of the body and the power of the sould are different. Without #bArcane Power#k, you stand no chance against the threats that lie ahead. And only one tapped into th Erda Flow can wield true #bArcane Power#k") +sm.sendNext("But there is a way. You can forge the Erda within you into the shape of an #bArcane Symbol#k. \r\n\r\n #b#L0#Arcane Symbol?#l") +sm.sendNext("I will give you the most basic symbol for now. It won't be complete at first. But after you gain enough experience there, #bthe symbol will grow more elaborate, and you will be able to enhance its power#k. Don't rush the process... it will happen in time. \r\n\r\n#i1712000# #bArcane Symbol x1") +if sm.canHold(1712000): + sm.giveItem(1712000) + sm.completeQuest(parentID) +else: + sm.sendNext("Please make room in your Equip inventory to receive the Arcane Symbol.") \ No newline at end of file diff --git a/scripts/quest/q1466s.py b/scripts/quest/q1466s.py new file mode 100755 index 0000000..0e88204 --- /dev/null +++ b/scripts/quest/q1466s.py @@ -0,0 +1,12 @@ +# id 1466 (A Greater Power), field 270000000 +sm.setSpeakerType(3) +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(2140001) # Memory Keeper +sm.sendNext("Wait. I have something to tell you before you head for Arcane River.") +res = sm.sendNext("Do you remember one of the temple keepers here named #bKao#k?\r\n\r\n#b#L0# I remember.#l") +sm.sendNext("#fNpc/3003131.img/stand/0#\r\nThat poor child could not discover their identity in the end. I imagine one would do anything to know. Anything.") +res = sm.sendNext("When the temple keepers went through the Gate of the Present to investigate the abnormal flow of Erda, that child disappeared with them.\r\nI wanted to dissuade them, but I was too late.\r\n\r\n#b#L0# I will go through the Gate of the Present and find them.#l") +res = sm.sendNext("Wait. The monsters in Arcane River are born from a river that flows with the highest concentration of Erda we have ever seen...\r\n\r\nYou must possess #eArcane Power#n, or all your strength will come to nothing.\r\n\r\n#b#L0# Arcane Power?#l") +sm.sendSayOkay("Seeing is believing. Go and hunt some of the monsters there. Return when you've had enough.\r\n\r\n#b(Hunt some of the monsters you first encounter at Arcane River, beyond the Gate of the Present, and then go back to the Memory Keeper.)#k") +sm.startQuest(parentID) +sm.completeQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q1478s.py b/scripts/quest/q1478s.py new file mode 100755 index 0000000..849ef2e --- /dev/null +++ b/scripts/quest/q1478s.py @@ -0,0 +1,17 @@ +# id 1478 (V Matrix), field 101070000 +sm.setSpeakerID(2140001) # Memory Keeper +sm.sendNext("Your eyes have been opened to a new power, but there is something you must know before you can wield its true potential.") +sm.sendSay("I am certain you will put that power to a good use, however...") +sm.sendSay("There are some things you should understand about how it works. I know your memory may not be as good as mine, so feel free to take notes.") +sm.sendSay("Your new power can be controlled through a system called the V Matrix. Open the #bSkill window#k and you will see that the #bV tab has appeared#k. Press the #bV Matrix button#k to examine your powers.") +sm.sendSay("If you use the Nodestone I have just given you, you'll get a Node for a new skill. #bDouble-click the node#k in the V Matrix or #bdrag it to an empty slot#k to activate the #bnew skill in the V tab#k.") +sm.sendSay("Contrarily, the skill will disappear from the V tab if you remove the node from the slot.") +sm.sendSay("I am sure your new skill will help you greatly in Arcane River.") +sm.sendSay("The next Nodestone you acquire could contain a #bBoost Node#k or\r\n#bSpecial Node#k or another Skill Node. You can make your existing skills even more powerful by placing Boost Nodes on the V Matrix.") +sm.sendSay("If you place a Special Node in the V Matrix, a mysterious power will surge up to help you, when triggered under special conditions.") +sm.sendSay("But Special Nodes will vanish over time due to the immense quantity of Erdas they expend.") +sm.sendSay("Skill Nodes and Boost Nodes can be enhanced by consuming the same nodes, but this can only be done with the help of a #bNode Master#k. ") +sm.sendSay("Show the node to the Node Master. Select Enhance by right-clicking the Node and then choose the materials to consume.") +sm.sendSay("Lastly, note that the skills and abilities you obtain from equipping Nodes are not affected by buff duration increases or cooldown effects.") +sm.sendSay("I think my explanations should be enough to set such a talented individual as yourself down the proper path. All that's left is for you to wield this new power. Good luck.") +sm.completeQuestNoCheck(parentID) diff --git a/scripts/quest/q1481e.py b/scripts/quest/q1481e.py new file mode 100755 index 0000000..72d0864 --- /dev/null +++ b/scripts/quest/q1481e.py @@ -0,0 +1,5 @@ +# id 1481 (5th job: Preparing for Power) +sm.setSpeakerID(2140000) # Temple Keeper +sm.sendNext("You feel a strong power within. It should be enough to pull through.") +sm.sendNext("#b#p2140001##k will guide you to the trial.") +sm.completeQuest(parentID) diff --git a/scripts/quest/q15149s.py b/scripts/quest/q15149s.py new file mode 100755 index 0000000..b3bd037 --- /dev/null +++ b/scripts/quest/q15149s.py @@ -0,0 +1,9 @@ +# id 15149 (Defeat the Inferno Wolf), field 450002000 +sm.setSpeakerType(3) +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(9001059) # Pollo +sm.sendNext("Hey, listen! A bunch of warriors worked together to finally put a stop to the infamous #r#eInferno Wolf#n#k!") +sm.sendSay("We wouldn't have been able to take him down without your help.") +sm.sendSay("You've dealt #b#eAdequate#n#k damage to the Inferno Wolf.") +sm.sendSay("Here's #i2434634:# #b#t2434634# x1#k as a reward. We'll see you again next time! ") +sm.createQuestWithQRValue(15172, "") diff --git a/scripts/quest/q1600s.py b/scripts/quest/q1600s.py new file mode 100755 index 0000000..f13f989 --- /dev/null +++ b/scripts/quest/q1600s.py @@ -0,0 +1,29 @@ +# [Silent Crusade] A Cry for Help +from net.swordie.ms.constants import QuestConstants + +JAKE = 1052006 +SUBWAY_TRANSTICKET = 2030028 + +sm.setSpeakerID(JAKE) +response = sm.sendAskYesNo("Somebody! Anybody! Help!") + +if response: + sm.sendNext("A lady followed a bunch of creeps into the Subway. They looked really dangerous. " + "Can you head into the #bSubway Construction Site#k and make sure she's okay?") + + sm.sendNext("Hurry to the Subway Ticket Booth!") + + if not sm.canHold(SUBWAY_TRANSTICKET): + sm.sendSayOkay("Please make some room in your 'use' inventory.") + sm.dispose() + + sm.giveItem(SUBWAY_TRANSTICKET) + sm.startQuest(parentID) + sm.showFieldEffect("Map/Effect.img/crossHunter/chapter/start1") + sm.createQuestWithQRValue(QuestConstants.SILENT_CRUSADE_WANTED_TAB_1, "") + sm.createQuestWithQRValue(QuestConstants.SILENT_CRUSADE_WANTED_TAB_2, "") + sm.createQuestWithQRValue(QuestConstants.SILENT_CRUSADE_WANTED_TAB_3, "") + sm.createQuestWithQRValue(QuestConstants.SILENT_CRUSADE_WANTED_TAB_4, "") + +else: + sm.sendSayOkay("Really Nigga?") \ No newline at end of file diff --git a/scripts/quest/q16011e.py b/scripts/quest/q16011e.py new file mode 100755 index 0000000..9afd055 --- /dev/null +++ b/scripts/quest/q16011e.py @@ -0,0 +1,15 @@ +# +# @author once a bakery never a bakery +# @npc Dame Appropiation - Legion Manager +# @quest [Legion] Whip The Whelps +# + +coins = int(sm.getQRValue(18797, "PT")) + 10 +sm.sendSayOkay("'Awesome! Your #bLegion#k is pretty tough! Here is #b#i4310229:# #t4310229# x10#k as your reward." + "\r\nCheck in tomorrow for more training missions!\r\n\r\nI'll go ahead and update your #bWeekly " + "Cumulative Legion Coin Ranking#k!\r\n#bThis Week's Cumulative Coins#k#e: " + str(coins) + "#n") +sm.completeQuestNoRewards(16011) +sm.setQRValue(18797, "PT", str(coins)) +sm.setQRValue(18793, "q1", "1") # LegionQuest +sm.setQRValue(18793, "q1Date", sm.getCurrentDateAsString()) # LegionQuest +sm.gainItem(4310229, 10) \ No newline at end of file diff --git a/scripts/quest/q16011s.py b/scripts/quest/q16011s.py new file mode 100755 index 0000000..512e578 --- /dev/null +++ b/scripts/quest/q16011s.py @@ -0,0 +1,19 @@ +# +# @author bakery fakery +# @npc Dame Appropiation - Legion Manager +# @quest [Legion] Whip The Whelps +# + +sm.sendNext("'Sup! How's your #bLegion#k?\r\nMaking decent gains? Either way, I'm sure it's a load off having " + "people who've got your back.") +if sm.AskYesNo("Listen, the dragon population on the island is getting out of hand... WE NEED TO GO BACK!\r\n\r\n" + "The #rHuge Dragons#k that live in the #rDragon's Domain#k are guarded by a horde of #bDragon Whelps#k. " + "Exterminate #b100#k of them so they never grow big enough to cause trouble.\r\nConsider it a #rtraining " + "mission#k for your Legion. Plus, I'll give you #b#i4310229:# #t4310229# x10#k as a reward.\r\n\r\nWhat " + "do you say?\r\n\r\n#r#eNOTE:#n This quest can only be completed once per world per day.#k"): + + sm.sendSayOkay("Good. You can find #rDragon Whelps#k in the #rDragon's Domain#k, reached by starting a " + "#bLegion Raid#k. Come visit me in town when you've completed your daily quests.\r\nGood luck!") + sm.startQuest(16011) +else: + sm.sendSayOkay("Come visit me whenever you're ready for a #bmission#k") \ No newline at end of file diff --git a/scripts/quest/q16012e.py b/scripts/quest/q16012e.py new file mode 100755 index 0000000..8b45636 --- /dev/null +++ b/scripts/quest/q16012e.py @@ -0,0 +1,19 @@ +# +# @author baking some swords now +# @npc Dame Appropiation - Legion Manager +# @quest [Legion] Defeat the Golden Wyvern +# + +LEGION_QUEST = 18793 + +coins = int(sm.getQRValue(18797, "PT")) + 20 +sm.sendSayOkay("'Awesome! Your #bLegion#k is pretty tough! Here is #b#i4310229:# #t4310229# x20#k as your reward.\r\nCheck in tomorrow for more training missions!\r\n\r\nI'll go ahead and update your #bWeekly Cumulative Legion Coin Ranking#k!\r\n#bThis Week's Cumulative Coins#k#e: " + coins + "#n"); +sm.completeQuest(16012) +sm.setQRValue(18797, "PT", str(coins)) + +# Is this q0 and q2? +sm.setQRValue(LEGION_QUEST, "q0", "1") +sm.setQRValue(LEGION_QUEST, "q0Date", sm.getCurrentDateAsString()) +sm.setQRValue(LEGION_QUEST, "q2", "1") +sm.setQRValue(LEGION_QUEST, "q2Date", sm.getCurrentDateAsString()) +sm.gainItem(4310229, 20) \ No newline at end of file diff --git a/scripts/quest/q16012s.py b/scripts/quest/q16012s.py new file mode 100755 index 0000000..44df948 --- /dev/null +++ b/scripts/quest/q16012s.py @@ -0,0 +1,16 @@ +# +# @author baking legion needs +# @npc Dame Appropiation - Legion Manager +# @quest [Legion] Defeat the Golden Wyvern +# + +sm.sendSayOkay("Hey!\r\nHow's your #bLegion#k?\r\nWatching your Legion grow in strength fills me with pride.") +if sm.sendAskYesNo("I have a #rtraining mission#k for you and your legion.\r\n\r\nSometimes, when you've defeated " + "enough #bDragon Whelps#k, a rare #rGolden Wyvern#k appears. Defeat #b20#k of them and I'll give " + "you #b#i4310229:# #t4310229# x20#k as a reward.\r\n\r\nThink you're up for the challenge?" + "\r\n\r\n#r#eNote:#k This quest can only be completed once per world per day.#k"): + + sm.sendSayOkay("Excellent!\r\n#rGolden Wyverns#k spawn in the #rDragon's Domain#k which reached by starting a #bLegion Raid#k. Come visit me when you're ready to turn in your daily quests.\r\nGood luck!"); + sm.startQuest(16012) +else: + sm.sendSayOkay("Come visit me whenever you're ready for a #bmission#k") \ No newline at end of file diff --git a/scripts/quest/q16013s.py b/scripts/quest/q16013s.py new file mode 100755 index 0000000..7ce4202 --- /dev/null +++ b/scripts/quest/q16013s.py @@ -0,0 +1,55 @@ +# +# @author i baked yunos dick in my oven +# @npc Dame Appropiation - Legion Manager +# @quest [Legion] We Are Legion +# + +DAME = 9010106 +sm.setSpeakerID(DAME) +if sm.getUnionLevel() < 500 or sm.getUnionCharacterCount() < 3: + sm.sendSayOkay("You're not ready to join a Legion, warrior. Legions are reserved for battle-hardened warriors with a " + "#b#eCumulative Level#n of at least 500#k, and require #r#ea minimum of 3 characters#n#k.\r\n\r\n#eWhat " + "is Cumulative Level?#n\r\n#bYour Cumulative Level is the combined level of all your characters on a given " + "world #rwho are Lv. 60+ and have completed the 2nd Job Advancement#k. If you have 40 or more characters, " + "the only your 40 highest level characters will be counted. However, #rZero#k is a special case. Only your" + " highest level Zero will be counted.") +elif not sm.hasQuest(16013) and not sm.hasQuestCompleted(16013): + sm.setQRValue(18793, "q0=1q1=0pq=0q2=0q1Date=" + sm.getCurrentDateAsString() + "pqDate=" + + sm.getCurrentDateAsString() + "q2Date=" + sm.getCurrentDateAsString()) # Legion quest + sm.incrementUnionRank() + sm.completeQuestNoRewards(16013) + sm.sendNext("Hello #b#h0##k. Good to see you again.") + sm.setPlayerAsSpeaker() + sm.sendSay("Have we met?") + sm.setSpeakerID(DAME) + sm.sendSay("Ta-da! It's me, #b#eMs. Appropriation!#n#k Surprised? Frustrated with the everyday bureaucracy of the " + "workplace, I spent my free time getting totally ripped and hunting down dragons. And now I've been " + "knighted by Empress Cygnus!") + sm.sendSay("For a while now, I've been matching Maplers with all kinds of #bpart-time jobs#k to help them build " + "character and level up.\r\n\r\nIt was an okay start, but the system didn't work out the way\r\nI had " + "hoped. Too much bureaucratic red tape.") + sm.sendSay("#b#eBut now, I'M in charge.#n#k Wahahahaha!\r\nAnd the new system I've developed is a zillion times " + "better, with better rewards! Shall I tell you about it?") + sm.sendSay("Several months ago, I went on my first vacation in years. But our cruise ship ran aground on an " + "#buncharted island#k full of #rterrible dragons#k.\r\nAfter the captain and crew were dragged off " + "into the jungle and devoured, we passengers realized that there was only one way we were getting off " + "the island alive...") + sm.sendSay("We took up whatever arms we could find. Pots and pans, knives, and the odd broadsword from somebody's " + "luggage. When the dragons returned to carry us off, we charged forward together and beat them to death!") + sm.sendSay("We ate well that night. And while we sat around the campfire, thinking of our fallen comrades, I " + "reached an epiphany.\r\n\r\nSome among us were seasoned warriors, but just as many were flabby tourists. " + "The only reason we survived is because we banded together..") + sm.sendSay("I realized what was inherently wrong with the part-time job system.") + sm.sendSay("Nothing is gained by going it alone. But working as a group, the strengths of one compensate for the " + "weaknesses of another.\r\n\r\n#bWhen people work together#k, even a pudgy sightseer can take down a " + "giant dragon.") + sm.sendSay("After a few months on the island, we managed to capture and tame enough dragons to fly the remaining " + "survivors to safety. And when I returned to civilization, I knew exactly what I had to do. \r\n\r\n" + "First, I told my boss to suck an egg, and I quit. And then, I started my #bgrand new project#k.") + sm.sendSay("And that project is, the #b#e!#n#k I'm going to help all those sad, weak, and flabby " + "Maplers reach their true potential by pairing them with other warriors!\r\n\r\nThe end result? " + "Everybody makes mad gains and gets swole like me! Oh and they'll probably level up faster.") + sm.sendSay("#h0#! Don't you want to put together a #bLegion#k of swole bros to punch dragons in the face and " + "unlock stat bonuses?\r\nIf you're interested, or have any questions, just talk to me or my squire" + " and fellow cruise survivor, Pancho Sanza.") + sm.progressMessageFont(3, 20, 20, 0, "You can now manage your Legion from the Menu.") diff --git a/scripts/quest/q16014s.py b/scripts/quest/q16014s.py new file mode 100755 index 0000000..8bb5c58 --- /dev/null +++ b/scripts/quest/q16014s.py @@ -0,0 +1,203 @@ +# +# @author sword fighting bakery +# @npc Dame Appropiation - Legion Manager +# @quest Talk to Dame Appropiation +# +DAME = 9010106 + +sm.setSpeakerID(DAME) +# Hack to get intro to work for now (16013 isn't showing up :( ) +if not sm.hasQuest(16013) and not sm.hasQuestCompleted(16013): + if sm.getUnionLevel() < 500 or sm.getUnionCharacterCount() < 3: + sm.sendSayOkay("You're not ready to join a Legion, warrior. Legions are reserved for battle-hardened warriors with a " + "#b#eCumulative Level#n of at least 500#k, and require #r#ea minimum of 3 characters#n#k.\r\n\r\n#eWhat " + "is Cumulative Level?#n\r\n#bYour Cumulative Level is the combined level of all your characters on a given " + "world #rwho are Lv. 60+ and have completed the 2nd Job Advancement#k. If you have 40 or more characters, " + "the only your 40 highest level characters will be counted. However, #rZero#k is a special case. Only your" + " highest level Zero will be counted.") + else: + sm.setQRValue(18793, "q0=1q1=0pq=0q2=0q1Date=" + sm.getCurrentDateAsString() + "pqDate=" + + sm.getCurrentDateAsString() + "q2Date=" + sm.getCurrentDateAsString()) # Legion quest + rank = chr.getUnion().getUnionRank() + if rank == 0: + rank = 101 + sm.setQRValue(18771, "rank=" + str(rank)) # Legion rank + sm.completeQuestNoRewards(16013) + sm.sendNext("Hello #b#h0##k. Good to see you again.") + sm.setPlayerAsSpeaker() + sm.sendSay("Have we met?") + sm.setSpeakerID(DAME) + sm.sendSay("Ta-da! It's me, #b#eMs. Appropriation!#n#k Surprised? Frustrated with the everyday bureaucracy of the " + "workplace, I spent my free time getting totally ripped and hunting down dragons. And now I've been " + "knighted by Empress Cygnus!") + sm.sendSay("For a while now, I've been matching Maplers with all kinds of #bpart-time jobs#k to help them build " + "character and level up.\r\n\r\nIt was an okay start, but the system didn't work out the way\r\nI had " + "hoped. Too much bureaucratic red tape.") + sm.sendSay("#b#eBut now, I'M in charge.#n#k Wahahahaha!\r\nAnd the new system I've developed is a zillion times " + "better, with better rewards! Shall I tell you about it?") + sm.sendSay("Several months ago, I went on my first vacation in years. But our cruise ship ran aground on an " + "#buncharted island#k full of #rterrible dragons#k.\r\nAfter the captain and crew were dragged off " + "into the jungle and devoured, we passengers realized that there was only one way we were getting off " + "the island alive...") + sm.sendSay("We took up whatever arms we could find. Pots and pans, knives, and the odd broadsword from somebody's " + "luggage. When the dragons returned to carry us off, we charged forward together and beat them to death!") + sm.sendSay("We ate well that night. And while we sat around the campfire, thinking of our fallen comrades, I " + "reached an epiphany.\r\n\r\nSome among us were seasoned warriors, but just as many were flabby tourists. " + "The only reason we survived is because we banded together..") + sm.sendSay("I realized what was inherently wrong with the part-time job system.") + sm.sendSay("Nothing is gained by going it alone. But working as a group, the strengths of one compensate for the " + "weaknesses of another.\r\n\r\n#bWhen people work together#k, even a pudgy sightseer can take down a " + "giant dragon.") + sm.sendSay("After a few months on the island, we managed to capture and tame enough dragons to fly the remaining " + "survivors to safety. And when I returned to civilization, I knew exactly what I had to do. \r\n\r\n" + "First, I told my boss to suck an egg, and I quit. And then, I started my #bgrand new project#k.") + sm.sendSay("And that project is, the #b#e!#n#k I'm going to help all those sad, weak, and flabby " + "Maplers reach their true potential by pairing them with other warriors!\r\n\r\nThe end result? " + "Everybody makes mad gains and gets swole like me! Oh and they'll probably level up faster.") + sm.sendSay("#h0#! Don't you want to put together a #bLegion#k of swole bros to punch dragons in the face and " + "unlock stat bonuses?\r\nIf you're interested, or have any questions, just talk to me or my squire" + " and fellow cruise survivor, Pancho Sanza.") + sm.progressMessageFont(3, 20, 20, 0, "You can now manage your Legion from the Menu.") + + + +else: + if sm.getUnionLevel() < 500 or sm.getUnionCharacterCount() < 3 or sm.getUnionRank() == 0: + sm.sendSayOkay("You're not ready to join a Legion, warrior. Legions are reserved for battle-hardened warriors with " + "a #b#eCumulative Level#n of at least 500#k, and require #r#ea minimum of 3 characters#n#k.\r\n\r\n" + "#eWhat is Cumulative Level?#n\r\n#bYour Cumulative Level is the combined level of all your " + "characters on a given world #rwho are Lv. 60+ and have completed the 2nd Job Advancement#k. " + "If you have 40 or more characters, the only your 40 highest level characters will be counted. " + "However, #rZero#k is a special case. Only your highest level Zero will be counted.") + else: + nSel = sm.sendSay("It's a fine day to bludgeon some dragons!\r\nAre you here about your #bLegion#k?\r\n\r\n" + "#L0# #b#l\r\n" + "#L1# #b#l\r\n" + "#L2# #b#k#l\r\n" + "#L3# #b#k#l") + if nSel == 0: + sm.sendSayOkay("Here's how your #eLegion#n stacks up.\r\n\r\n#eLegion Tier: #n#b#e<" + sm.getUnionRankName() + + ">#n#k\r\n#eLegion Rank: #n#b#e<" + str(sm.getUnionLevel()) + ">#n#k\r\n#eLegion-eligible " + "Characters: #n#b#e<" + str(sm.getUnionCharacterCount()) + ">#n#k\r\n#eLegion Members: #n#b#e<" + + str(sm.getUnionAssignedCharacterCount()) + " / " + str(sm.getUnionAssignedMaxCharacterCount()) + + ">#n#k") + elif nSel == 1: + if sm.sendAskYesNo("Are you here to advance your Legion #eto the next rank#n?\r\n\r\n#eCurrent Tier & Rank: " + "#n#b#e<" + sm.getUnionRankName() + ">#n#k\r\n#eNext Tier & Rank: #n#b#e<" + + str(sm.getUnionNextRankName()) + ">#n#k\r\n#eMax Legion Members after Rank-up:#n #b#e<" + + str(sm.getUnionAssignedMaxCharacterCount()) + " --> " + + str(sm.getUnionAssignedNextMaxCharacterCount()) + ">#n#k\r\n\r\nYou must meet the following " + "requirements to rank up:\r\n\r\n#e #r#e" + str(sm.getUnionLevelReq()) + "#n#k #n" + "\r\n#e #b#e#t4310229# x" + str(sm.getUnionCoinReq()) + "#n#k\r\n\r\n Do you want " + "to #eadvance#n your Legion to the next rank?"): + if sm.getQuantityOfItem(4310229) < sm.getUnionCoinReq(): + sm.sendSayOkay("You need more #rLegion Coins#k to rank up. \r\n\r\n#eLegion Coins: #n#r" + + str(sm.getQuantityOfItem(4310229)) + "#k\r\n#eRequired Coins: #n#b" + + str(sm.getUnionCoinReq()) + "#k") + elif sm.getUnionLevel() < sm.getUnionLevelReq(): + sm.sendSayOkay("Your #rCumulative Level#k must be higher to rank up.\r\n\r\n#eCumulative Level: #n#r" + + str(sm.getUnionLevel()) + "#k\r\n#eRequired Level: #n#b" + str(sm.getUnionLevelReq()) + "#k") + else: + if sm.hasItem(4310229, sm.getUnionCoinReq()): + sm.consumeItem(4310229, sm.getUnionCoinReq()) + sm.incrementUnionRank() + sm.sendSayOkay("(Claps enthusiastically)\r\n#eYour Legion has ranked up#n! We've approved you for " + "additional member slots.\r\n\r\n#eNew Rank:#n #b#e<" + sm.getUnionNextRankName() + + ">#n#k\r\n#eMax Legion Members:#n #b#e" + str(sm.getUnionAssignedMaxCharacterCount()) + + "#n#k\r\n\r\nKeep up the hard work!") + else: + sm.sendSayOkay("An error occured, please try again.") + else: + sm.sendSayOkay("Come back and talk to me when you want to take your legion to the next rank.") + + elif nSel == 2: + nSel = sm.sendSay("Did you have questions about the #bLegion System#k?\r\nWhat do you want to know?\r\n#L0# " + "#bWhat are Legions?#k#l\r\n#L1# #bCumulative Level#k#l\r\n#L3# #bAssigned Members and Raid " + "Power#k#l\r\n#L4# #bSynergy Grid and Character Blocks#k#l\r\n#L9# #bSynergy Grid presets#k#l" + "\r\n#L5# #bLegion Raids#k#l\r\n#L6# #bWeekly Coin Rankings#k#l\r\n\r\n#L100# #eNevermind.#n#l") + if nSel == 0: + sm.sendNext("#e#n\r\n\r\nA #eLegion#n is a group made up of #ball of your characters " + "on a given world who meet certain requirements#k\r\n.Legion-eligible characters are those " + "#rLv. 60 or higher#k who have\r\n#rcompleted their 2nd Job Advancement#k\r\n.#rIf you have " + "more than 40 characters within a single world,#k only the #btop 40 highest level characters" + "#k will be eligible to join your Legion\r\n\r\n.#bZero#k characters must be #rLv. 130 or " + "higher#k, and only one may be a member of a given Legion.") + sm.sendSayOkay("#e#n\r\n\r\n#eEligible Legion Members#n each possess a #bcharacter rank#k " + "that advances with their #rlevel#k\r\n\r\n.#e#n\r\n#b#eB (60) -> A (100) ->" + " S (140) -> SS (200) -> SSS (250)#n#k\r\n#e#n\r\n\r\n#b#eB (130) -> " + "A (160) -> S (180) -> SS (200) -> SSS (250)#n#k") + elif nSel == 1: + sm.sendSayOkay("#e#n\r\n\r\n#eCumulative Level#n is the #rtotal level#k of your " + "#bLegion-eligible#k characters\r\n\r\n.Increasing your Cumulative Level is one of the " + "requirements for\r\n#radvancing#k to a higher #bLegion Rank#k and #bTier#k, and increasing " + "your Legion's power as a consequence\r\n\r\n.You can check out #bLegion Rankings#k on the " + "MapleStory homepage as well.") + elif nSel == 3: + sm.sendNext("#e#n\r\n\r\n#bAssigned Members#k are Legion-eligible " + "characters placed on the #bSynergy Grid#k, and thereby assigned to the legion\r\n\r\n.Only " + "#bAssigned Members#k can participate in #rLegion Raids#k, battles against powerful opponents " + "which reward #bLegion Coins#k\r\n\r\n.Characters assigned to the Synergy Grid also activate " + "character-specific #bMember Bonuses#k based on their class, and\r\n#bGrid Bonuses#k based on " + "their occupied tiles. These stat bonuses are applied to #rall your characters within the " + "same world#k.") + sm.sendSayOkay("#e#n\r\n\r\n#bLegion Raid Power#k is calculated based on " + "the #rlevels#k and #rStar Force#k values of assigned legion members\r\n\r\n.The higher your " + "total #bRaid Power#k, the greater the damage you inflict to enemies during #rLegion Raids#k, " + "which means collecting Legion Coins more quickly.") + elif nSel == 4: + sm.sendNext("#e#n\r\n\r\nThe #bSynergy Grid#k is a grid composed of a " + "#etotal of 16 areas#n: #b8 inner#k and #r8 outer#k areas. Each area represents a #bunique " + "stat#k. Characters can be placed on the grid to provide a bonus to the stats corresponding " + "to their positions. The bonus amount is determined by the #rnumber of occupied spaces#k per " + "area\r\n.The #b8 inner areas#k can be #brearranged#k any way you like. But the\r\n#rstats " + "of the 8 areas outside#k are fixed.") + sm.sendNext("#e#n\r\n\r\nWhen you #edrag and drop#n a character to " + "the #bSynergy Grid#k, the character is displayed as a #bblock#k occupying space on the " + "grid\r\n.The #echaracter block#n's shape is determined by the character's\r\n#blevel#k and " + "#bjob type#k.") + sm.sendSayOkay("#e#n\r\n\r\nThe first character placed on the #bSynergy " + "Grid#k must occupy #bone of the 4 central areas#k\r\n\r\n.Subsequent blocks must touch a " + "previous block. Blocks may overlap, although you only receive a given square's bonus once. " + "Characters blocks may be #bflipped or rotated#k as you like, or removed by #bright-clicking#k.") + elif nSel == 9: + sm.sendNext("#e#n\r\n\r\nDifferent roles call for different stat focuses. " + "Thankfully, you can save #bmultiple Synergy Grid configurations#k and switch between them " + "as needed! Want to swap from a warrior to a magic user? Bam! New preset, no problem!") + sm.sendNext("#e#n\r\n\r\n#b#i2436884:##t2436884##k items, available for purchase " + "at the #rCoin Shop#k, are used #bactivate#k presets! You can activate #rup to 3 presets at " + "once#k These presets must be re-activated #bevery 30 days#k.") + sm.sendSayOkay("#e#n\r\n\r\nOnce you have activated a preset, #bclick on its number " + "to select it#k. Then press #eEdit Preset#k. Place your character blocks however you like, " + "then press #rSave Preset#k to save your new preset configuration!\r\nTo apply a saved " + "preset, just #bclick the its number while in Edit Mode and hit confirm.#k") + elif nSel == 5: + sm.sendNext("#e#n\r\n\r\n#bLegion Raids#k are battles where you fight alongside the " + "members of your Legion\r\n.Press the #e button#n in the Legion menu to join " + "your assigned legion members in battle.") + sm.sendNext("#e#n\r\n\r\n#b2 types of enemies#k appear inside #bLegion Raids#k. Your " + "#eprimary#n opponent is a #bHuge Dragon#k that appears in the middle of the battleground" + "\r\n\r\n.Your #bLegion members#k automatically attack the enemy, and your own character " + "can assist them\r\n\r\n.However, after the #bgreen section#k of the #rHuge Dragon's#k HP " + "gauge is gone, it generates a #bprotective shield#k that is immune to damage from your " + "active character. \r\n\r\nOnly damage by the other #bLegion members#k can defeat it. Your " + "Legion members #bcontinue#k to fight the Huge Dragon and collect\r\n#bLegion Coins#k\r\n" + "\r\n.#bLegion Coins#k are #rcalculated when you exit#k the raid. Check in periodically to " + "claim the coins they collect.") + sm.sendNext("#e#n\r\n\r\nThe #esecond#n type of foe you will face is the #bDragon Whelp#k " + "which guards the Huge Dragon. Dragon Whelps can only be injured by #rthe character you are " + "actively playing#k. Defeating them fulfills #bdaily quests#k. Sometimes a rare #bGolden " + "Wyvern#k appears when Dragon Whelps are defeated.") + sm.sendSayOkay("#e#n\r\n\r\nYou get 1 #bLegion Coin#k for every #e100 billion#n damage dealt " + "to the #bHuge Dragon#k. The total damage you have dealt #bresets daily#k\r\n\r\n.It's a " + "good idea to collect your coins regularly, as they will stop accumulating when you reach " + "the coin #rlimit#k for each Legion rank.") + elif nSel == 6: + sm.sendNext("#e#n\r\n\r\nThe #bWeekly Coin Rankings#k are calculated based on the " + "number of #bLegion Coins#k your Legion obtains every week. #bCalculations are performed " + "between Sunday 11:30 PM - Monday 12:30 AM#k.") + sm.sendSayOkay("#e#n\r\n\r\nYour ranking will appear under the #bname of the " + "character#k you\r\n#blast used to update your coin ranking#k\r\n\r\n.The following week, " + "the #rtop 100 ranked Legions#k will receive a\r\n#bspecial gift#k\r\n\r\n.It's a good idea " + "to update often, as your coins from #bdaily quests#k will also be counted.") + elif nSel == 3: + sm.sendSayOkay("TODO: Ranking") diff --git a/scripts/quest/q16018s.py b/scripts/quest/q16018s.py new file mode 100755 index 0000000..136d8d4 --- /dev/null +++ b/scripts/quest/q16018s.py @@ -0,0 +1,27 @@ +# id 16018 ([Tutorial] Runes), field 402000221 +sm.completeQuestNoCheck(parentID) +sm.playSound("DarkParty/scream2", 100) +sm.startQuest(34942) +sm.startQuest(34942) +sm.startQuest(34942) +sm.startQuest(34942) +sm.startQuest(34942) +sm.startQuest(34942) +sm.startQuest(34942) +sm.startQuest(34942) +sm.startQuest(34942) +sm.startQuest(34942) +sm.startQuest(34942) +sm.startQuest(34942) +sm.startQuest(34942) +sm.startQuest(34942) +sm.startQuest(34942) +sm.startQuest(34942) +sm.startQuest(34942) +sm.startQuest(34942) +sm.startQuest(34942) +sm.startQuest(34942) +sm.startQuest(34942) +sm.startQuest(34942) +sm.startQuest(34942) +sm.startQuest(34942) diff --git a/scripts/quest/q1601s.py b/scripts/quest/q1601s.py new file mode 100755 index 0000000..cfd7cfb --- /dev/null +++ b/scripts/quest/q1601s.py @@ -0,0 +1,12 @@ +# [Silent Crusade] Chance? Or Fate? + +STARLING = 9120221 +BLACK_WING_HENCHMAN = 9300470 + +sm.setSpeakerID(STARLING) +sm.sendNext("They're going to launch their attack any moment! " + "We'll all be beaten if we let it happen! Take them down!") + +for i in range(7): + sm.spawnMob(BLACK_WING_HENCHMAN, -391, 64, False) +sm.startQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q16020s.py b/scripts/quest/q16020s.py new file mode 100755 index 0000000..ccf868e --- /dev/null +++ b/scripts/quest/q16020s.py @@ -0,0 +1,2 @@ +sm.addPopUpSay(9010000, 6000, "#b[Guide] Elite Monster#k\r\n\r\nThe huge monster you just defeated is an #b[Elite Monster]#k. Elite monsters appear randomly after you defeat a certain number of monsters!\r\nYou can get #buseful rewards#k from hunting #bElite Monsters#k!\r\n", "FarmSE.img/boxResult") +sm.completeQuest(16020) \ No newline at end of file diff --git a/scripts/quest/q16024s.py b/scripts/quest/q16024s.py new file mode 100755 index 0000000..2272bbf --- /dev/null +++ b/scripts/quest/q16024s.py @@ -0,0 +1,2 @@ +# id 16024 ([Tutorial] Multi KOs), field 402000610 +sm.completeQuestNoCheck(parentID) diff --git a/scripts/quest/q16026s.py b/scripts/quest/q16026s.py new file mode 100755 index 0000000..3e9eefe --- /dev/null +++ b/scripts/quest/q16026s.py @@ -0,0 +1,2 @@ +sm.addPopUpSay(9010000, 6000, "#b[Guide] Combo Kill#k\r\n\r\n\r\nThe orb that was just created is a #b[Combo Kill Orb]#k!\r\n\r\n#b[Combo Kill Orbs]#k are created every #b50 combos#k while hunting monsters and grant #bbonus EXP#k!\r\n", "FarmSE.img/boxResult") +sm.completeQuest(16026) \ No newline at end of file diff --git a/scripts/quest/q16059s.py b/scripts/quest/q16059s.py new file mode 100755 index 0000000..4f2154a --- /dev/null +++ b/scripts/quest/q16059s.py @@ -0,0 +1,26 @@ +# +# author bakery shutdown halp +# npc Dame Appropiation - Legion Manager +# quest [Legion] Introducing Legion +# +DAME = 9010106 +sm.setSpeakerID(DAME) +if chr.getLevel() < 60: + sm.sendSayOkay("Characters must be #bLv. 60 or higher#k to carry out Legion tasks.") +else: + sm.completeQuestNoRewards(16059) + sm.sendNext("Hello! Good to see you again.\r\nYou're over level 60 now!") + sm.setPlayerAsSpeaker() + sm.sendSay("Have we met?") + sm.setSpeakerID(DAME) + sm.sendSay("My name is #b#eMs. Appropriation#n#k. \r\nI'm working on a #rnew project#k to help Maple World heroes over #rlevel 60#k grow.") + sm.sendSay("This project lets me give out #e#rgreat rewards#k#n! \r\nShall I tell you about it?") + sm.sendSay("After a long journey, our cruise ship ran aground on an #buncharted island#k full of #rterrible dragons#k.\r\nAfter the captain and crew were dragged off into the jungle and devoured, we passengers realized that there was only one way we were getting off the island alive.") + sm.sendSay("We took up whatever arms we could find. Pots and pans, knives, and the odd broadsword from somebody's luggage. When the dragons returned to carry us off, we charged forward together and beat them to death!") + sm.sendSay("We ate well that night. And while we sat around the campfire, thinking of our fallen comrades, I reached an epiphany.\r\n\r\nSome among us were seasoned warriors, but just as many were flabby tourists. The only reason we survived is because we banded together.") + sm.sendSay("Suddenly, I knew!\r\nI figured out why we couldn't grow any stronger!") + sm.sendSay("Nothing is gained by going it alone. But working as a group, the strengths of one compensate for the weaknesses of another.\r\n\r\n#bWhen people work together#k, even a pudgy sightseer can take down a giant dragon.") + sm.sendSay("After a few months on the island, we managed to capture and tame enough dragons to fly the remaining survivors to safety. And when I returned to civilization, I knew exactly what I had to do. \r\nFirst, I told my boss to suck an egg, and I quit. Then I started my #bgrand new project#k.") + sm.sendSay("And that project is the #b#eLegion System!#n#k I'm going to help all those sad, weak, and flabby Maplers reach their true potential by pairing them with other warriors!\r\n\r\nThe end result? Everybody makes mad gains and gets swole like me! Oh and they'll probably level up faster.") + sm.sendSay("#h0#! Don't you want to put together a #b#eLegion#k#n of swole bros to punch dragons in the face and unlock stat bonuses?") + sm.sendSay("Give me just a moment. \r\nI'll make preparations to create a Legion!") \ No newline at end of file diff --git a/scripts/quest/q1607s.py b/scripts/quest/q1607s.py new file mode 100755 index 0000000..cd8fff5 --- /dev/null +++ b/scripts/quest/q1607s.py @@ -0,0 +1,26 @@ +# [Silent Crusade] Stranger at the Gate + +STARLING = 9120221 + +sm.setSpeakerID(STARLING) +sm.sendNext("What are the odds... I didn't expect to see you again.") + +sm.setPlayerAsSpeaker() +sm.sendSay("(Isn't that the woman I rescued in the Kerning City Subway?) Hey, long time no see!") + +sm.setSpeakerID(STARLING) +sm.sendSay("I came here to help out the Excavation Site, but it looks like I'm too late. Say, did you see a strange gate around here by any chance?") + +sm.setPlayerAsSpeaker() +sm.sendSay("Yeah, I saw it when I was fighting the Commander Skeleton in the Prohibited Area. It gave me the creeps.") + +sm.setSpeakerID(STARLING) +response = sm.sendAskYesNo("Really? I'd love to see it! Mind showing me where it is?") + +if response: + sm.sendNext("All right! To the Prohibited Area!") + + sm.sendNext("Let's move") + + sm.warp(102040600, 1) + sm.startQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q1608s.py b/scripts/quest/q1608s.py new file mode 100755 index 0000000..f49134e --- /dev/null +++ b/scripts/quest/q1608s.py @@ -0,0 +1,14 @@ +# [Silent Crusade] Into the Gate + +STARLING = 9120221 + +sm.setSpeakerID(STARLING) +response = sm.sendAskYesNo("I bet this weird gate has something to do with all the monsters going crazy. I think we oughtta take a closer look. You ready?") + +if response: + sm.sendNext("I'm counting on you to keep me safe from the big, bad, scary monsters! Let's go!") + + sm.warpInstanceIn(931050410, 0) + sm.startQuest(parentID) +else: + sm.sendSayOkay("No?..") \ No newline at end of file diff --git a/scripts/quest/q1616e.py b/scripts/quest/q1616e.py new file mode 100755 index 0000000..76c8c01 --- /dev/null +++ b/scripts/quest/q1616e.py @@ -0,0 +1,9 @@ +# [Silent Crusade] Starling's Proposal + +BASTILLE = 9073003 + +sm.setSpeakerID(BASTILLE) +sm.sendNext("I've been expecting you! Come, let's go somewhere where we can speak in private.") + +sm.warp(931050500) +sm.completeQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q1617s.py b/scripts/quest/q1617s.py new file mode 100755 index 0000000..81b5cd7 --- /dev/null +++ b/scripts/quest/q1617s.py @@ -0,0 +1,19 @@ +# [Silent Crusade] The Silent Crusade + +BASTILLE = 9073003 +time = 5 *60 + +sm.setSpeakerID(BASTILLE) +response = sm.sendAskYesNo("Yes, yes, I'm sure you're eager to know all about our little operation. " + "But first thing's first! I must test your aptitude. " + "Are you ready to join the Silent Crusade? Well, are you?") + +if response: + sm.sendNext("We shall see. Your test is simple enough: Defeat my puppy, Coco. Shall we begin?") + + sm.warpInstanceIn(931050510) + sm.setInstanceTime(time, 931050500) + sm.startQuest(parentID) + +else: + sm.sendSayOkay("No?...") \ No newline at end of file diff --git a/scripts/quest/q1619s.py b/scripts/quest/q1619s.py new file mode 100755 index 0000000..4cf6ab1 --- /dev/null +++ b/scripts/quest/q1619s.py @@ -0,0 +1,12 @@ +# [Silent Crusade] Nihal Desert Dispatch + +STARLING = 9120221 + +sm.setSpeakerID(STARLING) +sm.sendNext("I've heard reports of a Mystic Gate near Nihal Desert. Meet #bLora#k at the #rRoyal Cactus Desert#k. He'll fill you in.") + +response = sm.sendAskYesNo("Please go now.") + +if response: + sm.sendNext("Good luck, young Crusader!") + sm.startQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q1622e.py b/scripts/quest/q1622e.py new file mode 100755 index 0000000..b6bef56 --- /dev/null +++ b/scripts/quest/q1622e.py @@ -0,0 +1,8 @@ +# [Silent Crusade] Unpleasant Meeting + +CROW = 9073002 + +sm.setSpeakerID(CROW) +sm.sendNext("You're the new guy?") + +sm.completeQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q1628e.py b/scripts/quest/q1628e.py new file mode 100755 index 0000000..5603aaf --- /dev/null +++ b/scripts/quest/q1628e.py @@ -0,0 +1,11 @@ +# [Silent Crusade] Explosive Research + +CROW = 9073002 + +sm.setSpeakerID(CROW) +sm.sendNext("That was close. Stop looking at me like that.") + +sm.sendSay("Sorry. Didn't mean to... Why does this type of stuff always seem to happen to me?") + +sm.showFieldEffect("Map/Effect.img/crossHunter/chapter/end1") +sm.completeQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q1629s.py b/scripts/quest/q1629s.py new file mode 100755 index 0000000..abaf2f0 --- /dev/null +++ b/scripts/quest/q1629s.py @@ -0,0 +1,20 @@ +# [Silent Crusade] Dark Energy Rising + +STARLING = 9120221 +CRANKY_FOREST = 240010200 + +sm.setSpeakerID(STARLING) +sm.sendNext("Long time no see. I heard about your work in Magatia. Crow was really impressed, and that impressed me. " + "He's a hard one to please, but I'm sure I don't have to tell you that.") + +response = sm.sendAskYesNo("Just like in Magatia, Mystic Gates have been popping up in Leafre as well. To make matters worse, dark energy is seeping out of them. " + "We need to handle this fast, and you're just the person to lead the charge. " + "Ready to begin?") + +if response: + sm.sendNext("The Mystic Gate near the Herb area is really making a mess of things. Head over to the #r#m"+ str(CRANKY_FOREST) +"##k and do something about it.") + sm.showFieldEffect("Map/Effect.img/crossHunter/chapter/start2") + sm.startQuest(parentID) + +else: + sm.sendSayOkay("Let me know when you are ready") \ No newline at end of file diff --git a/scripts/quest/q1637e.py b/scripts/quest/q1637e.py new file mode 100755 index 0000000..8c01821 --- /dev/null +++ b/scripts/quest/q1637e.py @@ -0,0 +1,9 @@ +# [Silent Cruade] Progress Report + +BASTILLE = 9073003 + +sm.setSpeakerID(BASTILLE) +sm.sendNext("Did you find anything in Leafre? Come, let's discuss this somewhere more private.") + +sm.warp(931050500) +sm.completeQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q1637s.py b/scripts/quest/q1637s.py new file mode 100755 index 0000000..69c417e --- /dev/null +++ b/scripts/quest/q1637s.py @@ -0,0 +1,18 @@ +# [Silent Cruade] Progress Report + +STARLING = 9120221 + +sm.setSpeakerID(STARLING) +sm.sendNext("The Mystic Gates are connected to the Black Mage somehow. I'm sure of it! " + "The gates seem to control nearby monsters and drain the life right out of anyone who gets near them. " + "But why? At any rate, I need to tell Bastille about all this. Actually, why don't you tell him for me? " + "I'll follow you when I'm done here.") + +response = sm.sendAskYesNo("All right! I'll send you straight to Edelstein!") + +if response: + sm.warp(310000000) + sm.startQuest(parentID) + +else: + sm.sendSayOkay("Let me know when you're ready to be warped.") \ No newline at end of file diff --git a/scripts/quest/q1638e.py b/scripts/quest/q1638e.py new file mode 100755 index 0000000..381a472 --- /dev/null +++ b/scripts/quest/q1638e.py @@ -0,0 +1,23 @@ +# [Silent Crusade] Arkarium, the Guardian of Time + +CROW = 9073002 +BASTILLE = 9073003 + +sm.setSpeakerID(CROW) +sm.sendNext("I think Arkarium's back! Someone saw him at the Temple of Time, though just for a moment...") + +sm.setPlayerAsSpeaker() +sm.sendSay("Who's Arkarium?") + +sm.setSpeakerID(BASTILLE) +sm.sendSay("You don't know THE Arkarium? He was one of the Black Mage's Commanders. After the Black Mage was sealed, he disappeared.") + +sm.setPlayerAsSpeaker() +sm.sendSay("If one of the Black Mage's right-hand guys is back, does that mean the Black Mage is back, too?") + +sm.setSpeakerID(BASTILLE) +sm.sendSay("I'm not sure. But something is amiss in Maple World, that much is certain. " + "The return of Arkarium, the appearance of the Mystic Gates... Evil forces are in motion.") + +sm.completeQuest(parentID) +sm.showFieldEffect("Map/Effect.img/crossHunter/chapter/end2") diff --git a/scripts/quest/q1639e.py b/scripts/quest/q1639e.py new file mode 100755 index 0000000..ca823d7 --- /dev/null +++ b/scripts/quest/q1639e.py @@ -0,0 +1,11 @@ +# [Silent Crusade] A Crack in Time + +BASTILLE = 9073003 + +sm.setSpeakerID(BASTILLE) +sm.sendNext("The puzzle is falling together and I think Arkarium is the final piece. " + "If he's messing with time, we're all in a lot of trouble. He could change the entire timeline! " + "He could make us forget that we ever knew each other and we'd never even know it! " + "This isn't looking good...") + +sm.completeQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q1644s.py b/scripts/quest/q1644s.py new file mode 100755 index 0000000..2307635 --- /dev/null +++ b/scripts/quest/q1644s.py @@ -0,0 +1,6 @@ +medal = 1142351 + +if sm.canHold(medal): + sm.chatScript("You have earned a new medal.") + sm.startQuest(parentID) + sm.completeQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q1645s.py b/scripts/quest/q1645s.py new file mode 100755 index 0000000..1478ba8 --- /dev/null +++ b/scripts/quest/q1645s.py @@ -0,0 +1,6 @@ +medal = 1142352 + +if sm.canHold(medal): + sm.chatScript("You have earned a new medal.") + sm.startQuest(parentID) + sm.completeQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q1646s.py b/scripts/quest/q1646s.py new file mode 100755 index 0000000..799fe21 --- /dev/null +++ b/scripts/quest/q1646s.py @@ -0,0 +1,6 @@ +medal = 1142353 + +if sm.canHold(medal): + sm.chatScript("You have earned a new medal.") + sm.startQuest(parentID) + sm.completeQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q1647s.py b/scripts/quest/q1647s.py new file mode 100755 index 0000000..99070ff --- /dev/null +++ b/scripts/quest/q1647s.py @@ -0,0 +1,6 @@ +medal = 1142354 + +if sm.canHold(medal): + sm.chatScript("You have earned a new medal.") + sm.startQuest(parentID) + sm.completeQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q1653s.py b/scripts/quest/q1653s.py new file mode 100755 index 0000000..ce58995 --- /dev/null +++ b/scripts/quest/q1653s.py @@ -0,0 +1,19 @@ +# [Silent Crusade] Special Delivery + +STARLING = 9120221 +HIDEOUT = 931050500 + +sm.setPlayerAsSpeaker() +sm.sendNext("(You come across a letter, but you're not sure where it came from.)\r\n" + "Hm, this symbol... This letter must be from the Silent Crusade. Might as well open it.") + +sm.setSpeakerID(STARLING) +sm.sendSay("If you're reading this. I need you to return to our hideout as soon as you can. I'll fill you in when you get here.\r\n\r\n" + "-Starling") + +sm.sendSay("P.S. - I've attached transportation to the hideout. Don't lose it, or you'll have to return the long way.") + +sm.startQuest(parentID) +sm.showFieldEffect("Map/Effect.img/crossHunter/chapter/start3") +if not sm.getFieldID() == HIDEOUT: + sm.warp(HIDEOUT) \ No newline at end of file diff --git a/scripts/quest/q1663e.py b/scripts/quest/q1663e.py new file mode 100755 index 0000000..630fb1f --- /dev/null +++ b/scripts/quest/q1663e.py @@ -0,0 +1,16 @@ +# [Silent Crusade] A Veteran Hunter + +BASTILLE = 9073003 +KRAG = 9073005 + +sm.setSpeakerID(BASTILLE) +sm.sendNext("#p"+ str(KRAG) +"# probably mentioned something about a reward? Well, this is for you, #h0#, for investigating the Mystic Gates so effectively.") + +sm.sendSay("You already received your Rank A hunter title from the UI, right? " + "If not, open up the Silent Crusade UI and grab it. " + "I've included a little something extra for you too...") + +sm.sendSay("See you at your next mission. Take care.") + +sm.completeQuest(parentID) +sm.showFieldEffect("Map/Effect.img/crossHunter/chapter/end3") \ No newline at end of file diff --git a/scripts/quest/q1664s.py b/scripts/quest/q1664s.py new file mode 100755 index 0000000..95f948e --- /dev/null +++ b/scripts/quest/q1664s.py @@ -0,0 +1,27 @@ +# [Silent Crusade] An Emergency Summons + +STARLING = 9120221 +LORA = 9073004 +DANGEROUS_CAVE = 230040410 +TICKET = 2030027 + +sm.setPlayerAsSpeaker() +sm.sendNext("(The symbol on the letter you've obtained looks familiar.)\r\n" + "A new mission, perhaps?") + +sm.setSpeakerID(STARLING) +sm.sendSay("From #b#p"+ str(LORA) +"##k at the #r#m"+ str(DANGEROUS_CAVE) +"##k.") + +sm.setPlayerAsSpeaker() +response = sm.sendAskAccept("Something super urgent has come up. What to do, what to do?") + +if response: + sm.sendNext("The ticket's in here. Use it to visit #p"+ str(LORA) +"#.") + + if not sm.canHold(TICKET): + sm.sendSayOkay("Let me make some space in my inventory.") + sm.dispose() + + sm.startQuest(parentID) + sm.showFieldEffect("Map/Effect.img/crossHunter/chapter/start4") + sm.giveItem(TICKET) \ No newline at end of file diff --git a/scripts/quest/q1674e.py b/scripts/quest/q1674e.py new file mode 100755 index 0000000..ce50010 --- /dev/null +++ b/scripts/quest/q1674e.py @@ -0,0 +1,25 @@ +# [Silent Crusade] A Superior Hunter + +BASTILLE = 9073003 +CRUSADER_COIN = 4310029 + +sm.setSpeakerID(BASTILLE) +sm.sendNext("I've been waiting! Did you meet the so-called 'legend'? Tell me about him.") + +sm.setPlayerAsSpeaker() +sm.sendSay("There's not much to say. He keeps to himself.") + +sm.setSpeakerID(BASTILLE) +sm.sendSay("Too bad. I know next to nothing about the guy. Anyway, nice work, #h0#. You're now a #bRank S Hunter#k.") + +sm.sendSay("I only know of three people who have that title. " + "Be proud of yourself. Oh, and here's a little something from me.") + +if not sm.canHold(CRUSADER_COIN): + sm.sendSayOkay("Please make some space in your inventory.") + sm.dispose() + +sm.completeQuest(parentID) +sm.giveItem(CRUSADER_COIN, 100) +sm.showFieldEffect("Map/Effect.img/crossHunter/chapter/end4") +sm.sendNext("I'll see you the next time something pops up. Until then, take care.") diff --git a/scripts/quest/q16880s.py b/scripts/quest/q16880s.py new file mode 100755 index 0000000..865e39a --- /dev/null +++ b/scripts/quest/q16880s.py @@ -0,0 +1,14 @@ +sm.setSpeakerID(9010000) +sm.sendNext("Hello, #b#e#h0##n#k!\r\nWelcome to #e#bMaple World#k#n! I'd like to give you a little help!") +sm.sendSay("Do you know what a #i2030059# #e#bReturn Scroll - Nearest Town#k#n is?") +sm.sendSay("#e#bReturn Scroll - Nearest Town#k#n is an item that sends you to the#r#e nearest town#k#n from your current location. Use it when you're out hunting and ready to return to town. Then you can save those footsies for fighting! Pretty useful, huh?") +sm.sendSay("But don't forget#e#r one#k#n Return Scroll - Nearest Town will be consumed#e#r immediately upon use#k#n.\r\nAlso, you can't use it in#e#r places where Teleport is not allowed#k#n.") +sm.sendSay("Last, you can buy#b Return Scrolls - Nearest Town#k#n from a#b#e Merchant#n#k in the nearest town.") + +if sm.sendAskYesNo("Now I'm ready to hand it over.\r\nDo you want #i2030059##e#b Return Scroll - Nearest Town x10#k#n now?"): + sm.giveItem(2030059, 10) + sm.startQuest(parentID) + sm.completeQuestNoRewards(parentID) + sm.sendSayOkay("I just gave you #i2030059##e#b Return Scroll - Nearest Town x10#k#n.\r\nHappy travels, #e#b#h0##k#n!") +else: + sm.sendSayOkay("If you want to accept the #i2030059##e#b Return Scroll - Nearest Town#k#n, please click the light bulb overhead.") \ No newline at end of file diff --git a/scripts/quest/q16909s.py b/scripts/quest/q16909s.py new file mode 100755 index 0000000..f92bc97 --- /dev/null +++ b/scripts/quest/q16909s.py @@ -0,0 +1,17 @@ +# id 16909 (Gain 2 additional levels for every 1 level up until Lv. 200 during the Tera Burning Project!), field 701220100 +sm.setSpeakerID(9010000) # Maple Administrator +sm.sendNext("Hello, #e#h0##n! Ready to level up in a flash? The #e#rTera Burning Project#n#k is going on right now. You know what that means, two bonus levels for each that you earn!") +sm.sendSay("All #bnew characters#k are eligible to participate, as long as they were created during the Tera Burning Project period, which ends on #b07/23/2019 11:59 PM#k. You can only have #e1 Tera Burning character per account#k though.") +sm.sendSay("Your Tera Burning character will gain #b#e2 additional levels#n#k for each level that they earn, starting from Level 10.\r\n#r(Effect ends at Level 200.)#k") +sm.sendSay("With the #badditional perks that only apply to Tera Burning Characters#k during the Tera Burning Event Period, leveling up beyond Lv. 200 will be easier.") +sm.sendSay("#eFirst Perk:\r\nYou can undertake your #n#b5th Job: Call of the Erdas#k quest without having to complete the prerequisite quests.\r\n#r(Note: Playing through the 5th Job: Call of the Erdas quest in this way will not automatically clear any prerequisite quest steps you may currently have in progress.)") +sm.sendSay("#eSecond Perk:#n\r\nEach time you gain a level in the #bLv. 200 - 209 range#k, you'll get #b#t1712001:# x10#k.\r\n\r\n#eThird Perk:#n\r\nEach time you gain a level in the #bLv. 210 - 220 range#k, you'll get #b#t2438141:# x10#k.") +sm.sendPrev("You'll also receive a gift to help you grow exponentially, so become an #rUnrelenting Flame#k and start leveling!\r\n\r\n#eGift List#n\r\n\r\n#i2439178:##b #t2439178#\r\n#i3700530:##b#t3700530#\r\n#i2630120:##b #t2630120#\r\n#i2630121:##b #t2630121#\r\n#i2439179:##b #t2439179#\r\n#i2433444:# #t2433444#\r\n#i2433509:# #t2433509# (Included in Legendary Cryptic Chest)\r\n#i2433510:# #t2433510# (Included in Legendary Cryptic Chest)\r\n#i1004404:# #t1004404# (Included in Legendary Cryptic Chest)\r\n#i1102799:# #t1102799# (Included in Legendary Cryptic Chest)\r\n#i1052893:# #t1052893# (Included in Legendary Cryptic Chest)\r\n#i2439170:# #t2439170# (Included in Legendary Cryptic Chest)\r\n#i2435742:# #t2435742#") +sm.createQuestWithQRValue(63311, "combo=395") +sm.createQuestWithQRValue(63311, "combo=396") +sm.startQuest(16689) +sm.startQuest(16689) +sm.startQuest(16689) +sm.startQuest(16689) +sm.startQuest(16689) +sm.startQuest(16689) diff --git a/scripts/quest/q17003e.py b/scripts/quest/q17003e.py new file mode 100755 index 0000000..547cb96 --- /dev/null +++ b/scripts/quest/q17003e.py @@ -0,0 +1,30 @@ +# Created by MechAviv +# Quest ID :: 17003 +# [Commerci] Get Rich Quick + +sm.setSpeakerID(9390220) +sm.sendNext("Welcome to Commerci, the place where pockets are sewn with gold thread and buttons are made of gold nuggets. In other words, we're rich.") + + +sm.setSpeakerID(9390220) +sm.sendSay("To start trading, just sign your life away on this contract. Then you'll be one of us. Whoo.") + + +sm.setSpeakerID(9390220) +if sm.sendAskYesNo("You want to be rich, right?"): + sm.setSpeakerID(9390220) + sm.removeEscapeButton() + sm.sendNext("Ha! Great choice, #h0#! You won't regret this. Wait... Where'd the contract go?") + + + # Unhandled Message [INC_COMMITMENT_MESSAGE] Packet: 09 01 00 00 00 00 + sm.completeQuest(17003) + # [GUILD_RESULT] [74 F9 DA 01 00 8E 02 00 00 03 00 00 00 BA 00 00 00 ] + # [GUILD_RESULT] [6D F9 DA 01 00 1E 4F 85 00 8E 02 00 00 19 00 00 00 B2 01 00 00 70 49 CC 55 38 ED D4 01 ] + # Update Quest Record EX | Quest ID: [18418] | Data: B=1347 +else: + sm.setSpeakerID(9390220) + sm.sendNext("Well, the offer stands. Come back whenever you like.") + + + sm.startQuest(17003) \ No newline at end of file diff --git a/scripts/quest/q17003s.py b/scripts/quest/q17003s.py new file mode 100755 index 0000000..a98523a --- /dev/null +++ b/scripts/quest/q17003s.py @@ -0,0 +1,21 @@ +# Created by MechAviv +# Quest ID :: 17003 +# [Commerci] Get Rich Quick + +sm.setSpeakerID(9010010) +sm.sendNext("So how do you like Commerci, #h0#? You know, I actually heard something recently...") + + +sm.setSpeakerID(9010010) +sm.sendSay("I heard you could make gold while trading on Commerci, then use that gold to buy stuff.") + + +sm.setSpeakerID(9010010) +sm.sendSay("They say you have to talk to Maestra Fiametta in the largest building there to get started. Can you go find out more info for me? ") + + +sm.setSpeakerID(9010010) +sm.sendSay("Hey, I want to be rich too, you know?") + + +sm.startQuest(17003) \ No newline at end of file diff --git a/scripts/quest/q17004s.py b/scripts/quest/q17004s.py new file mode 100755 index 0000000..46a0af6 --- /dev/null +++ b/scripts/quest/q17004s.py @@ -0,0 +1,29 @@ +# Created by MechAviv +# Quest ID :: 17004 +# [Commerci] Making a Buck + +sm.setSpeakerID(9390220) +sm.sendNext("That's the very last contract we had. Aren't you lucky? Now, I'd better explain a few things.") + + +sm.setSpeakerID(9390220) +sm.sendSay("You have no money, right? Of course, you don't. You wouldn't be here if you were rich. Here's a welcome gift for joining the trading elite, #h0#. It contains a Cargo Skiff and some funds to get you started.") + + +# Inventory Operation with 1 operations. +# Unhandled Message [INC_COMMITMENT_MESSAGE] Packet: 09 01 00 00 00 00 +sm.startQuest(17004) +sm.completeQuest(17004) +sm.setSpeakerID(9390220) +sm.removeEscapeButton() +sm.sendNext("You need gold to trade, so don't spend it all. Unless you want to quit trading for good.") + + +sm.setSpeakerID(9390220) +sm.removeEscapeButton() +sm.sendSay("Learn more about your ship by clicking the icon on the lower left-hand corner on your character window. Before you know it, you'll be able to afford a bigger boat. ") + + +sm.setSpeakerID(9390220) +sm.removeEscapeButton() +sm.sendPrev("Talk to me again when you're ready to start your very first voyage.") diff --git a/scripts/quest/q17005e.py b/scripts/quest/q17005e.py new file mode 100755 index 0000000..45d887f --- /dev/null +++ b/scripts/quest/q17005e.py @@ -0,0 +1,6 @@ +# id 17005 ([Commerci] Bon Voyage 1), field 865000001 +sm.setSpeakerID(9390220) # Maestra Fiametta +sm.setParam(1) +sm.sendNext("You've completed your first voyage, and my hair still looks perfect. All in all, I'd say it was a tremendous success. I will join you permanently!") +sm.sendSay("Speak to me when you are ready to set sail once more. ") +sm.completeQuestNoCheck(parentID) diff --git a/scripts/quest/q17005s.py b/scripts/quest/q17005s.py new file mode 100755 index 0000000..f2e70f1 --- /dev/null +++ b/scripts/quest/q17005s.py @@ -0,0 +1,30 @@ +# Created by MechAviv +# Quest ID :: 17005 +# [Commerci] Bon Voyage 1 +from net.swordie.ms.enums import UIType + + +sm.setSpeakerID(9390220) +sm.removeEscapeButton() +sm.flipDialogue() +sm.sendSayNextIllustration("Each time you start a voyage, you have to select a destination.", 9390220, True) + + +# Update Quest Record EX | Quest ID: [17009] | Data: step=1 +sm.openUI(UIType.UI_SAILING) +sm.setSpeakerID(9390220) +sm.removeEscapeButton() +sm.flipDialogue() +sm.sendSayIllustration("The blue locations are the ones available to you. ", 9390220, True) + + +sm.setSpeakerID(9390220) +sm.removeEscapeButton() +sm.flipDialogue() +sm.sendSayIllustration("The only place you can go right now is [Dolce]. But trade more, and you'll unlock new places.", 9390220, True) + + +sm.setSpeakerID(9390220) +sm.removeEscapeButton() +sm.flipDialogue() +sm.sendSayPrevIllustration("Mouseover each destination to get more information about it. Now, how about heading over to [Dolce]?", 9390220, True) \ No newline at end of file diff --git a/scripts/quest/q17006e.py b/scripts/quest/q17006e.py new file mode 100755 index 0000000..dfee672 --- /dev/null +++ b/scripts/quest/q17006e.py @@ -0,0 +1,6 @@ +# id 17006 ([Commerci] Bon Voyage 2), field 865000001 +sm.completeQuestNoCheck(parentID) +sm.setSpeakerID(9390220) # Maestra Fiametta +sm.setParam(1) +sm.sendNext("You've been given 1 Commerci Denaro for the previous voyage. ") +sm.sendPrev("Don't forget to visit me to get your voyage rewards. ") diff --git a/scripts/quest/q17006s.py b/scripts/quest/q17006s.py new file mode 100755 index 0000000..bcce442 --- /dev/null +++ b/scripts/quest/q17006s.py @@ -0,0 +1,7 @@ +# id 17006 ([Commerci] Bon Voyage 2), field 865000001 +sm.setSpeakerID(9390220) # Maestra Fiametta +sm.setParam(5) +sm.createQuestWithQRValue(17009, "step=2") +sm.openUI(189) +sm.setSpeakerType(3) +sm.warp(865000900) diff --git a/scripts/quest/q17007e.py b/scripts/quest/q17007e.py new file mode 100755 index 0000000..4c324fe --- /dev/null +++ b/scripts/quest/q17007e.py @@ -0,0 +1,23 @@ +# id 17007 ([Commerci] Bon Voyage 3), field 865000001 +sm.completeQuestNoCheck(parentID) +sm.setSpeakerID(9390220) # Maestra Fiametta +sm.setParam(1) +sm.sendNext("You've been given 1 Commerci Denaro for the previous voyage. ") +sm.sendSay("You now know everything you need to know to grow rich. Keep at it, and before you know it, you'll be a billionaire. Ha.") +sm.sendPrev("I look forward to the day you join the ranks of Commerci's most wealthy. ") +sm.setParam(0) +res = sm.sendNext("Hello, #e#b#h0##k#n. Welcome to the Commerci Trade Center. \r\n#b\r\n#L0#Enter trade#l#b\r\n#L1#Stimulus System#l#b\r\n#L2#Move to the Merchant Union trade location#l#b\r\n#L3#The vessel's energy will be recharged manually.#l#b\r\n#L4#The goods will be manually restocked.#l") +sm.sendNext("You've earned #r#e30458#k#n EXP through your trades. You also have #b#e11#k#n Commerci Denaros and #d#e8544#k#n Mesos waiting for you.") +res = sm.sendAskYesNo("Do you want your voyage earnings right now?") +sm.createQuestWithQRValue(17011, "") +sm.createQuestWithQRValue(17012, "") +sm.createQuestWithQRValue(17013, "") +sm.createQuestWithQRValue(17014, "") +sm.createQuestWithQRValue(17015, "") +sm.createQuestWithQRValue(17023, "end=0") +sm.sendNext("There you go, allotment complete. ") +sm.openUI(189) +sm.createQuestWithQRValue(17011, "") +sm.createQuestWithQRValue(17011, "C=10") +sm.createQuestWithQRValue(17011, "C=10;S=0") +sm.warp(865000101) diff --git a/scripts/quest/q17007s.py b/scripts/quest/q17007s.py new file mode 100755 index 0000000..2357108 --- /dev/null +++ b/scripts/quest/q17007s.py @@ -0,0 +1,7 @@ +# id 17007 ([Commerci] Bon Voyage 3), field 865000001 +sm.setSpeakerID(9390220) # Maestra Fiametta +sm.setParam(5) +sm.createQuestWithQRValue(17009, "step=3") +sm.openUI(189) +sm.setSpeakerType(3) +sm.warp(865000100) diff --git a/scripts/quest/q17019e.py b/scripts/quest/q17019e.py new file mode 100755 index 0000000..89f6e56 --- /dev/null +++ b/scripts/quest/q17019e.py @@ -0,0 +1,21 @@ +# id 17019 ([Commerci Trade] Ten Trades for Luna), field 865000001 +sm.setSpeakerID(9390220) # Maestra Fiametta +sm.setParam(1) +sm.sendNext("I see you've completed your voyage to Dolce. ") +sm.sendSay("You've unlocked a new destination. Open your Voyage Map and you'll see that Luna is now selectable.") +sm.sendSay("Trade more and we'll all be rich. Everybody wins.") +sm.setParam(0) +res = sm.sendNext("Hello, #e#b#h0##k#n. Welcome to the Commerci Trade Center. \r\n#b\r\n#L0#Enter trade#l#b\r\n#L1#Stimulus System#l#b\r\n#L2#Move to the Merchant Union trade location#l#b\r\n#L3#The vessel's energy will be recharged manually.#l#b\r\n#L4#The goods will be manually restocked.#l") +sm.sendNext("You've earned #r#e1267167#k#n EXP through your trades. You also have #b#e12#k#n Commerci Denaros and #d#e325638#k#n Mesos waiting for you.") +res = sm.sendAskYesNo("Do you want your voyage earnings right now?") +sm.createQuestWithQRValue(17011, "") +sm.createQuestWithQRValue(17012, "") +sm.createQuestWithQRValue(17013, "") +sm.createQuestWithQRValue(17014, "") +sm.createQuestWithQRValue(17015, "") +sm.sendNext("There you go, allotment complete. ") +sm.openUI(189) +sm.createQuestWithQRValue(17011, "") +sm.createQuestWithQRValue(17011, "C=15") +sm.createQuestWithQRValue(17011, "C=15;S=0") +sm.warp(865000101) diff --git a/scripts/quest/q17509s.py b/scripts/quest/q17509s.py new file mode 100755 index 0000000..1db5577 --- /dev/null +++ b/scripts/quest/q17509s.py @@ -0,0 +1,4 @@ +# id 17509 ([Tynerum] Putting Out the Fires!), field 863100005 +sm.setSpeakerType(3) +sm.setParam(17) +sm.sendSayOkay("I need to find #m863000001#.") diff --git a/scripts/quest/q17510s.py b/scripts/quest/q17510s.py new file mode 100755 index 0000000..4d5c6c9 --- /dev/null +++ b/scripts/quest/q17510s.py @@ -0,0 +1,4 @@ +# id 17510 ([Tynerum] Ragtime Jamboree), field 863000001 +sm.setSpeakerType(3) +sm.setParam(17) +sm.sendSayOkay("I should be heading toward #m863000002#.") diff --git a/scripts/quest/q17511s.py b/scripts/quest/q17511s.py new file mode 100755 index 0000000..2441bea --- /dev/null +++ b/scripts/quest/q17511s.py @@ -0,0 +1,4 @@ +# id 17511 ([Tynerum] Monstrous Overcrowding!), field 863000002 +sm.setSpeakerType(3) +sm.setParam(17) +sm.sendSayOkay("I should be heading toward #m863000004#.") diff --git a/scripts/quest/q17513s.py b/scripts/quest/q17513s.py new file mode 100755 index 0000000..0958824 --- /dev/null +++ b/scripts/quest/q17513s.py @@ -0,0 +1,10 @@ +# id 17513 ([Tynerum]Hey, Hey, Jay-Jay), field 863000016 +sm.setSpeakerType(3) +sm.setParam(17) +sm.sendNext("It's a dead end. There's nowhere to go...") +sm.sendSay("Who knows what's beyond that illusion...") +sm.setParam(16) +res = sm.sendAskYesNo("Better go talk to #b#p2134008##d for now.\r\n(Click Yes to teleport.)") +sm.startQuest(parentID) +sm.startQuest(17420) +sm.warp(863100005) diff --git a/scripts/quest/q17515e.py b/scripts/quest/q17515e.py new file mode 100755 index 0000000..8a39263 --- /dev/null +++ b/scripts/quest/q17515e.py @@ -0,0 +1,4 @@ +# id 17515 ([Tynerum] Jay-Jay's Secret Exit), field 863100000 +sm.setSpeakerType(3) +sm.setParam(17) +sm.sendSayOkay("I should be heading toward #m863100006#.") diff --git a/scripts/quest/q17516e.py b/scripts/quest/q17516e.py new file mode 100755 index 0000000..987b14a --- /dev/null +++ b/scripts/quest/q17516e.py @@ -0,0 +1,6 @@ +# id 17516 ([Tynerum] Crimsonwhat?), field 863100100 +sm.setSpeakerType(3) +sm.setParam(17) +sm.sendNext("Well, she's gone.") +sm.sendSay("Something weird is going on here. I'd better keep looking around.") +sm.completeQuestNoCheck(parentID) diff --git a/scripts/quest/q17516s.py b/scripts/quest/q17516s.py new file mode 100755 index 0000000..488b93c --- /dev/null +++ b/scripts/quest/q17516s.py @@ -0,0 +1,16 @@ +# id 17516 ([Tynerum] Crimsonwhat?), field 863100100 +sm.setSpeakerID(9390102) # Unknown Device +sm.setParam(17) +sm.sendNext("This is just like the Shadow Veil Forest, where the demons lived.") +sm.sendSay("I see... something.") +sm.setParam(0) +sm.sendSay("Get out, peon.") +sm.setParam(17) +sm.sendSay("Nobody ever invites me in, and I'm such a nice house guest. Who are you?") +sm.setParam(0) +sm.sendSay("How dare you set foot in my forest?") +sm.setParam(17) +sm.sendSay("This place is abandoned. And I asked you a question. Who are you?") +sm.setParam(0) +sm.sendSay("Leave.") +sm.startQuest(parentID) diff --git a/scripts/quest/q17518e.py b/scripts/quest/q17518e.py new file mode 100755 index 0000000..93e4783 --- /dev/null +++ b/scripts/quest/q17518e.py @@ -0,0 +1,7 @@ +# id 17518 ([Tynerum] A Brush with Hilla), field 863100104 +sm.setSpeakerID(9390100) # Hilla +sm.sendNext("You broke through my servants? Not bad.") +sm.sendSay("Unfortunately for you, I'm already done with my business here.") +sm.sendSay("You sure you have time to chase me? Shouldn't you be making your bed or something?") +sm.sendSay("You'll eventually find out. Ciao!") +sm.completeQuestNoCheck(parentID) diff --git a/scripts/quest/q17518s.py b/scripts/quest/q17518s.py new file mode 100755 index 0000000..0b2d60a --- /dev/null +++ b/scripts/quest/q17518s.py @@ -0,0 +1,22 @@ +# id 17518 ([Tynerum] A Brush with Hilla), field 863100104 +sm.setSpeakerID(9390100) # Hilla +sm.sendNext("So, you came.") +sm.setParam(17) +sm.sendSay("...Hilla?") +sm.setParam(0) +sm.sendSay("I told you to go away, but you wouldn't listen. ") +sm.setParam(17) +sm.sendSay("YOU're the one behind all this nonsense!") +sm.setParam(0) +sm.sendSay("What of it?") +sm.setParam(17) +sm.sendSay("What are you scheming?!") +sm.setParam(0) +sm.sendSay("Scheming? I'm not scheming. I'm working on getting what I want.") +sm.setParam(17) +sm.sendSay("I'll stop whatever horrible ritual you've got cooked up!") +sm.setParam(0) +res = sm.sendAskYesNo("You really don't have to beg me to destroy you. I'll happily oblige.") +sm.sendNext("Are you ready to join my undead army? It'll only take a minute.") +sm.startQuest(parentID) +sm.warp(863100105) diff --git a/scripts/quest/q17524e.py b/scripts/quest/q17524e.py new file mode 100755 index 0000000..1b0e88d --- /dev/null +++ b/scripts/quest/q17524e.py @@ -0,0 +1,8 @@ +# id 17524 ([Gollux] The Cleansing), field 863010000 +sm.setSpeakerID(9390120) # Heart Tree Guardian +sm.sendNext("I didn't think you were strong enough to handle this at first, but I was wrong.") +sm.sendSay("Gollux has been subdued. The heart on this altar reflects its mood. ") +sm.sendSay("But the corruption is not so easily stymied. The creature will awaken tomorrow, ready to walk the land again.") +sm.sendSay("However, a temporary relief is better than no relief at all. ") +sm.completeQuestNoCheck(parentID) +sm.sendPrev("Check your inventory for your Gollux Coins and a title befitting a guardian of Tynerum.") diff --git a/scripts/quest/q17524s.py b/scripts/quest/q17524s.py new file mode 100755 index 0000000..613d0ae --- /dev/null +++ b/scripts/quest/q17524s.py @@ -0,0 +1,9 @@ +# id 17524 ([Gollux] The Cleansing), field 863010000 +sm.setSpeakerID(9390120) # Heart Tree Guardian +sm.sendNext("This is the Heart Tree once stood, before it was Gollux.") +sm.sendSay("I created this place in the hopes that it would return to its former self one day. But the corruption has spread so far... I'm not sure it can ever truly return.") +sm.sendSay("Gollux is a colossal being, but it is much like us. If its head falls, the rest of it will follow. It will not be easy though.") +sm.sendSay("You could go directly for its head if you wanted, but it would not be advisable. If one were to attack its arms and legs first, an assault on his head might be less dangerous. ") +res = sm.sendAskYesNo("Will you help me?") +sm.startQuest(parentID) +sm.sendNext("Thank you.") diff --git a/scripts/quest/q17525e.py b/scripts/quest/q17525e.py new file mode 100755 index 0000000..5732318 --- /dev/null +++ b/scripts/quest/q17525e.py @@ -0,0 +1,6 @@ +# id 17525 ([Gollux] The Right Shoulder), field 863010000 +sm.setSpeakerID(9390120) # Heart Tree Guardian +sm.sendNext("Good work on the right shoulder. You shoudl be able to move to the next phase now.") +sm.sendSay("Here's a little something to celebrate your valor. Please go ahead.") +sm.completeQuestNoCheck(parentID) +sm.sendPrev("Check your inventory for the item.") diff --git a/scripts/quest/q17525s.py b/scripts/quest/q17525s.py new file mode 100755 index 0000000..dadaed4 --- /dev/null +++ b/scripts/quest/q17525s.py @@ -0,0 +1,8 @@ +# id 17525 ([Gollux] The Right Shoulder), field 863010000 +sm.setSpeakerID(9390120) # Heart Tree Guardian +sm.sendNext("You can greatly reduce Gollux's strength if you neutralize its head last.") +sm.sendSay("Dodging its hands on the way up to its head won't be easy.") +sm.sendSay("You can weaken the beast by damaging its right shoulder. Its defensive aura and abilities should fall, and it will not be able to use its right arm when you attack its head.") +res = sm.sendAskYesNo("What do you think? Do you want to give it a try?") +sm.startQuest(parentID) +sm.sendNext("Neutralize its right shoulder, and you will be one step closer to success.") diff --git a/scripts/quest/q17526e.py b/scripts/quest/q17526e.py new file mode 100755 index 0000000..06f430e --- /dev/null +++ b/scripts/quest/q17526e.py @@ -0,0 +1,6 @@ +# id 17526 ([Gollux] The Left Shoulder), field 863010000 +sm.setSpeakerID(9390120) # Heart Tree Guardian +sm.sendNext("The loss of its left arm should make this much easier. Perhaps the day we can restore Gollux to the peaceful creature it once was is nigh. You can move on to the next phase now.") +sm.sendSay("Here's a little something to celebrate your valor. Please go ahead.") +sm.completeQuestNoCheck(parentID) +sm.sendPrev("Check your inventory for the item.") diff --git a/scripts/quest/q17526s.py b/scripts/quest/q17526s.py new file mode 100755 index 0000000..0a2a4f9 --- /dev/null +++ b/scripts/quest/q17526s.py @@ -0,0 +1,8 @@ +# id 17526 ([Gollux] The Left Shoulder), field 863010000 +sm.setSpeakerID(9390120) # Heart Tree Guardian +sm.sendNext("You can greatly reduce Gollux's strength if you neutralize its head last.") +sm.sendSay("Dodging its hands on the way up to its head won't be easy.") +sm.sendSay("You can weaken the beast by damaging its left shoulder. Its defensive aura and abilities should fall, and it will not be able to use its left arm when you attack its head.") +res = sm.sendAskYesNo("What do you think? Do you want to give it a try?") +sm.startQuest(parentID) +sm.sendNext("Neutralize its left shoulder, and you will be one step closer to success.") diff --git a/scripts/quest/q17527e.py b/scripts/quest/q17527e.py new file mode 100755 index 0000000..f511a50 --- /dev/null +++ b/scripts/quest/q17527e.py @@ -0,0 +1,6 @@ +# id 17527 ([Gollux] The Abdomen), field 863010000 +sm.setSpeakerID(9390120) # Heart Tree Guardian +sm.sendNext("Well done. Now that you've neutralized the threat in Gollux's abdomen, only one fight remains. Let us talk strategy.") +sm.sendSay("I have prepared a gift to celebrate your strength.") +sm.completeQuestNoCheck(parentID) +sm.sendPrev("Check your inventory for the item.") diff --git a/scripts/quest/q17527s.py b/scripts/quest/q17527s.py new file mode 100755 index 0000000..4533cff --- /dev/null +++ b/scripts/quest/q17527s.py @@ -0,0 +1,8 @@ +# id 17527 ([Gollux] The Abdomen), field 863010000 +sm.setSpeakerID(9390120) # Heart Tree Guardian +sm.sendNext("You can greatly reduce Gollux's strength if you neutralize its head last.") +sm.sendSay("Dodging its hands on the way up to its head won't be easy.") +sm.sendSay("You can greatly weaken Gollux by neutralizing its abdomen. The aura that protects it will weaken when its shoulders are broken, and it the core in its abdomen will not be able to inflict you with status ailments when you assault its head.") +res = sm.sendAskYesNo("What do you think? Do you want to give it a try?") +sm.startQuest(parentID) +sm.sendNext("Damaging Gollux's abdomen has put you one step closer to victory.") diff --git a/scripts/quest/q17528e.py b/scripts/quest/q17528e.py new file mode 100755 index 0000000..df02d61 --- /dev/null +++ b/scripts/quest/q17528e.py @@ -0,0 +1,6 @@ +# id 17528 ([Gollux] The Head), field 863010000 +sm.setSpeakerID(9390120) # Heart Tree Guardian +sm.sendNext("You've done it. Gollux has been subdued!") +sm.sendSay("I have prepared a gift to celebrate your strength.") +sm.completeQuestNoCheck(parentID) +sm.sendPrev("Check your inventory for the item.") diff --git a/scripts/quest/q17528s.py b/scripts/quest/q17528s.py new file mode 100755 index 0000000..aa3f4cb --- /dev/null +++ b/scripts/quest/q17528s.py @@ -0,0 +1,8 @@ +# id 17528 ([Gollux] The Head), field 863010000 +sm.setSpeakerID(9390120) # Heart Tree Guardian +sm.sendNext("As I told you before, Gollux's head must be neutralized to quell the beast.") +sm.sendSay("Dodging its hands on the way up to its head won't be easy.") +sm.sendSay("You can greatly weaken Gollux by neutralizing its abdomen. The aura that protects it will weaken when its shoulders are broken, and it the core in its abdomen will not be able to inflict you with status ailments when you assault its head.") +res = sm.sendAskYesNo("What do you think? Do you want to give it a try?") +sm.startQuest(parentID) +sm.sendNext("If you stun the head, we might be able to revert Gollux back to its original form.") diff --git a/scripts/quest/q17529e.py b/scripts/quest/q17529e.py new file mode 100755 index 0000000..e2141b8 --- /dev/null +++ b/scripts/quest/q17529e.py @@ -0,0 +1,4 @@ +# id 17529 ([Gollux] The Smart Way), field 863010000 +sm.setSpeakerID(9390120) # Heart Tree Guardian +sm.sendNext("Amazing.") +sm.sendSay("I have prepared a gift to celebrate your strength.") diff --git a/scripts/quest/q17529s.py b/scripts/quest/q17529s.py new file mode 100755 index 0000000..baa3c11 --- /dev/null +++ b/scripts/quest/q17529s.py @@ -0,0 +1,9 @@ +# id 17529 ([Gollux] The Smart Way), field 863010000 +sm.setSpeakerID(9390120) # Heart Tree Guardian +sm.sendNext("As I told you before, you can subdue Gollux by damaging its head.") +sm.sendSay("The three major weak points will make that battle easier. The shoulders and abdomen seem to be the core of its strength.") +res = sm.sendAskYesNo("I'll give you a mission. Damage all three of Gollux's main power sources, then attack its head. Do you want to give it a try?") +sm.startQuest(parentID) +sm.createQuestWithQRValue(17533, "ing=1") +sm.createQuestWithQRValue(17533, "ing=1;1=0") +sm.sendNext("Good. Attack all of Gollux's weak spots, then return to me.") diff --git a/scripts/quest/q17530s.py b/scripts/quest/q17530s.py new file mode 100755 index 0000000..999fa47 --- /dev/null +++ b/scripts/quest/q17530s.py @@ -0,0 +1,8 @@ +# id 17530 ([Gollux] The Rewarding Way), field 863010000 +sm.setSpeakerID(9390120) # Heart Tree Guardian +sm.sendNext("A display of strength may prove effective. Do you feel up to the task?") +res = sm.sendAskYesNo("It will be more dangerous, but if you can defeat Gollux's head with only 2 of the weak points broken, the rewards could be greater.") +sm.startQuest(parentID) +sm.createQuestWithQRValue(17533, "ing=1;1=1") +sm.createQuestWithQRValue(17533, "ing=1;1=0") +sm.sendNext("A brave choice. Defeat Gollux with only 2 of the weak points broken, then return to me.") diff --git a/scripts/quest/q17534s.py b/scripts/quest/q17534s.py new file mode 100755 index 0000000..2f9fb53 --- /dev/null +++ b/scripts/quest/q17534s.py @@ -0,0 +1,9 @@ +# id 17534 ([Gollux] The Face of Fear), field 863000100 +sm.setSpeakerID(9390120) # Heart Tree Guardian +sm.sendNext("Now, I'll give you a chance to face Gollux in all its power.") +sm.sendSay("I can give you up to 3 Entrance Keys per day.") +res = sm.sendAskYesNo("You now have 0 Entrance Key(s). Do you want all 3 Entrance Keys?") +sm.startQuest(17535) +sm.startQuest(parentID) +sm.completeQuestNoCheck(parentID) +sm.sendSayOkay("Check your inventory.") diff --git a/scripts/quest/q17600e.py b/scripts/quest/q17600e.py new file mode 100755 index 0000000..ce08fc6 --- /dev/null +++ b/scripts/quest/q17600e.py @@ -0,0 +1,5 @@ +# [Commerci Republic] Neinheart's call +sm.setSpeakerID(1064026) # Neinheart +sm.sendSayOkay("The Empress wishes to speak to you.") +sm.completeQuest(parentID) +sm.dispose() diff --git a/scripts/quest/q17600s.py b/scripts/quest/q17600s.py new file mode 100755 index 0000000..f5a2c52 --- /dev/null +++ b/scripts/quest/q17600s.py @@ -0,0 +1,16 @@ +# [Commerci Republic] Neinheart's Call + +sm.setSpeakerID(1064026) # Neinheart +response = sm.sendAskYesNo("Ah good, I've managed to reach you. The Empress has been asking for you. Could you come to Ereve?\r\n" + "#b(You will be moved to Ereve if you accept.)") + + +if response: + sm.sendNext("I will be waiting for you.") +else: + sm.sendSayOkay("Let me know once you are ready.") + sm.dispose() + +sm.startQuestNoCheck(parentID) +sm.warp(130000000, 0) +sm.dispose() \ No newline at end of file diff --git a/scripts/quest/q17601s.py b/scripts/quest/q17601s.py new file mode 100755 index 0000000..5abebf8 --- /dev/null +++ b/scripts/quest/q17601s.py @@ -0,0 +1,26 @@ +# [Commerci Republic] In the Name of the Empress + +sm.setSpeakerID(1064023) # Cygnus +sm.sendNext("Ah #b#h0##k you've come! My apologies for bringing you here on such short notice. Tell me, have you heard of the land of Commerci, by any chance?") +if not sm.hasQuest(parentID): + sm.startQuest(parentID) + + +sm.sendNext("Commerci was once a small fishing village, and they had little in the way of dealings with the rest of the world. " + "It seems that time has been good to Commerci, as they have begun sending large trading vessels around the globe," + "and have re-branded themselves the #bCommerci Republic#k.") + +sm.sendNext("As empress, I fear that such rapid growth from Commerci may have adverse effects on the rest of our world. " + "If we can earn their friendship, they may become a powerful ally in time. " + "However, if Commerci were to side with Black Mage... they could become a formidable threat.") + +response = sm.sendAskYesNo("#h0#, we need your help. Please act as my envoy to Commerci, and bring them a message: " + "The kingdom of Ereve seeks a peaceful and mutually beneficial relationship with Commerci. " + "Will you please do this for me? Neinheart will explain the mission.") + +if response: + sm.sendNext("I know you won't let me down.") + sm.completeQuest(parentID) +else: + sm.sendSayOkay("Please, let me know when you are willing to accept the mission. but make up your mind soon, time is of the essence.") +sm.dispose() diff --git a/scripts/quest/q17602e.py b/scripts/quest/q17602e.py new file mode 100755 index 0000000..dd92af1 --- /dev/null +++ b/scripts/quest/q17602e.py @@ -0,0 +1,8 @@ +# [Commerci Republic] Neinheart's Request + +sm.setSpeakerID(9390200) # Parbell +sm.sendNext("Well butter mah biscuits! You must be that #h0# I hears about from the long-haired feller. " + "Didn't yet pappy even learn you not t' keep an old man a' waitin'?") + +sm.completeQuest(parentID) +sm.dispose() diff --git a/scripts/quest/q17602s.py b/scripts/quest/q17602s.py new file mode 100755 index 0000000..dbdccdf --- /dev/null +++ b/scripts/quest/q17602s.py @@ -0,0 +1,23 @@ +# [Commerci Republic] Neinheart's Request + +sm.setSpeakerID(1064026) # Neinheart +sm.sendNext("According to intelligence reports, the people of Commerci are fiercely independent. " + "The Empress means well, but in their eyes, any outreach might be thought an attempt to draw them under our influence. " + "This would destroy any possibility of a relationship with Commerci, and I can't allow that.") + + +sm.sendNext("To ensure there are no misunderstandings, we must approach this matter with the utmost care. " + "We should gain their trust before we relay the Empress' proposal. " + "This is part of why the Empress has chosen you rather than a royal messenger. " + "Please do not fail the Empress.") + +response = sm.sendAskYesNo("I've arranged your passage to Commerci. Seek out an explorer named #b'Parbell'#k in Lith Harbor. " + "Let me know when you are ready to depart for Lith Harbor. " + "\r\n#b(You will be moved to Lith Harbor if you accept.)#k") + +if response: + sm.warp(104000000, 0) + sm.startQuest(parentID) +else: + sm.sendSayOkay("Let me know once you are ready to depart.") +sm.dispose() diff --git a/scripts/quest/q17603s.py b/scripts/quest/q17603s.py new file mode 100755 index 0000000..ffb1962 --- /dev/null +++ b/scripts/quest/q17603s.py @@ -0,0 +1,64 @@ +# [Commerci Republic] Parbell, World's 'Greatest' Explorer + +sm.setSpeakerID(9390200) # Parbell +sm.setPlayerAsSpeaker() # Has to be Player Avatar +sm.sendNext("Excuse me, are you Parbell the Explorer?") + +sm.setSpeakerID(9390200) # Parbell +sm.sendNext("What d'yuh means, don't yuh recognize me? Gaze 'pon this hansom visage! " + "Haven't ya heard about ol'Parbell, the Greatest 'Splorer in the whole o' Maple World!? " + "Sheesh, young'uns these days!") + +sm.setPlayerAsSpeaker() # Has to be Player Avatar +sm.sendNext("(He seems a little upset.)") + +sm.setSpeakerID(9390200) # Parbell +sm.sendNext("So, I hears yuhs seeking' passage to the good ol' 'Public o' Commerci...\r\nThat about right?") + +sm.setPlayerAsSpeaker() # Has to be Player Avatar +sm.sendNext("Y-Yessir, I's am... I mean, that's right. Why do you ask?") + +sm.setSpeakerID(9390200) # Parbell +sm.sendNext("Hows yuh plannin' to get there?") + +sm.setPlayerAsSpeaker() # Has to be Player Avatar +sm.sendNext("E-Excuse me...? I was... Neinheart, said you would have a ship ready for me, uh, Mr. Great Explorer, sir...") + +sm.setSpeakerID(9390200) # Parbell +sm.sendNext("Oh, Parbell the Great, done readied a ship for you. There's no doubtin' that. " + "Question is, how yuhs plan on getting on that ship?") + +sm.setPlayerAsSpeaker() # Has to be Player Avatar +sm.sendNext("I... uh.. By walking? With my feet?") + +sm.setSpeakerID(9390200) # Parbell +sm.sendNext("Y'uns about as smart as a bag of hammers, ain't yuhs? " + "Let ol' Parbell make it all simple-like for y'un. I gots a ship. " + "You wants to get on that ship. I done readied mah ship like I's told. " + "#eTraditionally at this point some form o' currency get s'changed#n.") + +sm.setPlayerAsSpeaker() # Has to be Player Avatar +sm.sendNext("(Are you kidding me? Neinheart expects me to pay for the trip myself? He's in for a stern talking-to...)") + +sm.sendNext("Y-You know I've been sent by the Empress, right?") + +sm.setSpeakerID(9390200) # Parbell +sm.sendNext("Empress? She ain't MAH Empress. Shucks, this here's why I never deal with no greenhorns... " + "You gots you way with words, I gives yuh that. " + "Well, get on mah ship, a promise is a promise. " + "I'll deliver you to Commerci all safe 'n cozy-like, but remember yer offer. " + "Words carry weight.") + +response = sm.sendAskYesNo("I'll be collectin' on that promise, 'fore long. " + "When all's said 'n done, y'uns shold feel plum tickled that I, Parbell the Great, am showin' yuhs the way! " + "\r\nReady to set sail?\r\n" + "#b(You will be moved to Commerci if you accept.)") + +if response: + sm.warp(865010200, 0) + sm.startQuest(parentID) + sm.completeQuest(parentID) + sm.startQuest(17608) # [Commerci Republic] After a Pleasant Voyage +else: + sm.sendSayOkay("Dun't yer let a ol' man waiting!") +sm.dispose() diff --git a/scripts/quest/q17608e.py b/scripts/quest/q17608e.py new file mode 100755 index 0000000..a37d55b --- /dev/null +++ b/scripts/quest/q17608e.py @@ -0,0 +1,43 @@ +# [Commerci Republic] After a Pleasant Voyage + +sm.setPlayerAsSpeaker() # Has to be Player Avatar +sm.sendNext("Excuse me... Hi. Could I ask you a question?") + +sm.setSpeakerID(9390201) # Mayor Berry +sm.sendNext("Dear me, you look about as healthy as a gutted guppy! Oh I don't mean no insult. " + "You run into a bit of weather out there? " + "You should thank your lucky stars you landed here in one piece!") + +sm.setPlayerAsSpeaker() # Has to be Player Avatar +sm.sendNext("I would like to know where I landed, where am I?") + +sm.setSpeakerID(9390201) # Mayor Berry +sm.sendNext("Oh, you landed in the Commerci Republic, a gorgeous place!") + +sm.setPlayerAsSpeaker() # Has to be Player Avatar +sm.sendNext("I landed in the Commerci Republic? This is the Commerci Republic?") + +sm.setSpeakerID(9390201) # Mayor Berry +sm.sendNext("Yes, that's correct. You landed in the Commerci Republic. As a matter of fact, I'm the mayor of the Commerci Republic.") + +sm.setPlayerAsSpeaker() # Has to be Player Avatar +sm.sendNext("#b(This little fishing village is the Commerci Republic? I guess there's no truth to the rumors.)") + +sm.setSpeakerID(9390201) # Mayor Berry +sm.sendNext("You seem quite strong, having survived that ship wreckage. " + "Once you've gotten your energy back, you reckon you could help me out with some things? " + "I would certainly appreciate it") + +sm.setPlayerAsSpeaker() # Has to be Player Avatar +sm.sendNext("Really? But we've just met.. you're going to trust me just like that?") + +sm.setSpeakerID(9390201) # Mayor Berry +sm.sendNext("With age comes wisdom, youngster. I can tell you's a good person just by usin' these old peepers. Now enjoy yourself for now! " + "Let me know if there's anything you need.") + +sm.setPlayerAsSpeaker() # Has to be Player Avatar +sm.sendNext("#b(...He seems nice enough, This person claims to be the Mayor, " + "so I guess I could deliver the Empress's message to him. " + "I'll wait to make sure he really trusts me before I bring up the peace treaty.") +sm.completeQuest(parentID) +sm.dispose() diff --git a/scripts/quest/q17610s.py b/scripts/quest/q17610s.py new file mode 100755 index 0000000..436dbcf --- /dev/null +++ b/scripts/quest/q17610s.py @@ -0,0 +1,23 @@ +# [Commerci Republic] Berry Concerned 1 + +sm.setSpeakerID(9390201) # Mayor Berry +sm.sendNext("Hm...") + +sm.setPlayerAsSpeaker() # Has to be Player Avatar +sm.sendNext("Mayor Berry, are you all right?") + +sm.setSpeakerID(9390201) # Mayor Berry +sm.sendNext("I'm worried about my fish... There are these monsters that were stealing my fish the other day..") + +sm.setPlayerAsSpeaker() # Has to be Player Avatar +sm.sendNext("I'll take care of those monster for you, Mayor.") + +sm.setSpeakerID(9390201) # Mayor Berry +response = sm.sendAskYesNo("Will you really?") + +if response == 1: + sm.sendNext("If you could eliminate 100 #r#o9390807##k, I would be very grateful.") + sm.startQuest(parentID) +else: + sm.sendSayOkay("Oh, alright.. that's too bad.") +sm.dispose() diff --git a/scripts/quest/q17612s.py b/scripts/quest/q17612s.py new file mode 100755 index 0000000..c94ea7b --- /dev/null +++ b/scripts/quest/q17612s.py @@ -0,0 +1,103 @@ +# [Commerci Republic] The Problem with Presumptions + +MAYOR_BERRY = 9390201 + +sm.setPlayerAsSpeaker() +sm.sendNext("Excuse me, Mayor? A-are you busy?") + +sm.setSpeakerID(MAYOR_BERRY) +sm.sendNext("You stopped by at just the right time, kiddo. " + "It'd been a fishful day, and that's the best kinda day, if you ask me.") + +sm.setPlayerAsSpeaker() +sm.sendNext("Oh, great! That's... I need to tell you something.") + +sm.setSpeakerID(MAYOR_BERRY) +selection = sm.sendNext("Well, go on and spit it out!\r\n" + "\r\n" + "#L0##b(I should rethink this.)#l\r\n" + "#L1##b(I've got to tell him the truth.)#l") + + +sm.setPlayerAsSpeaker() +if selection == 0: + sm.sendNext("Oh, I just wanted to tell you what a beautiful day it is") + sm.setSpeakerID(MAYOR_BERRY) + sm.sendNext("Oh, ye. It truly is a gorgeous day, today") +elif selection == 1: + sm.sendNext("The truth is... I lied to you. The sea didn't bring me here...") + + sm.setSpeakerID(MAYOR_BERRY) + sm.sendNext("Well, unless you've got a set of wings curled up somewhere, " + "how'd you get here? And what do you mean you lied?") + + sm.setPlayerAsSpeaker() + sm.sendNext("I came across the northern barrier.") + + sm.setSpeakerID(MAYOR_BERRY) + sm.sendNext("What kinda hogwash is that? Nobody's been across the northern barrier in a hound's age. " + "Ain't nothin' but demons and evil up there anyway. " + "You sayin' you're some kinda demon?!") + + sm.setPlayerAsSpeaker() + sm.sendNext("No, no... the demons are... Look, I'm from a place called Maple World, and I guess technically you are too. " + "I traveled to Dawnveil from a different continent, far away.") + + sm.setSpeakerID(MAYOR_BERRY) + sm.sendNext("Well that's just plum silly. Another continent? " + "I was sure this sea just went on forever... " + "If this is all true, how'd you get across that barrier?") + + sm.setPlayerAsSpeaker() + sm.sendNext("The barrier is breaking down... Where I came from, no one had even heard of Dawnveil, " + "and our leaders feared it might be a danger to the rest of Maple World.") + + sm.sendNext("I was sent here to explore, investigate and to see if our two peoples could have a peace.") + + sm.setSpeakerID(MAYOR_BERRY) + sm.sendNext("Well, I'll be a toad on a hot plate. I don't much care for bein' on the other end of a lie, " + "but I can tell you wasn't tryin' to cause no trouble.") + + sm.setPlayerAsSpeaker() + sm.sendNext("Thanks... I'm really sorry.") + + sm.setSpeakerID(MAYOR_BERRY) + sm.sendNext("Let's let bygones go on down bygone way. Can I help you with your plan?") + + sm.setPlayerAsSpeaker() + sm.sendNext("Maybe you can... Your people really seem to be about the same as ours, " + "but I think the fear of what's beyond the barrier could stir up trouble. " + "They might perceive me as a threat...") + + sm.setSpeakerID(MAYOR_BERRY) + sm.sendNext("Well, people ain't always kind to the ones that come from afar, " + "and changing minds one by one will get you nowhere fast. I've got me another plan.") + + sm.setPlayerAsSpeaker() + sm.sendNext("Yes?") + + sm.setSpeakerID(MAYOR_BERRY) + sm.sendNext("Go on down to the docks. " + "There's a ship there that belongs to the Prime Minister of #bSan Commerci#k, a fella named #e#bGilberto Daniella#k#n. " + "His boy, #e#bLeon#k#n, is the captain of the ship. " + "They're good folk, and they hold a lot of sway.") + + sm.sendNext("You show those Daniellas you're worth trustin', and you might just have yourself a strong supporter in the richest nation of Dawnveil.") + + sm.setPlayerAsSpeaker() + sm.sendNext("You're a lot smarter than I took you for. I'm sorry for underestimating you. " + "I don't know how I can thank you...") + + sm.setSpeakerID(MAYOR_BERRY) + sm.sendNext("You've done right by me and mine. You just do what's best for all our people, " + "and I'll call that thanks enough. Now go on, get, before I have to get my broom and shoo you off! " + "Find #e#bLeon Daniella#k#n in the guest house on the east end of town.") + + sm.sendNext("And take this! It ain't much, but think of it as a souvenir!") + + sm.sendNext("Don't get shy, just take it!") + + sm.startQuest(parentID) + sm.giveItem(1003984) # Commerci Hat + sm.completeQuest(parentID) + sm.dispose() diff --git a/scripts/quest/q17613e.py b/scripts/quest/q17613e.py new file mode 100755 index 0000000..9ad92f9 --- /dev/null +++ b/scripts/quest/q17613e.py @@ -0,0 +1,50 @@ +# [Commerci Republic] The Minister's Son + +sm.setSpeakerID(9390202) # Leon Daniella +sm.sendNext("I'm... fine, you... meddling dumb-dumb!") + +sm.setPlayerAsSpeaker() # Has to be Player Avatar +sm.sendNext("#b(He's not very polite...)#k\r\n" + "Er, you're Leon Daniella, right? You all right? Those cats really did a number on you.") + +sm.setSpeakerID(9390202) # Leon Daniella +sm.sendNext("You idiot, I... said I was-- Hold up.. You know my name? " + "Are you that noble I sent money to via that foreign bank account? " + "You promised me a present!") + +sm.setPlayerAsSpeaker() # Has to be Player Avatar +sm.sendNext("Um, no. I just heard those cats say your name. I was actually on my way to see you, though.") + +sm.setSpeakerID(9390202) # Leon Daniella +sm.sendNext("Whoa, whoa, whoa.. Are you from the #b#eHeaven Empire#k#n? Not cool.") + +sm.setPlayerAsSpeaker() # Has to be Player Avatar +sm.sendNext("The what empire? Look, I'm not from around here. " + "I'm from Maple World, across the barrier. " + "I'm here to establish good relations for Empress Cygnus.") + +sm.setSpeakerID(9390202) # Leon Daniella +sm.sendNext("So you ARE from the Heaven Empire? Wait.. did you say barrier? Stay away from me, demon! Hyah! Hyah!") + +sm.setPlayerAsSpeaker() # Has to be Player Avatar +sm.sendNext("#b(Demon? Ah, they must think demons live on the other side of the barrier.)\r\b#k" + "I'm not a demon. Um, look, I can stand in sunlight. And the garlic you're throwing at me is having no effect.") + +sm.setSpeakerID(9390202) # Leon Daniella +sm.sendNext("Oh, whew. You're right! Haha! That was a close one.") + +sm.setPlayerAsSpeaker() # Has to be Player Avatar +sm.sendNext("#b(I can't believe that worked...)\r\n#k" + "I'm from a world very similar to yours. A place called #e#rMaple World#k#n.") + +sm.setSpeakerID(9390202) # Leon Daniella +sm.sendNext("In that case, you can be my best friend sidekick. " + "Pat yourself on the back. " + "Leon Daniella doesn't befriend just anyone! " + "Now you pat my back, and I'll pat yours. " + "There, doesn't that feel nice?") + +sm.setPlayerAsSpeaker() # Has to be Player Avatar +sm.sendNext("#b(Great, I'm becoming vast friends with Leon.)") +sm.completeQuest(parentID) +sm.dispose() diff --git a/scripts/quest/q17613s.py b/scripts/quest/q17613s.py new file mode 100755 index 0000000..920ef29 --- /dev/null +++ b/scripts/quest/q17613s.py @@ -0,0 +1,10 @@ +# [Commerci Republic] The Minister's Son + +if sm.getFieldID() == 865010200: + sm.setSpeakerID(9390201) # Mayor Berry + sm.sendSayOkay("Find #e#bLeon Daniella#k#n in the guest house on the east end of this village.") + sm.dispose() +else: + sm.setSpeakerID(9390202) # Leon Daniella + sm.sendSayOkay("Oi") + sm.dispose() diff --git a/scripts/quest/q17614s.py b/scripts/quest/q17614s.py new file mode 100755 index 0000000..de7bf74 --- /dev/null +++ b/scripts/quest/q17614s.py @@ -0,0 +1,25 @@ +# [Commerci Republic] Ciao, Untril Next Time +sm.setSpeakerID(9390202) # Leon Daniella +sm.sendNext("Good! Now I leave. I just came to Berry to get fish from Berry. Haha! They have the same name! Berry, Berry, Berry, Berry") + + +sm.setPlayerAsSpeaker() # Has to be Player Avatar +sm.sendNext("Do you have to leave right this second? I wanted to ask my new best pal some questions.") + +sm.setSpeakerID(9390202) # Leon Daniella +sm.sendNext("Oh, shoot! I have to catch a ship. Shoot! Hey! Why don't you come to #bSan Commerci#k? You can meet my dad! He's really cool.") + +sm.setPlayerAsSpeaker() # Has to be Player Avatar +sm.sendNext("Berry did suggest I visit.") + +sm.setSpeakerID(9390202) # Leon Daniella +response = sm.sendAskYesNo("Yeah! Just go to San Commerci and wait for me. I have a couple of voyages to make, but don't leave until I get back. Promise?") + +if response: + sm.sendSayOkay("Okay, go east from the town, follow the coastal road, and you'll get to San Commerci. It's a single road, but I get lost on it all the time. \r\n" + "See you in #e#bSan Commerci#k#n. Remember, you promised!") + sm.startQuest(parentID) + sm.warpInstanceOut(865010200, 0) +else: + sm.sendSayOkay("You're not gonna promise your best friend a simple thing?") +sm.dispose() diff --git a/scripts/quest/q17615s.py b/scripts/quest/q17615s.py new file mode 100755 index 0000000..1d532f6 --- /dev/null +++ b/scripts/quest/q17615s.py @@ -0,0 +1,24 @@ +# [Commerci Republic] The Trade Kingdom + +sm.setPlayerAsSpeaker() # Has to be Player Avatar +sm.sendNext("Excuse me.") + +sm.setSpeakerID(9390225) # Tepes +sm.sendNext("Yes?") + +sm.setPlayerAsSpeaker() # Has to be Player Avatar +sm.sendNext("Could you point me toward the Daniella merchant Union Office?") + +sm.setSpeakerID(9390225) # Tepes +sm.sendNext("I happen to be a Daniella Merchant myself. If you want a job, you can talk to me right here.") + +sm.setPlayerAsSpeaker() # Has to be Player Avatar +sm.sendNext("I don't need a job. I'm looking for #e#bGilberto Daniella#k#n.") + +sm.setSpeakerID(9390225) # Tepes +sm.sendNext("Ha, do you think the Prime Minister has time for you? He's a busy man. Now, off with you.") + +sm.setPlayerAsSpeaker() # Has to be Player Avatar +sm.sendNext("#b(Hmm, now what?)") +sm.completeQuestNoRewards(parentID) +sm.dispose() \ No newline at end of file diff --git a/scripts/quest/q17616e.py b/scripts/quest/q17616e.py new file mode 100755 index 0000000..71fdeb1 --- /dev/null +++ b/scripts/quest/q17616e.py @@ -0,0 +1,21 @@ +# [Commerci Republic] Stolem Items + +sm.setSpeakerID(9390220) # Maestra Fiametta +sm.sendNext("Yes? What do you want?") + +sm.setPlayerAsSpeaker() # Has to be Player Avatar +sm.sendNext("What can you tell me about the items that were stolen from the Daniella Merchant Union?") + +sm.setSpeakerID(9390220) # Maestra Fiametta +sm.sendNext("Not much to tell. A few days ago, a Daniella merchant deposited some items. A little while ago, he picked them up.") + +sm.setPlayerAsSpeaker() # Has to be Player Avatar +sm.sendNext("Are you sure it was the same guy?") + +sm.setSpeakerID(9390220) # Maestra Fiametta +sm.sendNext("Are you sure you have a brain in your skull? Yes, it was the same guy.") + +sm.setPlayerAsSpeaker() # Has to be Player Avatar +sm.sendNext("No need to bite my head off.") +sm.completeQuest(parentID) +sm.dispose() \ No newline at end of file diff --git a/scripts/quest/q17616s.py b/scripts/quest/q17616s.py new file mode 100755 index 0000000..621ae39 --- /dev/null +++ b/scripts/quest/q17616s.py @@ -0,0 +1,32 @@ +# [Commerci Republic] Stolen Items + +sm.setSpeakerID(9390225) # Tepes +sm.sendNext("What to do, what to do? They'll blame me for sure!") + +sm.setPlayerAsSpeaker() # Has to be Player Avatar +sm.sendNext("Huh? What's wrong?") + +sm.setSpeakerID(9390225) # Tepes +sm.sendNext("You again? I don't have time right now. The items I left at the Trading Post have dissapeared!") + +sm.setPlayerAsSpeaker() # Has to be Player Avatar +sm.sendNext("They were stolen?") + +sm.setSpeakerID(9390225) # Tepes +sm.sendNext("Yes, and do you know who the prime suspect is?.. Me! They say they saw someone in the same clothing as me pick them up..") + +sm.setPlayerAsSpeaker() # Has to be Player Avatar +sm.sendNext("Wait, your items were stolen... and you're the main suspect? How does that make sense?") + +sm.setSpeakerID(9390225) # Tepes +sm.sendNext("Someone must've copied my fabulous fashion sense and then taken the goods, posing as me. " + "But who's going to believe that? I'm going to lose my job, and I can't give up my sailor's wardrobe, I just can't.") + +sm.setPlayerAsSpeaker() # Has to be Player Avatar +response = sm.sendAskYesNo("#b(This seems like my chance to get in good with the Daniella merchant Union!)") + +sm.setPlayerAsSpeaker() # Has to be Player Avatar +if response: + sm.sendNext("#b(I'll head to the Trading Post to investigate further.)") + sm.startQuest(parentID) +sm.dispose() diff --git a/scripts/quest/q17617s.py b/scripts/quest/q17617s.py new file mode 100755 index 0000000..7d2669c --- /dev/null +++ b/scripts/quest/q17617s.py @@ -0,0 +1,38 @@ +# [Commerci Republic] Missing Goods + +MAESTRA_FIAMETTA = 9390220 + +sm.setSpeakerID(MAESTRA_FIAMETTA) +sm.sendNext("The only odd thing about it was...") + + +sm.setPlayerAsSpeaker() +response = sm.sendAskYesNo("#b(Aha! I knew there had to be something!)") + +if response: + sm.setPlayerAsSpeaker() + sm.sendNext("Yes?") + + sm.setSpeakerID(MAESTRA_FIAMETTA) + sm.sendNext("The items Tepes deposited were obviously packed for sea, but Tepes brought a cart with him when he picked them up, " + "Usually the marchants move them straight to the ships...") + + sm.setPlayerAsSpeaker() + sm.sendNext("Did you see which way he went?") + + sm.setSpeakerID(MAESTRA_FIAMETTA) + sm.sendNext("Listen, kid. I don't keep track of every sailor who walks by. But there was a fish cart accident between here and Berry, so the western path is blocked.") + + sm.setSpeakerID(MAESTRA_FIAMETTA) + sm.sendNext("And if he didn't go west, he probably went east, towards the canals") + + sm.setPlayerAsSpeaker() + sm.sendNext("Alright, thank you so much for the information.") + + sm.setSpeakerID(MAESTRA_FIAMETTA) + sm.sendNext("Whatever, kid. Just don't mess with my trading post.") + sm.startQuest(parentID) + #sm.completeQuest(parentID) + #sm.chatScript("Return the stolen goods to Tepes in San Commerci") + #sm.chatScript("You found the impostor at the eastern canals, when confronted, a Robed Lady appeared. But she fled.") + #sm.startQuest(17619) # [Commerci Republic] Come Back Here! \ No newline at end of file diff --git a/scripts/quest/q17618e.py b/scripts/quest/q17618e.py new file mode 100755 index 0000000..c97f401 --- /dev/null +++ b/scripts/quest/q17618e.py @@ -0,0 +1,80 @@ +# Created by MechAviv +# Quest ID :: 17618 +# [Commerci Republic] The Lady in Robes + +sm.setIntroBoxChat(9390204) +sm.sendNext("I can't believe it. The last of my money, down the drain. I don't suppose they'll give me a refund.") + + +sm.setSpeakerID(9390204) +sm.removeEscapeButton() +sm.flipSpeaker() +sm.flipDialoguePlayerAsSpeaker() +sm.setBoxChat() +sm.setColor(1) +sm.sendSay("Now hand over those goods!") + + +sm.setSpeakerID(9390204) +sm.removeEscapeButton() +sm.setBoxChat() +sm.setColor(1) +sm.sendSay("Sigh. Why are you getting in my way? ") + + +sm.setSpeakerID(9390204) +sm.removeEscapeButton() +sm.flipSpeaker() +sm.flipDialoguePlayerAsSpeaker() +sm.setBoxChat() +sm.setColor(1) +sm.sendSay("I have my reasons. Besides, stealing is bad!") + + +sm.setSpeakerID(9390204) +sm.removeEscapeButton() +sm.flipSpeaker() +sm.flipDialoguePlayerAsSpeaker() +sm.setBoxChat() +sm.setColor(1) +sm.sendSay("So what'll it be? Are you going to hand over the goods, or will we have to do this the hard way?") + + +sm.setSpeakerID(9390204) +sm.removeEscapeButton() +sm.setBoxChat() +sm.setColor(1) +sm.sendSay("Hmph. Stealing is bad, but bullying is okay? Fine, take your stupid trade goods. I'm out of here.") + + +# [NPC_VIEW_OR_HIDE] [E0 B3 53 00 00 00 ] +sm.setSpeakerID(9390204) +sm.removeEscapeButton() +sm.flipSpeaker() +sm.flipDialoguePlayerAsSpeaker() +sm.setBoxChat() +sm.setColor(1) +sm.sendSay("That was easy. Sorta. Better get these back to town.") + + +sm.setSpeakerID(9390204) +sm.removeEscapeButton() +sm.flipSpeaker() +sm.flipDialoguePlayerAsSpeaker() +sm.setBoxChat() +sm.setColor(1) +sm.sendSay("Who was it that lost these items? Was his name... Tepes?") + + +# Unhandled Message [INC_COMMITMENT_MESSAGE] Packet: 09 01 00 00 00 00 +sm.completeQuest(17618) +sm.startQuest(17619) +# Unhandled Stat Changed [EXP] Packet: 00 00 00 00 01 00 00 00 00 00 9A 3A E0 01 00 00 00 00 FF 00 00 00 00 +sm.giveExp(5530255) +# [GUILD_RESULT] [74 F9 DA 01 00 8B 02 00 00 03 00 00 00 BA 00 00 00 ] +# [GUILD_RESULT] [6D F9 DA 01 00 1E 4F 85 00 8B 02 00 00 16 00 00 00 B2 01 00 00 C0 CE 20 27 38 ED D4 01 ] +# Update Quest Record EX | Quest ID: [18418] | Data: B=1344 +# Unhandled Stat Changed [MP] Packet: 00 00 00 10 00 00 00 00 00 00 EB 0A 00 00 FF 00 00 00 00 +# Unhandled Stat Changed [MP] Packet: 00 00 00 10 00 00 00 00 00 00 E7 0A 00 00 FF 00 00 00 00 +# [SUMMONED_REMOVED] [1E 4F 85 00 2E 37 26 01 02 ] +sm.warpInstanceOut(865000000, 10) diff --git a/scripts/quest/q17618s.py b/scripts/quest/q17618s.py new file mode 100755 index 0000000..10d0b92 --- /dev/null +++ b/scripts/quest/q17618s.py @@ -0,0 +1,25 @@ +# Created by MechAviv +# Quest ID :: 17618 +# [Commerci Republic] The Lady in Robes + +sm.setSpeakerID(0) +sm.flipDialoguePlayerAsSpeaker() +sm.setSpeakerType(3) +if sm.sendAskYesNo("#b(Okay, so there were a lot of goods that were stolen, and the thief was working alone... Chances are, he couldn't have gotten far. I can catch him!)#k"): + sm.setSpeakerID(0) + sm.removeEscapeButton() + sm.flipDialoguePlayerAsSpeaker() + sm.setSpeakerType(3) + sm.sendNext("Okay, the opposite direction of Berry... To the east I go!") + + + sm.startQuest(17618) + # Unhandled Message [47] Packet: 2F 01 00 00 00 B0 83 08 00 00 00 00 00 2E 02 00 00 00 00 00 80 05 BB 46 E6 17 02 00 00 + # [SUMMONED_REMOVED] [1E 4F 85 00 2B 37 26 01 02 ] + sm.warpInstanceIn(865020001, 1) +else: + sm.setSpeakerID(0) + sm.removeEscapeButton() + sm.flipDialoguePlayerAsSpeaker() + sm.setSpeakerType(3) + sm.sendSayOkay("Too much pressure! I'm just not ready yet!") \ No newline at end of file diff --git a/scripts/quest/q17619e.py b/scripts/quest/q17619e.py new file mode 100755 index 0000000..c1bc949 --- /dev/null +++ b/scripts/quest/q17619e.py @@ -0,0 +1,39 @@ +# [Commerci Republic] Come Back Here! + +sm.setSpeakerID(9390225) # Tepes +sm.sendNext("I can't believe it. All those items... stolen! And the iron I ordered was in there too") + +sm.setPlayerAsSpeaker() # Has to be Player Avatar +sm.sendNext("Hey Tepes!") + +sm.setSpeakerID(9390225) # Tepes +sm.sendNext("And the white carnation buttons I was going to sew on my vest were in there too... I can't believe they're all gone.") + +sm.setPlayerAsSpeaker() # Has to be Player Avatar +sm.sendNext("#b(Aww, he looks seriously depressed.)") + +sm.setPlayerAsSpeaker() # Has to be Player Avatar +sm.sendNext("Hellooooo I got your items back. See?") + +sm.setSpeakerID(9390225) # Tepes +sm.sendNext("And the silver ribbons I ordered to tie my-- Wait, what? You got my items! Oh, happy day! How'd you do it?") + +sm.setPlayerAsSpeaker() # Has to be Player Avatar +sm.sendNext("It was easy. I tracked down the thief.") + +sm.setSpeakerID(9390225) # Tepes +sm.sendNext("Incredible. That'll teach me to judge people based on their clothing.") + +sm.setPlayerAsSpeaker() # Has to be Player Avatar +sm.sendNext("#b(Hey! What did he mean by that?!)") + +sm.setSpeakerID(9390225) # Tepes +sm.sendNext("Anyway. I owe you one, my friend. Anything you need, I'll make it happen. I swear it.") + +sm.setPlayerAsSpeaker() # Has to be Player Avatar +sm.sendNext("Are you serious?") + +sm.setSpeakerID(9390225) # Tepes +sm.sendNext("On my very life. Whatever you need.") +sm.completeQuest(parentID) +sm.dispose() diff --git a/scripts/quest/q17620e.py b/scripts/quest/q17620e.py new file mode 100755 index 0000000..70924fb --- /dev/null +++ b/scripts/quest/q17620e.py @@ -0,0 +1,16 @@ +# [Commerci Republic] Eye for an Eye + +sm.setPlayerAsSpeaker() # Has to be Player Avatar +sm.sendNext("Hi Gilberto!") + +sm.setSpeakerID(9390203) # Gilberto Daniella +sm.sendNext("Er, Yes. I am Gilberto Daniella. Do I know you?") + +sm.setPlayerAsSpeaker() # Has to be Player Avatar +sm.sendNext("You sure don't! But my name is...") + +sm.setSpeakerID(9390203) # Gilberto Daniella +sm.sendNext("I'm sorry, but I'm quite busy. If you'll make an appointment. I can meet with you later.") +sm.completeQuest(parentID) +sm.warp(865090002, 1) # Hidden Daniella Merchant Union Office +sm.dispose() diff --git a/scripts/quest/q17620s.py b/scripts/quest/q17620s.py new file mode 100755 index 0000000..c928562 --- /dev/null +++ b/scripts/quest/q17620s.py @@ -0,0 +1,36 @@ +# [Commerci Republic] Eye for an Eye + +sm.setSpeakerID(9390225) # Tepes +sm.sendNext("Now, what dream can I make come true for you? Remember, anything in the entire world is yours for the asking.") + +sm.setPlayerAsSpeaker() # Has to be Player Avatar +sm.sendNext("Can you introduce me to Gilberto Daniella?") + +sm.setSpeakerID(9390225) # Tepes +sm.sendNext("I offer to make your wildest dreams coe true, and that is what you want?") + +sm.setPlayerAsSpeaker() # Has to be Player Avatar +sm.sendNext("Yup, I really want to meet Gilberto Daniella.") + +sm.setSpeakerID(9390225) # Tepes +sm.sendNext("I heard you the first time, it's just...") + +sm.setPlayerAsSpeaker() # Has to be Player Avatar +sm.sendNext("What?") + +sm.setSpeakerID(9390225) # Tepes +sm.sendNext("Well, I thought you'd ask for something difficult, like borrowing my hat.") + +sm.setPlayerAsSpeaker() # Has to be Player Avatar +sm.sendNext("That was next on my list.") + +sm.setSpeakerID(9390225) # Tepes +response = sm.sendAskYesNo("To get to the Daniella merchant Union Office, head east from this spot, past the town fountain. " + "It's the white building with golden ornamentation.") + +if response: + sm.setSpeakerID(9390225) # Tepes + sm.sendNext("I'll let them know you're on your way. Be polite when you talk to Gilberto. " + "He is quite powerful in Commerci.") + sm.startQuest(parentID) +sm.dispose() diff --git a/scripts/quest/q17621s.py b/scripts/quest/q17621s.py new file mode 100755 index 0000000..d714335 --- /dev/null +++ b/scripts/quest/q17621s.py @@ -0,0 +1,99 @@ +# [Commerci Republic] Gilberto Daniella + +sm.startQuest(parentID) +sm.setSpeakerID(9390203) # Gilberto Daniella +sm.sendNext("Time is money, and my time is worth a million mesos a minute. Now, please make an appointment.") + +sm.setSpeakerID(9390225) # Tepes +sm.spawnNpc(9390225, -104, 75) # Spawn Tepes +sm.sendNext("Actually, sir, this young Explorer got our stolen goods back") + +sm.setSpeakerID(9390203) # Gilberto Daniella +sm.sendNext("Excuse me? Our goods were stolen?") + +sm.setSpeakerID(9390225) # Tepes +sm.sendNext("Er, you see, sir, these cutthroat bandits stole the goods right out of my hands. " + "I fought back and even fore my pants, but it was this young Explorer who saved me. " + "I'll... be on my way now.") +sm.removeNpc(9390225) # Remove Tepes + +sm.setPlayerAsSpeaker() # Has to be Player Avatar +sm.sendNext("#b(Tepes is a pretty convincing liar.)") + +sm.setSpeakerID(9390203) # Gilberto Daniella +sm.sendNext("Ah, well, in that case, I thank you for your help, young Explorer.") + +sm.setPlayerAsSpeaker() # Has to be Player Avatar +sm.sendNext("Aw, shucks. Tepes is exaggerating.. a lot.") + +sm.setSpeakerID(9390203) # Gilberto Daniella +sm.sendNext("It is a pleasure to meet you. I am #e#bGilberto Daniella#k#n, " + "prime minister of the Commerci Republic and owner of the Daniella Merchant Union") + +sm.setPlayerAsSpeaker() # Has to be Player Avatar +sm.sendNext("The pleasure is mine. I'm #h0#. I'm, um, just a traveler, " + "traveling through Dawnveil. You know, just traveling.") + +sm.setSpeakerID(9390203) # Gilberto Daniella +sm.sendNext("Ah, to be young and free again! But why did you want to see me?") + +sm.setPlayerAsSpeaker() # Has to be Player Avatar +sm.sendNext("um... Well... #b(Okay, I'm going to have to word this carefully, so he doesn't think I'm a devil.)") + +sm.spawnNpc(9390256, 21, 75) # Spawn Leon Daniella +sm.setSpeakerID(9390256) # Leon Daniella +sm.sendNext("Father! I'm hooooooome!") + +sm.setSpeakerID(9390203) # Gilberto Daniella +sm.sendNext("How many times do I need to remind you to call me 'prime minister' in public, Leon?") + +sm.setSpeakerID(9390256) # Leon Daniella +sm.sendNext("Sorry pops, I mean prime minister.") + +sm.setSpeakerID(9390256) # Leon Daniella +sm.sendNext("Hey #h0#, you're here as promised! Great!") + +sm.setSpeakerID(9390203) # Gilberto Daniella +sm.sendNext("You two know each other? This young traveler retrieved some stolen goods for us... " + "Or defeated some bandits? I'm still not clear on the story.") + +sm.setSpeakerID(9390256) # Leon Daniella +sm.sendNext("Way to go, #h0#, buddy! First you saved me in Berry, like the excellent sidekick you are, " + "and now you're impressing my daddy!") + +sm.setSpeakerID(9390203) # Gilberto Daniella +sm.sendNext("You exhibit magnificent skills for a mere traveler, #h0#. The union is in your debt.") + +sm.setSpeakerID(9390256) # Leon Daniella +sm.sendNext("A mere traveler? but #h0# is from beyond the barrier.") + +sm.setSpeakerID(9390203) # Gilberto Daniella +sm.sendNext("#h0# is... what?") + +sm.setPlayerAsSpeaker() # Has to be Player Avatar +sm.sendNext("(Yikes!) Er, yeah, I TRAVELED here from a place called Maple World, which just so happens to be beyond the barrier...") + +sm.setSpeakerID(9390203) # Gilberto Daniella +sm.sendNext("Just a moment ago, you clearly said you were a DAWNVEIL traveler...") + +sm.setPlayerAsSpeaker() # Has to be Player Avatar +sm.sendNext("Here's the truth, prime minister. The barrier between our worlds is growing weaker by the day, which made is possible for me to pass through it.") + +sm.setSpeakerID(9390203) # Gilberto Daniella +sm.sendNext("And why are you here?") + +sm.setPlayerAsSpeaker() # Has to be Player Avatar +sm.sendNext("Like Leon said, I'm an ambassador of peace, here on behalf of Empress Cygnus.") + +sm.setSpeakerID(9390203) # Gilberto Daniella +sm.sendNext("An embassador of peace, you say?") + +sm.setPlayerAsSpeaker() # Has to be Player Avatar +sm.sendNext("Yes. When the barrier inetivably collapses, I hope the people of Commerci and Maple World can get along amicably") + +sm.setSpeakerID(9390203) # Gilberto Daniella +sm.sendNext("I see. Well then, you've traveled a long way. Please make yourself at home and rest. The Union is still in your debt.") +sm.removeNpc(9390256) # Remove Leon Daniella +sm.completeQuest(parentID) +sm.warp(865000002, 0) +sm.dispose() diff --git a/scripts/quest/q17622s.py b/scripts/quest/q17622s.py new file mode 100755 index 0000000..0aaa822 --- /dev/null +++ b/scripts/quest/q17622s.py @@ -0,0 +1,22 @@ +# [Commerci Republic] Gilberto's Reaction + +sm.setPlayerAsSpeaker() # Has to be Player Avatar +sm.sendNext("Did your dad look upset to you? I don't think he trusts me...") +sm.startQuest(parentID) + +sm.setSpeakerID(9390256) # Leon Daniella +sm.sendNext("Nah, he was smiling beneath his mustache, I promise. That's how he always looks at me, too. " + "So, how long are you staying in town for?") + +sm.setPlayerAsSpeaker() # Has to be Player Avatar +sm.sendNext("A while, it seems. I have a feeling this won't be easy.\r\n" + "#b(No thanks to you, Leon.)") + +sm.setSpeakerID(9390256) # Leon Daniella +sm.sendNext("Check out the union while you're around. That's what a good sidekick would do! Now, go rest up.") +sm.completeQuest(parentID) +sm.warp(865000002, 2) # Warp player in the same map, but to a different portal +sm.scriptChat("Whilst sleeping, you overheard Leon and Gilberto talking about you, it seems that Gilberto does not trust you yet.") +sm.startQuest(17623) # [Commerci Republic] Another Outsider +sm.completeQuest(17623) # [Commerci Republic] Another Outsider +sm.dispose() diff --git a/scripts/quest/q17623s.py b/scripts/quest/q17623s.py new file mode 100755 index 0000000..b1423a8 --- /dev/null +++ b/scripts/quest/q17623s.py @@ -0,0 +1,4 @@ +# [Commerci Republic] Another Outsider +sm.startQuest(parentID) +sm.completeQuest(parentID) +sm.dispose() diff --git a/scripts/quest/q17624s.py b/scripts/quest/q17624s.py new file mode 100755 index 0000000..73c5f1f --- /dev/null +++ b/scripts/quest/q17624s.py @@ -0,0 +1,35 @@ +# [Commerci Republic] Fish out of Water + +sm.setSpeakerID(9390256) # Leon Daniella +sm.sendNext("Sigh..") + +sm.setPlayerAsSpeaker() # Has to be Player Avatar +sm.sendNext("#b(They seem worried.)#k\r\n" + "Morning Leon. Good morning Gilberto.") + +sm.setSpeakerID(9390256) # Leon Daniella +sm.sendNext("Oh, #h0#, my sidekick. You're awake.") + +sm.setPlayerAsSpeaker() # Has to be Player Avatar +sm.sendNext("#b(How should I approach this...)#k\r\n" + "Did you sleep well Leon? Is something the matter? Gilberto, you look worried as well.") + +sm.setSpeakerID(9390256) # Leon Daniella +sm.sendNext("The Commerci Republic is known for it's commerce. The sea trade is great, but the land trade is weak.") + +sm.setPlayerAsSpeaker() # Has to be Player Avatar +sm.sendNext("Huh?") + +sm.setSpeakerID(9390203) # Gilberto Daniella +sm.sendNext("Sigh, allow me. Leon still has to work on this speaking skills.") + +sm.sendNext("The #bDelfinos#k are responsible! They prey on our good merchants from the San Commerci canals!") + +sm.sendNext("It has forced us to isolate ourselves. " + "It's costing me more than a pretty penny, let me tell you.") + +sm.sendNext("#b(Delfino? I don't think they're in Maple World, but either way they seem to be causing trouble. " + "This might be my chance to earn Gilberto's trust, so I should inquire") +sm.startQuest(parentID) +sm.completeQuest(parentID) +sm.dispose() diff --git a/scripts/quest/q17625e.py b/scripts/quest/q17625e.py new file mode 100755 index 0000000..cba5c34 --- /dev/null +++ b/scripts/quest/q17625e.py @@ -0,0 +1,21 @@ +# [Commerci Republic] Delfinos? More like dead Fishos +from net.swordie.ms.constants import WzConstants + +COMMERCI_SUIT = 1052673 +expGiven = 530255 +sm.setPlayerAsSpeaker() # Has to be Player Avatar +sm.sendNext("I'm not hinting that you're weak, prime minister. I just want to support you, as a friend of #bLeon#k.") + +sm.setSpeakerID(9390203) # Gilberto Daniella +sm.sendNext("That's fine.") + +sm.sendNext("Take these as well, they will be helpful.\r\n\r\n" + ""+ WzConstants.ICON_OBTAINED +"\r\n" + "#v"+ str(COMMERCI_SUIT) +"##z"+ str(COMMERCI_SUIT) +"#\r\n\r\n" + ""+ WzConstants.ICON_EXP +"\r\n" + ""+ str(expGiven) +" exp") + +sm.giveExp(expGiven) # Give Exp +sm.giveItem(COMMERCI_SUIT) # Give Commerci Suit +sm.completeQuest(parentID) +sm.dispose() diff --git a/scripts/quest/q17625s.py b/scripts/quest/q17625s.py new file mode 100755 index 0000000..7d659be --- /dev/null +++ b/scripts/quest/q17625s.py @@ -0,0 +1,53 @@ +# [Commerci Republic] Delfinos? More Like dead Fishos + +sm.setSpeakerID(9390203) # Gilberto Daniella +response = sm.sendAskYesNo("Are you curious about the Delfino?") + +if response: + sm.sendNext("We lived a good life alongside the Delfinos. " + "Most of our merchants rarely interacted with them, but there was no hostility.") +else: + sm.sendSayOkay("You have no interest in helping us? Hmmm..") + sm.dispose() + +sm.sendNext("San Commerci was nothing but a small fishing village in the early days of the Republic. " + "We fished our areas of the seas, they fished theirs... " + "But then the spice trade began and this port doubled in size overnight.") + +sm.sendNext("I'm sure the Delfinos are only upset because our town has prospered without them. " + "It's the only rational explanation to their transition into roving gangs of bandits.") + +sm.sendNext("The Delfinos must be treated with a firm and swift hand. It's the only thing they'll respect.") + +sm.setPlayerAsSpeaker() # Has to be Player Avatar +sm.sendNext("#b(This is my chance!)#k\r\n" + "Excuse me, prime minister, but I'd like to help you against the Delfinos.") + +sm.setSpeakerID(9390203) # Gilberto Daniella +sm.sendNext("Why? This isn't your fight. This isn't even your country.") + +sm.setPlayerAsSpeaker() # Has to be Player Avatar +sm.sendNext("It's part of my responsibility as an envoy from Maple World to aid in the affairs of our #bAlly nations#k.") + +sm.setSpeakerID(9390203) # Gilberto Daniella +sm.sendNext("Thank you for the thought, but we can...") + +sm.setSpeakerID(9390256) # Leon Daniella +sm.sendNext("Daddy! I mean, pops! #h0# is really strong! Plus, #h0# is my sidekick!") + +sm.setSpeakerID(9390203) # Gilberto Daniella +sm.sendNext("We're not so weak that we have to rely on outside nations for aid.") + +sm.setSpeakerID(9390256) # Leon Daniella +sm.sendNext("That's totally not what I meant, daddy.") + +sm.setSpeakerID(9390203) # Gilberto Daniella +sm.sendNext("Just get out there and eliminate those Delfinos...") + +sm.setSpeakerID(9390256) # Leon Daniella +sm.sendNext("Y-yes, daddy") + +sm.setSpeakerID(9390203) # Gilberto Daniella +sm.sendNext("#h0#? I appreciate the offer, but I don't want outsiders getting involved with our state affairs. I hope you understand.") +sm.startQuest(parentID) +sm.dispose() diff --git a/scripts/quest/q17626s.py b/scripts/quest/q17626s.py new file mode 100755 index 0000000..e24ee84 --- /dev/null +++ b/scripts/quest/q17626s.py @@ -0,0 +1,19 @@ +# [Commerci Republic] Delfino Deleter 1 + +sm.setSpeakerID(9390256) # Leon Daniella +sm.sendNext("#h0#! I knew my loyal sidekick wouldn't abandon me! How'd you get around daddy?") + +sm.setPlayerAsSpeaker() # Has to be Player Avatar +sm.sendNext("I didn't. He said I could come. As an official ally.") + +sm.setSpeakerID(9390256) # Leon Daniella +sm.sendNext("You must really have a way with words, like me. I'm glad you made it. You can learn a lot!") + +response = sm.sendAskYesNo("Now, are we ready to hunt some fish?") + +if response: + sm.sendNext("Let's see who's faster!") + sm.startQuest(parentID) +else: + sm.sendSayOkay("What?.. You're not ready yet?") +sm.dispose() diff --git a/scripts/quest/q17627e.py b/scripts/quest/q17627e.py new file mode 100755 index 0000000..0437a23 --- /dev/null +++ b/scripts/quest/q17627e.py @@ -0,0 +1,28 @@ +# [Commerci Republic] Delfino Deleter 2 + +sm.setSpeakerID(9390256) # Leon Daniella +sm.sendNext("I was so much faster than you! But you're the sidekick for a reason.") + +sm.sendNext("C'mon! We can't let them get their buddies. We have to finish this now! I'll be waiting for you at #m865020200#") # Canal 3 + +sm.sendNext("What are you waiting for, my loyal sidekick?") + +sm.setPlayerAsSpeaker() # Has to be Player Avatar +sm.sendNext("Hold up. I have a really bad feeling about this...") + +sm.setSpeakerID(9390256) # Leon Daniella +sm.sendNext("Don't feel bad. I'm here for you, pal.") + +sm.setPlayerAsSpeaker() # Has to be Player Avatar +sm.sendNext("No, listen. These fishmen seem like they're barely even trying...") + +sm.setSpeakerID(9390256) # Leon Daniella +sm.sendNext("That's only because I'm totally awesome. So they look weak in comparison.") + +sm.setPlayerAsSpeaker() # Has to be Player Avatar +sm.sendNext("But...") + +sm.setSpeakerID(9390256) # Leon Daniella +sm.sendNext("Let's go!") +sm.completeQuest(parentID) +sm.dispose() diff --git a/scripts/quest/q17627s.py b/scripts/quest/q17627s.py new file mode 100755 index 0000000..f49ba7a --- /dev/null +++ b/scripts/quest/q17627s.py @@ -0,0 +1,15 @@ +# [Commerci Republic] Delfino Deleter 2 + +sm.setSpeakerID(9390256) # Leon Daniella +sm.sendNext("Is it just me, or am I totally awesome at fish-slaying?") + +response = sm.sendAskYesNo("We successfully routed the #o9390808# group, but I doubt that was the end. " + "It seems like there are other groups around. " + "You're going to help again, right?") + +if response: + sm.sendNext("#b#o9390811##k group should be in #m865020100#. Let's see who can rout out #b#e30#k#n of them faster again! I'll be waiting in #m865020100#!") + sm.startQuest(parentID) +else: + sm.sendSayOkay("Oh, I suppose we can rest for a little bit.") +sm.dispose() diff --git a/scripts/quest/q17628e.py b/scripts/quest/q17628e.py new file mode 100755 index 0000000..197bd74 --- /dev/null +++ b/scripts/quest/q17628e.py @@ -0,0 +1,12 @@ +# [Commerci Republic] Delfino Deleter 3 + +sm.setSpeakerID(9390256) # Leon Daniella +sm.sendNext("So easy!") + +sm.setPlayerAsSpeaker() # Has to be Player Avatar +sm.sendNext("I really have a bad feeling about this...") + +sm.setSpeakerID(9390256) # Leon Daniella +sm.sendNext("Geez, Loosen up a bit. We'll be fine!") +sm.completeQuest(parentID) +sm.dispose() diff --git a/scripts/quest/q17628s.py b/scripts/quest/q17628s.py new file mode 100755 index 0000000..717ba7c --- /dev/null +++ b/scripts/quest/q17628s.py @@ -0,0 +1,12 @@ +# [Commerci Republic] Delfino Deleter 3 + +sm.setSpeakerID(9390256) # Leon Daniella +response = sm.sendAskYesNo("Shall we?") + +if response: + sm.setPlayerAsSpeaker() # Has to be Player Avatar + sm.sendNext("#b(I have a bad feeling about this whole thing...)") + sm.startQuest(parentID) +else: + sm.sendNext("Alright, let me know when you are ready!") +sm.dispose() diff --git a/scripts/quest/q17629e.py b/scripts/quest/q17629e.py new file mode 100755 index 0000000..c8cf88c --- /dev/null +++ b/scripts/quest/q17629e.py @@ -0,0 +1,10 @@ +# [Commerci Republic] Delfino Deleter 4 + +sm.setSpeakerID(9390256) # Leon Daniella +response = sm.sendAskYesNo("I'll be honest.. These fish were definitely a lot tougher! It's what I was born to do!") + +sm.setPlayerAsSpeaker() # Has to be Player Avatar +sm.sendNext("At least we made it. Now let's get out of here before the really tough fish come out.") + +sm.completeQuest(parentID) +sm.dispose() \ No newline at end of file diff --git a/scripts/quest/q17629s.py b/scripts/quest/q17629s.py new file mode 100755 index 0000000..c364d4a --- /dev/null +++ b/scripts/quest/q17629s.py @@ -0,0 +1,8 @@ +# [Commerci Republic] Delfino Deleter 4 + +sm.setSpeakerID(9390256) # Leon Daniella +response = sm.sendAskYesNo("There's a lot of #r#o9390810##k monsters here too! Okay, it'll be #e#b30#k#n for each of us again!") + +if response: + sm.startQuest(parentID) +sm.dispose() \ No newline at end of file diff --git a/scripts/quest/q17630e.py b/scripts/quest/q17630e.py new file mode 100755 index 0000000..6e71343 --- /dev/null +++ b/scripts/quest/q17630e.py @@ -0,0 +1,7 @@ +# id 17630 ([Commerci Republic] Delfino Deleter 5), field 865020300 +sm.setSpeakerID(9390250) # Leon Daniella +sm.setParam(2) +sm.sendNext("Ugh, we're outnumbered. I don't think we'll make it out of this one...") +sm.completeQuestNoCheck(parentID) +sm.completeQuestNoCheck(17720) +sm.warp(865020061) diff --git a/scripts/quest/q17630s.py b/scripts/quest/q17630s.py new file mode 100755 index 0000000..81820fe --- /dev/null +++ b/scripts/quest/q17630s.py @@ -0,0 +1,37 @@ +# [Commerci Republic] Delfino Deleter 5 + +sm.setSpeakerID(9390256) # Leon Daniella +sm.sendNext("I keep thinking I see a Delfino out of the corner of my... WHAT THE?!") + +sm.setPlayerAsSpeaker() # Has to be Player Avatar +sm.sendNext("It's the Delfinos! They're back!") + +sm.setSpeakerID(9390256) # Leon Daniella +sm.sendNext("Who's that scary-looking fish behind them?") + +sm.setPlayerAsSpeaker() # Has to be Player Avatar +sm.sendNext("He's bad news, that's who!") + +sm.setSpeakerID(9390208) # Riverson +sm.sendNext("Why you attack my people?") + +sm.setPlayerAsSpeaker() # Has to be Player Avatar +sm.sendNext("What the...? You guys attacked the Merchant Union first! Who ARE you, anyway?") + +sm.setSpeakerID(9390208) # Riverson +sm.sendNext("I am... RIVERSON! you pay for wrongdoing!") + +sm.setPlayerAsSpeaker() # Has to be Player Avatar +sm.sendNext("Wrongdoing? What did we do?") + +sm.setSpeakerID(9390208) # Riverson +response = sm.sendAskYesNo("No play coy! You know what you did! No more talk, prepare for PAIN!") + +if response: + sm.startQuest(parentID) + sm.completeQuest(parentID) + sm.completeQuest(17631) # Finish a cutscene quest + sm.warpInstanceIn(865020061) +else: + sm.sendSayOkay("... Oh... Okay... Uhh... I will wait for a bit!") +sm.dispose() diff --git a/scripts/quest/q17632e.py b/scripts/quest/q17632e.py new file mode 100755 index 0000000..b74d3d9 --- /dev/null +++ b/scripts/quest/q17632e.py @@ -0,0 +1,19 @@ +# [Commerci Republic] The Blocked Canal + + +sm.setSpeakerID(9390256) # Leon Daniella +sm.sendNext("Hey, what's that?") + +sm.setPlayerAsSpeaker() # Has to be Player Avatar +sm.sendNext("It looks like.. a barrier?") + +sm.setSpeakerID(9390256) # Leon Daniella +sm.sendNext("A barrier for what? Do you think the fishhead set it up?") + +sm.setPlayerAsSpeaker() # Has to be Player Avatar +sm.sendNext("Maybe, but I'm not busting through to check") + +sm.setSpeakerID(9390256) # Leon Daniella +sm.sendNext("Me neither. Let's go tell pops.") +sm.completeQuest(parentID) +sm.warpInstanceOut(865020300) # Canal 4 \ No newline at end of file diff --git a/scripts/quest/q17632s.py b/scripts/quest/q17632s.py new file mode 100755 index 0000000..9713cdc --- /dev/null +++ b/scripts/quest/q17632s.py @@ -0,0 +1,26 @@ +# [Commerci Republic] The Blocked Canal + + +sm.setPlayerAsSpeaker() # Has to be Player Avatar +sm.sendNext("Should we head back to town?") + +sm.setSpeakerID(9390256) # Leon Daniella +sm.sendNext("Not yet...") + +sm.setPlayerAsSpeaker() # Has to be Player Avatar +sm.sendNext("Don't tell me you're going to look for her...") + +sm.setSpeakerID(9390256) # Leon Daniella +sm.sendNext("Of course I am.") + +sm.setPlayerAsSpeaker() # Has to be Player Avatar +sm.sendNext("She's long gone, Leon.") + +sm.setSpeakerID(9390256) # Leon Daniella +response = sm.sendAskYesNo("You can go back to town if you want.") + +if response: + sm.setPlayerAsSpeaker() # Has to be Player Avatar + sm.sendNext("And leave you here to get jumped by more fishmen? I'd never earn your father's trust that way.") + sm.startQuest(parentID) +sm.dispose() diff --git a/scripts/quest/q17633e.py b/scripts/quest/q17633e.py new file mode 100755 index 0000000..55b53f0 --- /dev/null +++ b/scripts/quest/q17633e.py @@ -0,0 +1 @@ +# [Commerci Republic] Back to Town diff --git a/scripts/quest/q17633s.py b/scripts/quest/q17633s.py new file mode 100755 index 0000000..8c9f422 --- /dev/null +++ b/scripts/quest/q17633s.py @@ -0,0 +1,8 @@ +# [Commerci Republic] Back to Town +sm.setSpeakerID(9390256) # Leon Daniella +response = sm.sendAskYesNo("Should we go right now?") + +if response: + sm.warp(865000000, 0) # San Commerci + sm.startQuest(parentID) +sm.dispose() diff --git a/scripts/quest/q17634e.py b/scripts/quest/q17634e.py new file mode 100755 index 0000000..d2d3719 --- /dev/null +++ b/scripts/quest/q17634e.py @@ -0,0 +1,27 @@ +# [Commerci Republic] A Chat with Gilberto + +COMMERCI_BOOTS = 1072874 + +sm.setSpeakerID(9390256) # Leon Daniella +sm.sendNext("Whao, my dad has, like, so much faith in me. It's incredible, right?") + +sm.setPlayerAsSpeaker() # Has to be Player Avatar +sm.sendNext("Yeah, just try to tone it down in battle, okay? Don't rush into situations that are obviously traps.") + +sm.setSpeakerID(9390256) # Leon Daniella +sm.sendNext("Why not?") + +sm.setPlayerAsSpeaker() # Has to be Player Avatar +sm.sendNext("Your dad would've been upset to learn that some strange girl helped us...") + +sm.setSpeakerID(9390256) # Leon Daniella +sm.sendNext("Her cloak is so mysterious, don't you think? it just oozes, like, mystery.") + +if sm.canHold(COMMERCI_BOOTS): + sm.sendNext("Oh, and you can have this. I don't want it.") + sm.giveItem(COMMERCI_BOOTS) + sm.completeQuest(parentID) +else: + sm.sendNext("I was going to give you some fancy boots, but I see you're carrying to much..\r\n" + "Why don't you drop some of your garbage?") +sm.dispose() diff --git a/scripts/quest/q17634s.py b/scripts/quest/q17634s.py new file mode 100755 index 0000000..fc7d009 --- /dev/null +++ b/scripts/quest/q17634s.py @@ -0,0 +1,41 @@ +# [Commerci Republic] A Chat with Gilberto + + +sm.setSpeakerID(9390203) # Gilberto Daniella +sm.sendNext("So, what happened to the delfinos?") + +sm.setPlayerAsSpeaker() # Has to be Player Avatar +sm.sendNext("We defeated the Delfinos. They won't be causing any trouble for a while.") + +sm.setSpeakerID(9390203) # Gilberto Daniella +response = sm.sendAskYesNo("Really? As easy as that? Did you encounter any difficulties along the way?") + +sm.setSpeakerID(9390256) # Leon Daniella +sm.sendNext("It got tougher over time, but nothing we couldn't handle") + +sm.setPlayerAsSpeaker() # Has to be Player Avatar +sm.sendNext("To be totally honest, sir. Leon did a great job leading the squad.") + +sm.setSpeakerID(9390256) # Leon Daniella +sm.sendNext("(Psst, shouldn't we tell him about HER?)") + +sm.setSpeakerID(9390203) # Gilberto Daniella +sm.sendNext("I know my son had it in him, buried somewhere deep deep deep deep deep deep deep deep " + "deep deep deep deep deep deep deep deep inside.") + +sm.setSpeakerID(9390203) # Gilberto Daniella +sm.sendNext("Maybe you're ready for more responsibility, Leon") + +sm.setPlayerAsSpeaker() # Has to be Player Avatar +sm.sendNext("Oh, we also found a strange barrier on our way back.") + +sm.setSpeakerID(9390203) # Gilberto Daniella +sm.sendNext("What do you mean, 'barrier'?") + +sm.setPlayerAsSpeaker() # Has to be Player Avatar +sm.sendNext("We're not sure. We didn't think it would be wise to investigate further without consulting with you first.") + +sm.setSpeakerID(9390203) # Gilberto Daniella +sm.sendNext("I'll send some men out there to check it out. Go rest now. You've earned it.") +sm.startQuest(parentID) +sm.dispose() diff --git a/scripts/quest/q17635s.py b/scripts/quest/q17635s.py new file mode 100755 index 0000000..24bd0b4 --- /dev/null +++ b/scripts/quest/q17635s.py @@ -0,0 +1,29 @@ +# [Commerci Republic] Shipwrecker + + +sm.setSpeakerID(9390256) # Leon Daniella +sm.sendNext("How you feeling, #h0#? I'm so sore. You don't fight an awesome battle without getting a few bruises.") + +sm.setPlayerAsSpeaker() # Has to be Player Avatar +sm.sendNext("I'm all right.") + +sm.setSpeakerID(9390225) # Tepes +sm.sendNext("Prime Minister! Something awful has happened!") + +sm.setSpeakerID(9390256) # Leon Daniella +sm.sendNext("What? What's going on?") + +sm.setPlayerAsSpeaker() # Has to be Player Avatar +sm.sendNext("#b(I should go on in, and see what's up.)") + +sm.setSpeakerID(9390203) # Gilberto Daniella +sm.sendNext("What in the world is it now?") + +sm.setSpeakerID(9390225) # Tepes +sm.sendNext("Our shop en route to Rosa has been attacked... by Captain Blood!") + +sm.setSpeakerID(9390203) # Gilberto Daniella +sm.sendNext("Blast it.. That vile man!") + +sm.setSpeakerID(9390225) # Tepes +sm.sendNext("I think they planned this attack") diff --git a/scripts/quest/q17636s.py b/scripts/quest/q17636s.py new file mode 100755 index 0000000..389bd12 --- /dev/null +++ b/scripts/quest/q17636s.py @@ -0,0 +1,27 @@ +# id 17636 ([Commerci Republic] Who's The Pirate King?), field 865000002 +sm.setSpeakerID(9390262) # Leon Daniella +sm.setParam(2) +sm.sendNext("Hey Leon, who's Captain Blood?") +sm.setParam(0) +sm.sendSay("Really? You really don't know #rCaptain Blood#k?") +sm.setParam(2) +sm.sendSay("Well, no. I mean, I'm not from around here, remember...?") +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(9390203) # Gilberto Daniella +sm.sendSay("I guess you ARE new... Would you like to know more?") +sm.sendSay("I'm sure you are aware that Commerci's trade is centered around the sea.") +sm.setParam(2) +sm.sendSay("Yes, I've heard.") +sm.setParam(4) +sm.sendSay("And there's no shortage of pirates in the sea, especially around the Commerci shore. They've been going around in small groups, plundering all sorts of goods.") +sm.sendSay("Commerci has been organizing our convoys and fleets better, but accidents still happen now and then.") +sm.sendSay("Our efforts were effective at first, but the pirates became more organized in response. Now they have one big pirate group, under their powerful leader.") +sm.setParam(2) +sm.sendSay("And that leader is Captain Blood?") +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(9390202) # Leon Daniella +sm.sendSay("Totally. He's bad news, and needs a righteous butt-kicking.") +sm.setInnerOverrideSpeakerTemplateID(9390203) # Gilberto Daniella +sm.sendSay("That's...more or less true.") +sm.completeQuestNoCheck(parentID) +sm.createQuestWithQRValue(18418, "B=33260") diff --git a/scripts/quest/q17637e.py b/scripts/quest/q17637e.py new file mode 100755 index 0000000..69e49fe --- /dev/null +++ b/scripts/quest/q17637e.py @@ -0,0 +1,22 @@ +# id 17637 ([Commerci Republic] Deus Ex You), field 865000002 +sm.setSpeakerID(9390203) # Gilberto Daniella +sm.sendNext("All right. Your help is most welcome.") +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(9390202) # Leon Daniella +sm.sendSay("Awesome! You're the best, Dad!") +sm.setParam(0) +sm.sendSay("How many times have I-Look, just remember that we're asking for help, not depending on it.") +sm.setParam(4) +sm.sendSay("Totally, Dad. I'll take care of Captain Blood myself! I've been practicing in my video games!") +sm.setParam(2) +sm.sendSay("Um, good to have you along, Leon. Thank you, Prime Minister.") +sm.setParam(4) +sm.sendSay("Can't wait to show you my mad skills! Aww yeah! Hey, lemme know when you're ready.") +sm.sendSay("Here, this is a gift for you. Let's do this!") +sm.completeQuestNoCheck(parentID) +sm.setParam(1) +sm.sendSay("I must ask that you look after my son, Leon. He's just too...eager. Yes, that's the word. Eager.") +sm.createQuestWithQRValue(18418, "B=33261") +sm.setParam(3) +sm.sendSay("Don't worry. I've seen him fight and I know he'll be fine.") +sm.createQuestWithQRValue(18418, "B=33262") diff --git a/scripts/quest/q17637s.py b/scripts/quest/q17637s.py new file mode 100755 index 0000000..3ff19ea --- /dev/null +++ b/scripts/quest/q17637s.py @@ -0,0 +1,30 @@ +# id 17637 ([Commerci Republic] Deus Ex You), field 865000002 +sm.setSpeakerID(9390262) # Leon Daniella +sm.sendNext("C'mon, Dad! Just give the word and I'll tear Captain Blood up. No sweat!") +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(9390203) # Gilberto Daniella +sm.sendSay("Hm? You? But you JUST came back from battling the Delfinos.") +sm.setParam(2) +sm.sendSay("(Yeah, that's right.)") +sm.setParam(0) +sm.sendSay("But...but...I really wanna fight pirates!") +sm.setParam(4) +sm.sendSay("Hm. A noble cause, to be sure. However, I fear that Captain Blood may be just a touch out of your league.") +sm.setParam(2) +sm.sendSay("(That's right. Leon needs more training...)") +sm.setParam(0) +sm.sendSay("B-but... What if I go with #h0#? I can watch #h0#'s back, and jump in to do some world-class swashbuckling! ...Supervised, of course.") +sm.setParam(2) +sm.sendSay("(Wait, what? Why me...)") +sm.setParam(4) +sm.sendSay("You disappoint me. I thought you were beyond begging others for help. Do I need to suspend your allowance again?") +sm.setParam(2) +sm.sendSay("(Ugh, not this again... I'd better get this over with.)") +sm.sendSay("Prime Minister, I'll go with Leon.") +sm.setParam(4) +sm.sendSay("Don't be ridiculous. You've already done more than enough for us.") +sm.setParam(2) +sm.sendSay("I've done enough as allies. This time I want to help as a...friend...of Leon's.") +sm.setParam(4) +sm.sendSay("Hm... When you say it like that, I'm inclined to...") +sm.startQuest(parentID) diff --git a/scripts/quest/q17640e.py b/scripts/quest/q17640e.py new file mode 100755 index 0000000..6e01549 --- /dev/null +++ b/scripts/quest/q17640e.py @@ -0,0 +1,25 @@ +# id 17640 ([Commerci Republic] Pack Up, and Set Sail 3), field 865000000 +sm.setSpeakerID(9390204) # Robed Lady +sm.setParam(56) +sm.setColor(1) +sm.sendNext("All right, off to the dock.") +sm.setParam(32) +sm.sendSay("Oh my, we meet again.") +sm.setParam(56) +sm.sendSay("Ahh! Geez... What are you doing behind me?") +sm.setParam(32) +sm.sendSay("You were just in my way.") +sm.setParam(56) +sm.sendSay("I see. Well then, let me get OUT of your way. I'm sorta busy so...") +sm.setParam(32) +sm.sendSay("You're heading out to deal with the pirates?") +sm.setParam(56) +sm.sendSay("Yes. Why? Interested?") +sm.setParam(32) +sm.sendSay("Deary me, no. Why would I be interested in such a crude, barbaric voyage? You enjoy yourselves.") +sm.setParam(56) +sm.sendSay("...Crude? Barbaric? Whatever. I really should head to the dock.") +sm.completeQuestNoCheck(parentID) +sm.completeQuestNoCheck(17730) +sm.createQuestWithQRValue(18418, "B=33265") +sm.createQuestWithQRValue(18418, "B=33266") diff --git a/scripts/quest/q17640s.py b/scripts/quest/q17640s.py new file mode 100755 index 0000000..212a2df --- /dev/null +++ b/scripts/quest/q17640s.py @@ -0,0 +1,12 @@ +# id 17640 ([Commerci Republic] Pack Up, and Set Sail 3), field 865000002 +sm.setSpeakerID(9390262) # Leon Daniella +sm.sendNext("Hey, you made it! I was gonna leave without you. Where's my stuff?") +sm.setParam(2) +sm.sendSay("Kentucky at the General Store told me they deliver.") +sm.setParam(0) +res = sm.sendAskYesNo("No kidding! Man, they should, like, advertise that. Anyway, I got everyone together. Ready to roll? Er, sail?") +sm.startQuest(parentID) +sm.setParam(2) +sm.sendNext("(Changing the subject, huh?) Yup. I'm all set. ") +sm.setParam(0) +sm.sendSay("Righteous! I'll meet you at the dock.") diff --git a/scripts/quest/q17641e.py b/scripts/quest/q17641e.py new file mode 100755 index 0000000..ca62244 --- /dev/null +++ b/scripts/quest/q17641e.py @@ -0,0 +1,25 @@ +# id 17641 ([Commerci Republic] Robed Adventures), field 865000000 +sm.setSpeakerID(9390204) # Robed Lady +sm.setParam(32) +sm.setColor(1) +sm.sendNext("What are you doing here?") +sm.setParam(56) +sm.sendSay("..............") +sm.setParam(32) +sm.sendSay("Ah, you said something about eliminating pirates, right?") +sm.setParam(56) +sm.sendSay("..............") +sm.setParam(32) +sm.sendSay("Are you sure you can do it? You're crew doesn't exactly look the fittest.") +sm.setParam(56) +sm.sendSay("...Fine, you can come.") +sm.setParam(32) +sm.sendSay("What? W-whatever do you mean?") +sm.setParam(56) +sm.sendSay("Just say it, you want to go on the voyage with us.") +sm.setParam(32) +sm.sendSay("...Well, I'm a VERY busy woman, but if you REALLY need my help, I'll go.") +sm.setParam(56) +sm.sendSay("...Strange lady. I hope she doesn't cause trouble. I'll just talk to Leon later.") +sm.completeQuestNoCheck(parentID) +sm.warp(865010001) diff --git a/scripts/quest/q17641s.py b/scripts/quest/q17641s.py new file mode 100755 index 0000000..1999a10 --- /dev/null +++ b/scripts/quest/q17641s.py @@ -0,0 +1,18 @@ +# id 17641 ([Commerci Republic] Robed Adventures), field 865000000 +sm.setSpeakerID(9390235) # Leon Daniella +sm.sendNext("Hey, you're late! Getting cold feet?") +sm.setParam(2) +sm.sendSay("Nah, I was...delayed.") +sm.setParam(0) +res = sm.sendAskYesNo("Hm, whatever. You sure you're ready? We're gonna be on a boat. A boat!") +sm.setParam(32) +sm.setColor(1) +sm.sendNext("As captain, I have important stuff to do. Hang on.") +sm.startQuest(parentID) +sm.setParam(56) +sm.sendSay("No prob. Let's go.") +sm.setParam(36) +sm.setInnerOverrideSpeakerTemplateID(9390204) # Robed Lady +sm.sendSay("Oh? Another coincidence.") +sm.setParam(56) +sm.sendSay("............") diff --git a/scripts/quest/q17642e.py b/scripts/quest/q17642e.py new file mode 100755 index 0000000..79266c7 --- /dev/null +++ b/scripts/quest/q17642e.py @@ -0,0 +1,31 @@ +# id 17642 ([Commerci Republic] A Fickle Man), field 865010001 +sm.setSpeakerID(9390244) # Leon Daniella +sm.setParam(56) +sm.setColor(1) +sm.sendNext("Ah... I'm sorry. I was careless. I should've told you first.") +sm.setParam(32) +sm.sendSay("Yes, that's right! We're friends but I AM the captain of this ship. All cute girls have to go through me!") +sm.setParam(36) +sm.setInnerOverrideSpeakerTemplateID(9390204) # Robed Lady +sm.sendSay("Oh my, what kind of ship is this? It's quite tasteless. Are we running low on cash?") +sm.setParam(32) +sm.sendSay("!!!!!!!!!!!!!!!!!!") +sm.setParam(56) +sm.sendSay("Leon, you're absolutely right. I should have given it a second thought. I'll tell her nicely and get her off the ship right away.") +sm.sendSay("Excuse me...") +sm.setParam(36) +sm.sendSay("Hm? What is it? I hope you don't expect me to do any swabbing.") +sm.setParam(56) +sm.sendSay("No, it's not that. I'm, um, well... ") +sm.setParam(32) +sm.sendSay("After the big fight today, would you like to go out with me?") +sm.setParam(36) +sm.sendSay("...Wha... Ha. Ha ha. Hahahahaha! Oh...oh my goodness... That's rich. Ahem. I tell you what...we'll talk again after the fight. IF you survive. Now, if you're done talking, I'm going to have a look around.") +sm.setParam(56) +sm.sendSay("Leon, what are you doing?") +sm.setParam(32) +sm.sendSay("Ahh, jealous? Yeah, she totally digs me. Can't just let a lady go by herself, y'know. It's a big, bad world out there.") +sm.setParam(56) +sm.sendSay("(Weirdo. I just can't figure him out.)") +sm.completeQuestNoCheck(parentID) +sm.createQuestWithQRValue(18418, "B=33268") diff --git a/scripts/quest/q17642s.py b/scripts/quest/q17642s.py new file mode 100755 index 0000000..db22158 --- /dev/null +++ b/scripts/quest/q17642s.py @@ -0,0 +1,17 @@ +# id 17642 ([Commerci Republic] A Fickle Man), field 865010001 +sm.setSpeakerID(9390244) # Leon Daniella +sm.sendNext("Everyone, make this thing go faster! Captain Blood isn't gonna swashbuckle himself!") +sm.setParam(2) +sm.sendSay("Hey, Leon.") +sm.setParam(0) +sm.sendSay("Welcome aboard! It might look like just a merchant ship, but...okay, it's just a merchant ship.") +res = sm.sendAskYesNo("Anyway, what's up? You have your serious face on.") +sm.startQuest(parentID) +sm.setParam(2) +sm.sendNext("I let someone aboard without asking you first. I know it's late but I wanted to let you know.") +sm.setParam(0) +sm.sendSay("What? Who's on board?") +sm.setParam(2) +sm.sendSay("Ah... I actually don't know her name, but it's not like you don't know her and she's pretty good at...") +sm.setParam(0) +sm.sendSay("What? You let a GIRL on board and didn't tell me?! What is WRONG with you? Is she cute? Does she like handsome swashbucklers with names that start with L?") diff --git a/scripts/quest/q17643e.py b/scripts/quest/q17643e.py new file mode 100755 index 0000000..0b99d43 --- /dev/null +++ b/scripts/quest/q17643e.py @@ -0,0 +1,22 @@ +# id 17643 ([Commerci Republic] Yar! Pirates!), field 865010001 +sm.setSpeakerID(9390244) # Leon Daniella +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(9390217) # Tepes +sm.sendNext("The pirates are getting away! Good riddance!") +sm.setParam(0) +sm.sendSay("Nooooo, my glory! We can't let them go!") +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(9390204) # Robed Lady +sm.sendSay("It's my turn to show you what I can do. I'll #r#etear the ship apart#k#n with my magic.") +sm.setParam(2) +sm.sendSay("Ah! Wait, wait, wait, WAIT!") +sm.setParam(4) +sm.sendSay("Why?") +sm.setParam(2) +sm.sendSay("Captain Blood isn't here yet. They'll lead us back to him, so we should just follow along!") +sm.setParam(0) +sm.sendSay("Brilliant! Let's do the following thing!") +sm.setParam(4) +sm.sendSay("Hm... That's too bad.") +sm.completeQuestNoCheck(parentID) +sm.createQuestWithQRValue(18418, "B=33269") diff --git a/scripts/quest/q17643s.py b/scripts/quest/q17643s.py new file mode 100755 index 0000000..49a0924 --- /dev/null +++ b/scripts/quest/q17643s.py @@ -0,0 +1,48 @@ +# id 17643 ([Commerci Republic] Yar! Pirates!), field 865010001 +sm.setSpeakerID(9390244) # Leon Daniella +sm.sendNext("It's quiet...TOO calm. I hope the pirates are saying their prayers and kissing their...something...") +sm.setParam(2) +sm.sendSay("Who knows. It's only been a couple days, so let's wait it out.") +sm.setParam(0) +res = sm.sendAskYesNo("Hm... Sure. But are you ready to take on the pirates at any minute?") +sm.startQuest(parentID) +sm.setParam(5) +sm.setInnerOverrideSpeakerTemplateID(9390217) # Tepes +sm.sendNext("Pirates! Pirates! Don't let them near!") +sm.setParam(1) +sm.sendSay("They're here! Oh BOY!") +sm.setParam(5) +sm.sendSay("The pirates are boarding the ship! Tell them to wipe their feet first!") +sm.setParam(1) +sm.sendSay("Let's go, #h0#! FOR THE AWESOME!") +sm.startQuest(parentID) +sm.progressMessageFont(3, 20, 20, 0, "EXP and mesos greatly reduced if hunting monsters beyond your level range.") +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) diff --git a/scripts/quest/q17644e.py b/scripts/quest/q17644e.py new file mode 100755 index 0000000..97e5264 --- /dev/null +++ b/scripts/quest/q17644e.py @@ -0,0 +1,7 @@ +# id 17644 ([Commerci Republic] Arg! Chase!), field 865010001 +sm.setSpeakerID(9390244) # Leon Daniella +sm.sendNext("Are we all safe?") +sm.setParam(2) +sm.sendSay("I think so. Not much damage on our part yet.") +sm.completeQuestNoCheck(parentID) +sm.createQuestWithQRValue(18418, "B=33270") diff --git a/scripts/quest/q17644s.py b/scripts/quest/q17644s.py new file mode 100755 index 0000000..c2f153f --- /dev/null +++ b/scripts/quest/q17644s.py @@ -0,0 +1,61 @@ +# id 17644 ([Commerci Republic] Arg! Chase!), field 865010001 +sm.setSpeakerID(9390244) # Leon Daniella +sm.setParam(2) +sm.sendNext("Those pirates really know their way around the ocean...") +sm.setParam(0) +sm.sendSay("Of course, they move around a lot more than merchant ships.") +sm.setParam(2) +sm.sendSay("Captain Blood's ship is in sight!") +sm.setParam(0) +res = sm.sendAskYesNo("Captain Blood is here. Ready?") +sm.startQuest(parentID) +sm.setParam(5) +sm.setInnerOverrideSpeakerTemplateID(9390217) # Tepes +sm.sendNext("Oh, no! Pirates from Captain Blood's ship are boarding! And they didn't ask permission first!") +sm.setParam(1) +sm.sendSay("All right, let's do this!") +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) diff --git a/scripts/quest/q17645e.py b/scripts/quest/q17645e.py new file mode 100755 index 0000000..dbe2281 --- /dev/null +++ b/scripts/quest/q17645e.py @@ -0,0 +1,21 @@ +# id 17645 ([Commerci Republic] Close Up with Captain Blood), field 865010001 +sm.setSpeakerID(9390209) # Captain Blood +sm.sendNext("Ugh! He's pretty strong. Ha, I'm impressed!") +sm.setParam(2) +sm.sendSay("Yeah, no kidding. These guys are serious.") +sm.setParam(0) +sm.sendSay("Yar, but this brawl be far from over, matey.") +sm.setParam(2) +sm.sendSay("Oh, what now? Spoiler alert, you're not going to win.") +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(9390235) # Leon Daniella +sm.sendSay("Yeah, spoiler! You're dumb!") +sm.setParam(0) +sm.sendSay("...Do ye know how I got me captain's hat?") +sm.setParam(2) +sm.sendSay("...You're not wearing a hat.") +sm.setParam(0) +sm.sendSay("Yar, it be a metaphor! Anyway, was it me clever tactics? Me sharp eye for shootin'? Nay, it be...") +sm.sendSay("Me lightnin'-quick wits! Har har har!") +sm.completeQuestNoCheck(parentID) +sm.createQuestWithQRValue(18418, "B=33271") diff --git a/scripts/quest/q17645s.py b/scripts/quest/q17645s.py new file mode 100755 index 0000000..9dfdc8a --- /dev/null +++ b/scripts/quest/q17645s.py @@ -0,0 +1,64 @@ +# id 17645 ([Commerci Republic] Close Up with Captain Blood), field 865010001 +sm.setSpeakerID(9390209) # Captain Blood +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(9390235) # Leon Daniella +sm.sendNext("These pirates are way tougher than those ones before! Maybe they'll come work for my dad...") +sm.setParam(0) +sm.sendSay("Not a chance, scallywag!") +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(9390202) # Leon Daniella +sm.sendSay("Captain Blood! I hate that guy!") +sm.setParam(0) +sm.sendSay("Ye did well to make it this far, but the pleasure cruise ends here! Yar har har!") +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(9390235) # Leon Daniella +res = sm.sendAskYesNo("We'll show you what we've got! #h0#, ready?") +sm.startQuest(parentID) +sm.setParam(5) +sm.sendNext("Let's wipe their butts! I mean...GO!") +sm.sendSay("Let's do some fightinnnnnnnng!") +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) diff --git a/scripts/quest/q17646e.py b/scripts/quest/q17646e.py new file mode 100755 index 0000000..bf90ec6 --- /dev/null +++ b/scripts/quest/q17646e.py @@ -0,0 +1,13 @@ +# id 17646 ([Commerci Republic] Outlaw of the Sea), field 865010001 +sm.setSpeakerID(9390244) # Leon Daniella +sm.sendNext("Is everyone alive?") +sm.setParam(2) +sm.sendSay("The ship's seen better days, but the crew seems okay.") +sm.setParam(0) +sm.sendSay("The old monster must've been toying with us. It didn't even come up outta the water. Maybe it was just trying to give us high fives, kraken-style.") +sm.setParam(2) +sm.sendSay("I guess we got lucky.") +sm.setParam(0) +sm.sendSay("No kidding, #h0#. You play with the Grosso, you might just get smashed to Polpo, right? Haha! Because Polpo sounds like pulp.") +sm.completeQuestNoCheck(parentID) +sm.createQuestWithQRValue(18418, "B=33275") diff --git a/scripts/quest/q17646s.py b/scripts/quest/q17646s.py new file mode 100755 index 0000000..7572b9d --- /dev/null +++ b/scripts/quest/q17646s.py @@ -0,0 +1,12 @@ +# id 17646 ([Commerci Republic] Outlaw of the Sea), field 865010001 +sm.setSpeakerID(9390244) # Leon Daniella +res = sm.sendAskYesNo("#h0#! Help me! Save my life!") +sm.setParam(5) +sm.setInnerOverrideSpeakerTemplateID(9390202) # Leon Daniella +sm.sendNext("Everybody calm down! Relax your core!") +sm.setParam(3) +sm.sendSay("Are you all right Leon? Oh, GROSS, there's kraken juice everywhere!") +sm.setParam(1) +sm.sendSay("Grosso Polpo's no joke! It ate my dad's favorite fruit barge last year. Don't let your guard down!") +sm.startQuest(parentID) +sm.startQuest(parentID) diff --git a/scripts/quest/q17647e.py b/scripts/quest/q17647e.py new file mode 100755 index 0000000..773baf1 --- /dev/null +++ b/scripts/quest/q17647e.py @@ -0,0 +1,28 @@ +# id 17647 ([Commerci Republic] The Fall of Captain Blood), field 865010001 +sm.setSpeakerID(9390243) # Robed Lady +sm.setParam(32) +sm.setColor(1) +sm.sendNext("Everyone step back. I don't want anyone being swept out to sea.") +sm.lockInGameUI(True, True) +sm.forcedInput(0) +sm.showFieldEffect("Map/EffectBT.img/dawnveil1/Cut3_1", 0) +sm.sendDelay(2000) +sm.showFieldEffect("Map/EffectBT.img/dawnveil1/Cut3_2", 0) +sm.playSound("Sound/SoundEff.img/thunder3", 100) +sm.sendDelay(2000) +sm.lockInGameUI(False, True) +sm.setParam(57) +sm.sendNext("..........") +sm.setParam(37) +sm.setInnerOverrideSpeakerTemplateID(9390235) # Leon Daniella +sm.sendSay("..........") +sm.setParam(57) +sm.sendSay("Yikes... I wonder if they made it. ") +sm.setParam(37) +sm.sendSay("Umm... That seems unlikely.") +sm.setParam(57) +sm.sendSay("I almost feel bad for them now.") +sm.setParam(33) +sm.sendSay("Now, to discuss my payment.") +sm.completeQuestNoCheck(parentID) +sm.createQuestWithQRValue(18418, "B=33276") diff --git a/scripts/quest/q17647s.py b/scripts/quest/q17647s.py new file mode 100755 index 0000000..66a380e --- /dev/null +++ b/scripts/quest/q17647s.py @@ -0,0 +1,30 @@ +# id 17647 ([Commerci Republic] The Fall of Captain Blood), field 865010001 +sm.setSpeakerID(9390243) # Robed Lady +sm.sendNext("Where are the pirates?") +sm.setParam(2) +sm.sendSay("Pirate? Captain Blood!") +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(9390235) # Leon Daniella +sm.sendSay("Oh yeah! I was staring at the boat on the horizon like, 'who's flying that pirate flag?' I totally forgot about Captain Blood. Haha!") +sm.setParam(0) +sm.sendSay("He's getting away!") +sm.setParam(4) +sm.sendSay("He must have a really fast ship. My dad's sailboat is that fast. Should we go get my dad's sailboat?") +sm.setParam(2) +sm.sendSay("There's no time. He's gone for now.") +sm.setParam(4) +sm.sendSay("Awww, we almost had him! I want him! I want to get him!") +sm.setParam(0) +res = sm.sendAskYesNo("I suppose I will have to do this.") +sm.startQuest(parentID) +sm.setParam(56) +sm.setColor(1) +sm.sendNext("What are you gonna do? Swim out there and catch him? Are you hiding a jet ski under those robes?") +sm.setParam(32) +sm.sendSay("Don't be so naive... and what is a jet ski?") +sm.setParam(56) +sm.sendSay("Stop calling me naive!") +sm.setParam(32) +sm.sendSay("Shall I handle this for you? There will be a fee.") +sm.setParam(36) +sm.sendSay("You can catch the pirate?! That's awesome! My dad's got lots of money.") diff --git a/scripts/quest/q17648e.py b/scripts/quest/q17648e.py new file mode 100755 index 0000000..3fa748a --- /dev/null +++ b/scripts/quest/q17648e.py @@ -0,0 +1,39 @@ +# id 17648 ([Commerci Republic] Back to San Commerci), field 865000000 +sm.setSpeakerID(9390235) # Leon Daniella +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(9390202) # Leon Daniella +sm.sendNext("Oh... Hey... What's up?") +sm.setInnerOverrideSpeakerTemplateID(9390204) # Robed Lady +sm.sendSay("It's time we went our separate ways.") +sm.hideNpcByTemplateIdhi(9390255, True, True) +sm.setInnerOverrideSpeakerTemplateID(9390202) # Leon Daniella +sm.sendSay("How about a name first?") +sm.setParam(2) +sm.sendSay("What would you do with her name?") +sm.setParam(4) +sm.sendSay("I'd probably say it sometimes, maybe to you. Because we're friends now, right?") +sm.setParam(2) +sm.sendSay("Man, these people... Hey, why's everybody running around like crazy?") +sm.setParam(4) +sm.sendSay("I dunno, I thought there might be a sale on pies or something. My buddy is standing over there, if you want to know.") +sm.setParam(2) +sm.sendSay("Is there an event in town or something?") +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(9390217) # Tepes +sm.sendSay("Leon, you're back just in time!") +sm.setInnerOverrideSpeakerTemplateID(9390202) # Leon Daniella +sm.sendSay("What's with the commotion? Are they throwing a party for me?") +sm.setInnerOverrideSpeakerTemplateID(9390217) # Tepes +sm.sendSay("The Heaven Empire sent somebody here again!") +sm.setInnerOverrideSpeakerTemplateID(9390202) # Leon Daniella +sm.sendSay("The Heaven Empire? What are those annoying snobs up to now?") +sm.setParam(2) +sm.sendSay("What is the Heaven Empire?") +sm.setParam(4) +sm.sendSay("Haha, #h0#! You don't know anything! I'll tell you later. I can't stop thinking about that pie I talked about.") +sm.sendSay("Oh, hey! I found this junk on Captain Blood's ship! Do you want it?") +sm.completeQuestNoCheck(parentID) +sm.completeQuestNoCheck(17731) +sm.createQuestWithQRValue(18418, "B=33277") +sm.createQuestWithQRValue(18418, "B=33278") +sm.createQuestWithQRValue(18418, "B=33279") diff --git a/scripts/quest/q17648s.py b/scripts/quest/q17648s.py new file mode 100755 index 0000000..5fc3848 --- /dev/null +++ b/scripts/quest/q17648s.py @@ -0,0 +1,10 @@ +# id 17648 ([Commerci Republic] Back to San Commerci), field 865010001 +sm.setSpeakerID(9390244) # Leon Daniella +res = sm.sendAskYesNo("Well the pirate guy is gone, I guess. Let's go tell dad! He'll be so excited. I know I am!") +sm.setParam(1) +sm.sendNext("Change the heading! We head for San Commerci!") +sm.setParam(5) +sm.setInnerOverrideSpeakerTemplateID(9390217) # Tepes +sm.sendSay("Aye-Aye! Just let me get my navigating scarf on...") +sm.startQuest(parentID) +sm.warp(865000000) diff --git a/scripts/quest/q17650e.py b/scripts/quest/q17650e.py new file mode 100755 index 0000000..3849f7a --- /dev/null +++ b/scripts/quest/q17650e.py @@ -0,0 +1,16 @@ +# id 17650 ([Commerci Republic] Troubling Reports), field 865000002 +sm.setSpeakerID(9390203) # Gilberto Daniella +sm.setParam(2) +sm.sendNext("Prime Minister, we chased down the pirates.") +sm.setParam(0) +sm.sendSay("Welcome back. I am pleased to see you unharmed. This means your mission was successful?") +sm.setParam(2) +sm.sendSay("Yes... sort of. Mostly. Leon and I were able to take down the pirates, with some help.") +sm.setParam(0) +sm.sendSay("Good, good. The open sea lanes are important for this city.") +sm.setParam(2) +sm.sendSay("Are you feeling okay, Prime Minister? Is that Heaven Empire business bothering you?") +sm.setParam(0) +sm.sendSay("You've heard? Rumor moves swiftly in Commerci. Yes, the Heaven Empire's visit troubles me.") +sm.completeQuestNoCheck(parentID) +sm.createQuestWithQRValue(18418, "B=33280") diff --git a/scripts/quest/q17650s.py b/scripts/quest/q17650s.py new file mode 100755 index 0000000..370b057 --- /dev/null +++ b/scripts/quest/q17650s.py @@ -0,0 +1,5 @@ +# id 17650 ([Commerci Republic] Troubling Reports), field 865000000 +sm.setSpeakerID(9390235) # Leon Daniella +res = sm.sendAskYesNo("Would you go back and turn in the report for us?") +sm.startQuest(parentID) +sm.sendNext("I'll be right behind you in a minute!") diff --git a/scripts/quest/q17651e.py b/scripts/quest/q17651e.py new file mode 100755 index 0000000..a64da05 --- /dev/null +++ b/scripts/quest/q17651e.py @@ -0,0 +1,39 @@ +# id 17651 ([Commerci Republic] A Funny Kind of Peace), field 865000002 +sm.setSpeakerID(9390207) # Zion +sm.setParam(32) +sm.setColor(1) +sm.sendNext("What would your lord emperor have of you, you mean?") +sm.sendSay("First, you will only trade with the allies of the Heaven Empire, and all trade items will come from a list of approved materials. Every transaction will have a 1% tariff levied upon it as tribute to the glory of the empire.") +sm.setParam(56) +sm.sendSay("That's crazy!") +sm.setParam(36) +sm.setInnerOverrideSpeakerTemplateID(9390203) # Gilberto Daniella +sm.sendSay("Hear him out.") +sm.setParam(32) +sm.sendSay("Second, the Heaven Empire will require a standing order of goods, and citizens, to be delivered at such times as his grace see fit.") +sm.sendSay("Third, the sea lanes used by Commerci for trade will be considered the domain of the Heaven Empire. Therefore, the emperor will have free use of these routes, and ships sailing within them will be subject to random inspections.") +sm.sendSay("Fourth, as a show of our favor, we will take one child from each trade family to reside in the empire for a period of 10 years. They will be raised as one of ours, and to learn of our advanced technology. Kept close, and safe, so long as our peace remains. It is a most gracious offering.") +sm.sendSay("I will have your signature.") +sm.setParam(36) +sm.sendSay("Hm...") +sm.showNpcSpecialActionByTemplateId(9390236, "summon", 0) +sm.setInnerOverrideSpeakerTemplateID(9390202) # Leon Daniella +sm.sendSay("This is not happening!") +sm.setParam(32) +sm.sendSay("This is your son, yes?") +sm.setParam(36) +sm.sendSay("I'm Leon Daniella, the second son of the Prime Minister, and pride of the Commerci Republic!") +sm.setParam(32) +sm.sendSay("I know who you are, young man. I've heard tale of your adventures. You are said to be an excellent ship captain...") +sm.setParam(36) +sm.sendSay("Oh, really? Thanks-- HEY! Don't kiss up to me!") +sm.setParam(32) +sm.sendSay("I am not kissing up, I am here to carry out a mission of peace that concerns both of our countries.") +sm.setParam(36) +sm.sendSay("You call that peace? Ha! You walk in here with a deal that would make us your slaves, and you call it peace? You'd better get outta here now, before I stick the rest of you in that top hat!") +sm.setParam(32) +sm.sendSay("Prime Minister Gilberto, this hostility in your care is less than flattering. I will return tomorrow for your response. I hope that it will be the right one.") +sm.setParam(36) +sm.sendSay("That guy was making me MAD! Sorry, dad, but I have to go take care of some stuff and punch walls.") +sm.completeQuestNoCheck(parentID) +sm.createQuestWithQRValue(18418, "B=33281") diff --git a/scripts/quest/q17651s.py b/scripts/quest/q17651s.py new file mode 100755 index 0000000..93ab4bb --- /dev/null +++ b/scripts/quest/q17651s.py @@ -0,0 +1,21 @@ +# id 17651 ([Commerci Republic] A Funny Kind of Peace), field 865000002 +sm.setSpeakerID(9390203) # Gilberto Daniella +sm.sendNext("Ah, but the wait is finally over.") +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(9390217) # Tepes +res = sm.sendAskYesNo("The envoy from the Heaven Empire envoy is here. You want me to let him in?") +sm.startQuest(parentID) +sm.setParam(36) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(9390207) # Zion +sm.sendNext("Hello. I am Zion, and I have been sent as the voice of the Heaven Empire.") +sm.setParam(32) +sm.sendSay("It is a pleasure to receive the Heaven Empire in our humble city. I am Gilberto Daniella, the Prime Minister of the Commerci Republic, and your host. Please tell me what kind of-- ") +sm.setParam(36) +sm.sendSay("We have a proposal for Commerci.") +sm.setParam(32) +sm.sendSay("A proposal? What type of proposal?") +sm.setParam(36) +sm.sendSay("The people of Commerci have long remained in my great lord emperor's favor, paying proper tithe and reverence to his divine right. Yet we have very little formal history. I visit today as an offering of peace.") +sm.setParam(32) +sm.sendSay("I welcome his peace. The people of Commerci are rather fond of our neighbors in the Heaven Empire, and I am certain we can prosper together. What are the terms of your peace?") diff --git a/scripts/quest/q17652e.py b/scripts/quest/q17652e.py new file mode 100755 index 0000000..5fc58c0 --- /dev/null +++ b/scripts/quest/q17652e.py @@ -0,0 +1,14 @@ +# id 17652 ([Commerci Republic] Playing Courier), field 865000003 +sm.setSpeakerID(9390206) # Vaughn Tremier +sm.setParam(32) +sm.setColor(1) +sm.sendNext("Who are you?") +sm.setParam(56) +sm.sendSay("Are you Vaughn Tremier?") +sm.setParam(32) +sm.sendSay("Of course I am. Who are you?") +sm.setParam(56) +sm.sendSay("I am just the messenger. Prime Minister Gilberto sent me with a letter.") +sm.setParam(32) +sm.sendSay("A letter from GILBERTO?! Let me see it.") +sm.createQuestWithQRValue(18418, "B=33282") diff --git a/scripts/quest/q17653e.py b/scripts/quest/q17653e.py new file mode 100755 index 0000000..1e8f019 --- /dev/null +++ b/scripts/quest/q17653e.py @@ -0,0 +1,19 @@ +# id 17653 ([Commerci Republic] Don't Even Ask), field 865000002 +sm.setSpeakerID(9390203) # Gilberto Daniella +sm.sendNext("Did you deliver the letter?") +sm.setParam(2) +sm.sendSay("Yes, but... ") +sm.setParam(0) +sm.sendSay("He didn't take it well?") +sm.setParam(2) +sm.sendSay("I don't know if that letter was supposed to be funny, but he was laughing a lot. He... he said that you made the mess, you have to clean it...") +sm.setParam(0) +sm.sendSay("What? That fool! This isn't some petty grudge. This threatens our entire nation! ") +sm.setParam(2) +sm.sendSay("He said he was too busy managing his union to help.") +sm.setParam(0) +sm.sendSay("That... that vindictive child! Thinking of his coin purse when our very freedom hangs under a knife! I knew he wanted my job, but I never though he would sink to this.") +sm.sendSay("I'm sorry, I must be alone. Go get some rest.") +sm.completeQuestNoCheck(17740) +sm.createQuestWithQRValue(18418, "B=33283") +sm.createQuestWithQRValue(18418, "B=33284") diff --git a/scripts/quest/q17654e.py b/scripts/quest/q17654e.py new file mode 100755 index 0000000..a70743d --- /dev/null +++ b/scripts/quest/q17654e.py @@ -0,0 +1,19 @@ +# id 17654 ([Commerci Republic] Screaming in the Night), field 865020071 +sm.setSpeakerID(9390216) # Zion +sm.setParam(57) +sm.setColor(1) +sm.sendNext("Assassins!") +sm.setParam(37) +sm.setInnerOverrideSpeakerTemplateID(9390206) # Vaughn Tremier +sm.sendSay("What is this commotion?!") +sm.setInnerOverrideSpeakerTemplateID(9390202) # Leon Daniella +sm.sendSay("I think it came from over here! ") +sm.setInnerOverrideSpeakerTemplateID(9390227) # Guild Assassin +sm.sendSay("This is getting complicated. We leave, now.") +sm.hideNpcByTemplateIdhi(9390227, True, True) +sm.hideNpcByTemplateIdhi(9390228, True, True) +sm.showNpcSpecialActionByTemplateId(9390203, "summon", 0) +sm.showNpcSpecialActionByTemplateId(9390236, "summon", 0) +sm.showNpcSpecialActionByTemplateId(9390206, "summon", 0) +sm.completeQuestNoCheck(parentID) +sm.createQuestWithQRValue(18418, "B=33285") diff --git a/scripts/quest/q17654s.py b/scripts/quest/q17654s.py new file mode 100755 index 0000000..0ce535c --- /dev/null +++ b/scripts/quest/q17654s.py @@ -0,0 +1,13 @@ +# id 17654 ([Commerci Republic] Screaming in the Night), field 865000002 +sm.setSpeakerType(3) +sm.setParam(16) +res = sm.sendAskYesNo("I guess this would be a bad time to bring up the peace treaty from the Empress. Maybe a walk around San Commerci would clear my head...") +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(9390207) # Zion +sm.sendNext("Arrrrgggghhhh!!") +sm.setParam(35) +sm.sendSay("Huh? What was that?! It sounded like a person screaming! Maybe east?") +sm.sendSay("That scream came from the east, near #b#m865020000##k.") +sm.startQuest(parentID) +sm.warp(865020071) diff --git a/scripts/quest/q17655e.py b/scripts/quest/q17655e.py new file mode 100755 index 0000000..7bf2e3e --- /dev/null +++ b/scripts/quest/q17655e.py @@ -0,0 +1,19 @@ +# id 17655 ([Commerci Republic] False Charges), field 865030000 +sm.setSpeakerID(9390249) # Robed Lady +sm.setParam(2) +sm.sendNext("Wait! What are you doing here? Also where is here?") +sm.setParam(0) +sm.sendSay("Somewhere far from San Commerci.") +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(9390202) # Leon Daniella +sm.sendSay("Wow, you're so helpful. You're always helping us out. You're pretty awesome.") +sm.setParam(0) +sm.sendSay("I am not your guardian angel. I'm trying to collect the payment you owe me.") +sm.setParam(4) +sm.sendSay("Oh, yeah, right... Well, I just gotta clear up this thing with my dad first. Maybe you could tell me who you are, and that would help?") +sm.setParam(2) +sm.sendSay("Yeah, what's going on here, lady? You're using some pretty advanced magic.") +sm.setParam(0) +sm.sendSay("Hmm...") +sm.completeQuestNoCheck(parentID) +sm.createQuestWithQRValue(18418, "B=33286") diff --git a/scripts/quest/q17655s.py b/scripts/quest/q17655s.py new file mode 100755 index 0000000..ebb09ee --- /dev/null +++ b/scripts/quest/q17655s.py @@ -0,0 +1,47 @@ +# id 17655 ([Commerci Republic] False Charges), field 865020071 +sm.setSpeakerID(9390203) # Gilberto Daniella +sm.setParam(32) +sm.setColor(1) +sm.sendNext("What are you doing here? Causing some sort of... Is that the envoy from the Heaven Empire?!") +sm.setParam(36) +sm.setInnerOverrideSpeakerTemplateID(9390202) # Leon Daniella +sm.sendSay("Why is that jerk on the ground? I didn't put him on the ground.") +sm.setParam(56) +sm.sendSay("Well... Uh, I... That is...") +sm.setParam(36) +sm.setInnerOverrideSpeakerTemplateID(9390206) # Vaughn Tremier +sm.sendSay("Wait!! Is he D-D-DEAD?!") +sm.setParam(32) +sm.sendSay("Is he?") +sm.setParam(36) +sm.sendSay("It was YOU! You killed the envoy! You're a saboteur! The outsider has doomed us all! ") +sm.setParam(56) +sm.sendSay("What?! I didn't kill anyone! I'm against killing. I am anti-kill!") +sm.setParam(36) +sm.sendSay("Quiet! I know it was you! What are you Daniella fools doing?! Are you going to defend this murderer?!") +sm.setInnerOverrideSpeakerTemplateID(9390202) # Leon Daniella +sm.sendSay("#h0# can't be the murderer?! That's crazy, right? You're not the murderer, are you? No, of course not, haha!") +sm.setInnerOverrideSpeakerTemplateID(9390206) # Vaughn Tremier +sm.sendSay("You are siding with a foreigner you barely know?!") +sm.setInnerOverrideSpeakerTemplateID(9390202) # Leon Daniella +sm.sendSay("Hey man, you're the one jumping to conclusions. My dad told me that was bad business.") +sm.setInnerOverrideSpeakerTemplateID(9390206) # Vaughn Tremier +sm.sendSay("Oh! I get it! You are in this together, aren't you?! Prime Minister Gilberto! Your son is committing high treason!") +sm.setParam(32) +sm.sendSay("...Arrest them both.") +sm.setParam(36) +sm.setInnerOverrideSpeakerTemplateID(9390202) # Leon Daniella +sm.sendSay("D-dad?!") +sm.showFieldEffect("Map/EffectBT.img/dawnveil1/Clare", 0) +sm.showFieldEffect("Map/EffectBT.img/dawnveil1/Clare2", 0) +sm.setInnerOverrideSpeakerTemplateID(9390206) # Vaughn Tremier +sm.sendSay("W-What is going on?! My eyes! I've been blinded by these fiends!") +sm.setParam(32) +sm.sendSay("Calm down, Vaughn! It's only a distraction.") +sm.setParam(36) +sm.setInnerOverrideSpeakerTemplateID(9390204) # Robed Lady +sm.sendSay("Are you fools TRYING to get arrested?") +sm.setParam(56) +sm.sendSay("Oh... uh... not really?") +sm.startQuest(parentID) +sm.warp(865030000) diff --git a/scripts/quest/q17656e.py b/scripts/quest/q17656e.py new file mode 100755 index 0000000..ec4253c --- /dev/null +++ b/scripts/quest/q17656e.py @@ -0,0 +1,19 @@ +# id 17656 ([Commerci Republic] Dances with Wolves 1), field 865030000 +sm.setSpeakerID(9390249) # Robed Lady +sm.setParam(2) +sm.sendNext("I think that was the last of them...") +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(9390202) # Leon Daniella +sm.sendSay("Are you okay? Are you hurt? Can I get you a soda or something?") +sm.setParam(0) +sm.sendSay("Oh... I-I'm fine... Wait, did you hurt your hand?") +sm.setParam(4) +sm.sendSay("It's just a scratch. One of them was chewing on me a little, but I bit him back, haha!") +sm.setParam(0) +sm.sendSay("You should be more careful! Even a small wound can get infected.") +sm.setParam(2) +sm.sendSay("Would you two just smooch and get it over with? Yeesh. ") +sm.setParam(4) +sm.sendSay("Umm... Ahem... So anyway... If you can tell me your identity... Unless you wanna do the thing my best friend sidekick just said...") +sm.completeQuestNoCheck(parentID) +sm.createQuestWithQRValue(18418, "B=33287") diff --git a/scripts/quest/q17656s.py b/scripts/quest/q17656s.py new file mode 100755 index 0000000..c73d49e --- /dev/null +++ b/scripts/quest/q17656s.py @@ -0,0 +1,24 @@ +# id 17656 ([Commerci Republic] Dances with Wolves 1), field 865030000 +sm.setSpeakerID(9390249) # Robed Lady +sm.sendNext("My identity will not help you two get out of your current situation.") +sm.setParam(2) +sm.sendSay("I like to know who my allies and my enemies are.") +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(9390202) # Leon Daniella +sm.sendSay("Hey, what if I pay you double? I mean, seriously, my dad is LOADED.") +sm.setParam(0) +sm.sendSay("Oh... Really? How much can you pay me right now?") +sm.setParam(4) +sm.sendSay("Uh, maybe just like half now, half later? I've gotta save SOME cash... what if I find a house I need to buy? ") +sm.setParam(0) +sm.sendSay("A fair deal, my name is...") +sm.setParam(2) +res = sm.sendAskYesNo("Wait. We're in danger! Lupos!") +sm.startQuest(parentID) +sm.setParam(4) +sm.sendNext("Aww, man, I HATE Lupos! Don't let them bite this beautiful lady!") +sm.startQuest(parentID) +sm.progressMessageFont(3, 20, 20, 0, "EXP and mesos greatly reduced if hunting monsters beyond your level range.") +sm.startQuest(16689) +sm.startQuest(parentID) +sm.startQuest(16689) diff --git a/scripts/quest/q17657e.py b/scripts/quest/q17657e.py new file mode 100755 index 0000000..3aa8b72 --- /dev/null +++ b/scripts/quest/q17657e.py @@ -0,0 +1,29 @@ +# id 17657 ([Commerci Republic] Who's That Lady?), field 865030000 +sm.setSpeakerID(9390205) # Claire Tremier +sm.setParam(32) +sm.setColor(1) +sm.sendNext("There, are you happy now?") +sm.setParam(36) +sm.setInnerOverrideSpeakerTemplateID(9390202) # Leon Daniella +sm.sendSay("Heeeeey! ") +sm.setParam(56) +sm.sendSay("Leon? Did you just black out? Lady, I have no idea who you are.") +sm.setParam(32) +sm.sendSay("You STILL can't just trust me? After everything I've done?") +sm.sendSay("My name is #bClaire Tremier#k. I am the heiress to the Tremier Merchant Union.") +sm.setParam(56) +sm.sendSay("Tremier? That little weasel that called me a murderer?!") +sm.setParam(32) +sm.sendSay("That little WEASEL is my father.") +sm.setParam(56) +sm.sendSay("What is your game here?") +sm.setParam(32) +sm.sendSay("My game? I don't like your tone...") +sm.setParam(56) +sm.sendSay("Well, what are you going to do about it?") +sm.setParam(36) +sm.sendSay("Whoa, #h0#, relax! Miss Tremier obviously has some good reasons for what she's doing. Let's hear her out, and listen to her pretty voice.") +sm.setParam(56) +sm.sendSay("Fine, but this had better be good.") +sm.completeQuestNoCheck(parentID) +sm.createQuestWithQRValue(18418, "B=33288") diff --git a/scripts/quest/q17657s.py b/scripts/quest/q17657s.py new file mode 100755 index 0000000..904eee5 --- /dev/null +++ b/scripts/quest/q17657s.py @@ -0,0 +1,10 @@ +# id 17657 ([Commerci Republic] Who's That Lady?), field 865030000 +sm.setSpeakerID(9390249) # Robed Lady +sm.sendNext("Is it really that important that you find out who I am?") +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(9390202) # Leon Daniella +sm.sendSay("Hey. We have a bond. You and me, I want us to be open with each other. Like, I just peed myself a little when that wolf bit me. See? You go.") +sm.setParam(0) +res = sm.sendAskYesNo("I hope you're ready for a surprise...") +sm.sendNext("Take this.") +sm.startQuest(parentID) diff --git a/scripts/quest/q17658e.py b/scripts/quest/q17658e.py new file mode 100755 index 0000000..3f2531a --- /dev/null +++ b/scripts/quest/q17658e.py @@ -0,0 +1,32 @@ +# id 17658 ([Commerci Republic] Claire's Story), field 865030000 +sm.setSpeakerID(9390205) # Claire Tremier +sm.setParam(32) +sm.setColor(1) +sm.sendNext("My father will do anything anything to protect me... ANYTHING. And that is the problem. He's attempting to marry me to the ruling family of the Heaven Empire. ") +sm.setParam(36) +sm.setInnerOverrideSpeakerTemplateID(9390202) # Leon Daniella +sm.sendSay("NOT COOL!") +sm.setParam(32) +sm.sendSay("I have been studying with the Heaven Empire's royal family for some time now, but I hate it there. They are a cruel, and backwards society, and I want to marry for love. And...") +sm.setParam(56) +sm.sendSay("And?") +sm.setParam(32) +sm.sendSay("And... And... I want to be a magician!") +sm.setParam(56) +sm.sendSay("A magician? Seriously?") +sm.setParam(32) +sm.sendSay("Oh, I know it's a foolish reason to give up an empire, but it is the only thing that makes me happy. I've been studying magic in secret since I was six!") +sm.setParam(56) +sm.sendSay("Hence the awesome magic show on the ship...") +sm.setParam(32) +sm.sendSay("Yes, but there's a limit to how much I can learn on my own. I've decided to study abroad, but I can't tell father. But... I don't know how to pay for it... So... ") +sm.setParam(56) +sm.sendSay("You're playing bodyguard for us to make the money... I get it.") +sm.setParam(32) +sm.sendSay("Yes, I suppose I am. ") +sm.setParam(56) +sm.sendSay("So, any idea why your dad wants to make me out as a murderer?") +sm.setParam(32) +sm.sendSay("No. That was... unexpected. I would have to assume it has something to do with his communications with the Heaven Empire though.") +sm.completeQuestNoCheck(parentID) +sm.createQuestWithQRValue(18418, "B=33289") diff --git a/scripts/quest/q17658s.py b/scripts/quest/q17658s.py new file mode 100755 index 0000000..4e0016e --- /dev/null +++ b/scripts/quest/q17658s.py @@ -0,0 +1,15 @@ +# id 17658 ([Commerci Republic] Claire's Story), field 865030000 +sm.setSpeakerID(9390205) # Claire Tremier +sm.setParam(32) +sm.setColor(1) +sm.sendNext("You don't get to tell me when to talk. You should be thanking me for saving your worthless life.") +sm.setParam(56) +sm.sendSay("Of course I'm thankful for that... but it doesn't make you trustworthy. You could just be protecting us for some bigger scheme.") +sm.setParam(32) +res = sm.sendAskYesNo("Fine, hold on to your mistrust like a child with a blanket, but listen to me.") +sm.startQuest(parentID) +sm.sendNext("As I was trying to tell you, I am Vaughn Tremier's daughter, and sole heiress to the Tremier Merchant Union. I am his only daughter, and my mother passed away when I was born, so he's a bit protective of me.") +sm.setParam(56) +sm.sendSay("Then why are you sneaking around town?") +sm.setParam(32) +sm.sendSay("That SHOULD be obvious... ") diff --git a/scripts/quest/q17660e.py b/scripts/quest/q17660e.py new file mode 100755 index 0000000..5b533f8 --- /dev/null +++ b/scripts/quest/q17660e.py @@ -0,0 +1,15 @@ +# id 17660 ([Commerci Republic] Clairenapped), field 865030000 +sm.setSpeakerID(9390236) # Leon Daniella +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(9390227) # Guild Assassin +sm.sendNext("Get out of here! We'll get them later!") +sm.setParam(0) +sm.sendSay("I'll catch you! I was born to do this!") +sm.setParam(2) +sm.sendSay("Leon, STOP! You have to stop rushing into things!") +sm.setParam(0) +sm.sendSay("But... But... ") +sm.completeQuestNoCheck(parentID) +sm.completeQuestNoCheck(17741) +sm.createQuestWithQRValue(18418, "B=33291") +sm.createQuestWithQRValue(18418, "B=33292") diff --git a/scripts/quest/q17660s.py b/scripts/quest/q17660s.py new file mode 100755 index 0000000..ab2fcc8 --- /dev/null +++ b/scripts/quest/q17660s.py @@ -0,0 +1,56 @@ +# id 17660 ([Commerci Republic] Clairenapped), field 865030000 +sm.setSpeakerID(9390236) # Leon Daniella +sm.setParam(2) +sm.sendNext("What's going on? Where's Claire?") +sm.setParam(0) +sm.sendSay("I got ambushed! Some guys with crazy ninja faces came and I was like, 'BOOM no way guys stop it!' and then I attacked, but they were like, 'jump on his back and mess him up!' and now Claire's gone!") +sm.sendSay("Do you think she ran away? Or was she kidnapped? Maybe she doesn't like my cologne. Do I wear too much cologne?") +sm.setParam(2) +sm.sendSay("Calm down, Leon. She'll be fine.") +sm.setParam(0) +res = sm.sendAskYesNo("We have to find her before something happens!") +sm.startQuest(parentID) +sm.showNpcSpecialActionByTemplateId(9390227, "summon", 0) +sm.showNpcSpecialActionByTemplateId(9390228, "summon", 0) +sm.setParam(5) +sm.setInnerOverrideSpeakerTemplateID(9390227) # Guild Assassin +sm.sendNext("You'd be better off worrying about your own lives.") +sm.setParam(1) +sm.sendSay("Who are you?") +sm.setParam(5) +sm.sendSay("You won't be alive long enough for that to matter.") +sm.setParam(3) +sm.sendSay("You're one of the assassins who attacked the Heaven Empire envoy!") +sm.setParam(5) +sm.sendSay("You got me! Now prepare to meet your maker.") +sm.progressMessageFont(3, 20, 20, 0, "EXP and mesos greatly reduced if hunting monsters beyond your level range.") +sm.startQuest(16689) +sm.startQuest(parentID) +sm.startQuest(16689) +sm.startQuest(parentID) +sm.startQuest(16689) +sm.startQuest(16689) +sm.startQuest(parentID) +sm.startQuest(16689) +sm.startQuest(parentID) +sm.startQuest(16689) +sm.startQuest(16689) +sm.startQuest(parentID) +sm.startQuest(16689) +sm.startQuest(parentID) +sm.startQuest(16689) +sm.startQuest(16689) +sm.startQuest(parentID) +sm.startQuest(16689) +sm.startQuest(16689) +sm.startQuest(16689) +sm.startQuest(parentID) +sm.startQuest(16689) +sm.startQuest(parentID) +sm.startQuest(16689) +sm.startQuest(parentID) +sm.startQuest(16689) +sm.startQuest(parentID) +sm.startQuest(16689) +sm.startQuest(parentID) +sm.startQuest(16689) diff --git a/scripts/quest/q17661e.py b/scripts/quest/q17661e.py new file mode 100755 index 0000000..e7550f3 --- /dev/null +++ b/scripts/quest/q17661e.py @@ -0,0 +1,11 @@ +# id 17661 ([Commerci Republic] Unstable Future), field 865030000 +sm.setSpeakerID(9390236) # Leon Daniella +sm.sendNext("Yes! You are so smart! Let's look for Claire!") +sm.startQuest(16689) +sm.setParam(2) +sm.sendSay("Let's take it slow, and head after them. They have to know that Claire is a Tremier, and that means they won't hurt her.") +sm.setParam(0) +sm.sendSay("I definitely saw them running off into the forest. Let's be as quiet as the wind.") +sm.sendSay("Here, sidekick, take this. We don't know what's out there, and you might get hurt.") +sm.completeQuestNoCheck(parentID) +sm.createQuestWithQRValue(18418, "B=33293") diff --git a/scripts/quest/q17661s.py b/scripts/quest/q17661s.py new file mode 100755 index 0000000..ea9d39a --- /dev/null +++ b/scripts/quest/q17661s.py @@ -0,0 +1,23 @@ +# id 17661 ([Commerci Republic] Unstable Future), field 865030000 +sm.setSpeakerID(9390236) # Leon Daniella +sm.setParam(2) +sm.sendNext("Calm down. We can catch up to them.") +sm.setParam(0) +sm.sendSay("I just get so excited in my brain. I'm all fired up! I've got the vigor in my heart.") +res = sm.sendAskYesNo("But we need to think about what we're going to do and use some strategies.") +sm.startQuest(parentID) +sm.setParam(32) +sm.setColor(1) +sm.sendNext("We have two missions, sidekick. First up, clear our names, because people think we're bad, and we are NOT bad. Second, rescue Claire and make her my girlfriend.") +sm.sendSay("I'm sorry to say it, #h0#, but Claire comes first. She's way prettier than you. Besides, chicks dig outlaws.") +sm.sendSay("You can work on that other thing, but I'm going after her right now. Don't try to follow me!") +sm.setParam(56) +sm.sendSay("Um, I actually think we could just do both things at the same time.") +sm.setParam(32) +sm.sendSay("What?! That's crazy. Claire doesn't know anything about assassinating guys. She's too nice to know assassins.") +sm.setParam(56) +sm.sendSay("The guys we saw after Claire disappeared were the same guys I saw when the envoy was attacked. If we can catch them, we can clear our names.") +sm.startQuest(16689) +sm.startQuest(16689) +sm.startQuest(16689) +sm.startQuest(16689) diff --git a/scripts/quest/q17662e.py b/scripts/quest/q17662e.py new file mode 100755 index 0000000..9f44a32 --- /dev/null +++ b/scripts/quest/q17662e.py @@ -0,0 +1,5 @@ +# id 17662 ([Commerci Republic] A Claire Hunt), field 865030101 +sm.setSpeakerID(9390263) # Leon Daniella +sm.sendNext("There's some bad energy nearby... and look how those guys are dressed.") +sm.completeQuestNoCheck(parentID) +sm.createQuestWithQRValue(18418, "B=33294") diff --git a/scripts/quest/q17662s.py b/scripts/quest/q17662s.py new file mode 100755 index 0000000..ca4ec1f --- /dev/null +++ b/scripts/quest/q17662s.py @@ -0,0 +1,8 @@ +# id 17662 ([Commerci Republic] A Claire Hunt), field 865030000 +sm.setSpeakerID(9390236) # Leon Daniella +res = sm.sendAskYesNo("Are you ready to go find Claire? ") +sm.sendNext("They were headed towards the #b#m865030200##k. Let's go!") +sm.startQuest(parentID) +sm.startQuest(16689) +sm.startQuest(16689) +sm.startQuest(16689) diff --git a/scripts/quest/q17663e.py b/scripts/quest/q17663e.py new file mode 100755 index 0000000..a18421b --- /dev/null +++ b/scripts/quest/q17663e.py @@ -0,0 +1,7 @@ +# id 17663 ([Commerci Republic] Assassins's Den), field 865030101 +sm.setSpeakerID(9390263) # Leon Daniella +sm.sendNext("Whew, I think we did it.") +sm.sendSay("Hurry, let's go inside.") +sm.completeQuestNoCheck(parentID) +sm.completeQuestNoCheck(parentID) +sm.warp(865030111) diff --git a/scripts/quest/q17663s.py b/scripts/quest/q17663s.py new file mode 100755 index 0000000..6cd57a6 --- /dev/null +++ b/scripts/quest/q17663s.py @@ -0,0 +1,18 @@ +# id 17663 ([Commerci Republic] Assassins's Den), field 865030101 +sm.setSpeakerID(9390263) # Leon Daniella +sm.sendNext("They must be the gatekeepers.") +sm.setParam(2) +sm.sendSay("There are too many of them out there to just be guarding a gate. ") +sm.setParam(0) +res = sm.sendAskYesNo("Maybe the gate is made of gold... Whatever the case, we've gotta beat them up. This... is what I was born to do.") +sm.startQuest(parentID) +sm.sendNext("I'm taking you suckers down!") +sm.startQuest(parentID) +sm.progressMessageFont(3, 20, 20, 0, "EXP and mesos greatly reduced if hunting monsters beyond your level range.") +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) diff --git a/scripts/quest/q17665e.py b/scripts/quest/q17665e.py new file mode 100755 index 0000000..2ee0ede --- /dev/null +++ b/scripts/quest/q17665e.py @@ -0,0 +1,10 @@ +# id 17665 ([Commerci Republic] Zero Patience), field 865030111 +sm.setSpeakerID(9390236) # Leon Daniella +sm.setParam(36) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(9390207) # Zion +sm.sendNext("Claire, my darling, keep watch. This might be amusing.") +sm.setParam(56) +sm.sendSay("What are you on about?") +sm.completeQuestNoCheck(parentID) +sm.createQuestWithQRValue(18418, "B=33297") diff --git a/scripts/quest/q17665s.py b/scripts/quest/q17665s.py new file mode 100755 index 0000000..21e0924 --- /dev/null +++ b/scripts/quest/q17665s.py @@ -0,0 +1,35 @@ +# id 17665 ([Commerci Republic] Zero Patience), field 865030111 +sm.setSpeakerID(9390236) # Leon Daniella +sm.setParam(33) +sm.setColor(1) +sm.sendNext("(Pssst, #h0#, can you hear them?)") +sm.setParam(57) +sm.sendSay("(Nope.)") +sm.setParam(33) +sm.sendSay("(Let's just go in there and save Claire.)") +sm.setParam(57) +sm.sendSay("(Wait.)") +sm.setParam(33) +sm.sendSay("(She's in danger! That guy is super bullying her!)") +sm.setParam(57) +sm.sendSay("(Don't move! I think they know each other...)") +sm.setParam(33) +sm.sendSay("(I have to save her... This is what I was born to do, sidekick!)") +sm.setParam(57) +sm.sendSay("(H-hey!!)") +sm.startQuest(parentID) +sm.setParam(37) +sm.setInnerOverrideSpeakerTemplateID(9390207) # Zion +sm.sendSay("Who's there?") +sm.setParam(33) +sm.sendSay("Remember me, Zion?!") +sm.setParam(37) +sm.sendSay("Ah, the Prime Minister's deckhand. What brings you here?") +sm.setParam(33) +sm.sendSay("Shut up and get away from my Claire!") +sm.setParam(37) +sm.sendSay("Oh, do you know my darling Claire-bear? I am... an acquaintance like yourself, Mr. Daniella. Though I hardly think you meet her standards.") +sm.setParam(57) +sm.sendSay("Don't listen to his lies, Leon. Why did you fake your own death, goldilocks? What are you plotting?!") +sm.setParam(37) +sm.sendPrev("Ah, you're the... traveler. I apologize for getting you involved, but I'm afraid you can't be allowed to know what you know.") diff --git a/scripts/quest/q17666e.py b/scripts/quest/q17666e.py new file mode 100755 index 0000000..a151f7b --- /dev/null +++ b/scripts/quest/q17666e.py @@ -0,0 +1,13 @@ +# id 17666 ([Commerci Republic] A Deadly Game), field 865030121 +sm.setSpeakerID(9390236) # Leon Daniella +sm.setParam(5) +sm.setInnerOverrideSpeakerTemplateID(9390218) # Il Capo +sm.sendNext("My deadly trap was broken... how?!") +sm.setParam(3) +sm.sendSay("That was a close one. I thought that trap was going to get us. ") +sm.setParam(1) +sm.sendSay("We lost him! Arg!") +sm.setParam(3) +sm.sendSay("Don't worry about it, Leon. We have his boss. Isn't that right, Zion? I think it's time we had a little talk.") +sm.completeQuestNoCheck(parentID) +sm.warp(865030111) diff --git a/scripts/quest/q17666s.py b/scripts/quest/q17666s.py new file mode 100755 index 0000000..3077ef1 --- /dev/null +++ b/scripts/quest/q17666s.py @@ -0,0 +1,18 @@ +# id 17666 ([Commerci Republic] A Deadly Game), field 865030111 +sm.setSpeakerID(9390238) # Zion +sm.setParam(32) +sm.setColor(1) +sm.sendNext("Nothing, nothing. Il Capo?") +sm.setParam(36) +sm.setInnerOverrideSpeakerTemplateID(9390218) # Il Capo +sm.sendSay("......") +sm.setParam(32) +sm.sendSay("Dispose of them.") +sm.setParam(36) +sm.sendSay("No problem.") +sm.setParam(56) +sm.sendSay("What? Who's this guy?") +sm.setParam(36) +sm.sendSay("I'm the last face you'll ever see.") +sm.startQuest(parentID) +sm.warp(865030121) diff --git a/scripts/quest/q17667e.py b/scripts/quest/q17667e.py new file mode 100755 index 0000000..ce86cbe --- /dev/null +++ b/scripts/quest/q17667e.py @@ -0,0 +1,31 @@ +# id 17667 ([Commerci Republic] Plans from Heaven), field 865030111 +sm.setSpeakerID(9390238) # Zion +sm.setParam(32) +sm.setColor(1) +sm.sendNext("W-we knew that Gilberto would reject our peace treaty.") +sm.setParam(56) +sm.sendSay("Why did you even propose them if you knew they'd be rejected?") +sm.setParam(32) +sm.sendSay("M-my assassins believed that... that linking the Prime Minister of Commerci to the assassination of a peace envoy would be disastrous with the other nations...") +sm.setParam(36) +sm.setInnerOverrideSpeakerTemplateID(9390202) # Leon Daniella +sm.sendSay("And then they'd all turn their backs on us! You were trying to break us down and isolate us! ") +sm.setParam(32) +sm.sendSay("T-that was His Grace's plan, yes.") +sm.setParam(56) +sm.sendSay("We're going to march back to town, and you're going to tell everyone what you just told me.") +sm.setParam(32) +sm.sendSay("Y-yes... but you must offer me asylum.") +sm.setParam(36) +sm.sendSay("AND, we get to have your stuff.") +sm.setParam(32) +sm.sendSay("T-that's...!") +sm.setParam(36) +sm.sendSay("What? Mine? You're right. It IS mine now. Unless you want mr. mustache to meet the tweezers... ") +sm.setParam(32) +sm.sendSay("N-no. I was going to say... that's m-my gift... to you!") +sm.setParam(36) +sm.sendSay("Oh, really? Thanks man, that's super nice. I kinda feel bad now.") +sm.sendSay("Hey #h0#, you should use this.") +sm.completeQuestNoCheck(parentID) +sm.createQuestWithQRValue(18418, "B=33299") diff --git a/scripts/quest/q17667s.py b/scripts/quest/q17667s.py new file mode 100755 index 0000000..7c13783 --- /dev/null +++ b/scripts/quest/q17667s.py @@ -0,0 +1,24 @@ +# id 17667 ([Commerci Republic] Plans from Heaven), field 865030111 +sm.setSpeakerID(9390238) # Zion +sm.setParam(32) +sm.setColor(1) +sm.sendNext("U-unacceptable...") +sm.setParam(56) +sm.sendSay("Why did you fake your death?") +sm.setParam(32) +sm.sendSay("I don't have to answer your questions. You have no right to hold me here!") +sm.setParam(36) +sm.setInnerOverrideSpeakerTemplateID(9390202) # Leon Daniella +res = sm.sendAskYesNo("(#h0#, do you think you can get him to talk?)") +sm.startQuest(parentID) +sm.setParam(56) +sm.sendNext("Hey Leon. Hostages don't need their hair, right? Or their creepy little mustaches?") +sm.setParam(36) +sm.sendSay("No, I don't really see why they would. Hey, they don't need their clothes either!") +sm.setParam(56) +sm.sendSay("Yeah, if this guy was bald AND naked, he'd be too embarrassed to leave. I think i've got a tweezer in my bag here...") +sm.setParam(36) +sm.setInnerOverrideSpeakerTemplateID(9390207) # Zion +sm.sendSay("It was the assassins' idea! They are the ones who forced me to fake my own death.") +sm.setParam(56) +sm.sendSay("See? That was easy.") diff --git a/scripts/quest/q17668e.py b/scripts/quest/q17668e.py new file mode 100755 index 0000000..8abc950 --- /dev/null +++ b/scripts/quest/q17668e.py @@ -0,0 +1,19 @@ +# id 17668 ([Commerci Republic] Twice Cooked), field 865030300 +sm.setSpeakerID(9390237) # Claire Tremier +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(9390202) # Leon Daniella +sm.sendNext("Are you okay Claire? Did they hurt you? I will fight anyone who hurt you!") +sm.setParam(0) +sm.sendSay("I'm fine. I'm glad you're both alive.") +sm.setParam(4) +sm.sendSay("I'm glad you're alive too, Claire. Just in general.") +sm.setParam(0) +sm.sendSay("What happened to Zion and his henchmen?") +sm.setParam(2) +sm.sendSay("I've got some bad news... Zion was assassinated. We couldn't save him.") +sm.setParam(0) +sm.sendSay("Zion is... dead?") +sm.setParam(4) +sm.sendSay("But we're all alive!") +sm.completeQuestNoCheck(parentID) +sm.createQuestWithQRValue(18418, "B=33300") diff --git a/scripts/quest/q17668s.py b/scripts/quest/q17668s.py new file mode 100755 index 0000000..0e67fef --- /dev/null +++ b/scripts/quest/q17668s.py @@ -0,0 +1,35 @@ +# id 17668 ([Commerci Republic] Twice Cooked), field 865030111 +sm.setSpeakerID(9390238) # Zion +sm.sendNext("So s-should we go? I don't feel safe here.") +sm.setParam(2) +sm.sendSay("Yeah, let's leave..") +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(9390202) # Leon Daniella +sm.sendSay("Wait, where's Claire?") +sm.setParam(0) +sm.sendSay("She is safe. One of my men escorted her away before the battle.") +sm.sendSay("She's likely in #b#m865030300##k.") +sm.setParam(2) +res = sm.sendAskYesNo("I see, then let's go.") +sm.setParam(57) +sm.setColor(1) +sm.sendNext("Let's go see Gilberto.") +sm.setParam(37) +sm.setInnerOverrideSpeakerTemplateID(9390218) # Il Capo +sm.sendSay("I don't think so.") +sm.setParam(32) +sm.sendSay("Gah!") +sm.startQuest(parentID) +sm.setParam(57) +sm.sendSay("Zion! Wake up Zion!") +sm.setParam(37) +sm.setInnerOverrideSpeakerTemplateID(9390202) # Leon Daniella +sm.sendSay("...He's gone. Maaaaan, how are we going to clear our names?!") +sm.setParam(57) +sm.sendSay("We let our guard down, and now... what are we going to do?") +sm.setParam(37) +sm.sendSay(" We at least have to find Claire.") +sm.setParam(57) +sm.sendSay("Where did Zion say she was?") +sm.setParam(37) +sm.sendSay("#b#m865030300##k. Let's move.") diff --git a/scripts/quest/q17669e.py b/scripts/quest/q17669e.py new file mode 100755 index 0000000..bde4ebf --- /dev/null +++ b/scripts/quest/q17669e.py @@ -0,0 +1,9 @@ +# id 17669 ([Commerci Republic] Barricaded 2), field 865030300 +sm.setSpeakerID(9390236) # Leon Daniella +sm.setParam(2) +sm.sendNext("This is like the barriers the Delfinos were using...") +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(9390202) # Leon Daniella +sm.sendSay("Let's see if we can get through.") +sm.completeQuestNoCheck(parentID) +sm.createQuestWithQRValue(18418, "B=33301") diff --git a/scripts/quest/q17669s.py b/scripts/quest/q17669s.py new file mode 100755 index 0000000..e3cb477 --- /dev/null +++ b/scripts/quest/q17669s.py @@ -0,0 +1,20 @@ +# id 17669 ([Commerci Republic] Barricaded 2), field 865030300 +sm.setSpeakerID(9390237) # Claire Tremier +sm.setParam(2) +sm.sendNext("Let's return to San Commerci.") +sm.setParam(0) +sm.sendSay("Yes, we should... wait. I sense something... ") +sm.setParam(2) +sm.sendSay("What do you mean?") +sm.setParam(0) +sm.sendSay("There's an ominous presence nearby...") +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(9390202) # Leon Daniella +res = sm.sendAskYesNo("If Claire says she feels ominous, we have GOT to check it out. ") +sm.startQuest(parentID) +sm.setParam(2) +sm.sendNext("Okay... Claire, where do we go?") +sm.setParam(0) +sm.sendSay("It's nearby. It's been there from the start, but I thought it was the assassins at first.") +sm.setParam(2) +sm.sendSay("Then we'd better look around.") diff --git a/scripts/quest/q17670e.py b/scripts/quest/q17670e.py new file mode 100755 index 0000000..33dbf5b --- /dev/null +++ b/scripts/quest/q17670e.py @@ -0,0 +1,8 @@ +# id 17670 ([Commerci Republic] Ominous Feeling), field 865030400 +sm.setSpeakerType(3) +sm.setParam(17) +sm.sendNext("The sense of evil here is overwhelming... it's like I can't breathe... Something powerful is down here.") +sm.sendSay("I'd better get back to town for now. I have to prove my innocence before it's too late.") +sm.sendSay("Whew, I can finally breathe again! It was nasty in there...") +sm.completeQuestNoCheck(parentID) +sm.warp(865030300) diff --git a/scripts/quest/q17670s.py b/scripts/quest/q17670s.py new file mode 100755 index 0000000..3e0e8bb --- /dev/null +++ b/scripts/quest/q17670s.py @@ -0,0 +1,20 @@ +# id 17670 ([Commerci Republic] Ominous Feeling), field 865030300 +sm.setSpeakerID(9390236) # Leon Daniella +sm.sendNext("Claire, do you think you were sensing this barrier?") +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(9390205) # Claire Tremier +sm.sendSay("I believe so. It certainly feels the same... dark and nefarious.") +sm.setParam(0) +res = sm.sendAskYesNo("#h0#, it's time for us to go in, and and take a look.") +sm.startQuest(parentID) +sm.setParam(2) +sm.sendNext("Let me take this one alone. You stay here.") +sm.setParam(0) +sm.sendSay("What? I was BORN to do this!") +sm.setParam(2) +sm.sendSay("You weren't born to do anything! Just stay here and watch Claire. ") +sm.setParam(0) +sm.sendSay("Oooooh, I get it. Nice move, sidekick. I'll stay here with Claire.") +sm.setParam(2) +sm.sendSay("Great, yes. I'm going in.") +sm.warp(865030400) diff --git a/scripts/quest/q17671e.py b/scripts/quest/q17671e.py new file mode 100755 index 0000000..89d244c --- /dev/null +++ b/scripts/quest/q17671e.py @@ -0,0 +1,8 @@ +# id 17671 ([Commerci Republic] San Commerci, I Missed You), field 865000002 +sm.setSpeakerID(9390203) # Gilberto Daniella +sm.setParam(2) +sm.sendNext("Sir.") +sm.setParam(0) +sm.sendSay("You've returned...") +sm.completeQuestNoCheck(parentID) +sm.createQuestWithQRValue(18418, "B=33303") diff --git a/scripts/quest/q17671s.py b/scripts/quest/q17671s.py new file mode 100755 index 0000000..ee0ed42 --- /dev/null +++ b/scripts/quest/q17671s.py @@ -0,0 +1,16 @@ +# id 17671 ([Commerci Republic] San Commerci, I Missed You), field 865030300 +sm.setSpeakerID(9390236) # Leon Daniella +sm.sendNext("What'd you find?") +sm.setParam(2) +sm.sendSay("I didn't go too far in, but there's something mean in there. It felt like something was trying to kill me with its mind.") +sm.setParam(0) +res = sm.sendAskYesNo("Whoa, good thing you came back. Let's just get back to my dad in San Commerci and fix this whole thing up.") +sm.startQuest(parentID) +sm.setParam(2) +sm.sendNext("Yeah, let's go back. I think we could all use a rest.") +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(9390205) # Claire Tremier +sm.sendSay("I-I can't face my father. I'll go as far as the city gates...") +sm.setParam(0) +sm.sendSay("Okay, let's go.") +sm.warp(865000000) diff --git a/scripts/quest/q17672e.py b/scripts/quest/q17672e.py new file mode 100755 index 0000000..2915df2 --- /dev/null +++ b/scripts/quest/q17672e.py @@ -0,0 +1,31 @@ +# id 17672 ([Commerci Republic] Claire Tremier: Ace Attorney), field 865000002 +sm.setSpeakerID(9390203) # Gilberto Daniella +sm.setParam(36) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(9390205) # Claire Tremier +sm.sendNext("It's all true.") +sm.setInnerOverrideSpeakerTemplateID(9390206) # Vaughn Tremier +sm.sendSay("C-Claire?! What are you doing in San Commerci?!") +sm.setParam(32) +sm.sendSay("This is your daughter, is it not, Vaughn?") +sm.setParam(36) +sm.setInnerOverrideSpeakerTemplateID(9390205) # Claire Tremier +sm.sendSay("Hello, Prime Minister Daniella.") +sm.setInnerOverrideSpeakerTemplateID(9390206) # Vaughn Tremier +sm.sendSay("Why are you here? You should be in the Heaven Empire! Your studies!") +sm.setInnerOverrideSpeakerTemplateID(9390205) # Claire Tremier +sm.sendSay("I'll tell you more later father. For now, you have to know that everything this person says is true. I saw it all. Zion tried to silence them...") +sm.setParam(32) +sm.sendSay("Is that so?") +sm.setParam(36) +sm.sendSay("Zion kidnapped me, father, but these two rescued me from his grasp.") +sm.setInnerOverrideSpeakerTemplateID(9390206) # Vaughn Tremier +sm.sendSay("K-kidnapped?!") +sm.setParam(32) +sm.sendSay("Thank you for the information, Claire. Now, Vaughn, would you say that these two have proven their innocence, or do you mistrust even your own daughter?") +sm.setParam(36) +sm.sendSay("I... Fine. Claire, come with me!") +sm.setInnerOverrideSpeakerTemplateID(9390205) # Claire Tremier +sm.sendSay("Until we meet again...") +sm.completeQuestNoCheck(parentID) +sm.createQuestWithQRValue(18418, "B=33304") diff --git a/scripts/quest/q17672s.py b/scripts/quest/q17672s.py new file mode 100755 index 0000000..3d2730e --- /dev/null +++ b/scripts/quest/q17672s.py @@ -0,0 +1,37 @@ +# id 17672 ([Commerci Republic] Claire Tremier: Ace Attorney), field 865000002 +sm.setSpeakerID(9390203) # Gilberto Daniella +sm.setParam(56) +sm.setColor(1) +sm.sendNext("Sir, I have something to tell you.") +sm.setParam(36) +sm.setInnerOverrideSpeakerTemplateID(9390206) # Vaughn Tremier +sm.sendSay("How DARE you come back here?!") +sm.setParam(32) +sm.sendSay("Why are you here?") +sm.setParam(36) +sm.sendSay("Gilberto, there's no point in listening to this nonsense! Why aren't you arresting them?") +sm.setParam(32) +res = sm.sendAskYesNo("Why are you so afraid to hear what they have to say, Vaughn? Please, say what you've come to say. ") +sm.setParam(56) +sm.sendNext("Zion, the delegate from the Heaven Empire, faked his death.") +sm.setParam(32) +sm.sendSay("Faked?") +sm.setParam(56) +sm.sendSay("It was part of a plot to isolate Commerci from the other nations of Dawnveil.") +sm.setParam(32) +sm.sendSay("A conspiracy...") +sm.setParam(56) +sm.sendSay("Yes. They wanted it to look like he was assassinated for bringing a peace treaty to you. The other nations wouldn't know how unfair the treaty had been.") +sm.setParam(36) +sm.sendSay("This is utter nonsense!") +sm.setParam(32) +sm.sendSay("Where is the envoy now?") +sm.setParam(56) +sm.sendSay("We... we captured him, but a real assassin got to him before we could get to San Commerci. It had to have been someone from the Heaven Empire...") +sm.setParam(32) +sm.sendSay("So he is lost to us for good now?") +sm.setParam(56) +sm.sendSay("Correct.") +sm.setParam(36) +sm.sendSay("This is ridiculous! This yarn wouldn't be fit for a children's book!") +sm.startQuest(parentID) diff --git a/scripts/quest/q17673e.py b/scripts/quest/q17673e.py new file mode 100755 index 0000000..a6b99ae --- /dev/null +++ b/scripts/quest/q17673e.py @@ -0,0 +1,13 @@ +# id 17673 ([Commerci Republic] Undeniable Proof), field 865000002 +sm.setSpeakerID(9390203) # Gilberto Daniella +sm.sendNext("Definitely suspicious, but with no hard evidence, there's not much I can do.") +sm.setParam(2) +sm.sendSay("If only I could have saved Zion...") +sm.setParam(0) +sm.sendSay("That man chose his fate. Consorting with assassins is a dangerous game, and betraying them is downright foolish. Anyway, you and I have more pressing matters to discuss.") +sm.setParam(2) +sm.sendSay("We do?") +sm.setParam(0) +sm.sendSay("Give me a short moment, would you?") +sm.completeQuestNoCheck(parentID) +sm.createQuestWithQRValue(18418, "B=33305") diff --git a/scripts/quest/q17673s.py b/scripts/quest/q17673s.py new file mode 100755 index 0000000..fb53647 --- /dev/null +++ b/scripts/quest/q17673s.py @@ -0,0 +1,24 @@ +# id 17673 ([Commerci Republic] Undeniable Proof), field 865000002 +sm.setSpeakerID(9390203) # Gilberto Daniella +sm.sendNext("I knew you were innocent. I'm glad that we could prove it.") +sm.setParam(2) +sm.sendSay("I'm glad we could work everything out too. I felt bad that Leon got swept up in this.") +sm.setParam(0) +sm.sendSay("The course of a man's life is decided by their behavior in moments of peril. This will be good for my son. I only hope he can forgive my betrayal as a father...") +sm.setParam(2) +sm.sendSay("You're the leader of the Republic. I think he'll understand that you had to do what was best for the nation.") +sm.setParam(0) +res = sm.sendAskYesNo("I hope. Can you tell me more about what happened with the Heaven Empire envoy?") +sm.startQuest(parentID) +sm.setParam(2) +sm.sendNext("Sure. It was actually Claire who rescued us before we were arrested.") +sm.setParam(0) +sm.sendSay("She used magic to save you?") +sm.setParam(2) +sm.sendSay("Yes, she's pretty good at it, actually. We were hiding out in the forest on the outskirts of San Commerci, but Claire was abducted.") +sm.setParam(0) +sm.sendSay("And the abductors were assassins from the Heaven Empire?") +sm.setParam(2) +sm.sendSay("I'm not 100% sure, but Zion was ordering them around. He said they were the ones who came up with the plot.") +sm.setParam(0) +sm.sendSay("Hmmm... But for all we know, they could be an independent group, or mercenaries. And with Zion gone, there is no way to find out.") diff --git a/scripts/quest/q17674e.py b/scripts/quest/q17674e.py new file mode 100755 index 0000000..23ba3a2 --- /dev/null +++ b/scripts/quest/q17674e.py @@ -0,0 +1,6 @@ +# id 17674 ([Commerci Republic] Mutually Beneficial), field 865000000 +sm.setSpeakerID(9390256) # Leon Daniella +sm.setParam(2) +sm.sendNext("Hey, there's Leon! And... Claire? What are they up to?") +sm.completeQuestNoCheck(parentID) +sm.createQuestWithQRValue(18418, "B=33307") diff --git a/scripts/quest/q17674s.py b/scripts/quest/q17674s.py new file mode 100755 index 0000000..89f3683 --- /dev/null +++ b/scripts/quest/q17674s.py @@ -0,0 +1,26 @@ +# id 17674 ([Commerci Republic] Mutually Beneficial), field 865000002 +sm.setSpeakerID(9390203) # Gilberto Daniella +sm.setParam(32) +sm.setColor(1) +sm.sendNext("You've been embroiled in our politics against your will, but I have one more favor to ask you.") +sm.setParam(56) +sm.sendSay("Is it about Leon? I don't think I can fix him.") +sm.setParam(32) +sm.sendSay("No, no. Leon is... he will grow into himself. I have a more subtle task for you. Will you hear me out?") +sm.setParam(56) +sm.sendSay("Sure, what can I do?") +sm.setParam(32) +res = sm.sendAskYesNo("You're quite kind, haha. Could you deliver this letter to Empress Cygnus.") +sm.startQuest(parentID) +sm.setParam(56) +sm.sendNext("Empress Cygnus? What... is it?") +sm.setParam(32) +sm.sendSay("It's a peace treaty, though I assure the terms are fair and equitable, haha. I would like to propose an alliance between our peoples.") +sm.setParam(56) +sm.sendSay("Whoa... Of course! I'll read it to her a thousand times if I need to!") +sm.setParam(32) +sm.sendSay("You have been a strange and welcome visitor, #h0#. I hope to see you again soon. Leon will be waiting for you at the harbor.") +sm.setParam(56) +sm.sendSay("Thank you, sir. I'll come back and visit soon!") +sm.setParam(32) +sm.sendSay("See that you do.") diff --git a/scripts/quest/q17675e.py b/scripts/quest/q17675e.py new file mode 100755 index 0000000..22e650f --- /dev/null +++ b/scripts/quest/q17675e.py @@ -0,0 +1,17 @@ +# id 17675 ([Commerci Republic] His Circumstances), field 865000000 +sm.setSpeakerID(9390240) # Claire Tremier +sm.setParam(56) +sm.setColor(1) +sm.sendNext("Uh, Miss Claire, can I bother you for a moment?") +sm.setParam(32) +sm.sendSay("Oh, you... What is your name?") +sm.setParam(56) +sm.sendSay("Sorry, I guess I never introduced myself. I'm #h0#.") +sm.setParam(32) +sm.sendSay("I guess not. What do you need from me, #h0#?") +sm.setParam(56) +sm.sendSay("Leon asked me to give you this.") +sm.setParam(32) +sm.sendSay("Oh, yes, that does look like his brutish scrawl. Thank you very much.") +sm.completeQuestNoCheck(parentID) +sm.createQuestWithQRValue(18418, "B=33308") diff --git a/scripts/quest/q17675s.py b/scripts/quest/q17675s.py new file mode 100755 index 0000000..437f444 --- /dev/null +++ b/scripts/quest/q17675s.py @@ -0,0 +1,42 @@ +# id 17675 ([Commerci Republic] His Circumstances), field 865000000 +sm.setSpeakerID(9390256) # Leon Daniella +sm.setParam(36) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(9390240) # Claire Tremier +sm.sendNext("...I'll be going.") +sm.hideNpcByTemplateIdhi(9390237, True, True) +sm.setParam(56) +sm.sendSay("Hey, Leon.") +sm.setParam(32) +sm.sendSay("Hm? Oh, hey, sidekick. I heard from dad. When you're ready...") +sm.setParam(56) +sm.sendSay("Wait... What did I just see? What's going on between you two?") +sm.setParam(32) +sm.sendSay("Hm? Oh, you mean Miss Tremier?") +sm.setParam(56) +sm.sendSay("Wait, wait, wait. What happened to all the girlfriend talk?! What's going on?!") +sm.setParam(32) +sm.sendSay("We, uh, we just decided to, like, get to know each other. She says I have to be more gentlemanly.") +sm.setParam(56) +sm.sendSay("Wait, does she actually LIKE you? Like, like-like?! Go get her, man!") +sm.setParam(32) +sm.sendSay("She and I both have a lot of stuff we want to do in life before we bring a new person into our families. We're gonna take it slow...") +sm.setParam(56) +sm.sendSay("I... wasn't talking about marriage... But whatever works.") +sm.setParam(32) +res = sm.sendAskYesNo("Hey, I've still got to round up my crew before we set sail. Can you do one last thing for me?") +sm.startQuest(parentID) +sm.setParam(56) +sm.sendNext("A favor? What is it?") +sm.setParam(32) +sm.sendSay("W-well. I wrote a letter for Miss Tremier, but we got so caught up saying goodbye that I forgot to give it to her. Could you take it to her before she leaves for the Heaven Empire?") +sm.setParam(56) +sm.sendSay("Are you sure you don't want to give it to her yourself? You don't know when you'll see her again.") +sm.setParam(32) +sm.sendSay("Oh, man, you think she'd give me a kiss? No, Leon, no! That's not what a gentleman would do. I think. Ohh, I miss her eyes...") +sm.setParam(56) +sm.sendSay("(I think I'm going to vomit...)") +sm.setParam(32) +sm.sendSay("It's better if you do it. I'll become a better man and win her the right way. It's more romance novely that way, right? Haha!") +sm.setParam(56) +sm.sendSay("Uggghhhh fine. Just leave me out of the next round.") diff --git a/scripts/quest/q17676e.py b/scripts/quest/q17676e.py new file mode 100755 index 0000000..3083d71 --- /dev/null +++ b/scripts/quest/q17676e.py @@ -0,0 +1,25 @@ +# id 17676 ([Commerci Republic] Her Circumstances), field 865000000 +sm.setSpeakerID(9390256) # Leon Daniella +sm.setParam(32) +sm.setColor(1) +sm.sendNext("Hey, you're back! Was she swooning over me? No, Leon, that's not gentlemanly. But was she?") +sm.setParam(56) +sm.sendSay("I gave her your letter.") +sm.setParam(32) +sm.sendSay("Did she read it? Did she look happy? Was she touching her hair? You can tell a girl likes you if they touch their hair! ") +sm.setParam(56) +sm.sendSay("(Leon, you are so clueless!) Oh... yeah... totally... all kinds of hair touching. And she asked me to give this to you.") +sm.setParam(32) +sm.sendSay("YES! What is it?") +sm.setParam(56) +sm.sendSay("Man, I don't know! You open it.") +sm.setParam(32) +sm.sendSay("Let... me... see... What is this?") +sm.setParam(56) +sm.sendSay("Looks like some kind of charm. ") +sm.setParam(32) +sm.sendSay("It must be a good luck, no harm charm! I will never let this leave my person. Ever.") +sm.setParam(56) +sm.sendSay("Maybe just wear it like half of the time... (I really hope that thing is not cursed.)") +sm.completeQuestNoCheck(parentID) +sm.createQuestWithQRValue(18418, "B=33309") diff --git a/scripts/quest/q17676s.py b/scripts/quest/q17676s.py new file mode 100755 index 0000000..0e3e762 --- /dev/null +++ b/scripts/quest/q17676s.py @@ -0,0 +1,33 @@ +# id 17676 ([Commerci Republic] Her Circumstances), field 865000000 +sm.setSpeakerID(9390240) # Claire Tremier +sm.setParam(56) +sm.setColor(1) +sm.sendNext("Hey, uh, when are you leaving?") +sm.setParam(32) +sm.sendSay("As soon as my father is ready.") +sm.setParam(56) +sm.sendSay("He's going too?") +sm.setParam(32) +sm.sendSay("Yes, I believe this whole business with the kidnappers has put him on edge. He's barely let me go to the bathroom by myself, haha.") +sm.setParam(56) +sm.sendSay("But you're not going to give up, right? On being a magician?") +sm.setParam(32) +sm.sendSay("Of course not! That's ridiculous. I will continue to collect money... and knowledge, so long as I can.") +sm.setParam(56) +sm.sendSay("(She is totally going to run away again.)") +sm.sendSay("Is there anything you want me to tell Leon? Just in case you don't see him again?") +sm.setParam(32) +sm.sendSay("Leon? No. I said my goodbyes. ") +sm.setParam(56) +sm.sendSay("You're not going to miss him?! I thought you two were like...") +sm.setParam(32) +sm.sendSay("Why would I miss him?") +sm.setParam(56) +sm.sendSay("Right, right... Why indeed? (Leon, you poor thing!)") +sm.setParam(32) +res = sm.sendAskYesNo("Actually, could you give him this?") +sm.startQuest(parentID) +sm.setParam(56) +sm.sendNext("Sure, no problem. I'll make sure he gets it. ") +sm.setParam(32) +sm.sendSay("It's... it's a new spell I'm testing out. I hope it works for him.") diff --git a/scripts/quest/q17677e.py b/scripts/quest/q17677e.py new file mode 100755 index 0000000..66e1959 --- /dev/null +++ b/scripts/quest/q17677e.py @@ -0,0 +1,24 @@ +# id 17677 ([Commerci Republic] Back to Lith Harbor), field 104000000 +sm.setSpeakerID(9390200) # Parbell +sm.setParam(2) +sm.sendNext("Whew! It's feels like ages since I've been somewhere familiar.") +sm.setParam(0) +sm.sendSay("Where yuh been?! I thought y'uns was fish food.") +sm.setParam(2) +sm.sendSay("Oh... SERIOUSLY?! Parbell? You're alive?! What are you doing here?") +sm.setParam(0) +sm.sendSay("Hah! Do I looks like a feller what would get done in by such a bitty little storm? Ol' Parbell's seen plenty worse than that on the high seas!") +sm.sendSay("About before... I know it weren't the safe n' cozy voyage I promised, so consider yerself off the hook fer that reward yuh promised me. ") +sm.setParam(2) +sm.sendSay("Were you waiting here for me? How did you know I'd be back?") +sm.setParam(0) +sm.sendSay("Ain't no way a lil' bitty storm like that would leave yuh swimmin' with the fishes. Not if yuh got half the gumption of Ol' Parbell! I's afraid I didn't have much time to look for y'un what with my boat in pieces. But I heard yuh were safe from Mayor Berry, so I went ahead n' booked passage back here.") +sm.setParam(2) +sm.sendSay("(Ugh... You're going to have to complain about this to Neinheart when you return to Ereve.)") +sm.setParam(0) +res = sm.sendAskAccept("I figures yer gonna want a lift back to see that Empress Syggus o' yers. It's only fair I take y'un there fer free in mah new boats. \r\n#b(You will be moved to Ereve if you accept.)#k") +sm.completeQuestNoCheck(parentID) +sm.setParam(1) +sm.sendNext("The weather's pretty fair today, I reckon we won't run afoul o' no trouble.") +sm.createQuestWithQRValue(18418, "B=33310") +sm.warp(130000000) diff --git a/scripts/quest/q17677s.py b/scripts/quest/q17677s.py new file mode 100755 index 0000000..7047d4e --- /dev/null +++ b/scripts/quest/q17677s.py @@ -0,0 +1,6 @@ +# id 17677 ([Commerci Republic] Back to Lith Harbor), field 865000000 +sm.setSpeakerID(9390256) # Leon Daniella +res = sm.sendAskYesNo("We're all ready to set sail. Did you get everything?") +sm.sendNext("All right, time to set sail! Our destination: Lith Harbor!") +sm.startQuest(parentID) +sm.warp(104000000) diff --git a/scripts/quest/q17678e.py b/scripts/quest/q17678e.py new file mode 100755 index 0000000..064125b --- /dev/null +++ b/scripts/quest/q17678e.py @@ -0,0 +1,8 @@ +# id 17678 ([Commerci Republic] Ship of Blood), field 865010011 +sm.setSpeakerID(9390246) # Captain Blood +sm.setParam(2) +sm.sendNext("Captain Blood!") +sm.setParam(0) +sm.sendSay("I've been waitin' for ye!") +sm.completeQuestNoCheck(parentID) +sm.createQuestWithQRValue(18418, "B=33272") diff --git a/scripts/quest/q17678s.py b/scripts/quest/q17678s.py new file mode 100755 index 0000000..93f0ddc --- /dev/null +++ b/scripts/quest/q17678s.py @@ -0,0 +1,37 @@ +# id 17678 ([Commerci Republic] Ship of Blood), field 865010001 +sm.setSpeakerID(9390244) # Leon Daniella +sm.sendNext("W-what the...? He's gone. How'd he do that?") +sm.setParam(2) +sm.sendSay("Leon, look!") +sm.setParam(0) +sm.sendSay("He's already on his ship! Poop! We were so close!") +sm.setParam(2) +sm.sendSay("What now? That felt like our best shot, but he still got away. I don't think following him to his base is a good idea...") +sm.setParam(0) +sm.sendSay("But, but, we can't give up now! I can't go back empty-handed! I'll never get my allowance at this rate!") +res = sm.sendAskYesNo("Look, I know this is probably Captain Blood's trap, leading us into his base like this. You don't have to come, but I'm going. For me, for my dad, and for Commerci!") +sm.setParam(2) +sm.sendNext("Well, when you say it like that, I'm in!") +sm.setParam(0) +sm.sendSay("Really? I thought traps were bad things.") +sm.setParam(2) +sm.sendSay("It's okay. I'm pretty used to this kind of thing. ") +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(9390204) # Robed Lady +sm.sendSay("Shall I come too?") +sm.setParam(0) +sm.sendSay("No. You stay behind, guard the ship, and think about our date.") +sm.sendSay("All right, #h0#! Let's move out! I got the door! ") +sm.setParam(2) +sm.sendSay("Hold up. I'm going in there alone.") +sm.setParam(0) +sm.sendSay("What? No! I didn't come all this way to watch someone else beat the boss!") +sm.setParam(2) +sm.sendSay("Leon, think about it. You're the captain of this ship. What if something happens while the captain is away? You have to put your crew first.") +sm.setParam(0) +sm.sendSay("Yeah, but... I want glory!") +sm.setParam(2) +sm.sendSay("Shh, I know. But a captain's glory comes from doing his duty.") +sm.setParam(0) +sm.sendSay("...This sucks.") +sm.startQuest(parentID) diff --git a/scripts/quest/q17679s.py b/scripts/quest/q17679s.py new file mode 100755 index 0000000..b3d03c1 --- /dev/null +++ b/scripts/quest/q17679s.py @@ -0,0 +1,38 @@ +# id 17679 ([Commerci Republic] Red Tide), field 865010011 +sm.setSpeakerID(9390246) # Captain Blood +sm.setParam(56) +sm.setColor(1) +sm.sendNext("Your pirating days are over!") +sm.setParam(32) +sm.sendSay("Hahaha! Ye've walked into th' belly a' th' beast and ye don't even know it! ") +sm.setParam(56) +sm.sendSay("That's what you think, scurvy-face! Thanks for bringing your guys along so I can mop the floor with them all at once. ") +sm.setParam(32) +sm.sendSay("Puff up ye chest, wee seagull. I'll gift ye a right whippin' ye'll never forget!") +sm.setParam(56) +res = sm.sendAskYesNo("(This guy... I'm going to swab his decks!)") +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.progressMessageFont(3, 20, 20, 0, "EXP and mesos greatly reduced if hunting monsters beyond your level range.") +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.closeUI(1128) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.createQuestWithQRValue(18418, "B=33273") diff --git a/scripts/quest/q17680e.py b/scripts/quest/q17680e.py new file mode 100755 index 0000000..f931068 --- /dev/null +++ b/scripts/quest/q17680e.py @@ -0,0 +1,19 @@ +# id 17680 ([Commerci Republic] Sore Loser), field 865010011 +sm.setSpeakerID(9390246) # Captain Blood +sm.setParam(33) +sm.setColor(1) +sm.sendNext("Ye won't scrape ME off like some blasted barnacle. Th' gods 'o th' sea be on me side!") +sm.setParam(57) +sm.sendSay("W-what is that noise?") +sm.setParam(37) +sm.setInnerOverrideSpeakerTemplateID(9390217) # Tepes +sm.sendSay("G-G-G-Grosso Polpo! Did anybody bring kraken repellant?!") +sm.setParam(57) +sm.sendSay("What's happening? Is the ship in danger?") +sm.setParam(33) +sm.sendSay("'Tis me old matey, #r#eGrosso Polpo, outlaw of the sea#k#n! What's ye move, landlubber?! Fight me 'n face th' sea? Or save ye pretty bucko from th' kraken?") +sm.setParam(57) +sm.sendSay("Leon! Arg! I've gotta save him.") +sm.sendSay("He's through the #e#bportal up front#k#n. Blast it!") +sm.completeQuestNoCheck(parentID) +sm.createQuestWithQRValue(18418, "B=33274") diff --git a/scripts/quest/q17680s.py b/scripts/quest/q17680s.py new file mode 100755 index 0000000..ab9ca8a --- /dev/null +++ b/scripts/quest/q17680s.py @@ -0,0 +1,8 @@ +# id 17680 ([Commerci Republic] Sore Loser), field 865010011 +sm.setSpeakerID(9390246) # Captain Blood +sm.setParam(33) +sm.setColor(1) +sm.sendNext("Yaarrr... me throbbin' head... how...") +sm.setParam(57) +sm.sendSay("Give it up and hand yourself over. I'll make sure they go easy on you.") +sm.startQuest(parentID) diff --git a/scripts/quest/q17681e.py b/scripts/quest/q17681e.py new file mode 100755 index 0000000..9be570c --- /dev/null +++ b/scripts/quest/q17681e.py @@ -0,0 +1,25 @@ +# id 17681 ([Commerci Republic] Final Report), field 130000000 +sm.setSpeakerID(1101002) # Neinheart +sm.setParam(36) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(1540451) # Neinheart +sm.sendNext("Ah, I see you're back. You look like you've had a rough time of it.") +sm.setParam(56) +sm.sendSay("Yeah, thanks to a certain somebody.") +sm.setParam(36) +sm.sendSay("Oh? Well, I hope you dealt with that person appropriately.") +sm.setParam(56) +sm.sendSay("Uh... Anyway, remember how you said you'd arranged my passage to Commerci? Turns out nobody ever paid Parbell. Also, the boat sinking halfway there wasn't exactly what I signed up for.") +sm.setParam(36) +sm.sendSay("Huh? I didn't give you Parbell's ruby? Strange... I rarely forget things like that. As for your having to get a little wet, I deeply apologize. The next time your Empress wants to call for your help, I'll be sure to remind her you only perform duties that are convenient.") +sm.setParam(56) +sm.sendSay("#b(...I'm detecting serious notes of sarcasm in this apology.)#k") +sm.setParam(36) +sm.sendSay("In any case, you've performed your mission admirably, as always. This is precisely why I push you around.") +sm.sendSay("Oh my, that was a slip of the tongue. What I meant was 'this is why I push you to greatness.' Don't misunderstand.") +sm.setParam(56) +sm.sendSay("#b(...I forgot to ask the Empress to give Neinheart a scolding...)#k") +sm.setParam(36) +sm.sendSay("It may not be enough but be reward enough for your service, but this is a gift from the Empress for all your hard work. \r\n\r\n#b#i2049702:##t2049702##k\r\n#b#i2431935:##t2431935##k\r\n#b#i2431936:##t2431936##k") +sm.sendSay("Oh! And one more thing. This was attached to the letter you brought from Commerci. You should take good care of it.\r\n\r\n#b#i1142981:##t1142981##k") +sm.sendPrev("You don't have enough space in your inventory. Please empty at least 2 slots in Equip tab, and 3 slots in Use tab.") diff --git a/scripts/quest/q17681s.py b/scripts/quest/q17681s.py new file mode 100755 index 0000000..ffdd38e --- /dev/null +++ b/scripts/quest/q17681s.py @@ -0,0 +1,33 @@ +# id 17681 ([Commerci Republic] Final Report), field 130000000 +sm.setSpeakerID(1101000) # Cygnus +sm.setParam(36) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(1540450) # Cygnus +sm.sendNext("#h0#, I'm glad to see you are well.") +sm.setParam(56) +sm.sendSay("Heya, Empress? I just got back.") +sm.setParam(36) +sm.sendSay("I was beginning to get worried. You were out of touch for a while.") +sm.setParam(56) +sm.sendSay("Yeah, I guess I got stuck in a sticky situation.") +sm.setParam(36) +sm.sendSay("Oh my! I trust that everything went well in Commerci?") +sm.setParam(56) +sm.sendSay("Eventually, yes. It was a lot like the rest of Maple World, fresh air, beautiful sights, and good people... Punctuated by occasional bouts of insanity and evil. ") +sm.setParam(36) +sm.sendSay("It sounds like a very splendid place. I look forward to visiting someday.") +sm.setParam(56) +sm.sendSay("Yeah, let's put a hold on that. I DO have a letter for you though. It's from the Prime Minister of the San Commerci, their big capital.") +sm.setParam(36) +sm.sendSay("#face0#For me?") +sm.setParam(56) +sm.sendSay("I didn't read it, but I think it's a peace treaty.") +sm.setParam(36) +sm.sendSay("If it is, you have done a great thing for Maple World. Thank you.") +sm.setParam(56) +sm.sendSay("Sure thing!") +sm.setParam(36) +sm.sendSay("I thank you for proving I was right to have faith in you, #h0#. Your friendship means a great deal to me.") +sm.sendSay("#face2#You look weary. You should go get some rest. I could use a nap myself.") +sm.sendSay("Oh, I had something prepared for you, a small token of my thanks. I left it with Neinheart.") +sm.startQuest(parentID) diff --git a/scripts/quest/q1800s.py b/scripts/quest/q1800s.py new file mode 100755 index 0000000..6d6bbf3 --- /dev/null +++ b/scripts/quest/q1800s.py @@ -0,0 +1,6 @@ +# 1800 - [Evolution System] Suspicious Movement on the path +sm.setSpeakerID(9400115) +if sm.sendAskYesNo("Calling the Alliance. The Black Wings are operating deep within the mines below Edelstein. Something fould is afoot. Need help in #m310010000# immediately. Please Accept"): + sm.warp(310010000, 0) + sm.startQuest(parentID) + sm.completeQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q1801s.py b/scripts/quest/q1801s.py new file mode 100755 index 0000000..e208e90 --- /dev/null +++ b/scripts/quest/q1801s.py @@ -0,0 +1,16 @@ +# 1800 - [Evolution System] Suspicious Movement on the path +sm.setSpeakerID(9400115) +sm.sendNext("Thank you for coming. I'll explain more about the underground mine situation, but first... You know who this is?") +sm.setPlayerAsSpeaker() +sm.sendNext("I know that face!") +sm.setSpeakerID(9400115) +sm.sendNext("You should. She is the founder of the Black Wings and the commander of the Black Mage's Army...") +sm.setPlayerAsSpeaker() +sm.sendNext("Orchid.") +sm.setSpeakerID(9400115) +sm.sendNext("She is the reason our city was taken. She is the one who masterminded the theft of the Seal Stones, attacked Mercedes... That such a small girl could have caused so much havoc...") +sm.sendNext("She's been quiet for a while now, so I knew there must be trouble brewing. The Black Wings appear to have had a coup.") +sm.sendNext("We've pieced together some information suggesting that Orchid was ousted from her position. We're not sure why, but there has been a huge shake-up in the command structure of the Black Wings.") +sm.sendNext("It all seems to have begun when Orchid was betrayed by the scientist...") +sm.startQuest(parentID) +sm.warpInstanceIn(957020001, 0) \ No newline at end of file diff --git a/scripts/quest/q1820e.py b/scripts/quest/q1820e.py new file mode 100755 index 0000000..1003e90 --- /dev/null +++ b/scripts/quest/q1820e.py @@ -0,0 +1,5 @@ +# 1820 - [Basic Course] Warm-up +#TODO make script GMS like +sm.completeQuest(parentID) +sm.completeQuest(1848) +sm.warpInstanceOut(957000000) \ No newline at end of file diff --git a/scripts/quest/q1821e.py b/scripts/quest/q1821e.py new file mode 100755 index 0000000..46bf930 --- /dev/null +++ b/scripts/quest/q1821e.py @@ -0,0 +1,3 @@ +# 1821 - [Training Course] Disguise +#TODO make script GMS like +sm.completeQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q1822e.py b/scripts/quest/q1822e.py new file mode 100755 index 0000000..13215e4 --- /dev/null +++ b/scripts/quest/q1822e.py @@ -0,0 +1,4 @@ +# 1822 - [Training Course] Disguise + +#TODO make script GMS like +sm.completeQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q1822s.py b/scripts/quest/q1822s.py new file mode 100755 index 0000000..7ad84eb --- /dev/null +++ b/scripts/quest/q1822s.py @@ -0,0 +1,4 @@ +# 1822 - [Training Course] Disguise + +#TODO make script GMS like +sm.startQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q1823e.py b/scripts/quest/q1823e.py new file mode 100755 index 0000000..733735d --- /dev/null +++ b/scripts/quest/q1823e.py @@ -0,0 +1,4 @@ +# 1822 - [Training Course] Agility test + +#TODO make script GMS like +sm.completeQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q1847e.py b/scripts/quest/q1847e.py new file mode 100755 index 0000000..1f8af31 --- /dev/null +++ b/scripts/quest/q1847e.py @@ -0,0 +1,5 @@ +# 1847s - [Evolution System] System Enhancement Mode 1 +#TODO make script GMS like +sm.setSpeakerID(9075202) +sm.sendNext("Welcome to connecting to the Evolution System Enhancement Mode. This mode supports a stronger training program. Beginning guide now.") +sm.completeQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q1847s.py b/scripts/quest/q1847s.py new file mode 100755 index 0000000..63cc9d7 --- /dev/null +++ b/scripts/quest/q1847s.py @@ -0,0 +1,8 @@ +# 1847s - [Evolution System] System Enhancement Mode 1 +from net.swordie.ms.enums import UIType +sm.setSpeakerID(9075202) +if sm.sendAskYesNo("Initiating system enhancement mode. Would you like to operate the Evolution System? You will be connected to a much more enhanced virtual world."): + sm.openUI(UIType.UI_EVOLVING_SYSTEM) + sm.startQuest(parentID) +else: + sm.dispose() \ No newline at end of file diff --git a/scripts/quest/q20031e.py b/scripts/quest/q20031e.py new file mode 100755 index 0000000..95bcb15 --- /dev/null +++ b/scripts/quest/q20031e.py @@ -0,0 +1,38 @@ +# Manual Labor + +# Constants +LIMBERT = 1106002 +ITEM1 = 4033194 +ITEM2 = 4033195 + +sm.setSpeakerID(LIMBERT) +selection1 = sm.sendNext("What took you so long?! You better not have been rooting through my things!\r\n#b\r\n#L0#I wasn't, but I found this letter up there by the potion box... It's from some guy named Chromile.#l") + +if selection1 == 0: + sm.sendNext("What?! Who told you you could touch that?!") +else: + sm.dispose() + +sm.consumeItem(ITEM1) +sm.consumeItem(ITEM2) +sm.giveItem(2001500, 10) +sm.giveItem(2001503, 10) +sm.completeQuestNoRewards(20031) +sm.addLevel(2) +sm.lockInGameUI(True) +sm.localEmotion(4, 2000, False) +sm.sendDelay(2000) + +sm.removeEscapeButton() +sm.setPlayerAsSpeaker() +sm.sendNext("Another great day with the old man...") + +sm.sendSay("Huh? What's that?") + +sm.showBalloonMsg("Effect/Direction7.img/effect/tuto/soul/0", 4000) +sm.sendDelay(5000) + +sm.sendNext("It was like... a small shining light...") + +sm.warpInstanceIn(913070002, 0) +sm.dispose() \ No newline at end of file diff --git a/scripts/quest/q20032e.py b/scripts/quest/q20032e.py new file mode 100755 index 0000000..ba1c511 --- /dev/null +++ b/scripts/quest/q20032e.py @@ -0,0 +1,18 @@ +# Manual Labor + +# Constants +LIMBERT = 1106002 +ITEM1 = 4033194 +ITEM2 = 4033195 + +sm.setSpeakerID(LIMBERT) +sm.sendNext("Are you done cleaning yet? I suppose it looks moderately presentable in here. What are you looking at? Go organize the shelves!") + +sm.sendNext("What?! Who told you you could touch that?!") + +sm.completeQuestNoRewards(20032) +sm.giveItem(2001500, 20) +sm.giveItem(2001503, 20) +sm.addLevel(2) +sm.warpInstanceIn(913070003, 0) +sm.dispose() \ No newline at end of file diff --git a/scripts/quest/q20033e.py b/scripts/quest/q20033e.py new file mode 100755 index 0000000..239fb3b --- /dev/null +++ b/scripts/quest/q20033e.py @@ -0,0 +1,22 @@ +# Manual Labor + +# Constants +LIMBERT = 1106002 +EGG = 4033196 + +sm.setSpeakerID(LIMBERT) +selection1 = sm.sendNext("Where's the eggs? I told you to get eggs. If you broke them... Wait a second, what happened to you?\r\n #b\r\n#L0# Uh, well, you know how you told me not to mess with Bigby? Well... I kinda... He got out.#l") + + +if selection1 == 0: + sm.sendNext("What?!! I swear to every deity I can think of, you will starve to death if that dog is not in my yard by dinnertime.") +else: + sm.dispose() + +sm.completeQuestNoRewards(20033) +sm.consumeItem(EGG, 10) +sm.giveItem(2001500, 30) +sm.giveItem(2001503, 30) +sm.addLevel(2) +sm.warpInstanceIn(913070004, 0) +sm.dispose() \ No newline at end of file diff --git a/scripts/quest/q20036s.py b/scripts/quest/q20036s.py new file mode 100755 index 0000000..04c8805 --- /dev/null +++ b/scripts/quest/q20036s.py @@ -0,0 +1,35 @@ +# Manual Labor + +# Constants +CYGNUS = 1106001 +NEINHEART = 1106003 + +sm.setSpeakerID(CYGNUS) +sm.sendNext("Do you see, Neinheart? This child must be the descendant of the Knight of Light.") + +sm.setSpeakerID(NEINHEART) +sm.sendSay("I suppose the Empress is correct. You will have to learn the ways of a true knight, shopkeep. Your skills with a broom won't get you far on the battlefield.") + +sm.setPlayerAsSpeaker() +sm.sendSay("My father was the Knight of Light? What does that even mean? I'm just an ordinary kid...") + +sm.setSpeakerID(CYGNUS) +if sm.sendAskAccept("The choice is yours. Listen to your heart. The voice of destiny will guide you down the correct path. For the good of your own soul, and the good of the world...\r\nWill you come with me?"): + sm.sendNext("There has been an incident at the #b Ellinel Fairy Academy#k. A human magician has trespassed in the sacred halls of the fairy school.") + sm.giveItem(1142399)# Newborn Light (Medal) + sm.giveItem(1052444)# Apprentice Knight of Light Robe + sm.giveItem(1302077)# Beginner Warrior's Sword + sm.giveAndEquip(1098000)# Soul Shield of Protection + sm.removeEscapeButton() + sm.sendNext("You need a name. How about... #b#e'Mihile'#k#n? It means 'Born of Light'? I think it will suit you well, in the end. Let us go to Ereve. A brilliant new life awaits you.") + sm.addLevel(2) + sm.jobAdvance(5100) + sm.addAP(40) + sm.startQuestNoCheck(29976) + sm.completeQuestNoRewards(29976) + sm.completeQuestNoRewards(20036) + sm.warpInstanceOut(913070071, 0) +else: + sm.setSpeakerID(CYGNUS) + sm.sendNext("Why are you refusing destiny?") +sm.dispose() \ No newline at end of file diff --git a/scripts/quest/q20320e.py b/scripts/quest/q20320e.py new file mode 100755 index 0000000..fcaa60a --- /dev/null +++ b/scripts/quest/q20320e.py @@ -0,0 +1,17 @@ +sm.setSpeakerID(1101002) +if sm.sendAskYesNo("Now you're a REAL knight. Would you like to take your Job Advancement?"): + if not sm.canHold(1142401): + sm.sendSayOkay("You need inventory space.") + sm.dispose() + else: + if chr.getJob() == 5110: + sm.jobAdvance(5111) + sm.giveItem(1142401) + sm.completeQuest(parentID) + sm.dispose() + else: + sm.sendNext("You are not a mihile class.") + sm.dispose() +else: + sm.dispose() + diff --git a/scripts/quest/q20321s.py b/scripts/quest/q20321s.py new file mode 100755 index 0000000..84a1e06 --- /dev/null +++ b/scripts/quest/q20321s.py @@ -0,0 +1,5 @@ +# 20321 - [Job Adv] (Lv.60) Mihile 3rd job adv +sm.setSpeakerID(1101002) +if sm.sendAskYesNo("Are you ready to enter the Test area?"): + sm.warpInstanceIn(913070200) + sm.setInstanceTime(300, 130000000, 0) \ No newline at end of file diff --git a/scripts/quest/q20411e.py b/scripts/quest/q20411e.py new file mode 100755 index 0000000..57ec059 --- /dev/null +++ b/scripts/quest/q20411e.py @@ -0,0 +1,14 @@ +# 20411 - [Job Adv] (Lv.100) Mihile 4rd job adv +sm.setSpeakerID(1101002) +sm.sendNext("Cygnus is safe and the knights will be back to normal soon, I've even heard some of them referring to you as the new Chief Knight. It looks like you have no choice but to take up my proposal.") +if not sm.canHold(1142402): + sm.sendSayOkay("You need inventory space.") + sm.dispose() +else: + if chr.getJob() == 5111: + sm.jobAdvance(5112) + sm.giveItem(1142402) + sm.dispose() + else: + sm.sendNext("You are not a mihile class.") + sm.dispose() \ No newline at end of file diff --git a/scripts/quest/q20412s.py b/scripts/quest/q20412s.py new file mode 100755 index 0000000..aac9ae6 --- /dev/null +++ b/scripts/quest/q20412s.py @@ -0,0 +1,5 @@ +# 20412 - [Job Adv] (Lv.100) Mihile 4rd job adv +sm.setSpeakerID(1101002) +if sm.sendAskYesNo("Are you ready, are you okay to leave?"): + sm.warp(913070100, 0) + sm.setInstanceTime(300, 130000000) \ No newline at end of file diff --git a/scripts/quest/q20767e.py b/scripts/quest/q20767e.py new file mode 100755 index 0000000..3cfac05 --- /dev/null +++ b/scripts/quest/q20767e.py @@ -0,0 +1,13 @@ +# (Lv60) Advanced Knight + +advancedKnightMedal = 1142068 + +if sm.canHold(advancedKnightMedal): + sm.setSpeakerID(1101000) + sm.sendNext("You are training well! However, you have a lot to learn still. Take this to remember the cause and what it means to be a Knight of Cygnus" + "\r\n\r\n1x #v"+ str(advancedKnightMedal) +"##z"+ str(advancedKnightMedal) +"#") + sm.giveItem(advancedKnightMedal) + sm.completeQuestNoRewards(parentID) + sm.dispose() +else: + sm.dispose() diff --git a/scripts/quest/q20767s.py b/scripts/quest/q20767s.py new file mode 100755 index 0000000..909fd48 --- /dev/null +++ b/scripts/quest/q20767s.py @@ -0,0 +1,4 @@ +# (Lv60) Advanced Knight + +sm.completeQuestNoRewards(parentID) +sm.dispose() diff --git a/scripts/quest/q20768e.py b/scripts/quest/q20768e.py new file mode 100755 index 0000000..cec00d5 --- /dev/null +++ b/scripts/quest/q20768e.py @@ -0,0 +1,13 @@ +# (Lv100) Chief Knight + +chiefKnightMedal = 1142069 + +if sm.canHold(chiefKnightMedal): + sm.setSpeakerID(1101000) + sm.sendNext("You are training well! However, you have a lot to learn still. Take this to remember the cause and what it means to be a Knight of Cygnus" + "\r\n\r\n1x #v"+ str(chiefKnightMedal) +"##z"+ str(chiefKnightMedal) +"#") + sm.giveItem(chiefKnightMedal) + sm.completeQuestNoRewards(parentID) + sm.dispose() +else: + sm.dispose() diff --git a/scripts/quest/q20768s.py b/scripts/quest/q20768s.py new file mode 100755 index 0000000..4822bac --- /dev/null +++ b/scripts/quest/q20768s.py @@ -0,0 +1,4 @@ +# (Lv. 100) Chief Knight + +sm.completeQuestNoRewards(parentID) +sm.dispose() diff --git a/scripts/quest/q20810s.py b/scripts/quest/q20810s.py new file mode 100755 index 0000000..591552d --- /dev/null +++ b/scripts/quest/q20810s.py @@ -0,0 +1,18 @@ +# 20810 - [Job Adv] (Lv.30) Mihile +sm.setSpeakerID(2520025) +if sm.sendAskYesNo("Congratulations on passing your trials, do you want to become one of my knights?"): + if not sm.canHold(1302038): + sm.sendSayOkay("You need inventory space.") + + elif not sm.canHold(1142400): + sm.sendSayOkay("You need inventory space.") + else: + if chr.getJob() == 5100: + sm.jobAdvance(5110) + sm.giveItem(1302038) + sm.giveItem(1142400) + sm.completeQuest(20810) + sm.dispose() + else: + sm.sendNext("You are not a mihile class.") + sm.dispose() diff --git a/scripts/quest/q20820s.py b/scripts/quest/q20820s.py new file mode 100755 index 0000000..6849d40 --- /dev/null +++ b/scripts/quest/q20820s.py @@ -0,0 +1,13 @@ +# Start of The City of Ereve +KIMU = 1102004 +sm.setSpeakerID(KIMU) +sm.removeEscapeButton() + +sm.sendNext("Welcome to Ereve! This is the safest and most peaceful place in all of Maple World. " +"Empress Cygnus keeps it nice all the time!\r\n" +"You're #b#h ##k, right? Here to join the #p1064023# Knights. I'm your guide, #p" + str(KIMU) + "#. All the Noblesses in town come to me first!") + +sm.sendSay("You need to get over to the Knight's Orientation right away. They're getting started already. Follow me, okay?") + +sm.completeQuestNoRewards(parentID) +sm.warp(130030100) # Knight Orientation Area diff --git a/scripts/quest/q20821s.py b/scripts/quest/q20821s.py new file mode 100755 index 0000000..c86033b --- /dev/null +++ b/scripts/quest/q20821s.py @@ -0,0 +1,13 @@ +# Start of Knight's Orientation +KIMU = 1102004 +sm.setSpeakerID(KIMU) + +sm.sendNext("This is the ceremony where we welcome all the newbie knights. " +"We need to find Training Instructor Kiku. " +"He's gotta be around here somewhere...") + +sm.sendSay("Having a hard time finding Kiku? You should use that NPC button next to your map! " +"Just click on Kiku and you'll see an arrow!\r\n" +"Hurry up and go say hi before he gets grumpy!") + +sm.startQuestNoCheck(parentID) diff --git a/scripts/quest/q20822e.py b/scripts/quest/q20822e.py new file mode 100755 index 0000000..3df0416 --- /dev/null +++ b/scripts/quest/q20822e.py @@ -0,0 +1,10 @@ +# End of The Path of Bravery +KIMU = 1102004 +sm.setSpeakerID(KIMU) +sm.removeEscapeButton() + +sm.sendNext("Did you meet up with Kiku? He seems tough, but he's a total softy.") +sm.sendSay("The orientation's almost over. You wanna go ahead and get started on your training?") + +sm.completeQuestNoRewards(parentID) +sm.warp(130030101) # Forest of Beginnings \ No newline at end of file diff --git a/scripts/quest/q20822s.py b/scripts/quest/q20822s.py new file mode 100755 index 0000000..f1ee646 --- /dev/null +++ b/scripts/quest/q20822s.py @@ -0,0 +1,18 @@ +# Start of The Path of Bravery +KIKU = 1102000 +sm.setSpeakerID(KIKU) + +response = sm.sendAskYesNo("I don't know if they told you during the orientation, but we're here to fight the Black Mage. " +"Right now, you're not fit to fight a black mop. I'm gonna fix that.\r\n" +"You ready for some action?") + +if not response: + sm.sendSayOkay("You listening? Pay attention!") + sm.dispose() + +sm.removeEscapeButton() + +sm.sendSay("Your first stop is Kimu. If you get lost, hit the #bQ key#k and check your #rQuest Info#k. " +"That's tip number one: always check your quest info before you go running your mouth!") + +sm.startQuestNoCheck(parentID) diff --git a/scripts/quest/q20824e.py b/scripts/quest/q20824e.py new file mode 100755 index 0000000..d160283 --- /dev/null +++ b/scripts/quest/q20824e.py @@ -0,0 +1,20 @@ +# End of Knight's Cavalier +KIMU = 1102004 +FEATHERED_NOBLESSE_HAT = 1003769 + +sm.setSpeakerID(KIMU) + +if not sm.isEquipped(FEATHERED_NOBLESSE_HAT): + sm.sendSayOkay("It doesn't look like you put your hat on yet... " + "Press the #bHotkey I#k to open the inventory window, #rthen double-click on the equipment#k.\r\n" + "You can see what you have equipped by pressing the #bHotkey E#k.") + sm.dispose() + +sm.sendNext("Isn't putting on equipment easy? " +"That's a good thing because you'll need WAY better gear if you want to be a real knight! " +"Always keep an eye out for new stuff.") + +sm.sendSay("I found Kinu in a pile of books. " +"He might tell you what you need to know, or he might just put you to sleep. Or both.") + +sm.completeQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q20824s.py b/scripts/quest/q20824s.py new file mode 100755 index 0000000..ef1f676 --- /dev/null +++ b/scripts/quest/q20824s.py @@ -0,0 +1,21 @@ +# Start of Knight's Cavalier +KIMU = 1102004 +FEATHERED_NOBLESSE_HAT = 1003769 + +sm.setSpeakerID(KIMU) +sm.removeEscapeButton() + +sm.sendNext("I like to give all the new recruits a little gift when they come to Ereve. " +"It's important that the recruits look up to snuff, you know? Hit the #bI key#k to open up your inventory when we're done talking. " +"Double click on that hat I gave you!") + +if not sm.canHold(FEATHERED_NOBLESSE_HAT): + sm.sendSayOkay("Please free 1 equipment tab slot.") + sm.dispose() + +if not sm.hasItem(FEATHERED_NOBLESSE_HAT): + sm.giveItem(FEATHERED_NOBLESSE_HAT) + +sm.showEffect("Effect/OnUserEff.img/guideEffect/cygnusTutorial/5", 0, 0) + +sm.startQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q20825s.py b/scripts/quest/q20825s.py new file mode 100755 index 0000000..42c38da --- /dev/null +++ b/scripts/quest/q20825s.py @@ -0,0 +1,20 @@ +# Start of Well-Behaved Student +KINU = 1102006 + +sm.setSpeakerID(KINU) + +response = sm.sendAskYesNo("I am Kinu. I will get you up to speed on Ereve's history. " +"Now, go on and sit! I teach best when my students are shorter than me!") + +if not response: + sm.sendNext("Why are you still standing? That is not what a well-behaved student would do.") + sm.dispose() + +sm.removeEscapeButton() + +sm.sendSay("Press X in front of any chair to sit down. " +"If you own one, it's the same deal. X marks the butt.") + +sm.showEffect("Effect/OnUserEff.img/guideEffect/cygnusTutorial/10", 0, 5000) + +sm.startQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q20826e.py b/scripts/quest/q20826e.py new file mode 100755 index 0000000..ab8c8e0 --- /dev/null +++ b/scripts/quest/q20826e.py @@ -0,0 +1,38 @@ +# End of Lesson 1 - Ereve History +from net.swordie.ms.life.npc.NpcScriptInfo import Param +scriptInfo = sm.getNpcScriptInfo() + +KINU = 1102006 +HAWKEYE = 1101007 + +sm.removeEscapeButton() + +sm.setSpeakerID(HAWKEYE) +sm.sendNext("Tis a pleasure to welcome ye to the knights.") + +sm.setPlayerAsSpeaker() +scriptInfo.addParam(Param.OverrideSpeakerID) +sm.sendSay("How kind! Thank you!") + +sm.setSpeakerID(HAWKEYE) +scriptInfo.removeParam(Param.OverrideSpeakerID) +sm.sendSay("Anything ye need, ye come straight to me, ol' Hawkeye, captain of the Thunder Breakers. " +"I beg ye pardon, but what was ye name again? I plumb forgot already.") + +sm.setSpeakerID(KINU) +scriptInfo.addParam(Param.OverrideSpeakerID) +sm.sendSay("Hawkeye, the new recruit's name is #h #! Now, shoo!") + +sm.setSpeakerID(HAWKEYE) +scriptInfo.removeParam(Param.OverrideSpeakerID) +sm.sendSay("I promise, I won't forget yer name the next time we meet.") + +sm.setSpeakerID(KINU) +scriptInfo.addParam(Param.OverrideSpeakerID) +sm.sendSay("Wonderful. Now, off you go, Hawkeye!") +sm.sendSay("Finally! Where was I? Oh yes, once your initial training is over, you will choose your knightly path and be promoted to Knight-in-Training! " +"The paths you can pick from are Light, Fire, Wind, Lightning and Darkness.") +sm.sendSay("As a Cygnus Knight, your duty will be to protect the Empress, defeat the Black Mage, spy on his henchmen, and keep peace in Maple World. Simple, yes?") +sm.sendSay("I've given you enough to ponder. Go speak with Kimu for your next lesson.") + +sm.completeQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q20826s.py b/scripts/quest/q20826s.py new file mode 100755 index 0000000..8060899 --- /dev/null +++ b/scripts/quest/q20826s.py @@ -0,0 +1,40 @@ +# Start of Lesson 1 - Ereve History +from net.swordie.ms.life.npc.NpcScriptInfo import Param +scriptInfo = sm.getNpcScriptInfo() + +KINU = 1102006 +HAWKEYE = 1101007 + +sm.setSpeakerID(KINU) + +sm.removeEscapeButton() + +sm.sendNext("Your first lesson will be about Ereve. " +"Ereve is a floating island, held aloft by the Empress's powers. " +"It has remained stationary for a number of years but once floated about Maple World like a ship.") + +sm.sendNext("Right now, we're focused on gathering up information on the Black Mage and preparing our forces to face him. " +"It's some serious business, lemme tell you.") + +sm.sendNext("The knights themselves are gathered into 5 groups, based around the Spirits of Light, Fire, Wind, Lightning, and Darkness. " +"Each group is led by a Chief Knight and... Oh, here is one now. Hello Hawkeye.") + +sm.setSpeakerID(HAWKEYE) +scriptInfo.addParam(Param.OverrideSpeakerID) +sm.sendNext("Ahoy! I wanted to welcome the new knight in person. " +"I must give ye my apologies, for I left the muffins I baked ye on my ship.") + +sm.setSpeakerID(KINU) +scriptInfo.removeParam(Param.OverrideSpeakerID) +sm.sendNext("Hawkeye, this is highly unorthodox!") + +sm.setSpeakerID(HAWKEYE) +scriptInfo.addParam(Param.OverrideSpeakerID) +sm.sendSay("Yar, have a heart, Kinu. Don't ye remember yer first day with the knights? " +"Wasn't it a mite overwhelming without a friend?") + +sm.setSpeakerID(KINU) +scriptInfo.removeParam(Param.OverrideSpeakerID) +sm.sendSay("I suppose I could bend the rules this once. #h #, meet Hawkeye, the Chief Knight of Lightning.") + +sm.startQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q20827s.py b/scripts/quest/q20827s.py new file mode 100755 index 0000000..8cc99b0 --- /dev/null +++ b/scripts/quest/q20827s.py @@ -0,0 +1,7 @@ +# Start of What's Next? +KIMU = 1102004 +sm.setSpeakerID(KIMU) + +sm.sendSayOkay("You can use the portal on the left side of the map to move to the training area. Follow the signs! I'll be there.") + +sm.startQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q20828e.py b/scripts/quest/q20828e.py new file mode 100755 index 0000000..7a2668a --- /dev/null +++ b/scripts/quest/q20828e.py @@ -0,0 +1,5 @@ +sm.setSpeakerID(1102101) +sm.removeEscapeButton() +sm.sendNext("A knight's gotta be strong, right? I mean, you guys have some really tough missions. So, you ready for your next training session?") +sm.completeQuest(parentID) +sm.warpInstanceIn(130030103, 0) \ No newline at end of file diff --git a/scripts/quest/q20829s.py b/scripts/quest/q20829s.py new file mode 100755 index 0000000..96865d9 --- /dev/null +++ b/scripts/quest/q20829s.py @@ -0,0 +1,11 @@ +sm.setSpeakerID(1102102) +if sm.sendAskYesNo("Chin up! No slouching! I'm going to whip you into shape!"): + sm.removeEscapeButton() + sm.sendNext("Do you even know how to hold a sword?! Press the #rCtrl key#k to perform a basic attack! Do it now! In the Drill Hall! Defeat #b3 #o9300730##k monsters and show me I'm not wasting my time!") + sm.startQuest(parentID) + for i in range(3): + sm.spawnMob(9300730, -364, -7, False) + sm.playSound("Aran/balloon", 100) + sm.avatarOriented("UI/tutorial.img/4") +else: + sm.sendNext("What, you too good to fight?!") \ No newline at end of file diff --git a/scripts/quest/q20830s.py b/scripts/quest/q20830s.py new file mode 100755 index 0000000..f65828c --- /dev/null +++ b/scripts/quest/q20830s.py @@ -0,0 +1,10 @@ +sm.setSpeakerID(1102101) +if sm.sendAskYesNo("Okay! You've earned a 30 second re-hydration break! Drink this, and don't faint on me!"): + sm.startQuest(parentID) + sm.giveItem(2001555, 1) + sm.removeEscapeButton() + sm.sendNext("Press the hotkey I to open your inventory, then double-click to enjoy your cool refreshment! And you WILL enjoy it!") + sm.playSound("Aran/balloon", 100) + sm.avatarOriented("UI/tutorial.img/3") +else: + sm.sendNext("I said, DRINK IT!") \ No newline at end of file diff --git a/scripts/quest/q20831s.py b/scripts/quest/q20831s.py new file mode 100755 index 0000000..6dec868 --- /dev/null +++ b/scripts/quest/q20831s.py @@ -0,0 +1,10 @@ +sm.setSpeakerID(1102102) +if sm.sendAskYesNo("Did you enjoy the drink? You better have! It is the special concoction of my people, the Piyo Tribe!\r\nNow... Pop quiz! Do you remember how to fight? Defeat 3 #o9300730# monsters and bring me 3 #t4000489# items!"): + sm.removeEscapeButton() + sm.sendNext("What do you mean, you don't know what to do! Press the Ctrl key to perform a basic attack! What do you mean, I forgot to tell you how to pick up items? Just press the Z key! ") + sm.startQuest(parentID) + for i in range(3): + sm.spawnMob(9300730, -364, -7, False) + sm.playSound("Aran/balloon", 100) +else: + sm.sendNext("What? Your failure is my failure as a teacher, and I never fail!") \ No newline at end of file diff --git a/scripts/quest/q20832s.py b/scripts/quest/q20832s.py new file mode 100755 index 0000000..c389824 --- /dev/null +++ b/scripts/quest/q20832s.py @@ -0,0 +1,26 @@ + +sm.setSpeakerID(1102102) + +sm.removeEscapeButton() +sm.sendNext("Your basic attacks no longer make me want to cry. It is time to teach you something more advanced!") + +sm.setSpeakerID(1102100) +sm.sendSay("Hey, everyone. You having fun with your training, #h0#? Kimu, Kizan, can I speak to you for a moment?") + +sm.setSpeakerID(1102102) +sm.sendSay("#h0#! Take a break! That's an order!") + +sm.setSpeakerID(1102100) +sm.sendSay("(Kiku whispers to the others.)") + +sm.setSpeakerID(1102102) +sm.sendSay("!!!") + +sm.setSpeakerID(1102101) +sm.sendSay("...") + +sm.setSpeakerID(1102102) +sm.sendSay("#h0#! Do not move from that spot! I will return shortly.") + +sm.startQuest(parentID) +sm.completeQuest(parentID) diff --git a/scripts/quest/q20833s.py b/scripts/quest/q20833s.py new file mode 100755 index 0000000..e9caeea --- /dev/null +++ b/scripts/quest/q20833s.py @@ -0,0 +1,17 @@ + +sm.removeEscapeButton() + +sm.setSpeakerID(1102113) +sm.sendNext("(*chirp, chirp*)") + +sm.setPlayerAsSpeaker() +sm.sendSay("Look! It's a bird! Is it talking to me?") + +sm.setSpeakerID(1102113) +sm.sendSay("*chirp, chirp, chirp*") + +sm.setPlayerAsSpeaker() +sm.sendSay("OMIGOODNESS! I can understand birds! I must be some sort of superhero. It... wants me to follow it. I'm sure Kizan won't mind.") + +sm.createQuestWithQRValue(parentID, "gardenIn")# must be sent this qr value +sm.warp(130030104, 0) \ No newline at end of file diff --git a/scripts/quest/q20834s.py b/scripts/quest/q20834s.py new file mode 100755 index 0000000..9e92e36 --- /dev/null +++ b/scripts/quest/q20834s.py @@ -0,0 +1,25 @@ + +sm.removeEscapeButton() + +sm.setSpeakerID(1102106) +sm.sendNext("Ah, you must be one of my new recruits.") + +sm.setPlayerAsSpeaker() +sm.sendSay("My name's #h0#. I love Ereve. It's so pretty here.") + +sm.setSpeakerID(1102106) +sm.sendSay("Oh, yes. Ereve is lovely, and so peaceful. Has your training been difficult?") + +sm.setPlayerAsSpeaker() +sm.sendSay("Nothing I can't handle. Maple World better get ready, because I'm about to save it so hard.") + + +sm.sendSay("(She smiles.) Your enthusiasm is reassuring. The suffering of so many weighs heavily upon me... I hope you can help me ease their pain.") + + +sm.sendSay("Yeah, um, I'm sorry. Who are you again? You don't look like much of a knight...") + + +sm.sendSay("My name is...") + +sm.startQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q20835e.py b/scripts/quest/q20835e.py new file mode 100755 index 0000000..780abac --- /dev/null +++ b/scripts/quest/q20835e.py @@ -0,0 +1,24 @@ +sm.removeEscapeButton() + +sm.setSpeakerID(1102112) +sm.sendNext("Don't listen to ol' Neinheart, #h0#. Ye may as well introduce yerself to the other Chief Knights while yer here.") + +sm.setPlayerAsSpeaker() +sm.sendSay("Oh, um, sure. My name's #h0#. I'm here to become a knight, defeat the Black Mage, save Maple World, and, just recently, be a spokesperson for bird-kind.") + +sm.setSpeakerID(1102111) +sm.sendSay("Big aspirations for such meager amounts of skill. May the shadows keep you safe until you learn some humility.") + +sm.setSpeakerID(1102109) +sm.sendSay("Oh, give the kid a break! Welcome to Ereve! We'll meet again more formally soon.") + +sm.setSpeakerID(1102110) +sm.sendSay("Not if the kid doesn't finish training first... Becoming a knight takes a lot of hard work and dedication.") + +sm.setSpeakerID(1102108) +sm.sendSay("I hate to break up the party, but we have a meeting to get to. Sorry, kid. I'm sure we'll get a chance to talk more later.") + +sm.setSpeakerID(1102112) +sm.sendSay("Yer right, Mihile. We've got to get goin', #h0#. Keep up with yer trainin'.") + +sm.completeQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q20835s.py b/scripts/quest/q20835s.py new file mode 100755 index 0000000..2e0478a --- /dev/null +++ b/scripts/quest/q20835s.py @@ -0,0 +1,22 @@ +sm.removeEscapeButton() + +sm.setSpeakerID(1102107) +sm.sendNext("Ah, #b#h0##k, isn't it? I am #p1101002#, strategist for our young Empress. You will be seeing much more of me in the future.") +sm.sendSay("Shouldn't you be in training? What urgent matter brings you here, #h0#? Did Kiku send you with dire news?") + +sm.setPlayerAsSpeaker() +sm.sendSay("Nah. A bird told me to follow it, and I ended up here!") + +sm.setSpeakerID(1102112) +sm.sendSay("#h0#, are ye sure ye didn't follow me here to collect yer welcome muffins? I'm sorry, but someone ate them.") + +sm.setSpeakerID(1102111) +sm.sendSay("And they were delicious. But enough chatter, we have work to do, Hawkeye. Let us go.") + +sm.setSpeakerID(1102106) +sm.sendSay("It was lovely to meet you, #h0#. I sincerely hope that you become a knight of courage and wisdom.") + +sm.setSpeakerID(1102107) +sm.sendSay("I have my doubts. Not even promoted to knight-in-training and already nosing about the Empress's quarters for no good reason. Unacceptable!") + +sm.startQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q20836e.py b/scripts/quest/q20836e.py new file mode 100755 index 0000000..8c6beac --- /dev/null +++ b/scripts/quest/q20836e.py @@ -0,0 +1,9 @@ +sm.removeEscapeButton() + +sm.setSpeakerID(1102102) +sm.sendNext("You haven't forgotten my last lesson, have you?! Pretty Ctrl to perform a regular attack!\r\nTime for the next lesson! Ready?!") +sm.sendSay("Skill attacks! They dish out the pain! Open your Skill window by pressing the K key to access your skills.\r\nYou'll get more skills once you're more experienced, so never stop training!") + +sm.completeQuest(parentID) +sm.playSound("Aran/balloon", 100) +sm.avatarOriented("UI/tutorial.img/7") \ No newline at end of file diff --git a/scripts/quest/q20836s.py b/scripts/quest/q20836s.py new file mode 100755 index 0000000..094bae6 --- /dev/null +++ b/scripts/quest/q20836s.py @@ -0,0 +1,7 @@ +sm.removeEscapeButton() + +sm.setSpeakerID(1102102) +sm.sendNext("THERE YOU ARE! I told you not to move! You're going to pay for that. Maybe not today, maybe not tomorrow, but one day, when you're on a particularly annoying mission, know that I've secretly arranged it. Now get back to the Drill Hall!") + +sm.startQuest(parentID) +sm.warp(130030105, 0) \ No newline at end of file diff --git a/scripts/quest/q20837e.py b/scripts/quest/q20837e.py new file mode 100755 index 0000000..1f11303 --- /dev/null +++ b/scripts/quest/q20837e.py @@ -0,0 +1,8 @@ +sm.removeEscapeButton() + +sm.setSpeakerID(1102102) +sm.sendNext("Elemental Slash is useful, so use it often!") +sm.sendSay("I supposed you're about ready to become a Knight-in-Training. I'll send you to the Test Site, and remember, no slouching!") + +sm.completeQuest(parentID) +sm.warp(130030106, 0) \ No newline at end of file diff --git a/scripts/quest/q20837s.py b/scripts/quest/q20837s.py new file mode 100755 index 0000000..5767087 --- /dev/null +++ b/scripts/quest/q20837s.py @@ -0,0 +1,10 @@ +sm.removeEscapeButton() + +sm.setSpeakerID(1102102) +sm.sendNext("Try attacking a monster using your skills! Drag them to a hotkey to make them more convenient!") +sm.sendSay("Now use #rElemental Slash#k to defeat #b5 #o9300731##k monsters!") + +sm.startQuest(parentID) +for i in range(5): + sm.spawnMob(9300731, -364, -6, False) +sm.avatarOriented("UI/tutorial.img/8") \ No newline at end of file diff --git a/scripts/quest/q20838e.py b/scripts/quest/q20838e.py new file mode 100755 index 0000000..7de1115 --- /dev/null +++ b/scripts/quest/q20838e.py @@ -0,0 +1 @@ +# Missing script here.. needs to be sniffed from GMS \ No newline at end of file diff --git a/scripts/quest/q20838s.py b/scripts/quest/q20838s.py new file mode 100755 index 0000000..a9dfb83 --- /dev/null +++ b/scripts/quest/q20838s.py @@ -0,0 +1,9 @@ +sm.removeEscapeButton() + +sm.setSpeakerID(1102104) +sm.sendNext("#b*tap, tap, whirrrr, bang, bang*#k") +sm.sendSay("EEEEEEEK! Don't sneak up on me like that! I almost sliced my tail off! Anyway, I'm #p1102007#! You ready to begin the test?") +sm.sendSay("It's easy, easy, easy! See those boxes? Break them! Then defeat the monsters that pop out! You'll get some Proof of Exam items if you do! Whee!") +sm.sendSay("Just use #bregular attacks to break the boxes#k! Then use #bskills to defeat the monsters#k! I need 3 Proof of Exam items!") +sm.startQuest(parentID) +sm.avatarOriented("UI/tutorial.img/9") \ No newline at end of file diff --git a/scripts/quest/q20839s.py b/scripts/quest/q20839s.py new file mode 100755 index 0000000..7de1115 --- /dev/null +++ b/scripts/quest/q20839s.py @@ -0,0 +1 @@ +# Missing script here.. needs to be sniffed from GMS \ No newline at end of file diff --git a/scripts/quest/q20844s.py b/scripts/quest/q20844s.py new file mode 100755 index 0000000..4300e77 --- /dev/null +++ b/scripts/quest/q20844s.py @@ -0,0 +1,22 @@ +# Created by MechAviv +# Quest ID :: 20844 +# Knight Maintenance + +sm.setSpeakerID(1101007) +sm.removeEscapeButton() +sm.sendNext("Ye should've got received some AP and SP. How ye spend it'll determine whether ye become great or just average, though I accept you either way, just as you are.") + + +sm.setSpeakerID(1101007) +sm.removeEscapeButton() +sm.sendSay("Don't use yer AP and SP carelessly, ye hear?\r\nNow, I think ol' Neinheart has a mission for ye.") + + +sm.setSpeakerID(1101007) +sm.removeEscapeButton() +sm.sendSay("Before I forget, now that ye've made yer job advancement, ye have to equip the corresponding weapon to use yer skills. For ye, that means puttin' on some Knuckles. Ye'll conveniently find one in yer inventory. Don't forget to equip it.") + + +sm.startQuest(20844) +sm.completeQuest(20844) +sm.avatarOriented("UI/tutorial.img/cygnus/0") \ No newline at end of file diff --git a/scripts/quest/q20846s.py b/scripts/quest/q20846s.py new file mode 100755 index 0000000..ad836a0 --- /dev/null +++ b/scripts/quest/q20846s.py @@ -0,0 +1,22 @@ +# Created by MechAviv +# Quest ID :: 20846 +# The Lost Permit 1 + +sm.setSpeakerID(1102200) +if sm.sendAskYesNo("Hi! Have we met? I can never keep track. What? Neinheart sent you? Great! You can help me!"): + sm.setSpeakerID(1102200) + sm.sendNext("Okaaaaay, so... Tons of new folks have joined the knights lately, and I'm supposed to bring them all investigation permits, but I totally lost them. Neinheart's gonna be so mad.") + + + sm.setSpeakerID(1102200) + sm.sendSay("I think I dropped them somewhere back over... Um... Where? Like, I think I was distracted by a Timu, so it must've been over at #bTimu's Forest#k! You can begin your search there. I'll follow when I feel like it.") + + + sm.startQuest(20846) + # [START_NAVIGATION] [FE CB BF 07 00 00 00 00 00 00 ] + sm.avatarOriented("UI/tutorial.img/cygnus/1") +else: + sm.setSpeakerID(1102200) + sm.sendNext("Hey! It's your mission to help me!") + + diff --git a/scripts/quest/q20861e.py b/scripts/quest/q20861e.py new file mode 100755 index 0000000..808fee8 --- /dev/null +++ b/scripts/quest/q20861e.py @@ -0,0 +1,10 @@ +# The Path of a Dawn Warrior - Completion +sm.setSpeakerID(1101003) # Mihile + +sm.jobAdvance(1100) # Dawn Warrior 1st Job +sm.resetAP(False, 1100) +sm.giveItem(1402001) # Wooden Sword (2H) +sm.giveItem(1142066) + +sm.completeQuest(parentID) +sm.sendSayOkay("Congratulations, you are now a thunder breaker! I have added 4 SP, enjoy your journey!") diff --git a/scripts/quest/q20862e.py b/scripts/quest/q20862e.py new file mode 100755 index 0000000..8319a7f --- /dev/null +++ b/scripts/quest/q20862e.py @@ -0,0 +1,10 @@ +# The Path of a Blaze Wizard - Completion +sm.setSpeakerID(1101004) # Oz + +sm.jobAdvance(1200) # Blaze Wizard 1st Job +sm.resetAP(False, 1200) +sm.giveItem(1382000) # Wooden Staff +sm.giveItem(1142066) + +sm.completeQuest(parentID) +sm.sendSayOkay("Congratulations, you are now a blaze wizard! I have added 5 AP and 5 SP, enjoy your journey!") diff --git a/scripts/quest/q20863e.py b/scripts/quest/q20863e.py new file mode 100755 index 0000000..b4e03a0 --- /dev/null +++ b/scripts/quest/q20863e.py @@ -0,0 +1,11 @@ +# Path of a Wind Archer - Completion +sm.setSpeakerID(1101005) # Irena + +sm.jobAdvance(1300) # Wind Archer 1st Job +sm.resetAP(False, 1300) +sm.giveItem(1452002) # War Bow +sm.giveItem(2060000, 1000) # Bow Arrow +sm.giveItem(1142066) + +sm.completeQuest(parentID) +sm.sendSayOkay("Congratulations, you are now a #bWind Archer#k! I have added 5 AP and 5 SP, enjoy your journey!") diff --git a/scripts/quest/q20864e.py b/scripts/quest/q20864e.py new file mode 100755 index 0000000..41eba3e --- /dev/null +++ b/scripts/quest/q20864e.py @@ -0,0 +1,11 @@ +# The Path of a Night Walker - Completion +sm.setSpeakerID(1101006) # Eckhart + +sm.jobAdvance(1400) # Night Walker 1st Job +sm.resetAP(False, 1400) +sm.giveItem(1472000) # Garnier +sm.giveItem(2070000, 500) # Subi Throwing Stars +sm.giveItem(1142066) + +sm.completeQuest(parentID) +sm.sendSayOkay("Congratulations, you are now a night walker! I have added 5 SP, enjoy your journey!") diff --git a/scripts/quest/q20865e.py b/scripts/quest/q20865e.py new file mode 100755 index 0000000..14e39cd --- /dev/null +++ b/scripts/quest/q20865e.py @@ -0,0 +1,10 @@ +# The Path of a Thunder Breaker - Completion +sm.setSpeakerID(1101007) # Hawkeye + +sm.jobAdvance(1500) # Thunder Breaker 1st Job +sm.resetAP(False, 1500) +sm.giveItem(1482000) # Steel Knuckler +sm.giveItem(1142066) + +sm.completeQuest(parentID) +sm.sendSayOkay("Congratulations, you are now a thunder breaker! I have added 4 SP, enjoy your journey!") diff --git a/scripts/quest/q20870s.py b/scripts/quest/q20870s.py new file mode 100755 index 0000000..547f633 --- /dev/null +++ b/scripts/quest/q20870s.py @@ -0,0 +1,13 @@ +# WA - End of Knight-in-Training - Start +sm.setSpeakerID(1101002) +if not sm.getFieldID() == 130000000: + response = sm.sendAskYesNo("#h #, you have done surprisingly well. Do you wish to take the #b Knighthood Exam#k? If you pass, you will become a full-fledged knight. #b\r\n(Note, if you accept, you will be ported to Ereve. Talk to your instructor there.)") + if response: + sm.warp(130000000) + sm.dispose() + else: + sm.sendSayOkay("Okay, maybe next time.") +if sm.sendAskAccept("#h #? Your level is so much higher! It seems that you finished many quests... what about taking a test for knights? It should be good time to end your trainee life."): + sm.sendSayOkay("To take the test of knight, Come to Ereve. The captains will test your ability and will appoint you as the knight of the clan if you pass it.") + sm.startQuest(parentID) + sm.completeQuest(parentID) diff --git a/scripts/quest/q20871e.py b/scripts/quest/q20871e.py new file mode 100755 index 0000000..934f155 --- /dev/null +++ b/scripts/quest/q20871e.py @@ -0,0 +1,11 @@ +# WA - End of Knight-in-Training - Start +sm.setSpeakerID(1101002) +if sm.sendAskYesNo("So you killed all the monsters? Are you ready to advance?"): + if sm.canHold(1142067): + sm.completeQuest(parentID) + sm.jobAdvance(1110) + sm.giveItem(1142067) + else: + sm.sendSay("Please make room in your Equip inventory.") +else: + sm.sendSay("Please speak to me after You've defeated all monsters required.") diff --git a/scripts/quest/q20872e.py b/scripts/quest/q20872e.py new file mode 100755 index 0000000..9678039 --- /dev/null +++ b/scripts/quest/q20872e.py @@ -0,0 +1,13 @@ +# BW - End of Knight-in-Training - Complete + +sm.setSpeakerID(1101004) +response = sm.sendAskYesNo("You've defeated the 30 Tigurus! I like how hard you work! Are you ready work even harder by " + "accepting the responsibilities of an official knight?") + +if response: + sm.completeQuest(parentID) + sm.jobAdvance(1210) + sm.giveItem(1142067) + sm.sendSayOkay("You have been officially promoted to a Cygnus Knight! I've also given you some AP and SP to work with.") +else: + sm.sendSayOkay("Okay, come back later when you've changed your mind.") diff --git a/scripts/quest/q20873e.py b/scripts/quest/q20873e.py new file mode 100755 index 0000000..fd53f2b --- /dev/null +++ b/scripts/quest/q20873e.py @@ -0,0 +1,13 @@ +# WA - End of Knight-in-Training - Complete + +sm.setSpeakerID(1101005) +response = sm.sendAskYesNo("You've defeated the 30 Tigurus! I like how hard you work! Are you ready work even harder by " + "accepting the responsibilities of an official knight?") + +if response: + sm.completeQuest(parentID) + sm.jobAdvance(1310) + sm.giveItem(1142067) + sm.sendSayOkay("You have been officially promoted to a Cygnus Knight! I've also given you some AP and SP to work with.") +else: + sm.sendSayOkay("Okay, come back later when you've changed your mind.") diff --git a/scripts/quest/q20874e.py b/scripts/quest/q20874e.py new file mode 100755 index 0000000..4cd93c8 --- /dev/null +++ b/scripts/quest/q20874e.py @@ -0,0 +1,13 @@ +# NW - End of Knight-in-Training - Complete + +sm.setSpeakerID(1101006) +response = sm.sendAskYesNo("You've defeated the 30 Tigurus! I like how hard you work! Are you ready work even harder by " + "accepting the responsibilities of an official knight?") + +if response: + sm.completeQuest(parentID) + sm.jobAdvance(1410) + sm.giveItem(1142067) + sm.sendSayOkay("You have been officially promoted to a Cygnus Knight! I've also given you some AP and SP to work with.") +else: + sm.sendSayOkay("Okay, come back later when you've changed your mind.") diff --git a/scripts/quest/q20875e.py b/scripts/quest/q20875e.py new file mode 100755 index 0000000..a285595 --- /dev/null +++ b/scripts/quest/q20875e.py @@ -0,0 +1,13 @@ +# TB - End of Knight-in-Training - Complete + +sm.setSpeakerID(1101007) +response = sm.sendAskYesNo("You've defeated the 30 Tigurus! I like how hard you work! Are you ready work even harder by " + "accepting the responsibilities of an official knight?") + +if response: + sm.completeQuest(parentID) + sm.jobAdvance(1510) + sm.giveItem(1142067) + sm.sendSayOkay("You have been officially promoted to a Cygnus Knight! I've also given you some AP and SP to work with.") +else: + sm.sendSayOkay("Okay, come back later when you've changed your mind.") diff --git a/scripts/quest/q20882s.py b/scripts/quest/q20882s.py new file mode 100755 index 0000000..f151bb4 --- /dev/null +++ b/scripts/quest/q20882s.py @@ -0,0 +1,10 @@ +# A Close Call - Start (3rd job adv for CoK) +sm.setPlayerAsSpeaker() +sm.sendNext("What kind of book can that be... Wow, the book is written by letters I have never seen before.") +sm.sendNext("But it still looks like something important. I should bring it back to Ereve.") +sm.sendNext("It's chilling.") +sm.setSpeakerID(1104302) +sm.sendSay("What's happening? Where are they appearing from? Try to snatch my book? No! I won't let the Black Wings take that!") +sm.warp(922030400, 0) +sm.startQuest(parentID) +sm.dispose() \ No newline at end of file diff --git a/scripts/quest/q20883e.py b/scripts/quest/q20883e.py new file mode 100755 index 0000000..2e628ea --- /dev/null +++ b/scripts/quest/q20883e.py @@ -0,0 +1,11 @@ +# 20883 - [Job Adv] (Lv.60) Cygnus Knight +sm.setSpeakerID(1404009) +sm.sendNext("#h # it is fortunate that you protected the book from the Black Mage. It is a book with tremendous value. I must admit your braveness for this.") +if sm.sendAskYesNo("The Queen has appointed you the title of nobility for your actions, do you wish to accept it?"): + sm.sendSayOkay("#h #, from now on you are an elite member. You will be given quests with higher level, but you will manage.") + chrJobID = sm.getChr().getJob() + sm.jobAdvance(chrJobID+1) + sm.completeQuest(parentID) + sm.giveItem(1142068) +else: + sm.sendSayOkay("Let me know when you wish to accept the title.") diff --git a/scripts/quest/q20891s.py b/scripts/quest/q20891s.py new file mode 100755 index 0000000..e39a2fd --- /dev/null +++ b/scripts/quest/q20891s.py @@ -0,0 +1,5 @@ +# 20891 - [Job Advancement] A Dark Place +sm.setSpeakerID(1104300) +sm.sendNext("(#bBy the moment I almost catch the person suspectively under Black Mage, I lost conscious#k...") +sm.warpInstanceIn(913031000, 0) +sm.startQuest(parentID) diff --git a/scripts/quest/q20893s.py b/scripts/quest/q20893s.py new file mode 100755 index 0000000..c5285d3 --- /dev/null +++ b/scripts/quest/q20893s.py @@ -0,0 +1,2 @@ +# 20893 - [Job Adv] (Lv.100) The Nightmare +sm.warpInstanceIn(913031001, 0) diff --git a/scripts/quest/q20894s.py b/scripts/quest/q20894s.py new file mode 100755 index 0000000..72fbc38 --- /dev/null +++ b/scripts/quest/q20894s.py @@ -0,0 +1,23 @@ +# 20893 - [Job Adv] (Lv.100) The Empress' Chief Knight +sm.setSpeakerID(1101000) +sm.sendNext("#h #... what is this?") +sm.setPlayerAsSpeaker() +sm.sendNext("This, milady, is the report from Neinheart about the activities of the Cygnus Knights.") +sm.setSpeakerID(1101000) +sm.sendNext("Haha, is that wat Neinheart said? It is a recommendation about you. It's all about the process of you getting stronger and the activities done by you...") +sm.setPlayerAsSpeaker() +sm.sendNext("What did Neinheart write about me?") +sm.setSpeakerID(1101000) +if sm.sendAskYesNo("I would like to appoint a title to you for your activities and effort. will you accept this?"): + sm.sendSay("#h #, with your braveness and courage, from now on you are a new captain of the knights. Please use your power to protect the Maple World.") + if sm.canHold(1142069): + chrJobID = sm.getChr().getJob() + sm.jobAdvance(chrJobID+1) + sm.giveItem(1142069) + sm.completeQuest(parentID) + else: + sm.sendSay("Please make space in your Equip inventory.") + sm.dispose() +else: + sm.sendSay("Please speak to me again when you change your mind.") + sm.dispose() \ No newline at end of file diff --git a/scripts/quest/q20899e.py b/scripts/quest/q20899e.py new file mode 100755 index 0000000..a45d819 --- /dev/null +++ b/scripts/quest/q20899e.py @@ -0,0 +1,10 @@ +# [Skill] (Lv.200) Cygnus Constellation + +cygnusConstellationMedal = 1142597 + +if sm.canHold(cygnusConstellationMedal): + sm.setSpeakerID(1101000) + sm.sendNext("You have exceeded all our expectations, please take this as a symbol of your Heroism\r\n\r\n1x #v"+ str(cygnusConstellationMedal) +"##z"+ str(cygnusConstellationMedal) +"#") + sm.completeQuestNoRewards(parentID) + sm.giveItem(cygnusConstellationMedal) +sm.dispose() diff --git a/scripts/quest/q21000s.py b/scripts/quest/q21000s.py new file mode 100755 index 0000000..8b9b906 --- /dev/null +++ b/scripts/quest/q21000s.py @@ -0,0 +1,12 @@ +# 914000100 +HELENA = 1209000 + +sm.setSpeakerID(HELENA) +if sm.sendAskAccept("Oh, no! I think there's still a child in the forest! Aran, I'm very sorry, but could you rescue the child? I know you're injured, but I don't have anyone else to ask!"): + sm.startQuest(parentID) + sm.sendNext("#bThe child is probably lost deep inside the forest!#k We have to escape before the Black Mage finds us. You must rush into the forest and bring the child back with you!") + sm.sendSay("Don't panic, Aran. If you wish to check the status of the quest, press #bQ#k and view the Quest window.") + sm.sendSay("Please, Aran! I'm begging you. I can't bear to lose another person to the Black Mage!") + sm.avatarOriented("Effect/OnUserEff.img/guideEffect/aranTutorial/tutorialArrow1") +else: + sm.sendNext("No, Aran... We can't leave a kid behind. I know it's a lot to ask, but please reconsider. Please!") \ No newline at end of file diff --git a/scripts/quest/q21001e.py b/scripts/quest/q21001e.py new file mode 100755 index 0000000..a86f612 --- /dev/null +++ b/scripts/quest/q21001e.py @@ -0,0 +1,34 @@ +# 914000500 +ATHENA = 1209007 + +sm.setSpeakerID(ATHENA) +if sm.sendAskYesNo("You made it back safely! What about the child?! Did you bring the child with you?!"): + sm.completeQuest(parentID) + sm.consumeItem(4001271) + + sm.flipSpeaker() + sm.sendNext("Oh, what a relief. I'm so glad...") + + sm.setPlayerAsSpeaker() + sm.sendSay("Hurry and board the ship! We don't have much time!") + + sm.setSpeakerID(ATHENA) + sm.flipSpeaker() + sm.sendSay("We don't have any time to waste. The Black Mage's forces are getting closer and closer! We're doomed if we don't leave right this moment!") + + sm.setPlayerAsSpeaker() + sm.sendSay("Leave, now!") + + sm.setSpeakerID(ATHENA) + sm.flipSpeaker() + sm.sendSay("Aran, please! I know you want to stay and fight the Black Mage, but it's too late! Leave it to the others and come to Victoria Island with us! ") + + sm.setPlayerAsSpeaker() + sm.sendSay("No, I can't!") + sm.sendSay("Athena Pierce, why don't you leave for Victoria Island first? I promise I'll come for you later. I'll be alright. I must fight the Black Mage with the other heroes!") + + sm.lockInGameUI(True, False) + sm.warp(914090010, 0) +else: + sm.sendNext("What about the child? Please give me the child.") + sm.dispose() diff --git a/scripts/quest/q21001s.py b/scripts/quest/q21001s.py new file mode 100755 index 0000000..95bed21 --- /dev/null +++ b/scripts/quest/q21001s.py @@ -0,0 +1,10 @@ +# 914000300 +LOST_KID = 1209006 + +sm.setSpeakerID(LOST_KID) +if sm.sendAskAccept("*Sniff sniff* I was so scared... Please take me to Athena Pierce."): + sm.startQuest(parentID) + sm.warp(914000500, 1) +else: + sm.sendNext("*Sob* Aran has declined my request!") + sm.dispose() \ No newline at end of file diff --git a/scripts/quest/q21010e.py b/scripts/quest/q21010e.py new file mode 100755 index 0000000..ee9a7ec --- /dev/null +++ b/scripts/quest/q21010e.py @@ -0,0 +1,16 @@ +# 140090100 +PUKA = 1202001 + +sm.setSpeakerID(PUKA) +sm.sendNext("We've been digging and digging inside the Ice Cave in the hope of finding a hero, but I never thought I'd actually see the day... The prophecy was true! You were right, #p1201000#! Now that one of the legendary heroes has returned, we have no reason to fear the Black Mage!") +sm.sendSay("Oh, I've kept you too long. I'm sorry, I got a little carried away. I'm sure the other Penguins feel the same way. I know you're busy, but could you #bstop and talk to the other Penguins#k on your way to town? They would be so honored.\r\n\r\n#fUI/UIWindow2.img/QuestIcon/4/0# \r\n#i2000022# 5 #t2000022#\r\n#i2000023# 5 #t2000023#\r\n\r\n#fUI/UIWindow2.img/QuestIcon/8/0# 16 exp") +sm.giveItem(2000022, 5) +sm.giveItem(2000023, 5) +sm.giveExp(16) +sm.completeQuest(parentID) + +sm.removeEscapeButton() +sm.flipSpeaker() +sm.sendNext("Oh, you've leveled up! You may have even received some skill points. In Maple World, you can acquire 3 skill points every time you level up. Press the #bK key#k to view the Skill window.") +sm.sendSay("#b(Everyone's been so nice to me, but I just can't remember anything. Am I really a hero? I should check my skills and see. But how do I check them?)#k") +sm.tutorAutomatedMsg(15) diff --git a/scripts/quest/q21010s.py b/scripts/quest/q21010s.py new file mode 100755 index 0000000..bfdbef8 --- /dev/null +++ b/scripts/quest/q21010s.py @@ -0,0 +1,23 @@ +# 140090100 +PUKA = 1202001 + +sm.setSpeakerID(PUKA) +sm.sendNext("Hm, what's a human doing on this island? Wait, it's #p1201000#. What are you doing here, #p1201000#? And who's that beside you? Is it someone you know, #p1201000#? What? The hero, you say?") +sm.sendSay(" #i4001170#") +sm.sendSay("Ah, this must be the hero you and your clan have been waiting for. Am I right, #p1201000#? Ah, I knew you weren't just accompanying an average passerby...") + +if sm.sendAskAccept("Oh, but it seems our hero has become very weak since the Black Mage's curse. It only makes sense, considering that the hero has been asleep for hundreds of years. #bHere, I'll give you a HP Recovery Potion.#k."): + sm.giveItem(2000022) + sm.startQuest(parentID) + + sm.removeEscapeButton() + + sm.flipSpeaker() + sm.sendNext("Drink it first. Then we'll talk.") + + sm.setPlayerAsSpeaker() + sm.sendSay("#b(How do I drink the potion? I don't remember...)#k") + sm.tutorAutomatedMsg(14) +else: + sm.sendNext("Oh, no need to decline my offer. It's no big deal. It's just a potion. Well, let me know if you change your mind.") + sm.dispose() \ No newline at end of file diff --git a/scripts/quest/q21011e.py b/scripts/quest/q21011e.py new file mode 100755 index 0000000..b7a1144 --- /dev/null +++ b/scripts/quest/q21011e.py @@ -0,0 +1,20 @@ +# 140090200 +PUIR = 1202003 + +sm.setSpeakerID(PUIR) +sm.sendNext("Wait, are you... No way.... Are you the hero that #p1201000# has been talking about all this time?! #p1201000#! Don't just nod... Tell me! Is this the hero you've been waiting for?! ") +sm.sendSay(" #i4001171#") +sm.sendSay("I'm sorry. I'm just so overcome with emotions... *Sniff sniff* My goodness, I'm starting to tear up. You must be so happy, #p1201000#.") +sm.sendSay("Wait a minute... You're not carrying any weapons. From what I've heard, each of the heroes had a special weapon. Oh, you must have lost it during the battle against the Black Mage.") + +if sm.sendAskYesNo("This isn't good enough to replace your weapon, but #bcarry this sword with you for now#k. It's my gift to you. A hero can't be walking around empty-handed.\r\n#fUI/UIWindow2.img/QuestIcon/4/0# \r\n#i1302000# 1 #t1302000# \r\n\r\n#fUI/UIWindow2.img/QuestIcon/8/0# 35 exp"): + sm.giveItem(1302000) + sm.giveExp(35) + sm.completeQuest(parentID) + + sm.removeEscapeButton() + sm.setPlayerAsSpeaker() + sm.sendNext("#b(Your skills are nowhere close to being hero-like... But a sword? Have you ever even held a sword in your lifetime? You can't remember... How do you even equip it?)#k") + sm.tutorAutomatedMsg(16) +else: + sm.sendNext("*sniff sniff* Isn't this sword good enough for you, just for now? I'd be so honored...") \ No newline at end of file diff --git a/scripts/quest/q21012e.py b/scripts/quest/q21012e.py new file mode 100755 index 0000000..cc3a03f --- /dev/null +++ b/scripts/quest/q21012e.py @@ -0,0 +1,15 @@ +# 140090300 +PURUN = 1202004 + +sm.setSpeakerID(PURUN) +if sm.sendAskYesNo("Hm... Your expression tells me that the exercise didn't jog any memories. But don't you worry. They'll come back, eventually. Here, drink this potion and power up!\r\n#fUI/UIWindow2.img/QuestIcon/4/0# \r\n#i2000022# 10 #t2000022# \r\n#i2000023# 10 #t2000023# \r\n\r\n#fUI/UIWindow2.img/QuestIcon/8/0# 57 exp"): + sm.giveItem(2000022, 10) + sm.giveItem(2000023, 10) + sm.giveExp(57) + sm.completeQuest(parentID) + + sm.setPlayerAsSpeaker() + sm.sendNext("#b(Even if you're really the hero everyone says you are... What good are you without any skills?)#k") +else: + sm.sendNext("What? You don't want the potion?") + sm.dispose() \ No newline at end of file diff --git a/scripts/quest/q21012s.py b/scripts/quest/q21012s.py new file mode 100755 index 0000000..77c38f8 --- /dev/null +++ b/scripts/quest/q21012s.py @@ -0,0 +1,16 @@ +# 140090300 +PURUN = 1202004 + +sm.setSpeakerID(PURUN) +sm.sendNext("Welcome, hero! What's that? You want to know how I knew who you were? That's easy. I eavesdropped on some people talking loudly next to me. I'm sure the rumor has spread through the entire island already. Everyone knows that you've returned!") +sm.sendSay("Anyway, what's with the long face? Is something wrong? Hm? You're not sure whether you're really a hero or not? You lost your memory?! No way... It must be because you were trapped inside the ice for hundreds and hundreds of years.") + +if sm.sendAskAccept("Hm, how about trying out that sword? Wouldn't that bring back some memories? How about #bfighting some monsters#k?"): + sm.removeEscapeButton() + sm.startQuest(parentID) + sm.sendNext("It just so happens that there are a lot of #r#o9300383#s#k near here. How about defeating just #r3#k of them? It could help you remember a thing or two.") + sm.sendSay("Ah, you've also forgotten how to use your skills? #bPlace skills in the quick slots for easy access.#k You can also place consumable items in the slots, so use the slots to your advantage.") + sm.tutorAutomatedMsg(17) +else: + sm.sendNext("Hm... You don't think that would help? Think about it. It could help, you know...") + sm.dispose() \ No newline at end of file diff --git a/scripts/quest/q21013e.py b/scripts/quest/q21013e.py new file mode 100755 index 0000000..ca697ba --- /dev/null +++ b/scripts/quest/q21013e.py @@ -0,0 +1,13 @@ +# 140090400 +PUTZKI = 1202005 + +sm.setSpeakerID(PUTZKI) +sm.sendNext("Ah, you've brought all the components. Give me a few seconds to assemble them... Like this... And like that... and...\r\n#fUI/UIWindow2.img/QuestIcon/4/0# \r\n#i3010062# 1 #t3010062# \r\n\r\n#fUI/UIWindow2.img/QuestIcon/8/0# 95 exp") +sm.giveItem(3010062) +sm.giveExp(95) +sm.completeQuest(parentID) + +sm.removeEscapeButton() +sm.sendNext("Here, a fully-assembled chair, just for you! I've always wanted to give you a chair as a gift, because I know a hero can occasionally use some good rest. Tee hee. ") +sm.sendSay("A hero is not invincible. A hero is human. I'm sure you will face challenges and even falter at times. But you are a hero because you have what it takes to overcome any obstacles you may encounter.") +sm.tutorAutomatedMsg(19) \ No newline at end of file diff --git a/scripts/quest/q21013s.py b/scripts/quest/q21013s.py new file mode 100755 index 0000000..266b5ec --- /dev/null +++ b/scripts/quest/q21013s.py @@ -0,0 +1,14 @@ +# 140090400 +PUTZKI = 1202005 + +sm.setSpeakerID(PUTZKI) +answer = sm.sendSay("Ah, you're the hero. I've been dying to meet you.\r\n#b#L0#(Seems a bit shy...)#l") +if answer == 0: + if sm.sendAskAccept("I have something I've been wanting to give you as a gift for a very long time... I know you're busy, especially since you're on your way to town, but will you accept my gift?"): + sm.removeEscapeButton() + sm.startQuest(parentID) + sm.sendNext("The parts of the gift have been packed inside a box nearby. Sorry to trouble you, but could you break the box and bring me a #b#t4032309##k and some #b#t4032310##k? I'll assemble them for you right away.") + sm.tutorAutomatedMsg(18) + else: + sm.sendNext("I'm sure it will come in handy during your journey. Please, don't decline my offer.") + sm.dispose() \ No newline at end of file diff --git a/scripts/quest/q21015s.py b/scripts/quest/q21015s.py new file mode 100755 index 0000000..83e18e3 --- /dev/null +++ b/scripts/quest/q21015s.py @@ -0,0 +1,14 @@ +# 140000000 +LILIN = 1201000 + +sm.setSpeakerID(LILIN) +sm.sendNext("Alright, I've done enough explaining for now. Let's move on to the next stage. What's the next stage, you ask? I just told you. Train as hard as you can until you become strong enough to defeat the Black Mage with a single blow.") +sm.sendSay("You may have been a hero in the past, but that was hundreds of years ago. Even if it weren't for the curse of the Black Mage, all those years you spent frozen in time have stiffened your body. You must loosen up a bit and slowly regain your agility. How do you do that, you ask?") + +if sm.sendAskAccept("Don't you know that you must first master the fundamentals? So the wise thing to do is to begin with #bBasic Training#k. Oh, of course, I forgot that you lost your memory. Well, that's why I'm here. You'll just have to experience it yourself. Shall we begin?"): + sm.startQuest(parentID) + + sm.removeEscapeButton() + sm.sendNext("The population of Rien may be mostly Penguins, but even this island has monsters. You'll find #o0100131#s if you go to #b#m140020000##k, located on the right side of the town. Please defeat #r10 of those #o0100131#s#k. I'm sure you'll have no trouble defeating the #o0100131#s that even the slowest penguins here can defeat.") +else: + sm.sendNext("What are you so hesitant about? You're a hero! You gotta strike while the iron is hot! Come on, let's do this!") \ No newline at end of file diff --git a/scripts/quest/q21016s.py b/scripts/quest/q21016s.py new file mode 100755 index 0000000..cca746e --- /dev/null +++ b/scripts/quest/q21016s.py @@ -0,0 +1,12 @@ +# 140000000 +LILIN = 1201000 + +sm.setSpeakerID(LILIN) +if sm.sendAskAccept("Shall we continue with your Basic Training? Before accepting, please make sure you have properly equipped your sword and your skills and potions are readily accessible."): + sm.startQuest(parentID) + + sm.removeEscapeButton() + sm.sendNext("Alright. This time, let's have you defeat #r#o0100132#s#k, which are slightly more powerful than #o0100131#s. Head over to #b#m140020100##k and defeat #r15#k of them. That should help you build your strength. Alright! Let's do this!") +else: + sm.sendNext("Are you not ready to hunt the #o0100132#s yet? Always proceed if and only if you are fully ready. There's nothing worse than engaging in battles without sufficient preparation.") + sm.dispose() \ No newline at end of file diff --git a/scripts/quest/q21017s.py b/scripts/quest/q21017s.py new file mode 100755 index 0000000..8677655 --- /dev/null +++ b/scripts/quest/q21017s.py @@ -0,0 +1,32 @@ +# 140000000 +LILIN = 1201000 + +sm.setSpeakerID(LILIN) +sm.flipSpeaker() +sm.sendNext("It seems like you're warmed up now. This is when rigorous training can really help you build a strong foundation. Let's proceed with the Basic Training, shall we?") +sm.sendSay("Go defeat some #r#o0100133#s#k in #b#m140020200##k this time. I think about #r20#k should do it. Go on ahead and... Hm? Do you have something you'd like to say?") + +sm.setPlayerAsSpeaker() +sm.sendSay("Isn't the number getting bigger and bigger?") + +sm.setSpeakerID(LILIN) +sm.flipSpeaker() +sm.sendSay("Of course it is. What, are you not happy with 20? Would you like to defeat 100 of them instead? Oh, how about 999 of them? Someone in Sleepywood would be able to do it easily. After all, we are training...") + +sm.setPlayerAsSpeaker() +sm.sendSay("Oh no, no, no. Twenty is plenty.") + +sm.setSpeakerID(LILIN) +if sm.sendAskAccept("You don't have to be so modest. I understand your desire to quickly become the hero you once were. This sort of attitude is what makes you a hero."): + sm.startQuest(parentID) + + sm.setPlayerAsSpeaker() + sm.sendNext("#b(If you keep listening, you might end up having to take down 999 of them.)#k") + + sm.setSpeakerID(LILIN) + sm.flipSpeaker() + sm.sendSay("Please go ahead and slay 20 #o0100133#s.") +else: + sm.setPlayerAsSpeaker() + sm.sendNext("#b(You declined out of fear, but it's not like you can run away like this. Take a big breath, calm down, and try again.)#k") + sm.dispose() \ No newline at end of file diff --git a/scripts/quest/q21018s.py b/scripts/quest/q21018s.py new file mode 100755 index 0000000..ccf876c --- /dev/null +++ b/scripts/quest/q21018s.py @@ -0,0 +1,12 @@ +# 140000000 +LILIN = 1201000 + +sm.setSpeakerID(LILIN) +sm.sendNext("Now, you will undergo a test that will determine whether you're fit or not. All you have to do is take on the most powerful monster on this island, #o0100134#s. About #r50#k of them would suffice, but...") + +if sm.sendAskAccept("We can't have you wipe out the entire population of #o0100134#s, since they aren't many of them out there. How about 5 of them? You're here to train, not to destroy the ecosystem."): + sm.startQuest(parentID) + sm.sendNext("#o0100134#s can be found in deeper parts of the island. Continue going left until you reach #b#m140010200##k, and defeat #r5 #o0100134#s#k.") +else: + sm.sendNext("Oh, is 5 not enough? If you feel the need to train further, please feel free to slay more than that. If you slay all of them, I'll just have to look the other way even if it breaks my heart, since they will have been sacrificed for a good cause...") + sm.dispose() \ No newline at end of file diff --git a/scripts/quest/q21100s.py b/scripts/quest/q21100s.py new file mode 100755 index 0000000..f2c2123 --- /dev/null +++ b/scripts/quest/q21100s.py @@ -0,0 +1,35 @@ +# 140000000 +LILIN = 1201000 + +sm.setSpeakerID(LILIN) +sm.flipSpeaker() +sm.sendNext("There isn't much record left of the heroes that fought against the Black Mage. Even in the Book of Prophecy, the only information available is that there were five of them. There is nothing about who they were or what they looked like. Is there anything you remember? Anything at all?") + +sm.setPlayerAsSpeaker() +sm.sendSay("I don't remember a thing...") + +sm.setSpeakerID(LILIN) +sm.flipSpeaker() +sm.sendSay("As I expected. Of course, the curse of the Black Mage was strong enough to wipe out all of your memory. But even if that's the case, there has got to be a point where the past will uncover, especially now that we are certain you are one of the heroes. I know you've lost your armor and weapon during the battle but... Oh, yes, yes. I almost forgot! Your #bweapon#k!") + +sm.setPlayerAsSpeaker() +sm.sendSay("My weapon?") + +sm.setSpeakerID(LILIN) +sm.flipSpeaker() +sm.sendSay("I found an incredible weapon while digging through blocks of ice a while back. I figured the weapon belonged to a hero, so I brought it to town and placed it somewhere in the center of the town. Haven't you seen it? #bThe #p1201001##k...\r\n#i4032372#\r\n\r\nIt looks like this...") + +sm.setPlayerAsSpeaker() +sm.sendSay("Come to think of it, I did see a #p1201001# in town.") + +sm.setSpeakerID(LILIN) +if sm.sendAskAccept("Yes, that's it. According to what's been recorded, the weapon of a hero will recognize its rightful owner, and if you're the hero that used the #p1201001#, the #p1201001# will react when you grab the #p1201001#. Please go find the #b#p1201001# and click on it.#k"): + sm.startQuest(parentID) + sm.completeQuest(parentID) + + sm.flipSpeaker() + sm.sendSayOkay("If the #p1201001# reacts to you, then we'll know that you're #bAran#k, the hero that wielded a #p1201001#.") +else: + sm.flipSpeaker() + sm.sendNext("What's stopping you? I promise, I won't be disappointed even if the #p1201001# shows no reaction to you. Please, rush over there and grab the #p1201001#. Just #bclick#k on it.") + sm.dispose() \ No newline at end of file diff --git a/scripts/quest/q21101s.py b/scripts/quest/q21101s.py new file mode 100755 index 0000000..0826b62 --- /dev/null +++ b/scripts/quest/q21101s.py @@ -0,0 +1,26 @@ +# 140000000 +GIANT_POLEARM = 1201001 + +sm.setSpeakerID(GIANT_POLEARM) +if sm.sendAskYesNo("#b(Are you certain that you were the hero that wielded the #p1201001#? Yes, you're sure. You better grab the #p1201001# really tightly. Surely it will react to you.)#k"): + if not sm.canHold(1142129): # Medal + sm.sendSayOkay("Please make some space in your equipment inventory.") + sm.dispose() + sm.giveItem(1142129) + sm.startQuest(parentID) + sm.completeQuest(parentID) + sm.removeSkill(20000297) + sm.jobAdvance(2100) + sm.resetAP(False, 2100) + sm.removeSkill(20001296) + sm.giveSkill(20001296) + sm.chatScript("You learned the Back to Rien skill.") + + sm.removeEscapeButton() + sm.setPlayerAsSpeaker() + sm.sendNext("#b(You might be starting to remember something...)#k") + + sm.lockInGameUI(True, False) + sm.warp(914090100, 0) +else: + sm.sendNext("#b(You need to think about this for a second...)#k") diff --git a/scripts/quest/q21200e.py b/scripts/quest/q21200e.py new file mode 100755 index 0000000..e3736a6 --- /dev/null +++ b/scripts/quest/q21200e.py @@ -0,0 +1,30 @@ +# 21200 - [Job Adv] (Lv.30) Aran +sm.setSpeakerID(1201001) +sm.sendNext("Voom voom voom voom...") +sm.setPlayerAsSpeaker() +sm.sendNext("#b(The #p1201001# is producing an undulating echo. But who is that boy standing over there?)") +sm.sendNext("You've never seen him before. He doesn't look human.") +sm.setSpeakerID(1201002) +sm.sendNext("Yo, Aran! Do you not hear me? I said, do you not hear me! Ugh, how frustrating!") +sm.setPlayerAsSpeaker() +sm.sendNext("#b(Hm? Who's voice was that? It sounds like an angry boy...)") +sm.setSpeakerID(1201002) +sm.sendNext("Ugh, my only master had to end up trapped in ice for hundreds of years, abandoning me completely, and is now completely ignoring me.") +sm.setPlayerAsSpeaker() +sm.sendNext("Who...are you?") +sm.setSpeakerID(1201002) +sm.sendNext("Aran? Do you hear me now? It's me! Don't you recognize me? I'm your weapon, #b#p1201002# the polearm#k!") +sm.setPlayerAsSpeaker() +sm.sendNext("#b(...#p1201002#? A #p1201001# can talk?") +sm.setSpeakerID(1201002) +sm.sendNext("What's with that suspicious look on your face? I know you've lost your memory, but did you forget about me, too? How could you?!") +sm.setPlayerAsSpeaker() +sm.sendNext("I'm so sorry, but I can't remember a thing.") +sm.setSpeakerID(1201002) +if sm.sendAskYesNo("Sorry doesn't cut it! Do you know how lonely and bored I was for hundreds of years? I don't care what it takes! Remember me! Remember me now!"): + sm.completeQuest(parentID) + sm.setPlayerAsSpeaker() + sm.sendNext("#b(The voice that claims to be #p1201002#? the #p1201001# is yelling in frustration. You don't think this conversation is going anywhere. You better go talk to #p1510009# first.)") + sm.dispose() +else: + sm.dispose() \ No newline at end of file diff --git a/scripts/quest/q21200s.py b/scripts/quest/q21200s.py new file mode 100755 index 0000000..39e851e --- /dev/null +++ b/scripts/quest/q21200s.py @@ -0,0 +1,8 @@ +# 21200 - [Job Adv] (Lv.30) Aran +sm.setSpeakerID(1510009) +if sm.sendAskYesNo("How is your training going? Wow, you've reached such a high level! That's amazing. I knew you would do just fine on Victorial Island... Oh, look at me. I'm wasting your time. I know you're busy, but you'll have to return to the island for a bit."): + sm.startQuest(parentID) + sm.sendNext("Your #b#p1201001##k in #b#m140000000##k is acting strange all of a sudden. According to the records, the Polearm acts this way when it is calling for its master. #bPerhaps it's calling for you#k. Please return to the island and check things out.") + sm.dispose() +else: + sm.dispose() \ No newline at end of file diff --git a/scripts/quest/q21201e.py b/scripts/quest/q21201e.py new file mode 100755 index 0000000..794c646 --- /dev/null +++ b/scripts/quest/q21201e.py @@ -0,0 +1,23 @@ +# 21201 - [Job Adv] (Lv.30) Aran +sm.setSpeakerID(1201002) +sm.sendNext("First you promise to defeat the Black Mage and make me a famous weapon, then you abandon me for hundreds of years, and now you're telling me you don't remember who I am? What the...?! Do you think I'll let you get away with that? You're the one who begged and pined for me!") +sm.setPlayerAsSpeaker() +sm.sendNext("I did tell #p1203000# to make a polearm for me if I could prove my worth.") +sm.setSpeakerID(1201002) +sm.sendNext("After all that begging, shouldn't you treat me with a little more love and respect? Ya know, a weapon like me's rare and a wonderful thing. I am the ultimate #p1201001# that can help you defeat the Black Mage. How could you ditch me for hundreds of years...") +sm.setPlayerAsSpeaker() +sm.sendNext("Hey, I never begged for you.") +sm.setSpeakerID(1201002) +sm.sendNext("What? You never begged for me? Ha! #p1203000# told me you got on your knees, begged for me in tears, and... Wait a sec. Aran! Did you just remember who I am?!") +sm.setPlayerAsSpeaker() +sm.sendNext("Maybe a little bit...") +sm.setSpeakerID(1201002) +sm.sendNext("Aran, it is you! *Sniff sniff* Wait, *ahem* I didn't get emotional, it's just allergies. I know the Black Mage has stripped you of your abilities so you probably don't even have the strength to lift me... but at least you remember me! I'm glad that your memory's starting to return.") +if sm.sendAskYesNo("Evn though you've lost your memory, you're still my master. You endured some very tough training in the past, and I'm sure your body still remembers the skills that got you through those hard times. Alright, I'll restore your abilities!"): + if not sm.canHold(1142130): + sm.sendSayOkay("Please make some space in your equipment inventory.") + sm.dispose() + sm.completeQuest(parentID) + sm.giveItem(1142130) + sm.jobAdvance(2110) + sm.sendNext("Your level isn't what it used to be back in your glory days, so I can't restore all of your old abilities. But the few that I can restore should help you level up faster. Now hurry up and train so you can return to the old you.") diff --git a/scripts/quest/q21202e.py b/scripts/quest/q21202e.py new file mode 100755 index 0000000..3ec5691 --- /dev/null +++ b/scripts/quest/q21202e.py @@ -0,0 +1,9 @@ +# 21202 - [Job Adv] (Lv.30) Aran +sm.setSpeakerID(1203000) +sm.sendNext("Oh, have you brought me the Sign of Acceptances? You're stronger than I thought! But more importantly, I am impressed with the amount of courage you displayed when you agreed to take this dangerous weapon without any hesitation. You deserve it. The #p1201001# is yours.") +sm.sendNext("(After a long time passed, #p1203000# handed you the #p1201001# which was carefully wrapped in cloth.)") +if sm.sendAskYesNo("Here, this is #p1201002#, the Polearm you've asked for. Please take good care of it."): + # todo: show effect + sm.warpInstanceOut(140030000) + sm.completeQuest(parentID) + sm.consumeItem(4032311, 30) diff --git a/scripts/quest/q21202s.py b/scripts/quest/q21202s.py new file mode 100755 index 0000000..fbb662a --- /dev/null +++ b/scripts/quest/q21202s.py @@ -0,0 +1,16 @@ +# 21202 - [Job Adv] (Lv.30) Aran +sm.setSpeakerID(1203000) +sm.sendNext("Hmm... What's a young person like you doing in this secluded place?") +sm.setPlayerAsSpeaker() +sm.sendNext("I've come to get the best Polearm there is!") +sm.setSpeakerID(1203000) +sm.sendNext("The best Polearm? You should be able to purchase it in some town or other...") +sm.setPlayerAsSpeaker() +sm.sendNext("I hear that you are the best blacksmith in all of Maple World! I want nothing less than a weapon made by you!") +sm.setSpeakerID(1203000) +if sm.sendAskYesNo("I'm too old to make weapons now, but... I do have a Polearm that i made way back when. It's still in excellent shape. But I can't give it to you because that Polearm is extremely sharp, so sharp it could even hurt its master. Do you still want it?"): + sm.startQuest(parentID) + sm.sendSayOkay("Well, if you say so... I can't object to that. I'll tell you what. I'll give you a quick test, and if you pass it, the #p1201001# is yours. Head over to the #bTraining Center#k and take on the #r#o9831006##k that are there. your job is to bring back #b30 Sign of Acceptances#k.") + sm.dispose() +else: + sm.dispose() \ No newline at end of file diff --git a/scripts/quest/q21300s.py b/scripts/quest/q21300s.py new file mode 100755 index 0000000..8a1a829 --- /dev/null +++ b/scripts/quest/q21300s.py @@ -0,0 +1,9 @@ +# 21300 - [Job Adv] (Lv.60) Aran +sm.setSpeakerID(1510009) +sm.sendNext("How is the training going? Hm, Lv. 60? You still ahve a long way to go, but it's definitely praiseworthy compared to the first time I met you. Continue to train diligently, and I'm sure you'll regain your strength soon!") +if sm.sendAskYesNo("But first, you must head to #b#m140000000##k your #b#p1201001##k is acting weird again. I think it has something to tell you. It might be able to restore your abilities, so please hurry."): + sm.startQuest(parentID) + sm.sendSayOkay("Anyway, I thought it was really something that a weapon had its own identity, but this weapon gets extremely annoying. It cries, saying that I'm not paying attention to its needs, and now... Oh, please keep this a secret from the Polearm. I don't think it's a good idea to upset the weapon any more than I already have.") + sm.dispose() +else: + sm.dispose() \ No newline at end of file diff --git a/scripts/quest/q21301e.py b/scripts/quest/q21301e.py new file mode 100755 index 0000000..03ec996 --- /dev/null +++ b/scripts/quest/q21301e.py @@ -0,0 +1,10 @@ +# 21301 - [Job Adv] (Lv.60) Aran +sm.setSpeakerID(1201002) +if sm.sendAskYesNo("Did you slay the #o2600111#? Yippy! You're my master, indeed! Now, give me the Red Jade you fuond! I'll reattach it and... Wait, why aren't you saying anything? Don't tell me you didn't bring it back..."): + sm.sendNext("What? You didn't bring the Red Jade?! Why not?! Did you forget?! Yikes, I never thought the Black Mage's curse would turn you into a dummy...") + sm.sendNext("No, I can't let this drive me to despair. Now more than ever, I must stay optimistic and alert. Argh...") + sm.sendNext("You can go back if you want, but I'm sure the thief has already fled the scene. You'll just have to make a new Red Jade. You've made one before, so you remember the required materials, don't you? So hurry it up.") + sm.completeQuest(parentID) + sm.dispose() +else: + sm.dispose() \ No newline at end of file diff --git a/scripts/quest/q21302e.py b/scripts/quest/q21302e.py new file mode 100755 index 0000000..b7c153a --- /dev/null +++ b/scripts/quest/q21302e.py @@ -0,0 +1,12 @@ +# 21302 - [Job Adv] (Lv.60) Aran +sm.setSpeakerID(1201002) +sm.sendNext("Oh, isn't that... Hey, did you remember how to make the Red Jade? You may be a dummy who has amnesia, but this is why I can't leave you. Now hurry, give me the gem!") +if sm.sendAskYesNo("Okay, now that I have the power of Red Jade, I'll restore more of your abilities. Your level has gotten much higher since the last time we met, so I'm sure I can work my magic a bit more this time!"): + if not sm.canHold(1142131): + sm.sendSayOkay("Please make some space in your equipment inventory.") + sm.dispose() + sm.completeQuest(parentID) + sm.giveItem(1142131) + sm.jobAdvance(2111) + sm.consumeItem(4032312) + sm.sendNext("Please get back all of your abilities soon. I want to explore with you like we did in the good old days.") diff --git a/scripts/quest/q21303s.py b/scripts/quest/q21303s.py new file mode 100755 index 0000000..4dc23d9 --- /dev/null +++ b/scripts/quest/q21303s.py @@ -0,0 +1,16 @@ +# 21303 - [Job Adv] (Lv.60) Aran +sm.setSpeakerID(1203001) +sm.sendNext("*Sob sob* #p1203001# is sad. #p1203001# is mad. #p1203001# cries. *Sob sob*") +sm.setPlayerAsSpeaker() +sm.sendNext("Wh...What's wrong?") +sm.setSpeakerID(1203001) +sm.sendNext("#p1203001# made gem. #bGem as red as apple#k. But #rthief#k stole gem. #p1203001# no longer has gem. #p1203001# is sad...") +sm.setPlayerAsSpeaker() +sm.sendNext("A thief stole your red gem?") +sm.setSpeakerID(1203001) +if sm.sendAskYesNo("yes, #p1203001# wants gem back. #p1203001# reward you if you find gem. Catch thief and you get reward."): + sm.startQuest(parentID) + sm.sendNext("The thief wen that way! Which way? Hold on...eat with right hand, not left hand... #bLeft#k! He went left! Go left and you find thief.") + sm.dispose() +else: + sm.dispose() \ No newline at end of file diff --git a/scripts/quest/q21400s.py b/scripts/quest/q21400s.py new file mode 100755 index 0000000..e14382c --- /dev/null +++ b/scripts/quest/q21400s.py @@ -0,0 +1,8 @@ +# 21400 - [Job Adv] (Lv.100) Aran +sm.setSpeakerID(1510009) +if sm.sendAskYesNo("How is the training going? I know you're busy, but please come to #bRien#k immediately. The #bMaha#k has started to act weird again... But it's even weirder now. it's different from before. It's... darker than usual."): + sm.startQuest(parentID) + sm.sendSayOkay("I have a bad feeling about this. Please come back here. I've never seen or heard Maha like this, but I can sense the suffering it's going through. #bOnly you, the master of Maha, can do something about it#k!") + sm.dispose() +else: + sm.dispose() \ No newline at end of file diff --git a/scripts/quest/q21401e.py b/scripts/quest/q21401e.py new file mode 100755 index 0000000..6556d28 --- /dev/null +++ b/scripts/quest/q21401e.py @@ -0,0 +1,12 @@ +# 21401 - [Job Adv] (Lv.100) Aran +sm.setSpeakerID(1201002) +sm.sendNext("Thank you, Aran. If it weren't for you, I would have become enraged and who knows what could have happened. Thank you NOT! It's only your duty as my mster...") +if sm.sendAskYesNo("Anyways, I just noticed how high of a level you've reached. If you were able to control me in my state of rage, I think you're ready to handle more abilities"): + if not sm.canHold(1142132): + sm.sendSayOkay("Please make some space in your equipment inventory.") + sm.dispose() + sm.completeQuest(parentID) + sm.giveItem(1142132) + sm.jobAdvance(2112) + sm.sendNext("Your skills have been restored. Those skills have been dormant for so long that you'll have to re-train yourself. but you'll be as good as new once you complete your training.") + sm.sendNext("Even with all that, however, you still have a long way to go until you return to the old you.") diff --git a/scripts/quest/q21401s.py b/scripts/quest/q21401s.py new file mode 100755 index 0000000..7b0f3ab --- /dev/null +++ b/scripts/quest/q21401s.py @@ -0,0 +1,9 @@ +# 21401 - [Job Adv] (Lv.100) Aran +sm.setSpeakerID(1201002) +sm.sendNext("Why do I look like this, you ask? I don't want to talk about it, but I suppose I can't hide from you since you're my master...") +sm.sendNext("While you were trapped inside ice for hundreds of years, I, too, was frozen. It was a long time to be away from you. That's when the seed of darkness was planted in my heart.") +sm.sendNext("But since you awoke, I thought the darkness had gone away. I thought things would return to the way they were, but I was mistaken.") +if sm.sendAskYesNo("Please, Aran. Please stop me from becoming enraged. Only you can control me. It's out of my hands now. Please do whatever it takes to #rstop me from going berserk#k!"): + sm.startQuest(parentID) + sm.warpInstanceIn(914020000) + sm.setInstanceTime(20 * 60, 140000000) \ No newline at end of file diff --git a/scripts/quest/q21700s.py b/scripts/quest/q21700s.py new file mode 100755 index 0000000..6677328 --- /dev/null +++ b/scripts/quest/q21700s.py @@ -0,0 +1,27 @@ +# 140000000 +LILIN = 1201000 + +sm.setSpeakerID(LILIN) +sm.flipSpeaker() +sm.sendNext("It seems like you've started to remember things. Your Polearm must have recognized you. This means you are surely #bAran, the wielder of Polearms#k. Is there anything else you remember? Skills you used with the Polearm perhaps? Anything?") + +sm.setPlayerAsSpeaker() +sm.sendSay("#b(You tell her that you remember a few skills.)#k") + +sm.setSpeakerID(LILIN) +sm.flipSpeaker() +sm.sendSay("That's not a lot, but it's progress. Our focus, then, should be to get you back to the state before you were frozen. You may have lost your memory, but I'm sure it won't take long for you to recover the abilities that your body remembers.") + +sm.setPlayerAsSpeaker() +sm.sendSay("How do I recover my abilities?") + +sm.setSpeakerID(LILIN) +if sm.sendAskAccept("There is only one way to do that. Train! Train! Train! Train! If you continue to train, your body will instinctively remember its abilities. To help you through the process, I'll introduce you to an instructor."): + # sm.giveItem(1442077) + sm.startQuest(parentID) + sm.completeQuest(parentID) + + sm.sendNext("I thought it'd be better for you to use a familiar weapon for your training, so I gave you a #bPolearm#k. I hope you can handle it. Now, take that weapon and...") + sm.sendPrev("Hmm. Give me a second. I need to think about what you should do now...") +else: + sm.sendNext("No? Are you saying you can train on your own? I'm just letting you know that you'll get better results if you train with an instructor. You can't live in this world alone. You must learn to get along with other people.") \ No newline at end of file diff --git a/scripts/quest/q21766e.py b/scripts/quest/q21766e.py new file mode 100755 index 0000000..893c648 --- /dev/null +++ b/scripts/quest/q21766e.py @@ -0,0 +1,29 @@ +# Created by MechAviv +# Quest ID :: 21766 +# Suspicious John + +sm.setSpeakerID(1002001) +if sm.sendAskAccept("Did you find out what's in the Wooden Box? Ooh, tell me, tell me!\r\n\r\n#fUI/UIWindow2.img/QuestIcon/8/0# 1200 exp"): + sm.setSpeakerID(1002001) + sm.removeEscapeButton() + sm.setPlayerAsSpeaker() + sm.sendNext("#bThere really wasn't anything inside. All it had were some snail shells and ingredients to treat arthritis.#k") + + + sm.setSpeakerID(1002001) + sm.removeEscapeButton() + sm.flipSpeaker() + sm.sendSay("Oh? Then why has #p20000# started acting so strange? I'm so curious, I can't stand it! Anyway, thanks for your help.") + + + sm.setSpeakerID(1002001) + sm.removeEscapeButton() + sm.setPlayerAsSpeaker() + sm.sendSay("#b(You feel bad for #p1002001#, but sometimes, ignorance is bliss.)#k") + + sm.startQuest(21766) + sm.completeQuest(21766) + sm.giveExp(1200) +else: + sm.setSpeakerID(1002001) + sm.sendNext("I guess you don't know yet... That Wooden Box is... strange.") \ No newline at end of file diff --git a/scripts/quest/q21766s.py b/scripts/quest/q21766s.py new file mode 100755 index 0000000..9f67369 --- /dev/null +++ b/scripts/quest/q21766s.py @@ -0,0 +1,52 @@ +# Created by MechAviv +# Quest ID :: 21766 +# Suspicious John + +sm.setSpeakerID(1002001) +sm.flipSpeaker() +sm.sendNext("Hey! Can you do me a favor? #p20000# seems a bit strange these days...") + + +sm.setSpeakerID(1002001) +sm.setPlayerAsSpeaker() +sm.sendSay("What's wrong with #b#p20000#?#k") + + +sm.setSpeakerID(1002001) +sm.flipSpeaker() +sm.sendSay("He used to scowl and whine about his arthritis until just recently, but he's suddenly become all happy and smiley!!") + + +sm.setSpeakerID(1002001) +sm.setPlayerAsSpeaker() +sm.sendSay("#bWhat's wrong with that?? Maybe his arthritis has gotten better...#k") + + +sm.setSpeakerID(1002001) +sm.flipSpeaker() +sm.sendSay("That's exactly what I'm talking about. How is it possible that he's gotten better all of a sudden? On top of that, he carries around a wooden box and chuckles to himself nonstop!") + + +sm.setSpeakerID(1002001) +if sm.sendAskAccept("I have a feeling there is a secret behind that wooden box. Could you stealthily look into the wooden box next to #p20000#? "): + sm.startQuest(21766) + sm.setSpeakerID(1002001) + sm.removeEscapeButton() + sm.setPlayerAsSpeaker() + sm.sendNext("#bFine, I'll look into the wooden box and see what I can find.#k") + + + sm.setSpeakerID(1002001) + sm.removeEscapeButton() + sm.flipSpeaker() + sm.sendSay("Okay. This should answer the mystery of why #p20000# has been acting strange. Inspect the wooden box located next to #p20000# and let me know what you find.") + + + sm.setSpeakerID(1002001) + sm.removeEscapeButton() + sm.flipSpeaker() + sm.sendPrev("You know where #p20000# is, right? It's to the right of here. The box will be somewhere near John.") +else: + sm.setSpeakerID(1002001) + sm.sendNext("#p20000# is acting really strange lately!") + diff --git a/scripts/quest/q21767s.py b/scripts/quest/q21767s.py new file mode 100755 index 0000000..454f317 --- /dev/null +++ b/scripts/quest/q21767s.py @@ -0,0 +1,18 @@ +# Created by MechAviv +# Quest ID :: 21767 +# Secrets of the Wooden Box + +sm.setSpeakerID(1204033) +sm.removeEscapeButton() +sm.flipSpeaker() +sm.sendNext(" (Inside the box was an unidentifiable treatment of some sort.)") + + +sm.setSpeakerID(1204033) +sm.removeEscapeButton() +sm.setPlayerAsSpeaker() +sm.sendSay("#bHm, there's a medicinal substance in the box. What could this be? You better take this to John and ask him what it is.#k") + + +sm.giveItem(4032423) +sm.startQuest(21767) \ No newline at end of file diff --git a/scripts/quest/q22000e.py b/scripts/quest/q22000e.py new file mode 100755 index 0000000..7544908 --- /dev/null +++ b/scripts/quest/q22000e.py @@ -0,0 +1,8 @@ +# 22000 | Strange dream (Evan intro) +sm.setSpeakerID(1013101) +sm.sendNext("Hey, Evan, Wassup? What's with the dark circles under your eyes? Didn't sleep well? Huh? Had a strange dream? What was it about? Whoa? A dream about a Dragon?") +sm.sendNext("Muhahahahaha, a Dragon? Are you serious? I don't know how to interpret dreams, but that sounds like a good one! Did you see a dog in your dream too?\r\n\r\n\r\n\r\n#fUI/UIWindow2.img/QuestIcon/8/0# 20 exp") +sm.giveExp(20) +sm.completeQuest(parentID) + + diff --git a/scripts/quest/q22000s.py b/scripts/quest/q22000s.py new file mode 100755 index 0000000..4bbea75 --- /dev/null +++ b/scripts/quest/q22000s.py @@ -0,0 +1,23 @@ +# 22000 | Strange dream (Evan intro) +sm.setSpeakerID(1013100) +sm.sendNext("Did you sleep well, Evan?") +sm.setPlayerAsSpeaker() +sm.sendNext("#bYes, what about you, mom?") +sm.setSpeakerID(1013100) +sm.sendNext("I did as well, but you seem so tired. Did you sleep well? Did the thunder and lightning last night keep you up?") +sm.setPlayerAsSpeaker() +sm.sendNext("#bOh, no. It's not that, Mom. I just had a strange dream last night.") +sm.setSpeakerID(1013100) +sm.sendNext("A strange dream? What kind of strange dream?") +sm.setPlayerAsSpeaker() +sm.sendNext("#bWell...") +sm.sendNext("#b(You explain that you met a Dragon in your dream.)") +sm.setSpeakerID(1013100) +if sm.sendAskYesNo("Hahaha, a Dragon? That's incredible. I'm glad he didn't swallow you whole! You should tell Utah about your dream. I'm sure he'll enjoy it"): + sm.startQuest(22000) + sm.sendNext("#bUtah#k wen to the #b Front Yard#k to feed the Bull Dog. You'll see him right outside.") + sm.dispose() +else: + sm.dispose() + + diff --git a/scripts/quest/q22001s.py b/scripts/quest/q22001s.py new file mode 100755 index 0000000..eb08fd9 --- /dev/null +++ b/scripts/quest/q22001s.py @@ -0,0 +1,20 @@ +# 22001 | Feeding Bull Dog (Evan intro) +sm.setSpeakerID(1013101) +sm.sendNext("Haha, I had a good laugh. Hahaha, but enough with that nonsense, feed Bulldog, would you?") +sm.setPlayerAsSpeaker() +sm.sendNext("#bWhat? that's Utah's job!") +sm.setSpeakerID(1013101) +if sm.sendAskYesNo("You little brat! I told you to call me older brother! You know how much Bulldog hates me. He'll bite me if I go near him. You feed him. He likes you."): + if sm.canHold(4032447): + sm.startQuest(parentID) + sm.giveItem(4032447) + sm.sendNext("Hurry up and head #bleft#k to feed #bBulldog#k. He's been barking to be fed all morning.") + sm.sendSay("Feed Bulldog and come back to see me.") + sm.dispose() + else: + sm.sendSay("Please make space in your Etc Inventory.") + sm.dispose() +else: + sm.dispose() + + diff --git a/scripts/quest/q22002e.py b/scripts/quest/q22002e.py new file mode 100755 index 0000000..4be436f --- /dev/null +++ b/scripts/quest/q22002e.py @@ -0,0 +1,6 @@ +# 22002 | Sandwich for Breakfast (Evan intro) +sm.setSpeakerID(1013100) +sm.sendNext("Did you eat your breakfast, evan? Then, will you do me a favor? \r\n #fUI/UIWindow2.img/QuestIcon/4/0# \r\n #v1003028# 1 Straw Hat \r\n #fUI/UIWindow2.img/QuestIcon/8/0# 60 exp") +sm.giveExp(60) +sm.giveItem(1003028) +sm.completeQuest(parentID) diff --git a/scripts/quest/q22002s.py b/scripts/quest/q22002s.py new file mode 100755 index 0000000..8530ecf --- /dev/null +++ b/scripts/quest/q22002s.py @@ -0,0 +1,16 @@ +# 22002 | Sandwich for Breakfast (Evan intro) +sm.setSpeakerID(1013101) +sm.sendNext("Did you feed Bulldog? You should have some breakfast now then, Evan. Today's breakfast is Handmade Sandwich. I've brought it with me. Hee hee. I was going to eat it myself if you didn't agree to feed Bulldog") +if sm.sendAskYesNo("Here, I'll give you this #bSandwich#k, so #bgo talk to mom when you finish eating#k. She says she has something to tell you."): + if sm.canHold(2022620): + sm.startQuest(parentID) + sm.giveItem(2022620) + sm.setPlayerAsSpeaker() + sm.sendNext("#b(Mom has something to say? Eat your Handmade Sandwich and head back inside the house.)") + sm.dispose() + else: + sm.sendNext("Please make room in your Use inventory.") + sm.dispose() +else: + sm.dispose() + diff --git a/scripts/quest/q22003s.py b/scripts/quest/q22003s.py new file mode 100755 index 0000000..ee57957 --- /dev/null +++ b/scripts/quest/q22003s.py @@ -0,0 +1,14 @@ +# 22003 | Delivering the Lunch Box (Evan intro) +sm.setSpeakerID(1013100) +if sm.sendAskYesNo("Your #bDad#k forgot his Lunch Box when he left for the farm this morning. Will you #bdeliver this Lunch Box#k to your Dad in #bFarm Center#k, honey?"): + if sm.canHold(4032448): + sm.sendNext("Heehee, my Evan is such a good kid! Head #bleft after you exit the house#k. Rush over to your Dad, I'm sure he's starving.") + sm.sendNext("Come back to me if you happen to lose the Lunch Box, I'll make his lunch again.") + sm.startQuest(parentID) + sm.dispose() + else: + sm.sendNext("Please make room in your Etc Inventory.") + sm.dispose() +else: + sm.dispose() + diff --git a/scripts/quest/q22004e.py b/scripts/quest/q22004e.py new file mode 100755 index 0000000..3e92240 --- /dev/null +++ b/scripts/quest/q22004e.py @@ -0,0 +1,11 @@ +# 22004 | Fixing the Fence (Evan intro) +sm.setSpeakerID(1013103) +sm.sendNext("Ah, did you bring all the Thick Branches? That's my kid! What shall i give you as reward?... Let's see... Oh, right! \r\n #fUI/UIWindow2.img/QuestIcon/4/0# \r\n #v3010097# Strong Wooden Chair \r\n #fUI/UIWindow2.img/QuestIcon/8/0# 210 exp") +if sm.canHold(3010097): + sm.giveItem(3010097) + sm.giveExp(210) + sm.completeQuest(parentID) + sm.dispose() +else: + sm.sendNext("Please make room in your Set-up Inventory") + sm.dispose() \ No newline at end of file diff --git a/scripts/quest/q22004s.py b/scripts/quest/q22004s.py new file mode 100755 index 0000000..8d58541 --- /dev/null +++ b/scripts/quest/q22004s.py @@ -0,0 +1,8 @@ +# 22004 | Fixing the Fence (Evan intro) +sm.setSpeakerID(1013103) +sm.sendNext("The pigs at the farm have been acting strange these past couple days. They've been angry and irritable for no reason. I was worried so I came out to the farm early this morning and sure enough, it seems like a few of these Pigs got past the fence.") +if sm.sendAskYesNo("Before I go and find the Pigs, I should mend the broken fence. Luckily, it wasn't damaged too badly. I just need a few Thick Branches to fix it right up. Will you bring me #b3 Thick Branches#k, Evan?"): + sm.sendNext("Oh, that's very nice of you. You'll be able to find the #bThick Branches#k from the nearby #rStumps#k. They're not too strong, but use your skills and items when you find yourself in danger.") + sm.startQuest(parentID) +else: + sm.dispose() diff --git a/scripts/quest/q22007e.py b/scripts/quest/q22007e.py new file mode 100755 index 0000000..6a0c7f2 --- /dev/null +++ b/scripts/quest/q22007e.py @@ -0,0 +1,9 @@ +# 22007 | Collecting Eggs (Evan intro) +sm.setSpeakerID(1013101) +sm.sendNext("Oh, did you bring the egg? Here, give it to me, I'll give you the incubator then.") +if sm.sendAskYesNo("Alright, here you go. I have no idea how to use it, but it's yours.\r\n #fUI/UIWindow2.img/QuestIcon/8/0# 360 exp"): + sm.giveExp(360) + sm.completeQuest(parentID) + sm.dispose() +else: + sm.dispose() diff --git a/scripts/quest/q22008e.py b/scripts/quest/q22008e.py new file mode 100755 index 0000000..47f56e4 --- /dev/null +++ b/scripts/quest/q22008e.py @@ -0,0 +1,37 @@ +# 22008 | Chasing away the foxes (Evan intro) +sm.setSpeakerID(1013101) +sm.sendNext("Did you defeat the Treacherous Foxes?") +sm.setPlayerAsSpeaker() +sm.sendNext("#bWhat happened to slaying the Foxes left behind?") +sm.setSpeakerID(1013101) +sm.sendNext("Oh that? Haha, I did chase them, sort of, But I wanted to make sure they did not catch up to you. I wouldn't want you eaten by a Treacherous Fox or anything. So I just let them be.") +sm.setPlayerAsSpeaker() +sm.sendNext("#bAre you sure you weren't just hiding because you were scared of the Foxes?") +sm.setSpeakerID(1013101) +sm.sendNext("What? No way! Sheeesh, I fear nothing!") +sm.setPlayerAsSpeaker() +sm.sendNext("#bWatch out! There's a Treacherous Fox right behind you!") +sm.setSpeakerID(1013101) +sm.sendNext("Eeeek! Mommy!") +sm.setPlayerAsSpeaker() +sm.sendNext("....") +sm.setSpeakerID(1013101) +sm.sendNext("....") +sm.sendNext("You little brat! I'm your older brother. Don't you mess with me! Your brother has a weak heart, you know. Don't surprise me like that!") +sm.setPlayerAsSpeaker() +sm.sendNext("#b(This is why I don't want to call you Older Brother....)") +sm.setSpeakerID(1013101) +sm.sendNext("Hmmph! Anyway, I'm glad you were able to defeat the Treacherous Foxes. As a reward I'll give you something an Adventurer gave me a long time ago. Here you are. \r\n #fUI/UIWindow2.img/QuestIcon/4/0# \r\n #v1372107# Beginner Magician's Wand \r\n #fUI/UIWindow2.img/QuestIcon/8/0# 910 exp") +if sm.canHold(1372107): + sm.giveItem(1372107) + sm.giveExp(910) + sm.completeQuest(parentID) + sm.sendNext("#bThis is a weapon that Magicians use. It's a Wand. #k You probably won't really need it, but it'll make you look important if you carry it around. Hahaha") + sm.sendSay("Anyways, the Foxes have increased, right? How weird is that? Why are they growing day by day? We should really look into it and get to the bottom of this.") + sm.dispose() +else: + sm.sendNext("Please make room in your Equip Inventory.") + sm.dispose() + + + diff --git a/scripts/quest/q22008s.py b/scripts/quest/q22008s.py new file mode 100755 index 0000000..a269278 --- /dev/null +++ b/scripts/quest/q22008s.py @@ -0,0 +1,8 @@ +# 22008 | Chasing away the foxes (Evan intro) +sm.setSpeakerID(1013101) +if sm.sendAskYesNo("It's strange. The chickens are acting funny. They used to hatch way more Eggs. Do you think the Foxes have something to do with it? If so, we better hurry up and do something about it."): + sm.startQuest(parentID) + sm.sendNext("Right? Let us go and defeat those Foxes. Go on ahead and defeat #r10 Treacherous Foxes#k in #bBack Yard#k first. I'll follow you and take care of what's left behind. Now, hurry over to the Back Yard!") + sm.dispose() +else: + sm.dispose() diff --git a/scripts/quest/q22130s.py b/scripts/quest/q22130s.py new file mode 100755 index 0000000..ffaac66 --- /dev/null +++ b/scripts/quest/q22130s.py @@ -0,0 +1,10 @@ +sm.levelUntil(10) +sm.setJob(2200) +sm.addSP(5, True) +sm.chatScript("You learned the Back to Nature skill.") +sm.sendSayImage("UI/tutorial/evan/14/0") +sm.systemMessage("A baby dragon has hatched from the egg in the incubator.") +sm.systemMessage("Obtained 5 Skill Points to use for leveling up.") +sm.systemMessage("It looks like the baby dragon has something to say. Click to talk to it!") +sm.completeQuestNoCheck(22130) +sm.giveSkill(20011293) \ No newline at end of file diff --git a/scripts/quest/q22131e.py b/scripts/quest/q22131e.py new file mode 100755 index 0000000..83411ac --- /dev/null +++ b/scripts/quest/q22131e.py @@ -0,0 +1,10 @@ +sm.setJob(2212) +sm.addSP(3, True) +#sm.giveSkill(20011293) +#sm.chatScript("You learned the Back to Nature skill.") +sm.startQuest(parentID) +sm.completeQuest(parentID) +#sm.sendSayImage("UI/tutorial/evan/14/0") +#sm.systemMessage("A baby dragon has hatched from the egg in the incubator.") +#sm.systemMessage("Obtained 5 Skill Points to use for leveling up.") +#sm.systemMessage("It looks like the baby dragon has something to say. Click to talk to it!") \ No newline at end of file diff --git a/scripts/quest/q22131s.py b/scripts/quest/q22131s.py new file mode 100755 index 0000000..a495b98 --- /dev/null +++ b/scripts/quest/q22131s.py @@ -0,0 +1,10 @@ +sm.setJob(2210) +sm.addSP(3, True) +#sm.giveSkill(20011293) +#sm.chatScript("You learned the Back to Nature skill.") +sm.startQuest(parentID) +sm.completeQuest(parentID) +#sm.sendSayImage("UI/tutorial/evan/14/0") +#sm.systemMessage("A baby dragon has hatched from the egg in the incubator.") +#sm.systemMessage("Obtained 5 Skill Points to use for leveling up.") +#sm.systemMessage("It looks like the baby dragon has something to say. Click to talk to it!") \ No newline at end of file diff --git a/scripts/quest/q22132e.py b/scripts/quest/q22132e.py new file mode 100755 index 0000000..0d87527 --- /dev/null +++ b/scripts/quest/q22132e.py @@ -0,0 +1,10 @@ +sm.setJob(2214) +sm.addSP(3, True) +#sm.giveSkill(20011293) +#sm.chatScript("You learned the Back to Nature skill.") +sm.startQuest(parentID) +sm.completeQuest(parentID) +#sm.sendSayImage("UI/tutorial/evan/14/0") +#sm.systemMessage("A baby dragon has hatched from the egg in the incubator.") +#sm.systemMessage("Obtained 5 Skill Points to use for leveling up.") +#sm.systemMessage("It looks like the baby dragon has something to say. Click to talk to it!") \ No newline at end of file diff --git a/scripts/quest/q22132s.py b/scripts/quest/q22132s.py new file mode 100755 index 0000000..0d87527 --- /dev/null +++ b/scripts/quest/q22132s.py @@ -0,0 +1,10 @@ +sm.setJob(2214) +sm.addSP(3, True) +#sm.giveSkill(20011293) +#sm.chatScript("You learned the Back to Nature skill.") +sm.startQuest(parentID) +sm.completeQuest(parentID) +#sm.sendSayImage("UI/tutorial/evan/14/0") +#sm.systemMessage("A baby dragon has hatched from the egg in the incubator.") +#sm.systemMessage("Obtained 5 Skill Points to use for leveling up.") +#sm.systemMessage("It looks like the baby dragon has something to say. Click to talk to it!") \ No newline at end of file diff --git a/scripts/quest/q22500s.py b/scripts/quest/q22500s.py new file mode 100755 index 0000000..5c6b1d3 --- /dev/null +++ b/scripts/quest/q22500s.py @@ -0,0 +1,49 @@ +sm.setSpeakerID(1013000) +sm.sendNext("I'm finally here! *inhales* Ah, this must be air I'm breathing. And that, that must be the sun! And that, a tree! And that, a plant! And that, a flower! Woohahahaha! This is incredible! This is much better than I imagined the world to be while I was trapped inside the egg. And you... Are you my master? Hm, I pictured you differently.") + +sm.setPlayerAsSpeaker() +sm.sendSay("#bWhoooooa, it talks!") + +sm.setSpeakerID(1013000) +sm.sendSay("My master is strange. I guess I can't do anything about it now, since the pact has been made. *sigh* Well, good to meet you. We'll be seeing a lot of each other.") + +sm.setPlayerAsSpeaker() +sm.sendSay("#bEh? What do you mean? We'll be seeing a lot of each other? What pact?") + +sm.setSpeakerID(1013000) +sm.sendSay("What do you mean what do I mean?! You woke me from the Egg. You're my master! So of course it's your responsibility to take care of me and train me and help me become a strong Dragon. Obviously!") + +sm.setPlayerAsSpeaker() +sm.sendSay("#bWhaaat? A Dragon? You're a Dragon?! I don't get it... Why am I your master? What are you talking about?") + +sm.setSpeakerID(1013000) +sm.sendSay("What are YOU talking about? Your spirit made a pact with my spirit! We're pretty much the same person now. Do I really have to explain? As a result, you've become my master. We're bound by the pact. You can't change your mind... The pact cannot be broken.") + +sm.setPlayerAsSpeaker() +sm.sendSay("#bWait, wait, wait. Let me get this straight. You're saying I have no choice but to help you?") + +sm.setSpeakerID(1013000) +sm.sendSay("Yuuup! Heeeey...! What's with the face? You...don't want to be my master?") + +sm.setPlayerAsSpeaker() +sm.sendSay("#bNo... It's not that... I just don't know if I'm ready for a pet.") + +sm.setSpeakerID(1013000) +sm.sendSay("A p-p-pet?! Did you just call me a pet?! How dare... Why, I'm a Dragon! The strongest being in the world!") + +sm.setPlayerAsSpeaker() +sm.sendSay("#b...#b(You stare at him skeptically. He looks like a lizard. A puny little one, at that.)#k") + +sm.setSpeakerID(1013000) +if sm.sendAskAccept("Why are you looking at me like that?! Just watch! See what I can do with my power. Ready?"): + if not sm.hasQuest(parentID): + sm.startQuest(parentID) + + sm.removeEscapeButton() + sm.sendNext("Attack the #r#o1210100##k! It's time to awaken my true power and prove myself as a dragon! Chaaaarge!") + sm.sendSay("HOLD IT! Before we rush in, did you already distribute your AP? Magic is affected by #bINT and LUK#k! So make sure you distribute your AP, and put on some #bMagician gear#k before you rush into battle!") + sm.sendSayImage("UI/tutorial/evan/11/0") + sm.dispose() +else: + sm.sendNext("You don't believe me? Grrrrr, you're getting me mad!") + sm.dispose() \ No newline at end of file diff --git a/scripts/quest/q22501s.py b/scripts/quest/q22501s.py new file mode 100755 index 0000000..60374df --- /dev/null +++ b/scripts/quest/q22501s.py @@ -0,0 +1,24 @@ +sm.setSpeakerID(1013000) +sm.sendNext("Yo, master. Now that I've shown you what I can do, it's your turn. Prove to me...that you can find food! I'm starving. You can use my power now, so you have to take care of me.") + +sm.setPlayerAsSpeaker() +sm.sendSay("Eh, I still don't get what's going on, but I can't let a poor little critter like you starve, right? Food, you say? What do you want to eat?") + +sm.setSpeakerID(1013000) +#sm.spawnMob(1210100, -407, 35, False) +#sm.spawnMob(1210100, 28, 35, False) +#sm.spawnMob(1210100, 62, -265, False) +#sm.spawnMob(1210100, -548, -265, False) +#sm.spawnMob(1210100, -676, 35, False) +#sm.spawnMob(1210100, 432, 35, False) +#sm.spawnMob(1210100, -883, 35, False) +#sm.spawnMob(1210100, -770, -265, False) +sm.sendNext("Hi, I was just born a few minutes ago. How would I know what I eat? All I know is that I'm a Dragon... I'm YOUR Dragon. And you're my master. You have to treat me well!") + +if sm.sendAskAccept("I guess we're supposed to learn together. But I'm hungry. Master, I want food. Remember, I'm a baby! I'll start crying soon!"): + if not sm.hasQuest(parentID): + sm.startQuest(parentID) + sm.sendSayOkay("#b#b(#p1013000# the baby Dragon appears to be extremely hungry. You must feed him. Maybe your Dad can give you advice on what dragons eat.)") +else: + sm.sendNext("*gasp* How can you refuse to feed your Dragon? This is child abuse! ") + sm.dispose() \ No newline at end of file diff --git a/scripts/quest/q22502s.py b/scripts/quest/q22502s.py new file mode 100755 index 0000000..868b8b5 --- /dev/null +++ b/scripts/quest/q22502s.py @@ -0,0 +1,9 @@ +sm.setSpeakerID(1013103) +if sm.sendAskAccept("Wouldn't a lizard enjoy a #b#t4032452##k, like a cow? There are a lot of #bHaystacks#k nearby, so try feeding it that."): + if not sm.hasQuest(parentID): + sm.startQuest(parentID) + sm.sendSayImage("UI/tutorial/evan/12/0") + sm.dispose() +else: + sm.sendNext("Hm, you never know unless you try. That lizard is big enough to be on Maple's Believe It Or Not. It might eat hay.") + sm.dispose() \ No newline at end of file diff --git a/scripts/quest/q22503s.py b/scripts/quest/q22503s.py new file mode 100755 index 0000000..4e50178 --- /dev/null +++ b/scripts/quest/q22503s.py @@ -0,0 +1,16 @@ +sm.setSpeakerID(1013000) +sm.sendNext("No, no, no. This isn't what I need. I need something more nutritious, master!") + +sm.setPlayerAsSpeaker() +sm.sendSay("#bHm... So you're not a herbivore. You might be a carnivore. You're a Dragon, after all. How does some #t4032453# sound?") + +sm.setSpeakerID(1013000) +if sm.sendAskAccept("What's a...#t4032453#? Never heard of it, but if it's yummy, I accept! Just feed me something tasty. Anything but plants!"): + if not sm.hasQuest(parentID): + sm.startQuest(parentID) + sm.setPlayerAsSpeaker() + sm.sendSayOkay("#b#bOkay then, let's give #t4032453# to #p1013000#. Get them from a few #o1210100# critters on the farm. I think 3 will do it.") + sm.dispose() +else: + sm.sendNext("How can you starve me like this. I'm just a baby. This is wrong!") + sm.dispose() \ No newline at end of file diff --git a/scripts/quest/q22504s.py b/scripts/quest/q22504s.py new file mode 100755 index 0000000..a75c197 --- /dev/null +++ b/scripts/quest/q22504s.py @@ -0,0 +1,15 @@ +sm.setSpeakerID(1013000) +sm.sendNext("Ugh. This isn't going to work. I need something else. No plants. No meat. What, you have no idea? But you're the master, and you're older than me, too. You must know what'd be good for me!") + +sm.setPlayerAsSpeaker() +sm.sendSay("#bBut I don't. It's not like age has anything to do with this...") + +sm.setSpeakerID(1013000) +if sm.sendAskAccept("Since you're older, you must be more experienced in the world, too. Makes sense that you'd know more than me. Oh, fine. I'll ask someone who's even older than you, master!"): + if not sm.hasQuest(parentID): + sm.startQuest(parentID) + sm.setPlayerAsSpeaker() + sm.sendSayOkay("#b#b(You already asked Dad once, but you don't have any better ideas. Time to ask him again!)") +else: + sm.sendNext("No use trying to find an answer to this on my own. I'd better look for #bsomeone older and wiser than master#k!") + sm.dispose() \ No newline at end of file diff --git a/scripts/quest/q22507s.py b/scripts/quest/q22507s.py new file mode 100755 index 0000000..d70b37d --- /dev/null +++ b/scripts/quest/q22507s.py @@ -0,0 +1,58 @@ +sm.setSpeakerID(1013000) +sm.sendNext("I knew it! I knew we were connected, master! When you get stronger, I get stronger, too. And when I get stronger, you can use my strength! That's our pact. I knew I picked a good master!") + +sm.setPlayerAsSpeaker() +sm.sendSay("#bI see. How did we end up in this pact anyway?") + +sm.setSpeakerID(1013000) +sm.sendSay("I don't know. I was just an egg. I can't really remember...though I faintly recall you, master, walking toward me in a foggy forest. I remember your surprise upon seeing me. And I was calling out to you in return.") + +sm.setPlayerAsSpeaker() +sm.sendSay("#b#b(Wait! That sounds just like that one dream you had... Did the two of you meet in a dream? Is it possible that the giant Dragon you saw in that dream was...#p1013000#?)") + +sm.setSpeakerID(1013000) +sm.sendSay("Master, you and I are one in spirit. I knew it the moment I saw you. That's why I wanted to make the pact with you. No one else. You had to pay the price I set, of course.") + +sm.setPlayerAsSpeaker() +sm.sendSay("#bI paid a price?") + +sm.setSpeakerID(1013000) +sm.sendSay("Don't you remember? When you recognized me and touched me? That was the one condition I set. The moment you touched my egg, you and I became one in spirit.") + +sm.setPlayerAsSpeaker() +sm.sendSay("#bOne in...spirit?") + +sm.setSpeakerID(1013000) +sm.sendSay("Yes! The Spirit Pact! You and I have seperate bodies, but we share one spirit. That's why you get stronger when I get stronger, and vice versa! Awesome, right? At least, I think so.") + +sm.setPlayerAsSpeaker() +sm.sendSay("#bI have no idea what you're talking about, but it sounds like a pretty big deal.") + +sm.setSpeakerID(1013000) +sm.sendSay("Of course it's a big deal, silly master! You never have to worry about monsters again. You have me to protect you now! Go ahead and test me. In fact, let's go right now!") + +sm.setPlayerAsSpeaker() +sm.sendSay("#bBut it's peaceful here. There are no dangerous monsters around.") + +sm.setSpeakerID(1013000) +sm.sendSay("WHAT?! That's no fun! Don't you like adventuring, master? Fighting monsters on behalf of your people, defeating evil, rescuing the innocent, and all that? You're not into that kind of thing?") + +sm.setPlayerAsSpeaker() +sm.sendSay("#bIt's not part of my five year plan. I'm just kidding, but seriously, I'm a farmer's kid...") + +sm.setSpeakerID(1013000) +if sm.sendAskAccept("Bah, well let me tell you this. It's impossible for a Dragon Master to live a peaceful life. I'll have plenty of chances to prove my skills. Trust me, our life will be one big adventure. Promise me that you'll stick with me, okay?\r\n\r\n#fUI/UIWindow2.img/QuestIcon/8/0# 810 exp"): + if not sm.hasQuestCompleted(parentID): + sm.giveExp(810) + sm.startQuest(parentID) + sm.completeQuest(parentID) + sm.removeEscapeButton() + sm.sendNext("Hehehe, alrighty then, master. Let's get to it!") + + sm.setPlayerAsSpeaker() + sm.sendSay("#b(You're a bit confused, but you are now traveling with Mir the Dragon. Perhaps you'll go on an adventure together, like he said.)") + sm.sendSay("#b#b(You still have an errand to run. Your dad needs to talk to you, so go and see him now.)") + sm.dispose() +else: + sm.sendNext("Uh, you're kidding me, right? Tell me your finger slipped! Go ahead and accept the quest.") + sm.dispose() \ No newline at end of file diff --git a/scripts/quest/q22510s.py b/scripts/quest/q22510s.py new file mode 100755 index 0000000..a107421 --- /dev/null +++ b/scripts/quest/q22510s.py @@ -0,0 +1,16 @@ +sm.setSpeakerID(1013103) +selection = sm.sendSay("Hm? What is it, Evan? Are you here to help your old dad? Huh? What do you mean, you defeated the #o1210111#s?! Geez, are you hurt?!\r\n#b#L0#I'm fine, Dad! It was easy.#l") +if (selection == 0): + if sm.sendAskAccept("What a relief. You need to be careful, though. It could've been dangerous... By the way, I've got something for you to do. Can you run an errand for me?"): + if not sm.hasQuest(parentID): + sm.giveItem(4032455) + sm.startQuest(parentID) + sm.removeEscapeButton() + sm.sendNext("Could you tell #b#p1012003##k in #b#m100000000# that I'm not going to be able to deliver the #t4032453# on time? The #o1210111#s have caused so many problems.") + sm.sendSay("I've written everything down in this letter, so all you have to do is take this to him. I'd go myself, but I have to deal with problems here.") + sm.sendSayImage("UI/tutorial/evan/13/0") + else: + sm.sendNext("I guess all that action with the #o1210111#s has worn you out. Why don't you come back and see me after you get some rest.") + sm.dispose() +else: + sm.dispose() \ No newline at end of file diff --git a/scripts/quest/q22703s.py b/scripts/quest/q22703s.py new file mode 100755 index 0000000..10bd3ce --- /dev/null +++ b/scripts/quest/q22703s.py @@ -0,0 +1,16 @@ +# Created by MechAviv +# Kinesis Introduction +# Map ID :: 331001120 +# Hideout :: Training Room 2 +JAY = 1531001 + +sm.setSpeakerID(JAY) +sm.sendNext("Kinesis, I've got a present for you. Thought it would be nice to celebrate your first real upgrade.") + +if sm.sendAskYesNo("Check it out, it's a bag! This will help you carry more stuff without having to resort to a fanny-pack or something."): + # INV grow 1-4 + sm.startQuest(parentID) + sm.completeQuest(parentID) + sm.sendSayOkay("Keep it up, K. Not that you need me to tell you that.") +else: + sm.sendSayOkay("I know you'll change your mind. Let me know when you do.") \ No newline at end of file diff --git a/scripts/quest/q22704s.py b/scripts/quest/q22704s.py new file mode 100755 index 0000000..3c946e2 --- /dev/null +++ b/scripts/quest/q22704s.py @@ -0,0 +1,11 @@ +JAY = 1531001 + +sm.setSpeakerID(JAY) +sm.sendNext("K, buddy, I've prepared something to mark your 2nd upgrade.") +if sm.sendAskYesNo("Did you like that bag I got you last time? I hope so, because I got you another! I told the company the first broke, so they sent me another."): + # inv grow 1- 4 + sm.startQuest(parentID) + sm.completeQuest(parentID) + sm.sendSayOkay("Keep it up, K. Not that you need me to tell you that.") +else: + sm.sendSayOkay("I know you'll change your mind. Let me know when you do.") \ No newline at end of file diff --git a/scripts/quest/q22711s.py b/scripts/quest/q22711s.py new file mode 100755 index 0000000..dd21fc8 --- /dev/null +++ b/scripts/quest/q22711s.py @@ -0,0 +1,18 @@ +# Created by MechAviv +# Kinesis Introduction +# Map ID :: 331001120 +# Hideout :: Training Room 2 +JAY = 1531001 + +sm.startQuest(parentID) +sm.setIntroBoxChat(JAY) +sm.sendNext("#face9# Let me see... got it. Perfect. Now that you've suffered through the boring yet EXTREMELY IMPORTANT part, we can cut you loose. Start with those 5 Training Robot Bs.") + +sm.spawnMob(2700300, 703, -150, False) +sm.spawnMob(2700300, 703, -150, False) +sm.spawnMob(2700300, 85, -179, False) +sm.spawnMob(2700300, 85, -179, False) +sm.spawnMob(2700300, 85, -179, False) +sm.playSound("Sound/SoundEff.img/blackHeaven/metaldrop") +sm.cameraSwitchNormal("pt_VP", 1000) +sm.sendNext("#face9#Pick up anything you want with the Z key. Don't worry, I've got plenty of parts to rebuild these with. When you're done, take the door on the left to come meet me.") diff --git a/scripts/quest/q22712e.py b/scripts/quest/q22712e.py new file mode 100755 index 0000000..368a3b4 --- /dev/null +++ b/scripts/quest/q22712e.py @@ -0,0 +1,43 @@ +# Created by MechAviv +# Kinesis Introduction +# Map ID :: 331001130 +# Hideout :: HQ +from net.swordie.ms.enums import UIType +KINESIS = 1531000 +JAY = 1531001 + +sm.setNpcOverrideBoxChat(JAY) +sm.sendNext("Actually, wait. Let me get a preliminary physical reading right now.") +if (sm.getAP() > 0): + sm.sendSay("#face3#...That's weird. Hey, K. Looks like you have an ability you can improve.") + sm.sendSay("#face2#You can increase your #gbasic abilities#k and #gskill levels#k by leveling up. Don't wait to train if you want to get stronger.") + sm.sendSay("#face2#Since your brain controls all your powers, I would focus on improving your #gINT#k. You'll never be as smart as me, but you can use the Auto-Assign function to do it smartly.") + + sm.setNpcOverrideBoxChat(KINESIS) + sm.sendSay("Very funny, Jay. Sounds like you forgot about the last time I whupped you at chess.\r\n\r\n#b(Use all your AP to increase your stats before speaking to Jay again.)#k") + + sm.progressMessageFont(3, 20, 20, 0, "Level up to increase your stats and skill levels.") + sm.openUI(UIType.UI_STAT) + sm.playExclSoundWithDownBGM("Voice3.img/Kinesis/guide_03", 100) +elif sm.getSP() > 0: + sm.sendSay("#face3#...That's weird. Hey, K. Looks like you have an ability you can improve.") + sm.sendSay("#face3#What are you doing, K?\r\nYou forgot to fix your 1st Job #bSkill Levels#k. Are you finally slipping?") + sm.sendSay("#face2#You know you can assign skills to any hotkey you want, right?") + + sm.setNpcOverrideBoxChat(KINESIS) + sm.sendSay("#face2#I know, I know. Just wanted to make sure you're paying attention. Heh.\r\n\r\n#b(Use all of your SP to increase your Skill Levels and then speak to Jay again.)#k") + + sm.progressMessageFont(3, 20, 20, 0, "Level up to increase your stats and skill levels.") + sm.openUI(UIType.UI_STAT) + sm.openUIWithOption(UIType.UI_SKILL, 142001001) + sm.playExclSoundWithDownBGM("Voice3.img/Kinesis/guide_03", 100) + sm.avatarOriented("UI/tutorial.img/kinesis/5") +#elif sm.getBeginnerSP() > 0: +# sm.sendSay("#face3#Well-l-l-l... You increased your 1st Job stuff, but forgot your #bBeginner Skills#k. Can't ignore the fundamentals, K.") +# sm.openUIWithOption(UIType.UI_SKILL, 140000291) +else: + sm.consumeItem(2000040) + sm.giveExp(600) + sm.completeQuest(parentID) + sm.completeQuest(22715) + sm.sendSayOkay("Geez, you rebounded from your training super fast. I don't understand how you're in such good shape.") \ No newline at end of file diff --git a/scripts/quest/q22712s.py b/scripts/quest/q22712s.py new file mode 100755 index 0000000..9e2d26a --- /dev/null +++ b/scripts/quest/q22712s.py @@ -0,0 +1,21 @@ +# Created by MechAviv +# Kinesis Introduction +# Map ID :: 331001130 +# Hideout :: HQ +JAY = 1531001 + +sm.setNpcOverrideBoxChat(JAY) +sm.sendNext("Data looks good so far. Nicely done.") + +if sm.sendAskYesNo("Okay, that's enough for today. Have a drink and get some rest. We're still not clear on how much stress your powers put on your body."): + sm.startQuest(parentID) + sm.giveItem(2000040) + + sm.setIntroBoxChat(JAY) + sm.sendNext("The drink I gave you went to your inventory. Just like equipping gear, you can double-click that drink to, y'know, drink it. Now, get some rest. I want to check your physical indexes afterwards.") + + sm.progressMessageFont(3, 20, 20, 0, "Collect Psychic Points to unleash your ultimate skill.") + sm.avatarOriented("UI/tutorial.img/kinesis/3") + sm.playExclSoundWithDownBGM("Voice3.img/Kinesis/guide_07", 100) +else: + sm.sendSayOkay("What? I thought you liked this one. If you wanted something else, you should have told me.") \ No newline at end of file diff --git a/scripts/quest/q22714s.py b/scripts/quest/q22714s.py new file mode 100755 index 0000000..c1a95de --- /dev/null +++ b/scripts/quest/q22714s.py @@ -0,0 +1,48 @@ +# Created by MechAviv +# Kinesis Introduction +# Map ID :: 331001130 +# Hideout :: Training Room 3 +KINESIS = 1531000 +JAY = 1531001 + +sm.startQuest(parentID) +sm.lockForIntro() +sm.removeAdditionalEffect() + +sm.setIntroBoxChat(KINESIS) +sm.sendNext("Is that all?") + +sm.setIntroBoxChat(JAY) +sm.sendSay("#face9#No, of course not. Don't get ahead of yourself, K.") +sm.sendSay("#face9#I'm tracking your Psychic Points #g(PP)#k so you'll know when you can use your ultimate. That's what I call that super technique you came up with. Seemed appropriate.") +sm.sendSay("#face9#You'll get Psychic Points just by using psychokinesis abilities. I have to say, you have a very convenient power set, K.") + +sm.progressMessageFont(3, 20, 20, 0, "Collect Psychic Points to unleash your ultimate skill.") +sm.avatarOriented("UI/tutorial.img/kinesis/2") +sm.playExclSoundWithDownBGM("Voice3.img/Kinesis/guide_14", 100) +sm.sendDelay(2500) + +sm.sendNext("#face9#Your ultimate skill should be on your #g[END]#k key, if you haven't moved it. Go ahead and let loose with it... I reinforced the walls after last time.") + +sm.playSound("Sound/SoundEff.img/blackHeaven/metaldrop") +sm.spawnMob(2700300, 200, -238, False) +sm.spawnMob(2700300, 250, -238, False) +sm.spawnMob(2700300, 300, -238, False) +sm.spawnMob(2700300, 350, -238, False) +sm.spawnMob(2700300, 400, -238, False) +sm.spawnMob(2700300, 450, -238, False) +sm.spawnMob(2700300, 500, -238, False) +sm.setFuncKeyByScript(True, 142001002, 79) +sm.cameraSwitchNormal("pt_VP", 1000) +sm.sendDelay(1000) + +sm.sendNext("#face9#Ultimate: Metal Press#g [END]#k will crush everything in its path, including targets high above you.") +sm.unlockForIntro() + +while sm.hasMobsInField(): + sm.waitForMobDeath() +if sm.getQuestEx(22700, "kinetuto2").equals("0"): + sm.setQuestEx(22700, "kinetuto2", "1") + +sm.playSound("Party1/Clear") +sm.showFieldEffect("monsterPark/clear", 0) \ No newline at end of file diff --git a/scripts/quest/q22720e.py b/scripts/quest/q22720e.py new file mode 100755 index 0000000..ccff0e4 --- /dev/null +++ b/scripts/quest/q22720e.py @@ -0,0 +1,41 @@ +# Created by MechAviv +# Kinesis Introduction +# Map ID :: 331002000 +# School for the Gifted :: First Floor Corridor +KINESIS = 1531000 +YUNA = 1531002 + +sm.lockForIntro() +sm.setIntroBoxChat(YUNA) +sm.sendNext("#b#h0##k! You jerk, I've been waiting TWO DAYS for you to get back to me! Have you been fooling with Jay again?") + +sm.setIntroBoxChat(KINESIS) +sm.sendSay("He forgot to tell me until just now, and I came as soon as I could. You know I hate to keep you waiting.") + +sm.setIntroBoxChat(YUNA) +sm.sendSay("#face1#...Like I haven't heard THAT before.") + +sm.setIntroBoxChat(KINESIS) +sm.sendSay("#face2#(Her expression softens. Nice save.)#k") + +sm.setIntroBoxChat(YUNA) +sm.sendSay("Well... You know, this wouldn't happen if you'd just show up for Student Council Meetings. I mean, you ARE the president! Give me the Meeting Minutes.") + +sm.playSound("Sound/SoundEff.img/PvP/80001740_Use") +sm.OnOffLayer_On(500, "0", 800, 0, 12, "Map/Effect2.img/kinesis/chaYuna", 5, 1, -1, 0) +sm.OnOffLayer_Move(300, "0", -800, 0) +sm.sendDelay(5000) + +sm.playSound("Sound/SoundEff.img/12thMS/jump_m") +sm.OnOffLayer_Off(500, "0", 0) +sm.OnOffLayer_Move(300, "0", 800, 0) +sm.sendDelay(1000) + +sm.consumeItem(4034601) +sm.completeQuest(parentID) +sm.giveExp(800) +sm.unlockForIntro() + + + + diff --git a/scripts/quest/q22720s.py b/scripts/quest/q22720s.py new file mode 100755 index 0000000..28da5fe --- /dev/null +++ b/scripts/quest/q22720s.py @@ -0,0 +1,56 @@ +# Created by MechAviv +# Kinesis Introduction +# Map ID :: 331001130 +# Hideout :: HQ +KINESIS = 1531000 +JAY = 1531001 + +sm.lockForIntro() + +sm.setIntroBoxChat(JAY) +sm.sendNext("The system is running smoothly, and all the errors are cleared. I'll compile the data and then we can decide our next move.") + +sm.setIntroBoxChat(KINESIS) +sm.sendSay("You sure you don't need to start upgrading again? I'm going to outpace your system before you know it.") + +sm.setIntroBoxChat(JAY) +sm.sendSay("You keep saying that like you know anything about my rig. Nobody runs a better system than me. You stick to mind crushing and being pretty.") +sm.sendSay("...Which reminds me, are you EVER going to start covering your face when you do the superhero thing? It's the digital age, dude. Even my blender has a 15 megapixel camera.") + +selection = sm.sendNext("Seriously, are you going to cover your face?\r\n#b\r\n#L1#Eh. Too much trouble.#l\r\n#L2#I don't have time to suit up in an emergency.#l\r\n#L3#I'm too handsome, I can't deny the world this face.#l") +# TODO: find script all operations +if selection == 1 or selection == 2 or selection == 3: + sm.sendNext("...I figured you'd say that. You really don't take this serious enough.") + + sm.setIntroBoxChat(KINESIS) + sm.sendSay("Fine. Give me your kitty mask. I was thinking about changing my name to Captain Fuzzums anyway.") + + sm.setIntroBoxChat(JAY) + sm.sendSay("How do you know about Captain... Dude, stop reading my fanfic! In fact, just stay away from all my stuff. No stuff for you!") + + sm.playSound("Sound/SoundEff.img/PvP/80001740_Use") + sm.OnOffLayer_On(500, "0", 800, 0, 12, "Map/Effect2.img/kinesis/chaJay", 5, 1, -1, 0) + sm.OnOffLayer_Move(300, "0", -800, 0) + sm.sendDelay(5000) + + sm.playSound("Sound/SoundEff.img/12thMS/jump_m") + sm.OnOffLayer_Off(500, "0", 0) + sm.OnOffLayer_Move(300, "0", 800, 0) + sm.sendDelay(1000) + + sm.startQuest(parentID) + sm.giveItem(4034601) + sm.sendNext("You're already in trouble with #bYuna#k, you know. She stopped by while you were gone and told me to give you this.") + + sm.setIntroBoxChat(KINESIS) + sm.sendSay("Great, Student Council minutes. The highlight of my day.") + + sm.setIntroBoxChat(JAY) + sm.sendSay("That's what you get for being president, hotshot. Yuna's surely waiting for you at school. I can track her Rage Gauge as you make her wait, if you want.") + sm.sendSay("School is right there, dude. Go out and hang a right. Don't make her any angrier than she already is. It's not cute.") + + sm.setIntroBoxChat(KINESIS) + sm.sendSay("#b(Go outside and find Yuna.)#k") + sm.unlockForIntro() + + diff --git a/scripts/quest/q22721e.py b/scripts/quest/q22721e.py new file mode 100755 index 0000000..5524d8e --- /dev/null +++ b/scripts/quest/q22721e.py @@ -0,0 +1,74 @@ +# Created by MechAviv +# Kinesis Introduction +# Map ID :: 331002000 +# School for the Gifted :: First Floor Corridor +KINESIS = 1531000 +JAY = 1531001 +YUNA = 1531002 + +sm.lockForIntro() +sm.setIntroBoxChat(YUNA) +sm.sendNext("Did you get all of the signatures? Nice.") +sm.sendSay("#face3#Hey, #b#h0##k... Don't you think maybe you've done enough of the hero thing?") +sm.sendSay("#face3#I know helping people is a noble cause, but your duty is to be a student. And on top of that, you're the Student Council President. How do you think we all feel when you ditch us to go levitate trucks and tear up pavement?") + +selection = sm.sendNext("#face3#Well, #b#h0##k?\r\n#b#L1#Yuna, you worry too much. I can help you relax...#l\r\n#L2#Maybe you can tell me more about that last council meeting...#l") + +if selection == 2 or selection == 1:# TODO: sniff selection 1 + sm.setIntroBoxChat(KINESIS) + sm.sendNext("#face2#Is that a new ribbon? It's quite nice. You always look so good, but today you look-") + + sm.setIntroBoxChat(YUNA) + sm.sendSay("#face1#Are you ALWAYS going to change the topic when this comes up?") + sm.sendSay("#face1#Maybe you should save those lines for your little groupies! Especially if you're not going to take this seriously!") + + sm.setIntroBoxChat(KINESIS) + sm.sendSay("Hey. If I wasn't serious, I wouldn't be here. The only girl I'm worried about is the one right in front of me.") + + sm.setIntroBoxChat(YUNA) + sm.sendSay("#face1#Then enough with the lines and answer my question.") + + sm.setIntroBoxChat(KINESIS) + sm.sendSay("#face2#Sure, sure... What was it, again?") + + sm.setIntroBoxChat(YUNA) + sm.sendSay("#face1#YOU. ARE. INFURIATING.") + sm.sendSay("#face2# Look... All I'm saying is, don't go getting yourself killed playing hero. I know you think you've got everything on lockdown, but you can't be prepared for everything...") + + sm.setIntroBoxChat(KINESIS) + sm.sendSay("#face2#Are you worried that I'm going to get hurt? Or are you worried that I'm going to get more fans?") + + sm.setIntroBoxChat(YUNA) + sm.sendSay("#face1#See? SEE? THIS is what I'm talking about! You don't LISTEN!") + + sm.setIntroBoxChat(JAY) + sm.sendSay("#face10##fs12#...You're so bad at this, yet she doesn't dump you. It's incredible.") + + sm.setIntroBoxChat(YUNA) + sm.sendSay("#face1#RRRRGH... Take this and GO. Just GO. I'm the Vice President, I don't deserve this kind of abuse.") + sm.sendSay("#face2##b...I keep feeling so anxious.#k") + + sm.setQuestEx(22700, "q21end", "1") + sm.completeQuest(parentID) + sm.giveExp(1200) + sm.sendDelay(1000) + + sm.setIntroBoxChat(JAY) + sm.sendNext("#face9#K, you're going to regret teasing Yuna so much.") + + sm.setIntroBoxChat(KINESIS) + sm.sendSay("#face2#I can't help it. It's too much fun.") + sm.sendSay("Hey, why aren't you here? You keep talking about wanting some field testing.") + + sm.setIntroBoxChat(JAY) + sm.sendSay("#face9#I'm not a fan of the sun, buddy. Plus, I like giving orders from on high.") + + sm.blind(1, 200, 0, 1300) + sm.sendDelay(1600) + + sm.sayMonologue("#fs20#\r\n\r\n#fEffect/BasicEff.img/QuestAlert/Default/0#\r\nClick the lightbulb on the left side of your screen to check the quests that have arrived remotely.", True) + + sm.blind(0, 0, 0, 1300) + sm.sendDelay(1600) + + sm.unlockForIntro() \ No newline at end of file diff --git a/scripts/quest/q22721s.py b/scripts/quest/q22721s.py new file mode 100755 index 0000000..69dcdb5 --- /dev/null +++ b/scripts/quest/q22721s.py @@ -0,0 +1,45 @@ +# Created by MechAviv +# Kinesis Introduction +# Map ID :: 331002000 +# School for the Gifted :: First Floor Corridor +KINESIS = 1531000 +JAY = 1531001 +YUNA = 1531002 + +sm.setIntroBoxChat(YUNA) +sm.sendNext("#face3##b#h0##k... You know your picture is all over the internet, right? You keep letting yourself get photographed!") + +sm.setIntroBoxChat(KINESIS) +sm.sendSay("Why are you whispering? Speak up.") + +sm.setIntroBoxChat(YUNA) +sm.sendSay("#face4#What if someone hears us? Ooh, we're trying so hard to keep this secret, and you're blowing it! What is your DEAL?") + +sm.setIntroBoxChat(JAY) +sm.sendSay("#face9##fs12#Yeah, she's right! What IS your deal? Heh heh.") + +sm.setIntroBoxChat(KINESIS) +sm.sendSay("Relax. Only the three of us know the truth.") + +sm.setIntroBoxChat(YUNA) +sm.sendSay("For now! But... Ugh, whatever. I need you to do something. I need 100 student signatures for the gymnasium renovation.") + +sm.setIntroBoxChat(KINESIS) +sm.sendSay("#face2#I'm sure our lovely Vice President has already taken care of it?") + +sm.setIntroBoxChat(YUNA) +selection = sm.sendNext("I got 97 signatures. I need YOU to get the remaining 3, #b#h0##k.\r\n#b#L1#I guess I can do that.#l\r\n#L2#Ehh, sounds like too much work.#l") +if selection == 1: + sm.sendNext("Huh. Are you turning over a new leaf? I didn't think you'd agree so easily.") +elif selection == 2: + sm.sendNext("#face3#Sounds like someone wants their position vacated, then.") + +if sm.sendAskYesNo("Get three student signatures. That's it! You can do that, right?"): + sm.sendNext("I'll be waiting here.") + + sm.setIntroBoxChat(KINESIS) + sm.sendSay("#b(You should go find 3 student signatures somewhere in the school.)#k") + + sm.startQuest(parentID) +else: + sm.sendSayOkay("#b#h0##k, I'm staying right here until you get those signatures.") \ No newline at end of file diff --git a/scripts/quest/q22722s.py b/scripts/quest/q22722s.py new file mode 100755 index 0000000..4c4cd42 --- /dev/null +++ b/scripts/quest/q22722s.py @@ -0,0 +1,49 @@ +# Created by MechAviv +# Kinesis Introduction +# Map ID :: 331002000 +# School for the Gifted :: First Floor Corridor + +KINESIS = 1531000 +JIN = 1531061 + +sm.setSpeakerID(JIN) +sm.flipSpeaker() +sm.removeEscapeButton() +sm.sendNext("#b#h0##k, did you see the news? Kinesis rescued a kid.") + +sm.lockForIntro() +sm.sendDelay(1500) + +sm.blind(1, 255, 0, 500) +sm.sendDelay(500) + +sm.OnOffLayer_On(1000, "0", 0, 0, 12, "Map/Effect2.img/kinesis/news1", 4, 0, -1, 0) +sm.sendDelay(1500) + +sm.setIntroBoxChat(KINESIS) +sm.sendNext("#b...Yeah, I like this feeling.#k") + +sm.sendDelay(1500) + +sm.OnOffLayer_Off(1500, "0", 0) +sm.sendDelay(1500) + +sm.blind(1, 255, 0, 0) +sm.sendDelay(1200) + +sm.blind(0, 0, 0, 1000) +sm.sendDelay(1400) + +sm.unlockForIntro() +sm.setSpeakerID(JIN) +sm.flipSpeaker() +sm.removeEscapeButton() +sm.sendNext("What?") + +sm.setPlayerAsSpeaker() +sm.sendSay("Hm? Oh, yeah. Here, I need you to sign this.") + +sm.progressMessageFont(3, 20, 20, 0, "That's one. Two to go.") +sm.startQuest(parentID) +sm.completeQuest(parentID) +sm.giveExp(300) \ No newline at end of file diff --git a/scripts/quest/q22723s.py b/scripts/quest/q22723s.py new file mode 100755 index 0000000..4595415 --- /dev/null +++ b/scripts/quest/q22723s.py @@ -0,0 +1,57 @@ +# Created by MechAviv +# Kinesis Introduction +# Map ID :: 331002000 +# School for the Gifted :: First Floor Corridor + +KINESIS = 1531000 +YOUNG = 1531046 + +sm.setSpeakerID(YOUNG) +sm.flipSpeaker() +sm.removeEscapeButton() +sm.sendNext("Hey there, #b#h0##k! Did you see this picture in the paper? My dumb friend is convinced it's you. We've been arguing all morning.") + +sm.lockForIntro() +sm.sendDelay(1500) + +sm.blind(1, 255, 0, 500) +sm.sendDelay(500) + +sm.OnOffLayer_On(1000, "1", 0, 0, 12, "Map/Effect2.img/kinesis/news2", 4, 0, -1, 0) +sm.sendDelay(1500) + +sm.setIntroBoxChat(KINESIS) +sm.sendNext("#b...Oh yeah, I remember that. Good one.#k") + +sm.sendDelay(1500) + +sm.OnOffLayer_Off(1500, "1", 0) +sm.sendDelay(1500) + +sm.blind(1, 255, 0, 0) +sm.sendDelay(1200) + +sm.blind(0, 0, 0, 1000) +sm.sendDelay(1400) + +sm.unlockForIntro() + +sm.removeEscapeButton() + +sm.setSpeakerID(YOUNG) +sm.flipSpeaker() +sm.sendNext("What?") + +sm.setPlayerAsSpeaker() +sm.sendSay("What? I didn't say anything.") + +sm.setSpeakerID(YOUNG) +sm.flipSpeaker() +sm.sendSay("The really weird part is that they're saying this Kinesis person uses psyro... psino... mind powers to move things.") +sm.sendSay("That's just ridiculous, right? No one can do that, right #b#h0##k?") +sm.sendSay("Think about it. Here, I'll sign that thing for you.") + +sm.progressMessageFont(3, 20, 20, 0, "Two down, one to go.") +sm.startQuest(parentID) +sm.completeQuest(parentID) +sm.giveExp(300) \ No newline at end of file diff --git a/scripts/quest/q22724s.py b/scripts/quest/q22724s.py new file mode 100755 index 0000000..3bfbce3 --- /dev/null +++ b/scripts/quest/q22724s.py @@ -0,0 +1,54 @@ +# Created by MechAviv +# Kinesis Introduction +# Map ID :: 331002000 +# School for the Gifted :: First Floor Corridor + +KINESIS = 1531000 +JOON = 1531047 + +sm.setSpeakerID(JOON) +sm.flipSpeaker() +sm.removeEscapeButton() +sm.sendNext("Oh, hi! Need me to sign something? Sure, anything for the Student Council President.") +sm.sendSay("Hey, I heard Kinesis caught a bank robber. Did you see the news?") + +sm.lockForIntro() +sm.sendDelay(1500) + +sm.blind(1, 255, 0, 500) +sm.sendDelay(500) + +sm.OnOffLayer_On(1000, "2", 0, 0, 12, "Map/Effect2.img/kinesis/news3", 4, 0, -1, 0) +sm.sendDelay(1500) + +sm.setIntroBoxChat(KINESIS) +sm.sendNext("#b...Man, that picture came out great. I'll have to repost that.#k") + +sm.sendDelay(1500) + +sm.OnOffLayer_Off(1500, "2", 0) +sm.sendDelay(1500) + +sm.blind(1, 255, 0, 0) +sm.sendDelay(1200) + +sm.blind(0, 0, 0, 1000) +sm.sendDelay(1400) + +sm.unlockForIntro() + +sm.removeEscapeButton() + +sm.setSpeakerID(JOON) +sm.flipSpeaker() +sm.sendNext("I got the inside story on their true identity, too. You ready for this?") +sm.sendSay("Kinesis is an alien from an exploded planet who crashed on Earth! They were adopted by humans who were killed by a criminal, so they vowed to spend their life fighting crime. While training they got struck by lightning, but then saved by a magic ring from outer space.") +sm.sendSay("I mean, it's really the only logical story once you narrow it down.") + +sm.setPlayerAsSpeaker() +sm.sendSay("...Comic books are destroying society.") + +sm.progressMessageFont(3, 20, 20, 0, "That's all of them. Time to get this list back to Yuna.") +sm.startQuest(parentID) +sm.completeQuest(parentID) +sm.giveExp(300) \ No newline at end of file diff --git a/scripts/quest/q22725e.py b/scripts/quest/q22725e.py new file mode 100755 index 0000000..60ae972 --- /dev/null +++ b/scripts/quest/q22725e.py @@ -0,0 +1,65 @@ +# Created by MechAviv +# Kinesis Introduction +# Map ID :: 331001000 +# Hideout :: HQ +KINESIS = 1531000 +JAY = 1531001 + +sm.setIntroBoxChat(JAY) +sm.sendNext("There you are. Wash your hands before you touch any of my stuff.") + +sm.setIntroBoxChat(KINESIS) +sm.sendSay("Give it a rest, you polish those things like twice a day. Tell me what you found.") + +sm.setIntroBoxChat(JAY) +sm.sendSay("#face3#Ok. This is really cool.") + +sm.lockForIntro() +sm.changeBGM("Bgm43.img/Unknown Part Of City", 0, 0) +sm.blind(1, 200, 0, 1300) +sm.sendDelay(1600) + +sm.setIntroBoxChat(JAY) +sm.sendNext("I've been tracing someone online known only as WM. Their messages have been popping up on message boards all over.") +sm.sendSay("It was always a big block of text, maybe some kind of code. A few cryptos tried to decode it, but most people ignored it.") +sm.sendSay("But then we noticed that the timestamps on the posts lined up with the weird stuff happening in the city. Whenever WM posts, monsters show up.") +sm.sendSay("That kicked off this weird cult following, with people saying WM was a prophet...") + +sm.setIntroBoxChat(KINESIS) +sm.sendSay("Ridiculous. Do people online believe anything?") + +sm.setIntroBoxChat(JAY) +sm.sendSay("HEY. Hey. Some of us are smart enough to recognize the real meaning behind all this.") + +sm.setIntroBoxChat(KINESIS) +sm.sendSay("Does that mean you cracked WM's code, Jay?") + +sm.setIntroBoxChat(JAY) +sm.sendSay("What else? I needed something to keep me awake this morning.") +sm.sendSay("My colleagues couldn't crack it because WM is using a local TV broadcast as part of his hash. The code itself was arranged like packet transfers, so I just set up a comparison array script and ran it against all broadcasts for an hour or so. Simple.") +sm.sendSay("It's almost like WM wanted it decrypted.") + +sm.setIntroBoxChat(KINESIS) +sm.sendSay("Do you think the police know?") + +sm.setIntroBoxChat(JAY) +sm.sendSay("Seriously? The police here probably don't know videos have comment sections. I hacked their database anyway, and there's nothing in their cyber division.") + +sm.setIntroBoxChat(KINESIS) +sm.sendSay("So... what does the code say?") + +sm.setIntroBoxChat(JAY) +sm.sendSay("It describes exactly where and when the monsters will appear. Now, the most recent one says that the next attack... #bwill be at your school#k.") + +sm.setIntroBoxChat(KINESIS) +sm.sendSay("#face4#...Really.") + +sm.setIntroBoxChat(JAY) +sm.sendSay("#face0#That can't be a coincidence, K.") + +sm.blind(0, 0, 0, 1300) +sm.sendDelay(1600) + +sm.completeQuest(parentID) +sm.giveExp(700) +sm.unlockForIntro() \ No newline at end of file diff --git a/scripts/quest/q22725s.py b/scripts/quest/q22725s.py new file mode 100755 index 0000000..30cff96 --- /dev/null +++ b/scripts/quest/q22725s.py @@ -0,0 +1,27 @@ +# Created by MechAviv +# Kinesis Introduction +# Map ID :: 331002000 +# School for the Gifted :: First Floor Corridor +KINESIS = 1531000 +JAY = 1531001 + +sm.setNpcOverrideBoxChat(JAY) +sm.sendNext("#face9#Kinesis, you need to get back here as soon as you can. I've discovered something very interesting.") + +sm.setNpcOverrideBoxChat(KINESIS) +sm.sendSay("What is it? The last time you said that, it was a new torrent site for your Japanese cartoons.") + +sm.setNpcOverrideBoxChat(JAY) +sm.sendSay("#face9#It's called ANIME, you plebeian. And no, this is about the monsters you fought the other day.") + +sm.setNpcOverrideBoxChat(KINESIS) +sm.sendSay("#face4#Talk to me, Jay. What did you find?") + +sm.setNpcOverrideBoxChat(JAY) +sm.sendSay("#face9#Dude, just come back here. I'm trying to be all dramatic.") +sm.sendSay("#face9#And pick up a tub of ice cream on the way. I'm out.") + +sm.setNpcOverrideBoxChat(KINESIS) +sm.sendSay("#b(Return to the Hideout and talk to Jay.)#k") +sm.setQuestEx(22700, "q21end", "0") +sm.startQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q22726s.py b/scripts/quest/q22726s.py new file mode 100755 index 0000000..f414a5a --- /dev/null +++ b/scripts/quest/q22726s.py @@ -0,0 +1,29 @@ +# Created by MechAviv +# Kinesis Introduction +# Map ID :: 331001000 +# Hideout :: HQ +KINESIS = 1531000 +JAY = 1531001 + +sm.setIntroBoxChat(JAY) +sm.sendNext("#face1#My money is on this being a trap. I'd advise against you going.") + +sm.setIntroBoxChat(KINESIS) +sm.sendSay("If I don't go, how am I supposed to stop the big bad dropping monsters on everyone?") + +sm.setIntroBoxChat(JAY) +sm.sendSay("You could always come up with a plan instead of winging it and hoping for the best. What's it going to be?") + +selection = sm.sendNext("All signs point to the school, and soon. Are you going?\r\n#b#L1#Wing it and hope for the best. Time to go back to school.#l\r\n#b#L2#Tell me more of these 'plans'.#l") + +if (selection == 1): + if sm.sendAskYesNo("I don't even know why I ask. You've still got time to get over there and prepare. I'll back you up from here, of course."): + sm.sendNext("I've got the location pinpointed. Looks like a classroom... and it's still occupied.") + + sm.setIntroBoxChat(KINESIS) + sm.sendSay("#b(Go to the school and look for anything weirder than usual.)#k") + sm.setQuestEx(22700, "coNight", "1") + sm.startQuest(parentID) + else: + sm.sendSayOkay("R-really? Oh. Umm... okay. Didn't see that coming. Lemme get my graph paper...") + sm.dispose() \ No newline at end of file diff --git a/scripts/quest/q22728e.py b/scripts/quest/q22728e.py new file mode 100755 index 0000000..dea5c90 --- /dev/null +++ b/scripts/quest/q22728e.py @@ -0,0 +1,13 @@ +# Created by MechAviv +# Kinesis Introduction +KINESIS = 1531000 + +sm.lockForIntro() +sm.setIntroBoxChat(KINESIS) +sm.sendNext("Geez, they just don't quit!") +sm.sendSay("I'm not seeing anything dangerous here. I should move on.") + +sm.blind(1, 255, 0, 500) +sm.sendDelay(500) + +sm.warp(331002500, 0) \ No newline at end of file diff --git a/scripts/quest/q22729e.py b/scripts/quest/q22729e.py new file mode 100755 index 0000000..c1ca805 --- /dev/null +++ b/scripts/quest/q22729e.py @@ -0,0 +1,89 @@ +# Created by MechAviv +# Kinesis Introduction +from net.swordie.ms.enums import TextEffectType + +KINESIS = 1531000 +JAY = 1531001 +NERO = 1531003 + +sm.setIntroBoxChat(JAY) +sm.sendNext("Welcome baWHAT IS THAT.") + +sm.setIntroBoxChat(NERO) +sm.sendSay("#face4#Meow!") + +sm.lockForIntro() +sm.changeBGM("Bgm38.img/LifeIsComedy", 0, 0) +sm.sendDelay(1500) + +sm.setIntroBoxChat(JAY) +sm.sendNext("Y-you brought a CAT in here?! A filthy, disgusting alley cat? It's going to get hair in my cooling fans! Or chew my cables! Or run off with my collector's edition models! Get it OUT of here!") + + +sm.setIntroBoxChat(KINESIS) +sm.sendSay("Aww, have a heart, Jay. Look at these little tiny paws. Nero here would be done for on the street. You want that on your conscience?") + + +sm.setIntroBoxChat(NERO) +sm.sendSay("#face4#Meow! ") + + +sm.setIntroBoxChat(KINESIS) +sm.sendSay("#face2#Here, touch the paws. Touch them.") + + +sm.setIntroBoxChat(JAY) +sm.sendSay("#face5#Dude, get the heck away from me! Ugh... FINE. Do what you want. But if it pees on my servers, it's going through a window.") +sm.sendSay("#face5#Did you at least bring back something on the monsters? You know, the thing I ASKED FOR.") + + +sm.setIntroBoxChat(KINESIS) +sm.sendSay("#face2#Yeah, chill. It's right here.") + + +sm.setIntroBoxChat(JAY) +sm.sendSay("#face6#...Covered in dust and grime, of course. Thanks for wiping it off before bringing it in here.") +sm.sendSay("#face8#You both just... stand over there. Away from me. Good. Let me work.") + + +sm.setIntroBoxChat(KINESIS) +sm.sendSay("#face2#Here Nero, come closer and look.") + + +sm.setIntroBoxChat(JAY) +sm.sendSay("#face7##fs30#KINESIS!") + +sm.blind(1, 255, 0, 500) +sm.sendDelay(500) + +sm.blind(1, 255, 0, 0) +sm.sendDelay(1200) + +sm.blind(0, 0, 0, 1000) +sm.sendDelay(1400) + +sm.createFieldTextEffect("#fn������� ExtraBold##fs18#The next day, at the hideout", 100, 2500, 4, 0, 0, 1, 4, TextEffectType.KinesisIntro, 0, 0) +sm.sendDelay(3000) + +# take 10 Twisted Dust Ball +sm.completeQuest(parentID) +sm.giveExp(750) +sm.unlockForIntro() +sm.setIntroBoxChat(NERO) +sm.sendSay("") + + +sm.setIntroBoxChat(NERO) +sm.sendSay("") + + +sm.setIntroBoxChat(NERO) +sm.sendSay("") + + +sm.setIntroBoxChat(NERO) +sm.sendSay("") + + +sm.setIntroBoxChat(NERO) +sm.sendSay("") \ No newline at end of file diff --git a/scripts/quest/q22729s.py b/scripts/quest/q22729s.py new file mode 100755 index 0000000..6770277 --- /dev/null +++ b/scripts/quest/q22729s.py @@ -0,0 +1,50 @@ +# Created by MechAviv +# Kinesis Introduction +KINESIS = 1531000 +NERO = 1531003 + +sm.setIntroBoxChat(KINESIS) +sm.sendNext("A cat? Here? Hey kitty, this place is dangerous. ") + +sm.setIntroBoxChat(NERO) +sm.sendSay("#face4#Meow.") + +sm.setIntroBoxChat(KINESIS) +sm.sendSay("Geez, you're still a kitten. ") + +sm.setIntroBoxChat(NERO) +sm.sendSay("#face5#Meow! ") + +sm.setIntroBoxChat(KINESIS) +sm.sendSay("What are you so mad about? You're such a small kitty. Did you lose your mommy?") + +sm.setIntroBoxChat(NERO) +sm.sendSay("#face5#MEOW! ") + +sm.setIntroBoxChat(KINESIS) +sm.sendSay("Ha. Yeah, you've got some fight in you. You look lost, want to come with me? ") + +sm.setIntroBoxChat(NERO) +sm.sendSay("#face4#...Meow! ") + + +sm.setIntroBoxChat(KINESIS) +sm.sendSay("Good. Let's call you... Nero! How about Nero? ") + +sm.setIntroBoxChat(NERO) +sm.sendSay("#face4#..") + + +sm.sendSay("#face2#You like that? Of course you do. I came up with it.") + + +sm.sendSay("#face4#Meow... ") + +if sm.sendAskYesNo("#b(Take it with you? )#k"): + sm.sendNext("#b(Hurry back to Jay.)#k") + sm.setQuestEx(22700, "blackCat", "2") + sm.startQuest(parentID) + sm.setPartner(True, 1531003, 80001789, False) +else: + sm.sendSayOkay("#face4#Meow... ") + sm.dispose() \ No newline at end of file diff --git a/scripts/quest/q22730s.py b/scripts/quest/q22730s.py new file mode 100755 index 0000000..6062c80 --- /dev/null +++ b/scripts/quest/q22730s.py @@ -0,0 +1,82 @@ +# Created by MechAviv +# Kinesis Introduction + +KINESIS = 1531000 +JAY = 1531001 +NERO = 1531003 + +sm.setIntroBoxChat(JAY) +sm.sendNext("I analyzed those things you fought yesterday, but I can't figure them out. I want to say they're ghosts, but I mean, that's ridiculous. ") + +sm.setIntroBoxChat(KINESIS) +sm.sendSay("Whatever they are, I can take them. Don't worry about me. ") + +sm.setIntroBoxChat(JAY) +sm.sendNext("That confidence of yours will be your downfall. Also, get that cat away from my gear. It's been eyeing my mouse for the last hour, the mangy thing.") +sm.sendSay("Still, this might be a good time for confidence. I got another one of those codes. ") + +sm.setIntroBoxChat(KINESIS) +sm.sendSay("Good. Point me at them and let me loose.") + + +sm.setIntroBoxChat(JAY) +sm.sendSay("K, hold it. I want to ask you something first.") +sm.sendSay("#face0#I know you're hiding something. I lost the uplink with you for just a moment, but your Psy-Limiter showed a spike.") + +selection = sm.sendNext("#face0#What happened at the school?\r\n#b#L1#(Tell the truth about losing consciousness.)#l\r\n#L2#(Lie.)#l") + +if selection == 2 or selection == 1:# TODO: sniff selection 1 + sm.setIntroBoxChat(KINESIS) + sm.sendNext("No! ...It's nothing. Don't be so worried.") + + sm.setIntroBoxChat(JAY) + sm.sendSay("#face0#Really? You wouldn't keep secrets from your partner, would you? Partner?") + + +sm.lockForIntro() +sm.changeBGM("Bgm00.img/Silence", 0, 0) +sm.playSound("Sound/SoundEff.img/radionoise") +sm.playSound("Sound/Voice3.img/Kinesis/news_01") +sm.progressMessageFont(3, 20, 20, 0, "We have breaking reports of a situation at Seoul's Hannam subway station.") +sm.sendDelay(3500) + +sm.progressMessageFont(3, 20, 20, 0, "An unknown assailant has been attacking people at random in the area. ") +sm.sendDelay(3500) + +sm.progressMessageFont(3, 20, 20, 0, "Citizens are advised to avoid the station.") +sm.sendDelay(2000) + +sm.setIntroBoxChat(KINESIS) +sm.sendNext("#face0##fs30#!!") + +sm.changeBGM("Bgm40.img/SecretMission", 0, 0) +sm.playSound("Sound/Voice3.img/Kinesis/news_02") +sm.progressMessageFont(3, 20, 20, 0, "Again, the authorities are requesting that all citizens stay away") +sm.sendDelay(1500) + +sm.progressMessageFont(3, 20, 20, 0, "from the Hannam station until this matter is resolved. ") +sm.sendDelay(1500) + +sm.playSound("Sound/SoundEff.img/radionoise") +sm.progressMessageFont(3, 20, 20, 0, "Do not leave your homes.") +sm.sendDelay(3000) + +sm.unlockForIntro() + +sm.setIntroBoxChat(JAY) +selection = sm.sendNext("#face1#...Kinesis, this is serious. I don't want you out there.\r\n#b#L1#I have to save those people!#l\r\n#L2#I want to know more about my abilities.#l\r\n#L3#I just want to enjoy this power while I have it.#l") + +if selection == 1 or selection == 2 or selection == 3:# sniff selection 2 and 3 + # increase ambition by 100 + sm.setIntroBoxChat(KINESIS) + sm.sendNext("Didn't you hear? The monsters are attacking innocents now. I have to do something.") + + sm.setIntroBoxChat(JAY) + sm.sendSay("#face0#...Why do I even bother? Get going. I'll be with you on comms.") + + sm.setIntroBoxChat(KINESIS) + sm.sendSay("#b(Hurry to the subway.)#k") + + sm.setQuestEx(22700, "blackCat", "0") + sm.setQuestEx(22700, "coNight", "0") + sm.startQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q22734s.py b/scripts/quest/q22734s.py new file mode 100755 index 0000000..a53b62f --- /dev/null +++ b/scripts/quest/q22734s.py @@ -0,0 +1,5 @@ +# Created by MechAviv +# Kinesis Introduction +sm.warp(331005110, 0) + +sm.lockForIntro() \ No newline at end of file diff --git a/scripts/quest/q22740s.py b/scripts/quest/q22740s.py new file mode 100755 index 0000000..1507e22 --- /dev/null +++ b/scripts/quest/q22740s.py @@ -0,0 +1,143 @@ +# Created by MechAviv +# Kinesis Introduction +# Map ID :: 101020400 +# East Forest :: Magician Association +KINESIS = 1531000 +NERO = 1531003 +NERO_NPC = 1531010 +THREE_MOON = 1531004 + +sm.lockForIntro() +sm.removeAdditionalEffect() +sm.blind(1, 255, 0, 500) +sm.sendDealy(500) + +sm.zoomCamera(0, 2000, 0, -144, 50) + +sm.teleportInField(-253, 19) +sm.forcedFlip(False) +sm.blind(1, 255, 0, 0) +sm.sendDealy(1200) + +sm.blind(0, 0, 0, 1000) +sm.sendDealy(1400) + +sm.setIntroBoxChat(KINESIS) +sm.sendNext("Where am I? Who are you?") + +sm.setIntroBoxChat(THREE_MOON) +sm.sendSay("I am the third child of the moon, hero of another world.") + + +sm.setIntroBoxChat(KINESIS) +sm.sendSay("That... you... what?") + + +sm.setIntroBoxChat(THREE_MOON) +sm.sendSay("Steady yourself. You are yet unharmed.") + + +sm.setIntroBoxChat(KINESIS) +sm.sendSay("#face0##r#fs25#...A talking dog?!") + + +sm.setIntroBoxChat(THREE_MOON) +sm.sendSay("......") + + +sm.setIntroBoxChat(KINESIS) +sm.sendSay("#face2#Oh, wait, wolf. Sorry.") +sm.sendSay("What is this place? I thought I was on the subway. Am I dreaming all this?") + + +sm.setIntroBoxChat(NERO) +sm.sendSay("#face4#Nope! Welcome to Maple World!") + +sm.spawnNpc(NERO_NPC, -45, 0) +sm.showNpcSpecialActionByTemplateId(NERO_NPC, "summon") +sm.moveNpcByTemplateId(NERO_NPC, True, 80, 100) +sm.sendDelay(500) + +sm.setIntroBoxChat(NERO) +sm.sendNext("#face4#Er, it's pretty different from your world. We better get you adjusted quick.") +sm.sendSay("#face4#Here, watch this.") + +sm.sendDealy(500) + +sm.showEffect("Effect/BasicEff.img/pang", 0, -145, 50, 0, 0, True, 0) +sm.playSound("Kite/Crown") +sm.removeNpc(NERO_NPC) + +sm.spawnNpc(NERO, -145, 0) +sm.showNpcSpecialActionByTemplateId(NERO, "summon") +sm.sendDealy(500) + +sm.setIntroBoxChat(NERO) +sm.sendSay("#face0#Did you see that? That was magic.") +sm.sendSay("#face0#Pretty sure you don't have that in your world! Heh.") + + +sm.setIntroBoxChat(KINESIS) +sm.sendNext("So I'm not dreaming...") + + +sm.setIntroBoxChat(NERO) +sm.sendSay("#face0#Again, nope! Lemme officially introduce myself. I am #bNella Medionel Roonia.") +sm.sendSay("#face0#In our ancient tongue, it means half-child of the sacred moonlight. See, I'm from a real big-deal magician family...") + +sm.setIntroBoxChat(KINESIS) +sm.sendSay("#face2##fs20#What on Earth are you talking about, Nero?") + + +sm.setIntroBoxChat(NERO) +sm.sendSay("#face2#Hey hey hey HEY! I'm not Nero!") + +sm.sendDealy(1000) + +sm.playSound("Sound/SoundEff.img/PvP/80001740_Use") +sm.OnOffLayer_On(500, "0", 800, -120, 12, "Map/Effect2.img/kinesis/chaNero", 5, 1, -1, 0) +sm.OnOffLayer_Move(300, "0", -800, 0) +sm.sendDealy(5000) + +sm.playSound("Sound/SoundEff.img/12thMS/jump_m") +sm.OnOffLayer_Off(500, "0", 0) +sm.OnOffLayer_Move(300, "0", 800, 0) +sm.sendDealy(1000) + + +sm.setIntroBoxChat(KINESIS) +sm.sendNext("Cute. Look, Nero, I need to know where I am and how to get back.") + + +sm.setIntroBoxChat(NERO) +sm.sendSay("#face0#HEY. We saved you. So shut your facehole and listen for a minute!") + +sm.sendDealy(500) + +sm.setIntroBoxChat(NERO) +sm.sendNext("#face0#Do you remember what happened with the #bwhite-haired man#k?") +sm.sendSay("#face0#I should have followed you... stopped you, maybe... It was my fault. I thought being near you would allow me to tail you easily. But I wasn't able to keep up.") +sm.sendSay("#face0#Regardless, you're here now. And we need to keep you here.") + + +sm.setIntroBoxChat(KINESIS) +sm.sendSay("Hey, Nero? I have no idea what you're talking about.") + + +sm.setIntroBoxChat(NERO) +sm.sendSay("#face0#Fine, FINE! My teacher, #bGrendel the Really Old#k, is on his way. He's old and smart-looking, so maybe you'll listen to him. Just sit tight.") + +sm.sendDealy(500) + +sm.showFadeTransition(0, 1000, 3000) +sm.zoomCamera(0, 1000, 2147483647, 2147483647, 2147483647) + +sm.moveCamera(True, 0, 0, 0) +sm.sendDealy(300) + +sm.removeOverlapScreen(1000) +sm.removeNpc(NERO) +sm.unlockForIntro() +sm.startQuest(parentID) +sm.completeQuest(parentID) +sm.giveExp(3000) \ No newline at end of file diff --git a/scripts/quest/q22741e.py b/scripts/quest/q22741e.py new file mode 100755 index 0000000..dd8bc3d --- /dev/null +++ b/scripts/quest/q22741e.py @@ -0,0 +1,31 @@ +# Created by MechAviv +# Kinesis Introduction +# Map ID :: 101020400 +# East Forest :: Magician Association +KINESIS = 1531000 +THREE_MOON = 1531004 + +sm.setIntroBoxChat(THREE_MOON) +sm.sendNext("So, our meal has been secured. Was the struggle great?") + + +sm.setIntroBoxChat(KINESIS) +sm.sendSay("Nero, can you translate for me? I'm not following Wolfshirt here at all.") + + +sm.setIntroBoxChat(THREE_MOON) +sm.sendSay("Breaking the shell of an egg is a simple matter. It requires only the use of force in the right place.") +sm.sendSay("But you, you hold a far greater power, contained within its own egg.") +sm.sendSay("You must keep this power contained, lest it break free of its own shell, and shatter the shell of the world itself.") + + +sm.setIntroBoxChat(KINESIS) +sm.sendSay("...What does that even mean?") + + +sm.setIntroBoxChat(THREE_MOON) +sm.sendSay("Perhaps one day, you will know.") + +sm.completeQuest(parentID) +# take 10 Bird Egg +sm.giveExp(5400) \ No newline at end of file diff --git a/scripts/quest/q22741s.py b/scripts/quest/q22741s.py new file mode 100755 index 0000000..ce5d508 --- /dev/null +++ b/scripts/quest/q22741s.py @@ -0,0 +1,34 @@ +# Created by MechAviv +# Kinesis Introduction +# Map ID :: 101020400 +# East Forest :: Magician Association +KINESIS = 1531000 +NERO = 1531003 +THREE_MOON = 1531004 + +sm.setIntroBoxChat(KINESIS) +sm.sendNext("So I'll only get a proper explanation from this Grendel guy, right? Wouldn't it be faster if I went to him? ") + +sm.setIntroBoxChat(THREE_MOON) +sm.sendSay("Waiting is the path to training your soul. I sense you are unhappy doing so.") + +sm.setIntroBoxChat(KINESIS) +sm.sendSay("...? ") + + +sm.setIntroBoxChat(THREE_MOON) +sm.sendSay("The hour of supper approaches, and finds us unprepared. I shall attend to our feast, and hope that you would do the same.") + + +sm.setIntroBoxChat(NERO) +if sm.sendAskYesNo("#face0##ho#, Grendel the Really Old will be here soon. We've got time to gather some #beggs#k, so let's do that. Hunting #bsparrows#k will get you what we need."): + sm.setIntroBoxChat(KINESIS) + sm.sendNext("Hunt? Now that I can do. It'll be nice to see what's around here, too. By all means, lead the way.") + + sm.setIntroBoxChat(NERO) + sm.sendSay("#face1#We can leave to the #bright#k. Boy, I love eggs! Especially if Three Moon is cooking ") + sm.startQuest(parentID) +else: + sm.sendSayOkay("#face0#There's not much to do before Grendel the Really Old gets here. And some eggs would be super nice right now...") + + diff --git a/scripts/quest/q22742e.py b/scripts/quest/q22742e.py new file mode 100755 index 0000000..7edaa74 --- /dev/null +++ b/scripts/quest/q22742e.py @@ -0,0 +1,12 @@ +# Created by MechAviv +# Kinesis Introduction +# Map ID :: 101020400 +# East Forest :: Magician Association +THREE_MOON = 1531004 + +sm.setIntroBoxChat(THREE_MOON) +sm.sendNext("You have done well this day.") + +sm.completeQuest(parentID) +sm.giveExp(5700) +#todo take 15 Firewoods \ No newline at end of file diff --git a/scripts/quest/q22742s.py b/scripts/quest/q22742s.py new file mode 100755 index 0000000..bb3c10c --- /dev/null +++ b/scripts/quest/q22742s.py @@ -0,0 +1,37 @@ +# Created by MechAviv +# Kinesis Introduction +# Map ID :: 101020400 +# East Forest :: Magician Association +KINESIS = 1531000 +NERO = 1531003 +THREE_MOON = 1531004 + +sm.setIntroBoxChat(NERO) +sm.sendNext("#face1#10 eggs! That's alla them. Good job.") + + +sm.setIntroBoxChat(KINESIS) +sm.sendSay("So we done here, Nero?") + + +sm.setIntroBoxChat(NERO) +sm.sendSay("#face2##fs25##rI told you, my name is not Nero!") +sm.sendSay("#face3#...Oh, whatever. Call me what you want. Grendel the Really Old is taking his sweet time, so we should get some firewood for cooking.") + + +sm.setIntroBoxChat(KINESIS) +sm.sendSay("Firewood? You're not asking me to chop wood, are you?") + + +sm.setIntroBoxChat(NERO) +sm.sendSay("#face0#As much as I'd like to see that, no. We're gonna hunt monsters. So, uh, chopping monsters instead of wood!") + +sm.setIntroBoxChat(KINESIS) +sm.sendSay("More fighting? Really? Geez, do you people beat up monsters for everything you need?") + +sm.setIntroBoxChat(NERO) +if sm.sendAskYesNo("#face0#Yup! Go hunt the #bAxe Stumps#k to collect 15 pieces of Firewood.\r\nAnd then take them to #bThree Moon#k."): + sm.sendNext("#face1#Let's head to the right. Oh boy, I can't WAIT to get my face into those eggies! There are plenty of #bAxe Stumps#k at #bWhere the Sun Rises and Where the Forest Sings#k.") + sm.startQuest(parentID) +else: + sm.sendSayOkay("#face2#Rawr! No work, no grub!") \ No newline at end of file diff --git a/scripts/quest/q22743e.py b/scripts/quest/q22743e.py new file mode 100755 index 0000000..3b2166f --- /dev/null +++ b/scripts/quest/q22743e.py @@ -0,0 +1,51 @@ +# Created by MechAviv +# Kinesis Introduction +# Map ID :: 101030000 +# East Forest :: Giant Tree +KINESIS = 1531000 +FANZY = 1040002 +sm.setNpcOverrideBoxChat(FANZY) +sm.sendNext("Meow. Huh? Who are you?") + +sm.setNpcOverrideBoxChat(KINESIS) +sm.sendSay("#face2#Man... I never thought talking cats would be the norm for me.") + +sm.setNpcOverrideBoxChat(FANZY) +sm.sendSay("(Sniff sniff) This smell... You are not #ba human from this world#k!") + +sm.setNpcOverrideBoxChat(KINESIS) +sm.sendSay("#face3#Hey, don't go smelling new people without asking. Now, where is Grendel the Really Old?") + +sm.setNpcOverrideBoxChat(FANZY) +sm.sendSay("Grendel the Really Old... is no more.") + +sm.setNpcOverrideBoxChat(KINESIS) +sm.sendSay("#face4#Wait, what? What happened? How...") + +sm.setNpcOverrideBoxChat(FANZY) +sm.sendSay("Wait, wait, wait! HERE no more. He's not HERE no more. He just returned to the Magician Association!") + +sm.setNpcOverrideBoxChat(KINESIS) +sm.sendSay("#face2#Oh, geez... Don't scare me like that, cat. I guess I just missed him.") + +sm.setNpcOverrideBoxChat(FANZY) +sm.sendSay("Hold up a moment, chief! I need your help. There's a student named #bCootie#k in our association. He wandered off into the woods and never came back. I'm worried about the little squirt...") + +sm.setNpcOverrideBoxChat(KINESIS) +sm.sendSay("#face4#Wait, wait, wait... I'm sorry about Creepy or whatever his name is, but I just need to get back to my world.") + +sm.setNpcOverrideBoxChat(FANZY) +sm.sendSay("Sigh... You're right. I don't know why I thought an outsider would help.") +sm.sendSay("By the way, what is WITH your clothes? I feel embarrassed for you. Here, would you like to use this? Someone left it in a ditch, but it's still an improvement.\r\n\r\n#b#i1082020# #t1082020#") + +sm.giveItem(1082020) +sm.completeQuest(parentID) +sm.giveExp(4100) + +sm.setIntroBoxChat(KINESIS) +sm.sendNext("#face2#Actually, this looks pretty useful. Thanks, I guess.") + +sm.setNpcOverrideBoxChat(FANZY) +sm.sendSay("Hmph, don't mention it. Just hurry on back to wherever you're from.") + +sm.warp(101020400, 0) \ No newline at end of file diff --git a/scripts/quest/q22743s.py b/scripts/quest/q22743s.py new file mode 100755 index 0000000..f31a2cd --- /dev/null +++ b/scripts/quest/q22743s.py @@ -0,0 +1,40 @@ +# Created by MechAviv +# Kinesis Introduction +# Map ID :: 101020400 +# East Forest :: Magician Association +KINESIS = 1531000 +NERO = 1531003 +THREE_MOON = 1531004 + +sm.setIntroBoxChat(THREE_MOON) +sm.sendNext("Our meal has come to be.") + + +sm.setIntroBoxChat(KINESIS) +sm.sendSay("Please tell me that means we can eat it.") + + +sm.setIntroBoxChat(THREE_MOON) +sm.sendSay("Controlling your cravings is yet another key to disciplining your mind. Focus less on your hunger, and more on the power it masks.") + +sm.setIntroBoxChat(NERO) +sm.sendSay("#face1#OMNOMNOMNOM") + + +sm.setIntroBoxChat(KINESIS) +sm.sendSay("#face2#......") + +sm.setIntroBoxChat(THREE_MOON) +sm.sendSay("Grendel the Really Old remains absent. Perhaps you and the child should locate him.") + +sm.setIntroBoxChat(NERO) +sm.sendSay("#face1#OMNOMNOMNOM") + +sm.setIntroBoxChat(THREE_MOON) +sm.sendSay("...Perhaps you should locate him. I fear our youthful friend may be, ah, otherwise occupied.") + +if sm.sendAskYesNo("Make your way to the #bGiant Tree#k and speak with #bFanzy#k. Surely the feline knows of Grendel's whereabouts."): + sm.sendNext("Remember, it is at the #bGiant Tree#k that you will find #bFanzy#k the cat.") + sm.startQuest(parentID) +else: + sm.sendSayOkay("...") \ No newline at end of file diff --git a/scripts/quest/q22744s.py b/scripts/quest/q22744s.py new file mode 100755 index 0000000..300f6a2 --- /dev/null +++ b/scripts/quest/q22744s.py @@ -0,0 +1,103 @@ +# Created by MechAviv +# Kinesis Introduction +# Map ID :: 101020400 +# East Forest :: Magician Association + +selections = ["#L1#What is the Magician Association?#l", "#L2#Why did you bring me here?#l", "#L3#What do you know about my powers?#l", "#L4#Who is the White Mage and what does he want?#l", "#L5#How bad is the damage from the sinkhole?#l", "#L6#Are Yuna and Jay safe?#l", "#L7#I have nothing else to ask about.#l"] +def removeSelText(sel): + for i in range(len(selections)): + label = "#L" + str(sel) + "#" + if label in selections: + selections.remove(selections[i]) + +KINESIS = 1531000 +NERO = 1531003 +THREE_MOON = 1531004 +OLD_MAN = 1531012 + +sm.setIntroBoxChat(OLD_MAN) +sm.sendNext("You must be Kinesis. I am Grendel the Really Old, president of the Magician Association.") + + +sm.setIntroBoxChat(KINESIS) +sm.sendSay("#face2#Oh man, thank goodness. Maybe you can help me get all this straight...") + + +sm.setIntroBoxChat(OLD_MAN) +sm.sendSay("I imagine so. I just came from that enormous sinkhole you were in.") + +sm.setIntroBoxChat(KINESIS) +sm.sendSay("#face0#Wait, what? Sinkhole? So... I wasn't imagining that?") + +sm.setIntroBoxChat(OLD_MAN) +sm.sendSay("Indeed. I will be completely honest with you. The White Mage of your world used your powers to create a sinkhole in your city.") + +sm.setIntroBoxChat(KINESIS) +sm.sendSay("#face0#...!!") + +sm.setIntroBoxChat(OLD_MAN) +sm.sendSay("By the stunned look on your face, I assume you have many questions. I will answer them as best I can.") + + + +while len(selections) != 0: + text = "What else are you curious about?\r\n#b\r\n" + for i in range(len(selections)): + text += selections[i] + "\r\n" + + selection = sm.sendNext(text) + if selection == 1: + sm.setIntroBoxChat(OLD_MAN) + sm.sendNext("Hundreds of years ago, the magicians of Maple World learned a hard lesson when the evil Black Mage ravaged our lands. Knowledge of magic must be shared and preserved if we are to survive the many threats to our world.") + sm.setIntroBoxChat(KINESIS) + sm.sendSay("#b(Black Mage? Sounds even more evil than the White Mage. Wonder if they're related?)") + sm.setIntroBoxChat(OLD_MAN) + sm.sendSay("Therefore, the magicians of Maple World came together to create an organization where their research can be shared with all. That organization is the Magician Association.") + sm.sendSay("I have many apprentices, and the child you call Nero is one of them.") + sm.sendSay("Once we became aware of your world, we sent magicians to keep tabs on it. Nero was chosen to watch over your city.") + sm.setIntroBoxChat(NERO) + sm.sendSay("#face2#Uh, sir? You just called me Nero... ") + removeSelText(selection) + elif selection == 2: + sm.setIntroBoxChat(OLD_MAN) + sm.sendNext("We had no choice. As long as you remained in the sinkhole, it would have continued to grow. We're all lucky we pulled you out when we did.") + sm.sendSay("It took the combined powers of all the Association summoners to get you here, but we managed. The sinkhole ceased its expansion the moment you arrived in Maple World.") + sm.sendSay("Once you can control your powers completely, it will be safe for you to return. Until then, I'm afraid you must stay here. For your safety, and the safety of your friends.") + removeSelText(selection) + elif selection == 3: + sm.setIntroBoxChat(OLD_MAN) + sm.sendNext("In truth, we are just as curious about your powers as you are. Your psychokinesis is extremely rare here, despite how common magic is.") + sm.sendSay("Even stranger is how you could have developed this ability when your world seems to lack even the most basic magic. Strange indeed...") + sm.sendSay("But whatever the case, we know one thing for sure. The White Mage can seize control of your powers, and push them to untold heights.") + sm.sendSay("That part we can help you with. Nero was the one who helped you control yourself after you lost consciousness at the school.") + sm.setIntroBoxChat(NERO) + sm.sendSay("#face0#Hee hee. I specialize in Restraining Magic. You can call me Nella Medionel Roonia, Paragon of Restraint!") + removeSelText(selection) + elif selection == 4: + sm.setIntroBoxChat(OLD_MAN) + sm.sendNext("You will come to learn of this in your travels, but our White Mage is someone who did the unthinkable here in Maple World several hundred years ago.") + sm.sendSay("Your world and Maple World are somehow related. Something that happens here will be mirrored in your world, though a little differently.") + sm.sendSay("If your White Mage is taking such drastic action, you may be facing a threat similar to the one that forever changed Maple World.") + removeSelText(selection) + elif selection == 5: + sm.setIntroBoxChat(OLD_MAN) + sm.sendNext("I think it best not to dwell on that right now. You will see the extent for yourself once you are ready. I will say that the damage will take time to recover from.") + sm.sendSay("However, the laws of physics no longer apply around the sinkhole, making it impossible to address the damage.") + sm.sendSay("Thousands of people are missing, but no details are known. It's too early to jump to any conclusions.") + sm.sendSay("You should train to return to your world swiftly, but please, do not blame yourself. If anything we are to blame, for not stopping the White Mage in time.") + removeSelText(selection) + elif selection == 6: + sm.setIntroBoxChat(OLD_MAN) + sm.sendNext("They are all safe. The sinkhole did not reach your residences.") + sm.sendSay("They are, however, very concerned for your safety.") + elif selection == 7: + sm.setIntroBoxChat(OLD_MAN) + sm.sendNext("I wish that I could send you back immediately, but the risk is simply too great.") + sm.sendSay("Unless you have complete mastery of your powers, the sinkhole will draw from them and continue to expand.") + sm.sendSay("Stay here and train. That is the best thing you can do for yourself right now.") + sm.sendSay("This isn't much, but you should take it. Your shoes won't last long in this world, I think. They don't look appropriate for the sand and mud and rocks.\r\n\r\n#b#i1072019# #t1072019#") + sm.giveItem(1072019) + sm.startQuest(parentID) + sm.completeQuest(parentID) + sm.giveExp(4700) + sm.dispose() \ No newline at end of file diff --git a/scripts/quest/q22745e.py b/scripts/quest/q22745e.py new file mode 100755 index 0000000..bc7fa2e --- /dev/null +++ b/scripts/quest/q22745e.py @@ -0,0 +1,33 @@ +# Created by MechAviv +# Kinesis Introduction +# Map ID :: 101020400 +# East Forest :: Magician Association +KINESIS = 1531000 +THREE_MOON = 1531004 + +sm.setIntroBoxChat(THREE_MOON) +sm.sendNext("I can sense new powers blossoming within you. The first step of the journey is taken.") +sm.sendSay("Let me ask you this, #h0#, now that you have grown.") + +selection = sm.sendNext("What is it that makes one more powerful?\r\n" + + "#b\r\n" + + "#L1#Natural Ability#l\r\n" + + "#L2#Careful Planning#l\r\n" + + "#L3#Hard Work#l") +if selection == 1:#TODO: SNIFF the others + sm.setIntroBoxChat(KINESIS) + sm.sendNext("It has to be natural ability, right? I would never have made it this far without my psychokinesis.") + + sm.setIntroBoxChat(THREE_MOON) + sm.sendSay("Is that truly your belief?") + sm.sendSay("No correct answer exists for this question. What you feel is the correct answer would be your own correct answer.") + sm.sendSay("Your next step is to decide on the path of training, for there are many. We shall meet again when you grow stronger still.") + + sm.setIntroBoxChat(KINESIS) + sm.sendSay("Thanks, wolf dude.") + sm.sendSay("#face2#And sorry I called you a dog when I first met you!") + + sm.setIntroBoxChat(THREE_MOON) + sm.sendSay("......") + sm.completeQuest(parentID) + sm.giveExp(12500) \ No newline at end of file diff --git a/scripts/quest/q22745s.py b/scripts/quest/q22745s.py new file mode 100755 index 0000000..e0d008c --- /dev/null +++ b/scripts/quest/q22745s.py @@ -0,0 +1,25 @@ +# Created by MechAviv +# Kinesis Introduction +# Map ID :: 101020400 +# East Forest :: Magician Association +KINESIS = 1531000 +NERO = 1531003 +THREE_MOON = 1531004 + +sm.setIntroBoxChat(THREE_MOON) +sm.sendNext("The tighter you grasp the water, the faster it will flow through your fingers.") +sm.sendSay("Hold not with your hands what you can hold in a vessel. ") + +sm.setIntroBoxChat(KINESIS) +sm.sendSay("Are you telling me to... get a cup? Are you thirsty?") + +sm.setIntroBoxChat(NERO) +if sm.sendAskYesNo("#face0#He's saying you need to train your body! I'll fill you in on the details! "): + sm.setIntroBoxChat(THREE_MOON) + sm.sendNext("Go. Speak with the one you call Nero.\r\n\r\n#b(Train in this area until you reach level 30.)") + sm.startQuest(parentID) +else: + sm.setIntroBoxChat(THREE_MOON) + sm.sendSayOkay("You will not leave this place without training.") + + diff --git a/scripts/quest/q22746e.py b/scripts/quest/q22746e.py new file mode 100755 index 0000000..d49182c --- /dev/null +++ b/scripts/quest/q22746e.py @@ -0,0 +1,15 @@ +# Created by MechAviv +# Kinesis Introduction +# Map ID :: 101020400 +# East Forest :: Magician Association +KINESIS = 1531000 +NERO = 1531003 +THREE_MOON = 1531004 + +sm.setNpcOverrideBoxChat(NERO) +sm.sendNext("#face1#OH! Good job. Lemme at those Evil Eye tails. I bet Three Moon can make something delicious with these. Hee hee.\r\n\r\n#b#i2010044# #t2010044#") +sm +sm.giveItem(2010044, 30) +sm.completeQuest(parentID) +sm.giveExp(10500) +#Take 10 evil eyes diff --git a/scripts/quest/q22746s.py b/scripts/quest/q22746s.py new file mode 100755 index 0000000..c56d96a --- /dev/null +++ b/scripts/quest/q22746s.py @@ -0,0 +1,27 @@ +# Created by MechAviv +# Kinesis Introduction +# Map ID :: 101020400 +# East Forest :: Magician Association +KINESIS = 1531000 +NERO = 1531003 +THREE_MOON = 1531004 + +sm.setIntroBoxChat(NERO) +sm.sendNext("#face0#Okay, now it's my turn! I'll whip you into shape! Get ready for the hardest training of your LIFE!") +sm.sendSay("#face0#First, hunt #bEvil Eyes#k!") +sm.sendSay("#face1##bEvil Eyes#k might look all weird and creepy, but they're actually SUPER tasty!") + +sm.setIntroBoxChat(KINESIS) +sm.sendSay("Kid, are you sending me to get you lunch? What kind of training is that?") + +sm.setIntroBoxChat(NERO) +sm.sendSay("#face0#NO. And I'm not a kid! I'm your trainer, and this is SERIOUS training! ") + +sm.setIntroBoxChat(NERO) +if sm.sendAskYesNo("#face0#So! Go hunt #b50 Evil Eyes#k and collect #b10 Evil Eye Tails#k. Are you ready?"): + sm.startQuest(parentID) + sm.sendNext("#face0##bWhere Trees Dance#k has lots of #bEvil Eyes#k. Head #bright#k to hunt them. ") +else: + sm.sendSayOkay("#face2#Rawr! If a man will not work, he shall not eat!") + + diff --git a/scripts/quest/q22747e.py b/scripts/quest/q22747e.py new file mode 100755 index 0000000..a5b206b --- /dev/null +++ b/scripts/quest/q22747e.py @@ -0,0 +1,12 @@ +# Created by MechAviv +# Kinesis Introduction +# Map ID :: 101020400 +# East Forest :: Magician Association +KINESIS = 1531000 +NERO = 1531003 +THREE_MOON = 1531004 + +sm.setNpcOverrideBoxChat(NERO) +sm.sendNext("#face1#Good job! See, you're getting faster every time.") +sm.completeQuest(parentID) +sm.giveExp(11500) diff --git a/scripts/quest/q22747s.py b/scripts/quest/q22747s.py new file mode 100755 index 0000000..8710b1a --- /dev/null +++ b/scripts/quest/q22747s.py @@ -0,0 +1,28 @@ +# Created by MechAviv +# Kinesis Introduction +# Map ID :: 101020400 +# East Forest :: Magician Association +KINESIS = 1531000 +NERO = 1531003 +THREE_MOON = 1531004 + +sm.setNpcOverrideBoxChat(NERO) +sm.sendNext("#face0#Now it's time to hunt #bCurse Eyes#k! ") + +sm.setNpcOverrideBoxChat(KINESIS) +sm.sendSay("And I suppose you want #bCurse Eye#k tails too? ") + +sm.setNpcOverrideBoxChat(NERO) +sm.sendSay("#face0#What? No! No way, ick! Curse Eyes are sour and salty. Just whack a bunch of them. ") + +sm.setNpcOverrideBoxChat(KINESIS) +sm.sendSay("Ah-HA! So I AM grocery shopping for you!") + +sm.setNpcOverrideBoxChat(NERO) +if sm.sendAskYesNo("#face1#Don't get smart with me! This is SERIOUS training for SERIOUS people! So get SERIOUS and hunt down #b50#k #bCurse Eyes#k. SERIOUSLY!"): + sm.startQuest(parentID) + sm.sendNext("#face0#Curse Eyes are found #bWhere the Soil Sleeps#k.") +else: + sm.sendSayOkay("#face2#You really need to train more, like right now! Think this through!") + + diff --git a/scripts/quest/q22748e.py b/scripts/quest/q22748e.py new file mode 100755 index 0000000..9d77a58 --- /dev/null +++ b/scripts/quest/q22748e.py @@ -0,0 +1,16 @@ +# Created by MechAviv +# Kinesis Introduction +# Map ID :: 101020400 +# East Forest :: Magician Association +KINESIS = 1531000 +NERO = 1531003 +THREE_MOON = 1531004 + +sm.setNpcOverrideBoxChat(NERO) +sm.sendNext("#face1#Do you have them all? Gimme, gimme.") +sm.sendSay("#face1#Woo! Cold Eye tails! Three Moon will make some awesome soup from this.\r\n\r\n#b#i2010045# #t2010045#") +sm.giveItem(2010045, 10) +sm.completeQuest(parentID) +sm.giveExp(12500) +#take 10 cold eye tails +sm.sendSayOkay("#face0#You're getting there, Kinesis. Once you get to #bLevel 30#k I can send you back to Three Moon.") \ No newline at end of file diff --git a/scripts/quest/q22748s.py b/scripts/quest/q22748s.py new file mode 100755 index 0000000..684537d --- /dev/null +++ b/scripts/quest/q22748s.py @@ -0,0 +1,25 @@ +# Created by MechAviv +# Kinesis Introduction +# Map ID :: 101020400 +# East Forest :: Magician Association +KINESIS = 1531000 +NERO = 1531003 +THREE_MOON = 1531004 + +sm.setNpcOverrideBoxChat(NERO) +sm.sendNext("#face0#Okay, I've got one more for you. You're going after #bCold Eyes#k this time! Hunt #b50 Cold Eyes#k and bring back #b10#k tails.") + +sm.setNpcOverrideBoxChat(KINESIS) +sm.sendSay("#face2#I guess #bCold Eye#k tails are pretty good, then?") + +sm.setNpcOverrideBoxChat(NERO) +sm.sendSay("#face0#Not really. #bCold Eye#k tail is more like comfort food. A bit bitter, but in a refreshing way. A lot of us ate Cold Eye Noodle Soup when we were little!") + +sm.setNpcOverrideBoxChat(NERO) +if sm.sendAskYesNo("#face0#That's beside the point, though. Go hunt down #b50#k #bCold Eyes#k. "): + sm.startQuest(parentID) + sm.sendNext("#face0#Go to #bWhere the Sky Smiles#k to find the Cold Eyes. ") +else: + sm.sendSayOkay("#face2#You really need to train more, like right now! Think this through!") + + diff --git a/scripts/quest/q22749s.py b/scripts/quest/q22749s.py new file mode 100755 index 0000000..2e615ce --- /dev/null +++ b/scripts/quest/q22749s.py @@ -0,0 +1,33 @@ +# Created by MechAviv +# Kinesis Introduction +# Map ID :: 101020400 +# East Forest :: Magician Association +NERO = 1531003 +OLD_MAN = 1531012 +sm.setIntroBoxChat(OLD_MAN) +sm.sendNext("Did Three Moon give you his approval yet?") +sm.sendSay("Looks like you have much better control over your powers now. I think it is safe for you to return to the #bsinkhole#k now.") +sm.lockForIntro() +sm.removeAdditionalEffect() +sm.sendNext("I will open a doorway back for you. This is different from the #bsinkhole#k, and is far #bsafer#k.") + +sm.sendDelay(500) +sm.startQuest(22751) +sm.completeQuest(22751) +sm.sendDelay(500) + +sm.unlockForIntro() +sm.sendNext("Our Magician Association will continue to watch the #bWhite Mage#k and the #bsinkhole#k from Maple World. #bNero#k will be our point of contact.") + +sm.setIntroBoxChat(NERO) +sm.sendSay("#face2#So my name is going to be just Nero from now on?") + +sm.setIntroBoxChat(OLD_MAN) +sm.sendSay("I am needed elsewhere. Before I go, let me teach you how to move between worlds yourself. I think this knowledge will serve us all well.\r\n#b(You can now teleport to your hideout when you use your return skill.)#k") +sm.sendSay("And take this, to commemorate your visit to a new world.\r\n\r\n#b#i3015244# #t3015244#") + +sm.giveItem(3015244) +sm.giveSkill(140001290, 1, 1) +sm.startQuest(parentID) +sm.completeQuest(parentID) +sm.giveExp(5500) \ No newline at end of file diff --git a/scripts/quest/q22750s.py b/scripts/quest/q22750s.py new file mode 100755 index 0000000..7946a3a --- /dev/null +++ b/scripts/quest/q22750s.py @@ -0,0 +1,101 @@ +KINESIS = 1531000 +JAY = 1531000 +YUNA = 1531002 +NERO = 1531003 + +sm.lockForIntro() +sm.removeAdditionalEffect() +sm.blind(1, 255, 0, 0) + +sm.spawnNpc(YUNA, 760, -272) +sm.showNpcSpecialActionByTemplateId(YUNA, "summon") + +sm.spawnNpc(NERO, 600, -272) +sm.showNpcSpecialActionByTemplateId(NERO, "summon") + +sm.teleportInField(647, -272) +sm.forcedFlip(False) +sm.zoomCamera(0, 2000, 0, 700, -200) + +sm.blind(1, 255, 0, 0) +sm.sendDelay(1200) + +sm.blind(0, 0, 0, 1000) +sm.sendDelay(1400) + +sm.setIntroBoxChat(KINESIS) +sm.sendNext("Did you cry, Yuna?") + +sm.showNpcSpecialActionByTemplateId(YUNA, "angry", -1) +sm.setIntroBoxChat(YUNA) +sm.sendSay("#face0#No, you dummy! I didn't cry.") + +sm.stopNpcSpecialActionByTemplateId(YUNA) +sm.setIntroBoxChat(KINESIS) +sm.sendSay("#face2#You can hug me if you like. We can make it a touching reunion.") + +sm.setIntroBoxChat(YUNA) +sm.sendSay("#face0#You jerk! You have no idea...") +sm.sendSay("#face4#Ahh, nevermind. So... What's with the clothes? You look like a wizard from some video game.") + +sm.setIntroBoxChat(KINESIS) +sm.sendSay("#face3#It's a long story. What do you think? I can pull it off, right?") + +sm.sendDelay(500) +sm.zoomCamera(500, 2000, 500, 800, -200) +sm.sendDelay(sm.getAnswerVal()) + + +sm.setIntroBoxChat(JAY) +sm.sendSay("I knew you'd be fine. ") + +sm.setIntroBoxChat(KINESIS) +sm.sendSay("Wow, Jay. Can't even pretend to be happy to see me?") + +sm.setIntroBoxChat(JAY) +sm.sendSay("#face2#I mean, I knew something was up because your signal kept coming from the sinkhole, but your vitals were all over the place. Strange, but I'm used to that with you. So, what happened? And who's the kid?") + +sm.setIntroBoxChat(YUNA) +sm.sendSay("#face1#Oh yeah, who IS that kid?") + +sm.setIntroBoxChat(KINESIS) +sm.sendSay("Jay, you're a sharp cookie. I bet you already figured out what happened to me. As for the kid, this is Nero the cat.") + +sm.setIntroBoxChat(NERO) +sm.sendSay("#face0#Ahem! I am #bNella Medionel Roonia#k. In our ancient tongue, it means half-child of the sacred moonlight. See, I'm from a real big-deal magician family...") + +sm.setIntroBoxChat(KINESIS) +sm.sendSay("You can call her Nero.") + +sm.setIntroBoxChat(NERO) +sm.sendSay("#face2#Mrrrow!") + +sm.setIntroBoxChat(JAY) +sm.sendSay(" #face1#Oo-kaaay...") + +sm.setIntroBoxChat(YUNA) +sm.sendSay(" #face4#Wait, so... that kid is the black cat? The black cat is this kid?") + +sm.setIntroBoxChat(NERO) +sm.sendSay(" #face2#Correct! ") + +sm.setIntroBoxChat(YUNA) +sm.sendSay(" #face4#") + +sm.setIntroBoxChat(JAY) +sm.sendSay(" #face6#") + +sm.setIntroBoxChat(KINESIS) +sm.sendSay(" #face2#Okay, so... There's a lot to go over, so let's continue this over some food. Preferably something that's not Cold Eye Tail Spicy Soup.") + +sm.zoomCamera(0, 1000, 2147483647, 2147483647, 2147483647) +sm.moveCamera(True, 0, 0, 0) +sm.sendDelay(300) + +sm.removeOverlapScreen(1000) +sm.unlockForIntro() +sm.startQuest(parentID) +sm.completeQuest(parentID) +sm.giveExp(3000) +sm.removeNpc(YUNA) +sm.removeNpc(NERO) \ No newline at end of file diff --git a/scripts/quest/q22770s.py b/scripts/quest/q22770s.py new file mode 100755 index 0000000..023ef40 --- /dev/null +++ b/scripts/quest/q22770s.py @@ -0,0 +1,17 @@ +JAY = 1531001 + +sm.setSpeakerID(JAY) +sm.sendNext("I knew you could handle that, K.") +sm.sendSay("By the way, you look like garbage. It's a new look for you.") +sm.sendSay("I bet your power level rose since I saw you last. I can't WAIT to chart you.") + +if sm.sendAskYesNo("You wanna go ahead and update your data? Say yes.\r\n\r\n#b(Accept for 2nd Job Advancement.)#k\r\n\r\n#b#i1142864# #t1142864#\r\n#b#i1353201# #t1353201#"): + sm.giveItem(1353201) + sm.giveItem(1142864) + sm.setJob(14210) + sm.addSP(4, True) + sm.completeQuest(parentID) + sm.giveExp(8000) + sm.sendSayOkay("Boom. Upgrade complete. Why not try out the goods?") +else: + sm.sendSayOkay("Fine, I'll be here all day. My guild is raiding tonight.") \ No newline at end of file diff --git a/scripts/quest/q22780e.py b/scripts/quest/q22780e.py new file mode 100755 index 0000000..05996d8 --- /dev/null +++ b/scripts/quest/q22780e.py @@ -0,0 +1,22 @@ +# Created by MechAviv +# Kinesis Introduction +# Map ID :: 101020400 +# East Forest :: Magician Association +KINESIS = 1531000 +NERO = 1531003 +THREE_MOON = 1531004 + +sm.setIntroBoxChat(THREE_MOON) +sm.sendNext("#bYour missing people#k, hmm?") + + +sm.setIntroBoxChat(NERO) +sm.sendSay("#face0#Whatcha think? Can we find them?") + + +sm.setIntroBoxChat(THREE_MOON) +sm.sendSay("Locations with the greatest mana disruptions should yield what you seek.") +sm.sendSay("Allow me to review the reports I have received...") + +sm.completeQuest(parentID) +sm.giveExp(1200) \ No newline at end of file diff --git a/scripts/quest/q22780s.py b/scripts/quest/q22780s.py new file mode 100755 index 0000000..66e7bdb --- /dev/null +++ b/scripts/quest/q22780s.py @@ -0,0 +1,42 @@ +KINESIS = 1531000 +JAY = 1531001 +YUNA = 1531002 +NERO = 1531003 + +sm.setIntroBoxChat(JAY) +sm.sendNext("Okay, now that you're all settled, take a look at this.") +sm.sendSay("This is the #bsinkhole#k that appeared on the day you disappeared. It hasn't really grown much since that first day.") +sm.sendSay("But the hole itself is not the problem. The problem is what's inside. ") +sm.sendSay("Things are occurring that #bcannot be explained with the current laws of physics#k. And it's impossible to get any closer to investigate. It's almost like it's a black hole. ") + +sm.setIntroBoxChat(KINESIS) +sm.sendSay("What about all the people? They couldn't just vanish... right?") + +sm.setIntroBoxChat(JAY) +sm.sendSay("Thousands of people went missing when the sinkhole appeared. But since we can't get any closer, we have no idea what's happened to them. We have them currently listed as #bmissing#k. ") +sm.sendSay("Considering what we know now, though, it's entirely possible those people are fine, #bjust transported to the other world. ") + +sm.setIntroBoxChat(KINESIS) +sm.sendSay("#face4#Not bad, Jay. I guess you weren't sitting around and netsurfing while I was away.") + +sm.setIntroBoxChat(JAY) +sm.sendSay("#face2#To be fair, I have a LOT of time in my day.") + +sm.setIntroBoxChat(KINESIS) +sm.sendSay("So, the missing people should be alive somewhere in Maple World? ") + +sm.setIntroBoxChat(JAY) +sm.sendSay("#face2#It's a reasonable theory, yes.") + +sm.setIntroBoxChat(KINESIS) +sm.sendSay("#face4#Then I have to go save them. Simple as that.") + +sm.setIntroBoxChat(YUNA) +sm.sendSay("#face2#W-what? You just returned, and you want to go back?") + +sm.setIntroBoxChat(NERO) +if sm.sendAskYesNo("#face0#Ooh, I bet Three Moon can help you! Let's go see Three Moon."): + sm.sendNext("#face0#Take the door on the floor below.") + sm.startQuest(parentID) +else: + sm.sendSayOkay("#face0#What, you got something more urgent?") \ No newline at end of file diff --git a/scripts/quest/q22781s.py b/scripts/quest/q22781s.py new file mode 100755 index 0000000..8e9894c --- /dev/null +++ b/scripts/quest/q22781s.py @@ -0,0 +1,28 @@ +# Created by MechAviv +# Kinesis Introduction +# Map ID :: 101020400 +# East Forest :: Magician Association +KINESIS = 1531000 +NERO = 1531003 +THREE_MOON = 1531004 + +sm.setIntroBoxChat(THREE_MOON) +sm.sendNext("#Indeed, it is as you say. Persons from your world have been scattered throughout. ") + +sm.setIntroBoxChat(KINESIS) +sm.sendSay("Well, don't hold back. Where should I start looking?") + +sm.setIntroBoxChat(THREE_MOON) +sm.sendSay("#bEllinel Fairy Academy#k. ") + +sm.setIntroBoxChat(NERO) +sm.sendSay("#face0##bEllinel#k? I heard something weird was going on there. #bFanzy#k asked me to help, but with Kinesis on the case, I don't have to worry! ") + +sm.setIntroBoxChat(THREE_MOON) +sm.sendSay("#bEllinel#k has always been off-limits to outsiders. You should exercise caution. ") + +if sm.sendAskYesNo("Accept this #bReturn Scroll#k. Use it at a time wherein you wish to return. With that done, I may now send you to where you need to be.\r\n#b(You will be moved to Fanzy's location if you accept.)#k"): + sm.giveItem(2030055, 5) + sm.createQuestWithQRValue(32147, "1") + sm.startQuest(parentID) + sm.warp(101030000, 1) \ No newline at end of file diff --git a/scripts/quest/q23011e.py b/scripts/quest/q23011e.py new file mode 100755 index 0000000..a5be37a --- /dev/null +++ b/scripts/quest/q23011e.py @@ -0,0 +1,15 @@ +# 23011 - Battle mage 1st job advancement quest + +sm.setSpeakerID(2151001) +if not sm.canHold(1382000): + sm.sendSayOkay("Please make some space in your equipment invetory.") + sm.dispose() + +if sm.sendAskYesNo("Would you like to become a Battle Mage?"): + sm.completeQuest(parentID) + sm.jobAdvance(3200) + sm.resetAP(False, 3200) + sm.giveItem(1382000, 1) + sm.sendSayOkay("Congratulations, you are now a battle mage! I have given you some SP and items to start out with, enjoy!") +else: + sm.sendSayOkay("Of course, you need more time.") diff --git a/scripts/quest/q23012e.py b/scripts/quest/q23012e.py new file mode 100755 index 0000000..18ecc79 --- /dev/null +++ b/scripts/quest/q23012e.py @@ -0,0 +1,19 @@ +# 23012 - Wild Hunter 1st job advancement quest + +XBOW_ID = 1462092 + +sm.setSpeakerID(2151002) # Belle +if sm.sendAskYesNo("Would you like to become a Wild Hunter?"): + if not sm.canHold(XBOW_ID) or not sm.canHold(2061000): + sm.sendSayOkay("Please make some space in your Equipment or Use Inventory.") + sm.dispose() + sm.completeQuest(23012) + sm.jobAdvance(3300) + sm.resetAP(False, 3300) + sm.giveItem(XBOW_ID, 1) + sm.giveSkill(30001061) # Capture + sm.giveSkill(30001062) # Call of the Hunter + sm.giveItem(2061000, 2000) + sm.sendSayOkay("Congratulations, you are now a Wild Hunter! I have given you some SP and items to start out with, enjoy!") +else: + sm.sendSayOkay("Come back when you're ready.") diff --git a/scripts/quest/q23013e.py b/scripts/quest/q23013e.py new file mode 100755 index 0000000..a3eb6dc --- /dev/null +++ b/scripts/quest/q23013e.py @@ -0,0 +1,15 @@ +# 23013 - Mechanic 1st job advancement quest + +sm.setSpeakerID(2151004) # Checky +if sm.sendAskYesNo("Would you like to become a Mechanic?"): + if not sm.canHold(1492000) or not sm.canHold(2330000): + sm.sendSayOkay("Please make some space in your Equipment or Use Inventory.") + sm.dispose() + sm.completeQuest(parentID) + sm.jobAdvance(3500) + sm.resetAP(False, 3500) + sm.giveItem(1492000) + sm.giveItem(2330000, 1600) + sm.sendSayOkay("Congratulations, you are now a Mechanic! I have given you some SP and items to start out with, enjoy!") +else: + sm.sendSayOkay("Come back when you're ready.") diff --git a/scripts/quest/q23023e.py b/scripts/quest/q23023e.py new file mode 100755 index 0000000..e073039 --- /dev/null +++ b/scripts/quest/q23023e.py @@ -0,0 +1,10 @@ +# 23023 - 2nd job advancement Battle Mage + +sm.setSpeakerID(2151001) +if sm.sendAskYesNo("Are you ready to advance to the next level?"): + sm.completeQuest(parentID) + sm.jobAdvance(3210) + sm.consumeItem(4032737) + sm.sendSayOkay("Good job on finding the report. I've molded you into the next level of being a Battle Mage.") +else: + sm.sendSayOkay("Come back when you're ready.") diff --git a/scripts/quest/q23024e.py b/scripts/quest/q23024e.py new file mode 100755 index 0000000..faff31e --- /dev/null +++ b/scripts/quest/q23024e.py @@ -0,0 +1,9 @@ +# 23012 - Wild Hunter 2nd job advancement quest + +sm.setSpeakerID(2151002) # Belle +if sm.sendAskYesNo("Would you like to advance to the next level?"): + sm.completeQuest(parentID) + sm.jobAdvance(3310) + sm.sendSayOkay("Congratulations, you are now at the next level! I have given you some SP, enjoy!") +else: + sm.sendSayOkay("Come back when you're ready.") diff --git a/scripts/quest/q23025e.py b/scripts/quest/q23025e.py new file mode 100755 index 0000000..909685d --- /dev/null +++ b/scripts/quest/q23025e.py @@ -0,0 +1,9 @@ +# 23012 - Mechanic 2nd job advancement quest + +sm.setSpeakerID(2151004) # Checky +if sm.sendAskYesNo("Would you like to advance to the next level?"): + sm.completeQuest(parentID) + sm.jobAdvance(3510) + sm.sendSayOkay("Congratulations, you are now at the next level! I have given you some SP, enjoy!") +else: + sm.sendSayOkay("Come back when you're ready.") diff --git a/scripts/quest/q23033e.py b/scripts/quest/q23033e.py new file mode 100755 index 0000000..2c83194 --- /dev/null +++ b/scripts/quest/q23033e.py @@ -0,0 +1,9 @@ +# 23033 - BaM 3rd job advancement + +sm.setSpeakerID(2151001) +if sm.sendAskYesNo("Are you ready to advance to the next level?"): + sm.jobAdvance(3211) + sm.completeQuest(parentID) + sm.sendSayOkay("Good job on defeating the conductor device. You have advanced a job level, and I have given you some SP.") +else: + sm.sendSayOkay("Come back when you're ready.") diff --git a/scripts/quest/q23034e.py b/scripts/quest/q23034e.py new file mode 100755 index 0000000..e2cb745 --- /dev/null +++ b/scripts/quest/q23034e.py @@ -0,0 +1,9 @@ +# 23012 - Wild Hunter 3rd job advancement quest + +sm.setSpeakerID(2151002) # Belle +if sm.sendAskYesNo("Would you like to advance to the next level?"): + sm.completeQuest(parentID) + sm.jobAdvance(3311) + sm.sendSayOkay("Congratulations, you are now at the next level! I have given you some SP, enjoy!") +else: + sm.sendSayOkay("Come back when you're ready.") diff --git a/scripts/quest/q23035e.py b/scripts/quest/q23035e.py new file mode 100755 index 0000000..ce363d5 --- /dev/null +++ b/scripts/quest/q23035e.py @@ -0,0 +1,9 @@ +# 23012 - Mechanic 3rd job advancement quest + +sm.setSpeakerID(2151004) # Belle +if sm.sendAskYesNo("Would you like to advance to the next level?"): + sm.completeQuest(parentID) + sm.jobAdvance(3511) + sm.sendSayOkay("Congratulations, you are now at the next level! I have given you some SP, enjoy!") +else: + sm.sendSayOkay("Come back when you're ready.") diff --git a/scripts/quest/q23049e.py b/scripts/quest/q23049e.py new file mode 100755 index 0000000..b47acc8 --- /dev/null +++ b/scripts/quest/q23049e.py @@ -0,0 +1,12 @@ +# 23049 - BaM 4th job advancement + +BRISTON = 2159110 +GELIMERS_KEY_CARD = 4032743 +SECRET_PLAZA = 310010000 + +sm.setSpeakerID(BRISTON) +sm.sendNext("Did you destroy the Black Wings' new weapon? Nice work. I'm proud to have you in the Resistance.") +if sm.sendAskYesNo("But it's too early to celebrate. #p2154009# will show up with his goons when he hears the news. Let's get out of here via the Underground Base Hideout Return Scroll. On my count. One... two... three!"): + sm.completeQuest(parentID) + sm.consumeItem(GELIMERS_KEY_CARD) + sm.warpInstanceOut(SECRET_PLAZA, 0) diff --git a/scripts/quest/q23050e.py b/scripts/quest/q23050e.py new file mode 100755 index 0000000..2c4a1b6 --- /dev/null +++ b/scripts/quest/q23050e.py @@ -0,0 +1,12 @@ +# 23049 - WH 4th job advancement + +BELLE = 2159111 +GELIMERS_KEY_CARD = 4032743 +SECRET_PLAZA = 310010000 + +sm.setSpeakerID(BELLE) +sm.sendNext("Did you destroy the Black Wings' new weapon? Nice work. I'm proud to have you in the Resistance.") +if sm.sendAskYesNo("But it's too early to celebrate. #p2154009# will show up with his goons when he hears the news. Let's get out of here via the Underground Base Hideout Return Scroll. On my count. One... two... three!"): + sm.completeQuest(parentID) + sm.consumeItem(GELIMERS_KEY_CARD) + sm.warpInstanceOut(SECRET_PLAZA, 0) diff --git a/scripts/quest/q23051e.py b/scripts/quest/q23051e.py new file mode 100755 index 0000000..9753385 --- /dev/null +++ b/scripts/quest/q23051e.py @@ -0,0 +1,12 @@ +# 23049 - Mechanic 4th job advancement + +CHECKY = 2159112 +GELIMERS_KEY_CARD = 4032743 +SECRET_PLAZA = 310010000 + +sm.setSpeakerID(CHECKY) +sm.sendNext("Did you destroy the Black Wings' new weapon? Nice work. I'm proud to have you in the Resistance.") +if sm.sendAskYesNo("But it's too early to celebrate. #p2154009# will show up with his goons when he hears the news. Let's get out of here via the Underground Base Hideout Return Scroll. On my count. One... two... three!"): + sm.completeQuest(parentID) + sm.consumeItem(GELIMERS_KEY_CARD) + sm.warpInstanceOut(SECRET_PLAZA, 0) diff --git a/scripts/quest/q23052s.py b/scripts/quest/q23052s.py new file mode 100755 index 0000000..8fbfdc7 --- /dev/null +++ b/scripts/quest/q23052s.py @@ -0,0 +1,26 @@ +# BaM 4th job Advance + +BRISTON = 2151001 + +sm.setSpeakerID(BRISTON) +sm.sendNext("Welcome, #h #. You're quite the hero. Look around at this beautiful town. It's worth fighting for... worth dying for... don't you think?") + +sm.setPlayerAsSpeaker() +sm.flipDialogue() +sm.sendSay("Are you feeling better?") + +sm.setSpeakerID(BRISTON) +sm.sendSay("Yes. #p1540418#'s skills are second to none. I'm completely back to my old self. There is still one problem though...") + +sm.setPlayerAsSpeaker() +sm.flipDialogue() +sm.sendSay("What?! Are the Black Wings planning something?") + +sm.setSpeakerID(BRISTON) +if sm.sendAskYesNo("No, the problem is... you! You've become too strong. I'm supposed to be your teacher but you've accomplished something I couldn't do. So I want to give you a more difficult mission! You game?"): + sm.startQuest(parentID) + sm.completeQuest(parentID) + sm.jobAdvance(3212) + sm.sendNext("I've also given you some skills that I know of but haven't mastered yet. I have a hunch that you'll be able to master them. After all, you're like the Resistance's hero now.") + sm.sendSay("Could this be my last lesson with you? Nah, can't be. You may be stronger, but I'm still smarter. I'm sure there's plenty more you can learn from me. So I'll see you at your next lesson...whenever that is...") + sm.sendPrev("I look forward to seeing what you accomplish.") diff --git a/scripts/quest/q23053s.py b/scripts/quest/q23053s.py new file mode 100755 index 0000000..ddb9c31 --- /dev/null +++ b/scripts/quest/q23053s.py @@ -0,0 +1,24 @@ +ELEX = 2151002 + +sm.setSpeakerID(ELEX) +sm.sendNext("Welcome, #h #. You're quite the hero. Look around at this beautiful town. It's worth fighting for... worth dying for... don't you think?") + +sm.setPlayerAsSpeaker() +sm.flipDialogue() +sm.sendSay("Are you feeling better?") + +sm.setSpeakerID(ELEX) +sm.sendSay("Yes. #p1540418#'s skills are second to none. I'm completely back to my old self. There is still one problem though...") + +sm.setPlayerAsSpeaker() +sm.flipDialogue() +sm.sendSay("What?! Are the Black Wings planning something?") + +sm.setSpeakerID(ELEX) +if sm.sendAskYesNo("No, the problem is... you! You've become too strong. I'm supposed to be your teacher but you've accomplished something I couldn't do. So I want to give you a more difficult mission! You game?"): + sm.startQuest(parentID) + sm.completeQuest(parentID) + sm.jobAdvance(3312) + sm.sendNext("I've also given you some skills that I know of but haven't mastered yet. I have a hunch that you'll be able to master them. After all, you're like the Resistance's hero now.") + sm.sendSay("Could this be my last lesson with you? Nah, can't be. You may be stronger, but I'm still smarter. I'm sure there's plenty more you can learn from me. So I'll see you at your next lesson...whenever that is...") + sm.sendPrev("I look forward to seeing what you accomplish.") diff --git a/scripts/quest/q23054s.py b/scripts/quest/q23054s.py new file mode 100755 index 0000000..acb677a --- /dev/null +++ b/scripts/quest/q23054s.py @@ -0,0 +1,24 @@ +CHECKY = 2151004 + +sm.setSpeakerID(CHECKY) +sm.sendNext("Welcome, #h #. You're quite the hero. Look around at this beautiful town. It's worth fighting for... worth dying for... don't you think?") + +sm.setPlayerAsSpeaker() +sm.flipDialogue() +sm.sendSay("Are you feeling better?") + +sm.setSpeakerID(CHECKY) +sm.sendSay("Yes. #p1540418#'s skills are second to none. I'm completely back to my old self. There is still one problem though...") + +sm.setPlayerAsSpeaker() +sm.flipDialogue() +sm.sendSay("What?! Are the Black Wings planning something?") + +sm.setSpeakerID(CHECKY) +if sm.sendAskYesNo("No, the problem is... you! You've become too strong. I'm supposed to be your teacher but you've accomplished something I couldn't do. So I want to give you a more difficult mission! You game?"): + sm.startQuest(parentID) + sm.completeQuest(parentID) + sm.jobAdvance(3512) + sm.sendNext("I've also given you some skills that I know of but haven't mastered yet. I have a hunch that you'll be able to master them. After all, you're like the Resistance's hero now.") + sm.sendSay("Could this be my last lesson with you? Nah, can't be. You may be stronger, but I'm still smarter. I'm sure there's plenty more you can learn from me. So I'll see you at your next lesson...whenever that is...") + sm.sendPrev("I look forward to seeing what you accomplish.") diff --git a/scripts/quest/q23160e.py b/scripts/quest/q23160e.py new file mode 100755 index 0000000..e888cd8 --- /dev/null +++ b/scripts/quest/q23160e.py @@ -0,0 +1,36 @@ +# Blaster 1st Job Advancement - Elex + +ELEX = 2151000 +BLASTER1 = 3700 +HAND_BUSTER = 1582000 +RUDIMENTARY_CHARGES = 1353400 + +sm.setSpeakerID(ELEX) +if not sm.canHold(HAND_BUSTER): + sm.sendSayOkay("Please make room in your equip inventory.") + sm.dispose() + + +if sm.sendAskYesNo("So you've finally decided to become a Blaster, eh? Well, you can still change your mind. Just stop our conversation, forfeit this quest, and talk to another class trainer. So, you sure you want to become a Blaster? I'm not interested in teaching you unless you're a hundred percent sure..."): + sm.jobAdvance(BLASTER1) + sm.resetAP(False, BLASTER1) + sm.giveItem(HAND_BUSTER) + sm.giveAndEquip(RUDIMENTARY_CHARGES) + sm.completeQuest(parentID) + chr.getJobHandler().reloadCylinder() + + sm.removeEscapeButton() + sm.sendNext("Great! You're now an official member of the Resistance! Let me give you a brief explanation on Blaster skills to celebrate becoming a Blaster.") + sm.sendSay("The two major mechanics of a Blaster are #bAmmo#k and the #bDynamo Gauge#k. In combat, you use #bAmmo#k to reload the #bDynamo Gauge#k. You can then use the powerful #eBunker Buster#n skill with the reloaded #bDynamo Gauge#k.") + sm.sendSay("#i3801012#\r\nYou can check your #bAmmo#k and #bDynamo Gauge#k at any time through the UI, as shown above.") + sm.sendSay("You want even more details? Teacher's pet, much?") + sm.sendSay("#i3801012#\r\nFine, fine. #bAmmo#k can be loaded into your weapon. It's used in a skill called #eRevolving Cannon#n. #bAmmo#k reloads automatically when you're out, but you can also hold down the Revolving Cannon hotkey to reload manually.") + sm.sendSay("#i3801012#\r\nMight be smart to reload whenever you're low on #bAmmo#k. Now, #eRevolving Cannon#n can't be used on its own. It can only be used during #bMagnum Punch#k, #bDouble Blast#k, #band Revolving Blast#k.") + sm.sendSay("Think of #eRevolving Cannon#n as squeezing in an extra shot during Magnum Punch, Double Blast, or Revolving Blast.") + sm.sendSay("#i3801013#\r\nNow, you're probably wondering about the #bDynamo Gauge#k. Every time you consume a suitable amount of #bAmmo#k, a bar in your #bDynamo Gauge#k will fill up.") + sm.sendSay("#i3801014#\r\nWhen the #bDynamo Gauge#k loads up, it'll overheat, causing you to deal more damage. You can use a powerful skill called #eBunker Blaster#n when at least 3 bars in the #bDynamo Gauge#k are filled. You won't be able to use it again until you reload the #bDynamo Gauge#k or wait a bit, though.") + sm.sendSay("You'll have to practice using up #bAmmo#k and reloading the #bDynamo Gauge#k quickly to get the hang of enabling #eBunker Blaster#n. Power takes effort, you know?") + sm.sendSay("And... that's that. You're no longer some no-name warrior, you're a Blaster! A Blaster, blasting for freedom!") + sm.sendSay("Watch yourself out there. If you're exposed, we're all at risk. From now on, call me 'teacher' and I'll give you special lessons here in this very room.") +else: + sm.sendNext("Make your decision carefully.") diff --git a/scripts/quest/q23162e.py b/scripts/quest/q23162e.py new file mode 100755 index 0000000..bcda760 --- /dev/null +++ b/scripts/quest/q23162e.py @@ -0,0 +1,22 @@ +# 2nd job advancement blaster + +ELEX = 2151000 +STANDARD_CHARGES = 1353401 + +sm.setSpeakerID(ELEX) +sm.sendNext("You've brougth the Black Wings Report. Not too shabby.") +sm.sendSay("I gave this mission to YOU for a reason. Those Black Wings you took out... They're the same ones who used to bully you. You make that connection? Must feel good to complete your mission AND get some sweet revenge.") +sm.sendSay("I've been watching you. Not everyone can adjust to a weapon like yours, with the mix of melee combat thrown in. Seriously, kid, not too shabby.") + +if sm.sendAskYesNo("Okay, I think you're ready for the next stage, a stage in which you'll be transformed into an unimaginably strong Blaster..."): + if not sm.canHold(STANDARD_CHARGES): + sm.sendSayOkay("Please make space in your equipment inventory.") + sm.dispose() + sm.completeQuest(parentID) + sm.consumeItem(4034787) + sm.jobAdvance(3710) + sm.giveItem(STANDARD_CHARGES) + sm.sendNext("I've advanced you. I also passed along the knowledge of some amazing skills. Try practicing with them and eventually you'll get the hang of things.") + sm.sendPrev("I'll see you at the next lesson. Until then, continue your good fight.") +else: + sm.sendNext("I suppose you should take a moment to prepare yourself.") diff --git a/scripts/quest/q23164e.py b/scripts/quest/q23164e.py new file mode 100755 index 0000000..49dc75f --- /dev/null +++ b/scripts/quest/q23164e.py @@ -0,0 +1,14 @@ +ELEX = 2151000 +HIGH_POWERED_CHARGES = 1353402 + +sm.setSpeakerID(ELEX) +sm.sendNext("You destroyed the #o9001032#! Good. This should aleviate the problem of insufficient energy in town. We'll all be able to sleep a little easier now. You've done a tremendous good for Edelstein.") +if sm.sendAskYesNo("You've proven yourself, so I'd like to pass along some even more powerful Blaster skills. I've got faith you'll use them for the good fight."): + if not sm.canHold(HIGH_POWERED_CHARGES): + sm.sendSayOkay("Please make space in your equipment inventory.") + sm.dispose() + sm.jobAdvance(3711) + sm.giveItem(HIGH_POWERED_CHARGES) + sm.completeQuest(parentID) + sm.sendNext("I've advanced you. Wield your newfound power to fight for freedom!") + sm.sendPrev("I'll see you at the next lesson. Until then, continue your good fight.") diff --git a/scripts/quest/q23168e.py b/scripts/quest/q23168e.py new file mode 100755 index 0000000..100dfe8 --- /dev/null +++ b/scripts/quest/q23168e.py @@ -0,0 +1,12 @@ +ELEX = 2159488 +GELIMERS_KEY_CARD = 4032743 +SECRET_PLAZA = 310010000 + +sm.setSpeakerID(ELEX) +sm.sendNext("Did you destroy the Black Wings' new weapon? Nice work. I'm proud to have you in the Resistance.") +if sm.sendAskYesNo("But it's too early to celebrate. #p2154009# will show up with his goons when he hears the news. Let's get out of here via the Underground Base Hideout Return Scroll. On my count. One... two... three!"): + sm.consumeItem(GELIMERS_KEY_CARD) + sm.warpInstanceOut(SECRET_PLAZA, 0) + sm.completeQuest(parentID) +else: + sm.dispose() \ No newline at end of file diff --git a/scripts/quest/q23169s.py b/scripts/quest/q23169s.py new file mode 100755 index 0000000..24c1149 --- /dev/null +++ b/scripts/quest/q23169s.py @@ -0,0 +1,29 @@ +ELEX = 2151000 +MASTERWORK_CHARGES = 1353403 + +sm.setSpeakerID(ELEX) +sm.sendNext("Welcome, #h #. You're quite the hero. Look around at this beautiful town. It's worth fighting for... worth dying for... don't you think?") + +sm.setPlayerAsSpeaker() +sm.flipDialogue() +sm.sendSay("Are you feeling better?") + +sm.setSpeakerID(ELEX) +sm.sendSay("Yes. #p1540418#'s skills are second to none. I'm completely back to my old self. There is still one problem though...") + +sm.setPlayerAsSpeaker() +sm.flipDialogue() +sm.sendSay("What?! Are the Black Wings planning something?") + +sm.setSpeakerID(ELEX) +if sm.sendAskYesNo("No, the problem is... you! You've become too strong. I'm supposed to be your teacher but you've accomplished something I couldn't do. So I want to give you a more difficult mission! You game?"): + if not sm.canHold(MASTERWORK_CHARGES): + sm.sendSayOkay("Please make space in your equipment inventory.") + sm.dispose() + sm.startQuest(parentID) + sm.completeQuest(parentID) + sm.jobAdvance(3712) + sm.giveItem(MASTERWORK_CHARGES) + sm.sendNext("I've also given you some skills that I know of but haven't mastered yet. I have a hunch that you'll be able to master them. After all, you're like the Resistance's hero now.") + sm.sendSay("Could this be my last lesson with you? Nah, can't be. You may be stronger, but I'm still smarter. I'm sure there's plenty more you can learn from me. So I'll see you at your next lesson...whenever that is...") + sm.sendPrev("I look forward to seeing what you accomplish.") diff --git a/scripts/quest/q23170e.py b/scripts/quest/q23170e.py new file mode 100755 index 0000000..0ce3a71 --- /dev/null +++ b/scripts/quest/q23170e.py @@ -0,0 +1,10 @@ +# Blaster Student of the Resistance +FERDI = 2151010 +ELEX = 2151000 +AGILITY_ENHANCEMENT_COURSE_UNLOCK = 23128 + +sm.setSpeakerID(FERDI) +sm.sendNext("We meet again. Congratulations on becoming a part of the Resistance. I've been keeping an eye on you from the start. #p" + str(ELEX) + "# saw something in you and sent you here.") +sm.sendSay("Well, since you're part of our group now, you should train and level up. I'll teach you what you need to know to be a contributing member of the Resistance.") +sm.createQuestWithQRValue(AGILITY_ENHANCEMENT_COURSE_UNLOCK, "1") +sm.completeQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q23171e.py b/scripts/quest/q23171e.py new file mode 100755 index 0000000..5e33657 --- /dev/null +++ b/scripts/quest/q23171e.py @@ -0,0 +1,11 @@ +# Blaster - The First Mission +CLAUDINE = 2151003 +ELEX = 2151000 +ELIMINATE_PATROL_ROBOT_UNLOCK = 23129 + +sm.setSpeakerID(CLAUDINE) +sm.sendNext("Greetings, #h #! My name is #p" + str(CLAUDINE) + "#, and I am in charge of Resistance mission assignments. It's strange seeing you here instead of in town...") +sm.sendSay("I should actually be a Thief Job instructor but I've taken this position since the Resistance doesn't train thieves.") +sm.sendSay("In any case, since I'm in charge of missions, you'll be seeing me more often than even #p2151000#, your job instructor. Now, let's drive those Black Wings out of our territory.") +sm.createQuestWithQRValue(ELIMINATE_PATROL_ROBOT_UNLOCK, "1") +sm.completeQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q23205e.py b/scripts/quest/q23205e.py new file mode 100755 index 0000000..1fb71ae --- /dev/null +++ b/scripts/quest/q23205e.py @@ -0,0 +1,10 @@ +SKILLS = [30010166, 30011167, 30011168, 30011169, 30011170] +ARKARIUM = 2159309 + +sm.completeQuestNoRewards(parentID) +sm.deleteQuest(parentID) +for i in range(5): + if sm.hasSkill(SKILLS[i]): + sm.removeSkill(SKILLS[i]) # remove the skill +sm.removeNpc(ARKARIUM) +sm.warpInstanceIn(927000070, 0) diff --git a/scripts/quest/q23212e.py b/scripts/quest/q23212e.py new file mode 100755 index 0000000..0b0941c --- /dev/null +++ b/scripts/quest/q23212e.py @@ -0,0 +1,19 @@ +# 23212 | Contract with Mastema + +isDS = chr.getJob() == 3100 + +sm.setSpeakerID(2450017) + +if not sm.canHold(1142342): + sm.sendSayOkay("Please make space in your equip inventory.") + sm.dispose() + +if sm.sendAskYesNo("Everything is ready. Let us begin the contract ritual. Focus on your mind."): + sm.jobAdvance(isDS and 3110 or 3120) + sm.giveItem(isDS and 1142342 or 1142554) + sm.giveAndEquip(isDS and 1099002 or 1099007) # todo: upgrade instead of replace secondary? (potentials) + sm.completeQuest(parentID) + sm.setPlayerAsSpeaker() + sm.sendNext("#b(You feel a curious energy flowing into you.)") + sm.setSpeakerID(2450017) + sm.sendNext("There... our contract is made. Now we can communicate through our minds. Isn't that neat?") diff --git a/scripts/quest/q23214e.py b/scripts/quest/q23214e.py new file mode 100755 index 0000000..5b5cfe3 --- /dev/null +++ b/scripts/quest/q23214e.py @@ -0,0 +1,17 @@ +# 23214 | Sparring with Mastema + +isDS = chr.getJob() == 3110 + +sm.setSpeakerID(2450017) + +if not sm.canHold(1142343): + sm.sendSayOkay("Please make space in your equip inventory.") + sm.dispose() + +sm.sendNext("How did it go? Did my copy give you any trouble? Hey... it didn't... say anything weird, did it? Well anyway, let me record your status in my little book here...") +sm.jobAdvance(chr.getJob()+1) +sm.giveItem(isDS and 1142343 or 1142555) +sm.giveAndEquip(isDS and 1099003 or 1099008) # todo: upgrade instead of replace secondary? (potentials) +sm.completeQuest(parentID) +sm.sendNext("I'm glad I could help you. Now, if you'll excuse me, I used up too much of my power, so I'm going to pass out...") +sm.sendSayOkay("I used too much power, that's why I turned red!") diff --git a/scripts/quest/q23214s.py b/scripts/quest/q23214s.py new file mode 100755 index 0000000..de0d72a --- /dev/null +++ b/scripts/quest/q23214s.py @@ -0,0 +1,7 @@ +#23214 | Sparring with Mastema +sm.setSpeakerID(2450017) +sm.sendNext("There! That's my original form from the past. Oh, I looked so good.") +sm.sendNext("Now, this copy won't be as powerful as I really was. It's just a reflection, after all. Still, it should give you a decent challenge. Oh, and if you want to repeat this, you have to forfeit the quest and start over. It's a pain, but that is the rule.") +sm.startQuest(parentID) +sm.warpInstanceIn(931050120) +sm.dispose() \ No newline at end of file diff --git a/scripts/quest/q23215e.py b/scripts/quest/q23215e.py new file mode 100755 index 0000000..9d0bceb --- /dev/null +++ b/scripts/quest/q23215e.py @@ -0,0 +1,15 @@ +# 23215 | True Awakening +sm.setSpeakerID(2450017) +sm.sendNext("You made it back, #h #! How are you feeling?") +sm.setPlayerAsSpeaker() +sm.sendNext("Fighting myself from the past wasn't easy, but I remembered many of the skills I had forgotten.") +sm.setSpeakerID(2450017) +if sm.sendAskYesNo("Excellent! I was hoping it would work like that. You really do feel strong now. Hey, #h #, do you want me to write this all down for you?"): + if sm.canHold(1142344): + sm.giveItem(1142344) + sm.jobAdvance(3112) + sm.giveAndEquip(1099004) # todo: upgrade instead of replace secondary? (potentials) + sm.completeQuest(parentID) + sm.sendSayOkay("Sounds like you've gotten all your old powers back. For now, #h #, I suggest you focus on training steadily and improving your basics.") + else: + sm.sendSayOkay("Please make space in your Equip inventory.") diff --git a/scripts/quest/q23215s.py b/scripts/quest/q23215s.py new file mode 100755 index 0000000..4765179 --- /dev/null +++ b/scripts/quest/q23215s.py @@ -0,0 +1,24 @@ +#23215 | True Awakening +sm.setSpeakerID(2450017) +if sm.sendAskYesNo("How's your training going, #h # good?"): + sm.sendSayOkay("Really? Are you sure It's going well?") + sm.dispose() +else: + sm.setPlayerAsSpeaker() + sm.sendNext("Mastema, I wanted to talk with you.") + sm.setSpeakerID(2450017) + sm.sendNext("(Eh? #h # wanted to speak to me? Glee!) Ah, yes? About what?") + sm.setPlayerAsSpeaker() + sm.sendNext("I would like to repeat my previous training.") + sm.setSpeakerID(2450017) + sm.sendNext("Previous training? Guess you've hit another wall, then. I don't think repeating that training is going to help, #h #...") + sm.setPlayerAsSpeaker() + sm.sendNext("I understand, but I seem to be out of options.") + sm.setSpeakerID(2450017) + sm.sendNext("Hm. Wait...wait! I've got an idea. Ohh, I've got a really good idea! You want to get back to your old power level, right, #h #? In that case you should practice against #h #! Or more specifically, #h # from the past.") + sm.sendNext("Normally the Temple of Time is the only place where you can tinker with time, but I found another, #h #. Word is, there is something wrong with time in Ludibrium.") + sm.sendNext("There's a place called #bPath of Time#k on Ludibrium's Clock Tower Bottom Floor. I can stabilize the Crack in Time so you can travel to where you need to go.") + sm.sendNext("Yeah, I know I look funny like this, but this form allows me to move between dimensions. I'll meet you at the place... I'm taking the scenic route.") + sm.sendNext("Entering the Crack of Time will shift you to a point in the past, but don't worry about messing things up. The way this works, your actions won't affect the future.") + sm.startQuest(parentID) + sm.warp(220050300, 2) diff --git a/scripts/quest/q23221e.py b/scripts/quest/q23221e.py new file mode 100755 index 0000000..ac54ab1 --- /dev/null +++ b/scripts/quest/q23221e.py @@ -0,0 +1,20 @@ +MASTEMA = 2151009 + +sm.setSpeakerID(MASTEMA) + +if not sm.canHold(1142556): + sm.sendNext("Please clear some space in your equip inventory.") + sm.dispose() + +sm.sendNext("You made it back, #h #! How are you?") + +sm.flipDialoguePlayerAsSpeaker() +sm.sendSay("I didn't know I had such anger within me. It is not easy to control.") + +sm.setSpeakerID(MASTEMA) +if sm.sendAskYesNo("But you succeeded, #h #! I should write this down for posterity, right?"): + sm.completeQuest(parentID) + sm.giveItem(1142556) + sm.giveAndEquip(1099009) + sm.jobAdvance(chr.getJob()+1) + sm.sendSayOkay("Your inner rage is now under your control, #h #! All that's elft for you is to keep training.") diff --git a/scripts/quest/q23221s.py b/scripts/quest/q23221s.py new file mode 100755 index 0000000..147df03 --- /dev/null +++ b/scripts/quest/q23221s.py @@ -0,0 +1,40 @@ +MASTEMA = 2151009 + +sm.setSpeakerID(MASTEMA) +if sm.sendAskYesNo("#h #. Have you fulfilled your mission?"): + sm.flipDialoguePlayerAsSpeaker() + sm.sendNext("#p2151009#, I wanted to talk to you...") + + sm.setSpeakerID(MASTEMA) + sm.sendSay("(Eh?! #h # wanted to talk to me!?) Ah, yes? About what?") + + sm.flipDialoguePlayerAsSpeaker() + sm.sendSay("I would like to repeat my training.") + + sm.setSpeakerID(MASTEMA) + sm.sendSay("Repeat? Ah, you must have hit another wall. I doubt more of the same is going to help, #h #...") + + sm.flipDialoguePlayerAsSpeaker() + sm.sendSay("I understand, but I seem to be out of options.") + + sm.setSpeakerID(MASTEMA) + sm.sendSay("Hm. Wait...wait! I've got an idea. Ohh, I've got a really good idea! You want to get back to your old power level, right? #h #? In that case, you should tap into your vengeance! Why don't you practice against your inner rage?") + + sm.flipDialoguePlayerAsSpeaker() + sm.sendSay("Inner rage?") + + sm.setSpeakerID(MASTEMA) + sm.sendSay("Yes! Rage is a potent source of power. I mean, you know that. But you won't have full access to it until you conquer it fully.") + + sm.flipDialoguePlayerAsSpeaker() + sm.sendSay("You have a point. How can I fight my inner rage, though?") + + sm.setSpeakerID(MASTEMA) + sm.sendSay("Well, #h #... I just happen to have the power to send you inside...yourself. It's not as weird as it sounds. More like meditation, really.") + sm.sendSay("But you won't be completely out of danger. The damage you sustain there will transfer to your real body.") + + if sm.sendAskYesNo("Are you ready? (Press Yes to move automatically. You will have to forfeit the quest and restart if you fail.)"): + sm.startQuest(parentID) + sm.warpInstanceIn(924020020, False) +else: + sm.sendSayOkay("Not much. You sure you're doing well.") diff --git a/scripts/quest/q23600e.py b/scripts/quest/q23600e.py new file mode 100755 index 0000000..b0a0d90 --- /dev/null +++ b/scripts/quest/q23600e.py @@ -0,0 +1,19 @@ +# Testing Testing One Two Three ; Xenon Intro Quest to kill Fabricated Von Leon + +GELIMER_PRESENT = 2159377 + +sm.removeEscapeButton() +sm.lockInGameUI(True) +sm.moveCamera(False, 1000, 0, -25) +sm.setSpeakerID(GELIMER_PRESENT) +sm.removeEscapeButton() +sm.sendNext("Good, very good! I am very satisfied with these results. Just a few more fine adjustments and...") +sm.showBalloonMsgOnNpc("Effect/Direction12.img/effect/tuto/BalloonMsg1/0", 2000, GELIMER_PRESENT) +sm.flipNpcByTemplateId(GELIMER_PRESENT, True) +sm.sendNext("An intruder?! It could be Orchid. Turn on the monitor!") +# monitor flashes a couple times, shows resistance breaking in -> delay -> shows close up of resistance +sm.sendNext("Is it the Resistance? I suppose that would be better than Orchid, but... this is the worst possible time!") +sm.sendSay("Wait, wait, wait. Maybe this will work. One more test, yes... they will be perfect... Hahaha... MWAHAHAHA!") +sm.warpInstanceIn(931050940) +sm.removeNpc(GELIMER_PRESENT) +sm.completeQuest(parentID) diff --git a/scripts/quest/q23610s.py b/scripts/quest/q23610s.py new file mode 100755 index 0000000..f6b85cc --- /dev/null +++ b/scripts/quest/q23610s.py @@ -0,0 +1,22 @@ +# Secret Instructions ; Xenon 2nd Job + +TONERO = 3001004 +CLAUDINE = 1540452 + +sm.setSpeakerID(TONERO) +sm.sendNext("Hello to you #b#h ##k! The name's Tonero, commisioner of instructions most discreet. I have a little something for you!.") +sm.flipDialoguePlayerAsSpeaker() +sm.sendSay("What is this?") +sm.setSpeakerID(TONERO) +sm.sendSay("I was instructed, and persuaded with monetary incentive, to bring this #bResistance Orders#k to you, no questions asked. Now then, I'm off.") +sm.flipDialoguePlayerAsSpeaker() +sm.sendSay("What the... He just disappeared!\r\nWho sent me secret instructions?") +sm.setSpeakerID(CLAUDINE) +sm.sendSay("Dear #b#h ##k, I hope you're doing well. It hasn't been easy to track you down, but I think that's probably good, all things considered. I apologize for the odd man we had to choose as a messenger, but I assure you he is trustworthy enough.") +sm.sendSay("I'm sending you this message because the Resistance has formed a secret research organization to investigate strange occurrences in Maple World. With the help of the Alliance, our #bnew research agency#k is up and running, but slightly understaffed. I would like for you to go and help.") +sm.sendSay("I'm sure they would be more than happy to help you with your problems as well. I believe it may be exactly the sort of support you need right now. I'm sorry that I can't be there to give it to you myself, but I am needed here. May fortune smile on you.") +sm.flipDialoguePlayerAsSpeaker() +if sm.sendAskAccept("Now that Gelimer is off my tail, these people may be just what I need. It couldn't hurt to visit, at least.\r\n\r\n#r(Press Y to move automatically.)"): + sm.warp(230050000) + sm.startQuest(parentID) + sm.completeQuest(parentID) diff --git a/scripts/quest/q23611e.py b/scripts/quest/q23611e.py new file mode 100755 index 0000000..7c594b2 --- /dev/null +++ b/scripts/quest/q23611e.py @@ -0,0 +1,52 @@ +# Veritas's Finest ; Xenon 2nd Job + +PROFESSOR_DREAMBOAT = 2300001 + +sm.setSpeakerID(PROFESSOR_DREAMBOAT) +sm.sendNext("Welcome. You must be the one Claudine mentioned. I am Professor Drea...Moon. Sorry, the nickname's sort of hard to escape. I am the head of Resistance Research Command, otherwise known as #b#m230050000##k.") +sm.flipDialoguePlayerAsSpeaker() +sm.sendSay("#b#m230050000##k?") +sm.setSpeakerID(PROFESSOR_DREAMBOAT) +sm.sendSay("I doubt Claudine gave you the details over an insecure channel. We are a research group, dedicated to tracking and addressing strange phenomena across Maple World that may be related to the Black Mage. We have gathered scholars of all areas of expertise to investigate these happenings.") +sm.sendSay("Unfortunately, we are sorely lacking in people. That's why we're so glad to have a field agent from the Resistance.") + +sm.flipDialoguePlayerAsSpeaker() +sm.sendSay("But, I... I'm not free to go where I please right now.") +sm.setSpeakerID(PROFESSOR_DREAMBOAT) +sm.sendSay("Ah, yes, someone is tracking you, right? Well, have no worries. I'm sure somebody here can figure that part out. This base is completely undetectable to any scanners, so you're safe enough inside.") +sm.flipDialoguePlayerAsSpeaker() +sm.sendSay("Interesting. Would it be possible to create a wearable version of your scrambling systems? Perhaps that would...") +sm.setSpeakerID(PROFESSOR_DREAMBOAT) +sm.sendSay("Slow down there, buddy. You're not a building. We can't just pad you down with three-fot-thick lead... Or can we?") +sm.flipDialoguePlayerAsSpeaker() +sm.sendSay("I can carry a great deal of weight with my current booster alignment.") +sm.setSpeakerID(PROFESSOR_DREAMBOAT) +sm.sendSay("You'd be the size of a two story building. It's not a good plan.") +sm.flipDialoguePlayerAsSpeaker() +sm.sendSay("Unfortunate... I suppose that means this is the only place I can feel safe.") + +sm.setSpeakerID(PROFESSOR_DREAMBOAT) +sm.sendSay("Well, there might be another way. Maybe we can create a #bPulse Disruptor#k.") +sm.flipDialoguePlayerAsSpeaker() +sm.sendSay("#bPulse Disruptor#k?") +sm.setSpeakerID(PROFESSOR_DREAMBOAT) +sm.sendSay("If you're giving off a signal, I'm sure we can create SOME sort of counter-system to block it out. It woudl require multiple devices though, probably scattered all over...") +sm.sendSay("This is actually very similar to something Claudine requested. I bet I can dig up that research somewhere...") +sm.flipDialoguePlayerAsSpeaker() +sm.sendSay("Is there anything I can do?") +sm.setSpeakerID(PROFESSOR_DREAMBOAT) +sm.sendSay("Well, it's probably a little below your abilities, but all the scientists around here could use an assistant, myself included.") + +if sm.sendAskYesNo("If you're willing to take the job, I'm ready to hire you as the one-and-only #b#m230050000##k special agent. Do you accept?\r\n\r\n#b"): + if not sm.canHold(1142576): + sm.sendSayOkay("Please make some space in your equipment inventory.") + sm.dispose() + sm.completeQuest(parentID) + sm.jobAdvance(3610) + sm.giveItem(1142576) + sm.giveAndEquip(1353002) + sm.giveSkill(30021235) + sm.sendNext("Congratulations, special agent #h #!") + sm.sendSay("You probably saw it when you were walking in, but one of our engineers created the world's gaudiest transport device. You can use it to go out on missions, or get back to the lab any time.") + sm.sendSay("He named it the #bPromessa#k. You can use the #bPromessa Escape#k skill to call it wherever you are.") + sm.sendPrev("I know it's rpetty ridiculous-looking, but the design is solid as can be.") diff --git a/scripts/quest/q23612e.py b/scripts/quest/q23612e.py new file mode 100755 index 0000000..6291450 --- /dev/null +++ b/scripts/quest/q23612e.py @@ -0,0 +1,19 @@ +# Only the Brave ; Xenon 3rd Job + +PROMATHUS = 2300002 + +sm.setSpeakerID(PROMATHUS) +sm.sendNext("That took longer than I expected. Is everything all right?") +sm.flipDialoguePlayerAsSpeaker() +sm.sendSay("(You explain that you were almost discovered by the Black Wings.)") +sm.setSpeakerID(PROMATHUS) +sm.sendSay("Haha! Gelimer would be furious if he knew you'd gotten by right under his nose. Quite a daring move, yes, yes.") +if sm.sendAskYesNo("Well done, child., well done. Your courage is evident. Will you take what we have readied for you?"): + if not sm.canHold(1142577): + sm.sendSayOkay("Please make some space in your equipment inventory.") + sm.dispose() + sm.completeQuest(parentID) + sm.jobAdvance(3611) + sm.giveAndEquip(1353003) + sm.giveItem(1142577) + sm.sendSayOkay("I've uploaded every bit of information on the Black Wings and their agents to your memory banks. Your neural interface should create a sort of camouflage effect, should any Black Wings cross your path. To them, you will appear as someone they do not know. It should even work on Gelimer.") diff --git a/scripts/quest/q23612s.py b/scripts/quest/q23612s.py new file mode 100755 index 0000000..1ca87be --- /dev/null +++ b/scripts/quest/q23612s.py @@ -0,0 +1,20 @@ +# Only the Brave ; Xenon 3rd Job + +PROMATHUS = 2300002 + +sm.setSpeakerID(PROMATHUS) +sm.sendNext("Ah, there you are, I must speak with you. I don't know if you know this, but Gelimer has not ended his search for you.") +sm.sendSay("The thing that I find very strange is that Beryl was the only one to actually pursue you. It seems your very existence was kept a secret, even among the Black Wings. Was... things tend to change rapidly in their organization.") +sm.sendSay("Only a handful of the Black Wings will know of you now, but it is only a matter of time until your infamy becomes a burden. The people of this laboratory are busy at work for a weapon to make you safe... but I am not so sure it is the best course of action. Do you know why?") +sm.flipDialoguePlayerAsSpeaker() +sm.sendSay("Is it because I'm not human?") +sm.setSpeakerID(PROMATHUS) +sm.sendSay("I would not be swayed by so petty a reason.") +sm.flipDialoguePlayerAsSpeaker() +sm.sendSay("Is it because Gelimer is my creator?") +sm.setSpeakerID(PROMATHUS) +sm.sendSay("Again, no. You were crafted as a weapon, and a weapon is only as dangerous as the person who wields it. Who's to say that the evil dwelling within Gelimer's soul has not infected mine as well? All men are suspectible to greed, especially those fueled by the desire of knowledge.") + +if sm.sendAskYesNo("A scientist must take responsibility for his own curiosity. THAT is... why I hesitate to grant you this power.\r\nI need proof that you will handle it with care. Will you prove yourself to me?"): + sm.sendSayOkay("Splendid, I would like you to show me the courage in your heart, and bring me a #bBlack Wings Hat#k. There is a gentleman on the #Road to the Mine1#k. He is known to be rather unscrupulous towards his own organization. But be wary, their base is rather nearby, it will require skill, bravery, and cunning. Good luck.") + sm.startQuest(parentID) diff --git a/scripts/quest/q23615s.py b/scripts/quest/q23615s.py new file mode 100755 index 0000000..783fc19 --- /dev/null +++ b/scripts/quest/q23615s.py @@ -0,0 +1,14 @@ +# Getting Caught?! ; Xenon 3rd Job + +STEPHAN = 2159421 + +sm.setSpeakerID(STEPHAN) +sm.sendNext("The Watchman are all over. I need to get out of here!") +sm.setPlayerAsSpeaker() +if sm.sendAskYesNo("The Watchman is headed this way, but I can't arrouse any suspicions. Maybe I should just try to act casual!"): + sm.sendNext("No, I won't run, I can do this. I just need to be a Black Wing. I am a Black Wing, I am a Black Wing, I am a...") +else: + sm.sendNext("No, I shouldn't be nervous, I can do this. I just need to be a Black Wing. I am a Black Wing, I am a Black Wing, I am a...") + +sm.warpInstanceIn(931060030) +sm.startQuest(parentID) diff --git a/scripts/quest/q23616e.py b/scripts/quest/q23616e.py new file mode 100755 index 0000000..c5d2746 --- /dev/null +++ b/scripts/quest/q23616e.py @@ -0,0 +1,33 @@ +# Identity Crisis ; Xenon 4th Job + +ROO_D = 2300000 + +sm.setSpeakerID(ROO_D) +sm.sendNext("Why the serious face? Wait, you always look serious. Why the more-serious face?") +sm.flipDialoguePlayerAsSpeaker() +sm.sendSay("Roo-D, what if I never get my memories back? What if I threw away my whole life for something I'll never see?") +sm.setSpeakerID(ROO_D) +sm.sendSay("What? That's crazy! If you had stayed in that lab, Gelimer would have you... stomping on puppies or something! What if he'd ordered you to destroy Edelstein?! That could have been you!") +sm.flipDialoguePlayerAsSpeaker() +sm.sendSay("I know that, I don't regret leaving. But I feel an emptiness inside that I do not know how to deal with. You and Beryl do not seem to care about your past at all. Why does it trouble me so much? Am I... broken?") +sm.setSpeakerID(ROO_D) +sm.sendSay("No! You're great, just the way you are. There's nothing wrong with wanting to know who you are, #h #. But you and I are different, you know? Not everybody wants the same thing.") +sm.flipDialoguePlayerAsSpeaker() +sm.sendSay(".....") +sm.setSpeakerID(ROO_D) +sm.sendSay("You taught me that Xenoroids are different. You and Beryl couldn't be less alike. That means we were meant to have different personalities. If anything, you wanting to find you memories makes you MORE human than the rest of us.") +sm.sendSay("I know you're struggling. This isn't gonna be easy for you. It could take years. But if it's something you want, I know you'll make the decision to pursue it, no matter how much pain it comes with. And that decision will always be yours to make. You're free now.") +sm.sendSay("Everybody can see that you're doing the right thing. That's why we all help you. It's not because they feel sorry for you, it's because they believe it's the right thing to do. Don't ever forget the friends you've found. You might have been enemies if you hadn't left the lab.") + +if not sm.canHold(1142578): + sm.sendSayOkay("Please make some space in your equipment inventory.") + sm.dispose() +sm.completeQuest(parentID) +sm.jobAdvance(3612) +sm.giveAndEquip(1353004) +sm.giveItem(1142578) + +sm.flipDialoguePlayerAsSpeaker() +sm.sendSay("Thank you for standing beside me, Roo-D. I hope that the choices I make will help you as much as they help me.") +sm.setSpeakerID(ROO_D) +sm.sendPrev("Don't mention it! I owe you my life. We're gonna be besties forever!") diff --git a/scripts/quest/q23620e.py b/scripts/quest/q23620e.py new file mode 100755 index 0000000..8ca6d8a --- /dev/null +++ b/scripts/quest/q23620e.py @@ -0,0 +1,42 @@ +# A Warm(er) Welcome ; Xenon level 200 quest + +CLAUDINE = 2151003 +BELLE = 1540431 +BRIGHTON = 1540554 +ELEX = 1540433 +CHECKY = 1540432 + +sm.flipDialoguePlayerAsSpeaker() +sm.sendNext("What is it, Claudine?") +sm.setSpeakerID(CLAUDINE) +sm.sendSay("It's nothing urgent, but...") +sm.setSpeakerID(BELLE) +sm.sendSay("When you arrived in Edelstein, there was no time for pleasantries. Now that things have settled down a little, I thought we should welcome you like we would welcome any other member of our family.") +sm.setSpeakerID(BRIGHTON) +sm.sendSay("it's just a little welcome...") +sm.setSpeakerID(ELEX) +sm.sendSay("Don't get too excited, I just want to make sure you were introduced to everybody.") +sm.setSpeakerID(CHECKY) +sm.sendSay("I always feel so weird doing this kind of stuff...") +sm.setSpeakerID(BELLE) +sm.sendSay("Checky! What are you talking about? We're part of the same team!") +sm.setSpeakerID(CHECKY) +sm.sendSay("I'm not technically an original member of this group and...") +sm.setSpeakerID(BRIGHTON) +sm.sendSay("Hey. We're here to welcome #h #. So get over it") +sm.flipDialoguePlayerAsSpeaker() +sm.sendSay("Hahaha... Thank you all.") +sm.sendSay("(Wait, something feels strange.)") +sm.sendSay("(For some reason, I feel like #rthis has happened before#k...)") +sm.setSpeakerID(CLAUDINE) +sm.sendSay("Something wrong, #h #? You wandered off there.") +sm.flipDialoguePlayerAsSpeaker() +sm.sendSay("Oh, it's nothing.") +sm.setSpeakerID(CLAUDINE) +sm.sendSay("All right. Well, we got you a little gift. I mean, sort of. It'll teach you a new skill. I hope you'll use this as your new source of power when things get dark.\r\n#Wbasic#\r\n#s30021005# #q30021005#\r\n#i1142579:# #t1142579:#") +if not sm.canHold(1142579): + sm.sendSayOkay("Please make some space in your equipment inventory.") + sm.dispose() +sm.completeQuest(parentID) +sm.giveItem(1142579) +sm.giveSkill(30021005) diff --git a/scripts/quest/q23620s.py b/scripts/quest/q23620s.py new file mode 100755 index 0000000..623550c --- /dev/null +++ b/scripts/quest/q23620s.py @@ -0,0 +1,12 @@ +# A Warm(er) Welcome ; Xenon Level 200 Quest + +CLAUDINE = 2151003 + +sm.setSpeakerID(CLAUDINE) +sm.sendNext("Hello, #b#h ##k? Do you have time to come by Edelstein?") +sm.flipDialoguePlayerAsSpeaker() +sm.sendSay("Is everything okay?") +sm.setSpeakerID(CLAUDINE) +if sm.sendAskYesNo("Yes, we're fine, but I could use your help. Can you come right away?"): + sm.startQuest(parentID) + sm.sendSayOkay("Come talk to me again later.") diff --git a/scripts/quest/q24002e.py b/scripts/quest/q24002e.py new file mode 100755 index 0000000..f247966 --- /dev/null +++ b/scripts/quest/q24002e.py @@ -0,0 +1,17 @@ +# Philius's Request + +PHILIUS = 1033202 + +sm.setSpeakerID(PHILIUS) +sm.sendNext("Maybe we're the lucky ones. " + "While we sleep, Maple World will heal from the terrible things the Black Mage has done. " + "I wonder what kind of world we'll wake up to?") + + +response = sm.sendAskYesNo("Your Highness, I will dream of a more beautiful world when we awaken...") + +if response: + sm.completeQuest(parentID) + sm.sendSayOkay("I wish you...sweet dreams...") + sm.startQuest(24005) # Cursed Slumber +sm.dispose() diff --git a/scripts/quest/q24003s.py b/scripts/quest/q24003s.py new file mode 100755 index 0000000..c75a5e2 --- /dev/null +++ b/scripts/quest/q24003s.py @@ -0,0 +1,6 @@ +# Peaceful Music ( Mercedes Intro ) +if sm.hasQuest(24000): # Astilda's Request + sm.startQuest(parentID) + sm.completeQuest(parentID) + sm.completeQuestNoRewards(24000) # Astilda's Request +sm.dispose() diff --git a/scripts/quest/q24004s.py b/scripts/quest/q24004s.py new file mode 100755 index 0000000..3eb7c46 --- /dev/null +++ b/scripts/quest/q24004s.py @@ -0,0 +1,11 @@ +# Barriers of Elluel + +sm.setSpeakerID(1033205) # Entrance to Elluel NPC +response = sm.sendAskYesNo("#b(You can see the wards to create the seal around Elluel. \r\n" + "Speaking the magic word will finisht eh spell, cutting the village off from the outside world for at least 100 years. \r\n" + "Activate the seal?)#k") + +if response: + sm.startQuestNoCheck(parentID) + sm.completeQuest(parentID) + sm.sendSayOkay("#b(The seal is complete, and the town is safe.)") diff --git a/scripts/quest/q24011e.py b/scripts/quest/q24011e.py new file mode 100755 index 0000000..1b2af6f --- /dev/null +++ b/scripts/quest/q24011e.py @@ -0,0 +1,4 @@ +if sm.getChr().getJob() == 2300: + sm.jobAdvance(2310) + sm.giveItem(1142337) + sm.completeQuest(parentID) diff --git a/scripts/quest/q24011s.py b/scripts/quest/q24011s.py new file mode 100755 index 0000000..a20c1e7 --- /dev/null +++ b/scripts/quest/q24011s.py @@ -0,0 +1,6 @@ +sm.setSpeakerID(1033210) # Great Spirit +response = sm.sendAskYesNo("Are you ready to take on great power?") + +if response: + sm.startQuest(parentID) +sm.dispose() diff --git a/scripts/quest/q24012s.py b/scripts/quest/q24012s.py new file mode 100755 index 0000000..04cb87e --- /dev/null +++ b/scripts/quest/q24012s.py @@ -0,0 +1,7 @@ +if sm.getChr().getJob() == 2310: + sm.jobAdvance(2311) + sm.setSpeakerID(1033210) + sm.sendSayOkay("I have advanced you to third job.") + sm.startQuest(parentID) + sm.completeQuest(parentID) +sm.dispose() diff --git a/scripts/quest/q24013s.py b/scripts/quest/q24013s.py new file mode 100755 index 0000000..2edb678 --- /dev/null +++ b/scripts/quest/q24013s.py @@ -0,0 +1,7 @@ +if sm.getChr().getJob() == 2311: + sm.jobAdvance(2312) + sm.setSpeakerID(1033210) + sm.sendSayOkay("I have advanced you to fourth job.") + sm.startQuest(parentID) + sm.completeQuest(parentID) +sm.dispose() diff --git a/scripts/quest/q25000s.py b/scripts/quest/q25000s.py new file mode 100755 index 0000000..60c461a --- /dev/null +++ b/scripts/quest/q25000s.py @@ -0,0 +1,13 @@ +sm.setSpeakerID(1402000) +sm.sendNext("All preparations complete. The #m150000000# is anchored directly above the Knight's Chamber and it does not appear that we have been spotted from below. ") +sm.sendSay("You will need to remain wary. The security in #m130000000# is currently on high alert. I suppose having this many of Maple World's leaders in one place warrants the rather excessive defense strategy they've adopted. ") +sm.sendSay("Still, they are only guards. It should not prove too difficult for a seasoned thief like yourself to slip past them unnoticed. Keep a close watch on their eyelines and you will be fine.") +sm.sendSay("The Lumiere will remain here until you return. Do not concern yourself with the pursuit. We'll keep the engine running.") + +response = sm.sendAskAccept("It is time for you to make your decision. Are you ready to infiltrate #m130000000#?") +if response: + sm.startQuestNoCheck(25000) + sm.sendSayOkay("I wish you luck.") +else: + sm.sendNext("The window of opportunity will not remain open forever.") +sm.dispose() \ No newline at end of file diff --git a/scripts/quest/q25500e.py b/scripts/quest/q25500e.py new file mode 100755 index 0000000..32b7951 --- /dev/null +++ b/scripts/quest/q25500e.py @@ -0,0 +1,8 @@ +# Created by MechAviv +# Quest ID :: 25500 +# Eclipse and Sunfire + +sm.setSpeakerID(1032209) +LIGHT = sm.getQuestEx(25502, "light") +DARK = sm.getQuestEx(25502, "dark") +sm.sendSayOkay("I guess you're not quite ready to fully control Light and Darkness. Why don't you practice a little more? You reached Sunfire #b" + str(LIGHT) + " times#k and Eclipse #b" + str(DARK) + " times#k.") \ No newline at end of file diff --git a/scripts/quest/q25500s.py b/scripts/quest/q25500s.py new file mode 100755 index 0000000..dde71af --- /dev/null +++ b/scripts/quest/q25500s.py @@ -0,0 +1,100 @@ +# Created by MechAviv +# Quest ID :: 25500 +# Eclipse and Sunfire + +sm.setSpeakerID(1032209) +sm.sendNext("It's time for you to harness the powers of light and dark, and make them your own.") + + +sm.setSpeakerID(1032209) +sm.setPlayerAsSpeaker() +sm.sendSay("#bHow does one go about doing such a thing?") + + +sm.setSpeakerID(1032209) +sm.sendSay("I wasn't done explaining. Look up, and to the right.\r\n#v3800300#\r\nCan you see something like this? A measure of your affinity for each side should be floating up there.") + + +sm.setSpeakerID(1032209) +sm.setPlayerAsSpeaker() +sm.sendSay("#bWhat are those wings?") + + +sm.setSpeakerID(1032209) +sm.sendSay("Those are the Light and Dark points you can accumulate. Each way will max out at five. When you first appear, you will have one Light or Dark Point. #rUsing the #v3800310#Eclipse#k skill once#k will consume one Dark Point and take you into #bEclipse status, where your heart is filled with darkness#k.\r\n#v3800301#") + + +sm.setSpeakerID(1032209) +sm.sendSay("Using Dark magic will give you more points, one by one.\r\n#v3800302#") + + +sm.setSpeakerID(1032209) +sm.sendSay("#rThese Dark Points can be used through the #v3800310#Eclipse skill#k. Going into Eclipse will allow you to#k #bcast magic with no MP deal 50% more Dark magic damage#k. Of course, if you use #b#v3800309#Sunfire buff#k, you will drive off the dark immediately.") + + +sm.setSpeakerID(1032209) +sm.setPlayerAsSpeaker() +sm.sendSay("#bI will never let darkness take my heart!") + + +sm.setSpeakerID(1032209) +sm.sendSay("Hahaha, I'm afraid you have very little choice, but do not worry. Dark is but the shadow cast by light. Neither is truly more good than the other. It is the person who controls that power that matters. And I'm sure #b#eyou'll#n#k handle it just fine, as opposed to...") + + +sm.setSpeakerID(1032209) +sm.setPlayerAsSpeaker() +sm.sendSay("#bThat's enough. How do I control this... curse?") + + +sm.setSpeakerID(1032209) +sm.sendSay("#bYou can wield both Light and Dark magic while using Eclipse. Just keep an eye on your points.\r\n#v3800303#") + + +sm.setSpeakerID(1032209) +sm.sendSay("Eclipse will remain active as long you still have points. #v3800310#, the Eclipse buff icon, will be on the top right. #bYour eye color and orb will change#k so that you can easily keep track.\r\n#v3800321#") + + +sm.setSpeakerID(1032209) +sm.sendSay("Dark magic is most powerful when your heart is full of darkness. #rUse Light Points in that state#k to fill your heart with Light#k.") + + +sm.setSpeakerID(1032209) +sm.sendSay("Conversely, #rwhen your heart is full of Light#k, the gauge will flash to let you know that you have activated Sunfire.\r\n#v3800304#") + + +sm.setSpeakerID(1032209) +sm.sendSay("The Sunfire buff icon #v3800309# will be displayed at the top right when #ryour heart is full of Light#k. #bYour eye color and orb will return to normal#k.\r\n#v3800320#") + + +sm.setSpeakerID(1032209) +sm.sendSay("The #bSunfire buff heals your HP by 1% with each cast, halves your MP cost, and lets you deal 50% more damage with Light magic. Very similar to Eclipse#k. You can still accumulate Light and Dark Points, just like Eclipse.\r\nYou'll return to Eclipse when you use Dark Points during Sunfire.") + + +sm.setSpeakerID(1032209) +sm.setPlayerAsSpeaker() +sm.sendSay("#bI will use whichever power fills my heart to crush the enemies of good! I will wrestle control of this violent beast that resides deep inside.") + + +sm.setSpeakerID(1032209) +sm.sendSay("See for yourself which skills are enhanced below the gauge if you don't know what to use.\r\n \r\n#v3800312# #v3800315#\r\nDid you get all that?") + + +sm.setSpeakerID(1032209) +sm.setPlayerAsSpeaker() +sm.sendSay("#bI must test these powers.") + + +sm.setSpeakerID(1032209) +if sm.sendAskAccept("Yes, yes, very well. I hope you took notes, because I'm tired of giving lectures. Just go out and... I don't know... #bfill up both your light and dark completely#k. That'll be good practice."): + sm.startQuest(25500) + sm.setQuestEx(25502, "light", "0") + sm.setQuestEx(25502, "dark", "0") + sm.setQuestEx(25502, "mix", "0") + sm.setSpeakerID(1032209) + sm.removeEscapeButton() + sm.sendNext("Talk to me again after you have filled up each side once.") +else: + sm.setSpeakerID(1032209) + sm.sendSayOkay("You'll never get a handle on your powers if you don't practice. When did you get so lazy?") + + diff --git a/scripts/quest/q25503e.py b/scripts/quest/q25503e.py new file mode 100755 index 0000000..ba31294 --- /dev/null +++ b/scripts/quest/q25503e.py @@ -0,0 +1,12 @@ +# Created by MechAviv +# Quest ID :: 25503 +# Pressure Void Appreciation + +sm.setSpeakerID(1032209) +sm.sendNext("How was it? Did you fry yourself?") + + +sm.completeQuest(25503) +sm.giveExp(3000) +sm.setSpeakerID(1032209) +sm.sendPrev("#fUI/UIWindow2.img/QuestIcon/4/0#\r\n#fUI/UIWindow2.img/QuestIcon/8/0# 3000 exp\r\n\r\nYour retinas look relatively uncharred. Good work!") \ No newline at end of file diff --git a/scripts/quest/q25503s.py b/scripts/quest/q25503s.py new file mode 100755 index 0000000..9783f6a --- /dev/null +++ b/scripts/quest/q25503s.py @@ -0,0 +1,34 @@ +# Created by MechAviv +# Quest ID :: 25503 +# Pressure Void Appreciation + +sm.setSpeakerID(1032209) +sm.sendNext("Good job on your 2nd Job Advancement, pal. Have you tried out Pressure Void yet? It's pretty hip...") + + +sm.setSpeakerID(1032209) +sm.setPlayerAsSpeaker() +sm.sendSay("#bI haven't tried it yet.") + + +sm.setSpeakerID(1032209) +sm.sendSay("Isn't that what you're supposed to DO when you get stronger? Try out all the fancy new spells? Back in my day-- actually, that story's pretty raunchy. Let me just tell you, Pressure Void is dangerous to use, but man it is something else to see...") + + +sm.setSpeakerID(1032209) +sm.setPlayerAsSpeaker() +sm.sendSay("#bI will devote myself to its mastery.") + + +sm.setSpeakerID(1032209) +if sm.sendAskAccept("Then get started right now! Use Pressure Void to crush three #b#o3501000##k monsters near Ellinel."): + sm.startQuest(25503) + sm.setSpeakerID(1032209) + sm.sendNext("Remember to aim up and down while you hold down the skill!!") + + sm.showFieldEffect("lightning/skillTuto/0", 0) +else: + sm.setSpeakerID(1032209) + sm.sendSayOkay("You'd better get used to this one...") + + diff --git a/scripts/quest/q25510s.py b/scripts/quest/q25510s.py new file mode 100755 index 0000000..bb298b8 --- /dev/null +++ b/scripts/quest/q25510s.py @@ -0,0 +1,34 @@ +# Created by MechAviv +# Quest ID :: 25510 +# The Middle Road + +sm.setSpeakerID(1032209) +sm.removeEscapeButton() +sm.sendNext("Luminous! Snap out of it, will you? I'll resonate with the power of Light and draw the Dark out of you. Maybe then you'll come to your senses.") + + +sm.setSpeakerID(1032209) +sm.removeEscapeButton() +sm.setPlayerAsSpeaker() +sm.sendSay("(Vieren's voice seems to be calming me. Peculiar.)") + + +sm.setSpeakerID(1032209) +sm.removeEscapeButton() +sm.setPlayerAsSpeaker() +sm.sendSay("The Dark no longer clouds my mind. You have my thanks.") + + +sm.setSpeakerID(1032209) +sm.removeEscapeButton() +sm.sendSay("It was nothing. All I did was help you find the strength to control your Dark. Here, this Aurora Prism will let you come and go as you please.") + +sm.giveItem(2430874) +sm.setJob(2710) +sm.giveSkill(27101100, 1, 20) +sm.giveSkill(27101202, 1, 20) +sm.addSP(2, True) +# Unhandled Stat Changed [MMP] Packet: 00 00 00 20 00 00 00 00 00 00 D3 11 00 00 FF 00 00 00 00 +# Unhandled Stat Changed [MP] Packet: 00 00 00 10 00 00 00 00 00 00 43 15 00 00 FF 00 00 00 00 +sm.startQuest(25510) +sm.completeQuest(25510) \ No newline at end of file diff --git a/scripts/quest/q25511s.py b/scripts/quest/q25511s.py new file mode 100755 index 0000000..3e68eac --- /dev/null +++ b/scripts/quest/q25511s.py @@ -0,0 +1,23 @@ +# 25511 - [Job Adv] (Lv.60) The Power of Crystals +sm.removeEscapeButton() +sm.setSpeakerID(1032209) +sm.sendNext("Luminous, I've gathered the power of all the Auguries") +sm.sendNext("I'll use this power to melt the Dark right out of you.") +sm.sendNext("Remember, it's up to you to conquer your darkness. The Auguries will only help so much.") +sm.setPlayerAsSpeaker() +sm.sendNext("Have faith. I won't let the Dark take me again!") +sm.setSpeakerID(1032209) +sm.sendNext("Focus on this saying: #b #kOkay, here we go!") +sm.setPlayerAsSpeaker() +sm.sendNext("AAAUGH!") +sm.setSpeakerID(1032209) +sm.sendNext("You did it! That wasn't so bad, was it?") +sm.setPlayerAsSpeaker() +sm.sendNext("(What is this new energy that courses through my body? It's as though the Light and Dark merged into one...)") +sm.setSpeakerID(1032209) +sm.sendNext("You should rest up for now. We can talk later.") +sm.setJob(2711) +sm.startQuest(parentID) +sm.completeQuest(parentID) +sm.addSP(4) + diff --git a/scripts/quest/q25512s.py b/scripts/quest/q25512s.py new file mode 100755 index 0000000..281885f --- /dev/null +++ b/scripts/quest/q25512s.py @@ -0,0 +1,9 @@ +# 25511 - [Job Adv] (Lv.100) Epiphany +sm.removeEscapeButton() +sm.setPlayerAsSpeaker() +sm.sendNext("(I feel the Light and Dark within me coming together, merging into a new kind of energy!)") +sm.sendNext("(I've reached a new level of balance between the Light and Dark.)") +sm.setJob(2712) +sm.startQuest(parentID) +sm.completeQuest(parentID) +sm.addSP(3) \ No newline at end of file diff --git a/scripts/quest/q25530s.py b/scripts/quest/q25530s.py new file mode 100755 index 0000000..cf3aba2 --- /dev/null +++ b/scripts/quest/q25530s.py @@ -0,0 +1,48 @@ +# Created by MechAviv +# Quest ID :: 25530 +# Sojourn's End + +sm.setSpeakerID(1032205) +sm.sendNext("Don't be so hard on yourself, okay? It wasn't your fault...") + + +sm.setSpeakerID(1032206) +sm.flipDialogue() +sm.sendSay("Really? Then who was it that blew up our house?!!") + + +sm.setSpeakerID(1032205) +sm.setPlayerAsSpeaker() +sm.sendSay("I am afraid it is my responsibility, #p1032206#. I have hidden myself these past years in a life I had only dreamt of, but if my power were to harm you again...") + + +sm.setSpeakerID(1032205) +sm.sendSay("Don't try to make this about me! We can find a way around this. Don't leave...") + + +sm.setSpeakerID(1032205) +sm.setPlayerAsSpeaker() +sm.sendSay("I must. If I do not drive the darkness from my heart, there will be no future for us. I will return when my quest is complete.") + + +sm.setSpeakerID(1032205) +sm.sendSay("You don't have to do this...") + + +sm.setSpeakerID(1032205) +sm.setPlayerAsSpeaker() +sm.sendSay("I swear, it is the only course of action that will keep us safe. Penny will protect you while I am away.") + + +sm.setSpeakerID(1032206) +sm.flipDialogue() +sm.sendSay("That's what I do! I'll scare everybody off, meow!") + + +sm.setSpeakerID(1032205) +sm.setPlayerAsSpeaker() +sm.sendSay("(Why do I keep thinking about the time I left Harmony? This will be different!)\r\nYou had better. I... will see you both soon.") + +sm.startQuest(parentID) +sm.completeQuest(parentID) +sm.giveExp(480) \ No newline at end of file diff --git a/scripts/quest/q25531s.py b/scripts/quest/q25531s.py new file mode 100755 index 0000000..0336190 --- /dev/null +++ b/scripts/quest/q25531s.py @@ -0,0 +1,65 @@ +# Created by MechAviv +# Quest ID :: 25531 +# Light Reborn +from net.swordie.ms.enums import UIType + + +sm.curNodeEventEnd(True) +sm.setTemporarySkillSet(0) +sm.setInGameDirectionMode(True, True, False, False) +sm.sendDelay(1000) + + +sm.setSpeakerID(0) +sm.removeEscapeButton() +sm.flipDialoguePlayerAsSpeaker() +sm.setSpeakerType(3) +sm.sendNext("To stop the power of darkness, I must first recover the power of light.") + + +sm.setSpeakerID(0) +sm.removeEscapeButton() +sm.flipDialoguePlayerAsSpeaker() +sm.setSpeakerType(3) +sm.sendSay("I can still feel the light's warmth deep within my heart. The darkness has not hidden it completely...") + + +sm.setSpeakerID(0) +sm.removeEscapeButton() +sm.flipDialoguePlayerAsSpeaker() +sm.setSpeakerType(3) +sm.sendSay("I must find my center once more. Remember the teachings of Aurora. Balance, harmony, courage...") + +sm.startQuest(25531) +sm.completeQuest(25531) +sm.giveExp(762) +sm.giveAndEquip(1212001) +sm.giveAndEquip(1352400) +sm.giveItem(2001502, 30) +sm.giveItem(2001506, 30) +sm.sendDelay(900) + + +sm.setSpeakerID(0) +sm.removeEscapeButton() +sm.flipDialoguePlayerAsSpeaker() +sm.setSpeakerType(3) +sm.sendNext("The power of light embraces me! This darkness will not prevail.") + + +sm.sendDelay(900) + + +sm.progressMessageFont(3, 20, 20, 0, "Level up to increase your stats. Hotkey [S] / Secondary Key [C]") +sm.sendDelay(1500) + + +sm.openUI(UIType.UI_STAT) +sm.sendDelay(900) + + +sm.setTemporarySkillSet(0) +sm.setInGameDirectionMode(False, True, False, False) +# Unhandled Stat Changed [16640] Packet: 01 00 00 41 00 00 00 00 00 00 3F 00 00 00 FF 00 00 01 1A 00 +# Inventory Operation with 1 operations. +# [SET_ACTIVE_EMOTICON_ITEM] [0A 56 D3 00 00 00 00 00 00 00 00 00 ] diff --git a/scripts/quest/q25532s.py b/scripts/quest/q25532s.py new file mode 100755 index 0000000..8b915e6 --- /dev/null +++ b/scripts/quest/q25532s.py @@ -0,0 +1,60 @@ +# Created by MechAviv +# Quest ID :: 25532 +# Rehabilitation +from net.swordie.ms.enums import UIType + + +sm.curNodeEventEnd(True) +sm.setTemporarySkillSet(0) +sm.setInGameDirectionMode(True, True, False, False) +sm.sendDelay(1000) + + +sm.setSpeakerID(0) +sm.removeEscapeButton() +sm.flipDialoguePlayerAsSpeaker() +sm.setSpeakerType(3) +sm.sendNext("I must never turn from the Light again. My full power is not yet restored, but it is only a matter of time.") + + +sm.setSpeakerID(0) +sm.removeEscapeButton() +sm.flipDialoguePlayerAsSpeaker() +sm.setSpeakerType(3) +sm.sendSay("But Lania will be easy prey to the monsters here when I'm gone. I should see to them before I leave.") + + +sm.setSpeakerID(0) +sm.removeEscapeButton() +sm.flipDialoguePlayerAsSpeaker() +sm.setSpeakerType(3) +sm.sendSay("My enemies await on the other side of that portal. My Light will cleanse them from Maple World!") + +sm.startQuest(25532) +sm.sendDelay(900) + + +sm.progressMessageFont(3, 20, 20, 0, "Level up to increase your skill level. Skills can be assigned to hotkeys. Hotkey [K]") +sm.sendDelay(1500) + + +sm.openUIWithOption(UIType.UI_SKILL, 27001100) +sm.sendDelay(1500) + + +sm.setSpeakerID(0) +sm.removeEscapeButton() +sm.flipDialoguePlayerAsSpeaker() +sm.setSpeakerType(3) +sm.sendNext("You should level up Flash Shower, your basic attack skill. Assign it to your hotkeys and get ready to use it.") + + +sm.sendDelay(600) + + +sm.sendDelay(900) +sm.avatarOriented("UI/tutorial.img/8") + + +sm.setTemporarySkillSet(0) +sm.setInGameDirectionMode(False, True, False, False) \ No newline at end of file diff --git a/scripts/quest/q25533s.py b/scripts/quest/q25533s.py new file mode 100755 index 0000000..58dd6ba --- /dev/null +++ b/scripts/quest/q25533s.py @@ -0,0 +1,29 @@ +# Created by MechAviv +# Quest ID :: 25533 +# The Guardian Returns + +sm.setSpeakerID(0) +sm.removeEscapeButton() +sm.flipDialoguePlayerAsSpeaker() +sm.setSpeakerType(3) +sm.sendNext("The first step is to find out what has happened to this world while I was gone. And what of those who fought beside me? What of Aurora and it's masters? I must find the answers.") + + +sm.setSpeakerID(0) +sm.removeEscapeButton() +sm.flipDialoguePlayerAsSpeaker() +sm.setSpeakerType(3) +sm.sendSay("Perhaps the nearby village will have answers for me.") + + +sm.setSpeakerID(0) +sm.removeEscapeButton() +sm.flipDialoguePlayerAsSpeaker() +sm.setSpeakerType(3) +sm.sendSay("The world has changed in my years of slumber. Thankfully, I have a map I can check by pressing #b#e[W] (basic key setting) or [N] (secondary key settings)#n#k.") + +sm.startQuest(25533) +sm.completeQuest(25533) +sm.giveExp(900) +sm.startQuest(25559) +sm.warp(101000000, 15) diff --git a/scripts/quest/q25560s.py b/scripts/quest/q25560s.py new file mode 100755 index 0000000..6f6b18d --- /dev/null +++ b/scripts/quest/q25560s.py @@ -0,0 +1,60 @@ +# Created by MechAviv +# Quest ID :: 25560 +# Containing Darkness +from net.swordie.ms.enums import UIType + + +sm.curNodeEventEnd(True) +sm.setTemporarySkillSet(0) +sm.setInGameDirectionMode(True, True, False, False) +sm.sendDelay(1000) + + +sm.setSpeakerID(0) +sm.removeEscapeButton() +sm.flipDialoguePlayerAsSpeaker() +sm.setSpeakerType(3) +sm.sendNext("Is this how the Black Mage understood the world? I see now that everyone else is beneath me!") + + +sm.setSpeakerID(0) +sm.removeEscapeButton() +sm.flipDialoguePlayerAsSpeaker() +sm.setSpeakerType(3) +sm.sendSay("My soul was almost lost to the power of darkness. I see its appeal, but I would not have it erode my entire being. I will learn to harness it, and make it my own. ") + + +sm.setSpeakerID(0) +sm.removeEscapeButton() +sm.flipDialoguePlayerAsSpeaker() +sm.setSpeakerType(3) +sm.sendSay("But first, I must master my new magic. My old weapons of Light will now be tools of the Dark.") + + +sm.giveAndEquip(1212001) +sm.giveAndEquip(1352400) +sm.giveItem(2001502, 30) +sm.giveItem(2001506, 30) +sm.startQuest(25560) +sm.completeQuest(25560) +sm.giveExp(1280) +sm.setSpeakerID(0) +sm.removeEscapeButton() +sm.flipDialoguePlayerAsSpeaker() +sm.setSpeakerType(3) +sm.sendSay("Yes, it feels good to have a weapon in my hands once more. Now, who shall I test my new powers on first...") + + +sm.sendDelay(900) + + +sm.progressMessageFont(3, 20, 20, 0, "Level up to increase your stats. Hotkey [S] / Secondary Key [C]") +sm.sendDelay(1500) + + +sm.openUI(UIType.UI_STAT) +sm.sendDelay(900) + + +sm.setTemporarySkillSet(0) +sm.setInGameDirectionMode(False, True, False, False) \ No newline at end of file diff --git a/scripts/quest/q25561s.py b/scripts/quest/q25561s.py new file mode 100755 index 0000000..3ede8d8 --- /dev/null +++ b/scripts/quest/q25561s.py @@ -0,0 +1,47 @@ +# Created by MechAviv +# Quest ID :: 25561 +# The Power Is Yours +from net.swordie.ms.enums import UIType + + +sm.curNodeEventEnd(True) +sm.setTemporarySkillSet(0) +sm.setInGameDirectionMode(True, False, False, False) +sm.sendDelay(1000) + + +sm.setSpeakerID(0) +sm.removeEscapeButton() +sm.flipDialoguePlayerAsSpeaker() +sm.setSpeakerType(3) +sm.sendNext("I must test the limits of both light and darkness.") + + +sm.sendDelay(900) + + +sm.progressMessageFont(3, 20, 20, 0, "Level up to increase your skill level. Skills can be assigned to hotkeys. Hotkey [K]") +sm.sendDelay(1500) + + +sm.openUIWithOption(UIType.UI_SKILL, 27001201) +sm.sendDelay(1500) + + +sm.setSpeakerID(0) +sm.removeEscapeButton() +sm.flipDialoguePlayerAsSpeaker() +sm.setSpeakerType(3) +sm.sendNext("I can add Abyssal Drop to my hotkeys and use it to annihilate #b10 Bubblings#k.") + + +sm.sendDelay(600) + + +sm.sendDelay(900) +sm.avatarOriented("UI/tutorial.img/8") + + +sm.startQuest(25561) +sm.setTemporarySkillSet(0) +sm.setInGameDirectionMode(False, True, False, False) \ No newline at end of file diff --git a/scripts/quest/q25562s.py b/scripts/quest/q25562s.py new file mode 100755 index 0000000..a0f7870 --- /dev/null +++ b/scripts/quest/q25562s.py @@ -0,0 +1,33 @@ +# Created by MechAviv +# Quest ID :: 25562 +# Fostering the Dark + +sm.setSpeakerID(0) +sm.flipDialoguePlayerAsSpeaker() +sm.setSpeakerType(3) +sm.sendNext("Dark magic is so much easier than light...") + + +sm.setSpeakerID(0) +sm.flipDialoguePlayerAsSpeaker() +sm.setSpeakerType(3) +sm.sendSay("But I do not fully understand it. With every minor touch, I feel the lust for destruction well up within me. It would be foolish to use this power without more understanding.") + + +sm.setSpeakerID(0) +sm.removeEscapeButton() +sm.flipDialoguePlayerAsSpeaker() +sm.setSpeakerType(3) +sm.sendSay("It's time I left this forest and found some answers.") + + +sm.setSpeakerID(0) +sm.removeEscapeButton() +sm.flipDialoguePlayerAsSpeaker() +sm.setSpeakerType(3) +sm.sendSay("The world has changed in the last few centuries. Thankfully, I have a map I can check by pressing #b#e[W] (basic key setting) or [N] (secondary key settings)#n#k.") + +sm.startQuest(25562) +sm.completeQuest(25562) +sm.giveExp(900) +sm.startQuest(25559) \ No newline at end of file diff --git a/scripts/quest/q25566e.py b/scripts/quest/q25566e.py new file mode 100755 index 0000000..f466749 --- /dev/null +++ b/scripts/quest/q25566e.py @@ -0,0 +1,12 @@ +# Created by MechAviv +# Quest ID :: 25566 +# Terror of the Library + +sm.setSpeakerID(0) +sm.flipDialoguePlayerAsSpeaker() +sm.setSpeakerType(3) +sm.sendNext("Does this library have no filing system? How am I supposed to find anything in this mess?") + + +sm.completeQuest(25566) +sm.giveExp(1068) diff --git a/scripts/quest/q25566s.py b/scripts/quest/q25566s.py new file mode 100755 index 0000000..08f42a8 --- /dev/null +++ b/scripts/quest/q25566s.py @@ -0,0 +1,33 @@ +# Created by MechAviv +# Quest ID :: 25566 +# Terror of the Library + +sm.setSpeakerID(1032208) +sm.sendNext("What are you doing? This is a PUBLIC library!") + + +sm.setSpeakerID(1032208) +sm.setPlayerAsSpeaker() +sm.sendSay("Out of my way, child!") + + +sm.setSpeakerID(1032208) +sm.sendSay("You can't just do whatever you want!") + + +sm.setSpeakerID(1032208) +sm.setPlayerAsSpeaker() +sm.sendSay("Oh? How do you intend to stop me?") + + +sm.setSpeakerID(1032208) +sm.sendSay("Uh... Gulp!") + + +sm.setSpeakerID(1032208) +sm.removeEscapeButton() +sm.setPlayerAsSpeaker() +sm.sendSay("Begone! I've no time for the likes of you.") + + +sm.startQuest(25566) diff --git a/scripts/quest/q25567s.py b/scripts/quest/q25567s.py new file mode 100755 index 0000000..38fb2b8 --- /dev/null +++ b/scripts/quest/q25567s.py @@ -0,0 +1,43 @@ +# Created by MechAviv +# Quest ID :: 25567 +# Killing Time + +sm.setSpeakerID(1032208) +sm.sendNext("E-excuse me... You can't just go digging through the books like that...") + + +sm.setSpeakerID(1032208) +sm.setPlayerAsSpeaker() +sm.sendSay("There is something I need immediately. I must find it before the darkness swallows me whole.") + + +sm.setSpeakerID(1032208) +sm.sendSay("J-just let me help! Grendel will light my hair on fire if he sees the library like this. What are you looking for?") + + +sm.setSpeakerID(1032208) +sm.sendSay("R-right. I actually know all about this...") + + +sm.setSpeakerID(1032208) +sm.sendSay("O-okay! Just don't hurt me, please...") + + +sm.setSpeakerID(1032208) +sm.setPlayerAsSpeaker() +sm.sendSay("Do not fear, I would not harm you. I must go and unleash the fury within me upon some monsters before I am unable to bear it any longer. Please look for the book while I am away... ") + + +sm.setSpeakerID(1032208) +sm.removeEscapeButton() +sm.setPlayerAsSpeaker() +sm.sendSay("Some Royal Fairies would make acceptable target practice.") + + +sm.setSpeakerID(1032208) +sm.removeEscapeButton() +sm.setPlayerAsSpeaker() +sm.sendSay("This old Teleport Scroll will take me where I must go.") + + +sm.startQuest(25567) diff --git a/scripts/quest/q25568s.py b/scripts/quest/q25568s.py new file mode 100755 index 0000000..b26e0e6 --- /dev/null +++ b/scripts/quest/q25568s.py @@ -0,0 +1,17 @@ +# Created by MechAvive +# Quest ID :: 25568 +# Moth-Eaten Scroll + +sm.setSpeakerID(0) +sm.flipDialoguePlayerAsSpeaker() +sm.setSpeakerType(3) +sm.sendNext("The Aurora emblem is dimmer than I remember, but this is it. Is it the scroll's age, or the darkness within me?") + + +sm.setSpeakerID(0) +sm.removeEscapeButton() +sm.flipDialoguePlayerAsSpeaker() +sm.setSpeakerType(3) +sm.sendSay("Little matter. Time to see what secrets this scroll holds.\r\n#b#k") + +sm.startQuest(25568) diff --git a/scripts/quest/q25569s.py b/scripts/quest/q25569s.py new file mode 100755 index 0000000..4d9a5b4 --- /dev/null +++ b/scripts/quest/q25569s.py @@ -0,0 +1,5 @@ +# Created by MechAviv +# Quest ID :: 25569 +# Dark Rage + +sm.warp(910142041, 0) diff --git a/scripts/quest/q25572s.py b/scripts/quest/q25572s.py new file mode 100755 index 0000000..87653bf --- /dev/null +++ b/scripts/quest/q25572s.py @@ -0,0 +1,55 @@ +# Created by MechAviv +# Quest ID :: 25572 +# Grendel's Deal + +sm.setSpeakerID(1032001) +sm.sendNext("Where did you learn Dark magic? Not just anyone can pick it up.") + + +sm.setSpeakerID(1032001) +sm.setPlayerAsSpeaker() +sm.sendSay("It is no business of yours. Now, if you value your life, you'll tell me all you know of the darkness.") + + +sm.setSpeakerID(1032001) +sm.sendSay("I could spend all year teaching you about Dark magic, but why should I? Especially after what you did to Lolo...") + + +sm.setSpeakerID(1032001) +sm.setPlayerAsSpeaker() +sm.sendSay("You should thank me for ridding you of that pest!") + + +sm.setSpeakerID(1032001) +sm.sendSay("Power of dark consumed you more than expected. I may be old, I'm no pushover.") + + +sm.setSpeakerID(1032001) +sm.setPlayerAsSpeaker() +sm.sendSay("Ah, power of darkness is still trying to come out. I don't mean all those belligerent words that are coming out. Please understand. Whew... what should I do?") + + +sm.setSpeakerID(1032001) +sm.sendSay("Harumph! At this rate, we're liable to blow each other to smithereens. Why don't we discuss this like civilized people? I'm sure we can make a deal of some sort.") + + +sm.setSpeakerID(1032001) +sm.setPlayerAsSpeaker() +sm.sendSay("Tell me what I must do.") + + +sm.setSpeakerID(1032001) +sm.sendSay("Give me just a second. Let's see here...") + + +sm.setSpeakerID(1032001) +sm.sendSay("The monsters around Ellinia have been causing a ruckus lately. If you take care of them for me, then I'll find what you're looking for.") + + +sm.setSpeakerID(1032001) +sm.removeEscapeButton() +sm.sendSay("(I've never felt such darkness before. Is this my karma for dabbling in Dark magic when I was a kid? Don't worry, Lolo. I'll save you...)") + +sm.startQuest(25572) +sm.completeQuest(25572) +sm.giveExp(1001) \ No newline at end of file diff --git a/scripts/quest/q25578s.py b/scripts/quest/q25578s.py new file mode 100755 index 0000000..faf1cf7 --- /dev/null +++ b/scripts/quest/q25578s.py @@ -0,0 +1,31 @@ +# Created by MechAviv +# Quest ID :: 25578 +# The Sanctum of Harmony + +sm.setSpeakerID(0) +sm.flipDialoguePlayerAsSpeaker() +sm.setSpeakerType(3) +sm.sendNext("For your sake, you'd better deliver.") + + +sm.setSpeakerID(1032204) +sm.flipDialogue() +sm.setSpeakerType(3) +sm.sendSay("The path to Aurora is clear. All one must do is open his mind...") + + +sm.setSpeakerID(1032204) +sm.flipDialogue() +sm.setSpeakerType(3) +sm.sendSay("...The path to Aurora is guarded by four paradoxes: #k.") + + +sm.setSpeakerID(0) +sm.removeEscapeButton() +sm.flipDialoguePlayerAsSpeaker() +sm.setSpeakerType(3) +sm.sendSay("So, I must solve these paradoxes to reach Aurora. If I still had Light magic, I could get there easily. But the power of Dark is a worthy trade...") + +sm.startQuest(25578) +sm.completeQuest(25578) +sm.giveExp(2100) diff --git a/scripts/quest/q25584s.py b/scripts/quest/q25584s.py new file mode 100755 index 0000000..42341b7 --- /dev/null +++ b/scripts/quest/q25584s.py @@ -0,0 +1,50 @@ +# Created by MechAviv +# Quest ID :: 25584 +# Secret Ritual + +sm.setSpeakerID(1032001) +sm.sendNext("And that concludes our deal. Goodbye, farewell, and don't let the door hit your butt on the way out!") + + +sm.setSpeakerID(1032001) +sm.setPlayerAsSpeaker() +sm.sendSay("Not so fast. There's one more thing I need.") + + +sm.setSpeakerID(1032001) +sm.sendSay("What is it now? I've helped you enough!") + + +sm.setSpeakerID(1032001) +sm.setPlayerAsSpeaker() +sm.sendSay("Calm yourself, old man. All I need is a secluded place to do my ritual. Preferably someplace with an ample supply of magical energy.") + + +sm.setSpeakerID(1032001) +sm.sendSay("Hm. I know just the place. The Black Wings used to hold their meetings there; seems like a good fit for someone like you. Head to the #beast end of the Golem Temple Entrance#k and take the portal. #bDouble-click on the Vampiric Lantern#k to teleport nearby.") + + +sm.setSpeakerID(1032001) +sm.setPlayerAsSpeaker() +sm.sendSay("By my virtue, I will return Lolo to you now. I.. believe I have enough control over the power of darkness to do so.") + + +sm.setSpeakerID(1032001) +sm.sendSay("I am glad you didn't forget. Perhaps the darkness has not claimed you entirely just yet.") + + +sm.startQuest(25584) +sm.setSpeakerID(1032208) +sm.removeEscapeButton() +sm.flipDialogue() +sm.sendSay("G-G-Grendel! It was dark and cold and I was s-s-s-scared!!") + + +sm.setSpeakerID(1032001) +sm.removeEscapeButton() +sm.sendSay("Lolo! You're safe!") + + +sm.setSpeakerID(1032001) +sm.removeEscapeButton() +sm.sendPrev("Heed my words. The power of darkness is much more dangerous than you think. Learn to control it before the worst happens.") diff --git a/scripts/quest/q25585s.py b/scripts/quest/q25585s.py new file mode 100755 index 0000000..df9bf92 --- /dev/null +++ b/scripts/quest/q25585s.py @@ -0,0 +1,24 @@ +# Created by MechAviv +# Quest ID :: 25585 +# Harmony + +sm.setSpeakerID(0) +sm.flipDialoguePlayerAsSpeaker() +sm.setSpeakerType(3) +sm.sendNext("Yes, the energies are resonating. The path to Harmony is about to open.") + + +sm.setSpeakerID(0) +sm.flipDialoguePlayerAsSpeaker() +sm.setSpeakerType(3) +sm.sendSay("With the power of Aurora, I will have absolute control over the Dark. I must not let it overcome me.") + + +sm.setSpeakerID(0) +sm.removeEscapeButton() +sm.flipDialoguePlayerAsSpeaker() +sm.setSpeakerType(3) +sm.sendSay("Now all I must do to reach Harmony is use the Vampiric Lantern...") + + +sm.startQuest(25585) \ No newline at end of file diff --git a/scripts/quest/q25586s.py b/scripts/quest/q25586s.py new file mode 100755 index 0000000..6a5e139 --- /dev/null +++ b/scripts/quest/q25586s.py @@ -0,0 +1,39 @@ +# Created by MechAviv +# Quest ID :: 25586 +# Light Versus Dark + +sm.setSpeakerID(1032209) +sm.sendNext("Luminous? Is that you? But what's this darkness I'm sensing on you?") + + +sm.setSpeakerID(1032209) +sm.flipDialoguePlayerAsSpeaker() +sm.sendSay("You yet live? What a surprise.") + + +sm.setSpeakerID(1032209) +sm.sendSay("Luminous!") + + +sm.setSpeakerID(1032209) +sm.flipDialoguePlayerAsSpeaker() +sm.sendSay("You've no need to worry! I've finally seen the light, as it were. I've claimed the power of the Dark!") + + +sm.setSpeakerID(1032209) +sm.sendSay("Huh. Luminous, the guardian of Light and hero who defeated the Black Mage, now a Dark Magician himself...") + + +sm.setSpeakerID(1032209) +sm.flipDialoguePlayerAsSpeaker() +sm.sendSay("You should try it for yourself, Vieren. It feels...indescribable!") + + +sm.setSpeakerID(1032209) +sm.removeEscapeButton() +sm.sendSay("...") + +sm.startQuest(25586) +sm.completeQuest(25586) +sm.giveExp(9136) +sm.warp(910142050, 0) diff --git a/scripts/quest/q25588s.py b/scripts/quest/q25588s.py new file mode 100755 index 0000000..313df7f --- /dev/null +++ b/scripts/quest/q25588s.py @@ -0,0 +1,47 @@ +# Created by MechAviv +# Quest ID :: 25588 +# Seeking Serenity + +sm.setSpeakerID(1032209) +sm.sendNext("You aren't out of the woods yet. You never know when the Dark might claim you again.") + + +sm.setSpeakerID(1032209) +sm.setPlayerAsSpeaker() +sm.sendSay("You're right. I cannot let my guard down.") + + +sm.setSpeakerID(1032209) +sm.sendSay("Why don't you try making the darkness yours?") + + +sm.setSpeakerID(1032209) +sm.setPlayerAsSpeaker() +sm.sendSay("Is such a thing even possible?") + + +sm.setSpeakerID(1032209) +sm.sendSay("I already told you, Light and Dark are practically the same thing! Don't worry, I'll help. Maybe we can even grant our teacher's dying wish.") + + +sm.setSpeakerID(1032209) +sm.setPlayerAsSpeaker() +sm.sendSay("The master had a dying wish?") + + +sm.setSpeakerID(1032209) +sm.sendSay("Yes. How'd it go again? Ahem! #rWhoever wants to conquer the Dark must collect the Auguries and combine their strength.#k And I happen to know where the Auguries are.") + + +sm.setSpeakerID(1032209) +sm.setPlayerAsSpeaker() +sm.sendSay("I suppose we should gather them.") + + +sm.setSpeakerID(1032209) +sm.removeEscapeButton() +sm.sendSay("There are 5 Auguries all together. We'll start with #bthe first two#k for now, and worry about the others later.") + +sm.startQuest(25588) +sm.completeQuest(25588) +sm.giveExp(1529) diff --git a/scripts/quest/q25589s.py b/scripts/quest/q25589s.py new file mode 100755 index 0000000..7b64121 --- /dev/null +++ b/scripts/quest/q25589s.py @@ -0,0 +1,33 @@ +# Created by MechAviv +# Quest ID :: 25589 +# Finding the First Augury + +sm.setSpeakerID(1032209) +sm.sendNext("Ordinary folk can't see them, but those of us with the power of Light can make 'em come out just by being nearby.") + + +sm.setSpeakerID(1032209) +sm.setPlayerAsSpeaker() +sm.sendSay("This task will hardly be challenging.") + + +sm.setSpeakerID(1032209) +sm.sendSay("Don't speak to soon! They're hidden in some pretty dangerous places. The first Augury is held by one of the greedy monster kings of Victoria Island.") + + +sm.setSpeakerID(1032209) +sm.sendSay("I'm suspicious of the Mole King of #bEllinel Fairy Academy#k, to the northeast of Victoria Island. He is, to put it simply, the worst. ") + + +sm.setSpeakerID(1032209) +sm.sendSay("Thing is, I've heard that the fairies're in trouble. You'll probably have to help them out before you can get the Augury. #bAnyway, I'll send you on your way.#k") + + +sm.setSpeakerID(1032209) +sm.removeEscapeButton() +sm.sendSay("When you get there, look for #bFanzy#k the cat. Use the Aurora Prism when you want to return.") + + +sm.startQuest(25589) +#sm.createQuestWithQRValue(32147, "0") +#sm.warp(101030000, 0) \ No newline at end of file diff --git a/scripts/quest/q2560s.py b/scripts/quest/q2560s.py new file mode 100755 index 0000000..f1b8896 --- /dev/null +++ b/scripts/quest/q2560s.py @@ -0,0 +1,15 @@ +MONKEY = 1096003 + +sm.setSpeakerID(MONKEY) +sm.sendNext("Ooook! Ook! Ook!") + +sm.setPlayerAsSpeaker() +sm.sendSay("Well, that hit the spot, but... I still don't understand what happened. Where's the ship? Hey, do you know what happened to me?") + + +sm.setSpeakerID(MONKEY) +if sm.sendAskAccept("Oook! (The monkey nods. Does he really know what's going on? Couldn't hurt to ask.)"): + sm.startQuest(parentID) +else: + sm.sendNext("Ook! Ook! (The monkey looks very dissatisfied.)") + sm.dispose() \ No newline at end of file diff --git a/scripts/quest/q2561s.py b/scripts/quest/q2561s.py new file mode 100755 index 0000000..97c1573 --- /dev/null +++ b/scripts/quest/q2561s.py @@ -0,0 +1,31 @@ +MONKEY = 1096003 + +sm.setSpeakerID(MONKEY) +sm.sendNext("Ook, ook! Oook! Ook! Ook! Ook?!") + +sm.setPlayerAsSpeaker() +sm.sendSay("I remember...I was on my way to Maple Island, to become an Explorer... What happened? What's going on?") + +sm.setSpeakerID(MONKEY) +sm.sendSay("Oook! Ook! Ook! Oooook!") + +sm.setPlayerAsSpeaker() +sm.sendSay("I was talking to the captain, and admiring the scenery, and... Balrog! Balrog attacked the ship! So... Did I fall overboard? Then, why am I alive? I know #bI can swim#k, but can I swim while unconscious? Maybe I can. Maybe I'm a natural swimmer!") + +sm.setSpeakerID(MONKEY) +sm.sendSay("Ooook! Ook! Ook! (Huh, a little monkey...tapping its foot angrily. Actually, when I first woke up, that monkey was the only thing I saw...)") + +sm.setPlayerAsSpeaker() +sm.sendSay("Huh? Why are you waving your arms like that? Are you trying to tell me something? (The monkey took an apple out of the nearby chest. It looks delicious. But, what is he trying to tell you?)\r\n\r\n#i2010000#") + +sm.setSpeakerID(MONKEY) +if sm.sendAskAccept("Ook ook! Om nom nom! (The monkey looks frustrated that you don't understand him. He pretends to eat the apple. Wait, does he want YOU to eat it? That must be it! What a nice monkey.)"): + sm.giveItem(2010000) + sm.startQuest(parentID) + sm.setPlayerAsSpeaker() + sm.sendNext("(You have received a delicious-looking apple. You should eat it. Now...how do you open your Inventory? Was it the #bI#k key...?)") + sm.avatarOriented("UI/tutorial.img/cannon/2") +else: + sm.setPlayerAsSpeaker() + sm.sendNext("The thing is, I don't like apples... Sorry, but no thanks.") + sm.dispose() \ No newline at end of file diff --git a/scripts/quest/q2568s.py b/scripts/quest/q2568s.py new file mode 100755 index 0000000..958f91c --- /dev/null +++ b/scripts/quest/q2568s.py @@ -0,0 +1,9 @@ +CUTTER = 1096005 + +sm.setSpeakerID(CUTTER) +if sm.sendAskAccept("You're back! Great. I got the Ignition Device all hooked up, so we can get back to civilization. Nothing left to do here, right? Let's roll!"): + sm.startQuest(parentID) + sm.warp(912060200, 0) +else: + sm.sendNext("You're not done here? What could you POSSIBLY want to do on a mostly-deserted island?") + sm.dispose() \ No newline at end of file diff --git a/scripts/quest/q2570e.py b/scripts/quest/q2570e.py new file mode 100755 index 0000000..f003df8 --- /dev/null +++ b/scripts/quest/q2570e.py @@ -0,0 +1,35 @@ +KYRIN = 1090000 + +sm.setSpeakerID(KYRIN) +sm.sendNext("Good to see you, #h0#. So...you're the one that helped Cutter return. I saw you were hurt when you first arrived...are you okay now? You must be made of stern stuff. No wonder Cutter regards you so highly. My name is Kyrin. I'm captain of the Nautilus, as well as the Job Instructor for Pirates.") +sm.sendSay("Cutter told you that he wants you to become a #bCannoneer#k, right? I agree with him, but I'm worried that your heart might not be in it. Maybe if you knew more about the pirates, you would be more interested. Let me tell you a little about us.") +sm.sendSay("I brought the pirates together to start working against the Black Mage, the great evil that threatens all of Maple World. Turns out the hero business is more profitable than looting and pillaging!") +sm.sendSay("If you become a Pirate, you can help investigate the Black Mage's plots, and assist in the defense of Maple World. Keep in mind that I won't make you do anything...I'm primarily a Job Instructor, and just guide the pirates in a general sense.") +sm.sendSay("But, I know you would help us fight the Black Mage. You have that gleam in your eye that all heroes do. Anyway, I've said my piece.") + +if sm.sendAskAccept("Now, it's all up to you. Do you wish to join the pirates? I would be quite pleased if you became a Cannoneer. "): + sm.giveItem(1532000) + sm.giveItem(1002610) + sm.giveItem(1052095) + sm.giveItem(1142107) + sm.startQuest(parentID) + sm.completeQuest(parentID) + sm.completeQuest(29900) + sm.jobAdvance(501) + sm.giveSkill(109, 1, 1) + sm.setAP(35) + sm.setDEX(4) + sm.setSTR(23) + sm.startQuest(17903) + sm.completeQuest(17903) + sm.systemMessage("You cleared the Adventure Journal mission.") + sm.sendNext("Now you're one of us. Take a look at your skills and make yourself into a real Pirate. I even gave you some extra SP to get started.") + sm.avatarOriented("Effect/OnUserEff.img/RecordClear_BT/clear") + sm.sendSay("Skills alone do not make you a great pirate. You have to distribute your stats like a pirate, too! If you're hoping to become a Cannoneer, invest heavily in STR so you can hold that heavy cannon of yours. And if you just have no idea, use the #bauto-distribute#k option. Simple, and effective.") + sm.sendSay("Oh, I gave you a little gift, too. I expanded a few slots in your Equip and ETC Item tabs, so you should have plenty of room for your spoils!") + sm.sendSay("Now, there is one last thing that you need to remember. More than anything else, you need to keep your HP up. If you fall in battle, you'll lose some of your EXP. And I'm SURE you don't want that, right?") + sm.sendSay("Well, that's it! I have taught you everything you need to know. I also gave you a few decent weapons, so make good use of them. Now, go forth, grow stronger, and kick around the Black Mage's minions, if you get the chance!") + +else: + sm.sendNext("Oh. So...you want to be something else? I understand...but Cutter might not...") + sm.dispose() \ No newline at end of file diff --git a/scripts/quest/q25710s.py b/scripts/quest/q25710s.py new file mode 100755 index 0000000..1767709 --- /dev/null +++ b/scripts/quest/q25710s.py @@ -0,0 +1,11 @@ +# q25710s - Kaiser 2nd job advancement + +if chr.getJob() == 6100: + if(sm.giveAndEquip(1352501)): + sm.jobAdvance(6110) + sm.completeQuest(25710) + else: + sm.sendSayOkay("Please clear a slot within your equip inventory.") +else: + sm.sendSayOkay("You're currently not a first job Kaiser.") +sm.dispose() diff --git a/scripts/quest/q25711s.py b/scripts/quest/q25711s.py new file mode 100755 index 0000000..84a4bb2 --- /dev/null +++ b/scripts/quest/q25711s.py @@ -0,0 +1,11 @@ +# q25711s - Kaiser 3rd job advancement + +if chr.getJob() == 6110: + if(sm.giveAndEquip(1352502)): + sm.jobAdvance(6111) + sm.completeQuest(25711) + else: + sm.sendSayOkay("Please clear a slot within your equip inventory.") +else: + sm.sendSayOkay("You're currently not a second job Kaiser.") +sm.dispose() diff --git a/scripts/quest/q25712s.py b/scripts/quest/q25712s.py new file mode 100755 index 0000000..9cd0019 --- /dev/null +++ b/scripts/quest/q25712s.py @@ -0,0 +1,11 @@ +# q25712s - Kaiser 4th job advancement + +if chr.getJob() == 6111: + if(sm.giveAndEquip(1352503)): + sm.jobAdvance(6112) + sm.completeQuest(25712) + else: + sm.sendSayOkay("Please clear a slot within your equip inventory.") +else: + sm.sendSayOkay("You're currently not a third job Kaiser.") +sm.dispose() diff --git a/scripts/quest/q2573s.py b/scripts/quest/q2573s.py new file mode 100755 index 0000000..e9af8cf --- /dev/null +++ b/scripts/quest/q2573s.py @@ -0,0 +1,12 @@ +SKIPPER = 1096000 + +sm.setSpeakerID(SKIPPER) +sm.sendNext("Greetings! Isn't this just the perfect weather for a journey? I'm Skipper, the captain of this fine ship. You must be a new Explorer, eh? Nice to meet you.") + +if sm.sendAskAccept("We're not quite ready to leave, so feel free to look around the ship while we're waiting."): + sm.sendNext("Looks like we're all set! I think this is going to be a great voyage. Let's get underway.") + sm.startQuest(parentID) + sm.warp(3000000, 0) +else: + sm.sendNext("Hey, take it easy! Sometimes you just gotta wait.") + sm.dispose() \ No newline at end of file diff --git a/scripts/quest/q25825s.py b/scripts/quest/q25825s.py new file mode 100755 index 0000000..8f95451 --- /dev/null +++ b/scripts/quest/q25825s.py @@ -0,0 +1,33 @@ +# 25825 - [Job Advancement] Agent of Justige (AB 2nd job adv) + +ESKALADE_NPC_ID = 3000018 + +if chr.getLevel() >= 30 and chr.getJob() == 6500: + sm.setSpeakerID(ESKALADE_NPC_ID) + sm.sendNext("Looking pretty tough there, #h #.") +else: + sm.dispose() + +sm.setSpeakerID(ESKALADE_NPC_ID) +sm.setPlayerAsSpeaker() +sm.sendNext("Yeah? I'm totally rocking this Heroine of Justice thing.") +sm.sendNext("Have you noticed feeling a lot closer to me lately? Our pact has been getting stronger and stronger...") +sm.setPlayerAsSpeaker() +sm.sendNext("Uh, is that good?.") +sm.sendNext("What could be bad about getting closer to your dragon-lord? We need to move and act as one.") +sm.setPlayerAsSpeaker() +sm.sendNext("That sounds complicated... and gross. What are you getting at?") +sm.sendNext("I'm trying to let you use my muscle more! You never trust me...") +sm.setPlayerAsSpeaker() +sm.sendNext("I could use some more strength!") +response = sm.sendAskYesNo("I knew you'd be swayed by a little extra power. Let's strengthen our bond.") +if response: + sm.jobAdvance(6510) + sm.dispose() + sm.completeQuest(25825) + sm.giveAndEquip(1352602) # secondary + chr.setSpToCurrentJob(5) + sm.sendNext("Now focus!") +else: + sm.sendSayOkay("What happened to wanting more power?") +sm.dispose() \ No newline at end of file diff --git a/scripts/quest/q25826s.py b/scripts/quest/q25826s.py new file mode 100755 index 0000000..a1ba2ea --- /dev/null +++ b/scripts/quest/q25826s.py @@ -0,0 +1,44 @@ +# 25825 - [Job Advancement] Agent of Justige (AB 2nd job adv) + +ESKALADE_NPC_ID = 3000132 + +if chr.getLevel() >= 60 and chr.getJob() == 6510: + sm.setPlayerAsSpeaker() + sm.sendNext("Eskalade, how come all my skills are getting... pinker?") +else: + sm.dispose() + +sm.setSpeakerID(ESKALADE_NPC_ID) +sm.sendNext("Well, it IS my favorite color. Maybe it means you're getting better at using my power.") + +sm.setPlayerAsSpeaker() +sm.sendNext("Wait, your favorite color is pink? Why do I get the only dragon who loves cutesy things?") + +sm.setSpeakerID(ESKALADE_NPC_ID) +sm.sendNext("This whole thing would be a lot easier if you just gave in to my supreme will and played along.") + +sm.setPlayerAsSpeaker() +sm.sendNext("You seriously can't make the pink go away?") + +sm.setSpeakerID(ESKALADE_NPC_ID) +sm.sendNext("Nope! You can just deal with it. Besides, it's a good color for you. Brings out your rosy cheeks." + "Now, do you want to synchronize souls again?") + +sm.setPlayerAsSpeaker() +sm.sendNext("Yeah, I guess so... I'll get stronger, right?") + +sm.setSpeakerID(ESKALADE_NPC_ID) +sm.sendNext("Absolutely! You will become my genuine pink angel.") + +sm.setPlayerAsSpeaker() +sm.sendNext("I really don't know about this...") + +sm.setSpeakerID(ESKALADE_NPC_ID) +response = sm.sendAskYesNo("You have to make sacrifices to be a hero! Don't you want that?") +if response: + sm.setPlayerAsSpeaker() + sm.jobAdvance(6511) + sm.giveAndEquip(1352603) + sm.sendNext("I think I just got stronger!") +sm.dispose() + diff --git a/scripts/quest/q25827s.py b/scripts/quest/q25827s.py new file mode 100755 index 0000000..315e72e --- /dev/null +++ b/scripts/quest/q25827s.py @@ -0,0 +1,31 @@ +# 25825 - [Job Advancement] Agent of Justige (AB 2nd job adv) + +ESKALADE_NPC_ID = 3000132 + +sm.setSpeakerID(ESKALADE_NPC_ID) +if chr.getLevel() >= 100 and chr.getJob() == 6511: + sm.sendNext("You've been working up quite a sweat, #h #.") +else: + sm.dispose() + +sm.setSpeakerID(ESKALADE_NPC_ID) +sm.setPlayerAsSpeaker() +sm.sendNext("I want to be the hero of the people! I gotta work my butt off! Angelic Savior!") +sm.sendNext("I like it when you talk like that. I have a little proposition for you...") +sm.sendNext("I hate it when you use big words like that. You sound so serious.") +sm.sendNext("I'm always serious.") +sm.sendNext("That's... kinda scary.") +sm.sendNext("...We need a new contract.") +sm.sendNext("Aww, another one?!") +sm.sendNext("Our first contract was guided by fate! This one has to come from the heart! It's all about consensual bonding.") +sm.sendNext("That sounds weird. Is it gonna make everything more pink again?") +response = sm.sendAskYesNo("Probably, but you can deal! Now focus on my exceedingly attractive voice, okay? Just really " + "listen to the timbre.") +if response: + sm.sendSayOkay("I'm tougher than all the rest!") +else: + sm.dispose() + +sm.jobAdvance(6512) +sm.giveAndEquip(1352604) +sm.dispose() diff --git a/scripts/quest/q25829s.py b/scripts/quest/q25829s.py new file mode 100755 index 0000000..c8e0135 --- /dev/null +++ b/scripts/quest/q25829s.py @@ -0,0 +1,19 @@ +# id 25829 (Skill Starter), field 400000000 +sm.setSpeakerType(3) +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(3000018) # Eskalade +sm.sendNext("You're probably scared and confused by your awesome new powers, right? Well, I'll teach you a little something.") +sm.setParam(16) +sm.sendSay("Could you make it less condescending?") +sm.setParam(4) +sm.sendSay("This is the only way I know how to teach! Now take a look at your Beginner Skills, little brainless one!") +sm.sendSay("The first one is called #i3800342# Day Dreamer. You can use this skill to escape to a lovely little hideout that I #especially prepared for the two of us#n.") +sm.setParam(16) +sm.sendSay("I... don't know if I like the sound of that. Should I be worried?") +sm.setParam(4) +sm.sendSay("The next skill is #i3800344# Dress-Up! Boy, do I like Dress-Up. It lets you change between boring old #h0# and the magical, firey Angelic Buster! Dress-Up will happen automatically if you try to use other skills before you transform, so don't be surprised!") +sm.setParam(16) +sm.sendSay("...") +sm.setParam(4) +sm.sendSay("That's kind of all I feel like explaining. I can see it's not really sinking in anyway. Just... try that other stuff out on your own.") +sm.completeQuestNoCheck(parentID) diff --git a/scripts/quest/q25836s.py b/scripts/quest/q25836s.py new file mode 100755 index 0000000..4b48aca --- /dev/null +++ b/scripts/quest/q25836s.py @@ -0,0 +1,44 @@ +# id 25836 (Eskalade Power), field 400000000 +sm.setSpeakerType(3) +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(3000018) # Eskalade +sm.sendNext("Wait, actually, there's one more thing that you must know. One last... obligation.") +sm.setParam(16) +sm.sendSay("...What is it?") +sm.setParam(4) +sm.sendSay("My power is nearly unlimited, or so it will seem to you. It requires some recharging, but I'll never require petty things like mana or fury from you.") +sm.setParam(16) +sm.sendSay("Are you boasting about yourself?") +sm.setParam(4) +sm.sendSay("What?! No! No, I... Of course not. I need to tell you what I will require...") +sm.setParam(16) +sm.sendSay("Spit it out!") +sm.setParam(4) +sm.sendSay("I, geez, look, you have a skill called #e#bSoul Battery#n#k. That thing is like a conduit for my full power. Once it's out, it'll take a while for me to use it again.") +sm.setParam(16) +sm.sendSay("What?! You're just gonna burn out on me?") +sm.setParam(4) +sm.sendSay("Do you realize how often you interrupt others? You should work on that. I'm trying to tell you that you can reuse skills if you perform a successful #e#bRecharge#n#k.") +sm.setParam(16) +sm.sendSay("How do I do that?") +sm.setParam(4) +sm.sendSay("Every attack you use has a chance to Recharge. You need to keep an eye on your attacks to see if it works, then you'll be able to perform another Soul Battery. Got it?") +sm.setParam(16) +sm.sendSay("I'm sorry, I was looking at a butterfly and that was boring.") +sm.setParam(4) +sm.sendSay("Listen to me! Not all of your Attack skills are Soul Battery skills. If you use Recharge skills like #e#bSoul Buster, Pink Pummel, and Heavenly Crash#n#k., you'll be in good shape.") +sm.setParam(16) +sm.sendSay("Yeah, yeah, yeah, just mix it up and I'll be fine. I got it! Gah, you lecture too much. ") +sm.setParam(4) +sm.sendSay("You are dumber than I was hoping you would be...") +sm.setParam(16) +sm.sendSay("What?! What did you just say?") +sm.setParam(4) +sm.sendSay("You are dumber than I was hoping you would be...") +sm.setParam(16) +sm.sendSay("What?! What did you just say?") +sm.setParam(4) +sm.sendSay("Quiet, minion! I just remembered another thing I still need to lecture you about. You have some skills that boost your #e#bAffinity#n#k with me. The stronger our bond is, the faster your Recharge. So you have even more reason to ingratiate yourself to me.") +sm.setParam(5) +sm.sendSay("Okay, NOW I think we're done here. When you inevitably get confused, open the Soul Battery window and use the little button there to get a rundown of the important stuff.") +sm.completeQuestNoCheck(parentID) diff --git a/scripts/quest/q25837e.py b/scripts/quest/q25837e.py new file mode 100755 index 0000000..69d26b8 --- /dev/null +++ b/scripts/quest/q25837e.py @@ -0,0 +1,22 @@ +# id 25837 (Challenge: Recharge!), field 400010100 +sm.setSpeakerType(3) +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(3000018) # Eskalade +sm.sendNext("Yes, dance, my pretty! Smash those monsters!") +sm.setParam(16) +sm.sendSay("Stop being creepy. ") +sm.setParam(4) +sm.sendSay("I don't know what you're talking about. That wasn't bad for a fledgling heroine though.") +sm.setParam(16) +sm.sendSay("You're such a big meanie!") +sm.setParam(5) +sm.sendSay("Hahaha, I adore it when you're mad at me! Now stop your complaining and get back to work. You can't just slack off because you had one tiny success.") +sm.completeQuestNoCheck(parentID) +sm.startQuest(11620) +sm.createQuestWithQRValue(15710, "lasttime=19/07/16/06/16") +sm.createQuestWithQRValue(16700, "count=6;date=20190716") +sm.createQuestWithQRValue(16700, "count=7;date=20190716") +sm.createQuestWithQRValue(16700, "count=8;date=20190716") +sm.createQuestWithQRValue(16700, "count=9;date=20190716") +sm.createQuestWithQRValue(16700, "count=10;date=20190716") +sm.createQuestWithQRValue(16700, "count=11;date=20190716") diff --git a/scripts/quest/q25837s.py b/scripts/quest/q25837s.py new file mode 100755 index 0000000..9c0c8bd --- /dev/null +++ b/scripts/quest/q25837s.py @@ -0,0 +1,22 @@ +# id 25837 (Challenge: Recharge!), field 400000000 +sm.setSpeakerType(3) +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(3000018) # Eskalade +sm.sendNext("It's time to Recharge in an actual fight!") +sm.setParam(16) +sm.sendSay("Whoa, I don't wanna fight yet!") +sm.setParam(4) +sm.sendNext("It's time to Recharge in an actual fight!") +sm.setParam(16) +sm.sendSay("Whoa, I don't wanna fight yet!") +sm.setParam(4) +sm.sendSay("You'll never get anywhere if you just talk about stuff! Take me out and beat up some stuff!") +sm.setParam(16) +sm.sendSay("How am I supposed to learn anything if you're just gonna be a jerk?") +sm.setParam(4) +sm.sendSay("Just walk out there, find a monster, and use your skills! #bRecharge successfully 5 times#k. It won't take you long!") +sm.setParam(17) +sm.sendSay("Ugh, I don't wanna get all sweaty, but I guess I have to.") +sm.startQuest(parentID) +sm.startQuest(11620) +sm.createQuestWithQRValue(15710, "lasttime=19/07/16/06/15") diff --git a/scripts/quest/q25981s.py b/scripts/quest/q25981s.py new file mode 100755 index 0000000..afcef05 --- /dev/null +++ b/scripts/quest/q25981s.py @@ -0,0 +1,8 @@ +# id 25981 (Do you know about Maple Guide?), field 610050000 +sm.setSpeakerID(9010000) # Maple Administrator +response = sm.sendAskYesNo("Hello, #h0#! I'd like to give you a brief explanation of the #rMaple Guide#k.") +if response: + sm.startQuestNoCheck(parentID) +else: + sm.sendSayOkay("Maple guide is to teleport somewhere uwu") +sm.dispose() \ No newline at end of file diff --git a/scripts/quest/q2603e.py b/scripts/quest/q2603e.py new file mode 100755 index 0000000..8035923 --- /dev/null +++ b/scripts/quest/q2603e.py @@ -0,0 +1,12 @@ +SHIBA = 1057000 +RYDEN = 1057001 + +sm.setSpeakerID(SHIBA) +sm.sendNext("Slow. Much, much too slow. Like a wilting leaf... Are you sure you have what it takes to learn to dual-wield?") +sm.sendSay("My insults slide like rain off your back... Hey, Ryden! What's with the new recruit?") +sm.completeQuest(parentID) +sm.giveExp(50) + +sm.spawnNpc(RYDEN, -880, 141) +sm.removeNpc(1057000) +sm.showNpcSpecialActionByTemplateId(RYDEN, "summon", 0) \ No newline at end of file diff --git a/scripts/quest/q2604s.py b/scripts/quest/q2604s.py new file mode 100755 index 0000000..7f6e388 --- /dev/null +++ b/scripts/quest/q2604s.py @@ -0,0 +1,11 @@ +RYDEN = 1057001 + +sm.setSpeakerID(RYDEN) +sm.sendNext("How interesting. New recruit, you didn't even bat an eyelash at Shiba's insults... It was all a setup, you see. We wanted to see how you would react. You did quite well.") +sm.sendSay("You have a knack for our Dual Blade ways. #bI recommend you for the special mission!#k ") +sm.sendSay("I can't tell you what kind of mission it is. That's up to #bLady Syl#k, IF she agrees that you're worthy. If not, you'll train the same way as everyone else. So, try not to tick Lady Syl off.") + +if sm.sendAskAccept("When you accept, I'll send you to Lady Syl."): + sm.startQuest(parentID) + sm.removeNpc(RYDEN) + sm.warp(103050101, 0) \ No newline at end of file diff --git a/scripts/quest/q2609e.py b/scripts/quest/q2609e.py new file mode 100755 index 0000000..d15a05a --- /dev/null +++ b/scripts/quest/q2609e.py @@ -0,0 +1,32 @@ +LADY_SYL = 1056000 + +sm.setSpeakerID(LADY_SYL) +sm.sendNext("#h0#, you look rather green. Are you ill? You're poisoned? Did Ryden tell you that? The potion was just apple juice. Couldn't you tell? Anyway, Ryden was just making a point...") +sm.sendSay("Don't even THINK about betraying us. The Dual Blades do not forgive their enemies...") + +if sm.sendAskYesNo("The look in your eyes, the lift in your shoulders. You seem ready. Do you wish to advance to #bRogue#k? Once you do, you can begin your REAL missions."): + if chr.getLevel() >= 10: + sm.giveItem(1332063) + sm.startQuest(parentID) + sm.completeQuest(parentID) + sm.startQuest(29900) + sm.completeQuest(29900) + sm.jobAdvance(400) + sm.setSTR(4) + sm.setDEX(4) + sm.setLUK(25) + sm.setAP(33) + sm.startQuest(17903) + sm.completeQuest(17903) + sm.avatarOriented("Effect/OnUserEff.img/RecordClear_BT/clear") + sm.sendNext("You're not a Thief, though you haven't learned any Dual Blade skills yet. But you should be able to approach the Dark Lord as our spy.") + sm.sendSay("Dual Blades and Thieves value the same stats, specifically LUK, with DEX as a secondary. Use the #bAuto-Assign#k feature if you're unsure how to allocate your stats.") + sm.sendSay("You'll need a lot of items to be a successful spy, so I've increased your Equip and ETC tab slots.") + sm.sendSay("That's all from me. Ryden will you in on the details. I look forward to fruitful results...") + else: + sm.sendSay("Please talk to me again after reaching level 10.") + sm.disose() + +else: + sm.sendNext("I can see you're not yet prepared...") + sm.dispose() \ No newline at end of file diff --git a/scripts/quest/q2622s.py b/scripts/quest/q2622s.py new file mode 100755 index 0000000..587a77c --- /dev/null +++ b/scripts/quest/q2622s.py @@ -0,0 +1,6 @@ +LADY_SYL = 1056000 + +sm.setSpeakerID(LADY_SYL) +if sm.sendAskAccept("Perhaps Ryden was right about you, #h0#. You look a little more powerful, and you've been carrying out my missions adequately. Well! Return to me in #bThe Secret Garden#k, and I'll teach you about the true power of Dual Blades.\r\n\r\n#b#e(You will be moved to Lady Syl's Room in the Secret Garden when you accept.)#n#k"): + sm.startQuest(parentID) + sm.warp(103050101, 3) \ No newline at end of file diff --git a/scripts/quest/q2623e.py b/scripts/quest/q2623e.py new file mode 100755 index 0000000..45c6061 --- /dev/null +++ b/scripts/quest/q2623e.py @@ -0,0 +1,12 @@ +LADY_SYL = 1056000 + +sm.setSpeakerID(LADY_SYL) +if sm.sendAskYesNo("So, the Mirror of Insight has chosen you. Very well. I will promote you to Blade Recruit when you are ready."): + sm.completeQuest(parentID) + sm.consumeItem(4032616) + sm.giveItem(1342000) + sm.jobAdvance(430) + sm.sendNext("You are now a #b#eBlade Recruit#n#k. Take pride in that fact.") +else: + sm.sendSayOkay("Why hesitate? What are you afraid of?") + sm.dispose() \ No newline at end of file diff --git a/scripts/quest/q2623s.py b/scripts/quest/q2623s.py new file mode 100755 index 0000000..b17efd5 --- /dev/null +++ b/scripts/quest/q2623s.py @@ -0,0 +1,12 @@ +LADY_SYL = 1056000 + +sm.setSpeakerID(LADY_SYL) +sm.sendNext("To dual-wield, you must meet two requirements. First, you must reach level 20. Second, you must successfully retrieve a #bMirror of Insight#k, an item that reveals itself only to those worthy of dual-wielding.") +sm.sendSay("The Mirror of Insight grants its owner insight. I can send you to the #bMarble Room in The Secret Garden Depths#k so you can retrieve one. Once there, #bhit marbles#k until one of them turns cloudy when it drops...") + +if sm.sendAskAccept("#bDouble-click on the cloudy marble to crack it,#k and you will obtain a Mirror of Insight. That is, assuming the Mirror deems you worthy. I'll send you to the Marble Room when you accept."): + sm.startQuest(parentID) + sm.warp(910350000, 0) +else: + sm.sendNext("Find me when you're ready. Do not keep me waiting.") + sm.dispose() \ No newline at end of file diff --git a/scripts/quest/q2638e.py b/scripts/quest/q2638e.py new file mode 100755 index 0000000..d3a8bb1 --- /dev/null +++ b/scripts/quest/q2638e.py @@ -0,0 +1,10 @@ +# [Job Adv] (Lv.30) Becoming a Blade Acolyte +sm.setSpeakerID(1056000) +if sm.hasQuest(parentID): + if sm.canHold(1052244): + sm.giveItem(1052244) + sm.jobAdvance(431) + sm.completeQuest(parentID) + else: + sm.sendSay("Empty one or more Equip slots before you can advance to Blade Acolyte.") + sm.dispose() \ No newline at end of file diff --git a/scripts/quest/q2638s.py b/scripts/quest/q2638s.py new file mode 100755 index 0000000..09e2c67 --- /dev/null +++ b/scripts/quest/q2638s.py @@ -0,0 +1,10 @@ +# [Job Adv] (Lv.30) Becoming a Blade Acolyte +sm.setSpeakerID(1056000) +sm.sendNext("You must prove yourself before you can advance to Blade Acolyte. Pass the test first!") +if sm.sendAskYesNo("Fight the Shadow Blade Lords and retrieve a Dark Marble from them. This will awaken your Mirror of Insight. I'll send you over immediately once you accept"): + sm.warp(910350300, 0) + sm.startQuestNoCheck(parentID) +else: + sm.sendSayOkay("You cannot stay a mere Blade Recruit. You #bwill#k have to face up to the test.\r\n" + "Talk to me when you are ready.") +sm.dispose() diff --git a/scripts/quest/q2642e.py b/scripts/quest/q2642e.py new file mode 100755 index 0000000..aec407b --- /dev/null +++ b/scripts/quest/q2642e.py @@ -0,0 +1,10 @@ +# [Job Adv] (Lv.30) Becoming a Blade Acolyte +sm.setSpeakerID(1056000) +if sm.hasQuest(parentID): + if sm.canHold(1132021): + sm.giveItem(1132021) + sm.jobAdvance(432) + sm.completeQuest(parentID) + else: + sm.sendSay("Empty one or more Equip slots before you can advance to Blade Acolyte.") + sm.dispose() \ No newline at end of file diff --git a/scripts/quest/q26430e.py b/scripts/quest/q26430e.py new file mode 100755 index 0000000..5071fea --- /dev/null +++ b/scripts/quest/q26430e.py @@ -0,0 +1,13 @@ +# id 26430 ([Maple Rewards] Annihilate Normal Zakum for Riches and Honor!), field 993017200 +sm.setSpeakerID(9030200) # Worena +sm.setParam(1) +res = sm.sendAskYesNo("Whoa! You defeated the boss monster! \r\nI'll give you some #bReward Tokens#k for ridding Maple World of evil. Do you want them now?") +sm.createQuestWithQRValue(18192, "count=4;val2=110;tDate=19/06/23/11/48;val=160") +sm.createQuestWithQRValue(18192, "count=4;val2=160;tDate=19/06/23/11/48;val=160") +sm.createQuestWithQRValue(18192, "count=4;val2=160;tDate=19/06/23/11/49;val=160") +sm.createQuestWithQRValue(18192, "count=5;val2=160;tDate=19/06/23/11/49;val=160") +sm.completeQuestNoCheck(parentID) +sm.createQuestWithQRValue(18194, "ML=0;MM=0;MN=0;MO=0;MA=1;MB=0;MC=0;MD=0;ME=0;MF=0;MG=0;MH=0;MI=0;MJ=0;MK=0") +sm.setParam(0) +sm.sendNext("#b#i2431872# #t2431872# 50 obtained!#k \r\n\r\nThank you so much for helping us bring a little light back to Maple World.") +sm.sendPrev("If you take these Reward Points to the Cash Shop, you can #bget a discount on cash items#k. \r\n\r\nYou get to save some money AND gain honor by simply doing away with a dangerous boss monster. Two birds with one stone!") diff --git a/scripts/quest/q26436e.py b/scripts/quest/q26436e.py new file mode 100755 index 0000000..fa0c1e0 --- /dev/null +++ b/scripts/quest/q26436e.py @@ -0,0 +1,13 @@ +# id 26436 ([Maple Rewards] Chaos Horntail Annihilation and Golden Glory), field 993017200 +sm.setSpeakerID(9030200) # Worena +sm.setParam(1) +res = sm.sendAskYesNo("Whoa! You defeated the boss monster! \r\nI'll give you some #bReward Tokens#k for ridding Maple World of evil. Do you want them now?") +sm.createQuestWithQRValue(18192, "count=6;val2=190;tDate=19/06/23/11/49;val=240") +sm.createQuestWithQRValue(18192, "count=6;val2=240;tDate=19/06/23/11/49;val=240") +sm.createQuestWithQRValue(18192, "count=7;val2=240;tDate=19/06/23/11/49;val=240") +sm.completeQuestNoCheck(parentID) +sm.createQuestWithQRValue(18194, "ML=0;MM=0;MN=0;MO=0;MA=1;MB=0;MC=0;MD=0;ME=0;MF=0;MG=1;MH=0;MI=0;MJ=0;MK=0") +sm.setParam(0) +sm.sendNext("#b#i2431872# #t2431872# 50 obtained!#k \r\n\r\nThank you so much for helping us bring a little light back to Maple World.") +sm.sendPrev("If you take these Reward Points to the Cash Shop, you can #bget a discount on cash items#k. \r\n\r\nYou get to save some money AND gain honor by simply doing away with a dangerous boss monster. Two birds with one stone!") +sm.warp(101020400) diff --git a/scripts/quest/q26509e.py b/scripts/quest/q26509e.py new file mode 100755 index 0000000..d235e5c --- /dev/null +++ b/scripts/quest/q26509e.py @@ -0,0 +1,13 @@ +# id 26509 ([Maple Rewards] Theme Dungeon: Annihilate the Mole King), field 993017200 +sm.createQuestWithQRValue(18192, "count=0;val2=0;tDate=19/06/23/11/48;val=0") +sm.setSpeakerID(9030200) # Worena +sm.setParam(1) +res = sm.sendAskYesNo("Whoa! You defeated the boss monster! \r\nI'll give you some #bReward Tokens#k for ridding Maple World of evil. Do you want them now?") +sm.createQuestWithQRValue(18192, "count=0;val2=0;tDate=19/06/23/11/48;val=20") +sm.createQuestWithQRValue(18192, "count=0;val2=20;tDate=19/06/23/11/48;val=20") +sm.createQuestWithQRValue(18192, "count=1;val2=20;tDate=19/06/23/11/48;val=20") +sm.completeQuestNoCheck(parentID) +sm.createQuestWithQRValue(18272, "A=1;B=0;C=0;D=0;E=0;F=0;G=0;H=0;I=0;J=0;K=0;L=0;M=0") +sm.setParam(0) +sm.sendNext("#b#i2431872# #t2431872# 20 obtained!#k \r\n\r\nThank you so much for helping us bring a little light back to Maple World.") +sm.sendPrev("If you take these Reward Points to the Cash Shop, you can #bget a discount on cash items#k. \r\n\r\nYou get to save some money AND gain honor by simply doing away with a dangerous boss monster. Two birds with one stone!") diff --git a/scripts/quest/q26511e.py b/scripts/quest/q26511e.py new file mode 100755 index 0000000..6500a58 --- /dev/null +++ b/scripts/quest/q26511e.py @@ -0,0 +1,12 @@ +# id 26511 ([Maple Rewards] Theme Dungeon: Annihilate Captain Darkgoo), field 993017200 +sm.setSpeakerID(9030200) # Worena +sm.setParam(1) +res = sm.sendAskYesNo("Whoa! You defeated the boss monster! \r\nI'll give you some #bReward Tokens#k for ridding Maple World of evil. Do you want them now?") +sm.createQuestWithQRValue(18192, "count=1;val2=20;tDate=19/06/23/11/48;val=40") +sm.createQuestWithQRValue(18192, "count=1;val2=40;tDate=19/06/23/11/48;val=40") +sm.createQuestWithQRValue(18192, "count=2;val2=40;tDate=19/06/23/11/48;val=40") +sm.completeQuestNoCheck(parentID) +sm.createQuestWithQRValue(18272, "A=1;B=0;C=1;D=0;E=0;F=0;G=0;H=0;I=0;J=0;K=0;L=0;M=0") +sm.setParam(0) +sm.sendNext("#b#i2431872# #t2431872# 20 obtained!#k \r\n\r\nThank you so much for helping us bring a little light back to Maple World.") +sm.sendPrev("If you take these Reward Points to the Cash Shop, you can #bget a discount on cash items#k. \r\n\r\nYou get to save some money AND gain honor by simply doing away with a dangerous boss monster. Two birds with one stone!") diff --git a/scripts/quest/q26512e.py b/scripts/quest/q26512e.py new file mode 100755 index 0000000..870e3fb --- /dev/null +++ b/scripts/quest/q26512e.py @@ -0,0 +1,12 @@ +# id 26512 ([Maple Rewards] Theme Dungeon: Annihilate the Demolishizer), field 993017200 +sm.setSpeakerID(9030200) # Worena +sm.setParam(1) +res = sm.sendAskYesNo("Whoa! You defeated the boss monster! \r\nI'll give you some #bReward Tokens#k for ridding Maple World of evil. Do you want them now?") +sm.createQuestWithQRValue(18192, "count=5;val2=160;tDate=19/06/23/11/49;val=190") +sm.createQuestWithQRValue(18192, "count=5;val2=190;tDate=19/06/23/11/49;val=190") +sm.createQuestWithQRValue(18192, "count=6;val2=190;tDate=19/06/23/11/49;val=190") +sm.completeQuestNoCheck(parentID) +sm.createQuestWithQRValue(18272, "A=1;B=0;C=1;D=1;E=0;F=0;G=0;H=0;I=0;J=0;K=0;L=0;M=0") +sm.setParam(0) +sm.sendNext("#b#i2431872# #t2431872# 30 obtained!#k \r\n\r\nThank you so much for helping us bring a little light back to Maple World.") +sm.sendPrev("If you take these Reward Points to the Cash Shop, you can #bget a discount on cash items#k. \r\n\r\nYou get to save some money AND gain honor by simply doing away with a dangerous boss monster. Two birds with one stone!") diff --git a/scripts/quest/q26607s.py b/scripts/quest/q26607s.py new file mode 100755 index 0000000..1409576 --- /dev/null +++ b/scripts/quest/q26607s.py @@ -0,0 +1,6 @@ +# id 26607 ([Name Change] Name Changing Guide), field 101000000 +sm.setSpeakerID(1032100) # Arwen the Fairy +sm.setParam(2) +sm.sendSay("(You tell Arwen what's going on.)") +sm.setParam(0) +sm.sendSay("Missing students? That sounds dangerous... Ellinel isn't the safest place to go missing.") diff --git a/scripts/quest/q2950s.py b/scripts/quest/q2950s.py new file mode 100755 index 0000000..3a7baf3 --- /dev/null +++ b/scripts/quest/q2950s.py @@ -0,0 +1,14 @@ +# [Gold Beach] A Golden Opportunity + +mapid = 120040300 + +sm.setSpeakerID(9201343) +response = sm.sendAskYesNo("Hey there!\r\nI have chosen you to be on the Gold Beach Resort VIP list! " + "I'll get my personal plane to pick you up and take you there!" + "\r\n\r\n(accepting will warp you)") + +if response: + sm.startQuest(parentID) + sm.completeQuest(parentID) + sm.warp(mapid, 0) +sm.dispose() diff --git a/scripts/quest/q2962s.py b/scripts/quest/q2962s.py new file mode 100755 index 0000000..5333baa --- /dev/null +++ b/scripts/quest/q2962s.py @@ -0,0 +1,7 @@ +# id 2962 ([Gold Beach] Submarine Dreams), field 120041100 +sm.setSpeakerID(1082203) # Tofu +res = sm.sendAskYesNo("I did see some Black Slime, but I don't know if what I saw was what I think it was. I suppose I can tell you about it, if that would get you to stop talking to me.") +sm.sendNext("I'll need some time to get my mind on the right track. I was sitting by the water, rubbing oil on my belly in the light of the moon, when I saw something move...") +sm.startQuest(parentID) +sm.showFieldEffect("goldBeach/submarine", 0) +sm.warp(120041200) diff --git a/scripts/quest/q29900s.py b/scripts/quest/q29900s.py new file mode 100755 index 0000000..ed968a4 --- /dev/null +++ b/scripts/quest/q29900s.py @@ -0,0 +1,8 @@ +# Beginner Adventurer + +medal = 1142107 + +if sm.canHold(medal): + sm.chatScript("You have earned a new medal.") + sm.startQuest(parentID) + sm.completeQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q29901s.py b/scripts/quest/q29901s.py new file mode 100755 index 0000000..5e8da7f --- /dev/null +++ b/scripts/quest/q29901s.py @@ -0,0 +1,8 @@ +# Junior Adventurer + +medal = 1142108 + +if sm.canHold(medal): + sm.chatScript("You have earned a new medal.") + sm.startQuest(parentID) + sm.completeQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q29902s.py b/scripts/quest/q29902s.py new file mode 100755 index 0000000..76957df --- /dev/null +++ b/scripts/quest/q29902s.py @@ -0,0 +1,8 @@ +# Veteran Adventurer + +medal = 1142109 + +if sm.canHold(medal): + sm.chatScript("You have earned a new medal.") + sm.startQuest(parentID) + sm.completeQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q29903s.py b/scripts/quest/q29903s.py new file mode 100755 index 0000000..d92ec7b --- /dev/null +++ b/scripts/quest/q29903s.py @@ -0,0 +1,8 @@ +# Master Adventurer + +medal = 1142110 + +if sm.canHold(medal): + sm.chatScript("You have earned a new medal.") + sm.startQuest(parentID) + sm.completeQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q29905s.py b/scripts/quest/q29905s.py new file mode 100755 index 0000000..8908436 --- /dev/null +++ b/scripts/quest/q29905s.py @@ -0,0 +1,8 @@ +# Noblesse + +medal = 1142065 + +if sm.canHold(medal): + sm.chatScript("You have earned a new medal.") + sm.startQuest(parentID) + sm.completeQuest(parentID) diff --git a/scripts/quest/q29906e.py b/scripts/quest/q29906e.py new file mode 100755 index 0000000..c8fb5bc --- /dev/null +++ b/scripts/quest/q29906e.py @@ -0,0 +1 @@ +sm.dispose() diff --git a/scripts/quest/q29906s.py b/scripts/quest/q29906s.py new file mode 100755 index 0000000..a98c034 --- /dev/null +++ b/scripts/quest/q29906s.py @@ -0,0 +1,8 @@ +# (Lv. 10) Knight-in-Training + +medal = 1142066 + +if sm.canHold(medal): + sm.chatScript("You have earned a new medal.") + sm.startQuest(parentID) + sm.completeQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q29907e.py b/scripts/quest/q29907e.py new file mode 100755 index 0000000..e8dae92 --- /dev/null +++ b/scripts/quest/q29907e.py @@ -0,0 +1,2 @@ +# (Lv30) Official Knight +sm.dispose() diff --git a/scripts/quest/q29907s.py b/scripts/quest/q29907s.py new file mode 100755 index 0000000..f14b78c --- /dev/null +++ b/scripts/quest/q29907s.py @@ -0,0 +1,8 @@ +# (Lv30) Official Knight + +medal = 1142067 + +if sm.canHold(medal): + sm.chatScript("You have earned a new medal.") + sm.startQuest(parentID) + sm.completeQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q29908s.py b/scripts/quest/q29908s.py new file mode 100755 index 0000000..d95d9cf --- /dev/null +++ b/scripts/quest/q29908s.py @@ -0,0 +1,8 @@ +# Advanced Knight + +medal = 1142068 + +if sm.canHold(medal): + sm.chatScript("You have earned a new medal.") + sm.startQuest(parentID) + sm.completeQuest(parentID) diff --git a/scripts/quest/q29909s.py b/scripts/quest/q29909s.py new file mode 100755 index 0000000..667e645 --- /dev/null +++ b/scripts/quest/q29909s.py @@ -0,0 +1,8 @@ +# Chief Knight + +medal = 1142069 + +if sm.canHold(medal): + sm.chatScript("You have earned a new medal.") + sm.startQuest(parentID) + sm.completeQuest(parentID) diff --git a/scripts/quest/q29910s.py b/scripts/quest/q29910s.py new file mode 100755 index 0000000..40e9a02 --- /dev/null +++ b/scripts/quest/q29910s.py @@ -0,0 +1,8 @@ +# Gallant Warrior + +medal = 1142009 + +if sm.canHold(medal): + sm.chatScript("You have earned a new medal.") + sm.startQuest(parentID) + sm.completeQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q29911s.py b/scripts/quest/q29911s.py new file mode 100755 index 0000000..092f3d8 --- /dev/null +++ b/scripts/quest/q29911s.py @@ -0,0 +1,8 @@ +# Wiseman + +medal = 1142010 + +if sm.canHold(medal): + sm.chatScript("You have earned a new medal.") + sm.startQuest(parentID) + sm.completeQuest(parentID) diff --git a/scripts/quest/q29912s.py b/scripts/quest/q29912s.py new file mode 100755 index 0000000..abd64ad --- /dev/null +++ b/scripts/quest/q29912s.py @@ -0,0 +1,8 @@ +# Lord Sniper + +medal = 1142011 + +if sm.canHold(medal): + sm.chatScript("You have earned a new medal.") + sm.startQuest(parentID) + sm.completeQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q29913s.py b/scripts/quest/q29913s.py new file mode 100755 index 0000000..f1fd2af --- /dev/null +++ b/scripts/quest/q29913s.py @@ -0,0 +1,8 @@ +# Legendary Thief + +medal = 1142012 + +if sm.canHold(medal): + sm.chatScript("You have earned a new medal.") + sm.startQuest(parentID) + sm.completeQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q29914s.py b/scripts/quest/q29914s.py new file mode 100755 index 0000000..13761cd --- /dev/null +++ b/scripts/quest/q29914s.py @@ -0,0 +1,8 @@ +# King Pirate + +medal = 1142013 + +if sm.canHold(medal): + sm.chatScript("You have earned a new medal.") + sm.startQuest(parentID) + sm.completeQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q29924s.py b/scripts/quest/q29924s.py new file mode 100755 index 0000000..56d04a3 --- /dev/null +++ b/scripts/quest/q29924s.py @@ -0,0 +1,8 @@ +# Awakened Aran + +medal = 1142129 + +if sm.canHold(medal): + sm.chatScript("You have earned a new medal.") + sm.startQuest(parentID) + sm.completeQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q29925s.py b/scripts/quest/q29925s.py new file mode 100755 index 0000000..187b21c --- /dev/null +++ b/scripts/quest/q29925s.py @@ -0,0 +1,8 @@ +# Aran in Memory + +medal = 1142130 + +if sm.canHold(medal): + sm.chatScript("You have earned a new medal.") + sm.startQuest(parentID) + sm.completeQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q29926s.py b/scripts/quest/q29926s.py new file mode 100755 index 0000000..7d695b4 --- /dev/null +++ b/scripts/quest/q29926s.py @@ -0,0 +1,8 @@ +# Aran in Misery + +medal = 1142131 + +if sm.canHold(medal): + sm.chatScript("You have earned a new medal.") + sm.startQuest(parentID) + sm.completeQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q29927s.py b/scripts/quest/q29927s.py new file mode 100755 index 0000000..5c18cc9 --- /dev/null +++ b/scripts/quest/q29927s.py @@ -0,0 +1,8 @@ +# Aran in Hope + +medal = 1142132 + +if sm.canHold(medal): + sm.chatScript("You have earned a new medal.") + sm.startQuest(parentID) + sm.completeQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q29928s.py b/scripts/quest/q29928s.py new file mode 100755 index 0000000..3fcc6ce --- /dev/null +++ b/scripts/quest/q29928s.py @@ -0,0 +1,8 @@ +# Aran the Hero + +medal = 1142133 + +if sm.canHold(medal): + sm.chatScript("You have earned a new medal.") + sm.startQuest(parentID) + sm.completeQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q29941s.py b/scripts/quest/q29941s.py new file mode 100755 index 0000000..6d37dd4 --- /dev/null +++ b/scripts/quest/q29941s.py @@ -0,0 +1,9 @@ +# Special Training Beginner + +medal = 1142242 + +if sm.canHold(medal): + sm.chatScript("You have earned a new medal.") + sm.giveItem(medal) + sm.startQuest(parentID) + sm.completeQuest(parentID) diff --git a/scripts/quest/q29942s.py b/scripts/quest/q29942s.py new file mode 100755 index 0000000..aba3fb1 --- /dev/null +++ b/scripts/quest/q29942s.py @@ -0,0 +1,9 @@ +# Special Training Intermediate + +medal = 1142243 + +if sm.canHold(medal): + sm.chatScript("You have earned a new medal.") + sm.giveItem(medal) + sm.startQuest(parentID) + sm.completeQuest(parentID) diff --git a/scripts/quest/q29943s.py b/scripts/quest/q29943s.py new file mode 100755 index 0000000..46264aa --- /dev/null +++ b/scripts/quest/q29943s.py @@ -0,0 +1,9 @@ +# Special Training Graduate + +medal = 1142244 + +if sm.canHold(medal): + sm.chatScript("You have earned a new medal.") + sm.giveItem(medal) + sm.startQuest(parentID) + sm.completeQuest(parentID) diff --git a/scripts/quest/q29944s.py b/scripts/quest/q29944s.py new file mode 100755 index 0000000..9a7c7e6 --- /dev/null +++ b/scripts/quest/q29944s.py @@ -0,0 +1,9 @@ +# Special Training Superior + +medal = 1142245 + +if sm.canHold(medal): + sm.chatScript("You have earned a new medal.") + sm.giveItem(medal) + sm.startQuest(parentID) + sm.completeQuest(parentID) diff --git a/scripts/quest/q29945s.py b/scripts/quest/q29945s.py new file mode 100755 index 0000000..120092d --- /dev/null +++ b/scripts/quest/q29945s.py @@ -0,0 +1,8 @@ +# Special Training Master + +medal = 1142246 + +if sm.canHold(medal) and sm.hasQuestCompleted(23060): + sm.chatScript("You have earned a new medal.") + sm.startQuest(parentID) + sm.completeQuest(parentID) diff --git a/scripts/quest/q29947s.py b/scripts/quest/q29947s.py new file mode 100755 index 0000000..3c4349a --- /dev/null +++ b/scripts/quest/q29947s.py @@ -0,0 +1,8 @@ +# Cygnus' Successor + +medal = 1142257 + +if sm.canHold(medal): + sm.chatScript("You have earned a new medal.") + sm.startQuest(parentID) + sm.completeQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q29952s.py b/scripts/quest/q29952s.py new file mode 100755 index 0000000..f7d6b2c --- /dev/null +++ b/scripts/quest/q29952s.py @@ -0,0 +1,8 @@ +# A Hero, No More (Mercedes) + +medal = 1142336 + +if sm.canHold(medal): + sm.chatScript("You have earned a new medal.") + sm.startQuest(parentID) + sm.completeQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q29953s.py b/scripts/quest/q29953s.py new file mode 100755 index 0000000..4b6be6c --- /dev/null +++ b/scripts/quest/q29953s.py @@ -0,0 +1,8 @@ +# Elf of Elluel + +medal = 1142337 + +if sm.canHold(medal): + sm.chatScript("You have earned a new medal.") + sm.startQuest(parentID) + sm.completeQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q29954s.py b/scripts/quest/q29954s.py new file mode 100755 index 0000000..ac1a966 --- /dev/null +++ b/scripts/quest/q29954s.py @@ -0,0 +1,8 @@ +# Elven Noble + +medal = 1142338 + +if sm.canHold(medal): + sm.chatScript("You have earned a new medal.") + sm.startQuest(parentID) + sm.completeQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q29955s.py b/scripts/quest/q29955s.py new file mode 100755 index 0000000..d67d985 --- /dev/null +++ b/scripts/quest/q29955s.py @@ -0,0 +1,8 @@ +# Elven Hero + +medal = 1142339 + +if sm.canHold(medal): + sm.chatScript("You have earned a new medal.") + sm.startQuest(parentID) + sm.completeQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q29956s.py b/scripts/quest/q29956s.py new file mode 100755 index 0000000..d6b1608 --- /dev/null +++ b/scripts/quest/q29956s.py @@ -0,0 +1,8 @@ +# Ruler of Elves + +medal = 1142340 + +if sm.canHold(medal): + sm.chatScript("You have earned a new medal.") + sm.startQuest(parentID) + sm.completeQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q29958s.py b/scripts/quest/q29958s.py new file mode 100755 index 0000000..28b1c8b --- /dev/null +++ b/scripts/quest/q29958s.py @@ -0,0 +1,8 @@ +# Demon Reborn + +medal = 1142341 + +if sm.canHold(medal): + sm.chatScript("You have earned a new medal.") + sm.startQuest(parentID) + sm.completeQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q29959s.py b/scripts/quest/q29959s.py new file mode 100755 index 0000000..af2e09d --- /dev/null +++ b/scripts/quest/q29959s.py @@ -0,0 +1,8 @@ +# Dark Warrior + +medal = 1142342 + +if sm.canHold(medal): + sm.chatScript("You have earned a new medal.") + sm.startQuest(parentID) + sm.completeQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q29960s.py b/scripts/quest/q29960s.py new file mode 100755 index 0000000..9f1ea46 --- /dev/null +++ b/scripts/quest/q29960s.py @@ -0,0 +1,8 @@ +# Awakened Demon + +medal = 1142343 + +if sm.canHold(medal): + sm.chatScript("You have earned a new medal.") + sm.startQuest(parentID) + sm.completeQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q29961s.py b/scripts/quest/q29961s.py new file mode 100755 index 0000000..7e7b1e5 --- /dev/null +++ b/scripts/quest/q29961s.py @@ -0,0 +1,8 @@ +# Dark Hero + +medal = 1142344 + +if sm.canHold(medal): + sm.chatScript("You have earned a new medal.") + sm.startQuest(parentID) + sm.completeQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q29962s.py b/scripts/quest/q29962s.py new file mode 100755 index 0000000..a893fbd --- /dev/null +++ b/scripts/quest/q29962s.py @@ -0,0 +1,8 @@ +# Vengeance Incarnate + +medal = 1142345 + +if sm.canHold(medal): + sm.chatScript("You have earned a new medal.") + sm.startQuest(parentID) + sm.completeQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q29967s.py b/scripts/quest/q29967s.py new file mode 100755 index 0000000..9ffdeab --- /dev/null +++ b/scripts/quest/q29967s.py @@ -0,0 +1,8 @@ +# A Hero, No More (Phantom) + +medal = 1142375 + +if sm.canHold(medal): + sm.chatScript("You have earned a new medal.") + sm.startQuest(parentID) + sm.completeQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q29968s.py b/scripts/quest/q29968s.py new file mode 100755 index 0000000..5409fd3 --- /dev/null +++ b/scripts/quest/q29968s.py @@ -0,0 +1,8 @@ +# Without a Trace + +medal = 1142376 + +if sm.canHold(medal): + sm.chatScript("You have earned a new medal.") + sm.startQuest(parentID) + sm.completeQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q29969s.py b/scripts/quest/q29969s.py new file mode 100755 index 0000000..cb89eaf --- /dev/null +++ b/scripts/quest/q29969s.py @@ -0,0 +1,8 @@ +# The Mind of the Raven + +medal = 1142377 + +if sm.canHold(medal): + sm.chatScript("You have earned a new medal.") + sm.startQuest(parentID) + sm.completeQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q29970.py b/scripts/quest/q29970.py new file mode 100755 index 0000000..36a8f53 --- /dev/null +++ b/scripts/quest/q29970.py @@ -0,0 +1,8 @@ +# The Once Beloved Ruler + +medal = 1142378 + +if sm.canHold(medal): + sm.chatScript("You have earned a new medal.") + sm.startQuest(parentID) + sm.completeQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q29971s.py b/scripts/quest/q29971s.py new file mode 100755 index 0000000..cae5055 --- /dev/null +++ b/scripts/quest/q29971s.py @@ -0,0 +1,8 @@ +# Master Thief Phantom + +medal = 1142379 + +if sm.canHold(medal): + sm.chatScript("You have earned a new medal.") + sm.startQuest(parentID) + sm.completeQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q29972s.py b/scripts/quest/q29972s.py new file mode 100755 index 0000000..c3533ca --- /dev/null +++ b/scripts/quest/q29972s.py @@ -0,0 +1,8 @@ +# Dual Blade Reborn + +medal = 1142390 + +if sm.canHold(medal): + sm.chatScript("You have earned a new medal.") + sm.startQuest(parentID) + sm.completeQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q29973s.py b/scripts/quest/q29973s.py new file mode 100755 index 0000000..bb2d1a6 --- /dev/null +++ b/scripts/quest/q29973s.py @@ -0,0 +1,8 @@ +# Typhoon in the Dark + +medal = 1142391 + +if sm.canHold(medal): + sm.chatScript("You have earned a new medal.") + sm.startQuest(parentID) + sm.completeQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q29974s.py b/scripts/quest/q29974s.py new file mode 100755 index 0000000..c088171 --- /dev/null +++ b/scripts/quest/q29974s.py @@ -0,0 +1,8 @@ +# Wind Cleaver + +medal = 1142392 + +if sm.canHold(medal): + sm.chatScript("You have earned a new medal.") + sm.startQuest(parentID) + sm.completeQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q29975s.py b/scripts/quest/q29975s.py new file mode 100755 index 0000000..c6fad05 --- /dev/null +++ b/scripts/quest/q29975s.py @@ -0,0 +1,8 @@ +# Radiant Shadow + +medal = 1142393 + +if sm.canHold(medal): + sm.chatScript("You have earned a new medal.") + sm.startQuest(parentID) + sm.completeQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q29976s.py b/scripts/quest/q29976s.py new file mode 100755 index 0000000..743bf46 --- /dev/null +++ b/scripts/quest/q29976s.py @@ -0,0 +1,8 @@ +# Newborn Light + +medal = 1142399 + +if sm.canHold(medal): + sm.chatScript("You have earned a new medal.") + sm.startQuest(parentID) + sm.completeQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q29977s.py b/scripts/quest/q29977s.py new file mode 100755 index 0000000..6a52080 --- /dev/null +++ b/scripts/quest/q29977s.py @@ -0,0 +1,8 @@ +# Apprentice Knight of Light + +medal = 1142400 + +if sm.canHold(medal): + sm.chatScript("You have earned a new medal.") + sm.startQuest(parentID) + sm.completeQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q29978s.py b/scripts/quest/q29978s.py new file mode 100755 index 0000000..406f987 --- /dev/null +++ b/scripts/quest/q29978s.py @@ -0,0 +1,8 @@ +# Official Knight of Light + +medal = 1142401 + +if sm.canHold(medal): + sm.chatScript("You have earned a new medal.") + sm.startQuest(parentID) + sm.completeQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q29979s.py b/scripts/quest/q29979s.py new file mode 100755 index 0000000..0f61623 --- /dev/null +++ b/scripts/quest/q29979s.py @@ -0,0 +1,8 @@ +# Chief Knight of Light + +medal = 1142402 + +if sm.canHold(medal): + sm.chatScript("You have earned a new medal.") + sm.startQuest(parentID) + sm.completeQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q29980s.py b/scripts/quest/q29980s.py new file mode 100755 index 0000000..dd65bcd --- /dev/null +++ b/scripts/quest/q29980s.py @@ -0,0 +1,8 @@ +# True Knight of Light + +medal = 1142403 + +if sm.canHold(medal): + sm.chatScript("You have earned a new medal.") + sm.startQuest(parentID) + sm.completeQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q29987s.py b/scripts/quest/q29987s.py new file mode 100755 index 0000000..1a0fa52 --- /dev/null +++ b/scripts/quest/q29987s.py @@ -0,0 +1,8 @@ +# Kaiser Reborn + +medal = 1142484 + +if sm.canHold(medal): + sm.chatScript("You have earned a new medal.") + sm.startQuest(parentID) + sm.completeQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q29988s.py b/scripts/quest/q29988s.py new file mode 100755 index 0000000..3627b9d --- /dev/null +++ b/scripts/quest/q29988s.py @@ -0,0 +1,8 @@ +# Kaiser's Fated Path + +medal = 1142485 + +if sm.canHold(medal): + sm.chatScript("You have earned a new medal.") + sm.startQuest(parentID) + sm.completeQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q29989s.py b/scripts/quest/q29989s.py new file mode 100755 index 0000000..b123b44 --- /dev/null +++ b/scripts/quest/q29989s.py @@ -0,0 +1,8 @@ +# Awakened Kaiser + +medal = 1142486 + +if sm.canHold(medal): + sm.chatScript("You have earned a new medal.") + sm.startQuest(parentID) + sm.completeQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q29990s.py b/scripts/quest/q29990s.py new file mode 100755 index 0000000..298420c --- /dev/null +++ b/scripts/quest/q29990s.py @@ -0,0 +1,8 @@ +# Kaiser's Successor + +medal = 1142487 + +if sm.canHold(medal): + sm.chatScript("You have earned a new medal.") + sm.startQuest(parentID) + sm.completeQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q29991s.py b/scripts/quest/q29991s.py new file mode 100755 index 0000000..e23e760 --- /dev/null +++ b/scripts/quest/q29991s.py @@ -0,0 +1,8 @@ +# Ascendant + +medal = 1142488 + +if sm.canHold(medal): + sm.chatScript("You have earned a new medal.") + sm.startQuest(parentID) + sm.completeQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q29992s.py b/scripts/quest/q29992s.py new file mode 100755 index 0000000..9085498 --- /dev/null +++ b/scripts/quest/q29992s.py @@ -0,0 +1,8 @@ +# Pretty Angel Power + +medal = 1142495 + +if sm.canHold(medal): + sm.chatScript("You have earned a new medal.") + sm.startQuest(parentID) + sm.completeQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q29993s.py b/scripts/quest/q29993s.py new file mode 100755 index 0000000..128b934 --- /dev/null +++ b/scripts/quest/q29993s.py @@ -0,0 +1,8 @@ +# Angelic Metamorphosis + +medal = 1142496 + +if sm.canHold(medal): + sm.chatScript("You have earned a new medal.") + sm.startQuest(parentID) + sm.completeQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q29994s.py b/scripts/quest/q29994s.py new file mode 100755 index 0000000..3a63123 --- /dev/null +++ b/scripts/quest/q29994s.py @@ -0,0 +1,8 @@ +# White Wing Justice Bringer + +medal = 1142497 + +if sm.canHold(medal): + sm.chatScript("You have earned a new medal.") + sm.startQuest(parentID) + sm.completeQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q29995s.py b/scripts/quest/q29995s.py new file mode 100755 index 0000000..0d6916d --- /dev/null +++ b/scripts/quest/q29995s.py @@ -0,0 +1,8 @@ +# Battleground Idol + +medal = 1142498 + +if sm.canHold(medal): + sm.chatScript("You have earned a new medal.") + sm.startQuest(parentID) + sm.completeQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q29996s.py b/scripts/quest/q29996s.py new file mode 100755 index 0000000..b8c15f3 --- /dev/null +++ b/scripts/quest/q29996s.py @@ -0,0 +1,8 @@ +# Superstar + +medal = 1142499 + +if sm.canHold(medal): + sm.chatScript("You have earned a new medal.") + sm.startQuest(parentID) + sm.completeQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q30000s.py b/scripts/quest/q30000s.py new file mode 100755 index 0000000..927dffe --- /dev/null +++ b/scripts/quest/q30000s.py @@ -0,0 +1,48 @@ +# [Root Abyss] An Urgent Summons + +NEINHEART = 1404009 +SILENT_SWAMP = 105010000 # Map you get warped to after the conversation + +sm.setSpeakerID(NEINHEART) +sm.sendNext("I've been waiting for you.") + +sm.setPlayerAsSpeaker() +sm.sendNext("What's going on? I was in the middle of very important loot-related business.") + +sm.setSpeakerID(NEINHEART) +sm.sendNext("The Alliance has received some very shocking news. " + "A previously uncharted area has appeared in the northern regions of the Sleepywood.") + +sm.setPlayerAsSpeaker() +sm.sendNext("Appeared?") + +sm.setSpeakerID(NEINHEART) +sm.sendNext("Yes, it's quite odd. I believe it was hidden by some sort of old magic.") + +sm.sendNext("The scout who brought me this information said he felt a very evil presence there. " + "It could have something to do with the Black Mage.") + +sm.setPlayerAsSpeaker() +sm.sendNext("Sounds like we need to get over there right away.") + +sm.setSpeakerID(NEINHEART) +sm.sendNext("I've already dispatched the Cygnus Knights. The topography of the area is complex, and a thick fog covers much of the landscape.") + +sm.setPlayerAsSpeaker() +sm.sendNext("...What should I do?") + +sm.setSpeakerID(NEINHEART) +sm.sendNext("Go look around. The loss of one explorer would be far more acceptable than all of the Cygnus Knights.") + +sm.setPlayerAsSpeaker() +sm.sendNext("Love you too...") + +sm.setSpeakerID(NEINHEART) +sm.sendNext("I will send you to #b#m"+ str(SILENT_SWAMP) +"##k to investigate the area. " + "Report back immediately if you find anything, and try to send up a flare or something if you're going to get yourself killed.") + +sm.sendNext("I'll send you to #b#m"+ str(SILENT_SWAMP) +"##k with Shinsoo's power.") + +sm.warp(SILENT_SWAMP, 0) +sm.startQuest(parentID) +sm.dispose() diff --git a/scripts/quest/q30002s.py b/scripts/quest/q30002s.py new file mode 100755 index 0000000..99bd346 --- /dev/null +++ b/scripts/quest/q30002s.py @@ -0,0 +1,34 @@ +# [Root Abyss] The Mysterious Girl + +MYSTERIOUS_GIRL = 1064001 # npc Id + +sm.setSpeakerID(MYSTERIOUS_GIRL) +sm.sendNext("I want to get out of here.") + +sm.setPlayerAsSpeaker() +sm.sendNext("What?") + +sm.setSpeakerID(MYSTERIOUS_GIRL) +sm.sendNext("I said I want to get out of here.") + +sm.setPlayerAsSpeaker() +sm.sendNext("Oh, well I need to stay. I'm supposed to find out more about this place before I go.") + +sm.setSpeakerID(MYSTERIOUS_GIRL) +sm.sendNext("This place? This is Root Abyss. And you don't want to be here. " + "Let's leave together. Follow me") + +sm.setPlayerAsSpeaker() +sm.sendNext("Wha- Where are you going?!") + +response = sm.sendAskYesNo("#b(She looks lost... maybe I should help her out?)") + +if response: + sm.sendNext("All right, fine. I'll show you how to get out.") + sm.startQuest(parentID) +else: + sm.dispose() + +sm.setSpeakerID(MYSTERIOUS_GIRL) +sm.sendNext("You are really going to help, right! You promised!") +sm.dispose() diff --git a/scripts/quest/q30003s.py b/scripts/quest/q30003s.py new file mode 100755 index 0000000..62d0a68 --- /dev/null +++ b/scripts/quest/q30003s.py @@ -0,0 +1,19 @@ +# [Root Abyss] Root Ruckus 1 + +MYSTERIOUS_GIRL = 1064001 # npc Id +sm.setSpeakerID(MYSTERIOUS_GIRL) +sm.sendNext("Did you find a way out?") + +sm.setPlayerAsSpeaker() +sm.sendNext("There's an exit not too far from here.") + +sm.setSpeakerID(MYSTERIOUS_GIRL) +sm.sendNext("I've already tried that about a hundred times, but I can't get out.") + +sm.setPlayerAsSpeaker() +sm.startQuest(parentID) +sm.sendNext("Uh... well it worked for me. Let me go check it out.") + +sm.setSpeakerID(MYSTERIOUS_GIRL) +sm.sendNext("Please be quick. I really don't like it here...") +sm.dispose() \ No newline at end of file diff --git a/scripts/quest/q30005e.py b/scripts/quest/q30005e.py new file mode 100755 index 0000000..28165f3 --- /dev/null +++ b/scripts/quest/q30005e.py @@ -0,0 +1,45 @@ +# [Root Abyss] The World Girl + +MYSTERIOUS_GIRL = 1064001 # npc Id +sm.removeEscapeButton() +sm.lockInGameUI(True) +sm.setPlayerAsSpeaker() +sm.sendNext("If you're really the World Tree, can't you just like... magic yourself outta here?") + +sm.setSpeakerID(MYSTERIOUS_GIRL) +sm.sendNext("No! Those bad people did this to me!") + +sm.setPlayerAsSpeaker() +sm.sendNext("Oh, here we go...") + +sm.setSpeakerID(MYSTERIOUS_GIRL) +sm.sendNext("Before I laid down to rest, I set up a barrier to keep me safe here, but some creeps broke in. " + "One of them even tried to kidnap me!") + +sm.setPlayerAsSpeaker() +sm.sendNext("Were they the Black Mage's minions?") + +sm.setSpeakerID(MYSTERIOUS_GIRL) +sm.sendNext("I don't know, they were all wearing hoods. One of them was this nasty little demon-faced guy with an eye patch. " + "I think he was their boss.") + +sm.showFieldBackgroundEffect("Effect/Direction11.img/effect/meet/frame0/0") +sm.showFieldEffect("Map/Effect.img/rootabyss/demian") +sm.invokeAfterDelay(1000, "showFadeTransition", 1500, 0, 1000) + +sm.setPlayerAsSpeaker() +sm.invokeAfterDelay(4500, "sendNext", "A demon with an eyepatch tried to kidnap you? Do you realise how crazy that sounds?") + +sm.setSpeakerID(MYSTERIOUS_GIRL) +sm.sendNext("It's true! He was dragging me out of here until he found out I wasn't fully recovered. Then he sealed me up in here.") + +sm.setPlayerAsSpeaker() +sm.sendNext("Is that why you couldn't get through the gateway?") + +sm.setSpeakerID(MYSTERIOUS_GIRL) +sm.sendNext("I think so. I'm pretty sure he was the one who corrupted Root Abyss too. " + "I just can't use my powers with all of this dark energy around.") + +sm.sendNext("I'm worried that the darkness will swallow me whole at this rate. Will you help me?") +sm.lockInGameUI(False) +sm.completeQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q30005s.py b/scripts/quest/q30005s.py new file mode 100755 index 0000000..306c187 --- /dev/null +++ b/scripts/quest/q30005s.py @@ -0,0 +1,33 @@ +# [Root Abyss] The World Girl + +MYSTERIOUS_GIRL = 1064001 # npc Id +sm.setPlayerAsSpeaker() +sm.sendNext("How in the world did you end up here, anyway? It's not exactly the greatest place for a little girl.") + +sm.setSpeakerID(MYSTERIOUS_GIRL) +sm.sendNext("Root Abyss is my land. I created it a long time ago.") + +sm.setPlayerAsSpeaker() +sm.sendNext("Whaat?! You CREATED this place?") + +sm.setSpeakerID(MYSTERIOUS_GIRL) +sm.sendNext("I picked this land because it was fertile and hidden away." + "I was hoping to restore my powers, but the darkness is too strong now.") + +sm.setPlayerAsSpeaker() +sm.sendNext("You pretty much sound like a crazy person. Who ARE you?") + +sm.setSpeakerID(MYSTERIOUS_GIRL) +sm.sendNext("My name is Alicia. Some people call me the #rWorld Tree#k.") + +sm.setPlayerAsSpeaker() +sm.sendNext("World Tree? YOU are the World Tree?!") + +sm.setSpeakerID(MYSTERIOUS_GIRL) +sm.sendNext("I was sleeping here to recover from the Black Mage's attacks. This area is really quite rich with life energy.") + +sm.setPlayerAsSpeaker() +sm.sendNext("I still can't believe you're a tree.") + +sm.startQuest(parentID) +sm.dispose() diff --git a/scripts/quest/q30006s.py b/scripts/quest/q30006s.py new file mode 100755 index 0000000..9f582bd --- /dev/null +++ b/scripts/quest/q30006s.py @@ -0,0 +1,34 @@ +# [Root Abyss] Guardians of the World Tree + +MYSTERIOUS_GIRL = 1064001 # npc Id +sm.removeEscapeButton() +sm.lockInGameUI(True) +sm.setPlayerAsSpeaker() +sm.sendNext("We need to find those baddies if we want to get you out of here.") + +sm.setSpeakerID(MYSTERIOUS_GIRL) +sm.sendNext("But... they all left") + +sm.setPlayerAsSpeaker() +sm.sendNext("They had to have left some clues behind. " + "What about those weird doors over there?") + +sm.setSpeakerID(MYSTERIOUS_GIRL) +sm.sendNext("They showed up when the bad guys left, but I can't get through them.") + +sm.setPlayerAsSpeaker() +sm.sendNext("Then that sounds like a good place to start. Maybe I should-") + +sm.setSpeakerID(MYSTERIOUS_GIRL) +sm.sendNext("Y-you're glowing!") +sm.invokeAtFixedRate(0, 2450, 3, "showEffect", "Effect/Direction11.img/effect/Aura/0", 3, 0) + +sm.setPlayerAsSpeaker() +sm.sendNext("Ah! What is this?! Don't let it take all my fr00dz!!") + +sm.setSpeakerID(MYSTERIOUS_GIRL) +sm.sendNext("#h0#!!!") + +sm.startQuest(parentID) +sm.lockInGameUI(False) +sm.warpInstanceIn(910700300, 0) # Fake Vellum Cave for QuestLine diff --git a/scripts/quest/q30007e.py b/scripts/quest/q30007e.py new file mode 100755 index 0000000..c0743fe --- /dev/null +++ b/scripts/quest/q30007e.py @@ -0,0 +1,23 @@ +# [Root Abyss] World Tree In Danger + +NEINHEART = 1404009 +sm.setSpeakerID(NEINHEART) +sm.sendNext("You're alive! I find that slightly amusing. Did you investigate the area we spoke of?") + +sm.setPlayerAsSpeaker() +sm.sendNext("Oh man, let me tell you...") + +sm.sendNext("#b(You tell Neinheart what happened in Root Abyss)#k") + +sm.setSpeakerID(NEINHEART) +sm.sendNext("If what you say is not an injury-induced hallucination, this certainly sounds like a problem." + "I am excited to hear that the World Tree has finally been located, but it seems to be in a rather precarious situation.") + +sm.setPlayerAsSpeaker() +sm.sendNext("The World Tree is stuck in Root Abyss, and she's not going to last long with all the dark energy.") + +sm.setSpeakerID(NEINHEART) +sm.sendNext("I had that figured out already, thank you very much. " + "I need a moment to think. Leave me") +sm.completeQuest(parentID) +sm.dispose() diff --git a/scripts/quest/q30007s.py b/scripts/quest/q30007s.py new file mode 100755 index 0000000..917e886 --- /dev/null +++ b/scripts/quest/q30007s.py @@ -0,0 +1,39 @@ +# [Root Abyss] World Tree In Danger + +MYSTERIOUS_GIRL = 1064001 # npc Id +sm.setSpeakerID(MYSTERIOUS_GIRL) +sm.sendNext("What happened? You disappeared all of the sudden... I was worried.") + +sm.setPlayerAsSpeaker() +sm.sendNext("They took me away.") + +sm.setSpeakerID(MYSTERIOUS_GIRL) +sm.sendNext("Who? The same people that trapped me here?") + +sm.setPlayerAsSpeaker() +sm.sendNext("I think so, yeah. There was this really mean guy that kept threatening me.") + +sm.setSpeakerID(MYSTERIOUS_GIRL) +sm.sendNext("Are you scared? I thought you were going to help me!") + +sm.setPlayerAsSpeaker() +sm.sendNext("I'm not scared! I'm just... concerned... about getting beat up. " + "Look, I'll be honest, I need some back up.") + +sm.setSpeakerID(MYSTERIOUS_GIRL) +sm.sendNext("What should we do? I can't help with all this dark energy sapping my powers.") + +sm.setPlayerAsSpeaker() +sm.sendNext("The Maple Alliance can help.") + +sm.sendNext("I'll head to Ereve right away. If anybody can figure out how to unseal Root Abyss. " + "It's Neinheart. He might even be mildly amused to see me alive.") + +sm.setSpeakerID(MYSTERIOUS_GIRL) +sm.sendNext("Okay... but come back fast, okay? I can feel the darkness draining my life away... " + "I don't know how long I have left.") + +sm.sendNext("I'll be back before you know it. Just stay strong.") +sm.startQuest(parentID) +sm.warp(130000000, 0) #Ereve +sm.dispose() diff --git a/scripts/quest/q30008s.py b/scripts/quest/q30008s.py new file mode 100755 index 0000000..48a2e47 --- /dev/null +++ b/scripts/quest/q30008s.py @@ -0,0 +1,35 @@ +# [Root Abyss] World Tree Guardian + +NEINHEART = 1404009 +sm.setSpeakerID(NEINHEART) +sm.sendNext("The Maple Alliance will focus all resources towards rescuing the World Tree.") + +sm.setPlayerAsSpeaker() +sm.sendNext("I knew you guys would help out.") + +sm.setSpeakerID(NEINHEART) +sm.sendNext("The World Tree's control over the powers of life is important, to say the least. " + "It was instrumental in sealing away the Black Mage. Unfortunately, the battle took its toll. " + "Fortunately, Athena Pierce was able to contain its #blife essence#k and bring it here before the tree withered away entirely.") + +sm.sendNext("But one day, it was gone. I believed it was stolen by the Black Mage, but to think that it was healing itself... It's incredible.") + +sm.sendNext("I don't know who would seek to harm the World Tree, but I know that we must stop it. It must be protected at all costs.") + +sm.setPlayerAsSpeaker() +sm.sendNext("The people that have the World Tree aren't just going to take this lying down.") + +sm.setSpeakerID(NEINHEART) +response = sm.sendAskYesNo("We will handle them, as we have handled their kind in the past. " + "I believe you have it in you to take the lead in battle. " + "You will have our full support.") + +if response: + sm.sendNext("Good! I'm always glad to see a solder that isn't afraid of resigning to the history books. " + "Return to the World Tree and do what you must to bring it back here.") +else: + sm.dispose() + +sm.sendNext("News of the World Tree's plight will have reached many by now. I will return you to Root Abyss to lead the charge.") +sm.startQuest(parentID) +sm.warp(105200000, 0) # Root Abyss (Actual Map) diff --git a/scripts/quest/q30009s.py b/scripts/quest/q30009s.py new file mode 100755 index 0000000..ed2a34c --- /dev/null +++ b/scripts/quest/q30009s.py @@ -0,0 +1,20 @@ +# [Root Abyss] Defeat the First Seal Guardian + +ALICIA = 1064002 # npc Id +sm.setSpeakerID(ALICIA) +sm.sendNext("I don't know what you did, but there have been more people through here than the Free Market") + +sm.setPlayerAsSpeaker() +sm.sendNext("The Maple Alliance is going to help me get you out of here.") + +sm.sendNext("Unfortunately, that means I have to take out all these Seal Guardians. Do you have any ideas to help?") + +sm.setSpeakerID(ALICIA) +sm.sendNext("I've been trapped in here since they arrived. I don't know anything, but I can feel their power.") + +response = sm.sendAskYesNo("The door with the clock on it seems to be the least threatening. Maybe that should be your first stop.") + +if response: + sm.sendNext("I know you're strong, but I don't think you can do this alone. Make sure to find an #rally that will help you#k!") + sm.startQuest(parentID) +sm.dispose() diff --git a/scripts/quest/q30010s.py b/scripts/quest/q30010s.py new file mode 100755 index 0000000..ab28b50 --- /dev/null +++ b/scripts/quest/q30010s.py @@ -0,0 +1,12 @@ +# [Root Abyss] Defeat the Second Seal Guardian + +ALICIA = 1064002 # npc Id +sm.setSpeakerID(ALICIA) +sm.sendNext("Oh I feel the dark energy getting weaker!") + +response = sm.sendAskYesNo("Can you handle the seal guardian behind the teapot door?") + +if response: + sm.sendNext("You may want to prepare a bit. The energy behind that door feels strong.") + sm.startQuest(parentID) +sm.dispose() diff --git a/scripts/quest/q30011s.py b/scripts/quest/q30011s.py new file mode 100755 index 0000000..d43d6b4 --- /dev/null +++ b/scripts/quest/q30011s.py @@ -0,0 +1,12 @@ +# [Root Abyss] Defeat the Third Seal Guardian + +ALICIA = 1064002 # npc Id +sm.setSpeakerID(ALICIA) +sm.sendNext("I believe it's working. I can really feel the darkness weaken.") + +response = sm.sendAskYesNo("Please take care of the seal guardian behind the crown door?") + +if response: + sm.sendNext("The door with the crown is radiating evil! Better not let your guard down") + sm.startQuest(parentID) +sm.dispose() diff --git a/scripts/quest/q30012s.py b/scripts/quest/q30012s.py new file mode 100755 index 0000000..8dc9818 --- /dev/null +++ b/scripts/quest/q30012s.py @@ -0,0 +1,12 @@ +# [Root Abyss] Defeat the Final Seal Guardian + +ALICIA = 1064002 # npc Id +sm.setSpeakerID(ALICIA) +sm.sendNext("We're almost there! Only the final seal guardian remains.") + +response = sm.sendAskYesNo("Can you handle the seal guardian behind the dragon door?") + +if response: + sm.sendNext("Be prepared. The energy behind the dragon door feels enormous.") + sm.startQuest(parentID) +sm.dispose() diff --git a/scripts/quest/q30013s.py b/scripts/quest/q30013s.py new file mode 100755 index 0000000..cc2e30e --- /dev/null +++ b/scripts/quest/q30013s.py @@ -0,0 +1,39 @@ +# [Root Abyss] World Tree Rescue + +ALICIA = 1064002 # npc Id +sm.removeEscapeButton() +sm.lockInGameUI(True) +sm.setSpeakerID(ALICIA) +sm.showFieldEffect("Map/Effect.img/rootabyss/undo") +sm.showFieldBackgroundEffect("Effect/Direction11.img/effect/meet/frame0/0") +sm.invokeAfterDelay(4000, "sendNext", "Thank you so much, I can finally go wherever I want!") + +sm.setPlayerAsSpeaker() +sm.sendNext("Oh geez... #b(Neinheart wants me to take her to Ereve, but she looks SO HAPPY to be free. What do I do?)#k") + +sm.sendNext("Heeey, so congratulations on your newfound freedom. But, uh, I think you should go stay in Ereve for a while.") + +sm.setSpeakerID(ALICIA) +sm.sendNext("But...") + +sm.setPlayerAsSpeaker() +sm.sendNext("Just for a while, you know? The Empress and Shinsoo can protect you until you get your powers back. " + "It's really dangerous out in the world right now and I don't want to see you get hurt. " + "But it's all up to you..") + +sm.setSpeakerID(ALICIA) +sm.sendNext("No... they're right. I am too important to risk wandering around as I please. I'll go to Ereve... " + "I just hope they let me go on vacation sometimes.") + +sm.setPlayerAsSpeaker() +sm.sendNext("I'll make sure they do! I'll even beat up Neinheart if I have to!") + +sm.setSpeakerID(ALICIA) +sm.sendNext("Hehehe, okay. Once my powers are fully restored, you and me will blow out of there on a whirlwind of tourism and fun!") + +sm.setPlayerAsSpeaker() +sm.sendNext("You've got yourself a deal. The Cygnus Knights will take you back. I'll see you there.") + +sm.lockInGameUI(False) +sm.startQuest(parentID) +sm.warpInstanceIn(913080001, 0) # Fake Cutscene Field (Ereve) diff --git a/scripts/quest/q30051e.py b/scripts/quest/q30051e.py new file mode 100755 index 0000000..f3a7b4c --- /dev/null +++ b/scripts/quest/q30051e.py @@ -0,0 +1,8 @@ +# id 30051 ([Theme Dungeon] The Straight-Faced Princess), field 106030000 +sm.setSpeakerID(1302001) # Violetta +sm.setParam(32) +sm.setColor(1) +sm.sendNext("You are here on behalf of my father's invitation? Have you come because of my portrait? Sigh, I am cursed with this beauty! If only I wasn't so gorgeous!") +sm.startQuest(parentID) +sm.completeQuestNoCheck(parentID) +sm.sendPrev("It's such a burden to be so breathtaking, you know. I mean, the fate of the kingdom falls upon my lovely visage, and those who desire it! Which is everyone, by the way. Don't try to hide it.") diff --git a/scripts/quest/q30051s.py b/scripts/quest/q30051s.py new file mode 100755 index 0000000..76285cc --- /dev/null +++ b/scripts/quest/q30051s.py @@ -0,0 +1,16 @@ +# id 30051 ([Theme Dungeon] The Straight-Faced Princess), field 106030000 +sm.setSpeakerID(1302000) # Mushking +sm.setParam(32) +sm.setColor(1) +sm.sendNext("Welcome to Mushroom Castle, stranger.\r\nI appreciate you coming all the way here. I'm sure Violetta's portrait was more than enough motivation, of course.") +sm.setParam(56) +sm.sendSay("...Her looks are much more shocking in person.") +sm.setParam(32) +sm.sendSay("Yes, Violetta's devilish charms works on anybody, regardless of gender. I'm certain you're wishing to be a candidate for her #r#ehand in marriage#k#n!") +sm.setParam(56) +sm.sendSay("Her spouse? Not at all. (You give your most serious face)") +sm.setParam(32) +sm.sendSay("As you can see, a competition is being held here. The #rVioletta's Smile Competition#k, to be exact. My daughter has never smiled for us in her life, you see. I feel like I have failed as a father... But I also think it's Violetta trying to discourage the unworthy masses, lovesick with her beauty...") +res = sm.sendAskAccept("So I have decided to give the throne to whosoever can make Violetta smile, and become her spouse. It's the only sensible way to decide the kingdom's fate. Mushrooms only, I'm afraid but you can visit with the princess if you like. Go ahead.") +sm.startQuest(parentID) +sm.sendSayOkay("Try not to fall in love with her. I guess it can't be helped, though.") diff --git a/scripts/quest/q30063e.py b/scripts/quest/q30063e.py new file mode 100755 index 0000000..6332468 --- /dev/null +++ b/scripts/quest/q30063e.py @@ -0,0 +1,41 @@ +# id 30063 ([Theme Dungeon] She's On A Boat 1), field 106030500 +sm.setSpeakerID(1302020) # James +sm.setParam(32) +sm.setColor(1) +sm.sendNext("I-I'm scared... Please help...") +sm.createQuestWithQRValue(1470, "on=1;exp=142741503") +sm.progressMessageFont(3, 20, 20, 0, "EXP and mesos greatly reduced if hunting monsters beyond your level range.") +sm.createQuestWithQRValue(1470, "on=1;exp=142742017") +sm.createQuestWithQRValue(1470, "on=1;exp=142742531") +sm.createQuestWithQRValue(1470, "on=1;exp=142743045") +sm.createQuestWithQRValue(1470, "on=1;exp=142743559") +sm.createQuestWithQRValue(1470, "on=1;exp=142744073") +sm.createQuestWithQRValue(1470, "on=1;exp=142744587") +sm.createQuestWithQRValue(1470, "on=1;exp=142745101") +sm.createQuestWithQRValue(1470, "on=1;exp=142745615") +sm.createQuestWithQRValue(1470, "on=1;exp=142746129") +sm.createQuestWithQRValue(1470, "on=1;exp=142746643") +sm.createQuestWithQRValue(1470, "on=1;exp=142747157") +sm.createQuestWithQRValue(1470, "on=1;exp=142747671") +sm.createQuestWithQRValue(1470, "on=1;exp=142748185") +sm.createQuestWithQRValue(1470, "on=1;exp=142748699") +sm.createQuestWithQRValue(1470, "on=1;exp=142749213") +sm.createQuestWithQRValue(1470, "on=1;exp=142749727") +sm.createQuestWithQRValue(1470, "on=1;exp=142750241") +sm.createQuestWithQRValue(1470, "on=1;exp=142750755") +sm.createQuestWithQRValue(1470, "on=1;exp=142751269") +sm.createQuestWithQRValue(1470, "on=1;exp=142751783") +sm.createQuestWithQRValue(1470, "on=1;exp=142752297") +sm.createQuestWithQRValue(1470, "on=1;exp=142752811") +sm.createQuestWithQRValue(1470, "on=1;exp=142753325") +sm.createQuestWithQRValue(1470, "on=1;exp=142753839") +sm.createQuestWithQRValue(1470, "on=1;exp=142754353") +sm.createQuestWithQRValue(1470, "on=1;exp=142754867") +sm.createQuestWithQRValue(1470, "on=1;exp=142755381") +sm.createQuestWithQRValue(1470, "on=1;exp=142755895") +sm.createQuestWithQRValue(1470, "on=1;exp=142756409") +sm.createQuestWithQRValue(1470, "on=1;exp=142756923") +sm.createQuestWithQRValue(1470, "on=1;exp=142757437") +sm.createQuestWithQRValue(1470, "on=1;exp=142757951") +sm.createQuestWithQRValue(1470, "on=1;exp=142758465") +sm.warp(106030000) diff --git a/scripts/quest/q30075s.py b/scripts/quest/q30075s.py new file mode 100755 index 0000000..334ec3d --- /dev/null +++ b/scripts/quest/q30075s.py @@ -0,0 +1,6 @@ +# id 30075 (Move to the Castle Rear Entrance), field 106030000 +sm.setSpeakerType(3) +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(1302007) # Head Security Officer +res = sm.sendAskYesNo("I'll send you to the Castle's Rear Entrance.\r\nReady?\r\n\r\n#b(You will automatically travel to the Castle's Rear Entrance if you accept.)#k") +sm.warp(106030302) diff --git a/scripts/quest/q31240s.py b/scripts/quest/q31240s.py new file mode 100755 index 0000000..c39d5c5 --- /dev/null +++ b/scripts/quest/q31240s.py @@ -0,0 +1,8 @@ +# id 31240 ([Crimsonheart] To Grendel's Library), field 993017200 +sm.setSpeakerID(1032001) # Grendel the Really Old +res = sm.sendAskAccept("Do you know of the land of #bTynerum#k? It is a name from ancient history... a land of demons and myth. If you are interested in learning more, pay me a visit in Ellinia. \r\n\r\n#r(You will move to the Magic Library in Ellinia if you accept.)#k") +sm.sendNext("I will await you at the Magic Library.") +sm.setParam(16) +sm.sendSay("(Meet Grendel the Really Old in Ellinia.)") +sm.startQuest(parentID) +sm.warp(101000003) diff --git a/scripts/quest/q31241s.py b/scripts/quest/q31241s.py new file mode 100755 index 0000000..52cb927 --- /dev/null +++ b/scripts/quest/q31241s.py @@ -0,0 +1,13 @@ +# id 31241 ([Crimsonheart] Message from Tynerum), field 101000003 +sm.setSpeakerID(1032001) # Grendel the Really Old +sm.sendNext("Before we proceed, you must understand that the #bGrand Athenaeum#k is no simple archive of books. There is great magic here.") +sm.sendSay("It is a living, breathing space, where all the knowledge in the universe is stored. Much like the Akashic Records of old, where magicians who surpassed time and space gathered to share their knowledge. Rather grandiose, is it not?") +sm.sendSay("The records there can be rather troublesome. Some of the books seem to have personalities of their own, flitting about from room to room. There is a rather peculiar tome that seems to have taken a liking to the coffee percolator in my reading room. No matter how often I return it to its rightful place, it returns to my chambers.") +res = sm.sendAskYesNo("Aren't you curious to know what that book contained?") +sm.setParam(1) +sm.sendNext("Luckily, as I was completing my morning routine, I found the book open to a page full of odd writing. Once I deciphered the meaning, I realized it was a call for help. It said...\r\n\r\n#bTynerum is on the verge of collapse. Chaos rules, law is gone. The demons of Shadow Veil Forest have fallen to ruin. Send help. \r\n- Ridley#k") +sm.sendSay("The name #bTynerum#k brings to mind stirrings of knowledge I had thought forgotten. I can recall little, though I believe it may have once been the #bhome of a race of demons#k.") +sm.sendSay("I believe this strange message could warrant an investigation. Particularly with the string of Demons that have arrived in Maple World as of late.") +sm.sendSay("Tynerum could give us a better understanding of the demon's true intentions... and what happened in the past that led us to where we are today.") +sm.startQuest(parentID) +sm.completeQuestNoCheck(parentID) diff --git a/scripts/quest/q31243s.py b/scripts/quest/q31243s.py new file mode 100755 index 0000000..965d9af --- /dev/null +++ b/scripts/quest/q31243s.py @@ -0,0 +1,12 @@ +# id 31243 ([Crimsonheart] The Demons of Shadow Veil), field 301000000 +sm.setSpeakerID(2134009) # Pepper +sm.setParam(16) +sm.sendNext("#b(You told Pepper why you are here.)#k") +sm.setParam(0) +res = sm.sendNext("You don't look like the other people of Tynerum. Are you from Shadow Veil, like us? \r\n\r\n#b#L0#I came here through the Dimensional Mirror. Is there someone I can get to help you?#l") +res = sm.sendNext("You-you're from another dimension? ...I don't know if I can believe you, but I guess I don't have any other choice. Besides, you are the first person who hasn't attempted to harm us in ages. My people were foraging for food in the Shadow Veil Forest when monsters came and took us.\r\n\r\n#b#L0#Why did they kidnap you?#l") +res = sm.sendNext("I-I believe we are meant to be #bsacrificed#k.\r\n\r\n#b#L0#Sacrificed?!#l") +res = sm.sendNext("Maybe you really ARE from a different dimension... People have been disappearing around here for years. I'm not sure why you came here though... we never sent out a distress call.\r\n\r\n#b#L0#Is there a sorcerer named #p2134012# here?#l") +res = sm.sendAskYesNo("Never heard of him.") +sm.startQuest(parentID) +sm.sendSayOkay("There's no one named #p2134012# here.\r\n\r\n#b(Search for #p2134012#.)") diff --git a/scripts/quest/q31245s.py b/scripts/quest/q31245s.py new file mode 100755 index 0000000..e99e791 --- /dev/null +++ b/scripts/quest/q31245s.py @@ -0,0 +1,9 @@ +# id 31245 ([Crimsonheart] Crimsonheart Escape), field 301000000 +sm.setSpeakerType(3) +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(1032001) # Grendel the Really Old +sm.sendNext("What did you find?\r\n\r\n#b(You tell Grendel everything you saw.)#k") +sm.sendSay("It sounds as if Tynerum is in chaos. Sacrifices and lawless clans... what a nightmare.") +res = sm.sendAskYesNo("I believe there is more to this tale than meets the eye. Please help the Demons, and see what more you can learn.") +sm.startQuest(parentID) +sm.sendNext("Do take care not to get captured yourself, won't you?\r\n\r\n#b(Return to #p2134012#.)#k") diff --git a/scripts/quest/q31257s.py b/scripts/quest/q31257s.py new file mode 100755 index 0000000..c7a95e3 --- /dev/null +++ b/scripts/quest/q31257s.py @@ -0,0 +1,10 @@ +# id 31257 ([Crimsonheart] Soldiers of Crimsonwood), field 301000000 +sm.setSpeakerID(2134012) # Ridley +res = sm.sendAskYesNo("Did you rescue all those poor demon kids?") +sm.sendNext("I have to tell you, I was worried when you first showed up. You're not exactly the same kind of warrior we're used to seeing around these parts!") +res = sm.sendNext("I'm guessing you got a look at the soldiers in the upper keep? They're a lot like the ones we saw back in Crimsonwood Keep, only a lot meaner.\r\n\r\n#b#L0#What happened to them?#l") +sm.setParam(1) +sm.sendNext("People change during war. Naricain had ways of corrupting even the best of us.") +sm.sendSay("I'm not sure... None of those things should be walking around after the beatings they got at Crimsonwood, but now they're back and tougher than before. That's some kinda dark magic, if you ask me.") +sm.startQuest(parentID) +sm.completeQuestNoCheck(parentID) diff --git a/scripts/quest/q31258e.py b/scripts/quest/q31258e.py new file mode 100755 index 0000000..d27f4d3 --- /dev/null +++ b/scripts/quest/q31258e.py @@ -0,0 +1,6 @@ +# id 31258 ([Crimsonheart] Outside the Castle), field 301070010 +sm.setSpeakerType(3) +sm.setParam(17) +sm.sendNext("Who was that? He didn't seem like an ordinary demon...") +sm.sendSay("This barrier is too strong to get through... I'll have to turn back.") +sm.completeQuestNoCheck(parentID) diff --git a/scripts/quest/q31258s.py b/scripts/quest/q31258s.py new file mode 100755 index 0000000..2b6d7db --- /dev/null +++ b/scripts/quest/q31258s.py @@ -0,0 +1,12 @@ +# id 31258 ([Crimsonheart] Outside the Castle), field 301000000 +sm.setSpeakerType(3) +sm.setParam(16) +sm.sendNext("(Tell Grendel everything you heard from Ridley.)") +sm.setParam(5) +sm.setInnerOverrideSpeakerTemplateID(1032001) # Grendel the Really Old +sm.sendSay("A war led by the demon Naricain, eh? Fascinating...") +sm.setParam(4) +res = sm.sendAskYesNo("Can you see what's outside Crimsonheart Castle? Perhaps a greater perspective would help.") +sm.startQuest(parentID) +sm.setParam(5) +sm.sendNext("Very well.\r\n(Exit the Keep through the door on the bottom right.)") diff --git a/scripts/quest/q31331e.py b/scripts/quest/q31331e.py new file mode 100755 index 0000000..66a0c44 --- /dev/null +++ b/scripts/quest/q31331e.py @@ -0,0 +1,28 @@ +# [Stone Colusses] It Ain't Natural + +CHIEF_TATOMO = 2081000 + +sm.setSpeakerID(CHIEF_TATOMO) +sm.sendNext("Well, you don't look like you just spoke to an ancient nature spirit, but I suppose we'll know soon enough. " + "Are you ready for a little adventure?\r\n\r\n" + "#bYou know it! How do I get to the Stone Colossus?") + +sm.sendSay("Ah, humans. No patience, and not enough hair. " + "I would advise you to seek out the Halflinger expedition that has already traveled to the area. " + "They could help you.\r\n\r\n" + "#bThese are Halflinger explorers?") + +response = sm.sendAskYesNo("Don't act so surprised! " + "Our people are peaceful home-bodies for the most part, but the blood of the explorer can show up where you least expect it. " + "What kind of chief would I be if I held them back?\r\n" + "If you'd like, I can send you to their camp right away.") + +if response: + sm.sendNext("That's the spirit. Do an old-timer a favour and check on my villagers for me.") + sm.completeQuest(parentID) + sm.warp(240090000) # Stone Colossus Exploration Site + +else: + sm.sendNext("Oh.. Okay.. I mean.. I thought you were all about adventures.. I guess I was wrong..\r\n\r\n" + "This is so sad.\r\n" + "Alexa, play Despacito 5!") \ No newline at end of file diff --git a/scripts/quest/q31331s.py b/scripts/quest/q31331s.py new file mode 100755 index 0000000..08bd063 --- /dev/null +++ b/scripts/quest/q31331s.py @@ -0,0 +1,44 @@ +# [Stone Colusses] It Ain't Natural + +CHIEF_TATOMO = 2081000 +GUWARU = 2210011 + +sm.setSpeakerID(CHIEF_TATOMO) +sm.sendNext("Minar Forest has always been known as a place of strange occurrences, but this one takes the proverbial peach pie. " + "A mountain that moves... amazing.") + +sm.sendSay("I don't mind telling you, I was as shocked as you are. " + "My bread was practically standing on end. " + "But it's the truth, and that's a fact.") + +sm.sendSay("When times like these come around, I pray to the great spirit Guwaru for guidance. " + "Sure, sure maybe the Black Mage had control over him for a while, but he's rock-solid fella now, hehe") + +response = sm.sendAskYesNo("We halflingers are kin to the sky, wind and forest. We know a few tricks to contact the great spirits. if you'd like, I could arrange a meeting right now.") + +if response: + sm.sendNext("All right then. Clear your noodle, focus on my topknot, and let's contact a spirit! Listen carefully...") + + sm.setSpeakerID(GUWARU) + sm.flipDialogue() + sm.sendSay("This is my fault. I could never have known a being like this would awaken...\r\n" + "#b(You hear a strange and rumbling voice.)") + + sm.flipDialogue() + sm.sendSay("I should have seen it coming. Long ago, when the Black Mage completed his betrayal, my powers were stolen from me. " + "Everything began then. I had to recover from the blow that I had been dealt, and I neglected my duties as guardian of the forest.") + + sm.flipDialogue() + sm.sendSay("This bizarre scenario is my sole responsibility, but I am no more use than an errant fly with my current powers. " + "Perhaps a mortal touch would be more appropriate. Please meet this colossus in my place.") + + sm.flipDialogue() + sm.sendSay("You will need some of my power to understand the great beast... " + "The transfer should not hurt, so long as it doesn't make you grow roots.\r\n" + "#b(Guwaru's light washes over you. you feel different, more... earthy.)") + + sm.flipDialogue() + sm.sendSay("I will contact you again when I need you. Until then...") + sm.startQuest(parentID) +else: + sm.sendSayOkay("Wot? You don't want to contact a higher being?") \ No newline at end of file diff --git a/scripts/quest/q31334s.py b/scripts/quest/q31334s.py new file mode 100755 index 0000000..4af1b6b --- /dev/null +++ b/scripts/quest/q31334s.py @@ -0,0 +1,28 @@ +# [Stone Colossus] Lavi the Listener + +LAVI = 2210000 + +sm.setSpeakerID(LAVI) +sm.sendNext("Kona tells me I'm on your debt. Just remember, you can help out all you want, just don't come crying when you lose a foot. " + "Now what do you want?") + +sm.sendSay("You want my story? I guess I can do that...") + +sm.sendSay("I brought this expedition out to take a look into the earthquakes. " + "Had a pretty good team up here before the bugs drove them off.") + +sm.sendSay("Of course, we lost a few good explorers when they found out the mountain itself was moving. " + "you should've seen the look on Thumbo's face... But I don't scare so easily. " + "I've been studying this mountain since I was fifteen, and I'm gonna keep exploring it until I'm old and gray.") + +sm.sendSay("I'll tell you what though, fifteen year old me did not expect to see this mountain start moving by itself.") + +sm.sendSay("The shaking was so bad, I thought the whole world was ending. " + "I saw that big mouth start moving and thought we were all going into its belly, but I think it was trying to say something.") + +sm.sendSay("Then it just stopped. And the monsters came... " + "That's when most of my crew went back down the hill. " + "I couldn't let them stay in danger, but I couldn't give up either. " + "And that's my story.") + +sm.startQuest(parentID) diff --git a/scripts/quest/q31336s.py b/scripts/quest/q31336s.py new file mode 100755 index 0000000..cbb0f7b --- /dev/null +++ b/scripts/quest/q31336s.py @@ -0,0 +1,50 @@ +# [Stone Colossus] Rolling with Kupo + +from net.swordie.ms.client.character.skills.temp import CharacterTemporaryStat + +KUPO = 2210002 +KUPOS_RIDE = 1932165 + +sm.setSpeakerID(KUPO) +sm.sendNext("Who are you? Come to meet the famous driver, master of the wheel, Kupo?! I knew it. " + "My fame is spreading across Maple World. " + "It'll be a hundred million mesos for an autograph, but i'll let you take a picture with me for 75.") + +sm.sendSay("Not even a chuckle?\r\n" + "Let me introduce myself like a proper gent. The name's Kupo.\r\n" + "Rhymes with 'eww, slow'.") + +sm.sendSay("You're not much for small talk, are you? I get it. I respect your need for speed.\r\n" + "Getting up to the Stone Colossus ain't exactly a walk in the park, but I've got the ride that will make it a trip to remember. " + "of course, nobody rides for free...") + +response = sm.sendAskYesNo("Your job's simple enough. I keep the motor running, you do everything else. " + "Don't worry about messing up, just trust your instincts. " + "You think you can handle that?") + +if response: + sm.sendNext("That's right! Let's do this!") + sm.startQuest(parentID) + sm.warpInstanceIn(240090800) # Kupo's Ride The Road Up + sm.rideVehicle(KUPOS_RIDE) + sm.lockInGameUI(True, False) + + sm.sendDelay(10000) + sm.sendNext("So...\r\n" + "What's your favourite hobby?\r\n\r\n" + "Mine is driving!") + + sm.sendDelay(10000) + sm.sendNext("You don't like talking?..\r\nAlright..") + + sm.sendDelay(5000) + sm.sendNext("#fs 18##eALRIGHT I GUESS IF YOU'RE NOT GONNA TALK TO ME I'LL JUST TURN THIS SHIT AROUND!!!") + + sm.sendDelay(2000) + sm.warpInstanceOut(240090000) + sm.removeCTS(CharacterTemporaryStat.RideVehicle) + sm.lockInGameUI(False) + sm.sendSayOkay("..Maybe I was a bit too harsh on you.. I'm sorry\r\n" + "I would give you a ride to the other side, but my car is out of fuel!") +else: + sm.sendSayOkay("No?..") \ No newline at end of file diff --git a/scripts/quest/q31339s.py b/scripts/quest/q31339s.py new file mode 100755 index 0000000..ebf6bfa --- /dev/null +++ b/scripts/quest/q31339s.py @@ -0,0 +1,22 @@ +# [Stone Colossus] Kupo's Ride + +from net.swordie.ms.client.character.skills.temp import CharacterTemporaryStat + +KUPO = 2210002 +KUPOS_RIDE = 1932165 +TIME = 20 + +sm.setSpeakerID(KUPO) +response = sm.sendAskYesNo("Okay. We're all fueled up! Ready to head out now?") + +if response: + sm.startQuest(parentID) + sm.warpInstanceIn(240090800, 0) # Kupo's Ride The Road Up + sm.rideVehicle(KUPOS_RIDE) + sm.lockInGameUI(True, False) + sm.setInstanceTime(TIME, 240091000, 2) + sm.invokeAfterDelay(TIME * 1000, "removeCTS", CharacterTemporaryStat.RideVehicle) + sm.invokeAfterDelay(TIME * 1000, "lockInGameUI", False) + sm.sendNext("Yeehaa! Let's go!") +else: + sm.sendSayOkay("What do you mean, no?") \ No newline at end of file diff --git a/scripts/quest/q31342s.py b/scripts/quest/q31342s.py new file mode 100755 index 0000000..0bea2eb --- /dev/null +++ b/scripts/quest/q31342s.py @@ -0,0 +1,17 @@ +# [Stone Colossus] Wanderin' the Colossus + +CHINO = 2210004 +TIME = 20 + +sm.setSpeakerID(CHINO) +sm.sendNext("Okay, are you set to go? We're going to take the elevator up the side of the Stone Colossus, and it's going to be a long trip. " + "Make sure you're ready.") + +response = sm.sendAskYesNo("Are you ready?") + +if response: + sm.warpInstanceIn(240091600) + sm.startQuest(parentID) + sm.setInstanceTime(TIME, 240092000, 0) +else: + sm.sendSayOkay("What are you waiting for?") \ No newline at end of file diff --git a/scripts/quest/q31344s.py b/scripts/quest/q31344s.py new file mode 100755 index 0000000..f2f8111 --- /dev/null +++ b/scripts/quest/q31344s.py @@ -0,0 +1,31 @@ +# [Stone Colossus] Risen from Stone + +GUWARU = 2210011 + +sm.setSpeakerID(GUWARU) +sm.flipDialogue() +sm.sendNext("Greetings #h0#! Can you hear me? Have you spoken with the colossus?\r\n" + "#b(It sounds like Guwaru. You tell him all about the Stone Colossus.)") + +sm.flipDialogue() +sm.sendSay("The birth of this creature is something I had long thought impossible. " + "The spirits of hundreds, if not thousands, of lesser life forms have combined to become one, gigantic entity.") + +sm.flipDialogue() +sm.sendSay("This all began when my powers wre abused by Magnus long ago. " + "The smaller spirits huddled together in fear at the corruption that held me. " + "Alone they were mere insects. Together, they could be safe. " + "The lack of my guidance forced them to coalesce") + +sm.flipDialogue() +sm.sendSay("But this is unnatural, and dangerous. If these spirits were dispersed across the world, the corruption of a few would not be a concern. " + "But if they were tainted by dark energy in this confined space, I fear the corruption would spread too fast to stop.") + +sm.flipDialogue() +sm.sendSay("The catastrophes that colossus could create, if left under the influence of evil powers... " + "I cannot begin to think. If only I had not allowed myself to fall victim to the Black Mage's idiotic plans.") + +sm.flipDialogue() +sm.sendSay("You must help the Stone Colossus regain its pure heart. It would be disastrous if the creature were to fall evil.") + +sm.startQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q31348e.py b/scripts/quest/q31348e.py new file mode 100755 index 0000000..6942009 --- /dev/null +++ b/scripts/quest/q31348e.py @@ -0,0 +1,20 @@ +# [Stone Colossus] Colossal Clean Up 4 + +UNKNOWN_PERSON = 2210009 # Npc Name = ??? + +sm.flipDialoguePlayerAsSpeaker() +sm.sendNext("I can't believe the Goddess would create such a vile and vicious monster.") + +sm.setSpeakerID(UNKNOWN_PERSON) +sm.flipDialogue() +sm.sendSay("This is only the beginning. There is so much more in store...") + +sm.flipDialoguePlayerAsSpeaker() +sm.sendNext("#b(The stranger's voice fades with the passing wind.)") + +sm.warpInstanceOut(240092000, 0) # Top of Chino's Station +sm.completeQuest(parentID) + +sm.removeEscapeButton() +sm.startQuest(31349) # [Stone Colossus] Colossal Clean Up 5 +sm.sendSayOkay("I should check on the Stone Colossus!") \ No newline at end of file diff --git a/scripts/quest/q31351e.py b/scripts/quest/q31351e.py new file mode 100755 index 0000000..a58b87d --- /dev/null +++ b/scripts/quest/q31351e.py @@ -0,0 +1,8 @@ +# [Stone Colossus] Colossal Clean Up 7 + +sm.flipDialoguePlayerAsSpeaker() +sm.sendNext("#b(The Stone Colossus's trembling subsides. A feeling of calm and peace washes over the area.)#k\r\n" + "Whew, I think the Stone Colossus is out of harm's way for now.") + +sm.sendNext("I'd better see how old rock-face is doing.") +sm.completeQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q31802s.py b/scripts/quest/q31802s.py new file mode 100755 index 0000000..b181eac --- /dev/null +++ b/scripts/quest/q31802s.py @@ -0,0 +1,22 @@ + + +sm.setSpeakerID(3001007) +sm.sendNext("I'm sorry, but it's crazy around here. Our commanders, #b#p3001000##k and #b#p3001001##k, are cut off near the front.") + + +sm.sendSay("They're both top-quality warriors, but I'm worried about the troops with them. They may not have the fortitude to handle that kind of battle.") + +sm.sendSay("I don't really have time to go into further detail, but we need your help on the battlefield. I'll guide you there!") + +response = sm.sendAskYesNo("Please protect as may soldiers as you can! If you succeed, please go to the #b#m401000001##k and speak with both #b#p3001001##k and #b#p3001000##k. I wish you luck, Maple Warrior! \r\n \r\n #b(#ePress Accept to move automatically. You will have to forfeit the quest and restart if you fail.#n)#k") + +if response: + sm.setFlippedPlayerAsSpeaker() + sm.sendNext("I'm ready to enter the Heliseum Reclamation HQ and hunt down my enemies.") +elif response == 0: + #TODO + sm.dispose() + +sm.startQuest(31802) +sm.warpInstanceIn(401070000) +sm.dispose() diff --git a/scripts/quest/q31806s.py b/scripts/quest/q31806s.py new file mode 100755 index 0000000..0baa59d --- /dev/null +++ b/scripts/quest/q31806s.py @@ -0,0 +1,15 @@ +#Securing the Front Lines | Magnus Prequest + +sm.setSpeakerID(3001000) +sm.sendNext("Hey there. Glad to see you made it here with all your limbs. I called you out here to help me lock down the front.") +sm.setPlayerAsSpeaker() +sm.sendNext("I didn't think all those battle hounds were stopping supplies from getting through.") +sm.setSpeakerID(3001000) +sm.sendNext("You got that right. We need to open up the supply lines if we want to make a difference. That means an attack on the #b#m401010010##k, where all those #r#o2400109##k monsters are holed up.") +if sm.sendAskYesNo("It's tough to get through them with their High HP and defense. but I'm sure you'll figure out a way to take down their shields. \r\n \r\n #b#e(Press Accept to move automatically. You will have to forfeit the quest and restart if you fail.)#k#n"): + sm.sendNext("It shouldn't be too tough for you. You'll take care of business easy.") + sm.startQuest(31806) + sm.warpInstanceIn(401070100) + sm.dispose() +else: + sm.dispose() diff --git a/scripts/quest/q31900e.py b/scripts/quest/q31900e.py new file mode 100755 index 0000000..d3d07ae --- /dev/null +++ b/scripts/quest/q31900e.py @@ -0,0 +1,6 @@ +# id 31900 ([Twilight Perion] The Second Future), field 913050010 +sm.setSpeakerID(1105001) # Athena Pierce +res = sm.sendAskAccept("You're here! Let's get the meeting started right away!") +sm.setParam(1) +sm.sendNext("We must begin immediately, without any delays.") +sm.warp(913051000) diff --git a/scripts/quest/q32000s.py b/scripts/quest/q32000s.py new file mode 100755 index 0000000..32b6b8f --- /dev/null +++ b/scripts/quest/q32000s.py @@ -0,0 +1,8 @@ +# Rage Acolyte + +medal = 1142553 + +if sm.canHold(medal): + sm.chatScript("You have earned a new medal.") + sm.startQuest(parentID) + sm.completeQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q32001s.py b/scripts/quest/q32001s.py new file mode 100755 index 0000000..b74d360 --- /dev/null +++ b/scripts/quest/q32001s.py @@ -0,0 +1,8 @@ +# Fury Incarnate + +medal = 1142554 + +if sm.canHold(medal): + sm.chatScript("You have earned a new medal.") + sm.startQuest(parentID) + sm.completeQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q32002s.py b/scripts/quest/q32002s.py new file mode 100755 index 0000000..188a557 --- /dev/null +++ b/scripts/quest/q32002s.py @@ -0,0 +1,8 @@ +# Abyssal Avenger + +medal = 1142555 + +if sm.canHold(medal): + sm.chatScript("You have earned a new medal.") + sm.startQuest(parentID) + sm.completeQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q32003s.py b/scripts/quest/q32003s.py new file mode 100755 index 0000000..2dbae9e --- /dev/null +++ b/scripts/quest/q32003s.py @@ -0,0 +1,8 @@ +# Rage Master + +medal = 1142556 + +if sm.canHold(medal): + sm.chatScript("You have earned a new medal.") + sm.startQuest(parentID) + sm.completeQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q32004s.py b/scripts/quest/q32004s.py new file mode 100755 index 0000000..9178c6d --- /dev/null +++ b/scripts/quest/q32004s.py @@ -0,0 +1,8 @@ +# Ultimate Avenger + +medal = 1142557 + +if sm.canHold(medal): + sm.chatScript("You have earned a new medal.") + sm.startQuest(parentID) + sm.completeQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q32005s.py b/scripts/quest/q32005s.py new file mode 100755 index 0000000..6668ad5 --- /dev/null +++ b/scripts/quest/q32005s.py @@ -0,0 +1,8 @@ +# Memory Seeker + +medal = 1142575 + +if sm.canHold(medal): + sm.chatScript("You have earned a new medal.") + sm.startQuest(parentID) + sm.completeQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q32006s.py b/scripts/quest/q32006s.py new file mode 100755 index 0000000..373cef8 --- /dev/null +++ b/scripts/quest/q32006s.py @@ -0,0 +1,8 @@ +# Secret Agent + +medal = 1142576 + +if sm.canHold(medal): + sm.chatScript("You have earned a new medal.") + sm.startQuest(parentID) + sm.completeQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q32007s.py b/scripts/quest/q32007s.py new file mode 100755 index 0000000..65aeb26 --- /dev/null +++ b/scripts/quest/q32007s.py @@ -0,0 +1,8 @@ +# Captain Freedom + +medal = 1142577 + +if sm.canHold(medal): + sm.chatScript("You have earned a new medal.") + sm.startQuest(parentID) + sm.completeQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q32008s.py b/scripts/quest/q32008s.py new file mode 100755 index 0000000..3d31f75 --- /dev/null +++ b/scripts/quest/q32008s.py @@ -0,0 +1,8 @@ +# Border Patrol + +medal = 1142578 + +if sm.canHold(medal): + sm.chatScript("You have earned a new medal.") + sm.startQuest(parentID) + sm.completeQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q32009s.py b/scripts/quest/q32009s.py new file mode 100755 index 0000000..1284bfb --- /dev/null +++ b/scripts/quest/q32009s.py @@ -0,0 +1,8 @@ +# Last One Home + +medal = 1142579 + +if sm.canHold(medal): + sm.chatScript("You have earned a new medal.") + sm.startQuest(parentID) + sm.completeQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q32018s.py b/scripts/quest/q32018s.py new file mode 100755 index 0000000..7353dc7 --- /dev/null +++ b/scripts/quest/q32018s.py @@ -0,0 +1,8 @@ +# Shadow Knight + +medal = 1142634 + +if sm.canHold(medal): + sm.chatScript("You have earned a new medal.") + sm.startQuest(parentID) + sm.completeQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q32019s.py b/scripts/quest/q32019s.py new file mode 100755 index 0000000..61cac1c --- /dev/null +++ b/scripts/quest/q32019s.py @@ -0,0 +1,8 @@ +# Child of the Goddess + +medal = 1142635 + +if sm.canHold(medal): + sm.chatScript("You have earned a new medal.") + sm.startQuest(parentID) + sm.completeQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q32023s.py b/scripts/quest/q32023s.py new file mode 100755 index 0000000..93c9fde --- /dev/null +++ b/scripts/quest/q32023s.py @@ -0,0 +1,8 @@ +# Honorary Fox + +medal = 1142671 + +if sm.canHold(medal): + sm.chatScript("You have earned a new medal.") + sm.startQuest(parentID) + sm.completeQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q32024s.py b/scripts/quest/q32024s.py new file mode 100755 index 0000000..c360a1a --- /dev/null +++ b/scripts/quest/q32024s.py @@ -0,0 +1,9 @@ +# Forgotten Hero + +medal = 1142672 + +if sm.canHold(medal): + sm.chatScript("You have earned a new medal.") + sm.startQuest(parentID) + sm.completeQuest(parentID) + sm.giveSkill(20051005, 1, 1) \ No newline at end of file diff --git a/scripts/quest/q32102s.py b/scripts/quest/q32102s.py new file mode 100755 index 0000000..5d9e557 --- /dev/null +++ b/scripts/quest/q32102s.py @@ -0,0 +1,36 @@ +# [Ellinel Fairy Academy] You Can Do It + +FANZY = 1500010 # NPC ID +YOU_CAN_DO_IT = 32102 # QUEST ID + +sm.setSpeakerID(FANZY) +sm.sendNext("Are you asking where we are? Did you follow me without knowing where I was going? This is the forest path to the #b Ellinel Fairy Academy#k.") + +sm.setPlayerAsSpeaker() +sm.sendSay("Ellinel Fairy Academy?") + +sm.setSpeakerID(FANZY) +sm.sendSay("Yes. #b Ellinel#k is an academy where fairy children learn magic.") + +sm.setPlayerAsSpeaker() +sm.sendSay("But why is it hidden so deep within the forest?") + +sm.setSpeakerID(FANZY) +sm.sendSay("Did you know that #bEllinia#k used to be a fairy town? Several hundred years ago, after a war with the Black Mage, humans came in and reclaimed the town and it became the #bEllinia#k we know now.") + +sm.setPlayerAsSpeaker() +sm.sendSay("Then that must mean that fairies live outside of Ellinia, too.") + +sm.setSpeakerID(FANZY) +sm.sendSay("Some fairies are okay with humans, but others very much are not. It's the same in the #bEllinel Fairy Academy#k. They don't want to mix with humans, and so they disappeared into the forest. That's why the school is far across the lake.") + +sm.setPlayerAsSpeaker() +sm.sendSay("You think Cootie got captured by human-hating fairies?") + +sm.setSpeakerID(FANZY) +response = sm.sendAskAccept("Most likely. I know I thought about using him as a scratching post a few times. Master #bGrendel#k and I tried to befriend the fairies, but they just weren't listening. I think we should use more... forceful methods.\r\n#b #h ##k, let me ask... are you a good swimmer?") + +if response: + sm.sendNext("Why don't you go for a swim! Show us how brave you are, meow...\r\n#b (Cross the lake to the right.)#k'") + sm.startQuestNoCheck(YOU_CAN_DO_IT) +sm.dispose() diff --git a/scripts/quest/q32106e.py b/scripts/quest/q32106e.py new file mode 100755 index 0000000..359a349 --- /dev/null +++ b/scripts/quest/q32106e.py @@ -0,0 +1,5 @@ +# id 32106 ([Ellinel Fairy Academy] Ivana's Misunderstanding), field 101072000 +sm.setSpeakerID(1500000) # Cootie the Really Small +sm.sendNext("Are you here to chastise me?") +sm.sendSay("Look, hear me out, please? Why would I ever kidnap a fairy? SURE, they're THE most evolved and amazing species on the planet, but...") +sm.completeQuestNoCheck(parentID) diff --git a/scripts/quest/q32106s.py b/scripts/quest/q32106s.py new file mode 100755 index 0000000..5bb53dd --- /dev/null +++ b/scripts/quest/q32106s.py @@ -0,0 +1,23 @@ +# id 32106 ([Ellinel Fairy Academy] Ivana's Misunderstanding), field 101072000 +sm.setSpeakerID(1500001) # Headmistress Ivana +sm.setParam(4) +sm.setSpeakerID(1500001) # Headmistress Ivana +sm.sendNext("You're still here. Is there more to discuss?") +sm.setInnerOverrideSpeakerTemplateID(1500002) # Faculty Head Kalayan +sm.sendSay("You cannot trust this outsider, Headmistress! The human will only feed us lies and lame excuses. ") +sm.setPlayerAsSpeaker() +sm.sendSay("#bI thought you were a wise and rational people. We should analyze the facts before we come to any kind of judgment. #k") +sm.setInnerOverrideSpeakerTemplateID(1500002) # Faculty Head Kalayan +sm.sendNext("Five children vanished into thin air at once! What other facts do you need? This one kidnapped them, end of story!") +sm.setPlayerAsSpeaker() +sm.sendNext("#b So, you have proof that Cootie was the culprit?") +sm.setInnerOverrideSpeakerTemplateID(1500002) # Faculty Head Kalayan +sm.sendNext("The on you call Cootie has been chased off of these grounds a number of times, but he continues to return and defy our wishes. He has been conducting secret experiments in our forest!") +sm.sendNext("He's been planning this! It's the perfect crime. He comes to scout the area for weeks before he finally steals the children from underneath our very noses! He knew we had a number of staffers going out on vacation, and I caught him loitering around the scene of the crime afterward. He MUST be guilty!") +sm.setPlayerAsSpeaker() +sm.sendNext("#b(Could Cootie really have planned the kidnapping of five children? He's so small!)") +sm.setInnerOverrideSpeakerTemplateID(1500001) # Headmistress Ivana +sm.sendNext("Your desire is to find the most rational explanation. I present to you that our primes suspect IS the omst rational explanation. We must interrogate him.") +sm.setPlayerAsSpeaker() +sm.sendNext("#b(They're way too upset to see anybody except Cootie as a suspect. Better talk to him...)") +sm.startQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q32109e.py b/scripts/quest/q32109e.py new file mode 100755 index 0000000..6daa845 --- /dev/null +++ b/scripts/quest/q32109e.py @@ -0,0 +1,10 @@ +# id 32109 ([Ellinel Fairy Academy] Cootie's Suggestion), field 101072000 +sm.setSpeakerID(1500001) # Headmistress Ivana +res = sm.sendNext("You think YOU can find the missing children? How do you propose to do that?#b\r\n#L0#Let's look around the lake. #l\r\n#L1#Why don't we use magic?#l#l\r\n#L2#I'd like to look through the childrens' rooms.#l") +if res == 0: + sm.sendNext("The lake has been searched ten times over at this point. There's nothing left there to find. ") +elif res == 1: + sm.sendNext("Magic doesn't work like that.") +elif res == 2: + sm.sendNext("I don't really like the idea of you snooping around, but you can go ahead.") + sm.completeQuest(parentID) diff --git a/scripts/quest/q32110e.py b/scripts/quest/q32110e.py new file mode 100755 index 0000000..5ce35b3 --- /dev/null +++ b/scripts/quest/q32110e.py @@ -0,0 +1,5 @@ +# id 32110 ([Ellinel Fairy Academy] Combing the Academy 1), field 101072200 +sm.setSpeakerID(1500011) # Cootie the Really Small +sm.sendNext("Did you find anything useful?") +sm.sendSay("A secret project? We'd better look for that from here out.") +sm.completeQuestNoCheck(parentID) diff --git a/scripts/quest/q32110s.py b/scripts/quest/q32110s.py new file mode 100755 index 0000000..cbf5553 --- /dev/null +++ b/scripts/quest/q32110s.py @@ -0,0 +1,18 @@ +# id 32110 ([Ellinel Fairy Academy] Combing the Academy 1), field 101072200 +sm.setSpeakerID(1500011) # Cootie the Really Small +sm.sendNext("Isn't this place amazing, #h0#. Let's have a look around.") +sm.setParam(2) +sm.sendSay("What should we do first?") +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(1500011) # Cootie the Really Small +sm.sendSay("You know what kids love the most? Secrets! I remember trading potion recipes with my friends behind the teacher's backs, hiding away my alchemy research in the nooks around school...") +sm.setParam(0) +res = sm.sendNext("I bet these kids have hidden notes all around the school. But how would we find them?#b\r\n#L0#Find the children and ask them where they hid things.#l\r\n#L1#They must be nearby, we should look around.#l#l\r\n#L2#I have no idea. This is hard...#l") +if res == 0: + sm.sendNext("What a human thing to say, #h0#. We have to find their secrets FIRST! Then we find them... geez.") +elif res == 1: + sm.sendNext("Everyone already searched, We should try something else.") +elif res == 2: + sm.sendNext("Maybe there are clues written in these books.") + sm.startQuest(parentID) + sm.addQRValue(32133, "1") diff --git a/scripts/quest/q32111s.py b/scripts/quest/q32111s.py new file mode 100755 index 0000000..b1f1c08 --- /dev/null +++ b/scripts/quest/q32111s.py @@ -0,0 +1,5 @@ +# id 32111 ([Ellinel Fairy Academy] Combing the Academy 2), field 101072200 +sm.setSpeakerID(1500011) # Cootie the Really Small +res = sm.sendAskAccept("If this note is accurate, the secret thing they were working on will be around the dormitories. The boys' hall stretches across most of the second floor. Let's try there.") +sm.sendNext("I, uh, I'm going to hang out here until you're done. I need to look around...\r\n#b(Check the dormitories on both ends of the 2nd floor.)#k") +sm.startQuest(parentID) diff --git a/scripts/quest/q32112e.py b/scripts/quest/q32112e.py new file mode 100755 index 0000000..3ed9e73 --- /dev/null +++ b/scripts/quest/q32112e.py @@ -0,0 +1,6 @@ +# id 32112 ([Ellinel Fairy Academy] Clue Number One), field 101072200 +sm.setSpeakerID(1500011) # Cootie the Really Small +sm.sendNext("You found a script? Let me take a look at that.\r\n\r\n...Well, there are some obvious problems in the first act, and the All-You-Can-Eat Sundae Bar scene seems a little tacked on, but this is a fine example of fairy entertainment. Why did the kids have this?") +sm.sendSay("Let's investigate the third floor! Maybe we'll find something else.\r\n\r\n#b(Talk to #b#p1500012##k on the 3rd floor of Ellinel Fairy Academy.)#k") +sm.completeQuestNoCheck(32111) +sm.completeQuestNoCheck(parentID) diff --git a/scripts/quest/q32112s.py b/scripts/quest/q32112s.py new file mode 100755 index 0000000..ec1f293 --- /dev/null +++ b/scripts/quest/q32112s.py @@ -0,0 +1,19 @@ +# id 32112 ([Ellinel Fairy Academy] Clue Number One), field 101072400 +sm.setSpeakerID(1500021) # Hidey Hole +if sm.sendAskAccept("There's something weird over here. Should we check it out?"): + sm.setParam(2) + sm.sendNext("#i4033828# \r\n\r\n(You found... a stageplay. Did the kids write this thing? It's like 300 pages long! You'd probably better go ahead and read it... for research...)") + sm.setParam(4) + sm.setInnerOverrideSpeakerTemplateID(1500022) # Fairy Stageplay + sm.sendSay("[Fairy Stageplay]\r\n\r\n- Act 3 -\r\n\r\n[The curtain rises as a solemn tune fills the air.]\r\n\r\nPHANTOM: (to audience) This world is a world of sadness and sorrow, and also sadness! I warn thee, commander of evil and friend to the Black Mage, I will never allow you to rest in peace, except when I make you rest in peace! I have stolen gems and masterpieces from millions of fancy people, but the last thing I will take... IS YOUR LIFE!") + sm.setParam(2) + sm.sendSay("This is amazing... I've got to read more") + sm.setParam(4) + sm.sendSay("[Fairy Stageplay]\r\n\r\nARAN: (Brave and wistful at the same time) Dear guardian of light, travel faster than light! I will ward off the evils of the enemy with my tornado arms!\r\nLUMINOUS: (Super lamenty) I swear by the mightiest of all the gods of time and light powers that I will defeat the Black Mage with my ultra light magic before your weapon can destroy its thousandth and one enemy! \r\n\r\n[The lights dim and Freud and Mercedes appear, stage left]\r\n\r\nFREUD: Oh dearest, fairest, cutest queen of elves! You are so pretty that I want to kiss your feet and then brush your hair! My honor is exploding with extra power from fighting at your side!\r\nMERCEDES: Oh, most dragonest of Dragon Masters, I will be proud to fight at your side, with my awesome hair flowing in the wind from your sweet dragon! The Black Mage will fall before us!") + sm.setParam(2) + sm.sendSay("Why in the world were the kids hiding this thing? I want to read more, but I have to show Cootie.\r\n(Talk to #b#p1500011##k.)") + if sm.canHold(4033828): + sm.giveItem(4033828) + sm.startQuest(parentID) + else: + sm.sendNext("You can't pick up the Fairy Stageplay item, please make some space in your inventory.") diff --git a/scripts/quest/q32114s.py b/scripts/quest/q32114s.py new file mode 100755 index 0000000..3cd5695 --- /dev/null +++ b/scripts/quest/q32114s.py @@ -0,0 +1,5 @@ +# id 32114 ([Ellinel Fairy Academy] Combing the Academy 4), field 101072700 +sm.setSpeakerID(1500012) # Cootie the Really Small +res = sm.sendAskAccept("The girls' dormitories are laid out just like the boys', on the end of each floor. I don't know if I'm supposed to be looking around in ladies' rooms though...") +sm.sendNext("We must do what must be done to complete this investigation!\r\n(Cootie's blushing for some reason...)\r\n\r\nPlease look around the dormitories on the third floor for me...") +sm.startQuest(parentID) diff --git a/scripts/quest/q32115e.py b/scripts/quest/q32115e.py new file mode 100755 index 0000000..d835027 --- /dev/null +++ b/scripts/quest/q32115e.py @@ -0,0 +1,6 @@ +# id 32115 ([Ellinel Fairy Academy] Clue Number Two), field 101072700 +sm.setSpeakerID(1500012) # Cootie the Really Small +sm.sendNext("These costumes must be what the girls were working on in secret! I bet they were putting on that play we found! But how does this tie into their disappearance?") +sm.sendSay("Let's go back to the first floor and talk with the Headmistress.\r\n\r\n#b(Go to the 1st floor of Ellinel Fairy Academy.)#k") +sm.completeQuestNoCheck(32114) +sm.completeQuestNoCheck(parentID) diff --git a/scripts/quest/q32115s.py b/scripts/quest/q32115s.py new file mode 100755 index 0000000..5cc5258 --- /dev/null +++ b/scripts/quest/q32115s.py @@ -0,0 +1,11 @@ +# id 32115 ([Ellinel Fairy Academy] Clue Number Two), field 101072500 +sm.setSpeakerID(1500023) # Hidey Hole +if sm.sendAskAccept("There's something weird over here. Should we check it out?"): + sm.setParam(2) + sm.sendNext("#i4033829# \r\n\r\nThere's so much clothing up here... Some of them look weird.") + sm.sendSay("#i1052196##i1050168##i1052495#\r\n\r\nI knew it! These are stage costumes! I'd better get this back to Cootie.") + if sm.canHold(4033829): + sm.startQuest(parentID) + sm.giveItem(4033829) + else: + sm.sendNext("You can't hold the Fairy Stage Costumes because you don't have sufficient inventory space.") diff --git a/scripts/quest/q32116e.py b/scripts/quest/q32116e.py new file mode 100755 index 0000000..b1a3a57 --- /dev/null +++ b/scripts/quest/q32116e.py @@ -0,0 +1,5 @@ +# id 32116 ([Ellinel Fairy Academy] The Search Concluded), field 101072000 +sm.setSpeakerID(1500001) # Headmistress Ivana +res = sm.sendAskAccept("I owe you an apology. We completely misunderstood your intentions here. I hope you will continue to help us find the children.") +sm.sendNext("I need to think about how to find the missing students. Give me some time, please.") +sm.completeQuestNoCheck(parentID) diff --git a/scripts/quest/q32116s.py b/scripts/quest/q32116s.py new file mode 100755 index 0000000..55e525f --- /dev/null +++ b/scripts/quest/q32116s.py @@ -0,0 +1,24 @@ +# id 32116 ([Ellinel Fairy Academy] The Search Concluded), field 101072000 +sm.setSpeakerID(1500000) # Cootie the Really Small +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(1500000) # Cootie the Really Small +sm.sendNext("Hey, #b#h0##k. I was just telling the Headmistress what we found...") +sm.setInnerOverrideSpeakerTemplateID(1500001) # Headmistress Ivana +sm.sendSay("You believe the children were trying to stage a play?") +sm.setInnerOverrideSpeakerTemplateID(1500000) # Cootie the Really Small +sm.sendSay("Everything we found points to it. Do you think that's why the kids are missing?") +sm.setInnerOverrideSpeakerTemplateID(1500002) # Faculty Head Kalayan +sm.sendSay("...This is all my fault, Headmistress Ivana.") +sm.sendSay("......") +sm.sendSay("A few days past, I caught the children mimicking the heroes of humankind, so I admonished them.") +sm.setInnerOverrideSpeakerTemplateID(1500000) # Cootie the Really Small +sm.sendSay("Why did you punish them? It's only natural for kids to admire heroes. When I was their age, I used to--") +sm.setInnerOverrideSpeakerTemplateID(1500002) # Faculty Head Kalayan +sm.sendSay("We do not spend our time dreaming about humans. \r\n\r\nI could not have known the children would have been so insistent. They must have begun rehearsing in secret...") +sm.setInnerOverrideSpeakerTemplateID(1500000) # Cootie the Really Small +sm.sendSay("They must have gone somewhere dangerous to stay away from you... Like the forest...") +sm.setInnerOverrideSpeakerTemplateID(1500002) # Faculty Head Kalayan +sm.sendSay("If... If something bad were to happen to the children, I-I can't...") +sm.setInnerOverrideSpeakerTemplateID(1500001) # Headmistress Ivana +sm.sendSay("Calm down, Kalayan. We need to remain poised.") +sm.startQuest(parentID) diff --git a/scripts/quest/q32117e.py b/scripts/quest/q32117e.py new file mode 100755 index 0000000..2ad4f7f --- /dev/null +++ b/scripts/quest/q32117e.py @@ -0,0 +1,8 @@ +# id 32117 ([Ellinel Fairy Academy] Graduate Search), field 101000000 +sm.setSpeakerID(1032100) # Arwen the Fairy +sm.sendNext("What do you want? I'm busy...") +sm.setPlayerAsSpeaker() +sm.sendNext("(You tell Arwen what's going on.)") +sm.setSpeakerID(1032100) # Arwen the Fairy +sm.sendNext("Missing students? That sounds dangerous... Ellinel isn't the safest place to go missing.") +sm.completeQuest(parentID) diff --git a/scripts/quest/q32117s.py b/scripts/quest/q32117s.py new file mode 100755 index 0000000..6d01462 --- /dev/null +++ b/scripts/quest/q32117s.py @@ -0,0 +1,6 @@ +# id 32117 ([Ellinel Fairy Academy] Graduate Search), field 101072000 +sm.setSpeakerID(1500001) # Headmistress Ivana +res = sm.sendAskAccept("Do you know Arwen or Rowen from Ellinia? They are former Ellinel Fairy Academy graduates. They might know of some places we teachers do not.\r\n\r\n #e#b(You will be moved to Ellinia if you accept.)#k") +sm.sendNext("Please meet Arwen the Fairy in Ellinia.") +sm.startQuest(parentID) +sm.warp(101000000) diff --git a/scripts/quest/q32120e.py b/scripts/quest/q32120e.py new file mode 100755 index 0000000..3c7f355 --- /dev/null +++ b/scripts/quest/q32120e.py @@ -0,0 +1,50 @@ +# id 32120 ([Ellinel Fairy Academy] Dr. Betty's Measures), field 101072000 +sm.setSpeakerID(1500001) # Headmistress Ivana +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(1500001) # Headmistress Ivana +sm.sendNext("Welcome back. Did the girls in Ellinia help you?") +sm.setParam(2) +sm.sendSay("(You show them Dr. Betty's device.)") +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(1500002) # Faculty Head Kalayan +sm.sendSay("Are you suggesting we befoul our forest with this filthy, foul item from the corrupted human civilization? Never!") +sm.setInnerOverrideSpeakerTemplateID(1500009) # Rowen the Fairy +sm.sendSay("There's no other option at this point, Faculty Head Kalayan.") +sm.setInnerOverrideSpeakerTemplateID(1500008) # Arwen the Fairy +sm.sendSay("Rowen's right. We have to find those children!") +sm.setInnerOverrideSpeakerTemplateID(1500001) # Headmistress Ivana +sm.sendSay("I cannot say that I am fond of the idea, but we have no other options.") +sm.setInnerOverrideSpeakerTemplateID(1500002) # Faculty Head Kalayan +sm.sendSay("Fine. But this is on YOUR wings if it pollutes our forest...") +sm.setInnerOverrideSpeakerTemplateID(1500000) # Cootie the Really Small +sm.sendSay("Everyone, please stay quiet for a minute. I'm going to turn it on.") +sm.lockInGameUI(True, True) +sm.sendDelay(500) +sm.changeBGM("Bgm34.img/TheFairyForest", 0, 0) +sm.setParam(5) +sm.sendNext("......") +sm.sendSay("Wow, I can hear the whole forest!") +sm.sendDelay(2000) +sm.sendDelay(2000) +sm.sendNext("???") +sm.sendDelay(2000) +sm.sendDelay(2000) +sm.setInnerOverrideSpeakerTemplateID(1500002) # Faculty Head Kalayan +sm.sendNext("What's wrong with this thing? Why is it only recording useless noises?") +sm.setInnerOverrideSpeakerTemplateID(1500009) # Rowen the Fairy +sm.sendSay("Shh... Be quiet.") +sm.sendDelay(3000) +sm.sendDelay(1000) +sm.setInnerOverrideSpeakerTemplateID(1500001) # Headmistress Ivana +sm.sendNext("That voice!") +sm.setInnerOverrideSpeakerTemplateID(1500000) # Cootie the Really Small +sm.sendSay("It's coming from out back!") +sm.setInnerOverrideSpeakerTemplateID(1500002) # Faculty Head Kalayan +sm.sendSay("Be patient, children! I will save you right now!") +sm.setInnerOverrideSpeakerTemplateID(1500009) # Rowen the Fairy +sm.sendSay("Arwen, we should help.") +sm.setInnerOverrideSpeakerTemplateID(1500001) # Headmistress Ivana +sm.sendSay("Everyone, please wait!") +sm.changeBGM("Bgm34.img/TheFairyAcademy", 0, 0) +sm.lockInGameUI(False, True) +sm.completeQuestNoCheck(parentID) diff --git a/scripts/quest/q32120s.py b/scripts/quest/q32120s.py new file mode 100755 index 0000000..3704fc6 --- /dev/null +++ b/scripts/quest/q32120s.py @@ -0,0 +1,10 @@ +# id 32120 ([Ellinel Fairy Academy] Dr. Betty's Measures), field 101000000 +sm.setSpeakerID(1032104) # Betty +sm.sendNext("I have studied the magical forests around the academy a great deal. It's difficult to navigate, but I created a tool that can help you at least identify which directions sounds are coming from. \r\n\r\n#i4033830##b#t4033830##k") +if sm.sendAskAccept("I'm not sure how helpful it will be, but it's better than nothing. Now, I've got to go before my lab explodes. \r\n\r\n#b(You will move to Ellinel Fairy Academy if you accept.)#k"): + if sm.canHold(4033830): + sm.giveItem(4033830) + sm.startQuest(parentID) + sm.warp(101071300) + else: + sm.sendNext("You don't have enough inventory space to hold this Directional Sonar.") \ No newline at end of file diff --git a/scripts/quest/q32129s.py b/scripts/quest/q32129s.py new file mode 100755 index 0000000..2c4b365 --- /dev/null +++ b/scripts/quest/q32129s.py @@ -0,0 +1,6 @@ +# id 32129 ([Ellinel Fairy Academy] Professor Peace), field 101073200 +sm.setSpeakerID(1500015) # Cootie the Really Small +res = sm.sendAskAccept("Not bad, #h0#. You really thought like a fairy out there. Let's return to the Headmistress in Ellinel. \r\n#b(You will be moved to Ellinel if you accept.)#k") +sm.setParam(1) +sm.sendNext("Great. All the kids must be back by now, right?") +sm.warp(101072001) diff --git a/scripts/quest/q32136e.py b/scripts/quest/q32136e.py new file mode 100755 index 0000000..12a026d --- /dev/null +++ b/scripts/quest/q32136e.py @@ -0,0 +1,9 @@ +# id 32136 | [Theme Dungeon] Ellinel Fairy Academy +sm.setSpeakerID(1040002) +sm.sendNext("Are you the one I invited to help with the ruckus at the Ellinel Fairy Academy?") +sm.setPlayerAsSpeaker() +sm.sendNext("Um, of course?") +sm.setSpeakerID(1040002) +sm.sendNext("You don't look as strong as I'd hoped. But, you're famous, so I'll leave it to you.") +sm.completeQuest(parentID) +sm.createQuestWithQRValue(32101, "1") \ No newline at end of file diff --git a/scripts/quest/q32136s.py b/scripts/quest/q32136s.py new file mode 100755 index 0000000..d97d313 --- /dev/null +++ b/scripts/quest/q32136s.py @@ -0,0 +1,7 @@ +# id 32136 | [Theme Dungeon] Ellinel Fairy Academy +sm.setSpeakerID(10201) +sm.sendNext("Could you spare me a moment? I received a request for help, and I can' think of anyone better than you.") +sm.sendNext("There has been an incident at the #bEllinel Fairy Academy#k. A human magician has trespassed in the sacred halls of the fairy school.") +if sm.sendAskYesNo("Fanzy will take you into the land of the fairies. I can send you to him directly, if you'd like."): + sm.warp(101030000) + sm.startQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q32138e.py b/scripts/quest/q32138e.py new file mode 100755 index 0000000..d6aba15 --- /dev/null +++ b/scripts/quest/q32138e.py @@ -0,0 +1,3 @@ +# id 32138 ([Theme Dungeon] Ellinel Fairy Academy ), field 101030000 +sm.setSpeakerID(1040002) # Fanzy +sm.sendNext("Are you the one I invited to help with the ruckus at the Ellinel Fairy Academy?") diff --git a/scripts/quest/q32138s.py b/scripts/quest/q32138s.py new file mode 100755 index 0000000..9ddd902 --- /dev/null +++ b/scripts/quest/q32138s.py @@ -0,0 +1,4 @@ +# id 32138 ([Theme Dungeon] Ellinel Fairy Academy ), field 270000000 +sm.setSpeakerID(1052001) # Dark Lord +res = sm.sendAskAccept("Right on time. I've received some disturbing news...") +sm.sendNext("There's been an incident at the #bEllinel Fairy Academy#k. Unlike Ellinia, Ellinel has been a sacred place for fairies to live and learn uninterrupted by the outside world. However, a #rhuman Magician#k has trespassed on their territory.") diff --git a/scripts/quest/q32143s.py b/scripts/quest/q32143s.py new file mode 100755 index 0000000..6bb48ce --- /dev/null +++ b/scripts/quest/q32143s.py @@ -0,0 +1,24 @@ +# [Theme Dungeon] Ellinel Fairy Academy +# This version appears for Wind Archer + +IRENA = 1101005 # NPC ID +THEME_DUNGEON_ELLINEL_FAIRY_ACADEMY = 32151 # QUEST ID +NORTH_FOREST_GIANT_TREE = 101030000 # MAP ID + +sm.setSpeakerID(IRENA) +response = sm.sendAskAccept("#h #, could you spare me a moment? I received a request for help, and i can't think of anyone better than you.") + +if response: + sm.sendNext("There has been an incident at the #b Ellinel Fairy Academy#k. A human magician has trespassed in the sacred halls of the fairy school.") +else: + sm.dispose() + +sm.sendNext("I don't know all the details, but I know our relationship with the fairies is strained enough as it is. Will you go to the North Forest near Elinia and meet with #p1040002#.") + +response = sm.sendAskYesNo("Fanzy will take you into the land of the fairies. I can send you to him directly, if you'd like.") + +if response: + sm.startQuestNoCheck(THEME_DUNGEON_ELLINEL_FAIRY_ACADEMY) + sm.completeQuestNoRewards(parentID) + sm.warp(NORTH_FOREST_GIANT_TREE) +sm.dispose() diff --git a/scripts/quest/q32151e.py b/scripts/quest/q32151e.py new file mode 100755 index 0000000..4ec6346 --- /dev/null +++ b/scripts/quest/q32151e.py @@ -0,0 +1,17 @@ +# [Theme Dungeon] Ellinel Fairy Academy + +FANZY = 1040002 # NPC ID +FAIRYNAPPERS = 32101 # QUEST ID + +sm.setSpeakerID(FANZY) +sm.sendNext("Are you the one I invited to help out with the ruckus at the Ellinel Fairy Academy?") + +sm.setPlayerAsSpeaker() +sm.sendSay("Um, of course?") + +sm.setSpeakerID(FANZY) +sm.sendNext("You don't look as strong as I'd hoped. But, you're famous, so I'll leave it to you.") + +sm.startQuestNoCheck(FAIRYNAPPERS) +sm.completeQuest(parentID) +sm.dispose() \ No newline at end of file diff --git a/scripts/quest/q32151s.py b/scripts/quest/q32151s.py new file mode 100755 index 0000000..dd54d11 --- /dev/null +++ b/scripts/quest/q32151s.py @@ -0,0 +1,20 @@ +# [Theme Dungeon] Ellinel Fairy Academy + +response = sm.sendAskYesNo("#h #, could you spare me a moment? I received a request for help, and i can't think of anyone better than you.") + +if response: + sm.sendNext("There has been an incident at the #b Ellinel Fairy Academy#k. A human magician has trespassed in the sacred halls of the fairy school.") +else: + sm.dispose(); + +sm.sendNext("I don't know all the details, but i know our relationship with the fairies is strained enough as it is. Will you go to the North Forest near Elinia and meet with #p1040002#.") + +response = sm.sendAskYesNo("Fanzy will take you into the land of the fairies. I can send you to him directly, if you'd like") + +if response: + sm.startQuestNoCheck(32151) + sm.warp(101030000) + sm.dispose() +else: + sm.startQuestNoCheck(32151) + sm.dispose() diff --git a/scripts/quest/q32157e.py b/scripts/quest/q32157e.py new file mode 100755 index 0000000..1828118 --- /dev/null +++ b/scripts/quest/q32157e.py @@ -0,0 +1,20 @@ +# Created by MechAviv +# Quest ID :: 32157 +# [Theme Dungeon] Ellinel Fairy Academy + +sm.setSpeakerID(1040002) +sm.sendNext("You're here to help me with this ruckus, are you? About time you got here! Mrow!") + + +sm.setSpeakerID(1040002) +sm.setPlayerAsSpeaker() +sm.sendSay("Indeed. My business here is my own, but I would offer my aid should you need it.") + + +sm.setSpeakerID(1040002) +sm.removeEscapeButton() +sm.sendSay("Was that a yes or what? Fine, I'll put you to work!") + + +sm.completeQuest(32157) +sm.giveExp(3877) \ No newline at end of file diff --git a/scripts/quest/q32160s.py b/scripts/quest/q32160s.py new file mode 100755 index 0000000..a778cd1 --- /dev/null +++ b/scripts/quest/q32160s.py @@ -0,0 +1,14 @@ +# [Riena Strait] Get it Strait + +mapid = 140000000 + +sm.setSpeakerID(1105012) +response = sm.sendAskYesNo("Are you #b#h0##k?\r\n" + "We need your help! We have noticed weird changes going on around the Rien island\r\nAre you able to help?\r\n\r\n" + "(accepting will warp you)") + +if response: + sm.startQuest(parentID) + sm.completeQuest(parentID) + sm.warp(mapid, 0) +sm.dispose() diff --git a/scripts/quest/q32163e.py b/scripts/quest/q32163e.py new file mode 100755 index 0000000..c7bcb59 --- /dev/null +++ b/scripts/quest/q32163e.py @@ -0,0 +1,21 @@ +# [Riena Strait] Maybe I Shouldn't have gotten a boat +from net.swordie.ms.constants import WzConstants + +lumber = 4030022 +exp = 17739 + +sm.setSpeakerID(1510005) # Daichi + +sm.sendNext("Have you collected all the lumber?\r\n\r\n" + "#b#v"+ str(lumber) +"##t"+ str(lumber) +"##k\r\n\r\n" + ""+ WzConstants.ICON_EXP +" "+ str(exp) +" exp") +sm.completeQuestNoRewards(32164) # [Riena Strait] Wood That's Good 1 +sm.completeQuestNoRewards(32165) # [Riena Strait] Wood That's Good 2 +sm.completeQuestNoRewards(32166) # [Riena Strait] Wood That's Good 3 +sm.completeQuest(parentID) +sm.consumeItem(lumber, 3) +sm.giveExp(exp) + +sm.sendSayOkay("Thank you, Brave Warrior. I can see you are pretty talented in piloting a ship.\r\n\r\n#b" + "(Talk to Putan to begin the mission.)") +sm.dispose() diff --git a/scripts/quest/q32164s.py b/scripts/quest/q32164s.py new file mode 100755 index 0000000..7055996 --- /dev/null +++ b/scripts/quest/q32164s.py @@ -0,0 +1,13 @@ +# [Riena Strait] Wood That's Good 1 +sm.setSpeakerID(1510006) + +lumber = 4030022 + +if sm.canHold(lumber): + sm.sendNext("Navigator, this lumber seems decent.\r\n\r\n" + "#b#v"+ str(lumber) +"##t"+ str(lumber) +"#") + sm.startQuestNoCheck(parentID) + sm.giveItem(lumber) +else: + sm.sendSayOkay("Navigator, let's make some space for all this lumber we're retrieving!") +sm.dispose() diff --git a/scripts/quest/q32165s.py b/scripts/quest/q32165s.py new file mode 100755 index 0000000..95f1673 --- /dev/null +++ b/scripts/quest/q32165s.py @@ -0,0 +1,13 @@ +# [Riena Strait] Wood That's Good 2 +sm.setSpeakerID(1510006) + +lumber = 4030022 + +if sm.canHold(lumber): + sm.sendNext("Navigator, look over there! Lumber.\r\n\r\n" + "#b#v"+ str(lumber) +"##t"+ str(lumber) +"#") + sm.startQuestNoCheck(parentID) + sm.giveItem(lumber) +else: + sm.sendSayOkay("Navigator, let's make some space for all this lumber we're retrieving!") +sm.dispose() diff --git a/scripts/quest/q32166s.py b/scripts/quest/q32166s.py new file mode 100755 index 0000000..d94409a --- /dev/null +++ b/scripts/quest/q32166s.py @@ -0,0 +1,13 @@ +# [Riena Strait] Wood That's Good 3 +sm.setSpeakerID(1510006) + +lumber = 4030022 + +if sm.canHold(lumber): + sm.sendNext("Navigator, I see decent lumber!\r\n\r\n" + "#b#v"+ str(lumber) +"##t"+ str(lumber) +"#") + sm.startQuestNoCheck(parentID) + sm.giveItem(lumber) +else: + sm.sendSayOkay("Navigator, let's make some space for all this lumber we're retrieving!") +sm.dispose() diff --git a/scripts/quest/q32178s.py b/scripts/quest/q32178s.py new file mode 100755 index 0000000..29ca712 --- /dev/null +++ b/scripts/quest/q32178s.py @@ -0,0 +1,53 @@ +# [Riena Strait] The Heart of a Witch + +frostWitchBarbara = 1510008 +noraTheExplorer = 1510007 + +sm.setSpeakerID(frostWitchBarbara) +sm.sendNext("What you still have something to say to me?") + +sm.setSpeakerID(noraTheExplorer) +sm.sendNext("Granny, I have a question.") + +sm.setSpeakerID(frostWitchBarbara) +sm.sendNext("What do you want to know? Are you curious when this old lady will die? " + "If you mention about defeating and sort one more time in front of me, boy, " + "I'll destroy that mouth of yours first.") + +sm.setSpeakerID(noraTheExplorer) +sm.sendNext("No.. What I am saying is that the penguins, the malamutes, and the seals here are doubting you. " + "Is it perhaps due to your magic that the glaciers are melting and the sea level is rising?") + +sm.setSpeakerID(frostWitchBarbara) +sm.sendNext("Magic? What is that? Do you eat that?") + +sm.setPlayerAsSpeaker() +sm.sendNext("There also is a rumor that she is conducting some experiments with the children.") + +sm.setSpeakerID(frostWitchBarbara) +sm.sendNext("WHAT?! Shut your mouth! What makes you think that I would do such a thing to these cute little things?!") + +sm.sendNext("These poor kids lost their home and parents as the glacier is melting" + "If no one takes care of them, its unimaginable how they will turn out!" + "They were floating on the sea pitifully, and I picked them up and am taking care of them.") + +sm.setSpeakerID(noraTheExplorer) +sm.sendNext("You have been raising the children?") + +sm.setSpeakerID(frostWitchBarbara) +sm.sendNext("I was just taking care of them temporarily..") + +sm.sendNext("It is said, the penguins should grow with the penguins, " + "and the seals need to grow with the seals. " + "After curing a baby, and if it looks like it has recovered enough, " + "I would bring him to his people secretly at night.") + +sm.setPlayerAsSpeaker() +sm.sendNext("But why would you do such a thing despite all the misunderstandings?...") + +sm.setSpeakerID(frostWitchBarbara) +sm.sendNext("Whew.. That mouth of yours.. How does it help you to talk so much? " + "If you have time for talking, shut up and do me a favor.") +sm.startQuest(parentID) +sm.completeQuest(parentID) +sm.dispose() \ No newline at end of file diff --git a/scripts/quest/q32189e.py b/scripts/quest/q32189e.py new file mode 100755 index 0000000..6fdc1a9 --- /dev/null +++ b/scripts/quest/q32189e.py @@ -0,0 +1,9 @@ +# [Riena Strait] Saving the Glacier 2 + +NORA = 1510007 + +sm.setSpeakerID(NORA) +sm.sendNext("Oh great, thank you!") + +sm.sendSay("I got one more thing for you to do") +sm.completeQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q32192s.py b/scripts/quest/q32192s.py new file mode 100755 index 0000000..9abaa1b --- /dev/null +++ b/scripts/quest/q32192s.py @@ -0,0 +1,11 @@ +# [Riena Strait] A Warrior's Pride + +PUTAN = 1510000 + +sm.setSpeakerID(PUTAN) +response = sm.sendAskYesNo("I think we need to go to the house of witch Barbara. All of us need to. Hmm hmm.. I think it would be nice if you would come with us.\r\n\r\n" + "#b#e(Accepting will automatically move you.)#n#k") + +if response: + sm.warpInstanceIn(141040003, 0) + sm.createQuestWithQRValue(parentID, "1") \ No newline at end of file diff --git a/scripts/quest/q32203s.py b/scripts/quest/q32203s.py new file mode 100755 index 0000000..35dfd18 --- /dev/null +++ b/scripts/quest/q32203s.py @@ -0,0 +1,33 @@ +# 32203 The New Explorer, Mai : Maple Road | Snail Park +MAI = 10301 +THE_TOWN_CHIEF = 32210 +AMHERST = 4000020 + +sm.setSpeakerID(MAI) +sm.sendNext("Ohmygoodness! Hi! Im Mai, an aspiring hero. it took me four years, but i just completed my freshmen year at hero school. You must be a new #bExplorer#n.") +sm.setPlayerAsSpeaker() +sm.sendNext("A new ... #bExplorer#n? What's that?") +sm.setSpeakerID(MAI) +sm.sendNext("This was on that test I flunked ten time... Oh, right! Explorers are people who come to Maple World from other worlds! They start their journey right here on #bMaple Island#n.") +sm.setPlayerAsSpeaker() +sm.sendNext("I'm on... #bMaple Island#n?") +sm.setSpeakerID(MAI) +sm.sendNext("You sure are. We used to be just some tiny island, but then Explorers started popping out. Now, we even got our own outhouse!") +sm.sendNext("So, your name is #h #, right? You have two options now. You can listen to some explanations about starting out, take a few small tests, get some free gifts and become my new best friend in the entire world...") +sm.sendNext("Or you can be teleported straight to town, but you'll miss out on my gifts... and I'll be super lonely and sad.") + +selection = sm.sendNext("What do you say? \r\n#L0##b I'll be your friend, Mai!(Go through tutorial and get free equipment)#l \r\n #L1#I don't need you, Mai!(Skip tutorial and teleport straight to town.)#l") + +if selection == 0: + sm.sendNext("REALLY?! I'll fill you in on everything you need to know. I promise!") + sm.startQuest(parentID) + sm.completeQuest(parentID) + +elif selection == 1: + sm.sendNext("I knew you'd pick that. Everyeone always does... I'll send you to Amherst right away and hope that the next Explorer will want to be my friend.") + sm.sendSay("This is for you! You can check out the Recovery potions I gave you in your Use tab.") + sm.sendSay("Make sure you talk to Chief Lucas when you get to Amherst! He's really smart and will give you some great advice.") + sm.startQuest(parentID) + sm.completeQuest(parentID) + sm.startQuest(THE_TOWN_CHIEF) + sm.warp(AMHERST, 0) diff --git a/scripts/quest/q32216s.py b/scripts/quest/q32216s.py new file mode 100755 index 0000000..acab602 --- /dev/null +++ b/scripts/quest/q32216s.py @@ -0,0 +1,33 @@ +# 32216 Victoria Island or Bust!, sugar : Maple Road | the Sangri-La +sm.setSpeakerID(10306) +sm.sendNext("You d-defeated the monsters, and you really helped me out, too, #h #. You seem r-ready to pick a Job. Did you decide which one you want?") +sm.setPlayerAsSpeaker() +sm.sendNext("#b Huh? Job?") +sm.setSpeakerID(10306) +sm.sendNext("There are five different Explorer Jobs. You can advance to them on Victoria Island. Hm I think they were... Warrior, Magician, Bowman, Thief, and Pirate.") +sm.setPlayerAsSpeaker() +sm.sendNext("#b What are they like?") +sm.setSpeakerID(10306) +sm.sendNext("Let's see. Warriors have great strength and defense, so they excel at close-range combat. Magicians use magic, so they f-favor intelligence over power, and they're good at long-range combat against multiple enemies.") +sm.sendNext("B-bowman are also good at long-range combat. They shoot arrows from afar and can keep enemies at a distance. And, let's see... Thieves are close-range, like warriors, but they focus on speed instead of strength.") +sm.sendNext("Finally, Pirates... are Pirates. Some use their fists in close-range combat, others shoot guns or cannons from afar. Their attacks are pretty fancy, either way.") + +selection = sm.sendNext("If you pick your Job right now, the captain offered to contract your new job instructor as soon as we arrive. \r\n\r\n#L0##b Warrior, powerful and defensive#l \r\n #L1#Magician, intelligent and magical#l \r\n #L2#Bowman, long-ranged and controlled#l \r\n #L3#Thief, speedy and sneaky#l \r\n #L4#Pirate, fancy and unique #l") +if selection == 0: + sm.sendNext("Oh, t-totally! #h #, you'll make a great Warrior!") +elif selection == 1: + sm.sendNext("Oh, t-totally! #h #, you'll make a great Magician!") +elif selection == 2: + sm.sendNext("Oh, t-totally! #h #, you'll make a great Bowman!") +elif selection == 3: + sm.sendNext("Oh, t-totally! #h #, you'll make a great Thief!") +elif selection == 4: + sm.sendNext("Oh, t-totally! #h #, you'll make a great Pirate!") + +sm.warp(104000000, 0) +sm.sendNext("The ship is ready to set sail!") +sm.startQuest(parentID) +sm.completeQuest(parentID) +sm.createQuestWithQRValue(1406, str(selection+1)) +if sm.getChr().getLevel() < 10: + sm.addLevel(10 - sm.getChr().getLevel()) diff --git a/scripts/quest/q32229s.py b/scripts/quest/q32229s.py new file mode 100755 index 0000000..19dfa62 --- /dev/null +++ b/scripts/quest/q32229s.py @@ -0,0 +1,6 @@ +# id 32229 (Explorer Thief - Shadower), field 610050000 +sm.setSpeakerID(1052001) # Dark Lord +sm.sendNext("You chose the path of a Shadower. So, how much do you know about the Explorer's abilities?") +res = sm.sendAskAccept("Do you want to learn more about the new Explorer basics? I've got time.\r\n#r(Click Yes to move to the tutorial.)#k") +sm.startQuest(parentID) +sm.warp(910370111) diff --git a/scripts/quest/q32240e.py b/scripts/quest/q32240e.py new file mode 100755 index 0000000..7d188b2 --- /dev/null +++ b/scripts/quest/q32240e.py @@ -0,0 +1,40 @@ +# Created by MechAviv +# Quest ID :: 32240 +# The Explorer Book and A Maple Leaf + +sm.setSpeakerID(0) +sm.flipDialoguePlayerAsSpeaker() +sm.setSpeakerType(3) +sm.sendNext("An #bExplorer Book#k? So, I can record all my adventures here?") + + +sm.setSpeakerID(0) +sm.flipDialoguePlayerAsSpeaker() +sm.setSpeakerType(3) +sm.sendSay("Perfect! I just started my adventure, so I should get started! But, wait...") + + +sm.giveItem(4460000) +sm.giveExp(170) +sm.completeQuest(32240) +sm.curNodeEventEnd(True) +sm.setTemporarySkillSet(0) +sm.setInGameDirectionMode(True, False, False, False) +sm.showFieldEffect("adventureStory/mapleLeaf/0", 0) +sm.sendDelay(1800) + + +sm.setTemporarySkillSet(0) +sm.setInGameDirectionMode(False, True, False, False) +sm.setSpeakerID(0) +sm.removeEscapeButton() +sm.flipDialoguePlayerAsSpeaker() +sm.setSpeakerType(3) +sm.sendNext("A Maple Leaf? OH, I remember seeing a huge Maple Tree on Maple Island. How did it follow me here?") + + +sm.setSpeakerID(0) +sm.removeEscapeButton() +sm.flipDialoguePlayerAsSpeaker() +sm.setSpeakerType(3) +sm.sendSay("I guess I can keep it in my #bExplorer Book#k to remind me of Maple Island.") diff --git a/scripts/quest/q32240s.py b/scripts/quest/q32240s.py new file mode 100755 index 0000000..acaa511 --- /dev/null +++ b/scripts/quest/q32240s.py @@ -0,0 +1,37 @@ +# Created by MechAviv +# Quest ID :: 32240 +# The Explorer Book and A Maple Leaf + +sm.setSpeakerID(9010010) +sm.flipDialogue() +sm.setSpeakerType(3) +sm.sendNext("I came to give you a gift. It's an #bExplorer Book#k, kinda like a diary. In this, you can record every exciting adventure you'll ever have! And then I can read about it later!") + + +sm.setSpeakerID(0) +sm.flipDialoguePlayerAsSpeaker() +sm.setSpeakerType(3) +if sm.sendAskAccept("Do you want the #bExplorer Book#k? You do, right?"): + sm.createQuestWithQRValue(32360, "1") + sm.setSpeakerID(9010010) + sm.flipDialogue() + sm.setSpeakerType(3) + sm.sendNext("Let me see... There's gotta be a book that's perfect for a Warrior like you...") + + + sm.startQuest(32240) + sm.setSpeakerID(9010010) + sm.flipDialogue() + sm.setSpeakerType(3) + sm.sendSay("Found it! Here. Take a good look at it after I take off.") + + + sm.setSpeakerID(9010010) + sm.flipDialogue() + sm.setSpeakerType(3) + sm.sendPrev("Well, have a blast in your adventures!") +else: + sm.setSpeakerID(9010010) + sm.flipDialogue() + sm.setSpeakerType(3) + sm.sendNext("Eh? No? Why? What about your adventures? Your memories? My entertainment?") diff --git a/scripts/quest/q32600s.py b/scripts/quest/q32600s.py new file mode 100755 index 0000000..68133f6 --- /dev/null +++ b/scripts/quest/q32600s.py @@ -0,0 +1,18 @@ +# [Grand Athenaeum] Episode 1 - The White Mage +sm.setSpeakerID(2500000) +if sm.hasQuest(32603): + if sm.sendAskYesNo("Do you want to finish reading Ep 1. ?\r\n#b(Return to previous location.)#k"): + sm.warp(302090000, 0) + sm.dispose() +else: + if sm.sendAskYesNo("Do you want to read Ep 1. ?"): + sm.sendNext("You selected #eThe White Mage#n.") + sm.sendSay("You will re-live the experiences from the past. Don't worry though, your actions will not change the future.") + sm.sendSay("#h0#, you will go back in time and become a #e#bmercenary#k#n. Their identity was lost to history, but we know they existed.") + sm.sendSay("#fNpc/2500001.img/stand/0#\r\nClick me any time you want to return to reality. I will always be somewhere in the story.") + if sm.hasQuestCompleted(32629): + sm.warp(302010000, 0) + elif sm.hasQuestCompleted(32630): + sm.warp(302010400, 0) + else: + sm.warp(302090000, 0) \ No newline at end of file diff --git a/scripts/quest/q32631s.py b/scripts/quest/q32631s.py new file mode 100755 index 0000000..5996392 --- /dev/null +++ b/scripts/quest/q32631s.py @@ -0,0 +1,23 @@ +# [Grand Athenaeum] Ariant : Near the Castle +sm.removeEscapeButton() +sm.setSpeakerID(2510001) + +sm.sendNext("Hatsar is struggling with the monsters that have been hounding his trade route.") + +sm.flipDialoguePlayerAsSpeaker() +sm.sendSay("(The monsters were definitely peculiar... Felt like something ghoulish.)") + +sm.setSpeakerID(2510001) +sm.sendSay("Only one person in the world can solve this problem. But they've gone missing. That's why Hatsar wants to find them.") + +sm.flipDialoguePlayerAsSpeaker() +sm.sendSay("Who is that?") + +sm.setSpeakerID(2510001) +answer = sm.sendSay("I don't know, ask him for the details! Hatsar will shower you in riches if you do what he wants. I'm sure this is a pretty big deal for a mercenary like you!\r\n\r\n#b#L0#Accept the request. #l\r\n#L1#You're not feeling it.") +if answer == 0: + sm.sendNext("Then go see Hatsar right away.\r\n\n\n(Talk to Hatsar.) ") + sm.startQuest(parentID) + sm.warp(302090110, 0) +elif answer == 1: + sm.sendNext("Really? You can get your hands on some pretty big money...") diff --git a/scripts/quest/q32632s.py b/scripts/quest/q32632s.py new file mode 100755 index 0000000..4ca0b01 --- /dev/null +++ b/scripts/quest/q32632s.py @@ -0,0 +1,7 @@ +# [Grand Athenaeum] +sm.removeEscapeButton() +sm.flipDialoguePlayerAsSpeaker() + +sm.sendNext("Supposedly the White Mage was last seen in Ellin Forest. If that's true, there must be evidence.") +sm.sendSay("Ephenia the Fairy Queen's dwelling is nearby. I'll see if she knows anything.") +sm.startQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q32662e.py b/scripts/quest/q32662e.py new file mode 100755 index 0000000..14843fc --- /dev/null +++ b/scripts/quest/q32662e.py @@ -0,0 +1,22 @@ +# [Grand Athenaeum] Visit the Grand Athenaeum +LIBRARIAN = 2500002 + +sm.setSpeakerID(LIBRARIAN) +sm.sendNext("Come on over! I am #b#p2500002##k. Surprised? I'll have you know my simian parts are my best parts.") +sm.sendSay("What is this place, you ask? This is the #bGrand Athenaeum#k. All the knowledge and records of this world are enshrined here. Many people don't know it, but Maple World's stories write themselves into their own book when they happen. No pens or ink required!") +sm.sendSay("Ha ha, you think I'm lying? You can see for yourself! You can #benter the stories themselves#k, and experience them as a character.") +sm.sendSay("#b#p2500000##k gave me books that all touch on key events in Maple World's history.") +if sm.sendAskAccept("Let's see... Clearing all five would be too many, so if you clear #bthree, regardless of the order#k, I'll give you a #bpretty neat gift#k.\r\nAre you up for the challenge?\r\n\r\n" + "\n\n- Bonus Pendant Slot #e#b(21 Day)#k#n\r\n" + "\n\n- #i1122263# #b#t1122263##k\r\n\r\n" + "\n\n- #i2431892# #b#t2431892##k"): + sm.completeQuest(parentID) + sm.startQuest(32663)# [Grand Athenaeum] Read The White Mage + sm.startQuest(32664)# [Grand Athenaeum] Read Empress In Training + sm.startQuest(32665)# [Grand Athenaeum] Read The Black Witch + #sm.startQuest(32698)# Book for higher version + #sm.startQuest(32990)# Book for higher version + sm.startQuest(32666)# [Grand Athenaeum] Food for the Soul + sm.sendSayOkay("You can read the books containing stories in any order you'd like. Talk to #b#p2500000##k.") +else: + sm.sendNext("Busy? You're always welcome here.") \ No newline at end of file diff --git a/scripts/quest/q32707e.py b/scripts/quest/q32707e.py new file mode 100755 index 0000000..4255ee1 --- /dev/null +++ b/scripts/quest/q32707e.py @@ -0,0 +1,27 @@ +# Created by MechAviv +# Quest ID :: 32707 +# [FriendStory] Student From Another World + +sm.setIntroBoxChat(1530000) +sm.setSpeakerType(3) +sm.sendNext("Whoa, hey! So, you're the one that answered the phone, huh? Nice to meet you! I'm an exchange student from... Well, nowhere around here. Ha ha!") + + +sm.setIntroBoxChat(1530020) +sm.setSpeakerType(3) +sm.sendSay("Yes, we know that! And that's the problem...") + + +sm.setIntroBoxChat(1530000) +sm.setSpeakerType(3) +sm.sendSay("Problem? Man, there's no problem here. This place ROCKS! Look at your crazy mushroom houses and slime monsters and stuff!") + + +sm.setIntroBoxChat(1530000) +sm.setSpeakerType(3) +sm.sendSay("Look, I'm busy losing my mind over how cool this all is. If you want the deets, talk to this magician-looking guy over here. The one that will. Not. Shut. Up.") + + +sm.startQuest(32707) +sm.completeQuest(32707) +sm.giveExp(441840) \ No newline at end of file diff --git a/scripts/quest/q32707s.py b/scripts/quest/q32707s.py new file mode 100755 index 0000000..6141726 --- /dev/null +++ b/scripts/quest/q32707s.py @@ -0,0 +1,28 @@ +# Created by MechAviv +# Quest ID :: 32707 +# [FriendStory] Student From Another World + +sm.setIntroBoxChat(1530000) +sm.setSpeakerType(3) +sm.sendNext("Hello? Hello?\r\n\r\nOkay, the magician guy said he teleported the phone to someone who can help. So, um, hi? Can you help me, maybe?") + + +sm.setIntroBoxChat(1530000) +sm.setSpeakerType(3) +sm.sendSay("...What?\r\n\r\nYes, I'm talking to-\r\n\r\nDude, relax! I'll just ask-") + + +sm.setIntroBoxChat(1530000) +sm.setSpeakerType(3) +if sm.sendAskYesNo("Argh, this guy is being a total spaz.\r\nHey, he wants to know if he can teleport you here. That cool?\r\n#b(You will be moved to the Closet House in Henesys.)#k"): + sm.setIntroBoxChat(1530000) + sm.setSpeakerType(3) + sm.sendNext("Great. ...Hey, magic dude! Do your magicky-thing!\r\n\r\n#e#b(You can also use the Dimensional Mirror to get here.)#n#k") + + sm.warp(330002040, 0) +else: + sm.setIntroBoxChat(1530000) + sm.setSpeakerType(3) + sm.sendNext("...I understand. They wouldn't be interested in me, even with things turned around like they are.") + + diff --git a/scripts/quest/q34100e.py b/scripts/quest/q34100e.py new file mode 100755 index 0000000..74bca3a --- /dev/null +++ b/scripts/quest/q34100e.py @@ -0,0 +1,40 @@ +# [Vanishing Journey] Amnesiac Temple Keeper Kao +from net.swordie.ms.world.field.fieldeffect import GreyFieldType +KAO = 3003131 +KAO_ILLUSTRATION = 3003113 + + +if not sm.hasQuestCompleted(1466): + sm.setSpeakerID(KAO) + sm.sendNext("..What should we do to assuage their anger?\r\n" + "#b(Complete the A Greater Power quest and obtain an Arcane Symbol.)") +else: + sm.removeEscapeButton() + sm.lockInGameUI(True, False) + sm.setFieldColour(GreyFieldType.Field, 100, 100, 100, 2000) + sm.setSpeakerID(KAO_ILLUSTRATION) + sm.setBoxChat() + sm.sendNext("I'll have to tell you this first. Have you seen the big lake on the edge of this village? " + "The villagers call it Oblivion Lake because its water causes loss of memory.") + + sm.sendNext("And... Perhaps because of it, those who live near the lake lose their memories little by little, every day.") + + sm.showOffFieldEffect("Map/Effect2.img/ArcaneRiver1/tree1") + sm.sendNext("So they made this Tree of Memories. On which they hang their memories and look at them every day, until they are weathered beyond recognition.") + + sm.sendNext("When I first heard about the tree, I got so excited that my heart raced. " + "I thought it could have something to do with my lost memories, and I couldn't wait to investigate it. " + "But") + + sm.showOffFieldEffect("Map/Effect2.img/ArcaneRiver1/tree2") + sm.sendNext("I touched the tree, and...") + + sm.showOffFieldEffect("Map/Effect2.img/ArcaneRiver1/tree3") + sm.sendNext("The memories... The precious memories of the villagers' scattered.") + + sm.sendNext("The villagers were so devastated that they stopped doing things that they did every day. " + "They stopped farming and bossing, they even stopped operating the boat that traveled across Oblivion Lake.") + + sm.setFieldColour(GreyFieldType.Field, 255, 255, 255, 1000) + sm.lockInGameUI(False) + sm.completeQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q34107s.py b/scripts/quest/q34107s.py new file mode 100755 index 0000000..3e4673c --- /dev/null +++ b/scripts/quest/q34107s.py @@ -0,0 +1,6 @@ +# id 34107 ([Vanishing Journey] A Paper Boat On the Shores of Oblivion), field 450001005 +sm.setSpeakerID(3003110) # Kima +res = sm.sendAskAccept("(The oarsman gestures for you to board the boat.)") +sm.completeQuestNoCheck(parentID) +sm.setParam(2) +sm.sendNext("#b(Use the portal next to you to get on the boat.)#k") diff --git a/scripts/quest/q34108s.py b/scripts/quest/q34108s.py new file mode 100755 index 0000000..1e929c6 --- /dev/null +++ b/scripts/quest/q34108s.py @@ -0,0 +1,7 @@ +KAO = 3003131 + +sm.setSpeakerID(KAO) +sm.sendNext("I'm afraid there's no way around this massive rocky cliff. We'll have to climb up the cliff.") +if sm.sendAskAccept("#h0#, you agree, right? Then let's climb it."): + sm.startQuest(parentID) + sm.completeQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q34109s.py b/scripts/quest/q34109s.py new file mode 100755 index 0000000..f4d3296 --- /dev/null +++ b/scripts/quest/q34109s.py @@ -0,0 +1,7 @@ +# id 34109 ([Vanishing Journey] Crossing the Extinction Zone), field 450001100 +sm.setSpeakerID(3003125) # Rino +sm.sendNext("The Extinction Zone is much more dangerous than any place you've ever encountered.") +sm.sendSay("Never let your guard down, no matter what. If you touch the flames here, your body will vanish forever. There is a safe path through...") +if sm.sendAskAccept("But first promise me that you won't do anything this reckless again, and that you will follow my instructions. Can you do that?"): + sm.completeQuestNoCheck(parentID) + sm.sendNext("You can trust in me. I'll guide you and Kao to safety. Let me know when you're ready to go.") diff --git a/scripts/quest/q34115s.py b/scripts/quest/q34115s.py new file mode 100755 index 0000000..5e39059 --- /dev/null +++ b/scripts/quest/q34115s.py @@ -0,0 +1,10 @@ +# id 34115 ([Vanishing Journey] Lying in Repose), field 450001200 +sm.setSpeakerID(3003127) # Rino +sm.sendNext("#h0#, you're awake! It's a good thing we landed on this soft sand...") +sm.sendSay("Ugh, my ankle... I-it's nothing. Don't worry about me. Just worry about escaping this cave.") +sm.setParam(2) +sm.sendSay("#b(Kao's actions weigh on your mind, but there are more important matters at hand.)#k") +sm.setParam(0) +sm.sendSay("This place is the last stop along the Vanishing Journey... The Cave of Repose. Traveling through this cave will lead you to what lies beyond. We're almost there.") +if sm.sendAskAccept("It's practically a maze in here but... I know a shortcut to the cave's exit. Now, follow me."): + sm.completeQuestNoCheck(parentID) diff --git a/scripts/quest/q34120s.py b/scripts/quest/q34120s.py new file mode 100755 index 0000000..abdd11a --- /dev/null +++ b/scripts/quest/q34120s.py @@ -0,0 +1,11 @@ +# [Vanishing Journey] Arcane Symbol: Vanishing Journey +VANISHING_JOURNEY_ARCANE_SYMBOL = 1712001 +sm.setPlayerAsSpeaker() +if sm.canHold(VANISHING_JOURNEY_ARCANE_SYMBOL): + sm.sendNext("#b(I've picked up the Arcane Symbol that Kao left behind.") + sm.startQuest(parentID) + sm.completeQuest(parentID) + sm.giveItem(VANISHING_JOURNEY_ARCANE_SYMBOL) + sm.progressMessageFont(3, 20, 20, 0, "Kao's last wish was for me to jump into the waterfall..") +else: + sm.sendSayOkay("I should make some space in my inventory.") \ No newline at end of file diff --git a/scripts/quest/q34129e.py b/scripts/quest/q34129e.py new file mode 100755 index 0000000..cdae57e --- /dev/null +++ b/scripts/quest/q34129e.py @@ -0,0 +1,5 @@ +# id 34129 ([Daily Quest] Vanishing Journey Research), field 450001000 +sm.completeQuestNoCheck(parentID) +sm.createQuestWithQRValue(34151, "dowS=2;startDate=19/06/18;clear=1;first=1") +sm.setSpeakerID(3003104) # Rona +sm.sendNext("#h0#, I see you completed all 5 missions. Please accept #i1712001:# #t1712001:# x3 as a reward.") diff --git a/scripts/quest/q34129s.py b/scripts/quest/q34129s.py new file mode 100755 index 0000000..ee7a1dc --- /dev/null +++ b/scripts/quest/q34129s.py @@ -0,0 +1,23 @@ +# id 34129 ([Daily Quest] Vanishing Journey Research), field 450001000 +sm.createQuestWithQRValue(34127, "order=icstfenujqodmakphrblg") +sm.createQuestWithQRValue(34127, "count=0;order=icstfenujqodmakphrblg") +sm.createQuestWithQRValue(34163, "region=5") +sm.setSpeakerID(3003104) # Rona +sm.setParam(256) +res = sm.sendAskYesNo("Hi, #h0#. I have 5 missions for you today. Would you like to take care of them now? If there is a mission you don't like, you can press the Exchange button to trade it for something else.\r\n\r\n#b#e#y34138##k#n\r\n#b#e#y34132##k#n\r\n#b#e#y34148##k#n\r\n#b#e#y34149##k#n\r\n#b#e#y34135##k#n\r\n") +sm.setParam(0) +res = sm.sendAskYesNo("Is there a mission on the list you aren't up for? Why not Exchange it for another one? \r\n\r\n#b(You can swap out the missions of your choice, but it is possible to receive the same mission as the one being exchanged.)#k") +res = sm.sendNext("Select the mission you would like to replace.\r\n\r\n#b#e#L0# #y34138##l#k#n\r\n#b#e#L1# #y34132##l#k#n\r\n#b#e#L2# #y34148##l#k#n\r\n#b#e#L3# #y34149##l#k#n\r\n#b#e#L4# #y34135##l#k#n\r\n\r\n#L5# #r#eThose are all the quests I want to swap out.#k#n#l") +res = sm.sendNext("Select the mission you would like to replace.\r\n\r\n#e#L0# #y34138##n\r\n#b#e#L1# #y34132##l#k#n\r\n#b#e#L2# #y34148##l#k#n\r\n#b#e#L3# #y34149##l#k#n\r\n#b#e#L4# #y34135##l#k#n\r\n\r\n#L5# #r#eThose are all the quests I want to swap out.#k#n#l") +sm.startQuest(34134) +sm.startQuest(34132) +sm.startQuest(34148) +sm.startQuest(34149) +sm.startQuest(34135) +sm.startQuest(parentID) +sm.sendNext("All right. To replace the 1 missions you don't want, I've found 1 new missions. Here are your 5 tasks for today. \r\n\r\n#b#e#y34134##k #r[NEW]#k#n\r\n#b#e#y34132##k#n\r\n#b#e#y34148##k#n\r\n#b#e#y34149##k#n\r\n#b#e#y34135##k#n\r\n") +sm.sendPrev("Come to me when you've finished your missions. Remember, you have to turn them in before midnight. Well then, see you later.") +sm.createQuestWithQRValue(34170, "count=0;date=19/06/18;ctype=0") +sm.setSpeakerID(3003145) # Nina +res = sm.sendNext("#b#eErda Spectrum#n#k\r\nDid you know Erda has its own distinct color? Amazing right?! The only trouble is, while I was gathering Erda for study with the #bErda Collector#k I invented, I got hurt. Now I need help...\r\n#b#L0# Send me to the Erda Spectrum!#l\r\n#L1# So... What's this all about again?#l\r\n#L2# What's my remaining completion count for the day?#l") +sm.warp(450001014) diff --git a/scripts/quest/q34132e.py b/scripts/quest/q34132e.py new file mode 100755 index 0000000..0593c1b --- /dev/null +++ b/scripts/quest/q34132e.py @@ -0,0 +1,8 @@ +# id 34132 ([Daily Quest] Defeat 200 Sad Erdas), field 450001000 +sm.completeQuestNoCheck(parentID) +sm.createQuestWithQRValue(34127, "count=3;order=icstfenujqodmakphrblg") +sm.setSpeakerID(3003104) # Rona +sm.setParam(2) +sm.sendNext("#b(You gave Rona the information you obtained from observing the Sad Erdas up close.)#k") +sm.setParam(0) +sm.sendSay("Here, take this #i1712001:# #t1712001:# x1. Thanks to you, we're one step closer to understanding this place.") diff --git a/scripts/quest/q34134e.py b/scripts/quest/q34134e.py new file mode 100755 index 0000000..c467e87 --- /dev/null +++ b/scripts/quest/q34134e.py @@ -0,0 +1,8 @@ +# id 34134 ([Daily Quest] Defeat 200 Stone Erdas), field 450001000 +sm.completeQuestNoCheck(parentID) +sm.createQuestWithQRValue(34127, "count=4;order=icstfenujqodmakphrblg") +sm.setSpeakerID(3003104) # Rona +sm.setParam(2) +sm.sendNext("#b(You gave Rona the information you obtained from observing the Stone Erdas up close.)#k") +sm.setParam(0) +sm.sendSay("Here, take this #i1712001:# #t1712001:# x1. Thanks to you, we're one step closer to understanding this place.") diff --git a/scripts/quest/q34135e.py b/scripts/quest/q34135e.py new file mode 100755 index 0000000..c9f0668 --- /dev/null +++ b/scripts/quest/q34135e.py @@ -0,0 +1,8 @@ +# id 34135 ([Daily Quest] Defeat 200 Blazing Erdas), field 450001000 +sm.completeQuestNoCheck(parentID) +sm.createQuestWithQRValue(34127, "count=5;order=icstfenujqodmakphrblg") +sm.setSpeakerID(3003104) # Rona +sm.setParam(2) +sm.sendNext("#b(You gave Rona the information you obtained from observing the Blazing Erdas up close.)#k") +sm.setParam(0) +sm.sendSay("Here, take this #i1712001:# #t1712001:# x1. Thanks to you, we're one step closer to understanding this place.") diff --git a/scripts/quest/q34148e.py b/scripts/quest/q34148e.py new file mode 100755 index 0000000..6f14d05 --- /dev/null +++ b/scripts/quest/q34148e.py @@ -0,0 +1,8 @@ +# id 34148 ([Daily Quest] Deliver 30 Oblivion Inhibitor), field 450001013 +sm.completeQuestNoCheck(parentID) +sm.createQuestWithQRValue(34127, "count=1;order=icstfenujqodmakphrblg") +sm.setSpeakerID(3003107) # Jenna +sm.sendNext("I see that you brought the 30 #t4034934:# items that Rona from HQ requested.") +sm.sendSay("Let's see. One, two, three... Yep, 30 #t4034934:# items... This is for you: #i1712001:# #t1712001:# x1. We'll be able to continue our investigation thanks to you.") +sm.startQuest(16689) +sm.warp(450001112) diff --git a/scripts/quest/q34149e.py b/scripts/quest/q34149e.py new file mode 100755 index 0000000..82c7960 --- /dev/null +++ b/scripts/quest/q34149e.py @@ -0,0 +1,7 @@ +# id 34149 ([Daily Quest] Deliver 30 Extinction Inhibitors), field 450001112 +sm.completeQuestNoCheck(parentID) +sm.createQuestWithQRValue(34127, "count=2;order=icstfenujqodmakphrblg") +sm.setSpeakerID(3003108) # Jenna +sm.sendNext("I see that you brought the 30 #t4034935:# items that Rona from HQ requested.") +sm.sendSay("Let's see. One, two, three... Yep, 30 #t4034935:# items... This is for you: #i1712001:# #t1712001:# x1. We'll be able to continue our investigation thanks to you.") +sm.warp(450001000) diff --git a/scripts/quest/q34151s.py b/scripts/quest/q34151s.py new file mode 100755 index 0000000..1751579 --- /dev/null +++ b/scripts/quest/q34151s.py @@ -0,0 +1,11 @@ +# id 34151 ([Weekly Quest] Diligent Research Reward), field 450001000 +sm.setSpeakerID(3003104) # Rona +sm.sendNext("Hello, #b#h0##k.\r\nEver since we started our investigation here, a lot of heroes have been helping us out.") +sm.sendSay("Thanks to their help, we got a lot of information on the Vanishing Journey. To express our gratitude, we will give you an extra reward when you help us with the investigation progress.") +sm.sendSay("If you help us with our research at least #btwice a week#k, we'll give you #i2436078:# x3 as a #bspecial reward#k.") +sm.createQuestWithQRValue(parentID, "first=1") +res = sm.sendAskYesNo("Will you help us with our research this week?\r\n(Once you accept, you'll receive a special reward if you complete #e#b2 or more#k#n #e#b[Daily Quest] Vanishing Journey Research#k#n quests by #e#rmidnight on Sunday#k#n.)") +sm.startQuest(parentID) +sm.createQuestWithQRValue(parentID, "startDate=19/06/18;first=1") +sm.createQuestWithQRValue(parentID, "dowS=2;startDate=19/06/18;first=1") +sm.sendNext("We look forward to your efforts, #b#h0##k.\r\nPlease be aware that the quest record will be reset after #e#rmidnight on Sunday#k#n.") diff --git a/scripts/quest/q34200s.py b/scripts/quest/q34200s.py new file mode 100755 index 0000000..cf0d102 --- /dev/null +++ b/scripts/quest/q34200s.py @@ -0,0 +1,77 @@ +# id 34200 ([Chu Chu] Arcane Blockage), field 993017200 +sm.lockInGameUI(True, False) +sm.blind(True, 255, 0, 0, 0, 0) +sm.forcedMove(False, 2) +sm.blind(True, 255, 0, 0, 0, 0) +sm.sendDelay(1200) +sm.blind(False, 0, 0, 0, 0, 1000) +sm.sendDelay(1400) +sm.setSpeakerType(3) +sm.setParam(57) +sm.setColor(1) +sm.sendNext("That Flying Fish must've run away because #bthat thing#k was blocking the river...") +sm.sendSay("Anyways... What is this huge creature? I'm not going to be able to move forward as long as #bhe#k is in the way.") +sm.sendSay("Uh, excuse me... I'm #b#h0##k... I'm in kind of a hurry and I need to get through. Could you step aside? You do have feet, right?") +sm.setParam(37) +sm.setInnerOverrideSpeakerTemplateID(3003156) # Muto +sm.sendSay("No... Ta-sty... Tasty...") +sm.setParam(57) +sm.sendSay("Huh? Tasty? I don't think you understand how serious this is... The world will be in #rgrave danger#k if I'm not allowed to pass.") +sm.completeQuestNoCheck(34225) +sm.sendDelay(1000) +sm.setParam(37) +sm.sendNext("#face1##fs50#TASTIES!") +sm.setParam(57) +sm.sendSay("Ahh! Don't eat me!") +sm.sendSay("Uh... I have these old #bsandwiches#k sitting at the bottom of my bag...") +sm.sendSay("Do you want some?") +sm.setParam(37) +sm.sendSay("Give it... now!") +sm.setParam(57) +sm.sendSay("(I only have two left... I guess I can share.)") +sm.setParam(37) +sm.sendSay("Hawb... Om... Nom...") +sm.completeQuestNoCheck(34223) +sm.sendSay("#face0#YUMMY!") +sm.sendSay("More... More...") +sm.setParam(57) +sm.sendSay("I'm sorry... but that's all I had...") +sm.setParam(37) +sm.sendSay("#face0#Please... More...") +sm.setParam(57) +sm.sendSay("Even if you ask politely... I don't have any more food...") +sm.completeQuestNoCheck(34225) +sm.setParam(37) +sm.sendSay("#face1##fs50#MORE TASTY!") +sm.sendDelay(1000) +sm.setParam(57) +sm.sendNext("Fine! I guess I'll just have to #rforce my way through#k!") +sm.forcedMove(False, 100) +sm.sendDelay(1000) +sm.setParam(37) +sm.sendNext("#face2##fs50#Waah! More tasty!") +sm.sendDelay(1000) +sm.spawnNpc(3003167, -370, 20) +sm.showNpcSpecialActionByTemplateId(3003167, "summon", 0) +sm.showNpcSpecialActionByTemplateId(3003167, "appear", 0) +sm.setInnerOverrideSpeakerTemplateID(3003150) # Lyon +sm.sendNext("Have no fear, your hero is here!") +sm.blind(True, 500, 255, 255, 255, 0) +sm.forcedInput(4) +sm.sendDelay(2000) +sm.blind(False, 0, 0, 0, 0, 1000) +sm.sendNext("Oh my! I #bmessed up again#k and hit this stranger in the head... Gotta work on my landing, heh!") +sm.setInnerOverrideSpeakerTemplateID(3003156) # Muto +sm.sendSay("#face1##fs50#What you give... Give more!") +sm.setInnerOverrideSpeakerTemplateID(3003150) # Lyon +sm.sendSay("Huh? Heya #bMuto#k! You like the #bfood#k this person gave you?") +sm.setInnerOverrideSpeakerTemplateID(3003156) # Muto +sm.sendSay("#face1##fs50#MORE TASTY!") +sm.setInnerOverrideSpeakerTemplateID(3003150) # Lyon +sm.sendSay("#face0#Well isn't that amazing! #bMuto#k enjoying #bfood#k? It's been a while.") +sm.sendSay("Hm... This stranger is exactly what our village needs right now! You're coming with me, buddy.") +sm.blind(True, 255, 0, 0, 0, 500) +sm.sendDelay(500) +sm.lockInGameUI(False, True) +sm.createQuestWithQRValue(parentID, "a=2") +sm.warp(450002204) diff --git a/scripts/quest/q34201s.py b/scripts/quest/q34201s.py new file mode 100755 index 0000000..c8f83d1 --- /dev/null +++ b/scripts/quest/q34201s.py @@ -0,0 +1,4 @@ +# id 34201 ([Chu Chu] Welcome to Chu Chu Island), field 450002000 +sm.startQuest(parentID) +sm.completeQuestNoCheck(parentID) +sm.warp(450002202) diff --git a/scripts/quest/q34202s.py b/scripts/quest/q34202s.py new file mode 100755 index 0000000..8aa5356 --- /dev/null +++ b/scripts/quest/q34202s.py @@ -0,0 +1,58 @@ +# id 34202 ([Chu Chu] Master Lyck, Top Chef), field 450002000 +sm.startQuest(parentID) +sm.completeQuestNoCheck(parentID) +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(3003152) # Master Lyck +sm.sendNext("You there! Bring me my knife! #bSlurp slurp#k!") +sm.createQuestWithQRValue(18418, "B=34842") +sm.sendSay("No, no, this soup is all wrong! Are you really thinking of serving this \r\nto #bMuto#k?!") +sm.sendSay("#face0#What a disgrace! #bSlurp-slurp#k!") +sm.setParam(57) +sm.sendSay("Um... Excuse me...") +sm.setParam(37) +sm.sendSay("#face0#Hmm? Are you one of my new chefs? Can't you see I'm busy? \r\nWhy are you standing there like a buffoon?") +sm.sendSay("#face0#Go and bring me more ingredients! \r\nI swear, you're just as dense as #bLyon#k!") +sm.setParam(57) +sm.sendSay("Uh... Actually, #bLyon#k is the one that sent me here...") +sm.setParam(37) +sm.sendSay("Did anyone else hear that strange whining sound? It certainly couldn't \r\nbe that assistant I just sent for ingredients, slurp-slurp!") +sm.setParam(57) +sm.sendSay("#bSigh#k... How am I supposed to carry on a conversation with someone like this...") +sm.setParam(37) +sm.sendSay("EXCUSE ME?!") +sm.setParam(57) +sm.sendSay("Oh! Yes, Lyon sent me...") +sm.setParam(37) +sm.sendSay("What did you just say?") +sm.setParam(57) +sm.sendSay("Lyon sent me?") +sm.setParam(37) +sm.sendSay("#face0#No! Not that! Didn't you just say that I #b'couldn't carry on a conversation \r\nwith a tongue like this'#k!?") +sm.setParam(57) +sm.sendSay("What? That's not what I said at all.") +sm.setParam(37) +sm.sendSay("#face0##fs30#How dare you mock my \r\nbeautiful tongue!") +sm.setParam(57) +sm.sendSay("I didn't!") +sm.setParam(37) +sm.sendSay("#face0#You're FIRED! Get out of my #brestaurant#k at once! #bSlurp, slurp-slurp#k!") +sm.setParam(57) +sm.sendSay("You can't fire me, I don't even work here...") +sm.setParam(37) +sm.sendSay("Huh? You don't?") +sm.setParam(57) +sm.sendSay("Of course I don't... I just arrived here.") +sm.setParam(37) +sm.sendSay("What? Then what business do you have with me?") +sm.setParam(57) +sm.sendSay("I'm #b#h0##k. #bChief Lyon#k told me to find you and help you make delicious food...") +sm.setParam(37) +sm.sendSay("#face3#What? You're the #bkitchen hand#k sent by Lyon?!\r\nThen you should have said so!") +sm.setParam(57) +sm.sendSay("You never gave me a chance to speak... and I'm not a kitchen hand...") +sm.setParam(37) +sm.sendSay("Silence! #rGulla#k will strike in a few days time!\r\nI must perfect my new #b'signature dish'#k! ") +sm.setParam(57) +sm.sendSay("Signature... dish?") diff --git a/scripts/quest/q34203e.py b/scripts/quest/q34203e.py new file mode 100755 index 0000000..0831fce --- /dev/null +++ b/scripts/quest/q34203e.py @@ -0,0 +1,8 @@ +# id 34203 ([Chu Chu] Master Lyck's Special Dish), field 993017200 +sm.completeQuestNoCheck(parentID) +sm.setSpeakerID(3003152) # Master Lyck +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(3003152) # Master Lyck +sm.sendNext("Oh! That was quick! Now, I must prepare my #rsignature dish#k! Slurp!") +sm.createQuestWithQRValue(18418, "B=34843") +sm.sendSay("It should be ready in no time! Come back in a little bit, slurp!") diff --git a/scripts/quest/q34203s.py b/scripts/quest/q34203s.py new file mode 100755 index 0000000..449c760 --- /dev/null +++ b/scripts/quest/q34203s.py @@ -0,0 +1,7 @@ +# 34203 (Master Lyck's Special Dish) +sm.setSpeakerID(3003152) +sm.sendNext("#h #! I need 20 #i2435856# #bSweet Hoof items to make a #rsignature dish #kthat will satisfy Muto! Slurp!") +if sm.sendAskYesNo("Can you be back with my ingredients in a jiffy?!"): + sm.startQuest(parentID) + sm.sendNext("You can get #i2435856# #bSweet Hoof #kby hunting the #bPinedeer #kthat live in #bFive-Color Hill #kwhich is to the right of the village!") + sm.sendSayOkay("Hurry back, we have a culinary masterpiece to perfect, and very little time! Slurp!") diff --git a/scripts/quest/q34204s.py b/scripts/quest/q34204s.py new file mode 100755 index 0000000..99f5e85 --- /dev/null +++ b/scripts/quest/q34204s.py @@ -0,0 +1,5 @@ +# id 34204 ([Chu Chu] Great and Terrible Taste), field 993017200 +sm.startQuest(parentID) +sm.completeQuestNoCheck(parentID) +sm.createQuestWithQRValue(18418, "B=34844") +sm.warp(450002202) diff --git a/scripts/quest/q34205e.py b/scripts/quest/q34205e.py new file mode 100755 index 0000000..242c8e2 --- /dev/null +++ b/scripts/quest/q34205e.py @@ -0,0 +1,55 @@ +# id 34205 ([Chu Chu] Follow Your Nose), field 450002023 +sm.completeQuestNoCheck(parentID) +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(3003151) # Simia +sm.sendNext("#face0#Looks like I've cooked another wonderful meal!") +sm.createQuestWithQRValue(18418, "B=34845") +sm.setInnerOverrideSpeakerTemplateID(3003153) # Pibik +sm.sendSay("We're the ones eating it, so we'll be the judges of that!") +sm.setInnerOverrideSpeakerTemplateID(3003154) # Pimi +sm.sendSay("#bPibik#k, are you going to keep on complaining about free food?") +sm.setInnerOverrideSpeakerTemplateID(3003153) # Pibik +sm.sendSay("Don't you talk back to me! I'm older than you.") +sm.setInnerOverrideSpeakerTemplateID(3003154) # Pimi +sm.sendSay("That's all the more reason for you to #r#fs20#exercise common sense!") +sm.setInnerOverrideSpeakerTemplateID(3003155) # Pidol +sm.sendSay("Pi... mi... #bPimi#k scary... Heeeheee.") +sm.setInnerOverrideSpeakerTemplateID(3003153) # Pibik +sm.sendSay("Ahem! Let's all enjoy this wonderful meal. ...Eat your food already!") +sm.setInnerOverrideSpeakerTemplateID(3003154) # Pimi +sm.sendSay("Of course #bPibik#k. Doesn't it feel nice behaving? You should keep being good for Simia, since she works so hard for us. Okay?") +sm.sendSay("If you don't, you #fs20#might not like what happens.#fs15# (Sighs) I'll just leave it at that.") +sm.setInnerOverrideSpeakerTemplateID(3003153) # Pibik +sm.sendSay("O-okay!") +sm.setInnerOverrideSpeakerTemplateID(3003155) # Pidol +sm.sendSay("Heh, heehee. Pimi made Pibik quiet again.") +sm.setInnerOverrideSpeakerTemplateID(3003154) # Pimi +sm.sendSay("Pidol, you need to eat too. You have to take care of yourself if you want your #bhead to heal#k...") +sm.setInnerOverrideSpeakerTemplateID(3003155) # Pidol +sm.sendSay("Hehehe. I fine. I always like this.") +sm.setInnerOverrideSpeakerTemplateID(3003154) # Pimi +sm.sendSay("Pidol... You need to focus on getting better... (Sighs)") +sm.setInnerOverrideSpeakerTemplateID(3003151) # Simia +sm.sendSay("#face0#Pibik! Pimi! Pidol! It's so nice to see you all looking after one another!") +sm.sendSay("So few of us around here, myself included, #bhave a family#k to rely on... But #bthe three of you can always depend on each other#k. You must feel so happy!") +sm.setInnerOverrideSpeakerTemplateID(3003154) # Pimi +sm.sendSay("Simia, you do have a family. You took us in when #bthe village kicked us out for having unusual tastes#k. We're your family!") +sm.setInnerOverrideSpeakerTemplateID(3003151) # Simia +sm.sendSay("Hehe... Thanks Pimi! I don't have anywhere to go either. Let's stay together forever!") +sm.setInnerOverrideSpeakerTemplateID(3003153) # Pibik +sm.sendSay("Family? Yeah right... We don't even look alike...") +sm.setInnerOverrideSpeakerTemplateID(3003154) # Pimi +sm.sendSay("Hey... You should stop being mean #fs13#if you know what's good for you...") +sm.setInnerOverrideSpeakerTemplateID(3003153) # Pibik +sm.sendSay("W-what I meant was that I'm even more grateful! She had no reason to look after us short little weirdos... We have unusual tastes but she makes food we like...") +sm.sendSay("(Mumbles) #fs13#Thanks... Simia...") +sm.setInnerOverrideSpeakerTemplateID(3003151) # Simia +sm.sendSay("#face0#Hehe. I know how much you like me Pibik. Pimi, stop bullying your brother. Families shouldn't threaten or fight with each other.") +sm.setInnerOverrideSpeakerTemplateID(3003155) # Pidol +sm.sendSay("We're not... hitting each other... Hehehe... #bIt's one-sided#k... Heehee.") +sm.setInnerOverrideSpeakerTemplateID(3003151) # Simia +sm.sendSay("#face0#What are we doing sitting here gabbing, with this delicious food getting cold in front of us? I made your favorite, #bChewy Sole Soup#k! Bon apetit!") +sm.setParam(57) +sm.sendSay("So, that delicious smell was coming from here... Whatever they're eating, I hope they have enough to share...") diff --git a/scripts/quest/q34205s.py b/scripts/quest/q34205s.py new file mode 100755 index 0000000..e14c128 --- /dev/null +++ b/scripts/quest/q34205s.py @@ -0,0 +1,11 @@ +# id 34205 ([Chu Chu] Follow Your Nose), field 450002000 +sm.setSpeakerType(3) +sm.setParam(2) +sm.sendNext("#bMuto#k has the tastes of a human... Their food will never get him to move.") +sm.sendSay("But the only way I can get to the Black Mage is if #bMuto#k moves...") +sm.sendSay("My s-stomach! I'm too hungry to think...") +sm.sendSay("As hungry as I am... I can't eat their terrible food. Sigh...") +sm.sendSay("W-wait... (Sniffs) Where is that delicious aroma coming from?!") +sm.sendSay("Maybe I'll find something to eat real quick. I can't fight the Black Mage on an empty stomach!") +sm.sendSay("Hm... It seems like that smell's coming from the #btop right#k... I should follow it!") +sm.startQuest(parentID) diff --git a/scripts/quest/q34206s.py b/scripts/quest/q34206s.py new file mode 100755 index 0000000..7eaa245 --- /dev/null +++ b/scripts/quest/q34206s.py @@ -0,0 +1,2 @@ +# 34206 (Simia, the Kitchen Hand) +sm.warp(450002205) \ No newline at end of file diff --git a/scripts/quest/q34207e.py b/scripts/quest/q34207e.py new file mode 100755 index 0000000..db2f71e --- /dev/null +++ b/scripts/quest/q34207e.py @@ -0,0 +1,7 @@ +# id 34207 ([Chu Chu] The Five-Color Hill Special 1), field 450002023 +sm.completeQuestNoCheck(parentID) +sm.setSpeakerID(3003151) # Simia +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(3003151) # Simia +sm.sendNext("#b#h0##k!\r\nI see you brought all the ingredients. Now we'll just mash these into a paste and bake it into a #bbun#k!") +sm.createQuestWithQRValue(18418, "B=34847") diff --git a/scripts/quest/q34207s.py b/scripts/quest/q34207s.py new file mode 100755 index 0000000..ea35679 --- /dev/null +++ b/scripts/quest/q34207s.py @@ -0,0 +1,49 @@ +# id 34207 ([Chu Chu] The Five-Color Hill Special 1), field 450002023 +sm.setSpeakerID(3003151) # Simia +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(3003151) # Simia +sm.sendNext("#b#h0##k!\r\nHow would one make one of those... #bsand... wiches#k?") +sm.setParam(2) +sm.sendSay("Uh... I need #bbread for a bun, something green and leafy like lettuce, and then some kind of meat patty#k...") +sm.setParam(4) +sm.sendSay("Okay! Then let's recreate the #bbread and 'lettuce'#k first!") +sm.setParam(2) +sm.sendSay("Okay. Can you think of anything here that tastes like the #blettuce, and the bread#k that were on the top and bottom of the sandwich?") +sm.setParam(4) +sm.sendSay("Ooh... I have an idea!") +sm.sendSay("First, head over to Five-Color Hill and gather #b40#k #i4034943:# #b#t4034943##k items from the #bBighorn Pinedeer#k. Those should perfectly replicate the flavor of the bread!") +sm.sendSay("Oh! But first, we need a #bname for our culinary experiment#k. How about we start with a word that #bdescribes the dish#k!") +sm.setParam(2) +sm.sendSay("I think the word 'sandwich' is already perfectly fine...") +sm.setParam(4) +sm.sendSay("No! Our food can't truly be great without a #bgreat name#k!\r\nPi siblings! Help the traveler brainstorm.") +sm.setSpeakerType(3) +sm.setInnerOverrideSpeakerTemplateID(3003153) # Pibik +res = sm.sendNext("Me first! Okay! Pick One:\r\n#b#L0# Delicious#l\r\n#b#L1# Homecooked#l#l\r\n#b#L2# This is dumb.#l") +sm.setSpeakerType(4) +sm.sendNext("#bDelicious #kis it? That's sounds cool!") +sm.setParam(2) +sm.sendSay("What... That's a terrible start for a sandwich name.") +sm.setSpeakerType(3) +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(3003154) # Pimi +res = sm.sendNext("Next, how about one of these!\r\n#b#L0# Beefy#l\r\n#b#L1# Smelly#l#l\r\n#b#L2# Your ideas are all terrible...#l") +sm.setSpeakerType(4) +sm.sendNext("Hmm. Sure, #bBeefy #kcould work!") +sm.setParam(2) +sm.sendSay("(Sighs) ...Whatever.") +sm.setSpeakerType(3) +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(3003155) # Pidol +res = sm.sendNext("Hehe, hehehe. I pick too!\r\n#b#L0# Bite of Heaven#l\r\n#b#L1# Surprise#l\r\n#b#L2# Delight#l") +sm.setSpeakerType(4) +sm.sendNext("...No like! I say... '#bTastesplosion#k' instead! Heheheh. Kaboom!") +sm.setParam(2) +sm.sendSay("Umm...") +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(3003151) # Simia +sm.sendSay("Okay, that settles it! The name of our sandwich is the #bDelicious Beefy Tastesplosion#k!") +sm.sendSay("Okay! Let's prepare our dish!") +sm.createQuestWithQRValue(34219, "foodname=Delicious Beefy Tastesplosion Sandwich") +sm.startQuest(parentID) +sm.warp(450002002) diff --git a/scripts/quest/q34208e.py b/scripts/quest/q34208e.py new file mode 100755 index 0000000..b8c1aa8 --- /dev/null +++ b/scripts/quest/q34208e.py @@ -0,0 +1,9 @@ +# id 34208 ([Chu Chu] The Five-Color Hill Special 2), field 450002023 +sm.completeQuestNoCheck(parentID) +sm.setMapTaggedObjectVisible("obj_01", True, 0, 0) +sm.setSpeakerID(3003151) # Simia +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(3003151) # Simia +sm.sendNext("#b#h0##k! You're back with more ingredients! We just finished baking the bun. Now we'll just throw in the topping you brought... There!") +sm.createQuestWithQRValue(18418, "B=34848") +sm.sendSay("All right, the first part of our #bDelicious Beefy Tastesplosion Sandwich#k is ready to go! Next, we make the patty. Ask #bPibik#k to help you with that!") diff --git a/scripts/quest/q34208s.py b/scripts/quest/q34208s.py new file mode 100755 index 0000000..d6cbcea --- /dev/null +++ b/scripts/quest/q34208s.py @@ -0,0 +1,9 @@ +# id 34208 ([Chu Chu] The Five-Color Hill Special 2), field 450002023 +sm.setSpeakerID(3003151) # Simia +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(3003151) # Simia +sm.sendNext("While I'm working on the buns with the Pi siblings, I need you to go find a substitute for that #b'lettuce'#k stuff!") +sm.sendSay("Pimi suggested you gather #i4034944:# #b#t4034944##k and #i4034945:# #b#t4034945##k items from #bRamanana#k and #bEwenana#k monsters that live at Five-Color Hill!") +sm.sendSay("We will need #b30 each#k to make a dish big enough to feed Muto. That should be enough, right?") +sm.startQuest(parentID) +sm.warp(450002004) diff --git a/scripts/quest/q34209e.py b/scripts/quest/q34209e.py new file mode 100755 index 0000000..ef4a0d8 --- /dev/null +++ b/scripts/quest/q34209e.py @@ -0,0 +1,13 @@ +# id 34209 ([Chu Chu] Fresh from the Slurpy Forest 1), field 993017200 +sm.completeQuestNoCheck(parentID) +sm.setSpeakerID(3003153) # Pibik +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(3003153) # Pibik +sm.sendNext("That was fast! You got the ingredients already?!") +sm.createQuestWithQRValue(18418, "B=37705") +sm.sendSay("But it's not a real sandwich without multiple types of meat!") +sm.sendSay("Now! Bring me more meat to complete the #bDelicious Beefy Tastesplosion Sandwich#k and to #bfill my belly#k!") +sm.setParam(2) +sm.sendSay("Why are we making the sandwich that #bYOU want to eat#k? Have you forgotten this is all for #bMuto#k?") +sm.setParam(4) +sm.sendSay("My taste is impeccable! Now stop talking and bring me meat!") diff --git a/scripts/quest/q34209s.py b/scripts/quest/q34209s.py new file mode 100755 index 0000000..f5487d8 --- /dev/null +++ b/scripts/quest/q34209s.py @@ -0,0 +1,13 @@ +# id 34209 ([Chu Chu] Fresh from the Slurpy Forest 1), field 450002023 +sm.setSpeakerID(3003153) # Pibik +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(3003153) # Pibik +sm.sendNext("Meat! Tasty, juicy, tender meat!") +sm.sendSay("I love #ball types of meat#k! The #blaw of the jungle#k is eat or be eaten. Good thing I'm on top of the food chain!") +sm.sendSay("The most memorable part of that sandwich of yours was the #bmeat#k by far! I have an idea for a good substitute, both in texture and flavor.") +sm.sendSay("Harvest some juicy, meaty #i4034946:# #b#t4034946##k and #i4034947:# #b#t4034947##k items from #bFlyons#k and #bAngry Flyons#k in Slurpy Forest!") +sm.sendSay("I think #b20 of each#k should be enough to feed #bMuto#k and #bme#k! Hurry up and get them!") +sm.setParam(2) +sm.sendSay("...Why do I have to get him some too?") +sm.startQuest(parentID) +sm.warp(450002009) diff --git a/scripts/quest/q34210e.py b/scripts/quest/q34210e.py new file mode 100755 index 0000000..eb89256 --- /dev/null +++ b/scripts/quest/q34210e.py @@ -0,0 +1,14 @@ +# id 34210 ([Chu Chu] Fresh from the Slurpy Forest 2), field 450002023 +sm.completeQuestNoCheck(parentID) +sm.setMapTaggedObjectVisible("obj_02", True, 0, 0) +sm.setSpeakerID(3003153) # Pibik +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(3003153) # Pibik +sm.sendNext("You're back?! I was sure you would be eaten alive!") +sm.createQuestWithQRValue(18418, "B=37706") +sm.sendSay("Check out my awesome patty! The #bDelicious Beefy Tastesplosion Sandwich#k is coming along nicely!") +sm.sendSay("Now, a little nibble for the master of taste!") +sm.setInnerOverrideSpeakerTemplateID(3003154) # Pimi +sm.sendSay("If you don't move that stubby little beak of yours away from the sandwich, #byou're gonna be eating your next meal through a straw#k.") +sm.setInnerOverrideSpeakerTemplateID(3003153) # Pibik +sm.sendSay("Grr... It looks like my work here is done. You can go bother #bPimi#k now!") diff --git a/scripts/quest/q34210s.py b/scripts/quest/q34210s.py new file mode 100755 index 0000000..a51c6ce --- /dev/null +++ b/scripts/quest/q34210s.py @@ -0,0 +1,13 @@ +# id 34210 ([Chu Chu] Fresh from the Slurpy Forest 2), field 993017200 +sm.setSpeakerID(3003153) # Pibik +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(3003153) # Pibik +sm.sendNext("Okay! Go get some more meat!") +sm.sendSay("How about gathering some #i4034948:# #b#t4034948##k and #i4034949:# #b#t4034949##k items from #bUnripe Wolfruit#k and #bRipe Wolfruit#k in Slurpy Forest!") +sm.sendSay("They may look cute and delicious but they're the apex predator of Slurpy Forest. Weaklings like you should be careful!") +sm.setParam(2) +sm.sendSay("Do I really have to take this from a baby bird...?") +sm.setParam(4) +sm.sendSay("Quit mumbling and get going! And get #b30 of each#k this time!") +sm.startQuest(parentID) +sm.warp(450002007) diff --git a/scripts/quest/q34211e.py b/scripts/quest/q34211e.py new file mode 100755 index 0000000..f567de0 --- /dev/null +++ b/scripts/quest/q34211e.py @@ -0,0 +1,13 @@ +# id 34211 ([Chu Chu] Eree Valley's Catch of the Day 1), field 450002023 +sm.completeQuestNoCheck(parentID) +sm.setSpeakerID(3003154) # Pimi +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(3003154) # Pimi +sm.sendNext("Oh, you're back. And you're soaked to the bone. Hand me the ingredients you brought, and then go get some rest.") +sm.createQuestWithQRValue(18418, "B=37707") +sm.sendSay("Ah, that delightful aroma! I know that this #bDelicious Beefy Tastesplosion Sandwich#k will be the best dish ever.") +sm.sendSay("Ah! Of course, you still have to gather the next ingredient.") +sm.setParam(2) +sm.sendSay("Can't I rest for a bit?") +sm.setParam(4) +sm.sendSay("Sure. Take a break. If you want, I can help you take #rthe longest nap of your life.#k \r\n#b(She balls one of her wings into a fist and slams it against the other)#k \r\nHehehe!") diff --git a/scripts/quest/q34211s.py b/scripts/quest/q34211s.py new file mode 100755 index 0000000..14d185e --- /dev/null +++ b/scripts/quest/q34211s.py @@ -0,0 +1,31 @@ +# id 34211 ([Chu Chu] Eree Valley's Catch of the Day 1), field 450002023 +sm.setSpeakerID(3003154) # Pimi +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(3003154) # Pimi +sm.sendNext("Sniff, sniff... Mmm, it's starting to smell good!") +sm.setParam(2) +sm.sendSay("Yeah! It'll be ready for Muto to eat as soon as we add the top bun.") +sm.setParam(4) +sm.sendSay("You're forgetting the #bmost important#k thing.") +sm.setParam(2) +sm.sendSay("Huh? What do you mean?") +sm.setParam(4) +sm.sendSay("The #bfish#k! No meal is ever complete without seafood.") +sm.setParam(2) +sm.sendSay("We already have two kinds of meat... And you want to add seafood to the mix? I'm not sure that'll taste very good...") +sm.setParam(4) +sm.sendSay("Maybe you misheard me. I said #bI want you to get fish for the sandwich#k #fs20#right now.") +sm.setParam(2) +sm.sendSay("...Fine. It's not like I'm the one who has to eat it.") +sm.setParam(4) +sm.sendSay("Hehe. What a good listener!") +sm.sendSay("All you need to do is gather #i4034950:# #b#t4034950##k and #i4034951:# #b#t4034951##k items from #bGreen Catfish#k and #bBlue Catfish#k in #bEree Valley#k.") +sm.sendSay("Um, can you get around #b20#k to start?\r\nThose that #bcan't fly#k like yourself will have to #bswim#k in Eree Valley. Beware the swift current. If you can't #bswim#k then... You're gonna have a bad time.") +sm.setParam(2) +sm.sendSay("Wait, can YOU fly?") +sm.setParam(4) +sm.sendSay("Isn't that obvious? How could we fly with these little wings? Are you making fun of me? Hehehe.") +sm.setParam(2) +sm.sendSay("Err... Sorry. I'll be back soon.") +sm.startQuest(parentID) +sm.warp(450002012) diff --git a/scripts/quest/q34212e.py b/scripts/quest/q34212e.py new file mode 100755 index 0000000..29fddf2 --- /dev/null +++ b/scripts/quest/q34212e.py @@ -0,0 +1,16 @@ +# id 34212 ([Chu Chu] Eree Valley's Catch of the Day 2), field 450002023 +sm.completeQuestNoCheck(parentID) +sm.setMapTaggedObjectVisible("obj_03", True, 0, 0) +sm.setSpeakerID(3003154) # Pimi +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(3003154) # Pimi +sm.sendNext("Oh! Looks like you survived the #bRhyturtle's dreaded horn#k. Hehe.") +sm.createQuestWithQRValue(18418, "B=37909") +sm.sendSay("At last, the seafood patty is complete! We'll just crunch up the shells and sprinkle them on top, and... Voila! What a masterpiece, eh?") +sm.sendSay("Muto will absolutely adore our #bDelicious Beefy Tastesplosion Sandwich#k! Hahaha.") +sm.setInnerOverrideSpeakerTemplateID(3003155) # Pidol +sm.sendSay("I... I want to... Help also, yes... Hehehe.") +sm.setInnerOverrideSpeakerTemplateID(3003154) # Pimi +sm.sendSay("Of course, Pidol! Yes, you should help the traveler too!") +sm.setParam(2) +sm.sendSay("Uhhhh... Are you sure about that?") diff --git a/scripts/quest/q34212s.py b/scripts/quest/q34212s.py new file mode 100755 index 0000000..ad2bb31 --- /dev/null +++ b/scripts/quest/q34212s.py @@ -0,0 +1,13 @@ +# id 34212 ([Chu Chu] Eree Valley's Catch of the Day 2), field 450002023 +sm.setSpeakerID(3003154) # Pimi +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(3003154) # Pimi +sm.sendNext("Did you have a nice break? Hehe.\r\nI just need a few more ingredients to complete the #bfish patty#k.") +sm.sendSay("Could you get #i4034952:# #b#t4034952##k and #i4034953:# #b#t4034953##k items from #bRhyturtles#k and #bBoss Rhyturtles#k that live deep in Eree Valley?") +sm.setParam(2) +sm.sendSay("Uhh... Shells? On a sandwich?") +sm.setParam(4) +sm.sendSay("Are you doubting our #btaste#k?\r\nI can promise you, this sandwich will be delicious. So go and get them already... Please?") +sm.sendSay("Oh! We'll need #babout 30 of each#k this time.") +sm.startQuest(parentID) +sm.warp(450002014) diff --git a/scripts/quest/q34213e.py b/scripts/quest/q34213e.py new file mode 100755 index 0000000..a51a542 --- /dev/null +++ b/scripts/quest/q34213e.py @@ -0,0 +1,14 @@ +# id 34213 ([Chu Chu] A Taste of Skywhale Mountain 1), field 993017200 +sm.completeQuestNoCheck(parentID) +sm.setSpeakerID(3003155) # Pidol +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(3003155) # Pidol +sm.sendNext("Wow... Feathers! You brought them fast. Heeheehee.") +sm.setParam(2) +sm.sendSay("Okay Pidol, here's your weird gorilla-bird feathers for that 'egg patty.'") +sm.setParam(4) +sm.sendSay("Hmph. How dare you belittle me. I needn't explain my logic to such an ignoramus.") +sm.setParam(2) +sm.sendSay("Pidol! You spoke normally again...") +sm.setParam(4) +sm.sendSay("Normal...? Feather good... I still need more...") diff --git a/scripts/quest/q34213s.py b/scripts/quest/q34213s.py new file mode 100755 index 0000000..c660d5a --- /dev/null +++ b/scripts/quest/q34213s.py @@ -0,0 +1,25 @@ +# id 34213 ([Chu Chu] A Taste of Skywhale Mountain 1), field 450002023 +sm.setSpeakerID(3003155) # Pidol +sm.setParam(2) +sm.sendNext("So... #bPidol#k... What kind of patty do you want to make?") +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(3003155) # Pidol +sm.sendSay("E... Egg... Eggy-eggy-egg.") +sm.setParam(2) +sm.sendSay("Come again?") +sm.setParam(4) +sm.sendSay("I said, I wish you to procure some #beggs#k, you addlebrained buffoon.\r\nPerhaps if you merely tried listening for a change...") +sm.setParam(2) +sm.sendSay("W-wait, so you can speak normally?") +sm.setParam(4) +sm.sendSay("Hehehe, speak... I speak good... Hehe...\r\nEgg patty is yummy... Heeheehee.") +sm.setParam(2) +sm.sendSay("What's with him?") +sm.setParam(4) +sm.sendSay("Hehe. You get #i4034954:# #b#t4034954##k and #i4034955:# #b#t4034955##k from #bCrilia#k and #bPatriarch Crilia#k at #bSkywhale Mountain#k... We use... for seasoning...") +sm.setParam(2) +sm.sendSay("Wait, you were just talking about eggs... You want me to get feathers now?") +sm.setParam(4) +sm.sendSay("Yes! Feathers... Like I say...") +sm.startQuest(parentID) +sm.warp(450002017) diff --git a/scripts/quest/q34214e.py b/scripts/quest/q34214e.py new file mode 100755 index 0000000..81ff2de --- /dev/null +++ b/scripts/quest/q34214e.py @@ -0,0 +1,11 @@ +# id 34214 ([Chu Chu] A Taste of Skywhale Mountain 2), field 993017200 +sm.completeQuestNoCheck(parentID) +sm.setMapTaggedObjectVisible("obj_04", True, 0, 0) +sm.setMapTaggedObjectVisible("obj_05", True, 0, 0) +sm.setSpeakerID(3003155) # Pidol +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(3003155) # Pidol +sm.sendNext("Woooow! Sandwich... Com... plete! Wheeheehee!") +sm.setInnerOverrideSpeakerTemplateID(3003151) # Simia +sm.sendSay("#h0#, our #bDelicious Beefy Tastesplosion Sandwich#k is finally complete! Yay!") +sm.sendSay("We should all try a bite!") diff --git a/scripts/quest/q34214s.py b/scripts/quest/q34214s.py new file mode 100755 index 0000000..5f83526 --- /dev/null +++ b/scripts/quest/q34214s.py @@ -0,0 +1,19 @@ +# id 34214 ([Chu Chu] A Taste of Skywhale Mountain 2), field 993017200 +sm.setSpeakerID(3003155) # Pidol +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(3003155) # Pidol +sm.sendNext("Heehee... This is really last time...") +sm.sendSay("You get #i4034956# #b#t4034956##k and #i4034957:# #b#t4034957##k from #bBirdshark#k and #bPatriarch Birdshark#k in #bSkywhale Mountain#k. Hehehehe.") +sm.sendSay("Sharp claw, strong jaw! Hehe. Careful... Okay?") +sm.startQuest(parentID) +sm.completeQuestNoCheck(64208) +sm.startQuest(9571) +sm.startQuest(28861) +sm.startQuest(28862) +sm.startQuest(28830) +sm.startQuest(28831) +sm.startQuest(28832) +sm.startQuest(28833) +sm.startQuest(42102) +sm.startQuest(7621) +sm.warp(450002019) diff --git a/scripts/quest/q34215e.py b/scripts/quest/q34215e.py new file mode 100755 index 0000000..aff5f6c --- /dev/null +++ b/scripts/quest/q34215e.py @@ -0,0 +1,2 @@ +# id 34215 ([Chu Chu] The Secret Ingredient), field 450002023 +sm.completeQuestNoCheck(parentID) diff --git a/scripts/quest/q34215s.py b/scripts/quest/q34215s.py new file mode 100755 index 0000000..a4884c2 --- /dev/null +++ b/scripts/quest/q34215s.py @@ -0,0 +1,68 @@ +# id 34215 ([Chu Chu] The Secret Ingredient), field 993017200 +sm.setSpeakerID(3003151) # Simia +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(3003151) # Simia +sm.sendNext("We couldn't have made it without your help, #h0#!.") +sm.sendSay("Why don't you take the first bite?") +sm.setParam(2) +sm.sendSay("You... want me to put that in my mouth? After helping you put all that weird stuff in it?") +sm.sendSay("That wasn't part of the agreement...") +sm.sendSay("(Sighs) Well, down the hatch!") +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(3003153) # Pibik +sm.sendSay("Well, don't just eat it! Tell us how it tastes!") +sm.setInnerOverrideSpeakerTemplateID(3003154) # Pimi +sm.sendSay("How is it? Will Muto like it?") +sm.setParam(2) +sm.sendSay("Huh. This is actually pretty okay, considering the horrible things we put inside it. But...") +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(3003151) # Simia +sm.sendSay("But?") +sm.setParam(2) +sm.sendSay("It's... A little on the #bbland#k side.") +sm.sendSay("The sandwich I gave Muto was a lot more flavorful. It wasn't exactly health food.") +sm.setParam(4) +sm.sendSay("Let me try a bite... \r\nHmm... I think I see what you mean.") +sm.sendSay("I've never made a dish this large... so there probably #risn't enough seasoning#k...") +sm.setParam(2) +sm.sendSay("It's almost time to meet with Master Lyck. This'll just have to do for now.") +sm.setParam(4) +sm.sendSay("But... Muto is basically a child... There's no way we'll convince him to eat something this bland...") +sm.setParam(2) +sm.sendSay("Then what would you suggest...? We don't have a lot of time here.") +sm.setParam(4) +sm.sendSay("I know something that would add a lot of flavor... But it's not easy to come by.") +sm.setInnerOverrideSpeakerTemplateID(3003154) # Pimi +sm.sendSay("Simia, you can't be thinking about #r...that#k!") +sm.setParam(2) +sm.sendSay("What is it?") +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(3003151) # Simia +sm.sendSay("Well, we have to grind up the #rfruit of the Slurpy Tree#k.") +sm.setParam(2) +sm.sendSay("That's it? Pick fruit from a tree? No flying gorillas? I can do that! Where's this #rSlurpy Tree#k?") +sm.setParam(4) +sm.sendSay("The #rSlurpy Tree#k grows deep inside the Chu Chu Forest... But... it's no ordinary tree.") +sm.sendSay("The #rSlurpy Tree#k is a big, scary #rman-eating tree#k... That's part of why it's hard to get harvest the #rSlurpy Fruit#k...") +sm.sendSay("I know you're strong, but... Would you be willing to risk your life to get the fruit? I wouldn't ask if the village wasn't at stake...") +sm.setInnerOverrideSpeakerTemplateID(3003154) # Pimi +sm.sendSay("WELL?!") +sm.sendSay("Whee!") +sm.setInnerOverrideSpeakerTemplateID(3003155) # Pidol +sm.sendSay("Whee!") +sm.setParam(2) +sm.sendSay("(Sighs)... I guess I have no choice... I'll be back...") +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(3003151) # Simia +sm.sendSay("Wait! #h0# I'm sorry for making such a difficult request, but...") +sm.setParam(2) +sm.sendSay("You don't need to worry. I'm strong!") +sm.setParam(4) +sm.sendSay("It's not that... It's just that, the Slurpy Fruit #bmust be picked with the stem intact#k... You see, that's the tastiest part...") +sm.setParam(2) +sm.sendSay("I see...") +sm.startQuest(parentID) +sm.createQuestWithQRValue(49000, "count=1;Quest=0;day=152855;QET=20190704201215;state=2") +sm.createQuestWithQRValue(49000, "count=1;Quest=0;day=152855;QET=20190704201215;state=1") +sm.createQuestWithQRValue(49000, "count=1;Quest=0;day=152855;QET=20190704211218;state=1") +sm.warp(450002010) diff --git a/scripts/quest/q34216s.py b/scripts/quest/q34216s.py new file mode 100755 index 0000000..f0c76e9 --- /dev/null +++ b/scripts/quest/q34216s.py @@ -0,0 +1,36 @@ +# id 34216 ([Chu Chu] Gulla Attacks), field 450002000 +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(3003150) # Lyon +sm.sendNext("It's #rGulla#k! #rGulla has begun his assault#k!") +sm.sendSay("#bMaster Lyck#k! Have you completed your meal for Muto?") +sm.setInnerOverrideSpeakerTemplateID(3003152) # Master Lyck +sm.sendSay("Of course! Just you watch, Muto will be #bjumping for joy#k because \r\nit's so good!") +sm.setInnerOverrideSpeakerTemplateID(3003150) # Lyon +sm.sendSay("Oh! What a relief! But what happened to that #bstrange little traveler#k who went off to make their own dish?") +sm.setInnerOverrideSpeakerTemplateID(3003152) # Master Lyck +sm.sendSay("#face4#Slurp-slurp! Surely off cowering in fear! Hmph. \r\nThat runt doesn't know a thing about taste, and they dared to \r\nlecture ME about flavor! Well, now their true colors are showing!") +sm.setInnerOverrideSpeakerTemplateID(3003150) # Lyon +sm.sendSay("Um. Anyways Master Lyck, we should take your masterpiece to Muto!") +sm.setParam(57) +sm.sendSay("W-wait! I'm here! (Huffs) The food... It's ready!") +sm.setParam(37) +sm.sendSay("#face1#Oh! You're back!") +sm.setParam(57) +sm.sendSay("(Pants) Yes! Let's go to Muto...") +sm.setParam(37) +sm.setInnerOverrideSpeakerTemplateID(3003152) # Master Lyck +sm.sendSay("What? Where is this food you speak of? Don't tell me you made \r\nsomething small... Your last offering was smaller than one of \r\nMuto's boogers!") +sm.setParam(57) +sm.sendSay("(Breathes heavily) I prepared #ban amazing dish#k... and I had #bhelp from an excellent chef#k...") +sm.setParam(37) +sm.setInnerOverrideSpeakerTemplateID(3003150) # Lyon +sm.sendSay("Oh! An #bassistant#k? Well that's nice. Who are they?") +sm.setInnerOverrideSpeakerTemplateID(3003152) # Master Lyck +sm.sendSay("#face4#Slurp-slurp! Liar! There's no one on Chu Chu Island that \r\ncooks half as well as me!") +sm.setParam(57) +sm.sendSay("Hey, uh, aren't we a little short on time here? We should get to Muto! \r\nMy #bassistant#k is already bringing our dish there!") +sm.startQuest(parentID) +sm.completeQuestNoCheck(parentID) +sm.warp(450002021) diff --git a/scripts/quest/q34217s.py b/scripts/quest/q34217s.py new file mode 100755 index 0000000..65050b0 --- /dev/null +++ b/scripts/quest/q34217s.py @@ -0,0 +1,4 @@ +# id 34217 ([Chu Chu] Muto's Choice), field 450002021 +sm.startQuest(parentID) +sm.completeQuestNoCheck(parentID) +sm.warp(450002201) diff --git a/scripts/quest/q34218s.py b/scripts/quest/q34218s.py new file mode 100755 index 0000000..80f4380 --- /dev/null +++ b/scripts/quest/q34218s.py @@ -0,0 +1,6 @@ +# id 34218 ([Chu Chu] Goodbye, Chu Chu Island), field 450002021 +sm.startQuest(parentID) +sm.completeQuestNoCheck(parentID) +sm.startQuest(34221) +sm.progressMessageFont(3, 20, 10, 0, "You can shorten previous Arcane River area Daily Quests.") +sm.warp(450002201) diff --git a/scripts/quest/q34300e.py b/scripts/quest/q34300e.py new file mode 100755 index 0000000..f680d05 --- /dev/null +++ b/scripts/quest/q34300e.py @@ -0,0 +1,11 @@ +# id 34300 ([Lachelein] Festival of Dreams), field 450003000 +sm.setSpeakerType(3) +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(3003201) # Protective Mask +sm.sendNext("Are you from outside?") +sm.setParam(2) +sm.sendSay("?") +sm.setParam(4) +sm.sendSay("You must be careful, this place is dangerous. Oh no, they're here!.") +sm.completeQuestNoCheck(parentID) +sm.warp(450003710) diff --git a/scripts/quest/q34300s.py b/scripts/quest/q34300s.py new file mode 100755 index 0000000..abb8e23 --- /dev/null +++ b/scripts/quest/q34300s.py @@ -0,0 +1,17 @@ +# id 34300 ([Lachelein] Festival of Dreams), field 450003000 +sm.startQuest(parentID) +sm.setSpeakerType(3) +sm.setParam(2) +sm.sendSayOkay("There are humans in the Arcane River? I should talk to them.") +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(3003225) # Rabbit Mask +sm.sendNext("I'm happy, HAPPY I tell you!") +sm.createQuestWithQRValue(parentID, "NpcSpeech=30032251") +sm.setInnerOverrideSpeakerTemplateID(3003226) # Cat Mask +sm.sendNext("Fireworks, dancing, the sound of rushing water... I'm so excited!") +sm.createQuestWithQRValue(parentID, "NpcSpeech=30032251/30032262") +sm.setInnerOverrideSpeakerTemplateID(3003227) # Flutist Mask +sm.sendNext("Ha ha ha. Come, celebrate with me!") +sm.setParam(2) +sm.sendSay("This place is strange... Why is everyone wearing masks?") +sm.createQuestWithQRValue(parentID, "NpcSpeech=30032251/30032262/30032273") diff --git a/scripts/quest/q34301s.py b/scripts/quest/q34301s.py new file mode 100755 index 0000000..0a602cb --- /dev/null +++ b/scripts/quest/q34301s.py @@ -0,0 +1,19 @@ +# id 34301 ([Lachelein] City of Dreams and Illusions), field 450003100 +sm.setSpeakerType(3) +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(3003209) # Gray Mask +sm.sendNext("Protective Mask, you sure are fearless for one so young. You were almost in big trouble.") +sm.setInnerOverrideSpeakerTemplateID(3003201) # Protective Mask +sm.sendSay("I couldn't leave that person at her mercy.") +sm.setInnerOverrideSpeakerTemplateID(3003209) # Gray Mask +sm.sendSay("Indeed. You sure have a lot of guts to get so close to her, stranger. Of course maybe you don't know any better... Well, you're safe now.") +sm.setParam(2) +sm.sendSay("Who was that woman?") +sm.setParam(4) +sm.sendSay("Her name is #b'Lucid'#k. Her power is unlike anything I've ever seen. She has the ability to manipulate dreams. In fact, #bLachelein#k is really just one great big prison plucked from her own dreams. And we're the prisoners. ") +sm.setParam(2) +sm.sendSay("I see. So that's why they call it the Dreaming City... ") +sm.setParam(4) +sm.sendSay("Hah. For us, it's a city of nightmares.") +sm.completeQuestNoCheck(parentID) +sm.warp(450003720) diff --git a/scripts/quest/q34305s.py b/scripts/quest/q34305s.py new file mode 100755 index 0000000..c7bd434 --- /dev/null +++ b/scripts/quest/q34305s.py @@ -0,0 +1,35 @@ +# id 34305 ([Lachelein] Lucid Dreams), field 450003100 +sm.setSpeakerType(3) +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(3003201) # Protective Mask +sm.sendNext("I heard you need to go further down the river. If we succeed in freeing ourselves from this city of dreams, your wish will be a possibility. ") +sm.setSpeakerType(4) +sm.setSpeakerID(3003201) # Protective Mask +sm.setParam(0) +res = sm.sendAskAccept("Will you aid us?") +sm.setSpeakerType(3) +sm.setParam(4) +sm.sendNext("Thank you. Gray Mask can tell you more.") +sm.startQuest(parentID) +sm.createQuestWithQRValue(64270, "") +sm.createQuestWithQRValue(64110, "dir1=1;chk=1;chk1=1") +sm.createQuestWithQRValue(64110, "dir1=1;chk=0;chk1=1") +sm.createQuestWithQRValue(63862, "") +sm.createQuestWithQRValue(16548, "count=0;todayM=0;todayT=0;lastDate=19/07/05;todayC=0") +sm.createQuestWithQRValue(18793, "q0=1;q1=0;q2=0;pq=0;q1Date=19/07/05;q2Date=19/07/04;pqDate=19/07/04") +sm.createQuestWithQRValue(18793, "q0=1;q1=0;q2=0;pq=0;q1Date=19/07/05;q2Date=19/07/05;pqDate=19/07/04") +sm.createQuestWithQRValue(18793, "q0=1;q1=0;q2=0;pq=0;q1Date=19/07/05;q2Date=19/07/05;pqDate=19/07/05") +sm.createQuestWithQRValue(63369, "chk=0;day=18") +sm.startQuest(61555) +sm.createQuestWithQRValue(34127, "") +sm.createQuestWithQRValue(62153, "lastday=19/07/05") +sm.createQuestWithQRValue(18688, "party=10;solo=10;r=07/05") +sm.createQuestWithQRValue(18192, "count=12;val2=0;tDate=19/07/04/13/40;val=325") +sm.createQuestWithQRValue(18273, "count=0;last=19/07/05;state1=0;state2=0") +sm.createQuestWithQRValue(18282, "count=0;last=19/07/05") +sm.createQuestWithQRValue(58980, "") +sm.startQuest(7019) +sm.completeQuestNoCheck(7707) +sm.createQuestWithQRValue(100161, "autoIncTotal=16;point=1933;sum=326316;lv=3;date=20190704;today=0;total=16") +sm.createQuestWithQRValue(100161, "autoIncTotal=16;point=1933;sum=326316;lv=3;date=20190705;today=0;total=16") +sm.createQuestWithQRValue(100191, "date=20190705;today=0") diff --git a/scripts/quest/q34308s.py b/scripts/quest/q34308s.py new file mode 100755 index 0000000..5b1bf39 --- /dev/null +++ b/scripts/quest/q34308s.py @@ -0,0 +1,17 @@ +# id 34308 ([Lachelein] Finding the Awakened Ones (2)), field 450003000 +sm.setSpeakerType(3) +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(3003201) # Protective Mask +sm.sendNext("Did you identify the Awakened One? Who was it?") +sm.setSpeakerType(4) +sm.setSpeakerID(3003202) # Protective Mask +res = sm.sendNext("What should I say?\r\n#b\r\n#L0# Beauty Mask#l\r\n#L1# Classy Cat Mask#l\r\n#L2# Shrimp Mask#l") +sm.setSpeakerType(3) +if res == 0: + sm.sendSayOkay("That doesn't sound right... Maybe you weren't looking carefully enough.") +elif res == 1: + sm.sendSayOkay("That doesn't sound right... Maybe you weren't looking carefully enough.") +elif res == 2: + sm.sendNext("I see. Speak with Shrimp Mask. Convince him to aid our cause.") + sm.startQuest(parentID) + diff --git a/scripts/quest/q34315e.py b/scripts/quest/q34315e.py new file mode 100755 index 0000000..fe7f9ce --- /dev/null +++ b/scripts/quest/q34315e.py @@ -0,0 +1,20 @@ +# id 34315 ([Lachelein] Break the Plates (2)), field 450003330 +sm.setSpeakerType(3) +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(3003234) # Balloon Mask +sm.sendNext("And the winner is... Pie Mask!") +sm.setInnerOverrideSpeakerTemplateID(3003201) # Protective Mask +sm.sendSay("They held the eating contest while you were gone.") +sm.setInnerOverrideSpeakerTemplateID(3003236) # Beauty Mask +sm.sendSay("Wow! Did you see that? That was a lot of food!") +sm.setInnerOverrideSpeakerTemplateID(3003238) # Huge Watermelon Mask +sm.sendSay("I lost? How could I lose? I was so sure this would be my first victory!") +sm.setParam(2) +sm.sendSay("I still don't understand how me breaking all the plates would have helped him win his first victory.") +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(3003201) # Protective Mask +sm.sendSay("It's not like you broke ALL the plates anyway.") +sm.setInnerOverrideSpeakerTemplateID(3003223) # Pie Mask +sm.sendSay("I did it... Look at me. I'm the winner! Admire me. I'm so happy... Aren't I? ") +sm.sendSay("I don't undestand... I should feel happy right now, shouldn't I? Ah!") +sm.warp(450003730) diff --git a/scripts/quest/q34322s.py b/scripts/quest/q34322s.py new file mode 100755 index 0000000..f43a8d0 --- /dev/null +++ b/scripts/quest/q34322s.py @@ -0,0 +1,25 @@ +# id 34322 ([Lachelein] Dark Mask), field 450003430 +sm.setSpeakerType(3) +sm.setParam(3) +sm.sendNext("Where is that music coming from?") +sm.setParam(5) +sm.setInnerOverrideSpeakerTemplateID(3003218) # Dark Mask +sm.sendSay("Aren't you afraid? Leave me alone, I want to live!") +sm.setParam(3) +sm.sendSay("#rYou're the awakened one!") +sm.setParam(5) +sm.sendSay("What's the point of being awake if we're still trapped inside their dream?!") +sm.sendSay("Do you think that woman doesn't know what you're up to? It's just a matter of time...") +sm.setInnerOverrideSpeakerTemplateID(3003201) # Protective Mask +sm.sendSay("Did you see Lucid? You know something, don't you?") +sm.setInnerOverrideSpeakerTemplateID(3003218) # Dark Mask +sm.sendSay("Pshh. I'm out of here. Getting caught with you is a one-way ticket to the afterlife.") +sm.setInnerOverrideSpeakerTemplateID(3003201) # Protective Mask +sm.sendSay("Wait, it's dangerous to skulk around carelessly. It's better to hide in plain sight among those who still sleep...") +sm.setInnerOverrideSpeakerTemplateID(3003218) # Dark Mask +sm.sendSay("Excuse me. Don't mind me, just passing through.") +sm.setInnerOverrideSpeakerTemplateID(3003201) # Protective Mask +sm.sendSay("I'll go after him.") +sm.setParam(3) +sm.sendSay("(Both of them disappeared to the right. You should follow them!)") +sm.startQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q34325e.py b/scripts/quest/q34325e.py new file mode 100755 index 0000000..07d8891 --- /dev/null +++ b/scripts/quest/q34325e.py @@ -0,0 +1,6 @@ +# id 34325 ([Lachelein] Masquerade Mask), field 450003430 +sm.lockInGameUI(True, False) +sm.blind(True, 255, 0, 0, 0, 500) +sm.sendDelay(500) +sm.lockInGameUI(False, True) +sm.warp(450003750) diff --git a/scripts/quest/q34326s.py b/scripts/quest/q34326s.py new file mode 100755 index 0000000..3b98d0c --- /dev/null +++ b/scripts/quest/q34326s.py @@ -0,0 +1,95 @@ +# id 34326 ([Lachelein] Fallen), field 450003100 +sm.lockInGameUI(True, False) +sm.spawnNpc(3003252, -463, -110) +sm.showNpcSpecialActionByTemplateId(3003252, "summon", 0) +sm.spawnNpc(3003254, -67, -174) +sm.showNpcSpecialActionByTemplateId(3003254, "summon", 0) +sm.spawnNpc(3003256, 22, -27) +sm.showNpcSpecialActionByTemplateId(3003256, "summon", 0) +sm.spawnNpc(3003255, 57, -169) +sm.showNpcSpecialActionByTemplateId(3003255, "summon", 0) +sm.spawnNpc(3003251, -374, -24) +sm.showNpcSpecialActionByTemplateId(3003251, "summon", 0) +sm.startQuest(parentID) +sm.showNpcSpecialActionByTemplateId(3003251, "sit", -1) +sm.showFadeTransition(0, 1500, 3000) +sm.zoomCamera(0, 2000, 0, -219, -25) +sm.sendDelay(300) +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(3003252) # Gray Mask +sm.sendNext("Protective Mask, are you all right?") +sm.setInnerOverrideSpeakerTemplateID(3003251) # Protective Mask +sm.sendSay("#face0#As the dream's hold weakens, so do I. What could this mean...?") +sm.sendDelay(500) +sm.changeBGM("SoundEff.img/ArcaneRiver/thrill", 0, 0) +sm.bgmVolume(100, 100) +sm.showEffect("Effect/OnUserEff.img/emotion/oh", 0, 0, 0, 0, 134930943, 0, 0) +sm.sendNext("#face0#...! Did you feel that? ") +sm.sendSay("#face0#Lachelein is rapidly expanding!") +sm.setInnerOverrideSpeakerTemplateID(3003252) # Gray Mask +sm.sendSay("Does that mean her ultimate goal is...!?") +sm.setInnerOverrideSpeakerTemplateID(3003251) # Protective Mask +sm.sendSay("#face0#She's not satisfied with just the Arcane River... She's trying to envelop \r\nthe entire world in her dream!") +sm.showEffect("Map/Effect3.img/Lacheln/pung3", 0, -461, -50, 0, 0, 1, 0) +sm.showNpcSpecialActionByTemplateId(3003252, "special", -1) +sm.sendDelay(1000) +sm.playExclSoundWithDownBGM("Skill.img/1201005/Use", 100) +sm.showEffect("Map/Effect3.img/Lacheln/pung3", 0, 24, -50, 0, 0, 1, 0) +sm.showNpcSpecialActionByTemplateId(3003254, "special", -1) +sm.sendDelay(1000) +sm.playExclSoundWithDownBGM("Skill.img/1201005/Use", 100) +sm.showEffect("Map/Effect3.img/Lacheln/pung3", 0, -64, -187, 0, 0, 1, 0) +sm.showNpcSpecialActionByTemplateId(3003256, "special", -1) +sm.sendDelay(1000) +sm.playExclSoundWithDownBGM("Skill.img/1201005/Use", 100) +sm.showEffect("Map/Effect3.img/Lacheln/pung3", 0, 57, -187, 0, 0, 1, 0) +sm.showNpcSpecialActionByTemplateId(3003255, "special", -1) +sm.sendDelay(1000) +sm.playExclSoundWithDownBGM("Skill.img/1201005/Use", 100) +sm.bgmVolume(100, 100) +sm.setParam(57) +sm.sendNext("W-what?!") +sm.sendSay("They turned into Dreamkeepers?!") +sm.sendDelay(2000) +sm.moveNpcByTemplateId(3003252, False, 120, 100) +sm.setParam(37) +sm.setInnerOverrideSpeakerTemplateID(3003257) # Dreamkeeper +sm.sendNext("Hope and despair... The best of friends... ") +sm.moveNpcByTemplateId(3003254, True, 30, 100) +sm.sendSay("As one grows stronger... So too does the other.") +sm.moveNpcByTemplateId(3003256, True, 80, 100) +sm.sendSay("Struggle all you like... You cannot escape.") +sm.moveNpcByTemplateId(3003255, True, 50, 100) +sm.sendSay("This is one dream from which... you will never awaken.") +sm.setInnerOverrideSpeakerTemplateID(3003251) # Protective Mask +sm.sendSay("#face0##h0#, look out!") +sm.blind(True, 255, 0, 0, 0, 300) +sm.setInnerOverrideSpeakerTemplateID(3003257) # Dreamkeeper +sm.sendSay("Your fate... Is already sealed.") +sm.setParam(57) +sm.sendSay("S-stay back! W-what? Ahh!") +sm.sendDelay(1500) +sm.blind(True, 255, 0, 0, 0, 500) +sm.sendDelay(500) +sm.onLayer(2000, "0", 0, -80, 1, "Map/Effect3.img/Lacheln/4", 4, True, -1, False) +sm.sendDelay(2500) +sm.offLayer(1500, "0", False) +sm.bgmVolume(0, 200) +sm.sendDelay(1500) +sm.setParam(37) +sm.sendNext("Forget them.") +sm.sendSay("The Arcane River will take care of them.") +sm.sendSay("Transform into Erdas and flow onward... Your energy will feed the Dark One...") +sm.sendSay("That is a meaningful end... ") +sm.sendDelay(1500) +sm.setInnerOverrideSpeakerTemplateID(3003250) # Lucid +sm.sendNext("#face5#Hehehe. Bye bye.") +sm.sendDelay(1500) +sm.sendNext("#face2#Wait.") +sm.sendSay("#face2#Was that person...? ") +sm.sendSay("#face2#It can't be...") +sm.sendDelay(1000) +sm.lockInGameUI(False, True) +sm.warp(450003760) diff --git a/scripts/quest/q34330e.py b/scripts/quest/q34330e.py new file mode 100755 index 0000000..d329fd3 --- /dev/null +++ b/scripts/quest/q34330e.py @@ -0,0 +1,23 @@ +# id 34330 ([Lachelein] Nightmare Clocktower 4F), field 450003530 +sm.setSpeakerType(3) +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(3003209) # Gray Mask +sm.sendNext("Hm... The dream is growing weaker.") +sm.sendSay("Hold on to this for me, won't you? Who knows whether I'll transform into a Dreamkeeper again.") +sm.sendSay("I discovered this while I was a Dreamkeeper. I guess I was still awake, in a way. Perhaps it will be of use to you.") +sm.sendSay("I see Protective Mask couldn't make it. The shock of his ordeal must have been great. ") +sm.sendSay("But don't worry. I'm sure he will recover. ") +sm.sendSay("#h0#...") +sm.setSpeakerType(4) +sm.setSpeakerID(3003210) # Gray Mask +sm.setParam(2) +sm.sendSay("I'm going to stop Lucid.") +sm.setSpeakerType(3) +sm.setParam(4) +sm.sendSay("I won't stand in your way then. Win, #h0#. Both for yourself, and for us.") +if sm.canHold(1712003): + sm.giveItem(1712003) + sm.completeQuest(34330) + sm.startQuest(34343) +else: + sm.sendNext("Please make room in your EQUIP inventory. I have something very important to give you.") diff --git a/scripts/quest/q34331e.py b/scripts/quest/q34331e.py new file mode 100755 index 0000000..db3d34b --- /dev/null +++ b/scripts/quest/q34331e.py @@ -0,0 +1,26 @@ +# id 34331 ([Lachelein] Decisive Battle), field 450004000 +sm.lockInGameUI(True, False) +sm.setSpeakerType(3) +sm.setParam(57) +sm.setColor(1) +sm.sendNext("Is it over? Is that it? ") +sm.setParam(37) +sm.setInnerOverrideSpeakerTemplateID(3003251) # Protective Mask +sm.sendSay("#face0#I... think it's over. But the barrier around the city hasn't disappeared yet.") +sm.setParam(57) +sm.sendSay("What are you going to do now? ") +sm.setParam(37) +sm.sendSay("#face0#Dreams and reality are separate once more. And now, just like any other, this dream will slowly fade away... ") +sm.setParam(57) +sm.sendSay("But if the dream end, then you'll... ") +sm.setParam(37) +sm.sendSay("#face0#The nightmare must vanish when the day breaks.") +sm.sendSay("#face0#If the people, or the Erdas are safe, then that means I've fulfilled my purpose. It doesn't matter if I disappear.") +sm.setParam(57) +sm.sendSay("...") +sm.setParam(37) +sm.sendSay("#face0#I guess you'll resume your quest when the fog is lifted. ") +sm.sendSay("#face0#It will be a difficult journey, but I hope you'll return safely.") +sm.completeQuestNoCheck(parentID) +sm.lockInGameUI(False, True) +sm.progressMessageFont(3, 20, 10, 0, "You can shorten previous Arcane River area Daily Quests.") diff --git a/scripts/quest/q34367s.py b/scripts/quest/q34367s.py new file mode 100755 index 0000000..516c7e9 --- /dev/null +++ b/scripts/quest/q34367s.py @@ -0,0 +1,4 @@ +# id 34367 (Vanquisher Of Nightmares), field 450004000 +sm.startQuest(parentID) +sm.setSpeakerID(3003208) # Protective Mask +sm.sendSayOkay("Please speak with me when you defeat #rLucid (Hard)#k the Master of Nightmares. I have something to give you.") diff --git a/scripts/quest/q34452e.py b/scripts/quest/q34452e.py new file mode 100755 index 0000000..eaabb42 --- /dev/null +++ b/scripts/quest/q34452e.py @@ -0,0 +1,37 @@ +# id 34452 ([Arcana] When the Spirit Tree Bloomed), field 450005015 +sm.lockInGameUI(True, False) +sm.blind(True, 255, 0, 0, 0, 500) +sm.sendDelay(500) +sm.onLayer(1000, "00", 0, -80, 12, "Effect/Direction19.img/effect/arcana_play/0", 4, True, -1, False) +sm.sendDelay(1000) +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(3003301) # Small Spirit +sm.sendNext("#face7#That tree you see in the distance once resonated with the song of a harmonious forest, and blossomed with beautiful flowers. We strolled beneath the Spirit Tree's branches and were happy.") +sm.onLayer(1000, "01", 0, -80, 12, "Effect/Direction19.img/effect/arcana_play/4", 4, True, -1, False) +sm.sendDelay(1000) +sm.onLayer(1000, "02", 0, -80, 12, "Effect/Direction19.img/effect/arcana_play/2", 4, True, -1, False) +sm.sendDelay(1000) +sm.sendNext("#face7#The Spirit Tree sheltered us from danger, and the places where its petals fell overflowed with life.") +sm.onLayer(1000, "03", 0, -80, 12, "Effect/Direction19.img/effect/arcana_play/3", 4, True, -1, False) +sm.sendDelay(1000) +sm.onLayer(1000, "04", 0, -80, 12, "Effect/Direction19.img/effect/arcana_play/1", 4, True, -1, False) +sm.sendDelay(1000) +sm.sendNext("#face4#...But the song of the forest grew silent, and tragedy befell us.") +sm.sendSay("#face4#Wild, discordant spirts began to appear, and the forest slowly began to die.") +sm.offLayer(1000, "01", False) +sm.offLayer(1000, "02", False) +sm.offLayer(1000, "03", False) +sm.offLayer(1000, "04", False) +sm.sendDelay(1000) +sm.sendNext("#face5#So too did the Spirit Tree begin to wither...") +sm.sendSay("#face4#As the Spirit Tree withered, it became shrouded in an evil stench.") +sm.sendSay("#face4#The Vortex of Light appeared shortly afterwards. It must be connected to the deterioration of the Spirit Tree.") +sm.offLayer(300, "00", False) +sm.blind(True, 255, 0, 0, 0, 0) +sm.sendDelay(1200) +sm.blind(False, 0, 0, 0, 0, 1000) +sm.sendDelay(1400) +sm.sendDelay(500) +sm.lockInGameUI(False, True) diff --git a/scripts/quest/q34453e.py b/scripts/quest/q34453e.py new file mode 100755 index 0000000..ea2e7a9 --- /dev/null +++ b/scripts/quest/q34453e.py @@ -0,0 +1,27 @@ +# id 34453 ([Arcana] The Song of the Forest), field 450005015 +sm.lockInGameUI(True, False) +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(3003301) # Small Spirit +sm.sendNext("#face7#I believe the Spirit Tree will restore itself, if only the Song of the Forest were played once more. I tried to revive the Songblooms, but...") +sm.sendSay("#face4#It didn't work. Wahhh...!") +sm.sendSay("#face4#...I-I'm sorry I'm such a crybaby. Wah...") +sm.setInnerOverrideSpeakerTemplateID(3003302) # Wind Spirit +sm.sendSay("#face1#It can be felt, but not seen. You cannot hear it, but you know it is there.\r\nWhat is it?") +sm.sendSay("#face2#Friendship, love, kindness. It goes by many names.") +sm.sendSay("#face2#Your tale tugs at my heart, like the breeze on one's tendrils. Very well, I will assist you.") +sm.setInnerOverrideSpeakerTemplateID(3003301) # Small Spirit +sm.sendSay("#face7#Ah, Wind Spirit! (Sniffs) That's Wind Spirit. He's a little unusual.") +sm.setInnerOverrideSpeakerTemplateID(3003302) # Wind Spirit +sm.sendSay("#face1#My song is mine alone, but you may sing it.") +sm.setParam(57) +sm.sendSay("Uhh, right... We're going to revive the Songblooms and restore the Song of the Forest. Will you help us?") +sm.setParam(37) +sm.setInnerOverrideSpeakerTemplateID(3003301) # Small Spirit +sm.sendSay("#face1#We might be able to revive the Spirit Tree and put everything back the way it was! What do you say, Wind Spirit?") +sm.setInnerOverrideSpeakerTemplateID(3003302) # Wind Spirit +sm.sendSay("#face2#Hahaha, you have my assistance. Just tell me what to do! I wait with baited breath.") +sm.sendSay("#face1#Ah! An urgent quest. I pulsate with excitement.") +sm.sendDelay(500) +sm.lockInGameUI(False, True) diff --git a/scripts/quest/q34454s.py b/scripts/quest/q34454s.py new file mode 100755 index 0000000..d3b1261 --- /dev/null +++ b/scripts/quest/q34454s.py @@ -0,0 +1,12 @@ +# id 34454 ([Arcana] The Floral Flute), field 450005015 +sm.setSpeakerID(3003302) # Wind Spirit +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(3003302) # Wind Spirit +sm.sendNext("Speak, speak! I, Wind Spirit, await your quest. Hurry, hurry.") +sm.setInnerOverrideSpeakerTemplateID(3003301) # Small Spirit +sm.sendSay("Wind Spirit, could you carry us down this cliff to where the Floral Flute is?") +sm.setInnerOverrideSpeakerTemplateID(3003302) # Wind Spirit +sm.sendSay("Dooot~ The flute below the cliff, the floral flute that toots. Dooooooot~") +sm.setParam(0) +res = sm.sendAskAccept("Yes, we'll ride the wind, zoomy and free. Down, down, to the flute that toots. Ready?") +sm.warp(940200206) diff --git a/scripts/quest/q34460s.py b/scripts/quest/q34460s.py new file mode 100755 index 0000000..71c74b7 --- /dev/null +++ b/scripts/quest/q34460s.py @@ -0,0 +1,7 @@ +# id 34460 ([Arcana] Blooms Under the Moon), field 450005100 +sm.setSpeakerID(3003303) # Small Spirit +sm.sendNext("...Let's move the Floral Flute to the place that gets the most moonlight! Well... the Floral Flute is way too big to transport as it stands.") +sm.sendSay("There's still life in these blossoms... We still have hope!") +res = sm.sendAskAccept("But we can cut a trimming from the withered Floral Flute and plant it in the place with the most moonlight!") +sm.sendNext("Let's plant it in the place with the most moonlight! Go, go, go!") +sm.warp(940200330) diff --git a/scripts/quest/q34464s.py b/scripts/quest/q34464s.py new file mode 100755 index 0000000..4a2c0b1 --- /dev/null +++ b/scripts/quest/q34464s.py @@ -0,0 +1,10 @@ +# id 34464 ([Arcana] The Spirit Tree's Return), field 450005220 +sm.setSpeakerID(3003311) # Lost Tree Spirit +sm.setParam(2) +res = sm.sendAskAccept("#b(Every minute the missing spirit is out here, it's in danger. You should escort it to safety immediately.)#k") +sm.closeUI(1128) +sm.closeUI(1128) +sm.sendNext("#b(If the Tree Spirit is exposed to this evil aura any longer, it may be irreversibly corrupted. You need to defeat the Wild Spirits nearby and save it.)#k") +sm.closeUI(1128) +sm.closeUI(1128) +sm.warp(940200220) diff --git a/scripts/quest/q34466s.py b/scripts/quest/q34466s.py new file mode 100755 index 0000000..80d94f6 --- /dev/null +++ b/scripts/quest/q34466s.py @@ -0,0 +1,25 @@ +# id 34466 ([Arcana] Finding the Bramble Harp), field 450005200 +sm.startQuest(parentID) +sm.lockInGameUI(True, False) +sm.removeAdditionalEffect() +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(3003301) # Small Spirit +sm.sendNext("#face5#(Sniffs) I told myself I was done crying...") +sm.zoomCamera(1000, 1500, 1000, 400, 50) +sm.sendDelay(1000) +sm.sendNext("#face4#But the tears won't stop coming...") +sm.zoomCamera(2000, 2000, 2000, 800, 80) +sm.sendDelay(2000) +sm.setParam(57) +sm.sendNext("#b(The trail of light is back again... Is it trying to lead us somewhere?)#k") +sm.zoomCamera(1500, 2000, 1500, 900, 80) +sm.sendDelay(1500) +sm.sendNext("#b(But that's back towards all the corrupted spirits...)#k") +sm.zoomCamera(3000, 1000, 3000, 400, -50) +sm.sendDelay(3000) +sm.sendNext("Small Spirit, we should follow that trail of lights. It's led us this far...") +sm.moveCamera(True, 0, 0, 0) +sm.lockInGameUI(False, True) +sm.warp(450005220) diff --git a/scripts/quest/q34467e.py b/scripts/quest/q34467e.py new file mode 100755 index 0000000..12b7cbb --- /dev/null +++ b/scripts/quest/q34467e.py @@ -0,0 +1,16 @@ +# id 34467 ([Arcana] Reviving the Bramble Harp 1), field 940200216 +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(3003301) # Small Spirit +sm.sendNext("#face1#You gathered the Deathcries! Let's smash them over on this side of the tree...") +sm.completeQuestNoCheck(parentID) +sm.lockInGameUI(True, False) +sm.removeAdditionalEffect() +sm.sendDelay(600) +sm.playExclSoundWithDownBGM("Mob.img/8644005/Die", 100) +sm.sendDelay(1500) +sm.sendNext("#face6#....") +sm.sendDelay(1000) +sm.sendNext("#face6#It didn't work. #b(Sighs)#k\r\nIt looks like the noise wasn't loud enough.") +sm.lockInGameUI(False, True) diff --git a/scripts/quest/q34468e.py b/scripts/quest/q34468e.py new file mode 100755 index 0000000..b1bcd27 --- /dev/null +++ b/scripts/quest/q34468e.py @@ -0,0 +1,20 @@ +# id 34468 ([Arcana] Reviving the Bramble Harp 2), field 940200216 +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(3003301) # Small Spirit +sm.sendNext("#face1#You brought the Volatile Shrieks! Quickly, place them on this side of the tree...") +sm.completeQuestNoCheck(parentID) +sm.lockInGameUI(True, False) +sm.removeAdditionalEffect() +sm.sendDelay(600) +sm.playExclSoundWithDownBGM("Mob.img/8644006/Die", 100) +sm.sendDelay(1500) +sm.sendNext("#face2#Yes, yes, it worked! Now that the tree is out of the way, when the stars begin to shine--") +sm.sendDelay(1000) +sm.setInnerOverrideSpeakerTemplateID(3003309) # Tree Spirits +sm.sendNext("#face0#What are you up to now?!") +sm.sendSay("#face0#Whatever you're doing, stop it right now!") +sm.setInnerOverrideSpeakerTemplateID(3003301) # Small Spirit +sm.sendSay("#face1#Uh oh... those shrieks got the attention of the Tree Spirits...") +sm.lockInGameUI(False, True) diff --git a/scripts/quest/q34469s.py b/scripts/quest/q34469s.py new file mode 100755 index 0000000..2add5a8 --- /dev/null +++ b/scripts/quest/q34469s.py @@ -0,0 +1,3 @@ +# id 34469 ([Arcana] The Song of the Bramble Harp), field 940200216 +sm.startQuest(parentID) +sm.warp(940200219) diff --git a/scripts/quest/q34470e.py b/scripts/quest/q34470e.py new file mode 100755 index 0000000..cc0cdbc --- /dev/null +++ b/scripts/quest/q34470e.py @@ -0,0 +1,42 @@ +# id 34470 ([Arcana] What the Trees Saw), field 940200216 +sm.lockInGameUI(True, False) +sm.setSpeakerType(3) +sm.setParam(57) +sm.setColor(1) +sm.sendNext("#b(You asked about the stranger with the terrible aura.)#k") +sm.setParam(37) +sm.setInnerOverrideSpeakerTemplateID(3003310) # Lost Tree Spirit +sm.sendSay("#face0#Curious, are you? Then I'll tell you. But... it is a painful memory.") +sm.sendSay("#face0#It was on a day so quiet, even the winds were still.") +sm.blind(True, 255, 0, 0, 0, 500) +sm.sendDelay(500) +sm.sendNext("#face0#We Tree Spirits were tending to the trees, like any other day.") +sm.onLayer(1000, "00", 0, -80, 12, "Effect/Direction19.img/effect/arcana/3", 4, True, -1, False) +sm.sendSay("#face0#But then we felt an aura of immense evil enter the forest. It was calm, but so very powerful...") +sm.sendSay("#face0#Our first instinct was to hide, and we watched in silence.") +sm.offLayer(1000, "00", False) +sm.onLayer(1000, "01", 0, -80, 12, "Effect/Direction19.img/effect/arcana_disappear/0", 4, True, -1, False) +sm.onLayer(1000, "02", 0, -80, 12, "Effect/Direction19.img/effect/arcana_disappear/1", 4, True, -1, False) +sm.onLayer(1000, "03", 0, -80, 12, "Effect/Direction19.img/effect/arcana_disappear/2", 4, True, -1, False) +sm.onLayer(1000, "04", 0, -80, 12, "Effect/Direction19.img/effect/arcana_disappear/3", 4, True, -1, False) +sm.onLayer(1000, "05", 0, -80, 12, "Effect/Direction19.img/effect/arcana_disappear/4", 4, True, -1, False) +sm.onLayer(1000, "06", 0, -80, 12, "Effect/Direction19.img/effect/arcana_disappear/5", 4, True, -1, False) +sm.onLayer(1000, "07", 0, -80, 12, "Effect/Direction19.img/effect/arcana_disappear/6", 4, True, -1, False) +sm.sendSay("#face0#The trees, flowers, grass, and rocks of the forest... Everything in the strangers wake vanished, transformed into something else.") +sm.sendSay("#face0#...All from coming into contact with that stranger's aura.") +sm.sendSay("#face0#She was only walking by, but in an instant it was all gone...") +sm.sendSay("#face0#Others followed behind her... I don't remember how many. I was too consumed by fear.") +sm.sendSay("#face0#That's all we saw. Just thinking about that day brings back so many terrible feelings. Fear, anger, helplessness...") +sm.offLayer(300, "01", False) +sm.offLayer(300, "02", False) +sm.offLayer(300, "03", False) +sm.offLayer(300, "04", False) +sm.offLayer(300, "05", False) +sm.offLayer(300, "06", False) +sm.offLayer(300, "07", False) +sm.blind(True, 255, 0, 0, 0, 0) +sm.sendDelay(1200) +sm.blind(False, 0, 0, 0, 0, 1000) +sm.sendDelay(1400) +sm.sendDelay(500) +sm.lockInGameUI(False, True) diff --git a/scripts/quest/q34472s.py b/scripts/quest/q34472s.py new file mode 100755 index 0000000..88a4ef3 --- /dev/null +++ b/scripts/quest/q34472s.py @@ -0,0 +1,4 @@ +# id 34472 ([Arcana] Under the Lagoon), field 450005300 +sm.setSpeakerID(3003336) # Small Spirit +res = sm.sendAskAccept("Maybe if we break that big rock, it'll restore the flow of water?") +sm.warp(940200255) diff --git a/scripts/quest/q34473s.py b/scripts/quest/q34473s.py new file mode 100755 index 0000000..45bb9da --- /dev/null +++ b/scripts/quest/q34473s.py @@ -0,0 +1,3 @@ +# id 34473 ([Arcana] We Wee Spirits), field 450005400 +sm.startQuest(parentID) +sm.warp(940200213) diff --git a/scripts/quest/q34474s.py b/scripts/quest/q34474s.py new file mode 100755 index 0000000..2504f94 --- /dev/null +++ b/scripts/quest/q34474s.py @@ -0,0 +1,11 @@ +# id 34474 ([Arcana] Wock Spiwit Wescue), field 450005400 +sm.startQuest(parentID) +sm.startQuest(34480) +sm.startQuest(34481) +sm.startQuest(34482) +sm.startQuest(34483) +sm.startQuest(34484) +sm.startQuest(34485) +sm.startQuest(34486) +sm.createQuestWithQRValue(parentID, "fin=0") +sm.warp(940200250) diff --git a/scripts/quest/q34475e.py b/scripts/quest/q34475e.py new file mode 100755 index 0000000..24e68bc --- /dev/null +++ b/scripts/quest/q34475e.py @@ -0,0 +1,48 @@ +# id 34475 ([Arcana] Between a Rock Spirit and a Hard Place), field 450005400 +sm.completeQuestNoCheck(parentID) +sm.startQuest(34488) +sm.lockInGameUI(True, False) +sm.removeAdditionalEffect() +sm.blind(True, 255, 0, 0, 0, 0) +sm.spawnNpc(3003351, -1250, 120) +sm.showNpcSpecialActionByTemplateId(3003351, "summon", 0) +sm.showNpcSpecialActionByTemplateId(3003351, "stand2", -1) +sm.forcedFlip(True) +sm.sendDelay(300) +sm.blind(False, 0, 0, 0, 0, 300) +sm.sendDelay(300) +sm.sendDelay(900) +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(3003301) # Small Spirit +sm.sendNext("#face0#Am I imagining things, or is the ground shaking?") +sm.forcedFlip(True) +sm.sendDelay(600) +sm.forcedFlip(True) +sm.sendDelay(600) +sm.setParam(57) +sm.sendNext("#b(The ground is definitely shaking... What's going on?)#k") +sm.setParam(37) +sm.setInnerOverrideSpeakerTemplateID(3003302) # Wind Spirit +sm.sendSay("#face0#The plump one cries, and we must fly. We should depart, immediately.") +sm.resetNpcSpecialActionByTemplateId(3003351) +sm.showNpcSpecialActionByTemplateId(3003351, "wind2", 0) +sm.playSound("Sound/SoundEff.img/ArcaneRiver/wind", 100) +sm.sendDelay(1000) +sm.forcedMove(True, 100) +sm.sendDelay(2000) +sm.sendNext("#face0#The Spirit Tree sings a pained and mournful tune~") +sm.setInnerOverrideSpeakerTemplateID(3003301) # Small Spirit +sm.sendSay("#face7#No... What's happened to the Spirit Tree?!") +sm.resetNpcSpecialActionByTemplateId(3003351) +sm.showNpcSpecialActionByTemplateId(3003351, "wind3", 0) +sm.playSound("Sound/SoundEff.img/ArcaneRiver/wind", 100) +sm.sendDelay(2400) +sm.sendNext("#face7#We have to hurry!") +sm.setInnerOverrideSpeakerTemplateID(3003314) # Rock Spirit +sm.sendSay("#face0#The Spiwit Twee's in twouble!?") +sm.forcedFlip(True) +sm.sendDelay(600) +sm.sendNext("#face0#I have an idea!") +sm.lockInGameUI(False, True) diff --git a/scripts/quest/q34475s.py b/scripts/quest/q34475s.py new file mode 100755 index 0000000..c7a0e7e --- /dev/null +++ b/scripts/quest/q34475s.py @@ -0,0 +1,3 @@ +# id 34475 ([Arcana] Between a Rock Spirit and a Hard Place), field 450005400 +sm.startQuest(parentID) +sm.warp(940200212) diff --git a/scripts/quest/q34476s.py b/scripts/quest/q34476s.py new file mode 100755 index 0000000..511d2ec --- /dev/null +++ b/scripts/quest/q34476s.py @@ -0,0 +1,4 @@ +# id 34476 ([Arcana] The Sickly Spirit Tree), field 450005400 +sm.setSpeakerID(3003314) # Rock Spirit +res = sm.sendAskAccept("Fowwoe me! I know a showtcut!") +sm.warp(940200300) diff --git a/scripts/quest/q34477s.py b/scripts/quest/q34477s.py new file mode 100755 index 0000000..b9e17d1 --- /dev/null +++ b/scripts/quest/q34477s.py @@ -0,0 +1,14 @@ +# id 34477 ([Arcana] The Evil Within), field 450005000 +sm.setSpeakerType(3) +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(3003350) # Small Spirit +sm.sendNext("(Sobs) The Spirit Tree has been completely engulfed by the evil aura! I don't understand... We revived the Songblooms! The tree should have been restored. Why is this happening?") +sm.sendSay("Ahh! The evil in the tree... It feels like it's trying to spread!") +sm.setSpeakerType(4) +sm.setSpeakerID(3003306) # Small Spirit +sm.setParam(2) +res = sm.sendAskAccept("#b(There are no other options left. Will you confront the evil infecting the Spirit Tree?)#k") +sm.setParam(3) +sm.sendNext("#b(The Spirit Tree is coursing with evil energy... this can't be good.)#k") +sm.createQuestWithQRValue(34451, "clearB=0;clear=1") +sm.warp(940200260) diff --git a/scripts/quest/q34515s.py b/scripts/quest/q34515s.py new file mode 100755 index 0000000..64a607c --- /dev/null +++ b/scripts/quest/q34515s.py @@ -0,0 +1,37 @@ +# [Maplerunner] It's Maplerunner! +# Author: shavit + +TWO_PUNCH_CAT = 9070200 +FOREST_OF_TENACITY_LOBBY = 993001000 + +# Settings +sm.setSpeakerID(TWO_PUNCH_CAT) +sm.flipDialogue() +sm.setBoxChat() + +sm.sendNext("Hey, you! I found you!") + +sm.sendNext("I've been searching high and low for you! " + "Word is already starting to trickle out about you. " + "You know, the part about you really being a goat in a human's body.") + +sm.sendNext("But I know you don't want that to spread like wildfire, so I'll keep it a secret!") + +sm.sendNext("Anyway, there are a whole lot of animals in the Forest of Tenacity that wish to be half as amazing as you are. " + "They're talented, sure, but...") + +sm.sendNext("They NEED proper guidance!") + +if not sm.sendAskYesNo("I figured if anyone can help them, you can. " + "So, how 'bout it? Interested in helping out? " + "If you are, let me know, and I'll guide you to the Forest of Tenacity."): + sm.sendSay("Well, that's unfortunate. " + "Please talk to me when you can help the animals in the Forest of Tenacity.") + sm.dispose() + +sm.sendNext("That's what I like to hear! " + "Then I'll guide you the Forest of Tenacity. " + "We'll discuss the details after that.") + +sm.warp(FOREST_OF_TENACITY_LOBBY) +sm.completeQuestNoRewards(parentID) \ No newline at end of file diff --git a/scripts/quest/q34601s.py b/scripts/quest/q34601s.py new file mode 100755 index 0000000..5853004 --- /dev/null +++ b/scripts/quest/q34601s.py @@ -0,0 +1,61 @@ +# id 34601 (), field 940200502 +sm.lockInGameUI(True, False) +sm.removeAdditionalEffect() +sm.showFadeTransition(0, 1000, 3000) +sm.zoomCamera(0, 1000, 2147483647, 2147483647, 2147483647) +sm.moveCamera(True, 0, 0, 0) +sm.sendDelay(300) +sm.removeOverlapScreen(1000) +sm.forcedFlip(True) +sm.zoomCamera(0, 2000, 0, 484, 100) +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(3001260) +sm.sendNext("#face0#Bahaha, the look on his face! He just tossed his wallet and ran. Boy it feels good to be bad!") +sm.playExclSoundWithDownBGM("Voice3.img/cadena/Q1/Male/9", 128) +sm.sendSay("#face0#Here, everybody take your cuts so I can stop staring at your ugly mugs and get outta here.") +sm.playExclSoundWithDownBGM("Voice3.img/cadena/Q1/Male/10", 128) +sm.sendSay("#face0#...") +sm.sendSay("#face0#Hey, you! What're you looking at? You'd better get lost if you know what's good for ya.") +sm.playExclSoundWithDownBGM("Voice3.img/cadena/Q1/Male/11", 128) +sm.setInnerOverrideSpeakerTemplateID(3001271) +sm.sendSay("#face3#Hah. That's a pretty good joke.") +sm.playExclSoundWithDownBGM("Voice3.img/cadena/Q1/Male/0", 128) +sm.setInnerOverrideSpeakerTemplateID(3001260) +sm.sendSay("#face0#You lookin' to start something, pal?") +sm.playExclSoundWithDownBGM("Voice3.img/cadena/Q1/Male/12", 128) +sm.setInnerOverrideSpeakerTemplateID(3001271) +sm.sendSay("#face3#I came here looking for somebody tough to fight, but there's no one around but you wimps. I guess it's just another night of disappointment.") +sm.playExclSoundWithDownBGM("Voice3.img/cadena/Q1/Male/1", 128) +sm.sendSay("#face3#Ah well. I guess I'll just have to find a way to entertain myself.") +sm.playExclSoundWithDownBGM("Voice3.img/cadena/Q1/Male/2", 128) +sm.forcedAction(1532, 0) +sm.showEffect("Skill/6002.img/skill/60021279/effect", 0, 0, 0, 0, 0, 0, 0) +sm.showEffect("Skill/6002.img/skill/60021279/hit", 0, 700, -90, 0, 0, 0, 0) +sm.playSound("Sound/Skill.img/60021279/Use", 100) +sm.playSound("Sound/Skill.img/60021279/Hit", 100) +sm.sendDelay(1500) +sm.setInnerOverrideSpeakerTemplateID(3001260) +sm.sendNext("#face0#Nice shot kid, you missed me by a mile. Why don't you take your toy, and... Hey wait a sec, WHERE'S MY LOOT?!") +sm.playExclSoundWithDownBGM("Voice3.img/cadena/Q1/Male/13", 128) +sm.setInnerOverrideSpeakerTemplateID(3001271) +sm.sendSay("#face2#Hahaha. Oh, was this yours? I'm sorry. Maybe you should've kept better hold of it.") +sm.playExclSoundWithDownBGM("Voice3.img/cadena/Q1/Male/3", 128) +sm.sendSay("#face3#I'd be happy to give it back to you, if you can beat me in a fight! Hahaha... So you know, never.") +sm.playExclSoundWithDownBGM("Voice3.img/cadena/Q1/Male/4", 128) +sm.setInnerOverrideSpeakerTemplateID(3001260) +sm.sendSay("#face0#I'VE HAD ENOUGH OF YOUR LIP, PAL! C'mon boys, let's teach 'em a lesson!") +sm.playExclSoundWithDownBGM("Voice3.img/cadena/Q1/Male/14", 128) +sm.showFadeTransition(0, 1000, 3000) +sm.zoomCamera(0, 1000, 2147483647, 2147483647, 2147483647) +sm.moveCamera(True, 0, 0, 0) +sm.sendDelay(300) +sm.removeOverlapScreen(1000) +sm.moveCamera(True, 0, 0, 0) +sm.lockInGameUI(False, True) +sm.setInnerOverrideSpeakerTemplateID(3001271) +res = sm.sendAskAccept("#face3##bHah. Big mistake. Time to teach these guys a lesson.#k") +sm.playExclSoundWithDownBGM("Voice3.img/cadena/Q1/Male/15", 128) +sm.warp(940200600) +sm.startQuest(34601) diff --git a/scripts/quest/q34603s.py b/scripts/quest/q34603s.py new file mode 100755 index 0000000..3e91580 --- /dev/null +++ b/scripts/quest/q34603s.py @@ -0,0 +1,6 @@ +# id 34603 (), field 402000002 +sm.setSpeakerID(3001202) +sm.sendNext("Looks like you picked up a couple of nasty cuts in that fight earlier. I suppose that's punishment enough. We'll skip the lecture.\r\n") +sm.sendSay("Here, treat it with this medicine.\r\n") +sm.giveItem(2437264) +sm.startQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q34656s.py b/scripts/quest/q34656s.py new file mode 100755 index 0000000..15a1916 --- /dev/null +++ b/scripts/quest/q34656s.py @@ -0,0 +1,16 @@ +# id 34656 (First Fighting Tactic, 1st job cadena advancement), field 402000001 +sm.setSpeakerID(3001200) +if chr.getJob() == 6002: + sm.sendNext("The treatment worked well for you, which means you're ready to learn Shadowdealer skills and techniques. Welcome to the branch.") + sm.sendSay("You've done well as my apprentice. You're strong, and you have incredible talent for combat. Keep practicing the techniques I've shown you, and you'll get even stronger.") + sm.setJob(6400) + sm.setSTR(4) + sm.setINT(4) + sm.setDEX(4) + sm.setLUK(4) + sm.setAP(4 + chr.getLevel() * 5) + sm.addSP(3) + sm.addMaxHP(350) + sm.addMaxMP(200) + sm.giveAndEquip(1353300) + sm.completeQuestNoCheck(parentID) \ No newline at end of file diff --git a/scripts/quest/q34657s.py b/scripts/quest/q34657s.py new file mode 100755 index 0000000..b2a83b3 --- /dev/null +++ b/scripts/quest/q34657s.py @@ -0,0 +1,16 @@ +# 34657 (Second Fighting Tactic, Cadena 2nd job adv) +sm.setSpeakerID(3001200) # Gen +if chr.getJob() == 6400: + sm.sendNext("Now that I've taught you, you're completing missions in record time. Well done.") + sm.sendSay("At first, I wasn't sure you took this seriously, but it looks like I was wrong.") + sm.sendSay("You seem pretty comfortable with that skill, so let's move on to the second battle skill.") + # add stats + sm.setJob(6410) + sm.addAP(5) + sm.addSP(7) + sm.addMaxHP(350) + sm.addMaxMP(200) + sm.sendNext("These skills are a lot more challenging, but I'm sure you can handle 'em.") + sm.sendSay("I think you've improved enough to handle more dangerous missions now. Open your skill window (K) and take a look.") + sm.sendSayOkay("Keep practicing and getting experience to keep your skills in top shape.") + sm.completeQuestNoCheck(parentID) \ No newline at end of file diff --git a/scripts/quest/q34658s.py b/scripts/quest/q34658s.py new file mode 100755 index 0000000..cbbad47 --- /dev/null +++ b/scripts/quest/q34658s.py @@ -0,0 +1,14 @@ +# 34658 (Third Fighting Tactic, Cadena 3rd job adv) +sm.setSpeakerID(3001200) # Gen +if chr.getJob() == 6410: + sm.sendNext("Now that I've taught you further, even difficult missions are cleared without issue.") + sm.sendSay("You seem pretty comfortable with your current skill set, so let's move on to the third battle skill. This will be the last time I will be teaching you.") + # add stats + sm.setJob(6411) + sm.addAP(5) + sm.addSP(7) + sm.addMaxHP(350) + sm.addMaxMP(200) + sm.sendNext("These skills even more challenging, but I'm sure you can handle 'em.") + sm.sendSayOkay("Keep practicing and getting experience to keep your skills in top shape.") + sm.completeQuestNoCheck(parentID) \ No newline at end of file diff --git a/scripts/quest/q34659s.py b/scripts/quest/q34659s.py new file mode 100755 index 0000000..5f3e11d --- /dev/null +++ b/scripts/quest/q34659s.py @@ -0,0 +1,15 @@ +# 34658 (Fourth Fighting Tactic, Cadena 4th job adv) +sm.setPlayerAsSpeaker() +if chr.getJob() == 6411: + sm.sendNext("Well, those skills the Chief taught me are perfect now.") + sm.sendSay("Guess it's time to start getting creative and come up with some new skills.") + sm.sendSay("This is good... and this would help here... it's coming together nicely.") + # add stats + sm.setJob(6412) + sm.addAP(5) + sm.addSP(5) + sm.addMaxHP(350) + sm.addMaxMP(200) + sm.sendNext("Yes! The first skill unique to me is done! Chief is gonna be blown away.") + sm.sendSayOkay("Let's test this bad boy out. Time to open the skill window (K) and take a look.") + sm.completeQuestNoCheck(parentID) \ No newline at end of file diff --git a/scripts/quest/q34801e.py b/scripts/quest/q34801e.py new file mode 100755 index 0000000..e2eb916 --- /dev/null +++ b/scripts/quest/q34801e.py @@ -0,0 +1,21 @@ +# id 34801 (Collecting Parts), field 940203000 +sm.completeQuestNoCheck(parentID) +sm.createQuestWithQRValue(parentID, "hunt1=1;exp=1") +sm.startQuest(11620) +sm.startQuest(11620) +sm.startQuest(11620) +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(3001300) # Ex +sm.sendNext("#face0#Perfect! Now, let's move on and gather more.") +sm.createQuestWithQRValue(16700, "count=33;date=20190221") +sm.createQuestWithQRValue(16700, "count=34;date=20190221") +sm.createQuestWithQRValue(16700, "count=35;date=20190221") +sm.createQuestWithQRValue(16700, "count=36;date=20190221") +sm.createQuestWithQRValue(16700, "count=37;date=20190221") +sm.createQuestWithQRValue(16700, "count=38;date=20190221") +sm.createQuestWithQRValue(16700, "count=39;date=20190221") +sm.createQuestWithQRValue(16700, "count=40;date=20190221") +sm.lockInGameUI(False, True) +sm.createQuestWithQRValue(16027, "ComboK=19") diff --git a/scripts/quest/q34802e.py b/scripts/quest/q34802e.py new file mode 100755 index 0000000..f87f13f --- /dev/null +++ b/scripts/quest/q34802e.py @@ -0,0 +1,20 @@ +# id 34802 (Collect Grossular), field 402000526 +sm.setSpeakerType(3) +sm.setParam(36) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(3001302) # Professor Kalsat +sm.sendNext("#face0#Late on the first day. That's not an encouraging start.") +sm.setParam(37) +sm.setInnerOverrideSpeakerTemplateID(3001350) # Illium +sm.sendSay("#face0#Well, I...") +sm.setInnerOverrideSpeakerTemplateID(3001302) # Professor Kalsat +sm.sendSay("#face0#Don't let it happen again.") +sm.completeQuestNoCheck(parentID) +sm.createQuestWithQRValue(parentID, "class1=1;out=2;exp=1") +sm.startQuest(11620) +sm.createQuestWithQRValue(15710, "lasttime=19/02/21/16/06") +sm.startQuest(11620) +sm.setInnerOverrideSpeakerTemplateID(3001300) # Ex +sm.sendSay("#face0#Hm...") +sm.sendSay("#face0#Your next class will teach you magical combat.") +sm.lockInGameUI(False, True) diff --git a/scripts/quest/q34802s.py b/scripts/quest/q34802s.py new file mode 100755 index 0000000..4d99133 --- /dev/null +++ b/scripts/quest/q34802s.py @@ -0,0 +1,100 @@ +# id 34802 (Collect Grossular), field 402000526 +sm.lockInGameUI(True, False) +sm.removeAdditionalEffect() +sm.showFadeTransition(0, 1000, 3000) +sm.zoomCamera(500, 1000, 500, 50, -70) +sm.sendDelay(500) +sm.sendDelay(500) +sm.forcedFlip(True) +sm.spawnNpc(3001300, 602, -140) +sm.showNpcSpecialActionByTemplateId(3001300, "summon", 0) +sm.removeOverlapScreen(1000) +sm.sendDelay(500) +sm.sendDelay(3000) +sm.createFieldTextEffect("#fnᄈᆰᄡᆴᄚ■ᄉ￱ ExtraBold##fs18#First Class: Understanding the Mytocrystal", 20, 2200, 6, -50, -50, 1, 4, 0, 0, 0) +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(3001302) # Professor Kalsat +sm.sendNext("#face0#Let's begin, class.") +sm.sendSay("#face0#The #bmytocrystals#k of Grandis have been an important resource for our people since the ancient times.") +sm.sendSay("#face0#The Flora became rulers of Grandis due to our superior ability to extract and use mana from the mytocrystals.") +sm.sendSay("#face0#You'll learn more in history class. For now, we'll learn about the various types of mytocrystals that give us power.") +sm.setMapTaggedObjectVisible("c1_appear", True, 0, 0) +sm.playSound("Sound/SoundEff.img/illium/classroom_crystal", 100) +sm.sendDelay(500) +sm.sendDelay(500) +sm.setMapTaggedObjectVisible("c1_loop", True, 0, 0) +sm.setMapTaggedObjectVisible("c1_appear", False, 0, 0) +sm.sendDelay(100) +sm.sendDelay(500) +sm.sendNext("#face0#Can anyone tell me the name of this beautiful green mytocrystal?") +sm.setInnerOverrideSpeakerTemplateID(3001350) # Illium +sm.sendSay("#face0##fs12#Grossular.") +sm.setInnerOverrideSpeakerTemplateID(3001300) # Ex +sm.sendSay("#face0#Speak up, Sir.") +sm.setInnerOverrideSpeakerTemplateID(3001302) # Professor Kalsat +sm.sendSay("#face0#Dean?") +sm.setInnerOverrideSpeakerTemplateID(3001307) # Dean +sm.sendSay("#face3#It's #bgrossular#k!") +sm.setInnerOverrideSpeakerTemplateID(3001302) # Professor Kalsat +sm.sendSay("#face0#What else do you know about it?") +sm.setInnerOverrideSpeakerTemplateID(3001307) # Dean +sm.sendSay("#face3#Uh... umm...") +sm.sendSay("#face1#Well...") +sm.setInnerOverrideSpeakerTemplateID(3001302) # Professor Kalsat +sm.sendSay("#face0#Anyone else?") +sm.sendSay("#face0##bGrossular#k is found deep within forested areas. It's used to treat wounds and recover health.") +sm.setMapTaggedObjectVisible("c2_appear", True, 0, 0) +sm.playSound("Sound/SoundEff.img/illium/classroom_crystal", 100) +sm.sendDelay(500) +sm.sendDelay(500) +sm.setMapTaggedObjectVisible("c2_loop", True, 0, 0) +sm.setMapTaggedObjectVisible("c2_appear", False, 0, 0) +sm.sendDelay(100) +sm.sendDelay(500) +sm.sendNext("#face0#What about this beautiful, deep red mytocrystal? Anyone?") +sm.setInnerOverrideSpeakerTemplateID(3001350) # Illium +sm.sendSay("#face0##fs12#Pyrope.") +sm.setInnerOverrideSpeakerTemplateID(3001300) # Ex +sm.sendSay("#face2#Louder, Sir.") +sm.setInnerOverrideSpeakerTemplateID(3001302) # Professor Kalsat +sm.sendSay("#face0#Carnelian?") +sm.setInnerOverrideSpeakerTemplateID(3001308) # Carnelian +sm.sendSay("#face0##bPyrope#k boasts explosive power, but it's more difficult to extract mana from it.") +sm.setInnerOverrideSpeakerTemplateID(3001302) # Professor Kalsat +sm.sendSay("#face0#Very good. Next...") +sm.setMapTaggedObjectVisible("c3_appear", True, 0, 0) +sm.playSound("Sound/SoundEff.img/illium/classroom_crystal", 100) +sm.sendDelay(500) +sm.sendDelay(500) +sm.setMapTaggedObjectVisible("c3_loop", True, 0, 0) +sm.setMapTaggedObjectVisible("c3_appear", False, 0, 0) +sm.sendDelay(100) +sm.sendDelay(500) +sm.sendNext("#face0#What about this one?") +sm.setInnerOverrideSpeakerTemplateID(3001300) # Ex +sm.sendSay("#face0##fs24##bObsidian!#k") +sm.setInnerOverrideSpeakerTemplateID(3001307) # Dean +sm.sendSay("#face2#Whoa!") +sm.setInnerOverrideSpeakerTemplateID(3001300) # Ex +sm.sendSay("#face0#The dark mytocrystal, obsidian, is difficult to find and holds dark magical energy. If you find one, you should take extra care with this dangerous crystal.") +sm.setInnerOverrideSpeakerTemplateID(3001350) # Illium +sm.sendSay("#face3#Uh, Ex?") +sm.setInnerOverrideSpeakerTemplateID(3001302) # Professor Kalsat +sm.sendSay("#face0#Correct! What a fascinating robot.") +sm.setSpeakerType(4) +sm.setSpeakerID(3001332) # Professor Kalsat +res = sm.sendAskAccept("#face0#Who's ready for some practical application? Spend the remainder of the class gathering #b10 #i4036163# #t4036163# items#k! What do you say?") +sm.startQuest(parentID) +sm.setSpeakerType(3) +sm.sendNext("#face0#You'll find #b#i4036163# #t4036163##k items with #r#o2400400##k monsters. Is everyone ready? I'll teleport all of you at once. Let's see who returns first!") +sm.setInnerOverrideSpeakerTemplateID(3001300) # Ex +sm.sendSay("#face0#I recommend #busing the Maple Guide#k when you return.") +sm.showFadeTransition(0, 1000, 3000) +sm.zoomCamera(0, 1000, 2147483647, 2147483647, 2147483647) +sm.moveCamera(True, 0, 0, 0) +sm.sendDelay(300) +sm.removeOverlapScreen(1000) +sm.lockInGameUI(False, True) +sm.warp(402000512) diff --git a/scripts/quest/q34803e.py b/scripts/quest/q34803e.py new file mode 100755 index 0000000..2a3936c --- /dev/null +++ b/scripts/quest/q34803e.py @@ -0,0 +1,20 @@ +# id 34803 (Combat Training), field 402000527 +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(3001303) # Professor Andrada +sm.sendNext("#face0#I think that's enough combat. You didn't meet your quota, but that'll have to do for today.") +sm.setInnerOverrideSpeakerTemplateID(3001350) # Illium +sm.sendSay("#face0#Okay...") +sm.setInnerOverrideSpeakerTemplateID(3001303) # Professor Andrada +sm.sendSay("#face0#See you next time.") +sm.completeQuestNoCheck(parentID) +sm.createQuestWithQRValue(parentID, "kc=22;exp=1") +sm.startQuest(11620) +sm.createQuestWithQRValue(15710, "lasttime=19/02/21/16/09") +sm.startQuest(11620) +sm.startQuest(11620) +sm.setInnerOverrideSpeakerTemplateID(3001300) # Ex +sm.sendSay("#face0#Hm...") +sm.sendSay("#face0#I'll guide you to the next classroom.") +sm.lockInGameUI(False, True) diff --git a/scripts/quest/q34803s.py b/scripts/quest/q34803s.py new file mode 100755 index 0000000..03e51fd --- /dev/null +++ b/scripts/quest/q34803s.py @@ -0,0 +1,14 @@ +# id 34803 (Combat Training), field 402000527 +sm.setSpeakerType(3) +sm.setParam(36) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(3001303) # Professor Andrada +sm.sendNext("#face0#Now that everyone seems to have learned the basics, let's get into full-scale combat training.") +sm.setParam(37) +sm.sendSay("#face0#Proceed to the combat training room and eliminate the#r practice robots#k.") +sm.setSpeakerType(4) +sm.setSpeakerID(3001333) # Professor Andrada +res = sm.sendAskAccept("#face0#I'll consider your day's coursework complete when you have defeated #b20#k.") +sm.startQuest(parentID) +sm.setSpeakerType(3) +sm.sendNext("#face0#If you're ready, enter the combat training room behind me and eliminate the #rpractice robots#k.") diff --git a/scripts/quest/q34804e.py b/scripts/quest/q34804e.py new file mode 100755 index 0000000..c34968b --- /dev/null +++ b/scripts/quest/q34804e.py @@ -0,0 +1,72 @@ +# id 34804 (Being Social), field 402000530 +sm.lockInGameUI(True, False) +sm.removeAdditionalEffect() +sm.blind(True, 255, 0, 0, 0, 450) +sm.sendDelay(500) +sm.forcedFlip(True) +sm.sendDelay(500) +sm.blind(False, 0, 0, 0, 0, 1000) +sm.sendDelay(1000) +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(3001300) # Ex +sm.sendNext("#face0#Every person in this room turned you down?") +sm.sendSay("#face1#I don't understand.") +sm.setInnerOverrideSpeakerTemplateID(3001350) # Illium +sm.sendSay("#face3#I'll have to try harder.") +sm.spawnNpc(3001307, -50, 53) +sm.showNpcSpecialActionByTemplateId(3001307, "summon", 0) +sm.zoomCamera(2000, 1500, 2000, 370, 0) +sm.moveNpcByTemplateId(3001307, False, 300, 150) +sm.sendDelay(2500) +sm.setInnerOverrideSpeakerTemplateID(3001307) # Dean +sm.sendNext("#face0#Hey, Morian!") +sm.setInnerOverrideSpeakerTemplateID(3001310) # Morian +sm.sendSay("#face0#Hi, Dean! ") +sm.setInnerOverrideSpeakerTemplateID(3001307) # Dean +sm.sendSay("#face0#Do you have a partner? ") +sm.setInnerOverrideSpeakerTemplateID(3001310) # Morian +sm.sendSay("#face1#Not yet! Want to team up? ") +sm.setInnerOverrideSpeakerTemplateID(3001307) # Dean +sm.sendSay("#face1#Nope. I've already got one. ") +sm.sendSay("#face1#I was just asking. See ya! ") +sm.setInnerOverrideSpeakerTemplateID(3001310) # Morian +sm.sendSay("#face2#Well, that wasn't very nice.") +sm.sendSay("#face3#I don't think I like his jokes much.") +sm.sendDelay(500) +sm.showFadeTransition(0, 1000, 3000) +sm.completeQuestNoCheck(34858) +sm.spawnNpc(3001310, 502, -105) +sm.showNpcSpecialActionByTemplateId(3001310, "summon", 0) +sm.removeOverlapScreen(1000) +sm.zoomCamera(1000, 1500, 1000, 370, -50) +sm.sendDelay(1500) +sm.sendNext("#face0#Hey, it looks like we're the last.") +sm.setInnerOverrideSpeakerTemplateID(3001350) # Illium +sm.sendSay("#face5#I think you're right.") +sm.setInnerOverrideSpeakerTemplateID(3001310) # Morian +sm.sendSay("#face0#We should team up. What do you say?") +sm.setInnerOverrideSpeakerTemplateID(3001350) # Illium +sm.sendSay("#face5#Actually, that would be really great! Thanks!") +sm.setInnerOverrideSpeakerTemplateID(3001310) # Morian +sm.sendSay("#face1#You're the new kid, right? I'm #bMorian#k. Welcome to our school!") +sm.setInnerOverrideSpeakerTemplateID(3001350) # Illium +sm.sendSay("#face5#Hi! I'm Illium.") +sm.forcedFlip(True) +sm.setInnerOverrideSpeakerTemplateID(3001300) # Ex +sm.sendSay("#face0#And I am Ex No. 13. Illium created me when he was 11 years old!") +sm.setInnerOverrideSpeakerTemplateID(3001350) # Illium +sm.sendSay("#face3#Take it easy, Ex. No need to tell our life story just yet.") +sm.showFadeTransition(0, 1000, 3000) +sm.zoomCamera(0, 1000, 2147483647, 2147483647, 2147483647) +sm.moveCamera(True, 0, 0, 0) +sm.sendDelay(300) +sm.removeOverlapScreen(1000) +sm.blind(False, 0, 0, 0, 0, 1000) +sm.sendDelay(1000) +sm.sendDelay(100) +sm.completeQuestNoCheck(parentID) +sm.sendDelay(100) +sm.createQuestWithQRValue(parentID, "gossip=1;NpcSpeech=30013141/30013152/30013163/30013174/30013185;exp=1") +sm.lockInGameUI(False, True) diff --git a/scripts/quest/q34804s.py b/scripts/quest/q34804s.py new file mode 100755 index 0000000..96bfbe2 --- /dev/null +++ b/scripts/quest/q34804s.py @@ -0,0 +1,20 @@ +# id 34804 (Being Social), field 402000530 +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(3001350) # Illium +sm.sendNext("#face3#I'm nervous, but... I've just got to focus on getting through the rest of my classes today, and then the real training can start.") +sm.setInnerOverrideSpeakerTemplateID(3001300) # Ex +sm.sendSay("#face0#You'll certainly improve much more quickly this way.") +sm.setInnerOverrideSpeakerTemplateID(3001350) # Illium +sm.sendSay("#face4#I couldn't have gotten here without you, Ex!") +sm.setInnerOverrideSpeakerTemplateID(3001300) # Ex +sm.sendSay("#face0#With your expertise, Sir, I'm sure you would have made it here eventually.") +sm.sendSay("#face0#However I do think it's important not to let your initial success go to your head. It may be beneficial for you to strike up some friendships among your classmates as well in the event you require study partners.") +sm.setInnerOverrideSpeakerTemplateID(3001350) # Illium +sm.sendSay("#face3#What? Uh... that's not really my area of expertise.") +sm.setInnerOverrideSpeakerTemplateID(3001300) # Ex +sm.sendSay("#face0#I have confidence in you.") +sm.setInnerOverrideSpeakerTemplateID(3001350) # Illium +sm.sendSay("#face3#I think I'd rather study...") +sm.startQuest(parentID) diff --git a/scripts/quest/q34805e.py b/scripts/quest/q34805e.py new file mode 100755 index 0000000..595c9ec --- /dev/null +++ b/scripts/quest/q34805e.py @@ -0,0 +1,17 @@ +# id 34805 (Making a Crystal Gate 1), field 402000530 +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(3001304) # Professor Citrine +sm.sendNext("#face0#It's nice to see you making an honest effort, but remember, I expect to see further improvement in the future.") +sm.completeQuestNoCheck(parentID) +sm.createQuestWithQRValue(parentID, "exp=1") +sm.startQuest(11620) +sm.createQuestWithQRValue(15710, "lasttime=19/02/21/16/19") +sm.setInnerOverrideSpeakerTemplateID(3001310) # Morian +sm.sendSay("#face0#That worked out great! Let's be partners next time too!") +sm.setInnerOverrideSpeakerTemplateID(3001350) # Illium +sm.sendSay("#face9#Okay! See you soon!") +sm.setInnerOverrideSpeakerTemplateID(3001300) # Ex +sm.sendSay("#face0#I'll guide you to the Headmistress's Office now that today's lessons are complete.") +sm.lockInGameUI(False, True) diff --git a/scripts/quest/q34805s.py b/scripts/quest/q34805s.py new file mode 100755 index 0000000..5da85c2 --- /dev/null +++ b/scripts/quest/q34805s.py @@ -0,0 +1,22 @@ +# id 34805 (Making a Crystal Gate 1), field 402000530 +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(3001304) # Professor Citrine +sm.sendNext("#face0#Let me know when you've found a partner, and I'll give you the assignment.") +sm.setInnerOverrideSpeakerTemplateID(3001300) # Ex +sm.sendSay("#face0#I will try to identify a good team matchup for you, Sir.") +sm.setInnerOverrideSpeakerTemplateID(3001350) # Illium +sm.sendSay("#face0#Thanks, Ex.") +sm.setSpeakerID(3001334) # Professor Citrine +sm.setParam(36) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(3001304) # Professor Citrine +if sm.sendAskAccept("#face0#Has everyone found a teammate?\r\nThen begin gathering 20 #i4036164# #t4036164# items, so you can craft your gates!"): + sm.startQuest(parentID) + sm.setSpeakerType(3) + sm.setParam(37) + sm.sendNext("#face0#Don't forget what you've learned! You can only get #i4036164# #b#t4036164##k items from #r#o2400401##k.\r\nI'll transport you now. Good luck!") + sm.setInnerOverrideSpeakerTemplateID(3001300) # Ex + sm.sendSay("#face0#I recommend #busing the Maple Guide#k when you return.") + sm.warp(402000519) \ No newline at end of file diff --git a/scripts/quest/q34806e.py b/scripts/quest/q34806e.py new file mode 100755 index 0000000..0a7ac33 --- /dev/null +++ b/scripts/quest/q34806e.py @@ -0,0 +1,16 @@ +# id 34806 (Special Activities), field 402000528 +sm.createQuestWithQRValue(parentID, "scene=1;item1=1;item2=1") +sm.completeQuestNoCheck(parentID) +sm.createQuestWithQRValue(parentID, "scene=1;item1=1;item2=1;exp=1") +sm.startQuest(11620) +sm.createQuestWithQRValue(15710, "lasttime=19/02/21/16/21") +sm.lockInGameUI(True, False) +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(3001301) # Agate +sm.sendNext("#face2#You'll need the potions I just gave you to stay strong. \r\nYou wouldn't want to run out of energy in the middle of a fight.") +sm.sendSay("#face1#Shall we begin?") +sm.blind(True, 255, 0, 0, 0, 500) +sm.sendDelay(500) +sm.warp(402000533) diff --git a/scripts/quest/q34806s.py b/scripts/quest/q34806s.py new file mode 100755 index 0000000..4ce6948 --- /dev/null +++ b/scripts/quest/q34806s.py @@ -0,0 +1,28 @@ +# id 34806 (Special Activities), field 402000528 +sm.setSpeakerType(3) +sm.setParam(36) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(3001301) # Agate +sm.sendNext("#face1#Hello, Illium! How was your class?") +sm.setParam(37) +sm.setInnerOverrideSpeakerTemplateID(3001350) # Illium +sm.sendSay("#face0#Headmistress Agate?!") +sm.setInnerOverrideSpeakerTemplateID(3001301) # Agate +sm.sendSay("#face2#Surprised? We can communicate through the lights like this. Isn't that convenient?") +sm.sendSay("#face0#I hear you had a rough start in your magical combat class today.") +sm.setInnerOverrideSpeakerTemplateID(3001350) # Illium +sm.sendSay("#face0#Well...") +sm.setInnerOverrideSpeakerTemplateID(3001301) # Agate +sm.sendSay("#face0#Don't be discouraged. No one masters it in one day.") +sm.sendSay("#face1#If you'd like to take private tutoring lessons after school, you may be able to catch up to the rest of your class.") +sm.setInnerOverrideSpeakerTemplateID(3001350) # Illium +sm.sendSay("#face0#Tutoring already?") +sm.setInnerOverrideSpeakerTemplateID(3001301) # Agate +sm.sendSay("#face1#Yes. Once you've finished class for the day, report to my office.") +sm.createQuestWithQRValue(parentID, "scene=1;item1=1") +sm.startQuest(parentID) +sm.sendSay("#face2#Those potions should get you through the rest of the day. Good luck!") +sm.setInnerOverrideSpeakerTemplateID(3001350) # Illium +sm.sendSay("#face0#Um... thanks, I think.") +sm.sendSay("#face0#Wow... Magic lessons from Headmistress Agate herself!") +sm.sendSay("#face0#How about that, Ex? I'll be an expert in no time!") diff --git a/scripts/quest/q34807e.py b/scripts/quest/q34807e.py new file mode 100755 index 0000000..a04bfe5 --- /dev/null +++ b/scripts/quest/q34807e.py @@ -0,0 +1,23 @@ +# id 34807 (Dean's Lost Stuff), field 402000532 +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(3001307) # Dean +sm.sendNext("#face1#You actually found my stuff! Thanks so much!") +sm.sendSay("#face1#I had no idea you were such a nice guy! A little weird, but nice!") +sm.sendSay("#face3#See you next time!") +sm.completeQuestNoCheck(parentID) +sm.createQuestWithQRValue(parentID, "exp=1;d2=1") +sm.startQuest(11620) +sm.createQuestWithQRValue(15710, "lasttime=19/02/21/16/26") +sm.startQuest(11620) +sm.lockInGameUI(True, False) +sm.setInnerOverrideSpeakerTemplateID(3001300) # Ex +sm.sendSay("#face0#Sir...") +sm.sendSay("#face0#Someone has tampered with the practice robots. No one at the Crystal Academy is safe.") +sm.setInnerOverrideSpeakerTemplateID(3001350) # Illium +sm.sendSay("#face0#...We should tell the Headmistress when we see her tomorrow.") +sm.blind(True, 255, 0, 0, 0, 500) +sm.sendDelay(500) +sm.lockInGameUI(False, True) +sm.warp(402000526) diff --git a/scripts/quest/q34807s.py b/scripts/quest/q34807s.py new file mode 100755 index 0000000..4bd2c48 --- /dev/null +++ b/scripts/quest/q34807s.py @@ -0,0 +1,17 @@ +# id 34807 (Dean's Lost Stuff), field 402000532 +sm.setSpeakerType(3) +sm.setParam(36) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(3001307) # Dean +sm.sendNext("#face2#Everyone else took off and left me here alone.") +sm.setParam(37) +sm.setInnerOverrideSpeakerTemplateID(3001350) # Illium +sm.sendSay("#face0#Well, I'm glad you're safe.") +sm.setSpeakerType(4) +sm.setSpeakerID(3001337) # Dean +sm.setInnerOverrideSpeakerTemplateID(3001307) # Dean +res = sm.sendAskAccept("#face2#I know it's asking a lot, but since you'll be eliminating all those broken robots anyway, would you collect my parts for me...?") +sm.startQuest(parentID) +sm.setSpeakerType(3) +sm.sendNext("#face1#Thank you so much! You'll find them through the#b left portal#k!") +sm.sendSay("#face1#If you eliminate #r#o2400409##k monsters, you'll find #i4036165# #bmy bag#k and #i4036166# #bmy book x10#k eventually! Thanks a lot!") diff --git a/scripts/quest/q34808e.py b/scripts/quest/q34808e.py new file mode 100755 index 0000000..f63271a --- /dev/null +++ b/scripts/quest/q34808e.py @@ -0,0 +1,18 @@ +# id 34808 (A Divine Festival 1), field 402000526 +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(3001305) # Professor Lutil +sm.sendNext("#face0#Well done, everyone! Be sure to display the sculptures you crafted in the town square at the end of the quarter. All of that hard work deserves to be admired!") +sm.completeQuestNoCheck(parentID) +sm.createQuestWithQRValue(parentID, "exp=1;d2=1") +sm.startQuest(11620) +sm.createQuestWithQRValue(15710, "lasttime=19/02/21/16/37") +sm.setInnerOverrideSpeakerTemplateID(3001310) # Morian +sm.sendSay("#face2#Oh! I just remembered I have another assignment!") +sm.sendSay("#face0#Great teamwork today! I'll see you later.") +sm.setInnerOverrideSpeakerTemplateID(3001350) # Illium +sm.sendSay("#face9#Okay! See you!") +sm.setInnerOverrideSpeakerTemplateID(3001300) # Ex +sm.sendSay("#face0#I'll guide you to your next class.") +sm.lockInGameUI(False, True) diff --git a/scripts/quest/q34808s.py b/scripts/quest/q34808s.py new file mode 100755 index 0000000..fb0d0b6 --- /dev/null +++ b/scripts/quest/q34808s.py @@ -0,0 +1,14 @@ +# id 34808 (A Divine Festival 1), field 402000526 +sm.setSpeakerID(3001335) # Professor Lutil +sm.setParam(36) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(3001300) # Ex +res = sm.sendAskAccept("#face0#To create your sculptures, you'll need #i4036167# #b#t4036167##k #bx20#k!") +sm.startQuest(parentID) +sm.setSpeakerType(3) +sm.setParam(37) +sm.setInnerOverrideSpeakerTemplateID(3001305) # Professor Lutil +sm.sendNext("#face0#You can only get #i4036167# #b#t4036167##k in #r#o2400402##k. I'll transport you now.") +sm.setInnerOverrideSpeakerTemplateID(3001300) # Ex +sm.sendSay("#face0#I recommend #busing the Maple Guide#k when you return.") +sm.warp(402000514) diff --git a/scripts/quest/q34809e.py b/scripts/quest/q34809e.py new file mode 100755 index 0000000..5482648 --- /dev/null +++ b/scripts/quest/q34809e.py @@ -0,0 +1,23 @@ +# id 34809 (A Stranger's Cries), field 402000513 +sm.setSpeakerType(3) +sm.setParam(36) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(3001350) # Illium +sm.sendNext("#face0#Carnelian...?") +sm.setParam(37) +sm.setInnerOverrideSpeakerTemplateID(3001308) # Carnelian +sm.sendSay("#face2#Sniff... Morian... Illium...") +sm.setInnerOverrideSpeakerTemplateID(3001350) # Illium +sm.sendSay("#face0#What happened?") +sm.setInnerOverrideSpeakerTemplateID(3001308) # Carnelian +sm.sendSay("#face2#Well... my crystal... sniffle...") +sm.completeQuestNoCheck(parentID) +sm.createQuestWithQRValue(parentID, "exp=1") +sm.startQuest(11620) +sm.createQuestWithQRValue(15710, "lasttime=19/02/21/16/30") +sm.setInnerOverrideSpeakerTemplateID(3001350) # Illium +sm.sendSay("#face0#It's okay, Carnelian. Just take a deep breath and tell us what's wrong.") +sm.createQuestWithQRValue(16700, "count=152;date=20190221") +sm.createQuestWithQRValue(16700, "count=153;date=20190221") +sm.createQuestWithQRValue(16700, "count=154;date=20190221") +sm.lockInGameUI(False, True) diff --git a/scripts/quest/q34809s.py b/scripts/quest/q34809s.py new file mode 100755 index 0000000..f6c36b9 --- /dev/null +++ b/scripts/quest/q34809s.py @@ -0,0 +1,17 @@ +# id 34809 (A Stranger's Cries), field 402000500 +sm.setSpeakerType(3) +sm.setParam(36) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(3001300) # Ex +sm.sendNext("#face0#What is that unusual sound?") +sm.setParam(37) +sm.setInnerOverrideSpeakerTemplateID(3001308) # Carnelian +sm.sendSay("#face2#Sob, sob... sniff...") +sm.setInnerOverrideSpeakerTemplateID(3001350) # Illium +sm.sendSay("#face0#What...?") +sm.sendSay("#face0#I think someone's crying nearby.") +sm.setInnerOverrideSpeakerTemplateID(3001310) # Morian +sm.sendSay("#face0#I hear it too!") +sm.setInnerOverrideSpeakerTemplateID(3001300) # Ex +sm.sendSay("#face0#I'll guide you toward the noise.") +sm.startQuest(parentID) diff --git a/scripts/quest/q34810s.py b/scripts/quest/q34810s.py new file mode 100755 index 0000000..486c4b1 --- /dev/null +++ b/scripts/quest/q34810s.py @@ -0,0 +1,46 @@ +# id 34810 (Carnelian's Request), field 402000513 +sm.setSpeakerType(3) +sm.setParam(36) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(3001308) # Carnelian +sm.sendNext("#face2#Well... Dean turned all of my #i4036167# #t4036167# items into candy!") +sm.setParam(37) +sm.setInnerOverrideSpeakerTemplateID(3001310) # Morian +sm.sendSay("#face0#What? That kid's a menace!") +sm.setParam(36) +sm.setInnerOverrideSpeakerTemplateID(3001308) # Carnelian +sm.sendSay("#face2#Sniff... yeah.") +sm.setParam(37) +sm.setInnerOverrideSpeakerTemplateID(3001310) # Morian +sm.sendSay("#face2#That's just...") +sm.sendSay("#face4#mean!") +sm.setInnerOverrideSpeakerTemplateID(3001350) # Illium +sm.sendSay("#face9#I ended up with some extras. Would you like them?") +sm.setInnerOverrideSpeakerTemplateID(3001308) # Carnelian +sm.sendSay("#face0#You would do that for me?") +res = sm.sendNext("#face0#That would be so helpful... Do you maybe have 5 to spare?\r\n#L0# #bChoice 1 : Give only 1.#l\r\n#L1# #bChoice 2 : Give 4.#l\r\n#L2# #bChoice 3 : Give 7.#l") +sm.sendNext("#face1#Wow, 7? Thanks a lot!") +sm.createQuestWithQRValue(parentID, "give=7") +sm.setInnerOverrideSpeakerTemplateID(3001310) # Morian +sm.sendSay("#face1#Want to maybe trade for some of that candy?") +sm.setInnerOverrideSpeakerTemplateID(3001308) # Carnelian +sm.sendSay("#face1#Huh? Oh.\r\nOf course. Here you go.") +sm.setInnerOverrideSpeakerTemplateID(3001310) # Morian +sm.sendSay("#face1#Wow, thanks!") +sm.setInnerOverrideSpeakerTemplateID(3001308) # Carnelian +sm.sendSay("#face0#Um... you're welcome.") +sm.sendSay("#face1#I REALLY appreciate your help, you two. See you later!") +sm.startQuest(parentID) +sm.completeQuestNoCheck(parentID) +sm.createQuestWithQRValue(parentID, "exp=1;give=7") +sm.startQuest(11620) +sm.createQuestWithQRValue(15710, "lasttime=19/02/21/16/31") +sm.setInnerOverrideSpeakerTemplateID(3001300) # Ex +sm.sendSay("#face0#Sir, you need 20 #i4036167# #t4036167# to finish your class.") +sm.createQuestWithQRValue(16700, "count=155;date=20190221") +sm.createQuestWithQRValue(16700, "count=156;date=20190221") +sm.setInnerOverrideSpeakerTemplateID(3001350) # Illium +sm.sendSay("#face0#It's all right. I'll just go back for more.") +sm.setInnerOverrideSpeakerTemplateID(3001300) # Ex +sm.sendSay("#face0#You will find more #i4036167# #t4036167# in #m402000514#, #m402000515#, and #m402000516#.") +sm.lockInGameUI(False, True) diff --git a/scripts/quest/q34811e.py b/scripts/quest/q34811e.py new file mode 100755 index 0000000..8a22082 --- /dev/null +++ b/scripts/quest/q34811e.py @@ -0,0 +1,15 @@ +# id 34811 (Making a Crystal Gate 2), field 402000530 +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(3001304) # Professor Citrine +sm.sendNext("#face0#That is all for today's class. Those of you who didn't complete your assignments, please follow me.") +sm.setInnerOverrideSpeakerTemplateID(3001310) # Morian +sm.sendSay("#face3#Go on without me. I'm done for...") +sm.setInnerOverrideSpeakerTemplateID(3001350) # Illium +sm.sendSay("#face0#Aw, you'll be all right. See you tomorrow, Morian.") +sm.completeQuestNoCheck(parentID) +sm.createQuestWithQRValue(parentID, "room=1;exp=1") +sm.startQuest(11620) +sm.createQuestWithQRValue(15710, "lasttime=19/02/21/16/40") +sm.lockInGameUI(False, True) \ No newline at end of file diff --git a/scripts/quest/q34811s.py b/scripts/quest/q34811s.py new file mode 100755 index 0000000..dad2b7d --- /dev/null +++ b/scripts/quest/q34811s.py @@ -0,0 +1,10 @@ +# id 34811 (Making a Crystal Gate 2), field 402000530 +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(3001304) # Professor Citrine +sm.sendNext("#face0#The Crystal gate is finally complete!") +sm.sendSay("#face0#Let's see if there's enough room for all of you to enter it.") +sm.sendSay("#face0#Give it a try.") +sm.startQuest(parentID) +sm.warp(940202022) diff --git a/scripts/quest/q34812e.py b/scripts/quest/q34812e.py new file mode 100755 index 0000000..ad165e9 --- /dev/null +++ b/scripts/quest/q34812e.py @@ -0,0 +1,16 @@ +# id 34812 (A Special Day), field 402000501 +sm.lockInGameUI(True, False) +sm.sendDelay(100) +sm.completeQuestNoCheck(parentID) +sm.sendDelay(100) +sm.createQuestWithQRValue(parentID, "exp=1") +sm.startQuest(11620) +sm.createQuestWithQRValue(15710, "lasttime=19/02/21/16/41") +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(3001306) # Soldier +sm.sendNext("#face0#Hey, kid! You running an errand for the Lady Agate?") +sm.setInnerOverrideSpeakerTemplateID(3001350) # Illium +sm.sendSay("#face0#Huh? Why? Do you need something?") +sm.lockInGameUI(False, True) diff --git a/scripts/quest/q34812s.py b/scripts/quest/q34812s.py new file mode 100755 index 0000000..9ae678b --- /dev/null +++ b/scripts/quest/q34812s.py @@ -0,0 +1,11 @@ +# id 34812 (A Special Day), field 402000530 +sm.setSpeakerType(3) +sm.setParam(36) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(3001301) # Agate +sm.sendNext("#face1#Illium, today's activity will be a bit unusual. Please come to #m402000501#.") +sm.setParam(37) +sm.setInnerOverrideSpeakerTemplateID(3001300) # Ex +res = sm.sendAskAccept("#face0#Would you like to go to #m402000501# right away?\r\n#b(If you accept, you'll travel there automatically.)") +sm.startQuest(parentID) +sm.warp(402000501) diff --git a/scripts/quest/q34813e.py b/scripts/quest/q34813e.py new file mode 100755 index 0000000..a4ae2ee --- /dev/null +++ b/scripts/quest/q34813e.py @@ -0,0 +1,46 @@ +# id 34813 (For the Verdant Flora), field 402000501 +sm.lockInGameUI(True, False) +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(3001306) # Soldier +sm.sendNext("#face0#Oh, perfect. This should be enough.") +sm.setInnerOverrideSpeakerTemplateID(3001301) # Agate +sm.sendSay("#face2#Have you finished extracting mytocrystal mana?") +sm.spawnNpc(3001301, -1470, 50) +sm.showNpcSpecialActionByTemplateId(3001301, "summon", 0) +sm.sendDelay(600) +sm.setInnerOverrideSpeakerTemplateID(3001350) # Illium +sm.sendNext("#face0#Headmistress Agate!") +sm.setInnerOverrideSpeakerTemplateID(3001306) # Soldier +sm.sendSay("#face0#Oh, hello, Lady Agate!") +sm.setInnerOverrideSpeakerTemplateID(3001301) # Agate +sm.sendSay("#face1#Hello.") +sm.sendSay("#face0#You're doing a fine job here, gentlemen. Thank you.") +sm.setInnerOverrideSpeakerTemplateID(3001306) # Soldier +sm.sendSay("#face0#Ah, anything for our people!") +sm.setInnerOverrideSpeakerTemplateID(3001350) # Illium +sm.sendSay("#face0#Wow, they must have been working really hard.") +sm.setInnerOverrideSpeakerTemplateID(3001301) # Agate +sm.sendSay("#face0#We live in peace because of the sacrifice of good people like those you see before you. Then and now...") +sm.setInnerOverrideSpeakerTemplateID(3001350) # Illium +sm.sendSay("#face0#Is it true what the soldiers say? Are we really under constant threat of discovery and destruction?") +sm.sendSay("#face0#I can be stronger, more powerful. I'll protect you. I'll protect everyone.") +sm.setInnerOverrideSpeakerTemplateID(3001301) # Agate +sm.sendSay("#face0#You needn't worry yourself. If we remain careful and steadfast, there will be no such day.") +sm.sendSay("#face1#But, just in case, take these potions. You never know when you might need one.") +sm.createQuestWithQRValue(parentID, "m=0;item2=1;d2=1") +sm.sendSay("#face2#Shall we begin practice?") +sm.setInnerOverrideSpeakerTemplateID(3001350) # Illium +sm.sendSay("#face0#Yes!") +sm.sendSay("#face0##b(If I'm going to protect our home and people, I'll have to train much harder!)#k") +sm.blind(True, 255, 0, 0, 0, 500) +sm.sendDelay(500) +sm.sendDelay(100) +sm.completeQuestNoCheck(parentID) +sm.sendDelay(100) +sm.createQuestWithQRValue(parentID, "m=0;item2=1;exp=1;d2=1") +sm.startQuest(11620) +sm.createQuestWithQRValue(15710, "lasttime=19/02/21/16/43") +sm.lockInGameUI(False, True) +sm.warp(402000521) diff --git a/scripts/quest/q34813s.py b/scripts/quest/q34813s.py new file mode 100755 index 0000000..10db645 --- /dev/null +++ b/scripts/quest/q34813s.py @@ -0,0 +1,14 @@ +# id 34813 (For the Verdant Flora), field 402000501 +sm.setSpeakerType(3) +sm.setParam(36) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(3001306) # Soldier +sm.sendNext("#face0#Well yeah. Don't just stand there. Help us out.\r\nWe need to extract mana from nearby mytocrystals...") +sm.setSpeakerType(4) +sm.setSpeakerID(3001336) # Soldier +sm.setParam(132) +res = sm.sendNext("#face0##fUI/tutorial.img/illium/mob1/0##fUI/tutorial.img/illium/mob2/0##fUI/tutorial.img/illium/mob3/0#\r\nThink you can get mana from #b20#k of these crystals?\r\n#b#L0#Of course!#k\r\n#b#L1#I don't think so...#k") +sm.startQuest(parentID) +sm.setSpeakerType(3) +sm.setParam(37) +sm.sendNext("#face0#Great. There are #o9101116# items in the #m402000502# to the right of here. Now, get moving. We don't have all day.") diff --git a/scripts/quest/q34814e.py b/scripts/quest/q34814e.py new file mode 100755 index 0000000..2d04e7b --- /dev/null +++ b/scripts/quest/q34814e.py @@ -0,0 +1,80 @@ +# id 34814 (A Divine Festival 2), field 402000529 +sm.lockInGameUI(True, False) +sm.removeAdditionalEffect() +sm.showFadeTransition(0, 1000, 3000) +sm.zoomCamera(0, 1000, 2147483647, 2147483647, 2147483647) +sm.moveCamera(True, 0, 0, 0) +sm.sendDelay(300) +sm.removeOverlapScreen(1000) +sm.zoomCamera(0, 1000, 0, 300, -70) +sm.sendDelay(300) +sm.forcedFlip(True) +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(3001350) # Illium +sm.sendNext("#face0#I've got the materials we need now. We should get started.") +sm.forcedMove(True, 50) +sm.sendDelay(500) +sm.forcedAction(6, 0) +sm.sendDelay(800) +sm.forcedAction(6, 0) +sm.sendDelay(800) +sm.forcedAction(6, 0) +sm.sendDelay(800) +sm.forcedAction(6, 0) +sm.sendDelay(100) +sm.completeQuestNoCheck(parentID) +sm.sendDelay(100) +sm.createQuestWithQRValue(parentID, "exp=1") +sm.startQuest(11620) +sm.createQuestWithQRValue(15710, "lasttime=19/02/21/16/49") +sm.sendDelay(1000) +sm.sendNext("#face0#Wow! It's so much better!") +sm.setInnerOverrideSpeakerTemplateID(3001309) # Darius +sm.sendSay("#face0#You're here awfully late.") +sm.spawnNpc(3001309, -40, 25) +sm.showNpcSpecialActionByTemplateId(3001309, "summon", 0) +sm.playSound("Sound/Skill.img/152001004/Use", 100) +sm.showNpcSpecialActionByTemplateId(3001309, "appear", 0) +sm.sendDelay(1000) +sm.showEffect("Effect/OnUserEff.img/emotion/oh", 0, 0, 0, 0, 0, 0, 0) +sm.sendDelay(1000) +sm.setInnerOverrideSpeakerTemplateID(3001350) # Illium +sm.sendNext("#face0#Well, I...") +sm.sendSay("#face0#I'm making a statue for the Festival...") +sm.setInnerOverrideSpeakerTemplateID(3001309) # Darius +sm.sendSay("#face0#The Festival of the Ancient Gods?") +sm.zoomCamera(2000, 1500, 2000, 300, 50) +sm.sendDelay(500) +sm.moveNpcByTemplateId(3001309, False, 150, 100) +sm.sendNext("#face0#You think this hunk of scrap metal detritus is worthy?") +sm.sendSay("#face0#You low level engineers are certainly presumptuous, aren't you?") +sm.setInnerOverrideSpeakerTemplateID(3001350) # Illium +sm.sendSay("#face0#But...") +sm.setInnerOverrideSpeakerTemplateID(3001309) # Darius +sm.sendSay("#face0#Keep your mouth shut and dispose of that disaster of a project immediately.") +sm.sendSay("#face0#It's disgraceful.") +sm.setInnerOverrideSpeakerTemplateID(3001350) # Illium +sm.sendSay("#face0#I--") +sm.flipNpcByTemplateId(3001309, True) +sm.sendDelay(30) +sm.setInnerOverrideSpeakerTemplateID(3001309) # Darius +sm.sendNext("#face0#Not one word.") +sm.showNpcSpecialActionByTemplateId(3001309, "disappear", 0) +sm.sendDelay(1200) +sm.setInnerOverrideSpeakerTemplateID(3001350) # Illium +sm.sendNext("#face3#...") +sm.setInnerOverrideSpeakerTemplateID(3001300) # Ex +sm.sendSay("#face0#We already know from the ancient records that the Verdant Flora only regained their magic by combining mytocrystal mana and technology.") +sm.sendSay("#face0#From that, we could surmise that the ancient gods would be pleased by your rather unique creation.") +sm.setInnerOverrideSpeakerTemplateID(3001350) # Illium +sm.sendSay("#face0#Thanks, Ex...") +sm.sendSay("#face0#I'll do the best I can on this.") +sm.showFadeTransition(0, 1000, 3000) +sm.zoomCamera(0, 1000, 2147483647, 2147483647, 2147483647) +sm.moveCamera(True, 0, 0, 0) +sm.sendDelay(300) +sm.removeOverlapScreen(1000) +sm.moveCamera(True, 0, 0, 0) +sm.lockInGameUI(False, True) diff --git a/scripts/quest/q34814s.py b/scripts/quest/q34814s.py new file mode 100755 index 0000000..636b552 --- /dev/null +++ b/scripts/quest/q34814s.py @@ -0,0 +1,14 @@ +# id 34814 (A Divine Festival 2), field 402000529 +sm.setSpeakerType(3) +sm.setParam(36) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(3001350) # Illium +sm.sendNext("#face0#If I keep improving my sculpture, I'll need more metal.") +sm.sendSay("#face0#I'll have to go to the #m402000510# first to get\r\n#i4036169# #b#t4036169##k items.\r\nThis time, #b10#k should be enough.") +sm.setSpeakerType(4) +sm.setSpeakerID(3001339) # Illium Statue +sm.setParam(37) +sm.setInnerOverrideSpeakerTemplateID(3001300) # Ex +res = sm.sendAskAccept("#face0#Would you like to go to the #b#m402000510##k right away?\r\n#b(If you accept, you'll travel there automatically.)") +sm.startQuest(parentID) +sm.warp(402000510) diff --git a/scripts/quest/q34815e.py b/scripts/quest/q34815e.py new file mode 100755 index 0000000..65c8077 --- /dev/null +++ b/scripts/quest/q34815e.py @@ -0,0 +1,127 @@ +# id 34815 (A Divine Festival 3), field 402000529 +sm.lockInGameUI(True, False) +sm.removeAdditionalEffect() +sm.showFadeTransition(0, 1000, 3000) +sm.zoomCamera(0, 1000, 2147483647, 2147483647, 2147483647) +sm.moveCamera(True, 0, 0, 0) +sm.sendDelay(300) +sm.removeOverlapScreen(1000) +sm.zoomCamera(0, 1000, 0, 300, -70) +sm.sendDelay(300) +sm.forcedFlip(True) +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(3001350) # Illium +sm.sendNext("#face0#Should I try to make another?") +sm.forcedMove(True, 50) +sm.sendDelay(500) +sm.forcedAction(6, 0) +sm.sendDelay(800) +sm.forcedAction(6, 0) +sm.sendDelay(800) +sm.forcedAction(6, 0) +sm.sendDelay(800) +sm.forcedAction(6, 0) +sm.sendDelay(100) +sm.completeQuestNoCheck(parentID) +sm.sendDelay(100) +sm.createQuestWithQRValue(parentID, "exp=1") +sm.startQuest(11620) +sm.createQuestWithQRValue(15710, "lasttime=19/02/21/16/52") +sm.sendDelay(1000) +sm.sendNext("#face0#How's this look?") +sm.setMapTaggedObjectVisible("crystal", True, 0, 0) +sm.sendDelay(500) +sm.sendDelay(500) +sm.forcedFlip(True) +sm.sendDelay(500) +sm.showEffect("Effect/OnUserEff.img/emotion/whatl", 0, 10, 0, 0, 0, 0, 0) +sm.sendDelay(500) +sm.sendNext("#face0#Oh! What was that?") +sm.zoomCamera(900, 1000, 900, 600, -70) +sm.sendDelay(1000) +sm.sendNext("#face8#That sparkle!") +sm.showEffect("Effect/OnUserEff.img/emotion/oh", 0, 0, 0, 0, 0, 0, 0) +sm.sendDelay(1000) +sm.forcedMove(False, 350) +sm.zoomCamera(1500, 1500, 1500, 800, 0) +sm.sendDelay(2000) +sm.sendNext("#face6#Ex! Look!") +sm.blind(True, 255, 0, 0, 0, 500) +sm.sendDelay(500) +sm.onLayer(1500, "1", 0, -80, 12, "Effect/Direction14.img/illium/tuto/4", 4, True, -1, False) +sm.sendDelay(2000) +sm.sendNext("#face6#What is this light?") +sm.setInnerOverrideSpeakerTemplateID(3001300) # Ex +sm.sendSay("#face0#I am currently measuring approximately 4,000 candelas, a significant amount of light.") +sm.setInnerOverrideSpeakerTemplateID(3001350) # Illium +sm.sendSay("#face6#It's so... calming and beautiful.") +sm.forcedFlip(True) +sm.sendDelay(300) +sm.sendNext("#face2#I wonder if it's warm...") +sm.zoomCamera(1500, 2000, 1500, 900, -80) +sm.offLayer(1500, "1", False) +sm.blind(False, 0, 0, 0, 0, 1500) +sm.sendDelay(2000) +sm.setInnerOverrideSpeakerTemplateID(3001300) # Ex +sm.sendNext("#face0#Sir, I would advise against touching it. We don't know enough.") +sm.forcedMove(False, 10) +sm.setInnerOverrideSpeakerTemplateID(3001350) # Illium +sm.sendSay("#face0#Oh. I feel strange.") +sm.showEffect("Effect/Direction14.img/illium/magic", 0, 10, 0, 0, 0, 0, 0) +sm.playSound("Sound/SoundEff.img/illium/casting", 100) +sm.sendSay("#face7#Ah! Aaah!") +sm.blind(True, 255, 240, 240, 240, 1300) +sm.sendDelay(1600) +sm.setInnerOverrideSpeakerTemplateID(3001301) # Agate +sm.sendNext("#face3#Be careful!") +sm.setMapTaggedObjectVisible("crystal", False, 0, 0) +sm.setMapTaggedObjectVisible("obj", False, 0, 0) +sm.zoomCamera(1500, 2000, 1500, 880, 80) +sm.forcedInput(8) +sm.sendDelay(300) +sm.forcedInput(0) +sm.sendDelay(300) +sm.forcedInput(8) +sm.sendDelay(300) +sm.forcedFlip(True) +sm.forcedInput(4) +sm.spawnNpc(3001301, 700, 30) +sm.showNpcSpecialActionByTemplateId(3001301, "summon", 0) +sm.blind(False, 0, 0, 0, 0, 1000) +sm.sendDelay(2500) +sm.sendNext("#face3#That was a very close call.") +sm.forcedInput(0) +sm.setInnerOverrideSpeakerTemplateID(3001350) # Illium +sm.sendSay("#face4#Headmistress Agate!") +sm.setInnerOverrideSpeakerTemplateID(3001301) # Agate +sm.sendSay("#face3#What happened?") +sm.setInnerOverrideSpeakerTemplateID(3001350) # Illium +sm.sendSay("#face0#Well, I...") +sm.setInnerOverrideSpeakerTemplateID(3001301) # Agate +sm.sendSay("#face3#That was a very poor decision on your part.\r\nYou should never use Academy equipment or crystals without permission.") +sm.showNpcSpecialActionByTemplateId(3001301, "disappear", 0) +sm.sendDelay(750) +sm.spawnNpc(3001309, -750, 30) +sm.showNpcSpecialActionByTemplateId(3001309, "summon", 0) +sm.setInnerOverrideSpeakerTemplateID(3001350) # Illium +sm.sendNext("#face3#But--") +sm.setInnerOverrideSpeakerTemplateID(3001300) # Ex +sm.sendSay("#face0#Thankfully, you haven't sustained serious injury.") +sm.setInnerOverrideSpeakerTemplateID(3001350) # Illium +sm.sendSay("#face3#Survive.") +sm.sendSay("#face3#She seemed unnecessarily angry.") +sm.sendSay("#face3#Now, I don't know what to do.") +sm.zoomCamera(2000, 1000, 2000, -300, -70) +sm.sendDelay(4000) +sm.flipNpcByTemplateId(3001309, True) +sm.sendDelay(1500) +sm.showFadeTransition(0, 1000, 3000) +sm.zoomCamera(0, 1000, 2147483647, 2147483647, 2147483647) +sm.moveCamera(True, 0, 0, 0) +sm.sendDelay(300) +sm.removeOverlapScreen(1000) +sm.createQuestWithQRValue(parentID, "d=1;exp=1") +sm.moveCamera(True, 0, 0, 0) +sm.lockInGameUI(False, True) diff --git a/scripts/quest/q34815s.py b/scripts/quest/q34815s.py new file mode 100755 index 0000000..62bd902 --- /dev/null +++ b/scripts/quest/q34815s.py @@ -0,0 +1,13 @@ +# id 34815 (A Divine Festival 3), field 402000529 +sm.setSpeakerType(3) +sm.setParam(36) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(3001350) # Illium +sm.sendNext("#face0#Let's find a rarer metal this time, #i4036170# #b#t4036170##k. We should only need about #b10#k.") +sm.setSpeakerType(4) +sm.setSpeakerID(3001339) # Illium Statue +sm.setParam(37) +sm.setInnerOverrideSpeakerTemplateID(3001300) # Ex +res = sm.sendAskAccept("#face0#Would you like to go to the #b#m402000509##k right away?\r\n#b(If you accept, you'll travel there automatically.)") +sm.startQuest(parentID) +sm.warp(402000509) diff --git a/scripts/quest/q34816e.py b/scripts/quest/q34816e.py new file mode 100755 index 0000000..a5b2cce --- /dev/null +++ b/scripts/quest/q34816e.py @@ -0,0 +1,32 @@ +# id 34816 (A Divine Festival 4), field 402000529 +sm.lockInGameUI(True, False) +sm.removeAdditionalEffect() +sm.showFadeTransition(0, 1000, 3000) +sm.zoomCamera(0, 1000, 2147483647, 2147483647, 2147483647) +sm.moveCamera(True, 0, 0, 0) +sm.sendDelay(300) +sm.removeOverlapScreen(1000) +sm.zoomCamera(0, 1000, 0, 300, -70) +sm.sendDelay(300) +sm.forcedFlip(True) +sm.sendDelay(500) +sm.forcedMove(True, 50) +sm.sendDelay(500) +sm.forcedAction(6, 0) +sm.sendDelay(800) +sm.forcedAction(6, 0) +sm.sendDelay(800) +sm.forcedAction(6, 0) +sm.sendDelay(800) +sm.forcedAction(6, 0) +sm.createQuestWithQRValue(parentID, "fin=1") +sm.sendDelay(1000) +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(3001350) # Illium +sm.sendNext("#face2#Yes! It's done!") +sm.sendSay("#face0#Not bad for my first creation for the gods.") +sm.sendSay("#face0#You know, I'm really looking forward to this year's festival.") +sm.lockInGameUI(False, True) +sm.warp(940202030) diff --git a/scripts/quest/q34816s.py b/scripts/quest/q34816s.py new file mode 100755 index 0000000..9ce4228 --- /dev/null +++ b/scripts/quest/q34816s.py @@ -0,0 +1,12 @@ +# id 34816 (A Divine Festival 4), field 402000529 +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(3001350) # Illium +sm.sendNext("#face0#It's probably best to stay focused on the statue. I need at least 20 more\r\n#i4036171# #b#t4036171##k items.") +sm.setSpeakerType(4) +sm.setSpeakerID(3001339) # Illium Statue +sm.setInnerOverrideSpeakerTemplateID(3001300) # Ex +res = sm.sendAskAccept("#face0#Would you like to go to #b#m402000503##k right away?\r\n#b(If you accept, you'll travel there automatically.)") +sm.startQuest(parentID) +sm.warp(402000504) diff --git a/scripts/quest/q34817s.py b/scripts/quest/q34817s.py new file mode 100755 index 0000000..f3c0fe7 --- /dev/null +++ b/scripts/quest/q34817s.py @@ -0,0 +1,66 @@ +# id 34817 (Statue Remodeling), field 402000529 +sm.lockInGameUI(True, False) +sm.removeAdditionalEffect() +sm.showFadeTransition(0, 1000, 3000) +sm.sendDelay(100) +sm.forcedFlip(True) +sm.sendDelay(100) +sm.spawnNpc(3001300, 150, 8) +sm.showNpcSpecialActionByTemplateId(3001300, "summon", 0) +sm.sendDelay(100) +sm.removeOverlapScreen(1000) +sm.sendDelay(1000) +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(3001350) # Illium +sm.sendNext("#face6#What do you say, Ex? Want a friend?") +sm.setInnerOverrideSpeakerTemplateID(3001300) # Ex +sm.sendSay("#face0#Friends are not essential to my functions.") +sm.setInnerOverrideSpeakerTemplateID(3001350) # Illium +sm.sendSay("#face7#You might like it! I was really happy to have you as a friend!") +sm.setInnerOverrideSpeakerTemplateID(3001300) # Ex +sm.sendSay("#face0#That's very kind of you, Sir.") +sm.setInnerOverrideSpeakerTemplateID(3001350) # Illium +sm.sendSay("#face6#I wonder if I could streamline this statue and make a tiny robot out of it.") +sm.setInnerOverrideSpeakerTemplateID(3001300) # Ex +sm.sendSay("#face0#Well, that would certainly be a better use for it than simply discarding it.") +sm.setInnerOverrideSpeakerTemplateID(3001350) # Illium +sm.sendSay("#face2#I hope you two get along! Shall I start converting it?") +sm.blind(True, 255, 0, 0, 0, 500) +sm.sendDelay(500) +sm.createQuestWithQRValue(parentID, "m=1") +sm.startQuest(parentID) +sm.sendDelay(500) +sm.sendNext("#face7#It's done!") +sm.blind(True, 255, 0, 0, 0, 0) +sm.sendDelay(1200) +sm.blind(False, 0, 0, 0, 0, 1000) +sm.sendDelay(1400) +sm.sendDelay(1000) +sm.setInnerOverrideSpeakerTemplateID(3001312) # Machina +sm.sendNext("#face0#Hello! My name is Machina! What's your name?") +sm.setInnerOverrideSpeakerTemplateID(3001350) # Illium +sm.sendSay("#face5#Hi Machina! I'm Illium. And this is Ex.") +sm.setInnerOverrideSpeakerTemplateID(3001312) # Machina +sm.sendSay("#face0#It's nice to meet you Illium and Ex!") +sm.setInnerOverrideSpeakerTemplateID(3001300) # Ex +sm.sendSay("#face3#Well, he's certainly friendly.") +sm.setInnerOverrideSpeakerTemplateID(3001350) # Illium +sm.sendSay("#face0#Yeah. I guess he'll take some getting used to.") +sm.sendDelay(1000) +sm.sendDelay(500) +sm.sendNext("#face7#Huh? What's that sound?") +sm.sendDelay(1000) +sm.sendDelay(500) +sm.setInnerOverrideSpeakerTemplateID(3001300) # Ex +sm.sendNext("#face0#It's really noisy outside.") +sm.setInnerOverrideSpeakerTemplateID(3001350) # Illium +sm.sendSay("#face9#Let's take a look.") +sm.showFadeTransition(0, 1000, 3000) +sm.zoomCamera(0, 1000, 2147483647, 2147483647, 2147483647) +sm.moveCamera(True, 0, 0, 0) +sm.sendDelay(300) +sm.removeOverlapScreen(1000) +sm.sendDelay(1000) +sm.lockInGameUI(False, True) diff --git a/scripts/quest/q34818e.py b/scripts/quest/q34818e.py new file mode 100755 index 0000000..cea1fe1 --- /dev/null +++ b/scripts/quest/q34818e.py @@ -0,0 +1,47 @@ +# id 34818 (Escape from the Academy), field 940202032 +sm.lockInGameUI(True, False) +sm.removeAdditionalEffect() +sm.showFadeTransition(0, 1000, 3000) +sm.zoomCamera(0, 1000, 2147483647, 2147483647, 2147483647) +sm.moveCamera(True, 0, 0, 0) +sm.sendDelay(300) +sm.removeOverlapScreen(1000) +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(3001310) # Morian +sm.sendNext("#face2#Thanks Illium! What happened to you? And what's that crystal?") +sm.setInnerOverrideSpeakerTemplateID(3001353) # Illium +sm.sendSay("#face3#This is the Elder Crystal. Agate gave it to me and told me to protect it.") +sm.setInnerOverrideSpeakerTemplateID(3001310) # Morian +sm.sendSay("#face2#Why can't she protect it?") +sm.blind(True, 200, 0, 0, 0, 1300) +sm.sendDelay(1600) +sm.setInnerOverrideSpeakerTemplateID(3001353) # Illium +sm.sendNext("#face4#I'll have to fill you in on the details later, but... she's... gone.") +sm.blind(False, 0, 0, 0, 0, 1300) +sm.sendDelay(1600) +sm.setInnerOverrideSpeakerTemplateID(3001310) # Morian +sm.sendNext("#face3#No!") +sm.setInnerOverrideSpeakerTemplateID(3001311) # Sinaria +sm.sendSay("#face2#How could this have happened?") +sm.setInnerOverrideSpeakerTemplateID(3001310) # Morian +sm.sendSay("#face3#I don't know what I can do, but I'll help you!") +sm.setInnerOverrideSpeakerTemplateID(3001353) # Illium +sm.sendSay("#face4#Morian, this is my responsibility. I can't put you in danger.") +sm.setInnerOverrideSpeakerTemplateID(3001310) # Morian +sm.sendSay("#face3#But...") +sm.setInnerOverrideSpeakerTemplateID(3001353) # Illium +sm.sendSay("#face4#We can argue this later. Right now, we need to get out of here. We're all in a lot of danger!") +sm.showFadeTransition(0, 1000, 3000) +sm.zoomCamera(0, 1000, 2147483647, 2147483647, 2147483647) +sm.moveCamera(True, 0, 0, 0) +sm.sendDelay(300) +sm.removeOverlapScreen(1000) +sm.sendDelay(100) +sm.completeQuestNoCheck(parentID) +sm.sendDelay(100) +sm.createQuestWithQRValue(parentID, "exp=1") +sm.startQuest(11620) +sm.createQuestWithQRValue(15710, "lasttime=19/02/21/17/13") +sm.lockInGameUI(False, True) diff --git a/scripts/quest/q34820s.py b/scripts/quest/q34820s.py new file mode 100755 index 0000000..8a69153 --- /dev/null +++ b/scripts/quest/q34820s.py @@ -0,0 +1,39 @@ +# id 34820 (One Look Back), field 940202040 +sm.setSpeakerType(3) +sm.setParam(36) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(3001326) # Hoodlum +sm.sendNext("#face0#Yikes. The white-haired one is stronger than I expected.") +sm.setParam(37) +sm.sendSay("#face0#What are you!?") +sm.setInnerOverrideSpeakerTemplateID(3001311) # Sinaria +sm.sendSay("#face1#That's not your concern.") +sm.setInnerOverrideSpeakerTemplateID(3001308) # Carnelian +sm.sendSay("#face2#And we're not the High Flora either!") +sm.setInnerOverrideSpeakerTemplateID(3001353) # Illium +sm.sendSay("#face4#Tell us what you know about the other dimension!") +sm.setInnerOverrideSpeakerTemplateID(3001326) # Hoodlum +sm.sendSay("#face0#'Other dimension'?") +sm.sendSay("#face0#What is that?") +sm.setInnerOverrideSpeakerTemplateID(3001310) # Morian +sm.sendSay("#face0#You'd better not be lying to us!!") +sm.setInnerOverrideSpeakerTemplateID(3001326) # Hoodlum +sm.sendSay("#face0#We don't know anything! Honest!") +sm.sendSay("#face0#The Nova might know!") +sm.sendSay("#face0#Yes! The Nova! In Pantheon! Try there!") +sm.setInnerOverrideSpeakerTemplateID(3001353) # Illium +sm.sendSay("#face4#The Nova...? I've only ever read about them. You mean the dragons?") +sm.setInnerOverrideSpeakerTemplateID(3001326) # Hoodlum +sm.sendSay("#face0#Yes! That's all we know! Please!") +sm.setInnerOverrideSpeakerTemplateID(3001353) # Illium +sm.sendSay("#face0#I guess our first stop will be Pantheon. Let's go guys.") +sm.setInnerOverrideSpeakerTemplateID(3001310) # Morian +sm.sendSay("#face0#Well now that's sorted out, do you guys have any food?") +sm.setInnerOverrideSpeakerTemplateID(3001311) # Sinaria +sm.sendSay("#face3#Morian!") +sm.setSpeakerType(4) +sm.setSpeakerID(3001343) # Hoodlum +sm.setInnerOverrideSpeakerTemplateID(3001300) # Ex +res = sm.sendAskAccept("#face0#Starting navigation to Pantheon.") +sm.startQuest(parentID) +sm.warp(402000112) diff --git a/scripts/quest/q34860s.py b/scripts/quest/q34860s.py new file mode 100755 index 0000000..da378bd --- /dev/null +++ b/scripts/quest/q34860s.py @@ -0,0 +1,16 @@ +# id 34860 (Wielding the Elder Crystal), field 940202032 +sm.startQuest(parentID) +sm.completeQuestNoCheck(parentID) +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(3001353) # Illium +sm.sendNext("#face0#Now that I can use the #bElder Crystal#k, I can feel how powerful it is.\r\nI must learn how to use this for combat.") +sm.sendSay("#face0#First, I can use #b#fUI/UIWindow6/illiumSkillTutorial/0#Deploy Crystal#k to summon a Crystal.\r\nOnce I've done that, I can freely move it in front of me. If I use it with\r\nthe #rDown Arrow Key#k, the Crystal will teleport to where I am!") +sm.sendSay("#face0#This crystal is going to #rsignificantly increase my magic ability#k.") +sm.sendSay("#face0#If I hit the Crystal with a #b#fUI/UIWindow6/illiumSkillTutorial/5##b#fUI/UIWindow6/illiumSkillTutorial/4# Radiant Skill#k, a\r\n#r#fUI/UIWindow6/illiumSkillTutorial/1##r,#fUI/UIWindow6/illiumSkillTutorial/2##r Reaction Skill#k will activate.") +sm.sendSay("#face0#Knowing that, if I place the Crystal in a good location and activate\r\na #rReaction Skill#k, I could be really powerful in combat!") +sm.sendSay("#face0#If I hit the Crystal with #b#fUI/UIWindow6/illiumSkillTutorial/4# Radiant Javelin#k and #b#fUI/UIWindow6/illiumSkillTutorial/5# Radiant Orb#k, the magic in the Crystal seems to stack. ") +sm.sendSay("#face0#But the #bamount the Crystal charges#k differs each time. To quickly charge Magic ATT, I'll have to use the two skills in conjunction#r for effective combat#k.") +sm.sendSay("#face0#Oh! If #benough Magic ATT stacks in the Crystal#k, the #rCrystal's appearance#k changes.\r\nOnce it does, I'll be able to use #b#fUI/UIWindow6/illiumSkillTutorial/3#Crystal Skills#k.") +sm.sendSay("#face0##rThere's so much to learn#k about using the Elder Crystal! If I keep researching it, I'm sure I'll get #beven stronger#k!") diff --git a/scripts/quest/q34901s.py b/scripts/quest/q34901s.py new file mode 100755 index 0000000..ceaae87 --- /dev/null +++ b/scripts/quest/q34901s.py @@ -0,0 +1,157 @@ +# Created by MechAviv +# Quest ID :: 34901 +# Creeping Abyss + +from net.swordie.ms.enums import UIType + +sm.setSpeakerID(3001500) +sm.setSpeakerType(3) +sm.removeEscapeButton() +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendNext("#face0#(I may have lost my memories, but I've clearly got the hands of a warrior. I must already be trained for combat.)") + + +sm.setSpeakerID(3001500) +sm.setSpeakerType(3) +sm.removeEscapeButton() +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendSay("#face5#(I've got to prepare myself for battle. Based on my current state, I've got some options.)") + + +sm.removeSkill(150010241) +sm.setJob(15500) +# Unhandled Stat Changed [STR] Packet: 00 00 40 00 00 00 00 00 00 00 23 00 FF 00 00 00 00 +# Unhandled Stat Changed [DEX] Packet: 00 00 80 00 00 00 00 00 00 00 04 00 FF 00 00 00 00 +# Unhandled Stat Changed [AP] Packet: 00 00 00 40 00 00 00 00 00 00 17 00 FF 00 00 00 00 +# Unhandled Stat Changed [HP] Packet: 00 00 00 04 00 00 00 00 00 00 C2 00 00 00 FF 00 00 00 00 +# Unhandled Stat Changed [MHP] Packet: 00 00 00 08 00 00 00 00 00 00 C2 00 00 00 FF 00 00 00 00 +# Unhandled Stat Changed [MP] Packet: 00 00 00 10 00 00 00 00 00 00 71 00 00 00 FF 00 00 00 00 +# Unhandled Stat Changed [MMP] Packet: 00 00 00 20 00 00 00 00 00 00 71 00 00 00 FF 00 00 00 00 +sm.addSP(2, True) +# Unhandled Stat Changed [MHP] Packet: 00 00 00 08 00 00 00 00 00 00 58 01 00 00 FF 00 00 00 00 +# Unhandled Stat Changed [MMP] Packet: 00 00 00 20 00 00 00 00 00 00 A3 00 00 00 FF 00 00 00 00 +sm.giveSkill(155001100, 1, 20) +sm.giveSkill(155001102, 1, 20) +sm.giveSkill(155001103, 1, 10) +# [INVENTORY_GROW] [01 1C ] +# [INVENTORY_GROW] [02 1C ] +# [INVENTORY_GROW] [03 1C ] +# [INVENTORY_GROW] [04 1C ] +# Unhandled Stat Changed [HP] Packet: 00 00 00 04 00 00 00 00 00 00 58 01 00 00 FF 00 00 00 00 +# Unhandled Stat Changed [MP] Packet: 00 00 00 10 00 00 00 00 00 00 A3 00 00 00 FF 00 00 00 00 +sm.startQuest(34901) +sm.completeQuest(34901) +sm.giveItem(1143098) +sm.giveAndEquip(1353600) +sm.systemMessage("You've obtained the medal.") +sm.chatScript("You've obtained the medal.") +sm.completeQuest(34906) +sm.openUI(UIType.UI_STAT) +sm.setSpeakerID(3001500) +sm.setSpeakerType(3) +sm.removeEscapeButton() +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendSay("#face0#(Whatever happened to me must have weakened my overall stats, but I could probably strengthen myself by leveling up.)") + + +sm.setSpeakerID(3001500) +sm.setSpeakerType(3) +sm.removeEscapeButton() +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendSay("#face0#I'll have to do the best I can with what I've got.\r\n#bPress the default hot key (S) and select-type (C) to distribute AP.#k") + + +sm.openUIWithOption(UIType.UI_SKILL, 155000007) +sm.setSpeakerID(3001500) +sm.setSpeakerType(3) +sm.removeEscapeButton() +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendSay("#face0#My skills are looking good. I can distribute more SP if I need to, but I don't really have a lot yet.") + + +sm.setSpeakerID(3001500) +sm.setSpeakerType(3) +sm.removeEscapeButton() +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendSay("#face0#I should assign my important skills to Hotkeys. And if I need to open the skill window again, I can just press the default hotkey (K).") + + +sm.setSpeakerID(3001500) +sm.setSpeakerType(3) +sm.removeEscapeButton() +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendSay("#face0#I should make it a point to remember that I can set spell bullets to auto mode by right-clicking the skill icon.") + + +sm.openUIWithOption(UIType.UI_ITEM, 2) +sm.setSpeakerID(3001500) +sm.setSpeakerType(3) +sm.removeEscapeButton() +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendSay("#face0#There are bound to be some tough fights ahead, so I should keep some potions at the ready in the shortcut window.)") + + +sm.setSpeakerID(3001500) +sm.setSpeakerType(3) +sm.removeEscapeButton() +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendSay("#face0#Once I'm ready, I can talk to Zippy and head to town. This place seems pretty rough, so I hope I get there in one piece.") + +sm.setQuestEx(51236, "StageKey", "0") +sm.startQuest(34915) +sm.warp(402090011, 0) +# Update Quest Record EX | Quest ID: [51236] | Data: StageKey=0 \ No newline at end of file diff --git a/scripts/quest/q34902s.py b/scripts/quest/q34902s.py new file mode 100755 index 0000000..a665a3b --- /dev/null +++ b/scripts/quest/q34902s.py @@ -0,0 +1,78 @@ +# Created by MechAviv +# Quest ID :: 34902 +# Not coded yet + +from net.swordie.ms.enums import UIType + +sm.setSpeakerID(3001500) +sm.setSpeakerType(3) +sm.removeEscapeButton() +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendNext("#face2#I think I might be strong enough to learn more powerful skills now...") + + +# Unhandled Message [47] Packet: 2F 02 00 00 00 B0 83 08 00 00 00 00 00 2E 02 00 00 00 00 00 80 05 BB 46 E6 17 02 00 00 CF 22 11 00 00 00 00 00 63 04 00 00 17 02 A0 B8 D0 66 8B D6 D4 01 0D 00 66 69 65 6C 64 5F 65 6E 74 65 72 3D 31 +sm.setJob(15510) +sm.addSp(3, True) +# Unhandled Stat Changed [MHP] Packet: 00 00 00 08 00 00 00 00 00 00 BE 04 00 00 FF 00 00 00 00 +# Unhandled Stat Changed [MMP] Packet: 00 00 00 20 00 00 00 00 00 00 23 03 00 00 FF 00 00 00 00 +# [INVENTORY_GROW] [02 20 ] +# [INVENTORY_GROW] [04 20 ] +# Unhandled Stat Changed [HP] Packet: 00 00 00 04 00 00 00 00 00 00 BE 04 00 00 FF 00 00 00 00 +# Unhandled Stat Changed [MP] Packet: 00 00 00 10 00 00 00 00 00 00 23 03 00 00 FF 00 00 00 00 +sm.startQuest(34902) +sm.completeQuest(34902) +# Inventory Operation with 1 operations. +# Inventory Operation with 2 operations. +sm.systemMessage("You've obtained the medal. ") +sm.chatScript("You've obtained the medal.") +sm.completeQuest(34907) +sm.openUI(UIType.UI_STAT) +sm.openUIWithOption(UIType.UI_SKILL, 155101006) +sm.setSpeakerID(3001500) +sm.setSpeakerType(3) +sm.removeEscapeButton() +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendSay("#face0#With these new skills, I'll be able to fight stronger enemies and help my friends!") + + +sm.setSpeakerID(3001500) +sm.setSpeakerType(3) +sm.removeEscapeButton() +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendSay("#face6#My arm is where the Specter manifests the strongest. It's like it has a mind of its own now.") + + +# Unhandled Message [47] Packet: 2F 01 00 00 00 59 03 04 00 00 00 00 00 07 01 00 00 01 02 70 59 25 74 8B D6 D4 01 14 00 71 75 65 73 74 5F 73 74 61 74 65 5F 63 68 61 6E 67 65 3D 31 +sm.setSpeakerID(3001500) +sm.setSpeakerType(3) +sm.removeEscapeButton() +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendSay("#face3#If the Specter's strength grows with mine, will I eventually turn into a monster too? Or am I already a monster...?") + + +# Unhandled Stat Changed [16448] Packet: 01 00 40 40 00 00 00 00 00 00 9E 00 00 00 FF 00 00 01 0D 00 diff --git a/scripts/quest/q34903s.py b/scripts/quest/q34903s.py new file mode 100755 index 0000000..521f3f9 --- /dev/null +++ b/scripts/quest/q34903s.py @@ -0,0 +1,16 @@ +# id 34903 (From the Abyss), field 402000644 +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(3001500) # Ark +sm.sendNext("#face0#I can feel a specter's power coursing through me ... I'm confused") +sm.sendNext("#face0#This power was the price for taking a peek at the forbidden area. The Origin, has something to do with that ritual...") +sm.sendNext("#face0#Am I special because Albert interrupted the ritual?") +sm.sendNext("#face0#No... I don't know. The only one who can answer this question is that Specter, at least for now. I don't want to, but I'll have to wait until we meet again.") +sm.startQuest(parentID) +sm.completeQuestNoCheck(parentID) +sm.setJob(15511) +sm.addMaxHP(350) +sm.addMaxMP(200) +sm.addAP(5) +sm.addSP(5) diff --git a/scripts/quest/q34904s.py b/scripts/quest/q34904s.py new file mode 100755 index 0000000..1685635 --- /dev/null +++ b/scripts/quest/q34904s.py @@ -0,0 +1,14 @@ +# id 34904 (From the Abyss), field 402000644 +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(3001500) # Ark +sm.sendNext("#face0#I nearly have the Specter power figure out, and I don't think he's discovered why my soul is special yet.") +sm.sendNext("#face0#The Specter's motives are easy to read. I can tell co-existing with me isn't enough for it.") +sm.startQuest(parentID) +sm.completeQuestNoCheck(parentID) +sm.setJob(15512) +sm.addMaxHP(350) +sm.addMaxMP(200) +sm.addAP(5) +sm.addSP(5) diff --git a/scripts/quest/q34915s.py b/scripts/quest/q34915s.py new file mode 100755 index 0000000..61e616e --- /dev/null +++ b/scripts/quest/q34915s.py @@ -0,0 +1,15 @@ +# Created by MechAviv +# Quest ID :: 34915 +# Not coded yet + +sm.setSpeakerID(3001508) +sm.removeEscapeButton() +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +if sm.sendAskAccept("#face2#You're gonna go save Mar? It's really dangerous! Are you sure you want to go?\r\n\r\n \r\n#b(If you accept, you'll travel there automatically.)#k"): + sm.warp(402090011, 0) diff --git a/scripts/quest/q34916e.py b/scripts/quest/q34916e.py new file mode 100755 index 0000000..e60bc2a --- /dev/null +++ b/scripts/quest/q34916e.py @@ -0,0 +1,245 @@ +# Created by MechAviv +# Quest ID :: 34916 +# Not coded yet + +sm.curNodeEventEnd(True) +sm.setTemporarySkillSet(0) +sm.setInGameDirectionMode(True, False, False, False) +sm.removeAdditionalEffect() +sm.setSpeakerID(3001508) +sm.setSpeakerType(3) +sm.removeEscapeButton() +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendNext("#face0#We're travelers seeking paradise, nomads on a never-ending journey for a perfect home.") + + +sm.sendDelay(500) + + +sm.blind(1, 255, 0, 0, 0, 500, 0) +sm.sendDelay(500) + + +sm.OnOffLayer_On(500, "d0", 0, -80, -1, "Effect/Direction17.img/effect/ark/illust/13/0", 4, 1, -1, 0) +sm.setSpeakerID(3001508) +sm.setSpeakerType(3) +sm.removeEscapeButton() +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendNext("#face0#We started searching long ago.") + + +# Unhandled Stat Changed [HP] Packet: 00 00 00 04 00 00 00 00 00 00 A9 00 00 00 FF 00 00 00 00 +sm.setSpeakerID(3001508) +sm.setSpeakerType(3) +sm.removeEscapeButton() +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendSay("#face0#My first memory is of seeing the night sky from the beautiful ship we traveled on.") + + +sm.setSpeakerID(3001508) +sm.setSpeakerType(3) +sm.removeEscapeButton() +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendSay("#face2#It truly was a marvelous ship!") + + +sm.OnOffLayer_Off(300, "d0", 0) +sm.OnOffLayer_On(300, "d1", 0, -80, -1, "Effect/Direction17.img/effect/ark/illust/13/1", 4, 1, -1, 0) +sm.sendDelay(300) + + +sm.OnOffLayer_Move(300, "d1", -30, -30) +sm.sendDelay(300) + + +sm.OnOffLayer_Move(300, "d1", 30, -30) +sm.sendDelay(300) + + +sm.OnOffLayer_Move(300, "d1", -30, 30) +sm.sendDelay(300) + + +sm.OnOffLayer_Move(300, "d1", 30, 30) +sm.sendDelay(300) + + +sm.setSpeakerID(3001508) +sm.setSpeakerType(3) +sm.removeEscapeButton() +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendNext("#face3#But one day, we had to make an emergency landing of sorts... here.") + + +sm.setSpeakerID(3001508) +sm.setSpeakerType(3) +sm.removeEscapeButton() +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendSay("#face2#Unfortunately, this place had a strange sort of vortex that drew our ship toward it.") + + +sm.setSpeakerID(3001508) +sm.setSpeakerType(3) +sm.removeEscapeButton() +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendSay("#face3#We tried everything, but we couldn't escape the planet's pull.") + + +sm.OnOffLayer_Off(500, "d1", 0) +sm.blind(1, 255, 0, 0, 0, 0, 0) +sm.sendDelay(1200) + + +sm.blind(0, 0, 0, 0, 0, 1000, 0) +sm.sendDelay(1400) + + +sm.setSpeakerID(3001508) +sm.setSpeakerType(3) +sm.removeEscapeButton() +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendNext("#face2#The next thing we knew, we were stuck in this wasteland, and our ship was nowhere to be found...") + + +sm.setSpeakerID(3001508) +sm.setSpeakerType(3) +sm.removeEscapeButton() +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendSay("#face3#After wandering for days, we came to realize there's nothing here, nothing we can use to escape, no one to help us.") + + +sm.setSpeakerID(3001508) +sm.setSpeakerType(3) +sm.removeEscapeButton() +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendSay("#face2#But we were determined. So we gathered every scrap we could find, made this refuge, and began scavenging for food.") + + +sm.setSpeakerID(3001508) +sm.setSpeakerType(3) +sm.removeEscapeButton() +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendSay("#face2#All we can do now is survive and hope that one day we can find a way out of here.") + + +sm.setSpeakerID(3001508) +sm.setSpeakerType(3) +sm.removeEscapeButton() +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendSay("#face0#Then we can begin our search for paradise again. Ferret is always working on ways to find the ship's signal.") + + +sm.setSpeakerID(3001508) +sm.setSpeakerType(3) +sm.removeEscapeButton() +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendSay("#face0#And that's our story. I wish I had more to tell you, but I have to get back to rebuilding the refuge.") + + +sm.setSpeakerID(3001500) +sm.setSpeakerType(3) +sm.removeEscapeButton() +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendSay("#face0#(Maybe we can't get off-planet right now, but there must be a way...)") + + +sm.blind(1, 255, 0, 0, 0, 0, 0) +sm.sendDelay(1200) + + +sm.blind(0, 0, 0, 0, 0, 1000, 0) +sm.sendDelay(1400) + + +sm.sendDelay(1500) + + +sm.completeQuest(34916) +sm.giveExp(339) +# Update Quest Record EX | Quest ID: [34916] | Data: exp=1 +sm.setTemporarySkillSet(0) +sm.setInGameDirectionMode(False, True, False, False) diff --git a/scripts/quest/q34916s.py b/scripts/quest/q34916s.py new file mode 100755 index 0000000..1085f25 --- /dev/null +++ b/scripts/quest/q34916s.py @@ -0,0 +1,110 @@ +# Created by MechAviv +# Quest ID :: 34916 +# Not coded yet + +sm.setSpeakerID(3001508) +sm.setSpeakerType(3) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendNext("#face2#We're so grateful to you for saving Mar. I'd like to pay you back, but... Well, as you can see, we don't have much to offer.") + + +sm.setSpeakerID(3001500) +sm.setSpeakerType(3) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendSay("#face0#Actually, there are some questions I'd like to ask you. Would you be willing to answer them?") + + +sm.setSpeakerID(3001508) +sm.setSpeakerType(3) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendSay("#face2#Well, I'm not sure I know anything you'd be interested in, but I'll do my best.") + + +sm.setSpeakerID(3001500) +sm.setSpeakerType(3) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendSay("#face0#(As you explain your predicament and insist that you need to find a way to get off the planet, Zippy looks crestfallen.)") + + +sm.setSpeakerID(3001508) +sm.setSpeakerType(3) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendSay("#face3#We don't know how to get out of here either. ") + + +sm.setSpeakerID(3001500) +sm.setSpeakerType(3) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendSay("#face2#What!?") + + +sm.setSpeakerID(3001508) +sm.setSpeakerType(3) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendSay("#face3#The other caravaners and I... we're not here by choice.") + + +sm.setSpeakerID(3001508) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +if sm.sendAskAccept("#face0#I don't know much about this planet, but I can tell you more about our story."): + sm.setSpeakerID(3001508) + sm.setSpeakerType(3) + sm.flipDialogue() + sm.setBoxChat() + sm.boxChatPlayerAsSpeaker() + sm.setBoxOverrideSpeaker() + sm.flipBoxChat() + sm.flipBoxChatPlayerAsSpeaker() + sm.setColor(1) + sm.sendNext("#face0#Just give me a moment to organize my thoughts.") + + + sm.startQuest(34916) diff --git a/scripts/quest/q34917e.py b/scripts/quest/q34917e.py new file mode 100755 index 0000000..5585b83 --- /dev/null +++ b/scripts/quest/q34917e.py @@ -0,0 +1,41 @@ +# Created by MechAviv +# Quest ID :: 34917 +# Not coded yet + +# Inventory Operation with 1 operations. +sm.completeQuest(34917) +sm.giveExp(480) +sm.setSpeakerID(3001508) +sm.setSpeakerType(3) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendNext("#face0#Thank you for getting these so quickly! This will really help.") + + +sm.setSpeakerID(3001508) +sm.setSpeakerType(3) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendSay("#face0#Oh, and if you have any trouble getting back to the refuge, remember that you can get back through the Maple Guide.") + + +sm.setSpeakerID(3001508) +sm.setSpeakerType(3) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendSay("#face0#We trust you now. Please take good care of the refuge!") \ No newline at end of file diff --git a/scripts/quest/q34917s.py b/scripts/quest/q34917s.py new file mode 100755 index 0000000..269594f --- /dev/null +++ b/scripts/quest/q34917s.py @@ -0,0 +1,87 @@ +# Created by MechAviv +# Quest ID :: 34917 +# Not coded yet + +sm.setSpeakerID(3001508) +sm.setSpeakerType(3) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendNext("#face3#Was there something else? Or... is something wrong?") + + +sm.setSpeakerID(3001500) +sm.setSpeakerType(3) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendSay("#face0#I'll stay here at the refuge and help you. Like you said, survival first, right?") + + +sm.setSpeakerID(3001508) +sm.setSpeakerType(3) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendSay("#face2#We haven't even paid you back for saving Mar, but we really could use the help...") + + +sm.setSpeakerID(3001500) +sm.setSpeakerType(3) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendSay("#face4#Don't worry. Helping you and finding a way out of here benefits all of us.") + + +sm.setSpeakerID(3001508) +sm.setSpeakerType(3) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendSay("#face2#So, we're helping each other out. Okay. In that case, we could really use medical supplies to treat the wounded.") + + +sm.setSpeakerID(3001508) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +if sm.sendAskAccept("#face2#Bring #b20#k #i4036344# #b#t4036344##k items from #o2400350# in #r#m402000610##k."): + sm.setSpeakerID(3001508) + sm.setSpeakerType(3) + sm.flipDialogue() + sm.setBoxChat() + sm.boxChatPlayerAsSpeaker() + sm.setBoxOverrideSpeaker() + sm.flipBoxChat() + sm.flipBoxChatPlayerAsSpeaker() + sm.setColor(1) + sm.sendNext("#face2#I'm sorry again for being so mean to you before. Can't be too careful. See you soon!") + + + sm.startQuest(34917) + # [START_NAVIGATION] [E2 0A F6 17 00 00 00 00 00 00 ] \ No newline at end of file diff --git a/scripts/quest/q34918e.py b/scripts/quest/q34918e.py new file mode 100755 index 0000000..821981d --- /dev/null +++ b/scripts/quest/q34918e.py @@ -0,0 +1,78 @@ +# Created by MechAviv +# Quest ID :: 34918 +# Not coded yet + +sm.setSpeakerID(3001500) +sm.setSpeakerType(3) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendNext("#face0#I'm here to help the refuge reconstruction effort. What can I do?") + + +sm.setSpeakerID(3001509) +sm.setSpeakerType(3) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendSay("#face3#Ah! I never should have doubted you.\r\nI'm so glad you're willing to help the refuge.") + + +sm.setSpeakerID(3001500) +sm.setSpeakerType(3) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendSay("#face0#(I guess it wouldn't be the same if Salvo didn't sing the story of the refuge to me.)") + + +sm.setSpeakerID(3001500) +sm.setSpeakerType(3) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendSay("#face0#(The caravan's had a tough life to begin with, but what Salvo's saying sounds like it got a lot worse after the monsters started attacking.)") + + +sm.setSpeakerID(3001500) +sm.setSpeakerType(3) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendSay("#face0#(The refuge has been plagued by Specters bent on destruction.)") + + +sm.setSpeakerID(3001509) +sm.setSpeakerType(3) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendSay("#face4#Ohhh, food boosts caravan moraaale.\r\nMaybe one day the refuge will have a full choraaale.") + + +sm.completeQuest(parentID) +sm.giveExp(537) diff --git a/scripts/quest/q34918s.py b/scripts/quest/q34918s.py new file mode 100755 index 0000000..df1c748 --- /dev/null +++ b/scripts/quest/q34918s.py @@ -0,0 +1,27 @@ +# Created by MechAviv +# Quest ID :: 34918 +# Not coded yet + +sm.setSpeakerID(3001508) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +if sm.sendAskAccept("#face0#That's perfect! And now, do you think you could help gather food?"): + sm.setSpeakerID(3001508) + sm.setSpeakerType(3) + sm.flipDialogue() + sm.setBoxChat() + sm.boxChatPlayerAsSpeaker() + sm.setBoxOverrideSpeaker() + sm.flipBoxChat() + sm.flipBoxChatPlayerAsSpeaker() + sm.setColor(1) + sm.sendNext("#face0#Salvo organizes food procurement. If you find him, I'm sure he'll be able to tell you what we need.") + + + sm.startQuest(34918) + # [START_NAVIGATION] [D8 0A F6 17 01 00 00 00 07 00 33 30 30 31 34 30 31 ] \ No newline at end of file diff --git a/scripts/quest/q34919e.py b/scripts/quest/q34919e.py new file mode 100755 index 0000000..3614447 --- /dev/null +++ b/scripts/quest/q34919e.py @@ -0,0 +1,21 @@ +# Created by MechAviv +# Quest ID :: 34919 +# Not coded yet + +# Inventory Operation with 1 operations. +sm.completeQuest(34919) +sm.giveExp(678) +# Update Quest Record EX | Quest ID: [34919] | Data: exp=1 +sm.setSpeakerID(3001509) +sm.setSpeakerType(3) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendNext("#face2#Lots of meat! Such a tasty treat! No worries for a beat!") + + +# Unhandled Message [47] Packet: 2F 01 00 00 00 40 9C 00 00 00 00 00 00 28 00 00 00 00 00 00 80 05 BB 46 E6 17 02 0C 00 75 73 65 72 5F 6C 76 75 70 3D 31 33 diff --git a/scripts/quest/q34919s.py b/scripts/quest/q34919s.py new file mode 100755 index 0000000..c4f5f11 --- /dev/null +++ b/scripts/quest/q34919s.py @@ -0,0 +1,28 @@ +# Created by MechAviv +# Quest ID :: 34919 +# Not coded yet + +sm.setSpeakerID(3001509) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +if sm.sendAskAccept("#face4#On this planet, the caravan eats #o2400351# from #r#m402000611##k!\r\n You'd really be helping if you could get us #i4036345# #b#t4036345##k x20!"): + sm.setSpeakerID(3001509) + sm.setSpeakerType(3) + sm.flipDialogue() + sm.setBoxChat() + sm.boxChatPlayerAsSpeaker() + sm.setBoxOverrideSpeaker() + sm.flipBoxChat() + sm.flipBoxChatPlayerAsSpeaker() + sm.setColor(1) + sm.sendNext("#face3#Ohhh, our staple food tastes so very very baaad.\r\nBut singing while eating makes me so very very glaaad!") + + + # Unhandled Message [47] Packet: 2F 01 00 00 00 40 9C 00 00 00 00 00 00 28 00 00 00 00 00 00 80 05 BB 46 E6 17 02 0C 00 75 73 65 72 5F 6C 76 75 70 3D 31 32 + sm.startQuest(34919) + # [START_NAVIGATION] [E3 0A F6 17 00 00 00 00 00 00 ] \ No newline at end of file diff --git a/scripts/quest/q34920e.py b/scripts/quest/q34920e.py new file mode 100755 index 0000000..9444dff --- /dev/null +++ b/scripts/quest/q34920e.py @@ -0,0 +1,78 @@ +# Created by MechAviv +# Quest ID :: 34920 +# Not coded yet + +sm.setSpeakerID(3001510) +sm.setSpeakerType(3) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendNext("#face2#Zzz... Ah! Suspicious signal! Right... near... uh...") + + +sm.setSpeakerID(3001500) +sm.setSpeakerType(3) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendSay("#face0#I'm here to help the refuge reconstruction effort. What can I do?") + + +sm.setSpeakerID(3001510) +sm.setSpeakerType(3) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendSay("#face4#More help! Great! And don't forget, you never saw me snoozing on the job, okay?") + + +sm.setSpeakerID(3001510) +sm.setSpeakerType(3) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendSay("#face0#Rebuilding the refuge is top priority. Of course, we can't live like this forever.") + + +sm.setSpeakerID(3001510) +sm.setSpeakerType(3) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendSay("#face1#Survival is just the means to an end. One day, we'll find our ship again and get out of here. All I have to do is find the signal.") + + +sm.setSpeakerID(3001510) +sm.setSpeakerType(3) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendSay("#face4#For now, I'll take all the help I can get, and I have the perfect job for you.") + + +sm.completeQuest(34920) +sm.giveExp(734) \ No newline at end of file diff --git a/scripts/quest/q34920s.py b/scripts/quest/q34920s.py new file mode 100755 index 0000000..dcd0303 --- /dev/null +++ b/scripts/quest/q34920s.py @@ -0,0 +1,30 @@ +# Created by MechAviv +# Quest ID :: 34920 +# Not coded yet + +sm.setSpeakerID(3001509) +sm.setSpeakerType(3) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendNext("#face2#We've got everything we need here now! I heard they need help repairing armor over at the temporary base camp.") + + +sm.setSpeakerID(3001509) +sm.setSpeakerType(3) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendSay("#face1#You'll find that mean Ferret to the left of #m402000600#. He may annoy me, but I guess he's still part of my family!") + + +sm.startQuest(34920) +# [START_NAVIGATION] [D8 0A F6 17 01 00 00 00 07 00 33 30 30 31 34 30 32 ] \ No newline at end of file diff --git a/scripts/quest/q34921e.py b/scripts/quest/q34921e.py new file mode 100755 index 0000000..3e22ad9 --- /dev/null +++ b/scripts/quest/q34921e.py @@ -0,0 +1,18 @@ +# Created by MechAviv +# Quest ID :: 34921 +# Not coded yet + +# Inventory Operation with 1 operations. +sm.completeQuest(34921) +sm.giveExp(875) +# Update Quest Record EX | Quest ID: [34921] | Data: exp=1 +sm.setSpeakerID(3001510) +sm.setSpeakerType(3) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendNext("#face4#This will be a big help with the repairs! Thanks!") \ No newline at end of file diff --git a/scripts/quest/q34921s.py b/scripts/quest/q34921s.py new file mode 100755 index 0000000..3467a4d --- /dev/null +++ b/scripts/quest/q34921s.py @@ -0,0 +1,27 @@ +# Created by MechAviv +# Quest ID :: 34921 +# Not coded yet + +sm.setSpeakerID(3001510) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +if sm.sendAskAccept("#face0#We use #i4036346# #b#t4036346##k from #o2400352# at #r#m402000612##k for all kinds of refuge and armor repairs. Why don't you bring back #b20#k for me?"): + sm.setSpeakerID(3001510) + sm.setSpeakerType(3) + sm.flipDialogue() + sm.setBoxChat() + sm.boxChatPlayerAsSpeaker() + sm.setBoxOverrideSpeaker() + sm.flipBoxChat() + sm.flipBoxChatPlayerAsSpeaker() + sm.setColor(1) + sm.sendNext("#face0#It's not perfect, but #t4036346# is the toughest material we've got out here. See what you can find.") + + + sm.startQuest(34921) + # [START_NAVIGATION] [E4 0A F6 17 00 00 00 00 00 00 ] \ No newline at end of file diff --git a/scripts/quest/q34922e.py b/scripts/quest/q34922e.py new file mode 100755 index 0000000..b7b01fd --- /dev/null +++ b/scripts/quest/q34922e.py @@ -0,0 +1,153 @@ +# Created by MechAviv +# Quest ID :: 34922 +# Not coded yet + +# Inventory Operation with 1 operations. +sm.curNodeEventEnd(True) +sm.setTemporarySkillSet(0) +sm.setInGameDirectionMode(True, False, False, False) +sm.showFadeTransition(0, 1000, 3000) +sm.zoomCamera(0, 1000, 2147483647, 2147483647, 2147483647) + + +sm.moveCamera(True, 0, 0, 0) + + +sm.sendDelay(300) + + +sm.removeOverlapScreen(1000) +sm.zoomCamera(0, 2000, 0, 900, 150) + + +sm.teleportInField(756, 90) +sm.forcedFlip(False) +sm.setSpeakerID(3001500) +sm.setSpeakerType(3) +sm.removeEscapeButton() +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendNext("#face0#Phew! Done with repairs! Guess I'll go talk to Ferret again.") + + +sm.showNpcSpecialActionByTemplateId(3001511, "summon", 0) +sm.moveNpcByTemplateId(3001511, False, 300, 100) +sm.sendDelay(1000) + + +sm.setSpeakerID(3001500) +sm.setSpeakerType(3) +sm.removeEscapeButton() +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendNext("#face2#Isn't that... Mar?") + + +sm.setSpeakerID(3001500) +sm.setSpeakerType(3) +sm.removeEscapeButton() +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendSay("#face2#What's he doing going outside the refuge?") + + +sm.zoomCamera(2000, 2000, 2000, 1200, 150) + + +sm.forcedMove(False, 300) +sm.sendDelay(2000) + + +sm.flipNpcByTemplateId(3001511, True) +sm.showNpcSpecialActionByTemplateId(3001511, "falldown", 0) +sm.sendDelay(3500) + + +sm.setSpeakerID(3001500) +sm.setSpeakerType(3) +sm.removeEscapeButton() +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendNext("#face2#Mar, what are you doing? It's dangerous out there!") + + +# Unhandled Stat Changed [MP] Packet: 00 00 00 10 00 00 00 00 00 00 FB 00 00 00 FF 00 00 00 00 +sm.setSpeakerID(3001511) +sm.setSpeakerType(3) +sm.removeEscapeButton() +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendSay("#face2#Hehe...") + + +sm.flipNpcByTemplateId(3001511, False) +sm.moveNpcByTemplateId(3001511, False, 150, 100) +sm.sendDelay(500) + + +sm.forcedMove(False, 300) +sm.setSpeakerID(3001500) +sm.setSpeakerType(3) +sm.removeEscapeButton() +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendNext("#face4#Where is he going...? Guess I'll follow for now.") + + +sm.zoomCamera(500, 2000, 500, 1300, 150) + + +sm.sendDelay(1000) + + +sm.completeQuest(34922) +# Unhandled Stat Changed [EXP] Packet: 00 00 00 00 01 00 00 00 00 00 51 06 00 00 00 00 00 00 FF 00 00 00 00 +sm.giveExp(932) +# Update Quest Record EX | Quest ID: [34922] | Data: exp=1 +# Update Quest Record EX | Quest ID: [34995] | Data: 00=h1;01=h1;10=h0;02=h1;11=h0;12=h0;04=h1;13=h0;05=h0;14=h0;23=h0;06=h0;15=h0;24=h0;07=h0;16=h0;17=h0;09=h0 +sm.showFadeTransition(0, 1000, 3000) +sm.zoomCamera(0, 1000, 2147483647, 2147483647, 2147483647) + + +sm.moveCamera(True, 0, 0, 0) + + +sm.sendDelay(300) + + +sm.removeOverlapScreen(1000) +sm.setStandAloneMode(False) +sm.setTemporarySkillSet(0) +sm.setInGameDirectionMode(False, True, False, False) +# Unhandled Message [47] Packet: 2F 07 00 00 00 40 9C 00 00 00 00 00 00 28 00 00 00 00 00 00 80 05 BB 46 E6 17 02 0C 00 75 73 65 72 5F 6C 76 75 70 3D 31 36 B8 58 08 00 00 00 00 00 23 02 00 00 00 00 00 80 05 BB 46 E6 17 02 0D 00 6D 6F 62 5F 6B 69 6C 6C 3D 34 36 32 39 58 68 08 00 00 00 00 00 27 02 00 00 00 00 00 80 05 BB 46 E6 17 02 0D 00 6D 6F 62 5F 6B 69 6C 6C 3D 34 36 32 39 B0 83 08 00 00 00 00 00 2E 02 00 00 00 00 00 80 05 BB 46 E6 17 02 00 00 70 5E 09 00 00 00 00 00 66 02 00 00 00 00 00 80 05 BB 46 E6 17 02 13 00 63 6F 6D 62 6F 6B 69 6C 6C 5F 69 6E 63 72 65 73 65 3D 37 C8 E4 0C 00 00 00 00 00 4D 03 00 00 00 00 00 80 05 BB 46 E6 17 02 1D 00 70 69 63 6B 75 70 5F 6D 6F 62 5F 72 65 77 61 72 64 5F 6D 65 73 6F 3D 35 36 37 31 37 30 80 F0 0C 00 00 00 00 00 50 03 00 00 00 00 00 80 05 BB 46 E6 17 02 1D 00 70 69 63 6B 75 70 5F 6D 6F 62 5F 72 65 77 61 72 64 5F 6D 65 73 6F 3D 35 36 37 31 37 30 +#sm.warp(402000613, 0) not sure \ No newline at end of file diff --git a/scripts/quest/q34922s.py b/scripts/quest/q34922s.py new file mode 100755 index 0000000..6f183c8 --- /dev/null +++ b/scripts/quest/q34922s.py @@ -0,0 +1,39 @@ +# Created by MechAviv +# Quest ID :: 34922 +# Not coded yet + +sm.setSpeakerID(3001510) +sm.setSpeakerType(3) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendNext("#face0#This should be plenty to do the repairs we need. You've been working pretty hard today. Why don't you take a break?") + + +sm.setSpeakerID(3001510) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +if sm.sendAskAccept("#face0#Oh, but before you do, could you put the scrap material into storage? We can't afford to waste anything."): + sm.setSpeakerID(3001510) + sm.setSpeakerType(3) + sm.flipDialogue() + sm.setBoxChat() + sm.boxChatPlayerAsSpeaker() + sm.setBoxOverrideSpeaker() + sm.flipBoxChat() + sm.flipBoxChatPlayerAsSpeaker() + sm.setColor(1) + sm.sendNext("#face0#Storage is down to your right there. If you've got time, come back, and I'll teach you how to relax caravan style.") + + + sm.startQuest(34922) + # [START_NAVIGATION] [D8 0A F6 17 01 00 00 00 07 00 33 30 30 31 34 30 33 ] \ No newline at end of file diff --git a/scripts/quest/q34923e.py b/scripts/quest/q34923e.py new file mode 100755 index 0000000..856309f --- /dev/null +++ b/scripts/quest/q34923e.py @@ -0,0 +1,38 @@ +# Created by MechAviv +# Quest ID :: 34923 +# Not coded yet + +# Unhandled Message [47] Packet: 2F 03 00 00 00 B0 83 08 00 00 00 00 00 2E 02 00 00 00 00 00 80 05 BB 46 E6 17 02 00 00 C8 E4 0C 00 00 00 00 00 4D 03 00 00 00 00 00 80 05 BB 46 E6 17 02 1D 00 70 69 63 6B 75 70 5F 6D 6F 62 5F 72 65 77 61 72 64 5F 6D 65 73 6F 3D 35 36 37 35 38 30 80 F0 0C 00 00 00 00 00 50 03 00 00 00 00 00 80 05 BB 46 E6 17 02 1D 00 70 69 63 6B 75 70 5F 6D 6F 62 5F 72 65 77 61 72 64 5F 6D 65 73 6F 3D 35 36 37 35 38 30 +sm.setSpeakerID(3001511) +sm.setSpeakerType(3) +sm.removeEscapeButton() +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendNext("#face0#You're so nice!") + + +sm.setSpeakerID(3001511) +sm.setSpeakerType(3) +sm.removeEscapeButton() +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendSay("#face2#They're so pretty and shiny... I love shinies!") + + +# Inventory Operation with 1 operations. +sm.completeQuest(34923) +# Update Quest Record EX | Quest ID: [34995] | Data: 00=h1;10=h0;01=h1;11=h0;02=h1;12=h0;13=h0;04=h0;23=h0;14=h0;05=h0;24=h0;15=h0;06=h0;16=h0;07=h0;17=h0;09=h0 +# Unhandled Stat Changed [EXP] Packet: 00 00 00 00 01 00 00 00 00 00 D2 05 00 00 00 00 00 00 FF 00 00 00 00 +sm.giveExp(1073) +# Update Quest Record EX | Quest ID: [34923] | Data: exp=1 +# Unhandled Message [47] Packet: 2F 0B 00 00 00 40 9C 00 00 00 00 00 00 28 00 00 00 00 00 00 80 05 BB 46 E6 17 02 0C 00 75 73 65 72 5F 6C 76 75 70 3D 31 38 B8 58 08 00 00 00 00 00 23 02 00 00 00 00 00 80 05 BB 46 E6 17 02 0D 00 6D 6F 62 5F 6B 69 6C 6C 3D 34 37 31 36 58 68 08 00 00 00 00 00 27 02 00 00 00 00 00 80 05 BB 46 E6 17 02 0D 00 6D 6F 62 5F 6B 69 6C 6C 3D 34 37 31 36 B0 83 08 00 00 00 00 00 2E 02 00 00 00 00 00 80 05 BB 46 E6 17 02 00 00 70 5E 09 00 00 00 00 00 66 02 00 00 00 00 00 80 05 BB 46 E6 17 02 14 00 63 6F 6D 62 6F 6B 69 6C 6C 5F 69 6E 63 72 65 73 65 3D 33 34 E0 75 09 00 00 00 00 00 6C 02 00 00 00 00 00 80 05 BB 46 E6 17 02 0D 00 6D 75 6C 74 69 6B 69 6C 6C 3D 33 38 36 98 81 09 00 00 00 00 00 6F 02 00 00 00 00 00 80 05 BB 46 E6 17 02 0D 00 6D 75 6C 74 69 6B 69 6C 6C 3D 33 38 36 80 85 09 00 00 00 00 00 70 02 00 00 00 00 00 80 05 BB 46 E6 17 02 0B 00 6D 75 6C 74 69 6B 69 6C 6C 3D 36 C8 E4 0C 00 00 00 00 00 4D 03 00 00 00 00 00 80 05 BB 46 E6 17 02 1D 00 70 69 63 6B 75 70 5F 6D 6F 62 5F 72 65 77 61 72 64 5F 6D 65 73 6F 3D 35 36 37 35 38 30 80 F0 0C 00 00 00 00 00 50 03 00 00 00 00 00 80 05 BB 46 E6 17 02 1D 00 70 69 63 6B 75 70 5F 6D 6F 62 5F 72 65 77 61 72 64 5F 6D 65 73 6F 3D 35 36 37 35 38 30 40 1E 15 00 00 00 00 00 68 05 00 00 00 00 00 80 05 BB 46 E6 17 02 0B 00 6D 75 6C 74 69 6B 69 6C 6C 3D 36 diff --git a/scripts/quest/q34923s.py b/scripts/quest/q34923s.py new file mode 100755 index 0000000..8dceabe --- /dev/null +++ b/scripts/quest/q34923s.py @@ -0,0 +1,50 @@ +# Created by MechAviv +# Quest ID :: 34923 +# Not coded yet + +sm.setSpeakerID(3001511) +sm.setSpeakerType(3) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendNext("#face0#You're strong!") + + +sm.setSpeakerID(3001511) +sm.setSpeakerType(3) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendSay("#face2#Maybe you're strong enough to make my wish come true!") + + +sm.setSpeakerID(3001511) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +if sm.sendAskAccept("#face0#I wish for #b10#k #i4036347# #b#t4036347##k items! The #o2400353# right in front have it!"): + sm.setSpeakerID(3001511) + sm.setSpeakerType(3) + sm.flipDialogue() + sm.setBoxChat() + sm.boxChatPlayerAsSpeaker() + sm.setBoxOverrideSpeaker() + sm.flipBoxChat() + sm.flipBoxChatPlayerAsSpeaker() + sm.setColor(1) + sm.sendNext("#face2#Oh, good! But I can't tell you what I want them for. It's tippy top secret!") + + + sm.startQuest(34923) \ No newline at end of file diff --git a/scripts/quest/q34924e.py b/scripts/quest/q34924e.py new file mode 100755 index 0000000..7110ed3 --- /dev/null +++ b/scripts/quest/q34924e.py @@ -0,0 +1,92 @@ +# Created by MechAviv +# Quest ID :: 34924 +# Not coded yet + +sm.setSpeakerID(3001508) +sm.setSpeakerType(3) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendNext("#face0#Ferret, see the empty space there? Ark says this ship will work if we can find the Crystal Energy Shard that fits into it.") + + +sm.setSpeakerID(3001510) +sm.setSpeakerType(3) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendSay("#face0#...") + + +sm.setSpeakerID(3001510) +sm.setSpeakerType(3) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendSay("#face0#Hm, okay... I just need to pick up this signal...") + + +sm.setSpeakerID(3001508) +sm.setSpeakerType(3) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendSay("#face3#Oh, please! I really hope you've got enough to go on.") + + +sm.setSpeakerID(3001510) +sm.setSpeakerType(3) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendSay("#face4#Ha! Got it! It's weak, but it should be enough. If we can find the complementary signal to this, we'll find the crystal.") + + +# Unhandled Message [47] Packet: 2F 01 00 00 00 B0 83 08 00 00 00 00 00 2E 02 00 00 00 00 00 80 05 BB 46 E6 17 02 00 00 +sm.setSpeakerID(3001510) +sm.setSpeakerType(3) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendSay("#face0#But, the signal we're looking for seems to be scattered. Like it's broken maybe?") + + +sm.setSpeakerID(3001510) +sm.setSpeakerType(3) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendSay("#face0#It's close by, but also far away. I'm just not sure.") + + +sm.completeQuest(34924) +sm.createQuestWithQRValue(11620, "0") +sm.giveExp(1997) diff --git a/scripts/quest/q34924s.py b/scripts/quest/q34924s.py new file mode 100755 index 0000000..6eeae52 --- /dev/null +++ b/scripts/quest/q34924s.py @@ -0,0 +1,88 @@ +# Created by MechAviv +# Quest ID :: 34924 +# Not coded yet + +sm.setSpeakerID(3001500) +sm.setSpeakerType(3) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendNext("#face0#I remembered something! That crystal near the refuge... It's broken, but there may be hope for getting out of here after all. It's linked to a transport! All we have to do is find all the pieces to get power flowing!") + + +sm.setSpeakerID(3001508) +sm.setSpeakerType(3) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendSay("#face2#Wait... You mean if we find the power source, we could use that thing to get out of here?!") + + +sm.setSpeakerID(3001508) +sm.setSpeakerType(3) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendSay("#face0#What are the chances of finding something like that in this wasteland? This is great!") + + +sm.setSpeakerID(3001508) +sm.setSpeakerType(3) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendSay("#face2#This is just what we need for morale! Hope!") + + +sm.setSpeakerID(3001508) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +if sm.sendAskAccept("#face0#You're going to help us find it, right?\r\n#b(If you accept, you'll travel to #m402000614# automatically.)#k"): + sm.setSpeakerID(3001508) + sm.setSpeakerType(3) + sm.flipDialogue() + sm.setBoxChat() + sm.boxChatPlayerAsSpeaker() + sm.setBoxOverrideSpeaker() + sm.flipBoxChat() + sm.flipBoxChatPlayerAsSpeaker() + sm.setColor(1) + sm.sendNext("#face0#All we need now is help from someone who knows a thing or two about finding stuff.") + + + sm.setSpeakerID(3001508) + sm.setSpeakerType(3) + sm.flipDialogue() + sm.setBoxChat() + sm.boxChatPlayerAsSpeaker() + sm.setBoxOverrideSpeaker() + sm.flipBoxChat() + sm.flipBoxChatPlayerAsSpeaker() + sm.setColor(1) + sm.sendSay("#face0#I'll get Ferret and meet you at the crystal.") + + + sm.startQuest(34924) + # Unhandled Message [47] Packet: 2F 01 00 00 00 B0 83 08 00 00 00 00 00 2E 02 00 00 00 00 00 80 05 BB 46 E6 17 02 00 00 + sm.warp(402000614, 0) diff --git a/scripts/quest/q34925e.py b/scripts/quest/q34925e.py new file mode 100755 index 0000000..9544a7a --- /dev/null +++ b/scripts/quest/q34925e.py @@ -0,0 +1,44 @@ +# Created by MechAviv +# Quest ID :: 34925 +# Not coded yet + +sm.setSpeakerID(3001508) +sm.setSpeakerType(3) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendNext("#face0#I'll gather rations, weapons, and armor from the other caravaners in the refuge.") + + +sm.setSpeakerID(3001508) +sm.setSpeakerType(3) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendSay("#face2#Ark, Ferret, and Salvo will need help getting organized and ready. Please take care of them.") + + +# Unhandled Message [47] Packet: 2F 01 00 00 00 B0 83 08 00 00 00 00 00 2E 02 00 00 00 00 00 80 05 BB 46 E6 17 02 00 00 +sm.setSpeakerID(3001508) +sm.setSpeakerType(3) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendSay("#face0#Visit Ferret first, then help Salvo. Once that's taken care of, we can meet up.") + + +sm.completeQuest(34925) +sm.giveExp(2819) +# Update Quest Record EX | Quest ID: [34925] | Data: exp=1 diff --git a/scripts/quest/q34925s.py b/scripts/quest/q34925s.py new file mode 100755 index 0000000..9b69104 --- /dev/null +++ b/scripts/quest/q34925s.py @@ -0,0 +1,93 @@ +# Created by MechAviv +# Quest ID :: 34925 +# Not coded yet + +sm.setSpeakerID(3001508) +sm.setSpeakerType(3) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendNext("#face0#We've got to find it. Looks like we've got no choice but to form a recovery team.") + + +sm.setSpeakerID(3001508) +sm.setSpeakerType(3) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendSay("#face0#Let's say... Ferret, Salvo, and-") + + +sm.setSpeakerID(3001510) +sm.setSpeakerType(3) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendSay("#face3#Ah! I don't want to go with him!") + + +# Unhandled Message [47] Packet: 2F 01 00 00 00 40 9C 00 00 00 00 00 00 28 00 00 00 00 00 00 80 05 BB 46 E6 17 02 0C 00 75 73 65 72 5F 6C 76 75 70 3D 31 39 +sm.setSpeakerID(3001508) +sm.setSpeakerType(3) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendSay("#face0#Ark, would you join the team too?") + + +sm.setSpeakerID(3001500) +sm.setSpeakerType(3) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendSay("#face0#(Seeing more of this place might help me recover more of my memory.)") + + +sm.setSpeakerID(3001500) +sm.setSpeakerType(3) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendSay("#face0#Yeah, I'll help.") + + +sm.setSpeakerID(3001508) +sm.setSpeakerType(3) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendSay("#face0#Okay, then we should head back to the refuge and get ready. And Ferret, see if you can figure out what's wrong with the signal detector.") + + +sm.startQuest(34925) +# Update Quest Record EX | Quest ID: [34995] | Data: 00=h1;10=h0;01=h1;11=h0;02=h1;12=h0;13=h0;04=h0;23=h0;14=h0;05=h0;24=h0;15=h0;06=h0;16=h0;07=h0;17=h0;09=h0 +# Unhandled Message [47] Packet: 2F 02 00 00 00 40 9C 00 00 00 00 00 00 28 00 00 00 00 00 00 80 05 BB 46 E6 17 02 0C 00 75 73 65 72 5F 6C 76 75 70 3D 31 39 B0 83 08 00 00 00 00 00 2E 02 00 00 00 00 00 80 05 BB 46 E6 17 02 00 00 +sm.warp(402000600, 3) diff --git a/scripts/quest/q34926e.py b/scripts/quest/q34926e.py new file mode 100755 index 0000000..98d97c1 --- /dev/null +++ b/scripts/quest/q34926e.py @@ -0,0 +1,30 @@ +# Created by MechAviv +# Quest ID :: 34926 +# Not coded yet + +# Inventory Operation with 1 operations. +sm.completeQuest(34926) +sm.giveExp(3993) +# Update Quest Record EX | Quest ID: [34926] | Data: exp=1 +sm.setSpeakerID(3001510) +sm.setSpeakerType(3) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendNext("#face0#You're back! That ought to be enough. Thanks!") + + +sm.setSpeakerID(3001510) +sm.setSpeakerType(3) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendSay("#face2#I'll get started on this signal device. Why don't you see if Salvo needs help now?") diff --git a/scripts/quest/q34926s.py b/scripts/quest/q34926s.py new file mode 100755 index 0000000..23852f2 --- /dev/null +++ b/scripts/quest/q34926s.py @@ -0,0 +1,63 @@ +# Created by MechAviv +# Quest ID :: 34926 +# Not coded yet + +sm.setSpeakerID(3001510) +sm.setSpeakerType(3) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendNext("#face0#Whenever we explore, it's inevitable that we will be separated at some point. That's why we need a special signal device.") + + +sm.setSpeakerID(3001510) +sm.setSpeakerType(3) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendSay("#face1#This one has a unique signal we can use to find each other.") + + +sm.setSpeakerID(3001510) +sm.setSpeakerType(3) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendSay("#face0#Since you're new, we'll have to make a new device for you. And mine needs to be repaired.") + + +sm.setSpeakerID(3001510) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +if sm.sendAskAccept("#face4#We'll need a lot of supplies. Try finding #b20#k #i4036348# #b#t4036348##k items from #o2400354# monsters in #r#m402000616##k."): + sm.setSpeakerID(3001510) + sm.setSpeakerType(3) + sm.flipDialogue() + sm.setBoxChat() + sm.boxChatPlayerAsSpeaker() + sm.setBoxOverrideSpeaker() + sm.flipBoxChat() + sm.flipBoxChatPlayerAsSpeaker() + sm.setColor(1) + sm.sendNext("#face0#I'll stay here and do some equipment maintenance to prep for the expedition.") + + + sm.startQuest(34926) + # [START_NAVIGATION] [E8 0A F6 17 00 00 00 00 00 00 ] diff --git a/scripts/quest/q34927e.py b/scripts/quest/q34927e.py new file mode 100755 index 0000000..c89bb8a --- /dev/null +++ b/scripts/quest/q34927e.py @@ -0,0 +1,30 @@ +# Created by MechAviv +# Quest ID :: 34927 +# Not coded yet + +# Inventory Operation with 1 operations. +sm.completeQuest(34927) +sm.giveExp(4815) +# Update Quest Record EX | Quest ID: [34927] | Data: exp=1 +sm.setSpeakerID(3001509) +sm.setSpeakerType(3) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendNext("#face0#Wow! This is going to make some really great stuff!") + + +sm.setSpeakerID(3001500) +sm.setSpeakerType(3) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendSay("#face0#(Guess I should check in with Zippy now that I've finished helping Ferret and Salvo.)") \ No newline at end of file diff --git a/scripts/quest/q34927s.py b/scripts/quest/q34927s.py new file mode 100755 index 0000000..b9ef07e --- /dev/null +++ b/scripts/quest/q34927s.py @@ -0,0 +1,63 @@ +# Created by MechAviv +# Quest ID :: 34927 +# Not coded yet + +sm.setSpeakerID(3001509) +sm.setSpeakerType(3) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendNext("#face0#Bang! Pow, pow! The sweet sound of demolition is my musical inspiration!") + + +sm.setSpeakerID(3001509) +sm.setSpeakerType(3) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendSay("#face0#Demolition is the most important part!\r\nHow else will we dig up that ancient art?") + + +sm.setSpeakerID(3001509) +sm.setSpeakerType(3) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendSay("#face0#If you have a bomb, you can find anything!\r\nEven with tons of dirt hiding your crystal bling!") + + +sm.setSpeakerID(3001509) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +if sm.sendAskAccept("#face0#So I'm asking you for something very important! Materials for bo-bo-bombs!! Bring about #b20#k #i4036349# #b#t4036349##k items from #o2400355# monsters in #r#m402000618##k!"): + sm.setSpeakerID(3001509) + sm.setSpeakerType(3) + sm.flipDialogue() + sm.setBoxChat() + sm.boxChatPlayerAsSpeaker() + sm.setBoxOverrideSpeaker() + sm.flipBoxChat() + sm.flipBoxChatPlayerAsSpeaker() + sm.setColor(1) + sm.sendNext("#face0#Be careful! Demolition supplies are dangerous! Good luck!") + + + sm.startQuest(34927) + # [START_NAVIGATION] [EA 0A F6 17 00 00 00 00 00 00 ] diff --git a/scripts/quest/q34928e.py b/scripts/quest/q34928e.py new file mode 100755 index 0000000..5cbef51 --- /dev/null +++ b/scripts/quest/q34928e.py @@ -0,0 +1,96 @@ +# Created by MechAviv +# Quest ID :: 34928 +# Not coded yet + +sm.curNodeEventEnd(True) +sm.setTemporarySkillSet(0) +sm.setInGameDirectionMode(True, False, False, False) +sm.removeAdditionalEffect() +sm.setSpeakerID(3001500) +sm.setSpeakerType(3) +sm.removeEscapeButton() +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendNext("#face0#(You brush away the sand to reveal something glittering in the sun.)") + + +sm.blind(1, 150, 0, 0, 0, 500, 0) +sm.playSound("Sound/SoundEff.img/PinkBean/expectation", 100) +sm.OnOffLayer_On(300, "d0", 0, -80, -1, "Effect/Direction17.img/effect/ark/illust/7/0", 4, 1, -1, 0) +sm.sendDelay(1000) + + +sm.blind(0, 0, 0, 0, 0, 500, 0) +sm.OnOffLayer_Off(500, "d0", 0) +sm.sendDelay(500) + + +sm.setSpeakerID(3001510) +sm.setSpeakerType(3) +sm.removeEscapeButton() +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendNext("#face2#Hm, it's only a fragment. It might not be usable.") + + +sm.setSpeakerID(3001500) +sm.setSpeakerType(3) +sm.removeEscapeButton() +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendSay("#face0#No, the power source was made up of three different parts. This must be the first piece we need. Let's take this back to the refuge.") + + +sm.setSpeakerID(3001500) +sm.setSpeakerType(3) +sm.removeEscapeButton() +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendSay("#face0#(If you're right, the crystal will work once you find the other two fragments. There may yet be hope.)") + + +sm.completeQuest(34928) +# Unhandled Stat Changed [EXP] Packet: 00 00 00 00 01 00 00 00 00 00 E9 14 00 00 00 00 00 00 FF 00 00 00 00 +sm.giveExp(5285) +# Update Quest Record EX | Quest ID: [34928] | Data: exp=1;e1=1 +# Update Quest Record EX | Quest ID: [34995] | Data: 00=h1;10=h0;01=h1;11=h0;02=h1;12=h0;13=h0;04=h0;23=h0;14=h0;05=h0;24=h0;15=h0;06=h0;16=h0;07=h0;17=h0;09=h0 +sm.setMapTaggedObjectVisible("core0", False, 0, 0) +sm.setMapTaggedObjectVisible("core1", False, 0, 0) +sm.showFadeTransition(0, 1000, 3000) +sm.zoomCamera(0, 1000, 2147483647, 2147483647, 2147483647) + + +sm.moveCamera(True, 0, 0, 0) + + +sm.sendDelay(300) + + +sm.removeOverlapScreen(1000) +sm.moveCamera(True, 0, 0, 0) + + +sm.setTemporarySkillSet(0) +sm.setInGameDirectionMode(False, True, False, False) +# Unhandled Message [47] Packet: 2F 02 00 00 00 40 9C 00 00 00 00 00 00 28 00 00 00 00 00 00 80 05 BB 46 E6 17 02 0C 00 75 73 65 72 5F 6C 76 75 70 3D 32 33 B0 83 08 00 00 00 00 00 2E 02 00 00 00 00 00 80 05 BB 46 E6 17 02 00 00 +sm.warp(402000600, 3) diff --git a/scripts/quest/q34928s.py b/scripts/quest/q34928s.py new file mode 100755 index 0000000..202288b --- /dev/null +++ b/scripts/quest/q34928s.py @@ -0,0 +1,52 @@ +# Created by MechAviv +# Quest ID :: 34928 +# Not coded yet + +sm.setSpeakerID(3001508) +sm.setSpeakerType(3) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendNext("#face0#Oh, good. You're here. Ferret got a better signal, and it turns out the crystal we need is in pieces and scattered all over the place.") + + +sm.setSpeakerID(3001508) +sm.setSpeakerType(3) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendSay("#face0#We should check the piece at the location closest to the refuge first, so we can get an idea of what we're dealing with.") + + +# Unhandled Stat Changed [MP] Packet: 00 00 00 10 00 00 00 00 00 00 A6 01 00 00 FF 00 00 00 00 +sm.setSpeakerID(3001508) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +if sm.sendAskAccept("#face0#Ark, go with Ferret and check the first location."): + sm.setSpeakerID(3001510) + sm.setSpeakerType(3) + sm.flipDialogue() + sm.setBoxChat() + sm.boxChatPlayerAsSpeaker() + sm.setBoxOverrideSpeaker() + sm.flipBoxChat() + sm.flipBoxChatPlayerAsSpeaker() + sm.setColor(1) + sm.sendNext("#face4#Yes! The signal's coming from #r#m402000615##k. Let's check it out.") + + + sm.startQuest(34928) + # [START_NAVIGATION] [E7 0A F6 17 00 00 00 00 00 00 ] \ No newline at end of file diff --git a/scripts/quest/q34929e.py b/scripts/quest/q34929e.py new file mode 100755 index 0000000..cbdbc6b --- /dev/null +++ b/scripts/quest/q34929e.py @@ -0,0 +1,27 @@ +# Created by MechAviv +# Quest ID :: 34929 +# Not coded yet + +sm.setSpeakerID(3001508) +sm.setSpeakerType(3) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendNext("#face0#I'm glad you're here. Are you done with the preparations?") + + +sm.completeQuest(34929) +sm.createQuestWithQRValue(11620, "0") +# Update Quest Record EX | Quest ID: [15710] | Data: lasttime=19/03/09/15/10 +# Unhandled Stat Changed [130064] Packet: 00 00 10 FC 01 00 00 00 00 00 18 00 00 00 C4 02 00 00 C4 02 00 00 D7 01 00 00 D7 01 00 00 14 00 01 01 0A 00 00 00 19 16 00 00 00 00 00 00 FF 00 00 00 00 +sm.giveExp(6107) +# Update Quest Record EX | Quest ID: [34929] | Data: exp=1 +# Update Quest Record EX | Quest ID: [34995] | Data: 00=h1;10=h0;01=h0;11=h0;02=h1;12=h0;13=h0;04=h0;23=h0;14=h0;05=h0;24=h0;15=h0;06=h0;16=h0;07=h0;17=h0;09=h0 +# Update Quest Record EX | Quest ID: [34995] | Data: 00=h1;10=h0;01=h0;11=h0;02=h0;12=h0;13=h0;04=h0;23=h0;14=h0;05=h0;24=h0;15=h0;06=h0;16=h0;07=h0;17=h0;09=h0 +# Update Quest Record EX | Quest ID: [34995] | Data: 00=h1;10=h0;01=h0;11=h0;02=h0;12=h0;13=h0;04=h0;23=h0;14=h0;05=h0;24=h0;15=h0;06=h0;16=h0;07=h0;17=h0;09=h1 +# Unhandled Message [47] Packet: 2F 08 00 00 00 40 9C 00 00 00 00 00 00 28 00 00 00 00 00 00 80 05 BB 46 E6 17 02 0C 00 75 73 65 72 5F 6C 76 75 70 3D 32 34 B8 58 08 00 00 00 00 00 23 02 00 00 00 00 00 80 05 BB 46 E6 17 02 0D 00 6D 6F 62 5F 6B 69 6C 6C 3D 34 38 33 38 58 68 08 00 00 00 00 00 27 02 00 00 00 00 00 80 05 BB 46 E6 17 02 0D 00 6D 6F 62 5F 6B 69 6C 6C 3D 34 38 33 38 B0 83 08 00 00 00 00 00 2E 02 00 00 00 00 00 80 05 BB 46 E6 17 02 00 00 70 5E 09 00 00 00 00 00 66 02 00 00 00 00 00 80 05 BB 46 E6 17 02 13 00 63 6F 6D 62 6F 6B 69 6C 6C 5F 69 6E 63 72 65 73 65 3D 34 E0 75 09 00 00 00 00 00 6C 02 00 00 00 00 00 80 05 BB 46 E6 17 02 0D 00 6D 75 6C 74 69 6B 69 6C 6C 3D 34 30 35 98 81 09 00 00 00 00 00 6F 02 00 00 00 00 00 80 05 BB 46 E6 17 02 0D 00 6D 75 6C 74 69 6B 69 6C 6C 3D 34 30 35 C2 22 11 00 00 00 00 00 63 04 00 00 0A 02 60 E7 AD 46 8A D6 D4 01 0D 00 66 69 65 6C 64 5F 65 6E 74 65 72 3D 31 +sm.warp(402090002, 0) diff --git a/scripts/quest/q34929s.py b/scripts/quest/q34929s.py new file mode 100755 index 0000000..65f1128 --- /dev/null +++ b/scripts/quest/q34929s.py @@ -0,0 +1,51 @@ +# Created by MechAviv +# Quest ID :: 34929 +# Not coded yet + +sm.setSpeakerID(3001500) +sm.setSpeakerType(3) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendNext("#face0#(The caravaners look hopeful but anxious as you show them the crystal shard and explain that there are two more to find.)") + + +sm.setSpeakerID(3001508) +sm.setSpeakerType(3) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendSay("#face3#We may have to go out pretty far from the refuge to recover the other two.") + + +sm.setSpeakerID(3001508) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +if sm.sendAskAccept("#face3#When you're ready to go, would you come to #r#m402000620##k?\r\nIt might be a long trip, so I want to say goodbye."): + sm.setSpeakerID(3001508) + sm.setSpeakerType(3) + sm.flipDialogue() + sm.setBoxChat() + sm.boxChatPlayerAsSpeaker() + sm.setBoxOverrideSpeaker() + sm.flipBoxChat() + sm.flipBoxChatPlayerAsSpeaker() + sm.setColor(1) + sm.sendNext("#face0#And I'll gather the other caravaners, so we can give\r\nyou a good send-off for luck. See you there!") + + + sm.startQuest(34929) + # [START_NAVIGATION] [EC 0A F6 17 00 00 00 00 00 00 ] diff --git a/scripts/quest/q34930e.py b/scripts/quest/q34930e.py new file mode 100755 index 0000000..6dd67b5 --- /dev/null +++ b/scripts/quest/q34930e.py @@ -0,0 +1,23 @@ +# Created by MechAviv +# Quest ID :: 34930 +# Not coded yet + +sm.setSpeakerID(3001510) +sm.setSpeakerType(3) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendNext("#face0#Ah! I got the signal again. Hurry to #rSandstorm Zone 2#k while there's still a chance!") + + +# Update Quest Record EX | Quest ID: [34995] | Data: 00=h1;10=h0;01=h0;11=h0;02=h0;12=h0;13=h0;04=h0;23=h0;14=h0;05=h0;24=h0;15=h0;06=h0;16=h0;07=h0;17=h0;09=h0 +# Update Quest Record EX | Quest ID: [34995] | Data: 00=h1;10=h1;01=h0;11=h0;02=h0;12=h0;13=h0;04=h0;23=h0;14=h0;05=h0;24=h0;15=h0;06=h0;16=h0;07=h0;17=h0;09=h0 +sm.completeQuest(34930) +# Unhandled Stat Changed [EXP] Packet: 00 00 00 00 01 00 00 00 00 00 4D 1C 00 00 00 00 00 00 FF 00 00 00 00 +sm.giveExp(6870) +# Update Quest Record EX | Quest ID: [34930] | Data: exp=1 +# [START_NAVIGATION] [EE 0A F6 17 00 00 00 00 00 00 ] \ No newline at end of file diff --git a/scripts/quest/q34930s.py b/scripts/quest/q34930s.py new file mode 100755 index 0000000..b78470a --- /dev/null +++ b/scripts/quest/q34930s.py @@ -0,0 +1,74 @@ +# Created by MechAviv +# Quest ID :: 34930 +# Not coded yet + +sm.setSpeakerID(3001510) +sm.setSpeakerType(3) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendNext("#face2#It must be the Gale Foxes around here causing the sandstorm.") + + +sm.setSpeakerID(3001510) +sm.setSpeakerType(3) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendSay("#face0#I guess we'll just have to wait for it to calm down again.") + + +sm.setSpeakerID(3001500) +sm.setSpeakerType(3) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendSay("#face0#If we clear some of them out, that should help the signal, right? I can do that.") + + +sm.setSpeakerID(3001510) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +if sm.sendAskAccept("#face0#That's a good idea. Let's see if hunting about #b50#k #b#o2400356##k monsters does any good."): + sm.setSpeakerID(3001510) + sm.setSpeakerType(3) + sm.flipDialogue() + sm.setBoxChat() + sm.boxChatPlayerAsSpeaker() + sm.setBoxOverrideSpeaker() + sm.flipBoxChat() + sm.flipBoxChatPlayerAsSpeaker() + sm.setColor(1) + sm.sendNext("#face0#I'll keep trying to pick up the signal. Everyone else should help Ark.") + + + sm.setSpeakerID(3001509) + sm.setSpeakerType(3) + sm.flipDialogue() + sm.setBoxChat() + sm.boxChatPlayerAsSpeaker() + sm.setBoxOverrideSpeaker() + sm.flipBoxChat() + sm.flipBoxChatPlayerAsSpeaker() + sm.setColor(1) + sm.sendSay("#face1#Well, if Mr. Bossy says we help Ark, I guess we help Ark. Let's get to it, everyone!") + + + sm.startQuest(34930) \ No newline at end of file diff --git a/scripts/quest/q34931e.py b/scripts/quest/q34931e.py new file mode 100755 index 0000000..0794b24 --- /dev/null +++ b/scripts/quest/q34931e.py @@ -0,0 +1,36 @@ +# Created by MechAviv +# Quest ID :: 34931 +# Not coded yet + +sm.setSpeakerID(3001510) +sm.setSpeakerType(3) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendNext("#face1#Good work! I'm getting the signal again. We need to move quickly. Follow me.") + + +sm.setSpeakerID(3001509) +sm.setSpeakerType(3) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendSay("#face3#Oh, we didn't let the sandstorm get us down!\r\nNow our trouble's behind us, and we're searchin' around!") + + +# Update Quest Record EX | Quest ID: [34995] | Data: 00=h1;10=h0;01=h0;11=h0;02=h0;12=h0;13=h0;04=h0;23=h0;14=h0;05=h0;24=h0;15=h0;06=h0;16=h0;07=h0;17=h0;09=h0 +sm.completeQuest(34931) +# Unhandled Stat Changed [EXP] Packet: 00 00 00 00 01 00 00 00 00 00 EB 21 00 00 00 00 00 00 FF 00 00 00 00 +sm.giveExp(7360) +# Update Quest Record EX | Quest ID: [34931] | Data: exp=1 +# Update Quest Record EX | Quest ID: [34995] | Data: 00=h1;10=h0;01=h0;11=h1;02=h0;12=h0;13=h0;04=h0;23=h0;14=h0;05=h0;24=h0;15=h0;06=h0;16=h0;07=h0;17=h0;09=h0 +# Unhandled Message [47] Packet: 2F 0A 00 00 00 40 9C 00 00 00 00 00 00 28 00 00 00 00 00 00 80 05 BB 46 E6 17 02 0C 00 75 73 65 72 5F 6C 76 75 70 3D 32 36 B8 58 08 00 00 00 00 00 23 02 00 00 00 00 00 80 05 BB 46 E6 17 02 0D 00 6D 6F 62 5F 6B 69 6C 6C 3D 34 39 35 38 58 68 08 00 00 00 00 00 27 02 00 00 00 00 00 80 05 BB 46 E6 17 02 0D 00 6D 6F 62 5F 6B 69 6C 6C 3D 34 39 35 38 B0 83 08 00 00 00 00 00 2E 02 00 00 00 00 00 80 05 BB 46 E6 17 02 0B 00 6D 6F 62 5F 6B 69 6C 6C 3D 31 38 70 5E 09 00 00 00 00 00 66 02 00 00 00 00 00 80 05 BB 46 E6 17 02 14 00 63 6F 6D 62 6F 6B 69 6C 6C 5F 69 6E 63 72 65 73 65 3D 32 32 E0 75 09 00 00 00 00 00 6C 02 00 00 00 00 00 80 05 BB 46 E6 17 02 0D 00 6D 75 6C 74 69 6B 69 6C 6C 3D 34 32 34 98 81 09 00 00 00 00 00 6F 02 00 00 00 00 00 80 05 BB 46 E6 17 02 0D 00 6D 75 6C 74 69 6B 69 6C 6C 3D 34 32 34 50 8D 09 00 00 00 00 00 72 02 00 00 00 00 00 80 05 BB 46 E6 17 02 0A 00 6D 6F 62 5F 6B 69 6C 6C 3D 38 08 99 09 00 00 00 00 00 75 02 00 00 00 00 00 80 05 BB 46 E6 17 02 0A 00 6D 6F 62 5F 6B 69 6C 6C 3D 38 C4 22 11 00 00 00 00 00 63 04 00 00 0C 02 A0 18 36 98 8A D6 D4 01 0D 00 66 69 65 6C 64 5F 65 6E 74 65 72 3D 31 +sm.warp(402090005, 0) diff --git a/scripts/quest/q34931s.py b/scripts/quest/q34931s.py new file mode 100755 index 0000000..5faff35 --- /dev/null +++ b/scripts/quest/q34931s.py @@ -0,0 +1,62 @@ +# Created by MechAviv +# Quest ID :: 34931 +# Not coded yet + +sm.setSpeakerID(3001510) +sm.setSpeakerType(3) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendNext("#face2#We lost the signal again. The sandstorm got even stronger than before.") + + +sm.setSpeakerID(3001500) +sm.setSpeakerType(3) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendSay("#face0#We'll just have to do a little more hunting.") + + +sm.setSpeakerID(3001510) +sm.setSpeakerType(3) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendSay("#face0#That's our best shot, yeah.") + + +sm.setSpeakerID(3001510) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +if sm.sendAskAccept("#face0#How about #b50#k more #b#o2400357##k monsters?"): + sm.setSpeakerID(3001510) + sm.setSpeakerType(3) + sm.flipDialogue() + sm.setBoxChat() + sm.boxChatPlayerAsSpeaker() + sm.setBoxOverrideSpeaker() + sm.flipBoxChat() + sm.flipBoxChatPlayerAsSpeaker() + sm.setColor(1) + sm.sendNext("#face0#Do what you can, and I'll keep searching for that signal.") + + + sm.startQuest(34931) \ No newline at end of file diff --git a/scripts/quest/q34932e.py b/scripts/quest/q34932e.py new file mode 100755 index 0000000..05022d9 --- /dev/null +++ b/scripts/quest/q34932e.py @@ -0,0 +1,44 @@ +# Created by MechAviv +# Quest ID :: 34932 +# Not coded yet + +sm.setSpeakerID(3001510) +sm.setSpeakerType(3) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendNext("#face2#What#e are#n those things swarming out of the sand like that?! They're horrible!") + + +sm.setSpeakerID(3001510) +sm.setSpeakerType(3) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendSay("#face2#We can't go anywhere with these blocking our way.") + + +sm.setSpeakerID(3001500) +sm.setSpeakerType(3) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendSay("#face6#(There's something familiar about these creatures...)") + + +sm.completeQuest(34932) +# Update Quest Record EX | Quest ID: [15710] | Data: lasttime=19/03/09/15/14 +# Unhandled Stat Changed [130064] Packet: 00 00 10 FC 01 00 00 00 00 00 1B 00 00 00 12 03 00 00 12 03 00 00 19 02 00 00 19 02 00 00 23 00 01 01 13 00 00 00 A1 0F 00 00 00 00 00 00 FF 00 00 00 00 +sm.giveExp(6379) \ No newline at end of file diff --git a/scripts/quest/q34932s.py b/scripts/quest/q34932s.py new file mode 100755 index 0000000..fcb73b8 --- /dev/null +++ b/scripts/quest/q34932s.py @@ -0,0 +1,42 @@ +# Created by MechAviv +# Quest ID :: 34932 +# Not coded yet + +sm.setSpeakerID(3001510) +sm.setSpeakerType(3) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendNext("#face0#At least we're still getting a signal...") + + +sm.setSpeakerID(3001500) +sm.setSpeakerType(3) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendSay("#face0#Lead the way.") + + +sm.setSpeakerID(3001510) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +if sm.sendAskAccept("#face0#Okay. We can just follow it until we find them."): + # Update Quest Record EX | Quest ID: [34995] | Data: 00=h1;10=h0;01=h0;11=h0;02=h0;12=h0;13=h0;04=h0;23=h0;14=h0;05=h0;24=h0;15=h0;06=h0;16=h0;07=h0;17=h0;09=h0 + # Update Quest Record EX | Quest ID: [34995] | Data: 00=h1;10=h0;01=h0;11=h0;02=h0;12=h1;13=h0;04=h0;23=h0;14=h0;05=h0;24=h0;15=h0;06=h0;16=h0;07=h0;17=h0;09=h0 + sm.startQuest(34932) + # [START_NAVIGATION] [F7 0A F6 17 00 00 00 00 00 00 ] + # [SET_PARTNER] [01 A6 CC 2D 00 5D BD C4 04 00 ] diff --git a/scripts/quest/q34933e.py b/scripts/quest/q34933e.py new file mode 100755 index 0000000..10882bd --- /dev/null +++ b/scripts/quest/q34933e.py @@ -0,0 +1,25 @@ +# Created by MechAviv +# Quest ID :: 34933 +# Not coded yet + +sm.setSpeakerID(3001510) +sm.setSpeakerType(3) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendNext("#face4#All clear. Perfect! Let's get out of here!") + + +sm.completeQuest(34933) +# Update Quest Record EX | Quest ID: [15710] | Data: lasttime=19/03/09/15/15 +# Unhandled Stat Changed [130064] Packet: 00 00 10 FC 01 00 00 00 00 00 1C 00 00 00 2C 03 00 00 2C 03 00 00 2F 02 00 00 2F 02 00 00 28 00 01 01 16 00 00 00 51 08 00 00 00 00 00 00 FF 00 00 00 00 +sm.giveExp(8342) +# Update Quest Record EX | Quest ID: [34933] | Data: exp=1 +# Update Quest Record EX | Quest ID: [34995] | Data: 00=h1;10=h0;01=h0;11=h0;02=h0;12=h0;13=h0;04=h0;23=h0;14=h0;05=h0;24=h0;15=h0;06=h0;16=h0;07=h0;17=h0;09=h0 +# Update Quest Record EX | Quest ID: [34995] | Data: 00=h1;10=h0;01=h0;11=h0;02=h0;12=h0;13=h1;04=h0;23=h0;14=h0;05=h0;24=h0;15=h0;06=h0;16=h0;07=h0;17=h0;09=h0 +# [SET_PARTNER] [01 A6 CC 2D 00 5D BD C4 04 00 ] +# [START_NAVIGATION] [F9 0A F6 17 00 00 00 00 00 00 ] diff --git a/scripts/quest/q34933s.py b/scripts/quest/q34933s.py new file mode 100755 index 0000000..88e65bd --- /dev/null +++ b/scripts/quest/q34933s.py @@ -0,0 +1,61 @@ +# id 34933 (Tracking the Trackers), field 402000631 +sm.setSpeakerID(3001412) # Ferret +sm.setParam(36) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(3001510) # Ferret +res = sm.sendAskAccept("#face2#Try to get rid of about #b50#k #b#o2400358##k monsters, and I'll focus on the signal.") +sm.setSpeakerType(3) +sm.sendNext("#face2#There are all kinds of creepy signals in here, so let's get through this as fast as we can!") +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(11620) +sm.createQuestWithQRValue(15710, "lasttime=19/02/21/12/56") +sm.startQuest(parentID) diff --git a/scripts/quest/q34934e.py b/scripts/quest/q34934e.py new file mode 100755 index 0000000..f7e53d6 --- /dev/null +++ b/scripts/quest/q34934e.py @@ -0,0 +1,23 @@ +# Created by MechAviv +# Quest ID :: 34934 +# Not coded yet + +sm.setSpeakerID(3001510) +sm.setSpeakerType(3) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendNext("#face1#Perfect! Now we can get out of here.") + + +sm.completeQuest(34934) +# Unhandled Stat Changed [130064] Packet: 00 00 10 FC 01 00 00 00 00 00 1D 00 00 00 46 03 00 00 46 03 00 00 45 02 00 00 45 02 00 00 2D 00 01 01 19 00 00 00 C4 0E 00 00 00 00 00 00 FF 00 00 00 00 +sm.giveExp(8832) +# Update Quest Record EX | Quest ID: [34934] | Data: exp=1 +# Update Quest Record EX | Quest ID: [34995] | Data: 00=h1;10=h0;01=h0;11=h0;02=h0;12=h0;13=h0;04=h0;23=h0;14=h0;05=h0;24=h0;15=h0;06=h0;16=h0;07=h0;17=h0;09=h0 +# [SET_PARTNER] [01 A6 CC 2D 00 5D BD C4 04 00 ] +# [START_NAVIGATION] [FB 0A F6 17 00 00 00 00 00 00 ] \ No newline at end of file diff --git a/scripts/quest/q34934s.py b/scripts/quest/q34934s.py new file mode 100755 index 0000000..4ab1807 --- /dev/null +++ b/scripts/quest/q34934s.py @@ -0,0 +1,26 @@ +# Created by MechAviv +# Quest ID :: 34934 +# Not coded yet + +sm.setSpeakerID(3001510) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +if sm.sendAskAccept("#face0#Just as I expected, these sand monsters are blocking our way. Ark, please defeat #b50#k #b#o2400359##k monsters, so we can get through."): + sm.setSpeakerID(3001510) + sm.setSpeakerType(3) + sm.flipDialogue() + sm.setBoxChat() + sm.boxChatPlayerAsSpeaker() + sm.setBoxOverrideSpeaker() + sm.flipBoxChat() + sm.flipBoxChatPlayerAsSpeaker() + sm.setColor(1) + sm.sendNext("#face2#The signal I'm picking up just got a lot stronger. I don't know what to make of it.") + + + sm.startQuest(34934) \ No newline at end of file diff --git a/scripts/quest/q34935e.py b/scripts/quest/q34935e.py new file mode 100755 index 0000000..60a326f --- /dev/null +++ b/scripts/quest/q34935e.py @@ -0,0 +1,20 @@ +# Created by MechAviv +# Quest ID :: 34935 +# Not coded yet + +sm.setSpeakerID(3001510) +sm.setSpeakerType(3) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendNext("#face1#We finally made it! The last source of the signal.") + + +sm.completeQuest(34935) +# Unhandled Stat Changed [EXP] Packet: 00 00 00 00 01 00 00 00 00 00 1D 2F 00 00 00 00 00 00 FF 00 00 00 00 +sm.giveExp(7360) +# Update Quest Record EX | Quest ID: [34935] | Data: exp=1 diff --git a/scripts/quest/q34935s.py b/scripts/quest/q34935s.py new file mode 100755 index 0000000..6675653 --- /dev/null +++ b/scripts/quest/q34935s.py @@ -0,0 +1,40 @@ +# Created by MechAviv +# Quest ID :: 34935 +# Not coded yet + +sm.setSpeakerID(3001500) +sm.setSpeakerType(3) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendNext("#face6#I'm... I'm okay. Let's get out of here. We've got to find the last piece of the crystal.") + + +# Unhandled Stat Changed [MP] Packet: 00 00 00 10 00 00 00 00 00 00 16 02 00 00 FF 00 00 00 00 +sm.setSpeakerID(3001510) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +if sm.sendAskAccept("#face2#Right. Let's get aboveground everyone."): + sm.setSpeakerID(3001510) + sm.setSpeakerType(3) + sm.flipDialogue() + sm.setBoxChat() + sm.boxChatPlayerAsSpeaker() + sm.setBoxOverrideSpeaker() + sm.flipBoxChat() + sm.flipBoxChatPlayerAsSpeaker() + sm.setColor(1) + sm.sendNext("#face4#We're lucky. I've got a strong lock on the signal for the last piece.") + + + sm.startQuest(34935) + sm.warp(402090012, 0) diff --git a/scripts/quest/q34936s.py b/scripts/quest/q34936s.py new file mode 100755 index 0000000..45f338b --- /dev/null +++ b/scripts/quest/q34936s.py @@ -0,0 +1,99 @@ +# Created by MechAviv +# Quest ID :: 34936 +# Not coded yet + +sm.setSpeakerID(3001509) +sm.setSpeakerType(3) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendNext("#face2#Haha! Now it's time for my pyrotechnic magic! Yes!") + + +sm.setSpeakerID(3001512) +sm.setSpeakerType(3) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendSay("#face0#This place looks familiar... I don't think I like it here.") + + +sm.setSpeakerID(3001513) +sm.setSpeakerType(3) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendSay("#face0#Ferret, are we sure it's okay to use explosives here?") + + +sm.setSpeakerID(3001510) +sm.setSpeakerType(3) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendSay("#face4#It's all right. We're a long way from that cave. It's very sturdy here.") + + +sm.setSpeakerID(3001510) +sm.setSpeakerType(3) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendSay("#face1#Hm, the signal is getting weaker. Time to do your thing, Salvo! And hurry!") + + +sm.setSpeakerID(3001509) +sm.setSpeakerType(3) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendSay("#face3#Yes! I get to blow stuff up!\r\nGet ready for some fun!") + + +sm.setSpeakerID(3001509) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +if sm.sendAskAccept("#face4#Let's get started, everyone!"): + sm.setSpeakerID(3001509) + sm.setSpeakerType(3) + sm.flipDialogue() + sm.setBoxChat() + sm.boxChatPlayerAsSpeaker() + sm.setBoxOverrideSpeaker() + sm.flipBoxChat() + sm.flipBoxChatPlayerAsSpeaker() + sm.setColor(1) + sm.sendNext("#face3#Listen to the rhythm of your heaaart.\r\nHit the button, and blast stuff apaaart!") + + + # Unhandled Message [47] Packet: 2F 02 00 00 00 B0 83 08 00 00 00 00 00 2E 02 00 00 00 00 00 80 05 BB 46 E6 17 02 00 00 D3 22 11 00 00 00 00 00 63 04 00 00 1B 02 C0 F9 12 4B 8B D6 D4 01 0D 00 66 69 65 6C 64 5F 65 6E 74 65 72 3D 31 + sm.warp(402090006, 0) diff --git a/scripts/quest/q34937e.py b/scripts/quest/q34937e.py new file mode 100755 index 0000000..268679d --- /dev/null +++ b/scripts/quest/q34937e.py @@ -0,0 +1,199 @@ +# Created by MechAviv +# Quest ID :: 34937 +# Not coded yet + +sm.curNodeEventEnd(True) +sm.setTemporarySkillSet(0) +sm.setInGameDirectionMode(True, False, False, False) +sm.removeAdditionalEffect() +sm.setSpeakerID(3001500) +sm.setSpeakerType(3) +sm.removeEscapeButton() +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendNext("#face0#The trick will be to split up and move in two groups.") + + +sm.blind(1, 255, 0, 0, 0, 500, 0) +sm.sendDelay(500) + + +sm.sendDelay(300) + + +sm.OnOffLayer_On(300, "d0", 0, -80, -1, "Effect/Direction17.img/effect/ark/illust/8/0", 4, 1, -1, 0) +sm.OnOffLayer_On(300, "d1", 190, -150, -1, "Effect/Direction17.img/effect/ark/illust/8/1", 4, 1, -1, 0) +sm.setSpeakerID(3001500) +sm.setSpeakerType(3) +sm.removeEscapeButton() +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendNext("#face5#Salvo, Digs, Grit and I can set up a defense line here...") + + +sm.OnOffLayer_Off(300, "d1", 0) +sm.OnOffLayer_On(300, "d2", 190, -150, -1, "Effect/Direction17.img/effect/ark/illust/8/2", 4, 1, -1, 0) +sm.OnOffLayer_On(300, "d3", 170, -130, -1, "Effect/Direction17.img/effect/ark/illust/8/3", 4, 1, -1, 0) +sm.sendDelay(300) + + +sm.OnOffLayer_Move(2000, "d3", -210, 150) +sm.sendDelay(2000) + + +sm.setSpeakerID(3001500) +sm.setSpeakerType(3) +sm.removeEscapeButton() +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendNext("#face0#In the meantime, Ferret can take the power source to the refuge and get that started.") + + +sm.OnOffLayer_Off(300, "d0", 0) +sm.OnOffLayer_Off(300, "d2", 0) +sm.OnOffLayer_Off(300, "d3", 0) +sm.setSpeakerID(3001510) +sm.setSpeakerType(3) +sm.removeEscapeButton() +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendSay("#face4#Then I can come back for all of you, and we can leave here for good.") + + +sm.setSpeakerID(3001510) +sm.setSpeakerType(3) +sm.removeEscapeButton() +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendSay("#face1#That may just work, and the sandstorm between here and the refuge seems to have calmed.") + + +sm.setSpeakerID(3001500) +sm.setSpeakerType(3) +sm.removeEscapeButton() +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendSay("#face5#Our problem is the crystal's charge time. We have to hold the Specters off until it's ready.") + + +sm.setSpeakerID(3001509) +sm.setSpeakerType(3) +sm.removeEscapeButton() +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendSay("#face4#Sounds like a job for Bomb Master Salvo!") + + +sm.setSpeakerID(3001509) +sm.setSpeakerType(3) +sm.removeEscapeButton() +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendSay("#face3#I'll make those monsters all go blammo!") + + +sm.blind(1, 255, 0, 0, 0, 0, 0) +sm.sendDelay(1200) + + +sm.blind(0, 0, 0, 0, 0, 1000, 0) +sm.sendDelay(1400) + + +sm.setSpeakerID(3001510) +sm.setSpeakerType(3) +sm.removeEscapeButton() +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendNext("#face0#I'll start toward the refuge now.") + + +sm.setSpeakerID(3001510) +sm.setSpeakerType(3) +sm.removeEscapeButton() +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendSay("#face4#If I get it running, I'll send a signal, so be ready.") + + +sm.setSpeakerID(3001510) +sm.setSpeakerType(3) +sm.removeEscapeButton() +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendSay("#face1#Good luck, everyone!") + + +# Update Quest Record EX | Quest ID: [34995] | Data: 00=h1;10=h0;01=h0;11=h0;02=h0;12=h0;13=h0;04=h0;23=h1;14=h0;05=h0;24=h0;15=h0;06=h0;16=h0;07=h0;17=h0;09=h0 +sm.completeQuest(34937) +# Unhandled Stat Changed [EXP] Packet: 00 00 00 00 01 00 00 00 00 00 F5 1D 00 00 00 00 00 00 FF 00 00 00 00 +sm.giveExp(7360) +# Update Quest Record EX | Quest ID: [34937] | Data: exp=1 +sm.showFadeTransition(0, 1000, 3000) +sm.zoomCamera(0, 1000, 2147483647, 2147483647, 2147483647) + + +sm.moveCamera(True, 0, 0, 0) + + +sm.sendDelay(300) + + +sm.removeOverlapScreen(1000) +sm.setTemporarySkillSet(0) +sm.setInGameDirectionMode(False, True, False, False) diff --git a/scripts/quest/q34937s.py b/scripts/quest/q34937s.py new file mode 100755 index 0000000..0bffeb5 --- /dev/null +++ b/scripts/quest/q34937s.py @@ -0,0 +1,158 @@ +# Created by MechAviv +# Quest ID :: 34937 +# Not coded yet + +sm.setSpeakerID(3001500) +sm.setSpeakerType(3) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendNext("#face5#I remember now. The device near the refuge drew power.") + + +sm.setSpeakerID(3001500) +sm.setSpeakerType(3) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendSay("#face5#That's why the Specters keep attacking. They want more of that power.") + + +sm.setSpeakerID(3001500) +sm.setSpeakerType(3) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendSay("#face8#The others are in danger!") + + +sm.setSpeakerID(3001510) +sm.setSpeakerType(3) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendSay("#face2#You're right... The signal's changed. Something's wrong...") + + +sm.setSpeakerID(3001510) +sm.setSpeakerType(3) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendSay("#face2#No! Monsters are headed straight for the refuge!") + + +sm.setSpeakerID(3001510) +sm.setSpeakerType(3) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendSay("#face2#There's a massive number of them this time. If they attack, our people are done for!") + + +sm.setSpeakerID(3001512) +sm.setSpeakerType(3) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendSay("#face0#But if that happens, then this was all for nothing.") + + +sm.setSpeakerID(3001509) +sm.setSpeakerType(3) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendSay("#face2#Not yet. If we can beat the monsters to the refuge, we might still have a chance. We can just fly right out of here!") + + +sm.setSpeakerID(3001509) +sm.setSpeakerType(3) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendSay("#face3#We'll use the Crystal Energy Shaaard!\r\nThen the caravan will fly faaar!") + + +sm.setSpeakerID(3001513) +sm.setSpeakerType(3) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendSay("#face0#What are we waiting for?!") + + +sm.setSpeakerID(3001500) +sm.setSpeakerType(3) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendSay("#face5#No, that won't work. It takes too long to get the power source up and running. I'll think of something...") + + +sm.setSpeakerID(3001510) +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +if sm.sendAskAccept("#face0#Then I'll be waiting. Let me know when you've got something."): + sm.setSpeakerID(3001500) + sm.setSpeakerType(3) + sm.flipDialogue() + sm.setBoxChat() + sm.boxChatPlayerAsSpeaker() + sm.setBoxOverrideSpeaker() + sm.flipBoxChat() + sm.flipBoxChatPlayerAsSpeaker() + sm.setColor(1) + sm.sendNext("#face0#Hm... Okay, I've got it!") + + + sm.startQuest(34937) diff --git a/scripts/quest/q34938s.py b/scripts/quest/q34938s.py new file mode 100755 index 0000000..9e9e9b1 --- /dev/null +++ b/scripts/quest/q34938s.py @@ -0,0 +1,44 @@ +# Created by MechAviv +# Quest ID :: 34938 +# Not coded yet + +sm.setSpeakerID(3001500) +sm.setSpeakerType(3) +sm.removeEscapeButton() +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendNext("#face5#All right, I'll be the bait. You all defend, okay?") + + +sm.setSpeakerID(3001500) +sm.setSpeakerType(3) +sm.removeEscapeButton() +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +sm.sendSay("#face8#We have to stay strong for as long as it takes Ferret to get that thing going.") + + +sm.setSpeakerID(3001500) +sm.removeEscapeButton() +sm.flipDialogue() +sm.setBoxChat() +sm.boxChatPlayerAsSpeaker() +sm.setBoxOverrideSpeaker() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.setColor(1) +if sm.sendAskAccept("#face5#It'll take everything we've got, but we can do it. Let's go."): + # [CLEAR_ANNOUNCED_QUEST] [] + sm.systemMessage("Defend the refuge from the Specter forces.") + # Unhandled Message [47] Packet: 2F 01 00 00 00 59 03 04 00 00 00 00 00 07 01 00 00 01 02 70 59 25 74 8B D6 D4 01 14 00 71 75 65 73 74 5F 73 74 61 74 65 5F 63 68 61 6E 67 65 3D 31 + sm.warp(940205100, 0) diff --git a/scripts/quest/q34939s.py b/scripts/quest/q34939s.py new file mode 100755 index 0000000..d19ea3f --- /dev/null +++ b/scripts/quest/q34939s.py @@ -0,0 +1,11 @@ +# id 34939 (Master Corruption), field 402000640 +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(3001500) # Ark +sm.sendNext("#face8#I will not lose control again. I decide when to fight. I decide when to use that power.") +sm.startQuest(parentID) +sm.completeQuestNoCheck(parentID) +sm.startQuest(11620) +sm.createQuestWithQRValue(15710, "lasttime=19/02/21/13/09") +sm.createQuestWithQRValue(parentID, "exp=1") diff --git a/scripts/quest/q34940s.py b/scripts/quest/q34940s.py new file mode 100755 index 0000000..26571f1 --- /dev/null +++ b/scripts/quest/q34940s.py @@ -0,0 +1,9 @@ +# id 34940 (Refuge Survival), field 402000640 +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(3001500) # Ark +sm.sendNext("#face5#They've defended the refuge well so far. I'll take it from here.") +res = sm.sendAskAccept("#face8#I can be the strength they need.") +sm.sendNext("#face8#I'll save you.") +sm.warp(940205400) diff --git a/scripts/quest/q34941e.py b/scripts/quest/q34941e.py new file mode 100755 index 0000000..d085f55 --- /dev/null +++ b/scripts/quest/q34941e.py @@ -0,0 +1,10 @@ +# id 34941 (Separate Ways 1), field 402000402 +sm.completeQuestNoCheck(parentID) +sm.startQuest(11620) +sm.createQuestWithQRValue(15710, "lasttime=19/02/21/13/17") +sm.createQuestWithQRValue(parentID, "exp=1") +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(3001508) # Zippy +sm.sendNext("#face2#This should go a long way to helping us disguise the crystal. Thanks! I think Salvo needs help gathering emergency rations if you'd like to help him too.") diff --git a/scripts/quest/q34941s.py b/scripts/quest/q34941s.py new file mode 100755 index 0000000..7e37e68 --- /dev/null +++ b/scripts/quest/q34941s.py @@ -0,0 +1,19 @@ +# id 34941 (Separate Ways 1), field 402000402 +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(3001508) # Zippy +sm.sendNext("#face0#Well... there is one thing we could use your help with.") +sm.sendSay("#face2#This crystal draws way too much attention.") +sm.sendSay("#face3#It even drove all those monsters crazy before we escaped.") +sm.setInnerOverrideSpeakerTemplateID(3001509) # Salvo +sm.sendSay("#face3#We did our best to hide it in the garbaaage!\r\nBut it's a terrible place for long-term storaaage!") +sm.setInnerOverrideSpeakerTemplateID(3001510) # Ferret +sm.sendSay("#face0#Yeah, we need some way to camouflage it.") +sm.setSpeakerType(4) +sm.setSpeakerID(3001418) # Zippy +sm.setInnerOverrideSpeakerTemplateID(3001508) # Zippy +res = sm.sendAskAccept("#face2#There's enough scrap iron here that we could make something for it.") +sm.setSpeakerType(3) +sm.sendNext("#face2#Would you track down about #b30#k #i4036350# #b#t4036350##k items from the #o2400306# monsters in #rWaste Treatment Plant 3#k?") +sm.startQuest(parentID) diff --git a/scripts/quest/q34942e.py b/scripts/quest/q34942e.py new file mode 100755 index 0000000..4b1650f --- /dev/null +++ b/scripts/quest/q34942e.py @@ -0,0 +1,10 @@ +# id 34942 (Separate Ways 2), field 402000402 +sm.completeQuestNoCheck(parentID) +sm.createQuestWithQRValue(parentID, "exp=1") +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(3001509) # Salvo +sm.sendNext("#face3#Oh yeah, tons of emergency supplieees! \r\nPlenty here to keep our bodies fortifieeed!") +sm.sendSay("#face0#Now we've got everything we need for a long journey to paradiiiise!") +sm.sendSay("#face0#Thanks for everything!") diff --git a/scripts/quest/q34942s.py b/scripts/quest/q34942s.py new file mode 100755 index 0000000..d905a59 --- /dev/null +++ b/scripts/quest/q34942s.py @@ -0,0 +1,12 @@ +# id 34942 (Separate Ways 2), field 402000402 +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(3001509) # Salvo +sm.sendNext("#face3#This is a wonderful place with lots of things to eeeat! \r\nIt's the perfect chance to get some tasty treeeats!") +sm.setSpeakerType(4) +sm.setSpeakerID(3001419) # Salvo +res = sm.sendAskAccept("#face2#The #i4036351# #b#t4036351##k you can get from #o2400308# monsters in #rNutria Gutter 2#k seems to be quite a delicacy! Can you bring about #b30#k?") +sm.setSpeakerType(3) +sm.sendNext("#face2#If we dry and preserve it, we'll have food to last us for ages. See you soon!") +sm.startQuest(parentID) diff --git a/scripts/quest/q34943e.py b/scripts/quest/q34943e.py new file mode 100755 index 0000000..9dbdee7 --- /dev/null +++ b/scripts/quest/q34943e.py @@ -0,0 +1,64 @@ +# id 34943 (Contact Caravan), field 402000402 +sm.lockInGameUI(True, False) +sm.removeAdditionalEffect() +sm.showFadeTransition(0, 1000, 3000) +sm.zoomCamera(0, 1000, 2147483647, 2147483647, 2147483647) +sm.moveCamera(True, 0, 0, 0) +sm.sendDelay(300) +sm.removeOverlapScreen(1000) +sm.zoomCamera(0, 1000, 0, -494, 668) +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(3001510) # Ferret +sm.sendNext("#face0#I used some of the parts we gathered here to improve your signal device. Now we can communicate no matter where you go!") +sm.sendSay("#face1#Isn't it great?") +sm.setInnerOverrideSpeakerTemplateID(3001508) # Zippy +sm.sendSay("#face2#If you're ever out traveling, and you want to talk to us, all you have to do is use this, and we'll be able to respond.") +sm.setInnerOverrideSpeakerTemplateID(3001509) # Salvo +sm.sendSay("#face3#And if you ever realize you miss my musiiic, \r\nI can sing over the device, so make sure you use iiit!") +sm.setInnerOverrideSpeakerTemplateID(3001511) # Mar +sm.sendSay("#face2#I hope you like it!") +sm.setInnerOverrideSpeakerTemplateID(3001512) # Digs +sm.sendSay("#face0#Looks like the crystal is ready. Let's go.") +sm.sendDelay(1000) +sm.blind(True, 255, 0, 0, 0, 10000) +sm.setInnerOverrideSpeakerTemplateID(3001500) # Ark +sm.sendNext("#face0#I'm sure this isn't the last time we'll see each other.") +sm.sendSay("#face9#I hope you find the paradise you're looking for someday.") +sm.sendDelay(1000) +sm.setInnerOverrideSpeakerTemplateID(3001508) # Zippy +sm.sendNext("#face0#Thanks! I'm sure you'll find what you're looking for too.") +sm.sendSay("#face0#We're off! I hope we see you again. Goodbye and good luck!") +sm.blind(True, 255, 0, 0, 0, 500) +sm.sendDelay(500) +sm.sendDelay(1000) +sm.createQuestWithQRValue(34995, "00=h1;01=h0;10=h0;20=h1;02=h0;11=h0;12=h0;04=h0;13=h0;05=h0;14=h0;23=h0;06=h0;15=h0;24=h0;07=h0;16=h0;17=h0;18=h0;09=h0;19=h1") +sm.createQuestWithQRValue(34995, "00=h1;01=h0;10=h0;20=h1;02=h0;11=h0;12=h0;04=h0;13=h0;05=h0;14=h0;23=h0;06=h0;15=h0;24=h0;07=h0;16=h0;17=h0;18=h0;09=h0;19=h0") +sm.createQuestWithQRValue(34995, "00=h1;01=h0;10=h0;20=h0;02=h0;11=h0;12=h0;04=h0;13=h0;05=h0;14=h0;23=h0;06=h0;15=h0;24=h0;07=h0;16=h0;17=h0;18=h0;09=h0;19=h0") +sm.createQuestWithQRValue(34996, "402=h0") +sm.completeQuestNoCheck(parentID) +sm.startQuest(11620) +sm.createQuestWithQRValue(15710, "lasttime=19/02/21/13/23") +sm.createQuestWithQRValue(parentID, "exp=1") +sm.sendDelay(4500) +sm.createFieldTextEffect("#fnᄈᆰᄡᆴᄚ■ᄉ￱ ExtraBold##fs18#A Short While Ago, High Flora Council Meeting", 100, 1200, 6, -50, -50, 1, 4, 0, 0, 0) +sm.onLayer(500, "d0", 0, -80, -1, "Effect/Direction17.img/effect/ark/illust/9/0", 4, True, -1, False) +sm.setInnerOverrideSpeakerTemplateID(3001507) # ??? +sm.sendNext("#face0#Is our plan for the western front finally complete? I understand there was interference this time too.") +sm.sendSay("#face0#And we only gained minimal power for our efforts.") +sm.sendSay("#face0#The first time the ritual was interrupted, it destroyed the entire planet's surface. This attempt was nearly as disastrous. I'd say it's time to cut our losses.") +sm.offLayer(2000, "d0", False) +sm.sendDelay(2500) +sm.setInnerOverrideSpeakerTemplateID(3001506) # Limbo +sm.sendNext("#face1#Second Lieutenant Ark... So you were alive this whole time...") +sm.sendSay("#face0#Ha... Haha... Hahaha...") +sm.sendDelay(1500) +sm.showFadeTransition(0, 1000, 3000) +sm.zoomCamera(0, 1000, 2147483647, 2147483647, 2147483647) +sm.moveCamera(True, 0, 0, 0) +sm.sendDelay(300) +sm.removeOverlapScreen(1000) +sm.moveCamera(True, 0, 0, 0) +sm.lockInGameUI(False, True) +sm.warp(402000402) diff --git a/scripts/quest/q34943s.py b/scripts/quest/q34943s.py new file mode 100755 index 0000000..7d75310 --- /dev/null +++ b/scripts/quest/q34943s.py @@ -0,0 +1,13 @@ +# id 34943 (Contact Caravan), field 402000402 +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(3001510) # Ferret +sm.sendNext("#face0#Now that you've helped us again, we wondered what the caravan could do for you.") +sm.sendSay("#face0#You're our friend after all. It's only fair we return the favor.") +sm.setInnerOverrideSpeakerTemplateID(3001500) # Ark +sm.sendSay("#face0#Friend...") +sm.setInnerOverrideSpeakerTemplateID(3001510) # Ferret +sm.sendSay("#face2#So, we made something for you. Here you go.") +sm.sendSay("#face2#This is so exciting! I really hope you like it!") +sm.startQuest(parentID) diff --git a/scripts/quest/q3514e.py b/scripts/quest/q3514e.py new file mode 100755 index 0000000..42f251c --- /dev/null +++ b/scripts/quest/q3514e.py @@ -0,0 +1,6 @@ +# id 3514 (The Sorcerer Who Sells Emotions), field 270020211 +sm.setSpeakerID(2140002) # Sorcerer +sm.sendNext("Hmm, I see you've drank all the potion. So how was it? Wasn't I right about the effects? My potion is perfection!") +sm.sendSay("What? You're okay with losing HP? That's nonsense! It's just not true!\r\n\r\n#fUI/UIWindow2.img/QuestIcon/11/0# Willpower 50\r\n#fUI/UIWindow2.img/QuestIcon/8/0# 4,916,000 exp") +sm.createQuestWithQRValue(18418, "B=32999") +sm.warp(270000000) diff --git a/scripts/quest/q3556e.py b/scripts/quest/q3556e.py new file mode 100755 index 0000000..2ce891e --- /dev/null +++ b/scripts/quest/q3556e.py @@ -0,0 +1,17 @@ +# id 3556 (What's in a Name), field 270000000 +sm.setSpeakerID(2140006) # Amnesiac Temple Keeper +sm.sendNext("You're back! I have so much to tell you!\r\n") +sm.setParam(2) +sm.sendSay("\r\n\r\n\r\n#bListen. I'm sorry but... There's just nothing else I can...#k") +sm.setParam(0) +sm.sendSay("I think the Tinglebrain Potion worked! I keep getting glimpses of my past... I remember following a masked man when he was battling monsters. I THINK I hid some kind of map in this big library. I feel like... I feel like all my memories will return soon. I even remember my name!\r\n") +sm.setParam(2) +sm.sendSay("\r\n\r\n\r\nᄀᄀ#bThat's great! So... tell me your name already!#k") +sm.setParam(0) +sm.sendSay("A-are you sure?") +sm.lockInGameUI(True, False) +sm.sendDelay(3000) +sm.lockInGameUI(False, True) +sm.sendNext("It's weird to say it after all this time... M-my name is #e#bKao#k#n! That's me. That's who I was...\r\n\r\n#fUI/UIWindow2.img/QuestIcon/4/0#\r\n\r\n\r\n#fUI/UIWindow2.img/QuestIcon/8/0# 2290200 exp\r\n") +sm.createQuestWithQRValue(18418, "B=32973") +sm.warp(270020200) diff --git a/scripts/quest/q35900e.py b/scripts/quest/q35900e.py new file mode 100755 index 0000000..fb19fab --- /dev/null +++ b/scripts/quest/q35900e.py @@ -0,0 +1,11 @@ +# id 35900 (Find Altar Key 1), field 910090302 +sm.completeQuestNoCheck(parentID) +sm.startQuest(11620) +sm.createQuestWithQRValue(15710, "lasttime=19/07/04/16/47") +sm.createQuestWithQRValue(25980, "normal=#") +sm.createQuestWithQRValue(25980, "normal=#;hard=#") +sm.setSpeakerType(3) +sm.setParam(548) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(1013358) # Pathfinder +sm.sendNext("#face3#Hmm... An arrow and a potion? They look old enough, sure, but they don't seem particularly significant.") diff --git a/scripts/quest/q35900s.py b/scripts/quest/q35900s.py new file mode 100755 index 0000000..87987f1 --- /dev/null +++ b/scripts/quest/q35900s.py @@ -0,0 +1,70 @@ +# id 35900 (Find Altar Key 1), field 910090301 +sm.setSpeakerType(2) +sm.setParam(548) +sm.setColor(1) +#sm.setInnerOverrideSpeakerTemplateID(1013358) # Pathfinder +sm.setSpeakerID(1013358) +res = sm.sendAskAccept("#face0#Okay. I guess the plan is to head where the altar keys point me. Doesn't look like it's too far off, but all the same, I shouldn't try my luck by hanging around here any longer than I need to.") +sm.sendNext("#face0#Whatever the key's responding to, it's just beyond here.") +sm.startQuest(parentID) +sm.setMapTaggedObjectVisible("guide", True, 0, 0) +sm.createQuestWithQRValue(64547, "obj=0") +sm.createQuestWithQRValue(64194, "count=3") +sm.createQuestWithQRValue(64270, "") +sm.createQuestWithQRValue(63392, "choco=0") +sm.createQuestWithQRValue(63383, "1=0") +sm.createQuestWithQRValue(63383, "1=0;2=0") +sm.createQuestWithQRValue(63383, "1=0;2=0;3=0") +sm.createQuestWithQRValue(63383, "1=0;2=0;3=0;4=0") +sm.createQuestWithQRValue(63383, "1=0;2=0;3=0;4=0;5=0") +sm.createQuestWithQRValue(63383, "1=0;2=0;3=0;4=0;5=0;6=0") +sm.createQuestWithQRValue(63383, "1=0;2=0;3=0;4=0;5=0;6=0;7=0") +sm.createQuestWithQRValue(63385, "1=0") +sm.createQuestWithQRValue(63385, "1=0;2=0") +sm.createQuestWithQRValue(63385, "1=0;2=0;3=0") +sm.createQuestWithQRValue(63385, "1=0;2=0;3=0;4=0") +sm.createQuestWithQRValue(63385, "1=0;2=0;3=0;4=0;5=0") +sm.createQuestWithQRValue(63385, "1=0;2=0;3=0;4=0;5=0;6=0") +sm.createQuestWithQRValue(63385, "1=0;2=0;3=0;4=0;5=0;6=0;7=0") +sm.createQuestWithQRValue(63382, "0=0") +sm.createQuestWithQRValue(63382, "0=0;1=0") +sm.createQuestWithQRValue(63382, "0=0;1=0;2=0") +sm.createQuestWithQRValue(63382, "0=0;1=0;2=0;3=0") +sm.createQuestWithQRValue(63382, "0=0;1=0;2=0;3=0;4=0") +sm.createQuestWithQRValue(63382, "0=0;1=0;2=0;3=0;4=0;5=0") +sm.createQuestWithQRValue(63382, "0=0;1=0;2=0;3=0;4=0;5=0;6=0") +sm.createQuestWithQRValue(63382, "0=0;1=0;2=0;3=0;4=0;5=0;6=0;7=0") +sm.createQuestWithQRValue(63382, "0=0;1=0;2=0;3=0;4=0;5=0;6=0;7=0;8=0") +sm.createQuestWithQRValue(64497, "dayCnt=0") +sm.createQuestWithQRValue(64110, "chk=1") +sm.createQuestWithQRValue(64110, "chk=0") +sm.createQuestWithQRValue(63862, "") +sm.createQuestWithQRValue(64501, "dailyCount=0") +sm.createQuestWithQRValue(64502, "dailyCount=0") +sm.createQuestWithQRValue(64503, "dailyCount=0") +sm.createQuestWithQRValue(16548, "count=0") +sm.createQuestWithQRValue(16548, "count=0;todayC=0") +sm.createQuestWithQRValue(16548, "count=0;todayM=0;todayC=0") +sm.createQuestWithQRValue(16548, "count=0;todayM=0;todayT=0;todayC=0") +sm.createQuestWithQRValue(16548, "count=0;todayM=0;todayT=0;lastDate=19/07/04;todayC=0") +sm.createQuestWithQRValue(3893, "Floor=0") +sm.createQuestWithQRValue(63369, "chk=0") +sm.startQuest(61555) +sm.createQuestWithQRValue(62153, "lastday=19/07/04") +sm.createQuestWithQRValue(7907, "point=0") +sm.createQuestWithQRValue(7907, "lastW=12;point=0") +sm.createQuestWithQRValue(5905, "start=0") +sm.createQuestWithQRValue(14453, "check=0") +sm.createQuestWithQRValue(26553, "count=0") +sm.createQuestWithQRValue(26453, "val=0") +sm.createQuestWithQRValue(7708, "win=0") +sm.createQuestWithQRValue(7708, "lose=0;win=0") +sm.createQuestWithQRValue(7708, "draw=0;lose=0;win=0") +sm.createQuestWithQRValue(58977, "") +sm.createQuestWithQRValue(58977, "lastDay=19/07/04/16/47") +sm.createQuestWithQRValue(58980, "") +sm.startQuest(7019) +sm.createQuestWithQRValue(63033, "dayNW=0") +sm.createQuestWithQRValue(63120, "dayNR=0") +sm.createQuestWithQRValue(63042, "dayNR=0") +sm.completeQuestNoCheck(7707) diff --git a/scripts/quest/q35901e.py b/scripts/quest/q35901e.py new file mode 100755 index 0000000..fb572eb --- /dev/null +++ b/scripts/quest/q35901e.py @@ -0,0 +1,13 @@ +# id 35901 (Find Altar Key 2), field 910090302 +sm.createQuestWithQRValue(63369, "chk=2;day=0") +sm.createQuestWithQRValue(63369, "chk=2;day=1") +sm.completeQuestNoCheck(63360) +sm.setSpeakerType(3) +sm.setParam(548) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(1013358) # Pathfinder +sm.sendNext("#face0##g'A temperamental dancer / best viewed with distant gaze,'\r\n'In crimson does it pirouette / in black its footfall stays.'#k") +sm.sendSay("#face1#Oooh, ancient poetry. Which is ALSO a riddle. Score! Now that we've got the basic rhyme scheme, the next verse would go like so...") +sm.sendSay("#face0##b(You deciphered the ancient script on the box. It's written with a figurative lilt, as ancient verse is wont to do, but after mulling over it a while, you think you have a good idea what it's referring to.)#k") +sm.completeQuestNoCheck(parentID) +sm.startQuest(11620) diff --git a/scripts/quest/q35901s.py b/scripts/quest/q35901s.py new file mode 100755 index 0000000..be8c186 --- /dev/null +++ b/scripts/quest/q35901s.py @@ -0,0 +1,9 @@ +# id 35901 (Find Altar Key 2), field 910090302 +sm.setSpeakerID(1013305) # Ancient Crate +sm.setParam(548) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(1013358) # Pathfinder +res = sm.sendAskAccept("#face0#It's written in an ancient script. Question is, is it worth trying to decipher it?") +sm.setSpeakerType(3) +sm.sendNext("#face2#It'll take some time, but... Haha, of course it's worth it. Mostly because it would drive me nuts if I didn't. Ah, curiosity, you're the itch I always have to scratch.") +sm.startQuest(parentID) diff --git a/scripts/quest/q35902e.py b/scripts/quest/q35902e.py new file mode 100755 index 0000000..2ec60d2 --- /dev/null +++ b/scripts/quest/q35902e.py @@ -0,0 +1,67 @@ +# id 35902 (Find Altar Key 3), field 910090302 +sm.lockInGameUI(True, False) +sm.removeAdditionalEffect() +sm.blind(True, 255, 0, 0, 0, 250) +sm.sendDelay(250) +sm.forcedFlip(True) +sm.sendDelay(1500) +sm.forcedFlip(False) +sm.blind(True, 255, 0, 0, 0, 0) +sm.sendDelay(1200) +sm.blind(False, 0, 0, 0, 0, 1000) +sm.sendDelay(1400) +sm.setSpeakerID(1013305) # Ancient Crate +sm.setParam(549) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(1013358) # Pathfinder +res = sm.sendNext("#face0##gA temperamental dancer\r\nbest viewed with distant gaze.\r\nIn crimson does it pirouette,\r\nin black its footfall stays.#k\r\nPlace the offering before the pillar engraved with the correct answer to the riddle.\r\n#b#L0# Cloud #l\r\n#L1# Fire #l\r\n#L2# Moonlight#l") +if res != 1: + sm.setSpeakerType(3) + sm.sendNext("#face3#I...don't think anything happened? Usually there'd be some sort of fancy special effects right about now. I guess that must not have been the right answer.") + sm.showFadeTransition(0, 1000, 3000) + sm.zoomCamera(0, 1000, 2147483647, 2147483647, 2147483647) + sm.moveCamera(True, 0, 0, 0) + sm.sendDelay(300) + sm.removeOverlapScreen(1000) + sm.moveCamera(True, 0, 0, 0) + sm.lockInGameUI(False, True) +else: + sm.setSpeakerType(3) + sm.sendNext("#face0##b(With a rumble and and an uncomfortable scraping sound, a concealed compartment on the bottom of the box slides open. Peering inside, you see something shining.)#k") + sm.sendSay("#face3#And the crowd goes wiiiild.") + sm.sendDelay(1500) + sm.playSound("Sound/SoundEff.img/pathfinder/key", 100) + sm.onLayer(500, "00", 0, 0, 1, "Effect/Direction22.img/effect/PF_key/0", 4, False, -1, False) + sm.sendDelay(1000) + sm.offLayer(550, "00", False) + sm.onLayer(300, "01", 0, 0, 1, "Effect/Direction22.img/effect/PF_key/1", 4, False, -1, False) + sm.sendDelay(1000) + sm.onLayer(500, "02", 0, 0, 1, "Effect/Direction22.img/effect/PF_key/2", 4, False, -1, False) + sm.offLayer(300, "01", False) + sm.sendDelay(1000) + sm.offLayer(550, "02", False) + sm.sendNext("#face1#The last key to the altar. And that, of course, makes three. I guess it was a good thing I stopped to translate that riddle, huh?") + sm.sendDelay(500) + sm.sendNext("#face1#Now that I have all three of the keys, the next step is to plug these things into the altar.") + sm.sendSay("#face3#Huh. The key's shining again. There must be something that way, where the light is pointing me, and I'd bet my weight in mesos that it's the altar") + sm.forcedMove(False, 200) + sm.sendDelay(1000) + sm.blind(True, 255, 0, 0, 0, 500) + sm.sendDelay(500) + sm.sendDelay(4500) + sm.createFieldTextEffect("#fnArial##fs18#Moments Later, Somewhere in the Partem Ruins", 100, 1000, 6, -50, -50, 1, 4, 0, 0, 0) + sm.sendNext("#face1#Hah... Found you at last, relic. You put up a good challenge, but now you're aaaaaall mine.") + sm.bgmVolume(0, 1500) + sm.sendDelay(1500) + sm.changeBGM("Bgm00.img/Silence", 0, 0) + sm.bgmVolume(-2, 300) + sm.sendDelay(300) + sm.sendDelay(1000) + sm.showFadeTransition(0, 1000, 3000) + sm.zoomCamera(0, 1000, 2147483647, 2147483647, 2147483647) + sm.moveCamera(True, 0, 0, 0) + sm.sendDelay(300) + sm.removeOverlapScreen(1000) + sm.moveCamera(True, 0, 0, 0) + sm.lockInGameUI(False, True) + sm.warp(910090304) diff --git a/scripts/quest/q35902s.py b/scripts/quest/q35902s.py new file mode 100755 index 0000000..d483714 --- /dev/null +++ b/scripts/quest/q35902s.py @@ -0,0 +1,9 @@ +# id 35902 (Find Altar Key 3), field 910090302 +sm.setSpeakerID(1013305) # Ancient Crate +sm.setParam(548) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(1013358) # Pathfinder +res = sm.sendAskAccept("#face6#So basically, it's telling me to get the offering from whatever is guarding these ruins. Then once I've done that, I place it in front of the pillar that correctly answers the riddle. Gotta love the way these ancient ruins are always so roundabout with their secrets, eh?") +sm.setSpeakerType(3) +sm.sendNext("#face0#I know the answer now! Take that, ancient riddle makers. Now, let's find this #r#o2300200##k and get #b#i4036523# #t4036523##k x#b5#k. I think if I poke around here, I'm bound to run into the Ruins Guardian sooner or later.") +sm.startQuest(parentID) diff --git a/scripts/quest/q35903s.py b/scripts/quest/q35903s.py new file mode 100755 index 0000000..392d4ec --- /dev/null +++ b/scripts/quest/q35903s.py @@ -0,0 +1,26 @@ +# id 35903 (Power of the Relic), field 910090305 +sm.setSpeakerType(3) +sm.setParam(548) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(1013358) # Pathfinder +sm.sendNext("#face0#Some sort of ancient force entered me after I came in contact with the relic. Which would be kind of cool, except for that curse I picked up in the process. That's kind of a big drawback.") +sm.sendSay("#face6#Well...there's no putting the toothpaste back in the tube, as they say. I've gotta stay calm and think about what I can do now.") +res = sm.sendAskAccept("#face0#Maybe a little self-reflection would do me some good. A few minutes of meditation, some breathing exercises, and I'll be able to feel the change inside me.") +sm.completeQuestNoCheck(parentID) +sm.openUI(1) +sm.setParam(549) +sm.sendNext("#face0#Well, if there's one silver lining to this curse, it looks like I can actually use the Ancient Bow now. I'd say that's a pretty classy upgrade, even for the terminally hexed.") +sm.sendSay("#face0#Ever since I touched the relic, I've been able to use those new skills, too. It's like...the knowledge was just dumped right into my brain or something. I can press the default key (K) to distribute SP, as well as assign any skills I'll need to use frequently to their own Hotkeys.") +sm.openUI(2) +sm.sendSay("#face0#And of course, as my mentor taught me, I can always use the default keys (S) and select-type (C) to distribute AP. I think I should've leveled up, given all that trouble I went through, and higher levels mean more AP.") +sm.sendSay("#face3#Looks like I'm as ready as I'll ever be. Now, let's head out and see what we can find.") +sm.playSound("Sound/SoundEff.img/pathfinder/mascapo", 100) +sm.setParam(37) +sm.setInnerOverrideSpeakerTemplateID(1013353) # Mascarpo +sm.sendSay("#face0#...me!") +sm.sendSay("#face0#...ve me!") +sm.sendSay("#face0#Gak!") +sm.setParam(549) +sm.setInnerOverrideSpeakerTemplateID(1013358) # Pathfinder +sm.sendSay("#face0#Bwah--!") +sm.sendSay("#face3#That's an awfully weird sound, and it's coming from somewhere nearby. After I've looked around a bit more, I'll go see what's up.") diff --git a/scripts/quest/q35904e.py b/scripts/quest/q35904e.py new file mode 100755 index 0000000..acc4254 --- /dev/null +++ b/scripts/quest/q35904e.py @@ -0,0 +1,13 @@ +# id 35904 (Research and Rescue), field 100051010 +sm.completeQuestNoCheck(parentID) +sm.startQuest(11620) +sm.createQuestWithQRValue(15710, "lasttime=19/07/08/13/32") +sm.createQuestWithQRValue(35948, "10=h0;11=h0;02=h0;12=h0;13=h0;14=h0;15=h0;06=h2;07=h0;16=h0;08=h0;17=h0;09=h0;19=h0") +sm.setSpeakerType(3) +sm.setParam(548) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(1013358) # Pathfinder +sm.sendNext("#face3##b(You drizzled the seed oil over the unfortunate fellow until the ground itself was moist. Then, with a sucking sound and a loud pop, something rather strange popped out of the ground.)#k") +sm.setParam(36) +sm.setInnerOverrideSpeakerTemplateID(1013353) # Mascarpo +sm.sendSay("#face1#*huff* *puff* You really did it! You saved my life. What a kind soul! Your generosity is truly boundless!") diff --git a/scripts/quest/q35904s.py b/scripts/quest/q35904s.py new file mode 100755 index 0000000..4004251 --- /dev/null +++ b/scripts/quest/q35904s.py @@ -0,0 +1,32 @@ +# id 35904 (Research and Rescue), field 100051010 +sm.setSpeakerType(3) +sm.setParam(548) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(1013358) # Pathfinder +sm.sendNext("#face1#Greetings, fellow...organism. I couldn't help but notice you seem to be in need of some assistance.") +sm.setParam(36) +sm.setInnerOverrideSpeakerTemplateID(1013353) # Mascarpo +sm.sendSay("#face1#P-please, you must help me!") +sm.setParam(548) +sm.setInnerOverrideSpeakerTemplateID(1013358) # Pathfinder +sm.sendSay("#face1#Must I? Hmm... If I do, will you do anything I ask of you in return?") +sm.setParam(36) +sm.setInnerOverrideSpeakerTemplateID(1013353) # Mascarpo +sm.sendSay("#face1#Say what?! F-fine... But it has to be something in or near the town. As long as that's okay with you, I'll do whatever you want!") +sm.setParam(548) +sm.setInnerOverrideSpeakerTemplateID(1013358) # Pathfinder +sm.sendSay("#face1#Okay, you've got yourself a deal. Get ready to be unceremoniously yanked from the ground like a turnip.") +sm.setParam(36) +sm.setInnerOverrideSpeakerTemplateID(1013353) # Mascarpo +sm.sendSay("#face1#N-no, wait! You can't just pull me up like some weed! My tender, sensitive body could be torn right in two! Then whatever's inside of me would spill out, and...oh dear, I'm sure it would be a terrible mess.") +sm.setParam(548) +sm.setInnerOverrideSpeakerTemplateID(1013358) # Pathfinder +sm.sendSay("#face6#O...kay? Then what should I do?") +sm.setSpeakerType(4) +sm.setSpeakerID(1013306) # Mascarpo +sm.setParam(36) +sm.setInnerOverrideSpeakerTemplateID(1013353) # Mascarpo +res = sm.sendAskAccept("#face1#S-seed oil! That's the ticket! I think if you drizzle some of that on me, I'll pop out like a jack-in-the-box...except in reverse, I suppose. Seed oil is pretty common around here, so I don't expect it'll be any trouble to get some.") +sm.setSpeakerType(3) +sm.sendNext("#face1#Bring #b#i4036524# #t4036524##k x#b10#k from #o2300201#s for me!\r\nYou can find Pudgy Flowers nearby in the #m100051011#!") +sm.startQuest(parentID) diff --git a/scripts/quest/q35905s.py b/scripts/quest/q35905s.py new file mode 100755 index 0000000..d5a5a76 --- /dev/null +++ b/scripts/quest/q35905s.py @@ -0,0 +1,50 @@ +# id 35905 (Investigation), field 100051010 +sm.setSpeakerID(1013306) # Mascarpo +sm.setParam(36) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(1013353) # Mascarpo +res = sm.sendAskAccept("#face1#Phew... I'm a bit dazed, as you can probably see, but a deal is a deal. What it is you want me to do for you? Go ooon, don't be shy now.") +sm.setSpeakerType(3) +sm.setParam(548) +sm.setInnerOverrideSpeakerTemplateID(1013358) # Pathfinder +sm.sendNext("#face0#I don't want much. Information, mainly. Tell me what you know about this area.") +sm.setSpeakerType(4) +sm.setParam(36) +sm.setInnerOverrideSpeakerTemplateID(1013353) # Mascarpo +res = sm.sendNext("#face0#This forest is pretty vast. What are you curious about, more specifically? If I, the adequately intelligent Mascarpo, possess knowledge that can be of help, I'd be glad to share it with you!\r\n\r\n#b#L0# Ask about the ruins. #l") +sm.setSpeakerType(3) +sm.sendNext("#face1#The r-ruins...... You mean that tottering tower of rubble over there? I've heard it was held in high regard in ages past, and even treated as a place of worship because there was some sort of power there that could heal the injured.") +sm.sendSay("#face1#But you know how things go. Time passed, the crowds thinned, and eventually people stopped coming altogether. After that, a rather...unwholesome energy began seeping out of that place.") +sm.sendSay("#face1#Sure, it started small, and most dismissed it, but over the years, it grew stronger, until it became what you see now: creepy ruins that mothers tell their children never to play near.") +sm.setSpeakerType(4) +res = sm.sendNext("#face0#This forest is pretty vast. What are you curious about, more specifically? If I, the adequately intelligent Mascarpo, possess knowledge that can be of help, I'd be glad to share it with you!\r\n\r\n#b#L0# Ask about the relic. #l") +sm.setSpeakerType(3) +sm.sendNext("#face0#In this forest, we sometimes find long-buried parts of the ruins poking up above the surface, but we Karuppa keep our distance from them. They've just got this creepy vibe, you know?") +sm.sendSay("#face0#We did have one weirdo who liked to collect things from the ruins, but for the most part, we avoid anything that has to do with that awful place.") +sm.sendSay("#face1#It almost sounds like you're actually interested in collecting weird trinkets from the ruins yourself...") +sm.setParam(548) +sm.setInnerOverrideSpeakerTemplateID(1013358) # Pathfinder +sm.sendSay("#face0#(Pssssh. Ancient artifacts are the COOLEST. These blobby talking things are what's weird! Still, it sounds like even if they do know something about the relic, they'd be tight-lipped about it.)") +sm.setSpeakerType(4) +sm.setParam(36) +sm.setInnerOverrideSpeakerTemplateID(1013353) # Mascarpo +res = sm.sendNext("#face0#This forest is pretty vast. What are you curious about, more specifically? If I, the adequately intelligent Mascarpo, possess knowledge that can be of help, I'd be glad to share it with you!\r\n\r\n#b#L0# Ask about his village. #l") +sm.setSpeakerType(3) +sm.sendNext("#face0#Oh, are you interested in our little Karuppa Town?") +sm.sendSay("#face0#Well, 'Karuppa Town' is more of a description than a proper name, really. It's the place where the people who have called this part of the forest home for generations live. I'm a proud Karuppa myself, yes, yes.") +sm.sendSay("#face0#We tend to be a rather faint-hearted lot, so we don't really do much traveling. And by that, I mean we seldom leave the village. We also don't have much in the way of communication with the outside world, aside from the Explorers who pass through from time to time.") +sm.setParam(548) +sm.setInnerOverrideSpeakerTemplateID(1013358) # Pathfinder +sm.sendSay("#face0#(So they're an indigenous race, or something close, but they've got a collective fear of the ruins that goes back generations? It doesn't sound like I can just waltz up and ask them how to open the entrance again.)") +sm.sendSay("#face6#(It feels like I'm wasting my time poking around here. Maybe it's time I got a move-on and continued my search somewhere else.)") +sm.setParam(36) +sm.setInnerOverrideSpeakerTemplateID(1013353) # Mascarpo +sm.sendSay("#face0#If I may be so bold, Explorer, it seems like something about this land has caught your interest. If that's the case, I'd like to invite you to come visit our town. You may be able to learn more there.") +sm.sendSay("#face0#And you're in luck, because today just so happens to be a festival day! Yes indeed, today we celebrate the legendary Karuppa Wunderlixir, greatest of all tonics and tinctures.") +sm.sendSay("#face0#Legend has it that if one chugs a bottle of this famous brew, all vile things within them will be purified, and they'll be blessed with abundant health and longevity.") +sm.setParam(548) +sm.setInnerOverrideSpeakerTemplateID(1013358) # Pathfinder +sm.sendSay("#face3#(Huh. A legendary tonic that purifies all things vile? Not only do I have a very compelling reason to get myself a bottle, it may even have historical ties to this curse.)") +sm.sendSay("#face0#(He's got a dubious-looking face for...a potato? Still, he's the only lead I've got right now. I guess it wouldn't hurt to visit their village and find out what they know.)") +sm.completeQuestNoCheck(parentID) +sm.startQuest(11620) diff --git a/scripts/quest/q35906s.py b/scripts/quest/q35906s.py new file mode 100755 index 0000000..868b684 --- /dev/null +++ b/scripts/quest/q35906s.py @@ -0,0 +1,18 @@ +# id 35906 (A Legendary Forest), field 100051010 +sm.setSpeakerType(3) +sm.setParam(548) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(1013358) # Pathfinder +sm.sendNext("#face0#Well... All right, I accept. Lead the way.") +sm.setParam(36) +sm.setInnerOverrideSpeakerTemplateID(1013353) # Mascarpo +sm.sendSay("#face0#You're...actually interested? I-I mean, of course! Who wouldn't be?") +sm.sendSay("#face0#Just answering a couple questions in return for you saving me doesn't feel like a square deal. Come and party at our festival and I'll make sure you don't go hungry.") +sm.sendSay("#face0#In our town, everyone's the shy sort, so don't feel bad if folks keep their distance at first. They know a good heart when they see one, though, so I'm sure they'll warm up to you quickly.") +sm.sendSay("#face0#I'm sure you'll all be the best of friends before you know it. I'm always right about these things at least 80% of the time.") +sm.setSpeakerType(4) +sm.setSpeakerID(1013306) # Mascarpo +res = sm.sendAskAccept("#face0#Well, what are we standing around here for? Are you ready to head to Karuppa Town?") +sm.setSpeakerType(3) +sm.sendNext("#face0#All righty, just follow me! We'll be in the ol' Karuppa Town in no time.\r\n\r\n #r * You'll be automatically moved to the quest map.#k") +sm.warp(910090306) diff --git a/scripts/quest/q35907e.py b/scripts/quest/q35907e.py new file mode 100755 index 0000000..4dc50e7 --- /dev/null +++ b/scripts/quest/q35907e.py @@ -0,0 +1,30 @@ +# id 35907 (Karuppa), field 100051000 +sm.setSpeakerType(3) +sm.setParam(36) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(1013352) # Gooda +sm.sendNext("#face0#Ohoho. So, you brought an outsider with you, Mascarpo. That explains everyone scurrying around right before you showed up. Tell me, what brings this stranger here?") +sm.setParam(548) +sm.setInnerOverrideSpeakerTemplateID(1013358) # Pathfinder +sm.sendSay("#face0##b(Mascarpo explained what happened, telling the chief he wanted to invite you to the festival as thanks for pulling him out of the ground.)#k") +sm.setParam(36) +sm.setInnerOverrideSpeakerTemplateID(1013352) # Gooda +sm.sendSay("#face0#Hmm... To be perfectly honest, this outsider seems the chilly sort. But let it not be said that I judge on first impressions alone.") +sm.sendSay("#face0#If Mascarpo here is vouching for you, it's doubtful you're the ornery, troublemaking sort. And so, in the interest of sharing Karuppa culture, I invite you to take part in our festivities.") +sm.sendSay("#face0#Now...ahem... Allow me, Chief Gooda, to welcome you to Karuppa Town! To start, why don't you tell us a bit more about yourself? Who are you? Where are you from? Do you have any food allergies we should know about?") +sm.setParam(548) +sm.setInnerOverrideSpeakerTemplateID(1013358) # Pathfinder +sm.sendSay("#face0##b(You told him that you're an Explorer from Maple World, currently traveling the land while beating up monsters and fetching things for people. Thankfully, it doesn't look like the chief is suspicious of you.)#k") +sm.setParam(36) +sm.setInnerOverrideSpeakerTemplateID(1013352) # Gooda +sm.sendSay("#face0#Hoho, it sounds like quite the life! I'll be sure to remember that, Explorer.") +sm.setParam(548) +sm.setInnerOverrideSpeakerTemplateID(1013358) # Pathfinder +sm.sendSay("#face0#So, when do you guys bust out the Wunderlixir? I'm eager to see it for myself.") +sm.setParam(36) +sm.setInnerOverrideSpeakerTemplateID(1013352) # Gooda +sm.sendSay("#face0#The festival preparations are still underway, so it'll be a while before the main event. In the meantime, if you need something to keep your hands busy, why not aid the others with their tasks?") +sm.setParam(548) +sm.setInnerOverrideSpeakerTemplateID(1013358) # Pathfinder +sm.sendSay("#face6#(Hmm... The townspeople all seem wary, but helping them out could really break the ice. If they start feeling comfortable around me, I might even be able to get some useful info out of them.)") +sm.completeQuestNoCheck(parentID) diff --git a/scripts/quest/q35907s.py b/scripts/quest/q35907s.py new file mode 100755 index 0000000..702f39c --- /dev/null +++ b/scripts/quest/q35907s.py @@ -0,0 +1,9 @@ +# id 35907 (Karuppa), field 100051000 +sm.setSpeakerID(1013302) # Mascarpo +sm.setParam(36) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(1013353) # Mascarpo +res = sm.sendAskAccept("#face0#Unfortunately, I can't twist the villagers' stubby arms into coming out. Maybe you should have a chat with the chief over there. He usually knows what to do.") +sm.setSpeakerType(3) +sm.sendNext("#face0#If you're on friendly terms with the chief, the others will start opening up to you too. That's why he's who you want to schmooze with first.") +sm.startQuest(parentID) diff --git a/scripts/quest/q35908e.py b/scripts/quest/q35908e.py new file mode 100755 index 0000000..cc1a5d8 --- /dev/null +++ b/scripts/quest/q35908e.py @@ -0,0 +1,18 @@ +# id 35908 (Helping Hand 1), field 100051000 +sm.setSpeakerType(3) +sm.setParam(36) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(1013350) # Brie +sm.sendNext("#face0#Heehee. You're the brave Explorer who pulled Mascarpo out of the ground when he got stuck, right? I maaaaay have been eavesdropping on your conversation with Chief Gooda. In my defense, we don't get a lot of visitors!") +sm.sendSay("#face2#Hmm... You do sort of give off an unhappy vibe like the chief said, but I don't think you're a bad person.") +sm.sendSay("#face1#I... I really admire people who have courage like that. They always seem like they can do anything. I wish I could be more like them...") +sm.setParam(548) +sm.setInnerOverrideSpeakerTemplateID(1013358) # Pathfinder +sm.sendSay("#face0##b(Her upbeat disposition suddenly dims, a pained look on her face. But just as quickly as she had grown downcast, she rallies her cheer, as though to snap her out of her funk.)#k") +sm.setParam(36) +sm.setInnerOverrideSpeakerTemplateID(1013350) # Brie +sm.sendSay("#face0#O-oh! Sorry, I totally spaced and forgot to introduce myself. I'm Brie! I'm in charge of the festival preparations this year.") +sm.sendSay("#face0#It's a lot of work preparing for a festival held to wish for the town's well being. Lots of pressure. It'd be easier if that loud noise would just give it a rest this year.") +sm.sendSay("#face0#Ack, silly me, getting all carried away! You came to help me with my festival work, right? Well, before I babble your ear off, let me tell you what ingredients we still need.") +sm.completeQuestNoCheck(parentID) +sm.startQuest(11620) diff --git a/scripts/quest/q35908s.py b/scripts/quest/q35908s.py new file mode 100755 index 0000000..d1f4ca3 --- /dev/null +++ b/scripts/quest/q35908s.py @@ -0,0 +1,19 @@ +# id 35908 (Helping Hand 1), field 100051000 +sm.setSpeakerType(3) +sm.setParam(36) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(1013353) # Mascarpo +sm.sendNext("#face0#Like the chief said, everyone's busy with festival-related business. But who knows? If you give 'em a hand with their duties, we might be able to get everything ready faster.") +sm.setSpeakerType(4) +sm.setSpeakerID(1013302) # Mascarpo +res = sm.sendAskAccept("#face0#What do you say, Explorer? Are you up for helping out with some work around town? Nothing endears an outsider to us Karuppa quite as fast as reducing the amount of work we have to do ourselves.") +sm.setSpeakerType(3) +sm.setParam(548) +sm.setInnerOverrideSpeakerTemplateID(1013358) # Pathfinder +sm.sendNext("#face0#Yeah, I can do that. The only question is, who should I help first?") +sm.setParam(36) +sm.setInnerOverrideSpeakerTemplateID(1013353) # Mascarpo +sm.sendSay("#face0#We've only known each other a few hours and you're already such a team player! Don't you worry about a thing - I'll send you where your help is most needed.") +sm.sendSay("#face0#There's a youngster named Brie who's in charge of preparing all the ingredients for the Wunderlixir. It's one of the festival's most challenging jobs, so I think she'd definitely appreciate a hand with the work.") +sm.sendSay("#face0#Brie is a pretty upbeat kid - a real ray of sunshine compared to most of us in this village, so there's no need to worry about her giving you the cold shoulder. Anyway, good luck. We're counting on you!") +sm.startQuest(parentID) diff --git a/scripts/quest/q35909e.py b/scripts/quest/q35909e.py new file mode 100755 index 0000000..e8d7cb7 --- /dev/null +++ b/scripts/quest/q35909e.py @@ -0,0 +1,13 @@ +# id 35909 (Helping Hand 2), field 100051000 +sm.setSpeakerType(3) +sm.setParam(36) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(1013350) # Brie +sm.sendNext("#face0#Wow. You already brought all the Pudgy Flower Stems? That was really fast! You must hit a lot harder than you look like you do!") +sm.sendSay("#face0#Pudgy Flower Stems are pretty tough and fibrous, but through the seeeeeecret method passed down among the Karuppa, they become part of the formula for the mystical Wunderlixir!") +sm.sendSay("#face0#At the end of the festival, we all share a drink of the Wunderlixir as we wish for the health and fortitude of everyone in town. Would you like to try some too? It has a rather bitter aftertaste, but...so do a lot of healthy things, heehee.") +sm.sendSay("#face2#If you want to drink your very own bottle of Wunderlixir with us, it'll happen that much sooner with your help, so just talk with me again whenever you're ready.") +sm.setParam(548) +sm.setInnerOverrideSpeakerTemplateID(1013358) # Pathfinder +sm.sendSay("#face0#(They share the Wunderlixir as part of their festival...?)#k") +sm.completeQuestNoCheck(parentID) diff --git a/scripts/quest/q35909s.py b/scripts/quest/q35909s.py new file mode 100755 index 0000000..1dd2154 --- /dev/null +++ b/scripts/quest/q35909s.py @@ -0,0 +1,9 @@ +# id 35909 (Helping Hand 2), field 100051000 +sm.setSpeakerID(1013300) # Brie +sm.setParam(36) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(1013350) # Brie +res = sm.sendAskAccept("#face0#We need #b#i4036525# #t4036525##k #bx10#k, which you can get from #r#o2300201#s#k.\r\nPudgy Flowers live in the #r#m100051013##k.") +sm.setSpeakerType(3) +sm.sendNext("#face2#I'll leave it to you then, brave Explorer! Still, um... Pudgy Flowers might look like a bunch of lily-stemmed pushovers, but they do have spiky thorns, so be careful not to get pricked, okay?") +sm.startQuest(parentID) diff --git a/scripts/quest/q35910e.py b/scripts/quest/q35910e.py new file mode 100755 index 0000000..18bcc07 --- /dev/null +++ b/scripts/quest/q35910e.py @@ -0,0 +1,16 @@ +# id 35910 (Helping Hand 3), field 100051000 +sm.setSpeakerType(3) +sm.setParam(36) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(1013350) # Brie +sm.sendNext("#face2#Ooooh, those look like Toxiblossom Leaves. I'll take them, thank you! It might seem counterintuitive to make a purifying elixir out of something laced with poison, but the poison itself is neutralized by the preparation process. Pretty neat, huh?") +sm.setParam(548) +sm.setInnerOverrideSpeakerTemplateID(1013358) # Pathfinder +sm.sendSay("#face0#(These ingredients are weird, but they don't seem miraculous or anything. Can they really make a legendary medicinal tonic out of this stuff? Maybe the power is in the steps of the recipe itself.)") +sm.sendSay("#face0#I'm curious. How exactly do you mix all these ingredients?") +sm.setParam(36) +sm.setInnerOverrideSpeakerTemplateID(1013350) # Brie +sm.sendSay("#face0#You may have seen a stone mortar and pestle in the forest outside town. Those have been handed down through the line of chiefs for generations, and that's what we use to grind up everything to make the Wunderlixir.") +sm.sendSay("#face2#It looks like all the preparations for the festival are done. Just let me run one last check to make sure I didn't forget anything.") +sm.completeQuestNoCheck(parentID) +sm.startQuest(11620) diff --git a/scripts/quest/q35910s.py b/scripts/quest/q35910s.py new file mode 100755 index 0000000..b28c4db --- /dev/null +++ b/scripts/quest/q35910s.py @@ -0,0 +1,9 @@ +# id 35910 (Helping Hand 3), field 100051000 +sm.setSpeakerID(1013300) # Brie +sm.setParam(36) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(1013350) # Brie +res = sm.sendAskAccept("#face0#Next on the list, we're gonna need #b#i4036526# #t4036526##k x#b10#k, and you can get those from #r#o2300202#s#k.\r\nToxiblossoms live in #r#m100051013##k.") +sm.setSpeakerType(3) +sm.sendNext("#face2#I'll leave it in your capable hands, then. By the waaaaay, Toxiblossoms are known for their poisonous pollen, but as long as you don't breathe it in, you should be fine. I'll bet someone as strong as you could fight for fifteen minutes without breathing!") +sm.startQuest(parentID) diff --git a/scripts/quest/q35911e.py b/scripts/quest/q35911e.py new file mode 100755 index 0000000..8808560 --- /dev/null +++ b/scripts/quest/q35911e.py @@ -0,0 +1,14 @@ +# id 35911 (Safe and Secure), field 100051000 +sm.setSpeakerType(3) +sm.setParam(548) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(1013358) # Pathfinder +sm.sendNext("#face0#Brie says she's got everything ready on her end.") +sm.setParam(36) +sm.setInnerOverrideSpeakerTemplateID(1013352) # Gooda +sm.sendSay("#face0#Oho! Looks like she got things squared away earlier than expected thanks to your help. Now, let's gather everyone in town together and let the ceremony commence.") +sm.sendSay("#face0#We traditionally hold this part of the festival on Mortargrind Hill. I'll gather the townsfolk and we'll head over. You can join us whenever you're ready.") +sm.setParam(548) +sm.setInnerOverrideSpeakerTemplateID(1013358) # Pathfinder +sm.sendSay("#face0#(Aaaaagh, I can't hold back any longer! I HAVE TO KNOW how it works! I'm gonna get there before everyone else and examine that stone mortar and pestle myself!\r\n\r\n #r *You'll be automatically moved to the quest map.#k") +sm.warp(910090307) diff --git a/scripts/quest/q35911s.py b/scripts/quest/q35911s.py new file mode 100755 index 0000000..48922c2 --- /dev/null +++ b/scripts/quest/q35911s.py @@ -0,0 +1,7 @@ +# id 35911 (Safe and Secure), field 100051000 +sm.setSpeakerID(1013300) # Brie +sm.setParam(36) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(1013350) # Brie +res = sm.sendAskAccept("#face2#It looks like everything's been taken care of and we can begin the ceremony. Can you go let the chief known we're ready?") +sm.startQuest(parentID) diff --git a/scripts/quest/q35912s.py b/scripts/quest/q35912s.py new file mode 100755 index 0000000..6d22820 --- /dev/null +++ b/scripts/quest/q35912s.py @@ -0,0 +1,48 @@ +# id 35912 (Hero, Hero!), field 100051020 +sm.setSpeakerType(3) +sm.setParam(548) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(1013358) # Pathfinder +sm.sendNext("#face6#I thought everyone ran away. What are you still doing here?") +sm.setParam(36) +sm.setInnerOverrideSpeakerTemplateID(1013350) # Brie +sm.sendSay("#face0#I was hiding and I saw that thing you pulled out to show the chief. Does that relic have some connection to the ruins outside of town?") +sm.setParam(548) +sm.setInnerOverrideSpeakerTemplateID(1013358) # Pathfinder +sm.sendSay("#face0#And what if it does?") +sm.setParam(36) +sm.setInnerOverrideSpeakerTemplateID(1013350) # Brie +sm.sendSay("#face1#We Karuppa are scared of those ruins, and the sound that sometimes comes from them. It's a weird sound...like loud crash and a yawning drone you can hear clearly even in town.") +sm.sendSay("#face1#It feels like it gets a bit louder every time, and more ominous, but all we can do is carry on and put all our hearts into our festivals.") +sm.sendSay("#face1#No one's ever ventured INSIDE the ruins to find out what's going on in there or what causes the noise. They're scared...and so am I.") +sm.sendSay("#face1#Eeeep! Just thinking about it is giving me the heebie-jeebies! Still, we can't just let things go on like this. I feel like it's only a matter of time before it turns from just scary to really dangerous.") +sm.sendSay("#face1#Someone's gotta step up and DO something. We're too caught up in our own fear. But not you. You're brave, and strong, too.") +sm.setParam(548) +sm.setInnerOverrideSpeakerTemplateID(1013358) # Pathfinder +sm.sendSay("#face0#I have a feeling I know where this is going, but...just tell me what you're getting at.") +sm.setParam(36) +sm.setInnerOverrideSpeakerTemplateID(1013350) # Brie +sm.sendSay("#face1#Okay, so... What I'm trying to say is, if you wouldn't mind a scaredy-cat like me, could you maybe...") +sm.sendSay("#face1#...take me along as you investigate your relic?") +sm.setParam(548) +sm.setInnerOverrideSpeakerTemplateID(1013358) # Pathfinder +sm.sendSay("#face0#You? What sort of help would you be?") +sm.setParam(36) +sm.setInnerOverrideSpeakerTemplateID(1013350) # Brie +sm.sendSay("#face0#W-well, I'm good at...helper-y stuff. I can't fight or anything, but if you need anything from in or around the town, you can count on me.") +sm.sendSay("#face0#Plus, there's someone I can introduce you to. He's kind of a weirdo, but he's smart!") +sm.sendSay("#face0#His name is Gorgonz. He's a kooky guy who hangs around outside town and observes the ruins. He collects weird odds and ends too, but I don't know what for.") +sm.setSpeakerType(4) +sm.setSpeakerID(1013307) # Brie +res = sm.sendAskAccept("#face0#If we find him, he might be able to answer a few of your questions. Of course, I'll handle the introductions.") +sm.setSpeakerType(3) +sm.setParam(548) +sm.setInnerOverrideSpeakerTemplateID(1013358) # Pathfinder +sm.sendNext("#face0#(I never thought of myself as someone who'd do the whole hero/sidekick thing, but... If this can net me a few good leads, then sure, I'll play along.)") +sm.sendSay("#face6#Moving in a group makes it harder to avoid detection. But once the investigation's done, you're not tagging along after that. Got it?") +sm.setParam(36) +sm.setInnerOverrideSpeakerTemplateID(1013350) # Brie +sm.sendSay("#face2#So you're saying you WILL take me then, right? I just know we'll make a great team!") +sm.completeQuestNoCheck(parentID) +sm.startQuest(11620) +sm.createQuestWithQRValue(15710, "lasttime=19/07/08/13/37") diff --git a/scripts/quest/q35913s.py b/scripts/quest/q35913s.py new file mode 100755 index 0000000..e2f7ca8 --- /dev/null +++ b/scripts/quest/q35913s.py @@ -0,0 +1,9 @@ +# id 35913 (Gorgonz's Home), field 100051020 +sm.setSpeakerID(1013307) # Brie +sm.setParam(36) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(1013350) # Brie +res = sm.sendAskAccept("#face2#Heehee. Come on, I'll take you to meet Gorgonz. His house isn't far.") +sm.startQuest(parentID) +sm.createQuestWithQRValue(35948, "00=h0;10=h0;11=h0;02=h1;12=h0;22=h1;13=h0;23=h1;14=h0;15=h0;06=h0;07=h0;16=h0;26=h1;08=h0;17=h0;09=h0;19=h0") +sm.createQuestWithQRValue(35948, "00=h0;10=h0;11=h0;02=h1;12=h0;22=h1;13=h0;23=h1;14=h0;15=h0;06=h0;07=h0;16=h0;26=h1;08=h1;17=h0;09=h0;19=h0") diff --git a/scripts/quest/q35914e.py b/scripts/quest/q35914e.py new file mode 100755 index 0000000..b916174 --- /dev/null +++ b/scripts/quest/q35914e.py @@ -0,0 +1,16 @@ +# id 35914 (Ancient Compass), field 100051030 +sm.setSpeakerType(3) +sm.setParam(36) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(1013351) # Gorgonz +sm.sendNext("#face0#Aw crap. I totally forgot. Because of those loud noises coming from the ruins recently, the compass stopped working. The vibrations just shook a whole mess of pieces right off it.") +sm.sendSay("#face0#It's too bad. That compass was pretty handy at locating things. But not to worry - this has happened before and I've managed to get it in good working order again. We'll just have to find the missing parts and plug them back into the compass.") +sm.sendSay("#face0#I've been...kinda busy lately, so I haven't managed to find them all yet. You'll need to get the last couple if you wanna use the compass. *cough*.") +sm.setParam(548) +sm.setInnerOverrideSpeakerTemplateID(1013358) # Pathfinder +sm.sendSay("#face0#*sigh* Fine. So where are these missing parts, then?") +sm.setParam(36) +sm.setInnerOverrideSpeakerTemplateID(1013351) # Gorgonz +sm.sendSay("#face0#W-well...") +sm.completeQuestNoCheck(parentID) +sm.createQuestWithQRValue(35948, "00=h0;10=h0;11=h1;02=h1;12=h0;22=h1;13=h0;23=h1;14=h0;15=h0;06=h0;07=h0;16=h0;26=h1;08=h0;17=h0;09=h0;19=h0") diff --git a/scripts/quest/q35914s.py b/scripts/quest/q35914s.py new file mode 100755 index 0000000..e9ea99d --- /dev/null +++ b/scripts/quest/q35914s.py @@ -0,0 +1,16 @@ +# id 35914 (Ancient Compass), field 100051030 +sm.setSpeakerType(3) +sm.setParam(36) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(1013351) # Gorgonz +sm.sendNext("#face0#See, there's this compass I use whenever I'm searching for something. If you place an object connected to the thing you're looking for near it, it'll tell you the direction you need to go to reach it.") +sm.setSpeakerType(4) +sm.setSpeakerID(1013310) # Gorgonz +res = sm.sendAskAccept("#face0#Curious? Just follow me if you wanna see. It's set up out back. Not exactly a long walk.") +sm.setSpeakerType(3) +sm.setParam(548) +sm.setInnerOverrideSpeakerTemplateID(1013358) # Pathfinder +sm.sendNext("#face0#(That sure sounds convenient. I wonder where in the ruins it might lead me if I placed the relic on it...)") +sm.startQuest(parentID) +sm.createQuestWithQRValue(35948, "00=h0;10=h1;11=h0;02=h1;12=h0;22=h1;13=h0;23=h1;14=h0;15=h0;06=h0;07=h0;16=h0;26=h1;08=h0;17=h0;09=h0;19=h0") +sm.createQuestWithQRValue(35948, "00=h0;10=h0;11=h0;02=h1;12=h0;22=h1;13=h0;23=h1;14=h0;15=h0;06=h0;07=h0;16=h0;26=h1;08=h0;17=h0;09=h0;19=h0") diff --git a/scripts/quest/q35915e.py b/scripts/quest/q35915e.py new file mode 100755 index 0000000..71c70fc --- /dev/null +++ b/scripts/quest/q35915e.py @@ -0,0 +1,8 @@ +# id 35915 (Gorgonz Order 1), field 100051030 +sm.setSpeakerType(3) +sm.setParam(36) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(1013351) # Gorgonz +sm.sendNext("#face0#What's this? You already brought those Pottery Shards? Lessee...one, two... Yep, everything I wanted is here. I've got no doubt these are from ancient times.") +sm.sendSay("#face1#H-Hey, what's with that face? I can practically see the words 'Will this guy just shut up and tell me where those parts are?' floating in a bubble over your head. But we're not quite done yet, my talented new associate, because I've still got one more favor to ask of you.") +sm.completeQuestNoCheck(parentID) diff --git a/scripts/quest/q35915s.py b/scripts/quest/q35915s.py new file mode 100755 index 0000000..c94cc14 --- /dev/null +++ b/scripts/quest/q35915s.py @@ -0,0 +1,14 @@ +# id 35915 (Gorgonz Order 1), field 100051030 +sm.setSpeakerType(3) +sm.setParam(36) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(1013351) # Gorgonz +sm.sendNext("#face0#I'm willing to share this useful and rather timely information...IF you'll do a little favor for me. ...What? Don't make that face. It won't be that hard. Probably.") +sm.sendSay("#face0#Brie probably mentioned that I collect antiques. It's sort of a hobby of mine, or at least a way to pretend all the junk I keep lying around serves some sort of higher purpose. But ever since the compass broke, I haven't had much luck tracking down new pieces for my collection.") +sm.sendSay("#face1#That means I've gotta resort to...other methods to feed my collection. I've heard that the monsters nearby sometimes drop antiques if you beat them up, hint-hint.") +sm.setSpeakerType(4) +sm.setSpeakerID(1013311) # Gorgonz +res = sm.sendAskAccept("#face1#So yeah, if you're feeling spry, could you bring me #b#i4036527# #t4036527##k x#b15#k? You should be able to get 'em from #r#o2300203#s#k. Hoppin' Sprouts are monsters I've often spotted in the sensibly named #r#m100051022##k.") +sm.setSpeakerType(3) +sm.sendNext("#face0#Those pots the Hoppin' Sprouts like to bop around in are actually valuable antiques. Even the broken pieces make nice additions to my collection. Anyhow, I'm leaving things in your capable hands.") +sm.startQuest(parentID) diff --git a/scripts/quest/q35916e.py b/scripts/quest/q35916e.py new file mode 100755 index 0000000..399474a --- /dev/null +++ b/scripts/quest/q35916e.py @@ -0,0 +1,11 @@ +# id 35916 (Gorgonz Order 2), field 100051030 +sm.setSpeakerType(3) +sm.setParam(36) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(1013351) # Gorgonz +sm.sendNext("#face0#Oh, you're back. And hey, I'm already feeling more peaceful. Lessee...one, two... Yep, everything I wanted is here. Ahhh, can you smell that? *sniff* *sniff* Yeah, that's the good stuff. The scent of ancient times.") +sm.sendSay("#face1#You're so good at this, there are a few other things I'd like to cajole you into helping me with, but... Being the gracious gent I am, I wouldn't want to impose, so this'll do.") +sm.sendSay("#face0#The compass parts you're looking for fell into the Creepy Crawly Copse area of the forest. I remember watching it happen. The ground shook my entire house like a jealous lover. I was afraid my roof was gonna fall in on me.") +sm.sendSay("#face0#There are three pieces that are still missing. If you go pokin' around in the Creepy Crawly Copse, I'm betting they'll turn up sooner or later.") +sm.completeQuestNoCheck(parentID) +sm.createQuestWithQRValue(35948, "00=h0;10=h0;11=h1;02=h1;12=h0;22=h1;13=h0;23=h1;14=h0;15=h0;06=h0;07=h0;16=h0;26=h1;08=h0;17=h0;09=h1;19=h0") diff --git a/scripts/quest/q35916s.py b/scripts/quest/q35916s.py new file mode 100755 index 0000000..83ecb99 --- /dev/null +++ b/scripts/quest/q35916s.py @@ -0,0 +1,9 @@ +# id 35916 (Gorgonz Order 2), field 100051030 +sm.setSpeakerID(1013311) # Gorgonz +sm.setParam(36) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(1013351) # Gorgonz +res = sm.sendAskAccept("#face0#What I'd like this time is #b#i4036528# #t4036528##k x#b15#k, which you should be able to snag from #r#o2300204#s#k. Chargin' Sprouts are ornery monsters that often ride around in the #r#m100051021##k.") +sm.setSpeakerType(3) +sm.sendNext("#face0#Those terracotta figures the Chargin' Sprouts ride around on are actually ancient incense burners. If you heat the ashes inside them, they'll give off a scent that really calms the mind. I can't wait to calm MY mind, hint-hint.") +sm.startQuest(parentID) diff --git a/scripts/quest/q35917e.py b/scripts/quest/q35917e.py new file mode 100755 index 0000000..fba1ca2 --- /dev/null +++ b/scripts/quest/q35917e.py @@ -0,0 +1,11 @@ +# id 35917 (Fragmented Compass), field 100051031 +sm.setSpeakerType(3) +sm.setParam(36) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(1013350) # Brie +sm.sendNext("#face0#W-well, here we are. The Creepy Crawly Copse. As you might've guessed from the name, this area is rich in...bugs, mostly.") +sm.sendSay("#face1#The compass parts may have ended up here, like Gorgonz said, but I'll let you in on a little secret: bugs are gross!") +sm.setParam(548) +sm.setInnerOverrideSpeakerTemplateID(1013358) # Pathfinder +sm.sendSay("#face0#(Normally, I'm not one to be put off by a few insects, but...the ones here seem drawn to me. It's gonna be annoying to collect all the compass parts if I have to pick off bugs every couple minutes.)") +sm.completeQuestNoCheck(parentID) diff --git a/scripts/quest/q35917s.py b/scripts/quest/q35917s.py new file mode 100755 index 0000000..076b790 --- /dev/null +++ b/scripts/quest/q35917s.py @@ -0,0 +1,15 @@ +# id 35917 (Fragmented Compass), field 100051030 +sm.setSpeakerType(3) +sm.setParam(36) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(1013350) # Brie +sm.sendNext("#face0#Phew... Sorry he's such a weirdo, pestering you with all those eccentric requests. He's not a bad Karuppa at heart, really.") +sm.sendSay("#face0#Oh, right. We should hurry and look for those compass parts. From here on, I'll guide you there personally.") +sm.setSpeakerType(4) +sm.setSpeakerID(1013309) # Brie +res = sm.sendAskAccept("#face2#Heehee. You'll be able to find the compass parts in a jiffy if you stick with me. I know this forest like the back of my hand. So, are you ready to set out?") +sm.setSpeakerType(3) +sm.sendNext("#face2#Okie dokie. Just follow me! We're off to the Creepy Crawly Copse to bring back those compass parts!") +sm.createQuestWithQRValue(35948, "00=h0;10=h0;11=h1;02=h1;12=h0;22=h1;13=h0;23=h1;14=h0;15=h0;06=h0;07=h0;16=h0;26=h1;08=h0;17=h0;09=h0;19=h0") +sm.createQuestWithQRValue(35948, "00=h0;10=h0;11=h1;02=h1;12=h1;22=h1;13=h0;23=h1;14=h0;15=h0;06=h0;07=h0;16=h0;26=h1;08=h0;17=h0;09=h0;19=h0") +sm.startQuest(parentID) diff --git a/scripts/quest/q35918e.py b/scripts/quest/q35918e.py new file mode 100755 index 0000000..5f118fa --- /dev/null +++ b/scripts/quest/q35918e.py @@ -0,0 +1,12 @@ +# id 35918 (Compass Fragment 1), field 100051031 +sm.setSpeakerType(3) +sm.setParam(36) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(1013350) # Brie +sm.sendNext("#face2#Wow, you really took charge. Those bugs'll think twice before messing with us now.") +sm.sendSay("#face2#Thanks to you, it looks like their activity has died down a bit. I'll pick up the compass part now.") +sm.completeQuestNoCheck(parentID) +sm.createQuestWithQRValue(35948, "00=h0;10=h0;11=h1;02=h1;12=h1;22=h1;13=h0;23=h1;14=h0;24=h0;15=h0;06=h0;07=h0;16=h0;26=h1;08=h0;17=h0;09=h0;19=h0") +sm.createQuestWithQRValue(35948, "00=h0;10=h0;11=h1;02=h1;12=h0;22=h1;13=h0;23=h1;14=h0;24=h0;15=h0;06=h0;07=h0;16=h0;26=h1;08=h0;17=h0;09=h0;19=h0") +sm.createQuestWithQRValue(35948, "00=h0;10=h0;11=h1;02=h1;12=h0;22=h1;13=h1;23=h1;14=h0;24=h0;15=h0;06=h0;07=h0;16=h0;26=h1;08=h0;17=h0;09=h0;19=h0") +sm.sendSay("#face2#Heehee, we've got the first part! Just two parts left, so let's get back to our search.") diff --git a/scripts/quest/q35918s.py b/scripts/quest/q35918s.py new file mode 100755 index 0000000..3446a09 --- /dev/null +++ b/scripts/quest/q35918s.py @@ -0,0 +1,77 @@ +# id 35918 (Compass Fragment 1), field 100051031 +sm.setSpeakerType(3) +sm.setParam(36) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(1013350) # Brie +sm.sendNext("#face1#Waaaah! Don't come any closer! ...O-oh, I don't mean YOU; I'm talking to the bugs! Argh... If these Log-a-Rhythmic Bugs keep pestering us, there's no way we'll be able to look for those missing parts in peace.") +sm.sendSay("#face1#Okay, so, here's the plan. In order to find and retrieve those compass parts, we're gonna have to do a little bug squashing. And by 'we,' I mean 'you.'") +sm.setSpeakerType(4) +sm.setSpeakerID(1013312) # Brie +res = sm.sendAskAccept("#face1#If we thin their numbers out, maybe they'll stop incessantly thumping those logs and we can have a moment to gather our thoughts. I think we'll get the message across if you take out #r#o2300205##k x#b30#k.") +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.createQuestWithQRValue(16700, "count=198;date=20190708") +sm.startQuest(parentID) +sm.createQuestWithQRValue(16700, "count=199;date=20190708") +sm.startQuest(parentID) +sm.createQuestWithQRValue(16700, "count=200;date=20190708") +sm.startQuest(parentID) +sm.createQuestWithQRValue(16700, "count=201;date=20190708") +sm.startQuest(parentID) +sm.createQuestWithQRValue(16700, "count=202;date=20190708") +sm.startQuest(parentID) +sm.createQuestWithQRValue(16700, "count=203;date=20190708") +sm.startQuest(parentID) +sm.createQuestWithQRValue(16700, "count=204;date=20190708") +sm.startQuest(parentID) +sm.createQuestWithQRValue(16700, "count=205;date=20190708") +sm.startQuest(parentID) +sm.createQuestWithQRValue(16700, "count=206;date=20190708") +sm.startQuest(parentID) +sm.createQuestWithQRValue(16700, "count=207;date=20190708") +sm.startQuest(parentID) +sm.createQuestWithQRValue(16700, "count=208;date=20190708") +sm.startQuest(parentID) +sm.createQuestWithQRValue(16700, "count=209;date=20190708") +sm.startQuest(parentID) +sm.createQuestWithQRValue(16700, "count=210;date=20190708") +sm.startQuest(parentID) +sm.createQuestWithQRValue(16700, "count=211;date=20190708") +sm.startQuest(parentID) +sm.createQuestWithQRValue(16700, "count=212;date=20190708") +sm.startQuest(parentID) +sm.createQuestWithQRValue(16700, "count=213;date=20190708") +sm.startQuest(parentID) +sm.createQuestWithQRValue(16700, "count=214;date=20190708") +sm.startQuest(parentID) +sm.createQuestWithQRValue(16700, "count=215;date=20190708") +sm.startQuest(parentID) +sm.createQuestWithQRValue(16700, "count=216;date=20190708") +sm.startQuest(parentID) +sm.createQuestWithQRValue(16700, "count=217;date=20190708") +sm.startQuest(parentID) +sm.createQuestWithQRValue(16700, "count=218;date=20190708") +sm.startQuest(parentID) +sm.createQuestWithQRValue(16700, "count=219;date=20190708") +sm.startQuest(parentID) +sm.createQuestWithQRValue(16700, "count=220;date=20190708") +sm.startQuest(parentID) +sm.createQuestWithQRValue(16700, "count=221;date=20190708") +sm.startQuest(parentID) +sm.createQuestWithQRValue(16700, "count=222;date=20190708") +sm.startQuest(parentID) +sm.createQuestWithQRValue(16700, "count=223;date=20190708") +sm.startQuest(11620) +sm.createQuestWithQRValue(15710, "lasttime=19/07/08/13/41") +sm.startQuest(parentID) +sm.createQuestWithQRValue(16700, "count=224;date=20190708") +sm.startQuest(parentID) +sm.createQuestWithQRValue(16700, "count=225;date=20190708") +sm.startQuest(parentID) +sm.createQuestWithQRValue(16700, "count=226;date=20190708") +sm.startQuest(parentID) +sm.createQuestWithQRValue(16700, "count=227;date=20190708") +sm.createQuestWithQRValue(16700, "count=228;date=20190708") +sm.createQuestWithQRValue(16700, "count=229;date=20190708") +sm.createQuestWithQRValue(16700, "count=230;date=20190708") +sm.createQuestWithQRValue(16700, "count=231;date=20190708") diff --git a/scripts/quest/q35919e.py b/scripts/quest/q35919e.py new file mode 100755 index 0000000..56fe1c7 --- /dev/null +++ b/scripts/quest/q35919e.py @@ -0,0 +1,18 @@ +# id 35919 (Compass Fragment 2), field 100051032 +sm.setSpeakerType(3) +sm.setParam(36) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(1013350) # Brie +sm.sendNext("#face2#Wow, you really made short work of them. What a consummate professional!") +sm.sendSay("#face2#Thanks to you, it looks like their activity has died down a bit. I'll pick up the compass part now.") +sm.completeQuestNoCheck(parentID) +sm.startQuest(11620) +sm.createQuestWithQRValue(15710, "lasttime=19/07/08/13/42") +sm.createQuestWithQRValue(35948, "00=h0;10=h0;11=h1;02=h1;12=h0;22=h1;13=h1;23=h1;14=h0;24=h0;15=h0;06=h0;25=h0;07=h0;16=h0;26=h1;08=h0;17=h0;09=h0;19=h0") +sm.createQuestWithQRValue(35948, "00=h0;10=h0;11=h1;02=h1;12=h0;22=h1;13=h0;23=h1;14=h0;24=h0;15=h0;06=h0;25=h0;07=h0;16=h0;26=h1;08=h0;17=h0;09=h0;19=h0") +sm.createQuestWithQRValue(35948, "00=h0;10=h0;11=h1;02=h1;12=h0;22=h1;13=h0;23=h1;14=h1;24=h0;15=h0;06=h0;25=h0;07=h0;16=h0;26=h1;08=h0;17=h0;09=h0;19=h0") +sm.sendSay("#face2#Heehee. We've got the second part! Now there's just one more piece we need to find.") +sm.sendSay("#face2#Let's go. We're so close to getting that compass back in working order again!") +sm.createQuestWithQRValue(16700, "count=264;date=20190708") +sm.createQuestWithQRValue(16700, "count=265;date=20190708") +sm.createQuestWithQRValue(16700, "count=266;date=20190708") diff --git a/scripts/quest/q35919s.py b/scripts/quest/q35919s.py new file mode 100755 index 0000000..ad321ce --- /dev/null +++ b/scripts/quest/q35919s.py @@ -0,0 +1,72 @@ +# id 35919 (Compass Fragment 2), field 100051032 +sm.setSpeakerType(3) +sm.setParam(36) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(1013350) # Brie +sm.sendNext("#face1#Ooooh! We found the next part of the compass! Unfortunately, it looks like there are just as many bugs here as there were near the last part.") +sm.setSpeakerType(4) +sm.setSpeakerID(1013313) # Brie +res = sm.sendAskAccept("#face1#I think we could enjoy some quality part-picking time if we just culled their numbers a bit. Get out there and make sure to beat the stuffing out of #r#o2300206##k x#b30#k!") +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.createQuestWithQRValue(16700, "count=232;date=20190708") +sm.startQuest(parentID) +sm.createQuestWithQRValue(16700, "count=233;date=20190708") +sm.startQuest(parentID) +sm.createQuestWithQRValue(16700, "count=234;date=20190708") +sm.startQuest(parentID) +sm.createQuestWithQRValue(16700, "count=235;date=20190708") +sm.startQuest(parentID) +sm.createQuestWithQRValue(16700, "count=236;date=20190708") +sm.startQuest(parentID) +sm.createQuestWithQRValue(16700, "count=237;date=20190708") +sm.startQuest(parentID) +sm.createQuestWithQRValue(16700, "count=238;date=20190708") +sm.startQuest(parentID) +sm.createQuestWithQRValue(16700, "count=239;date=20190708") +sm.startQuest(parentID) +sm.createQuestWithQRValue(16700, "count=240;date=20190708") +sm.startQuest(parentID) +sm.createQuestWithQRValue(16700, "count=241;date=20190708") +sm.startQuest(parentID) +sm.createQuestWithQRValue(16700, "count=242;date=20190708") +sm.startQuest(parentID) +sm.createQuestWithQRValue(16700, "count=243;date=20190708") +sm.startQuest(parentID) +sm.createQuestWithQRValue(16700, "count=244;date=20190708") +sm.startQuest(parentID) +sm.createQuestWithQRValue(16700, "count=245;date=20190708") +sm.startQuest(parentID) +sm.createQuestWithQRValue(16700, "count=246;date=20190708") +sm.startQuest(parentID) +sm.createQuestWithQRValue(16700, "count=247;date=20190708") +sm.startQuest(parentID) +sm.createQuestWithQRValue(16700, "count=248;date=20190708") +sm.startQuest(parentID) +sm.createQuestWithQRValue(16700, "count=249;date=20190708") +sm.startQuest(parentID) +sm.createQuestWithQRValue(16700, "count=250;date=20190708") +sm.startQuest(parentID) +sm.createQuestWithQRValue(16700, "count=251;date=20190708") +sm.startQuest(parentID) +sm.createQuestWithQRValue(16700, "count=252;date=20190708") +sm.startQuest(parentID) +sm.createQuestWithQRValue(16700, "count=253;date=20190708") +sm.startQuest(parentID) +sm.createQuestWithQRValue(16700, "count=254;date=20190708") +sm.startQuest(parentID) +sm.createQuestWithQRValue(16700, "count=255;date=20190708") +sm.startQuest(parentID) +sm.createQuestWithQRValue(16700, "count=256;date=20190708") +sm.startQuest(parentID) +sm.createQuestWithQRValue(16700, "count=257;date=20190708") +sm.startQuest(parentID) +sm.createQuestWithQRValue(16700, "count=258;date=20190708") +sm.startQuest(parentID) +sm.createQuestWithQRValue(16700, "count=259;date=20190708") +sm.startQuest(parentID) +sm.createQuestWithQRValue(16700, "count=260;date=20190708") +sm.startQuest(parentID) +sm.createQuestWithQRValue(16700, "count=261;date=20190708") +sm.createQuestWithQRValue(16700, "count=262;date=20190708") +sm.createQuestWithQRValue(16700, "count=263;date=20190708") diff --git a/scripts/quest/q35920e.py b/scripts/quest/q35920e.py new file mode 100755 index 0000000..35e058e --- /dev/null +++ b/scripts/quest/q35920e.py @@ -0,0 +1,19 @@ +# id 35920 (Compass Fragment 3), field 100051034 +sm.lockInGameUI(True, False) +sm.removeAdditionalEffect() +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(1013350) # Brie +sm.sendNext("#face2#Wow, you got everything I need! Now, just let me put this wood and flint to work with a few other combustible ingredients I gathered and we should have a passable explosive.") +sm.sendDelay(500) +sm.blind(True, 255, 0, 0, 0, 500) +sm.sendDelay(500) +sm.showFadeTransition(0, 1000, 3000) +sm.zoomCamera(0, 1000, 2147483647, 2147483647, 2147483647) +sm.moveCamera(True, 0, 0, 0) +sm.sendDelay(300) +sm.removeOverlapScreen(1000) +sm.moveCamera(True, 0, 0, 0) +sm.lockInGameUI(False, True) +sm.warp(910090309) diff --git a/scripts/quest/q35920s.py b/scripts/quest/q35920s.py new file mode 100755 index 0000000..3ff332a --- /dev/null +++ b/scripts/quest/q35920s.py @@ -0,0 +1,12 @@ +# id 35920 (Compass Fragment 3), field 100051034 +sm.setSpeakerType(3) +sm.setParam(36) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(1013350) # Brie +sm.sendNext("#face0#I don't know how strong the blast would be, but there ARE a couple things I've used when making fireworks for the town festivals.") +sm.sendSay("#face0#Let's see, what were those again...? Oh, right. Dry firewood and flint, the classic fire-starting basics. Fortunately, we can find plenty of both around here.") +sm.sendSay("#face0#I'm sure you noticed that the Log-a-Rhythmic Bugs and Sparkinstone Bugs we've seen have been carrying a lot of rocks and a lot of logs.") +sm.setSpeakerType(4) +sm.setSpeakerID(1013314) # Brie +res = sm.sendAskAccept("#face0#What I need you to do is bring me back #b#i4036529# #t4036529##k x#b5#k and #b#i4036530# #t4036530##k x#b5#k.You remember where the Log-a-Rhythmic bugs are, right? You just squished some not too long ago.") +sm.startQuest(parentID) diff --git a/scripts/quest/q35921e.py b/scripts/quest/q35921e.py new file mode 100755 index 0000000..c0abe4a --- /dev/null +++ b/scripts/quest/q35921e.py @@ -0,0 +1,72 @@ +# id 35921 (The Wait for Daybreak), field 100051030 +sm.lockInGameUI(True, False) +sm.removeAdditionalEffect() +sm.blind(True, 255, 0, 0, 0, 0) +sm.zoomCamera(0, 1500, 0, 1504, -77) +sm.forcedFlip(True) +sm.blind(True, 255, 0, 0, 0, 0) +sm.sendDelay(1200) +sm.blind(False, 0, 0, 0, 0, 1000) +sm.sendDelay(1400) +sm.sendDelay(1000) +sm.setSpeakerType(3) +sm.setParam(549) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(1013358) # Pathfinder +sm.sendNext("#face0##b(Noon is still several hours away, and it occurs to you that it's been some time since you last rested. Ever since you were afflicted with the relic's curse, you've found it difficult to have restful sleep.)#k") +sm.blind(True, 200, 0, 0, 0, 1300) +sm.sendDelay(1600) +sm.sendNext("#face6##b(Even now, you can feel your life slowly ebbing away, and a small pain where the curse's sigil marks your body. Though small, you can feel its strength grow with each passing day.)#k") +sm.sendSay("#face0##b(You can't help but wonder what Athena Pierce would think if she saw you in your present state. Would she chastise you as a foolish student whose insatiable curiosity brought disaster upon yourself?)#k") +sm.sendSay("#face0##b(You remember boasting confidently that you'd embark on an amazing adventure; that you'd always follow the path less taken. Right now, though, you feel more lost than you can ever remember feeling. How could you stand tall and look your teacher in the eye in the state you're in?)#k") +sm.sendDelay(500) +sm.setParam(37) +sm.setInnerOverrideSpeakerTemplateID(1013350) # Brie +sm.sendNext("#face2#Heeeey, what'cha thinkin' about?") +sm.spawnNpc(1013350, 1216, -119) +sm.showNpcSpecialActionByTemplateId(1013350, "summon", 0) +sm.moveNpcByTemplateId(1013350, False, 150, 150) +sm.blind(False, 0, 0, 0, 0, 1300) +sm.sendDelay(1600) +sm.sendDelay(500) +sm.setParam(549) +sm.setInnerOverrideSpeakerTemplateID(1013358) # Pathfinder +sm.sendNext("#face0#Bwah--!") +sm.sendDelay(1000) +sm.setParam(37) +sm.setInnerOverrideSpeakerTemplateID(1013350) # Brie +sm.sendNext("#face0#I was playing by myself, but then I saw your face. You looked so sad that I had to come over and see if you're okay...") +sm.sendSay("#face0#Sorry for interrupting you when you were resting. It's just...") +sm.sendDelay(500) +sm.sendNext("#face1#Well... I kinda know how you must feel. I had a depressing day not too long ago, and your face just now made me think of how I felt then. It was like all this weight was pressing down on me.") +sm.sendSay("#face1#B-but I'm not trying to say that you and I are the same. You're so brave and smart, but I'm just a scaredy cat.") +sm.sendSay("#face0#S-so what I'm trying to say is, everyone has times when they feel down. When I feel blue, I like looking at pretty little flowers. I think to myself, if they can make it through times like these, then so can I. Heehee.") +sm.sendSay("#face2#I don't know why that cheers me up, but it usually does the trick. Heehee... I figured maybe you could use a little pick-me-up too, so I brought one for you.") +sm.sendDelay(500) +sm.playSound("Sound/SoundEff.img/Fever", 100) +sm.onLayer(0, "01", -20, 65, -1200000, "Effect/Direction22.img/effect/PF_flower/0", 4, False, -1, False) +sm.sendDelay(1500) +sm.setParam(549) +sm.setInnerOverrideSpeakerTemplateID(1013358) # Pathfinder +sm.sendNext("#face0#...") +sm.offLayer(300, "01", False) +sm.sendDelay(1000) +sm.setParam(37) +sm.setInnerOverrideSpeakerTemplateID(1013351) # Gorgonz +sm.sendNext("#face0#Well, that took way too much effort.") +sm.sendSay("#face0#Up and at 'em, you two. I've finally fixed the ancient compass!") +sm.sendDelay(500) +sm.setInnerOverrideSpeakerTemplateID(1013350) # Brie +sm.sendNext("#face2#Gorgonz is already done with the repairs? I didn't even realize we'd been resting that long! Come on, let's go see what it can do!") +sm.sendDelay(500) +sm.showFadeTransition(0, 1000, 3000) +sm.zoomCamera(0, 1000, 2147483647, 2147483647, 2147483647) +sm.moveCamera(True, 0, 0, 0) +sm.sendDelay(300) +sm.removeOverlapScreen(1000) +sm.moveCamera(True, 0, 0, 0) +sm.lockInGameUI(False, True) +sm.completeQuestNoCheck(parentID) +sm.startQuest(11620) +sm.createQuestWithQRValue(15710, "lasttime=19/07/08/13/45") +sm.createQuestWithQRValue(35948, "00=h0;10=h0;11=h1;02=h1;21=h0;12=h0;22=h1;13=h0;23=h1;14=h0;24=h0;15=h0;06=h0;25=h0;07=h0;16=h0;26=h1;08=h0;17=h0;09=h1;19=h0") diff --git a/scripts/quest/q35921s.py b/scripts/quest/q35921s.py new file mode 100755 index 0000000..59730ef --- /dev/null +++ b/scripts/quest/q35921s.py @@ -0,0 +1,19 @@ +# id 35921 (The Wait for Daybreak), field 100051030 +sm.setSpeakerType(3) +sm.setParam(36) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(1013351) # Gorgonz +sm.sendNext("#face0#Eeeey, look who's back. I figured it'd be too difficult to get those compass parts, so-- Wait, what? You really managed to get them all?! I'm speechless! ") +sm.setParam(548) +sm.setInnerOverrideSpeakerTemplateID(1013358) # Pathfinder +sm.sendSay("#face0#Yes, I think I'd appreciate some speechlessness as you get to work on fixing that compass without delay.") +sm.setParam(36) +sm.setInnerOverrideSpeakerTemplateID(1013351) # Gorgonz +sm.sendSay("#face0#Yeah, yeah, don't nag me. Even when I fix it, the compass needs to be exposed to sunlight to work, so it's not like we'll get immediate results.") +sm.sendSay("#face0#We've got plenty of time until noon rolls around, so I just need to have it fixed up by then. Gah, more work.") +sm.setSpeakerType(4) +sm.setSpeakerID(1013311) # Gorgonz +res = sm.sendAskAccept("#face0#Anyway, just give me those pieces and I'll get this thing back in working order. As for you two, get some rest. I'll call you when I'm done.") +sm.startQuest(parentID) +sm.setSpeakerType(3) +sm.sendNext("#face0#Gotta put that compass back to-geeee-ther!\r\n'Cause we can't miss that sunny weaaaa-ther!") diff --git a/scripts/quest/q35922s.py b/scripts/quest/q35922s.py new file mode 100755 index 0000000..096b8bb --- /dev/null +++ b/scripts/quest/q35922s.py @@ -0,0 +1,7 @@ +# id 35922 (Working the Compass), field 100051030 +sm.setSpeakerID(1013311) # Gorgonz +sm.setParam(36) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(1013351) # Gorgonz +res = sm.sendAskAccept("#face0#Soon, the hour of the greatest sunlight will be upon us. That's...noon, in case you were nodding off when I explained it last time. How about it? Are you prepared?") +sm.warp(910090310) diff --git a/scripts/quest/q35923e.py b/scripts/quest/q35923e.py new file mode 100755 index 0000000..7aad91e --- /dev/null +++ b/scripts/quest/q35923e.py @@ -0,0 +1,7 @@ +# id 35923 (Compass Directions), field 100051040 +sm.setSpeakerType(3) +sm.setParam(36) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(1013350) # Brie +sm.sendNext("#face0#I think you might be right. I don't like all this noise and shaking one bit, but we need to get to the bottom of this, so in we go.\r\n\r\n #r *You will be automatically moved to the quest map.#k") +sm.warp(910090311) diff --git a/scripts/quest/q35923s.py b/scripts/quest/q35923s.py new file mode 100755 index 0000000..0a24398 --- /dev/null +++ b/scripts/quest/q35923s.py @@ -0,0 +1,19 @@ +# id 35923 (Compass Directions), field 100051030 +sm.setSpeakerType(3) +sm.setParam(36) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(1013350) # Brie +sm.sendNext("#face0#Ehehe... Having said that, I'd be lying if I said I hadn't thought about bailing too. I've never dared to get so close to the ruins before.") +sm.setSpeakerType(4) +sm.setSpeakerID(1013309) # Brie +res = sm.sendAskAccept("#face0#Still... I can't just give up after coming this far. I decided I was gonna do something about this problem, and I mean to see it through.") +sm.setSpeakerType(3) +sm.setParam(548) +sm.setInnerOverrideSpeakerTemplateID(1013358) # Pathfinder +sm.sendNext("#face6#You do know that if you end up slowing me down, I'm just gonna to leave you behind, right?") +sm.setParam(36) +sm.setInnerOverrideSpeakerTemplateID(1013350) # Brie +sm.sendSay("#face0#And I'm going to do my best to make sure that never happens, because I need to find out what's causing that terrible noise and save our village!") +sm.startQuest(parentID) +sm.createQuestWithQRValue(35948, "00=h0;10=h0;11=h1;02=h1;21=h0;12=h0;22=h1;13=h0;23=h1;14=h0;24=h0;15=h0;06=h0;25=h0;07=h0;16=h0;26=h1;08=h0;17=h0;09=h0;19=h0") +sm.createQuestWithQRValue(35948, "00=h0;10=h0;11=h1;02=h1;21=h0;12=h0;22=h1;13=h0;23=h1;14=h0;24=h0;15=h0;06=h0;25=h0;07=h0;16=h0;26=h1;08=h0;17=h0;09=h0;19=h1") diff --git a/scripts/quest/q35924e.py b/scripts/quest/q35924e.py new file mode 100755 index 0000000..2839e6c --- /dev/null +++ b/scripts/quest/q35924e.py @@ -0,0 +1,9 @@ +# id 35924 (Strange Sounds 1), field 100051041 +sm.setSpeakerType(3) +sm.setParam(36) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(1013350) # Brie +sm.sendNext("#face0#Phew. The path is finally clear. We should be able to get to wherever that sound is coming from now, so just follow me.") +sm.completeQuestNoCheck(parentID) +sm.createQuestWithQRValue(35948, "00=h0;10=h0;11=h1;02=h1;21=h0;12=h0;22=h1;13=h0;23=h1;14=h0;24=h0;15=h0;06=h0;25=h0;07=h0;16=h0;26=h1;08=h0;17=h0;09=h0;19=h0") +sm.createQuestWithQRValue(35948, "00=h0;10=h0;11=h1;02=h1;21=h0;12=h0;22=h1;13=h0;23=h1;14=h0;24=h0;15=h0;06=h0;25=h0;07=h0;16=h1;26=h1;08=h0;17=h0;09=h0;19=h0") diff --git a/scripts/quest/q35924s.py b/scripts/quest/q35924s.py new file mode 100755 index 0000000..e677647 --- /dev/null +++ b/scripts/quest/q35924s.py @@ -0,0 +1,74 @@ +# id 35924 (Strange Sounds 1), field 100051041 +sm.setSpeakerType(3) +sm.setParam(36) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(1013350) # Brie +sm.sendNext("#face1#Uh-oh. A bunch of stone sentries are blocking the way. I don't think they've-- Oh wait, no, they've definitely noticed us. Waaah! Why are these things still operational?!") +sm.setSpeakerType(4) +sm.setSpeakerID(1013315) # Brie +res = sm.sendAskAccept("#face1#As things stand, we can't continue on without doing something about those sentries. Hmm... I think if you clear out around #b50#k #r#o2300207##k, we should be able to make it through.") +sm.setSpeakerType(3) +sm.setParam(548) +sm.setInnerOverrideSpeakerTemplateID(1013358) # Pathfinder +sm.sendNext("#face0#Just wait here. I should be able to make short work of those boisterous blocks.") +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.createQuestWithQRValue(16700, "count=293;date=20190708") +sm.startQuest(parentID) +sm.createQuestWithQRValue(16700, "count=294;date=20190708") +sm.startQuest(parentID) +sm.createQuestWithQRValue(16700, "count=295;date=20190708") +sm.startQuest(parentID) +sm.createQuestWithQRValue(16700, "count=296;date=20190708") +sm.startQuest(parentID) +sm.createQuestWithQRValue(16700, "count=297;date=20190708") +sm.startQuest(parentID) +sm.createQuestWithQRValue(16700, "count=298;date=20190708") +sm.startQuest(parentID) +sm.createQuestWithQRValue(16700, "count=299;date=20190708") +sm.startQuest(parentID) +sm.createQuestWithQRValue(16700, "count=300;date=20190708") +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(11620) +sm.createQuestWithQRValue(15710, "lasttime=19/07/08/13/47") +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) diff --git a/scripts/quest/q35925e.py b/scripts/quest/q35925e.py new file mode 100755 index 0000000..faf6675 --- /dev/null +++ b/scripts/quest/q35925e.py @@ -0,0 +1,11 @@ +# id 35925 (Strange Sounds 2), field 993017200 +sm.setSpeakerType(3) +sm.setParam(36) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(1013350) # Brie +sm.sendNext("#face0#Phew. The path is finally clear. We should be able to get to wherever that sound is coming from now, so just follow me.") +sm.completeQuestNoCheck(parentID) +sm.startQuest(11620) +sm.createQuestWithQRValue(15710, "lasttime=19/07/08/13/58") +sm.createQuestWithQRValue(35948, "00=h0;10=h0;02=h1;11=h1;12=h0;21=h0;13=h0;22=h1;14=h0;23=h1;06=h0;15=h0;24=h0;16=h0;07=h0;25=h0;17=h0;08=h0;26=h1;09=h0;19=h0") +sm.createQuestWithQRValue(35948, "00=h0;10=h0;02=h1;11=h1;12=h0;21=h0;13=h0;22=h1;14=h0;23=h1;06=h0;15=h0;24=h0;16=h0;07=h0;25=h0;17=h1;08=h0;26=h1;09=h0;19=h0") diff --git a/scripts/quest/q35926e.py b/scripts/quest/q35926e.py new file mode 100755 index 0000000..fcb7aa8 --- /dev/null +++ b/scripts/quest/q35926e.py @@ -0,0 +1,17 @@ +# id 35926 (Glowpod), field 100051043 +sm.setSpeakerType(3) +sm.setParam(36) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(1013350) # Brie +sm.sendNext("#face0#Oh, you're back already. What are those things you're holding? Aren't those from the plants that were growing on top of the Ruins Sentinels?") +sm.setParam(548) +sm.setInnerOverrideSpeakerTemplateID(1013358) # Pathfinder +sm.sendSay("#face0#They have a soft glow normally, but they flare up if you give them a good bop, like this.") +sm.setParam(36) +sm.setInnerOverrideSpeakerTemplateID(1013350) # Brie +sm.sendSay("#face0#Huh. You know, that just might work, even underwater. But we need to be sure, so how about dropping one in the water as a test?") +sm.setParam(548) +sm.setInnerOverrideSpeakerTemplateID(1013358) # Pathfinder +sm.sendSay("#face3##b(You picked up a glowpod and dropped it into the pool. The soft light illuminated the water for a good while before finally dimming and growing dark.)#k") +sm.sendSay("#face0#(These don't last long enough that I can reach the bottom with just one. I'll have to take all I've gathered and hope for the best.)") +sm.completeQuestNoCheck(parentID) diff --git a/scripts/quest/q35926s.py b/scripts/quest/q35926s.py new file mode 100755 index 0000000..bcb266a --- /dev/null +++ b/scripts/quest/q35926s.py @@ -0,0 +1,15 @@ +# id 35926 (Glowpod), field 100051043 +sm.setSpeakerType(3) +sm.setParam(548) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(1013358) # Pathfinder +sm.sendNext("#face0#(Those Ruins Sentinels we passed on the way here had some sort of luminous plant growing on their heads. If I got enough of those bulbs, I might be able...)") +sm.setSpeakerType(4) +sm.setSpeakerID(1013317) # Brie +res = sm.sendAskAccept("#face3#(Okay. We'll have to double back a bit to #m100051042#. I'll grab 10 of those #i4036531# #t4036531# from the #o2300208# monsters and we'll see how much light they give off when bunched together.)") +sm.setSpeakerType(3) +sm.sendNext("#face0#There's something I want to check out. Wait for me here.") +sm.setParam(36) +sm.setInnerOverrideSpeakerTemplateID(1013350) # Brie +sm.sendSay("#face0#Of course. It looks like you've already come up with a solution, just like I knew you would. I'll be waiting, then.") +sm.startQuest(parentID) diff --git a/scripts/quest/q35927s.py b/scripts/quest/q35927s.py new file mode 100755 index 0000000..8a950f0 --- /dev/null +++ b/scripts/quest/q35927s.py @@ -0,0 +1,7 @@ +# id 35927 (Lighting the Way), field 100051043 +sm.setSpeakerID(1013317) # Brie +sm.setParam(36) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(1013350) # Brie +res = sm.sendAskAccept("#face0#Let's activate the first glowpod and swim down. Aaaah... Deep breaths! It'll be fine! I'm with a professional Explorer! ...Still, it never hurts to be careful!\r\n\r\n #r *You'll be automatically moved to the quest map.#k") +sm.warp(910090312) diff --git a/scripts/quest/q35928s.py b/scripts/quest/q35928s.py new file mode 100755 index 0000000..196b7be --- /dev/null +++ b/scripts/quest/q35928s.py @@ -0,0 +1,67 @@ +# id 35928 (Soulful Discourse), field 100051044 +sm.lockInGameUI(True, False) +sm.removeAdditionalEffect() +sm.setSpeakerID(1013318) # Soul +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(1013360) # Soul +res = sm.sendNext("#face0#Ahh... I can feel it. A heart drawn by confusion, driven by quiet desperation. The answers you seek are here.\r\n\r\n#b#L0# Ask about the relic and the curse sigil.#l") +sm.blind(True, 200, 0, 0, 0, 1300) +sm.sendDelay(1600) +sm.sendDelay(500) +sm.playSound("Sound/SoundEff.img/blackHeaven/secretmission3", 100) +sm.onLayer(500, "00", 0, -85, -12, "Effect/Direction22.img/effect/PF_past/0", 4, False, -1, False) +sm.sendDelay(1000) +sm.setSpeakerType(3) +sm.sendNext("#face0#Long ago, the ancient Karuppa that resided in this land fashioned from the wood of a holy tree a sacred icon to venerate in worship.") +sm.setParam(549) +sm.setInnerOverrideSpeakerTemplateID(1013358) # Pathfinder +sm.sendSay("#face3#Hey, I recognize that design...") +sm.sendDelay(500) +sm.setParam(37) +sm.setInnerOverrideSpeakerTemplateID(1013360) # Soul +sm.sendNext("#face0#As you suspect, that sacred totem is the relic now in your possession. Once, it served as a symbol of enlightened benevolence that healed the sick and gave guidance to those who has lost their way.") +sm.sendSay("#face0#Time passed, and as order was born into this world, the power of the relic gradually began to wane.") +sm.sendSay("#face0#Those who knew of the relic's existence lived their lives and passed on, and as fewer and fewer remembered the ancient ways, the relic came to be regarded as a legend.") +sm.sendSay("#face0#Perhaps it would have been better that way; to eventually be forgotten entirely...") +sm.playSound("Sound/SoundEff.img/blackHeaven/secretmission3", 100) +sm.onLayer(500, "01", 0, -85, -12, "Effect/Direction22.img/effect/PF_past/1", 4, False, -1, False) +sm.sendDelay(1000) +sm.sendNext("#face0#However, hundreds of years ago, a man clad in black robes came to this place and worked his fell spellcraft upon the relic.") +sm.sendSay("#face0#When his hex had been woven, he returned the relic to its resting place and swiftly departed. From that day forward, the relic began to be corrupted by negative energies.") +sm.setParam(549) +sm.setInnerOverrideSpeakerTemplateID(1013358) # Pathfinder +sm.sendSay("#face3#A mysterious man in black robes?") +sm.sendDelay(500) +sm.offLayer(300, "00", False) +sm.offLayer(300, "01", False) +sm.playSound("Sound/SoundEff.img/blackHeaven/secretmission4", 100) +sm.blind(False, 0, 0, 0, 0, 1300) +sm.sendDelay(1600) +sm.setParam(37) +sm.setInnerOverrideSpeakerTemplateID(1013360) # Soul +sm.sendNext("#face0#The relic in your possession retains both its original nature and its corrupted state. You have surely felt the stirrings of both within you.") +sm.sendSay("#face0#The corrupted power has already become one with the relic, and cannot simply be made to disappear. It can, however, be suppressed.") +sm.sendSay("#face0#The only way to do so, however, is for you to become the true inheritor of the relic. Only then will its corruption be quelled.") +sm.sendDelay(500) +sm.sendNext("#face0#It is said that a superior tool chooses a worthy owner. The relic, though no mere tool, will respond to your mastery and allow you to draw out its hidden powers.") +sm.sendSay("#face0#Wander, explore, and grow in strength and knowledge. When the time is right, the relic shall guide you.") +sm.sendDelay(500) +sm.sendNext("#face0#I shall pray that you grow in wisdom, to see the path, and in strength, to walk it without fear.") +sm.blind(True, 255, 240, 240, 240, 1300) +sm.sendDelay(1600) +sm.sendDelay(500) +sm.setParam(549) +sm.setInnerOverrideSpeakerTemplateID(1013358) # Pathfinder +sm.sendNext("#face0#The path...") +sm.sendDelay(500) +sm.showFadeTransition(0, 1000, 3000) +sm.zoomCamera(0, 1000, 2147483647, 2147483647, 2147483647) +sm.moveCamera(True, 0, 0, 0) +sm.sendDelay(300) +sm.removeOverlapScreen(1000) +sm.moveCamera(True, 0, 0, 0) +sm.lockInGameUI(False, True) +sm.completeQuestNoCheck(parentID) +sm.createQuestWithQRValue(35948, "00=h0;10=h0;02=h1;11=h1;12=h0;21=h0;13=h0;22=h1;14=h0;23=h1;06=h0;15=h0;24=h0;16=h0;07=h0;25=h0;17=h0;08=h0;26=h1;09=h0;19=h1") +sm.warp(100051040) diff --git a/scripts/quest/q35929s.py b/scripts/quest/q35929s.py new file mode 100755 index 0000000..1df4ee4 --- /dev/null +++ b/scripts/quest/q35929s.py @@ -0,0 +1,43 @@ +# id 35929 (Assuaged Fears), field 100051040 +sm.setSpeakerType(3) +sm.setParam(36) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(1013350) # Brie +sm.sendNext("#face0#Well... I guess this is it, then. Now that you found the answer you were looking for, I suppose you'll be on your way, right? I know, I know. I promised I wouldn't be clingy.") +sm.sendSay("#face0#But wherever your travels take you, I hope you'll be safe. I may not be the bravest, but thanks for letting me come on this adventure with you.") +sm.setSpeakerType(4) +sm.setSpeakerID(1013319) # Brie +res = sm.sendAskAccept("#face0#Oh! If you ever feel like coming back to visit our little Karuppa village sometime, you can use this skill to return there whenever you like.") +sm.lockInGameUI(True, False) +sm.removeAdditionalEffect() +sm.progressMessageFont(3, 20, 4, 0, "You acquired the 'Return to Partem' skill.") +sm.sendDelay(500) +sm.setSpeakerType(3) +sm.setParam(37) +sm.sendNext("#face0#It'd be great to see you again someday. If you ever feel like dropping by, you'll always have a friend in me.") +sm.sendSay("#face2#I'm going back to the village to tell all the Karuppa about everything I heard and saw in the ruins. Will they believe me? Who knows? ...Though I guess Gorgonz might. He's weird like that.") +sm.sendSay("#face0#I've still got a long way to go before I can start feeling confident. What do you think? Do you think I'll be able to be brave like you someday?") +sm.sendSay("#face0#Ack... Just listen to me, rambling on. I shouldn't keep you any longer. Goodbye, for now!") +sm.sendDelay(500) +sm.blind(True, 255, 0, 0, 0, 500) +sm.sendDelay(500) +sm.sendDelay(500) +sm.setParam(549) +sm.setInnerOverrideSpeakerTemplateID(1013358) # Pathfinder +sm.sendNext("#face0#I guess she said everything she wanted to say. I'll see you 'round, kid. And thanks for everything.") +sm.sendDelay(1000) +sm.sendNext("#face0#Anyway...") +sm.sendSay("#face1#(It sounds like there's no way to completely rid myself of this curse. That leaves me just one option: I'm gonna have to rise to the occasion and prove myself worthy of the relic's full power.)") +sm.sendSay("#face0#('Wander, explore, and grow in strength and knowledge,' huh? I guess now that I know I can at least suppress the curse's effects, there's nothing stopping me from chasing after the next adventure.)") +sm.sendDelay(500) +sm.sendNext("#face6#(Still, that story about a guy in a black robe using weird magic on the relic worries me. And the voice was awfully tight-lipped after it told me about the nature of the relic's power.)") +sm.sendSay("#face0#(Maybe if I can master the relic's powers, I can get the voice to talk to me again. But until then, it looks like I'm on my own as far as figuring out how it works.)") +sm.sendDelay(1000) +sm.showFadeTransition(0, 1000, 3000) +sm.zoomCamera(0, 1000, 2147483647, 2147483647, 2147483647) +sm.moveCamera(True, 0, 0, 0) +sm.sendDelay(300) +sm.removeOverlapScreen(1000) +sm.moveCamera(True, 0, 0, 0) +sm.lockInGameUI(False, True) +sm.warp(910090314) diff --git a/scripts/quest/q37151s.py b/scripts/quest/q37151s.py new file mode 100755 index 0000000..9fee5fe --- /dev/null +++ b/scripts/quest/q37151s.py @@ -0,0 +1,16 @@ +# id 37151 ([Elodin] Anne's Plea for Help), field 101082000 +sm.setSpeakerID(1012110) # Anne +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(1012110) # Anne +sm.sendNext("#fs10#Hello? Excuse me...") +sm.setParam(2) +sm.sendSay("Who just called me?") +sm.setParam(4) +sm.sendSay("You can hear me? Good!") +sm.sendSay("I'm Anne! I'm here in Ellinia with my mom, Dr. Betty, while she conducts research.") +sm.sendSay("But I need some help. Would you hear me out?") +res = sm.sendAskYesNo("If you're willing to help, please visit me.\r\n#r(If you accept, you'll automatically travel to Anne in Ellinia.)#k\r\n\r\n#b(The #rSecret Forest of Elodin#b is a special theme dungeon. It has a max level of #rLv. 59#b, and quest EXP and monsters near your level will be provided accordingly.)") +sm.startQuest(parentID) +sm.setParam(5) +sm.sendNext("I'm waiting for you here in Ellinia.") +sm.warp(101000000) diff --git a/scripts/quest/q37152s.py b/scripts/quest/q37152s.py new file mode 100755 index 0000000..c3462e0 --- /dev/null +++ b/scripts/quest/q37152s.py @@ -0,0 +1,8 @@ +# id 37152 ([Elodin] Anne's Nightmares), field 101000000 +sm.setSpeakerID(1012110) # Anne +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(1012110) # Anne +sm.sendNext("The reason I called you is, well...") +sm.sendSay("Everything started out fine. It was a normal day.") +sm.sendSay("I was playing with my paper airplane...") +sm.warp(910143000) diff --git a/scripts/quest/q37154s.py b/scripts/quest/q37154s.py new file mode 100755 index 0000000..dd50d17 --- /dev/null +++ b/scripts/quest/q37154s.py @@ -0,0 +1,12 @@ +# id 37154 ([Elodin] Ask the Fairies 2), field 101000000 +sm.setSpeakerID(1032101) # Rowen the Fairy +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(1032101) # Rowen the Fairy +sm.sendNext("Ah, I see. Anxious to explore someplace new, huh?") +sm.sendSay("Well, it doesn't get much sun, so that's why we don't visit.") +sm.sendSay("I'm sure there are fairies #esomewhere#n that like that kind of place, but I'm not one of them.") +sm.sendSay("Besides, I've heard rumors of weird noises coming from there lately. I mean, I #edoubt#n anything bad would happen, but you know...") +sm.sendSay("Why bother with a place like that when you don't need to?") +sm.sendSay("Now stop worrying about that dark, melancholy forest and start enjoying Ellinia. It's so much better here.") +sm.startQuest(parentID) +sm.completeQuestNoCheck(parentID) diff --git a/scripts/quest/q37156s.py b/scripts/quest/q37156s.py new file mode 100755 index 0000000..d800125 --- /dev/null +++ b/scripts/quest/q37156s.py @@ -0,0 +1,70 @@ +# id 37156 ([Elodin] Nature's Roadblocks 1), field 101081000 +sm.setSpeakerType(3) +sm.setParam(2) +sm.sendNext("I don't even know where I'm going, and these brambles aren't helping matters. And what are these dopey looking owls even doing here?") +sm.sendSay("Ow! Which one of you pecked me? I'm gonna punt you so hard you'll end up in the next zone!") +res = sm.sendAskYesNo("That's it! I've gotta clear this all out!") +sm.setParam(3) +sm.sendNext("I'll clear a path, and then I'm gettin' the heck outta here!") +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.progressMessageFont(3, 20, 20, 0, "EXP and mesos greatly reduced if hunting monsters beyond your level range.") +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) diff --git a/scripts/quest/q37157s.py b/scripts/quest/q37157s.py new file mode 100755 index 0000000..33f03a2 --- /dev/null +++ b/scripts/quest/q37157s.py @@ -0,0 +1,15 @@ +# id 37157 ([Elodin] Nature's Roadblocks 2), field 101081000 +sm.setSpeakerType(3) +sm.setParam(2) +sm.sendNext("How long have I been here?") +sm.sendSay("I feel like I've been going in circles for ages.") +sm.sendSay("And more of these things keep popping up like, well, weeds!") +res = sm.sendAskYesNo("What if I'm stuck here forever?") +sm.setParam(3) +sm.sendNext("I hope I'm going the right way...") +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.startQuest(parentID) diff --git a/scripts/quest/q37158s.py b/scripts/quest/q37158s.py new file mode 100755 index 0000000..35e58ce --- /dev/null +++ b/scripts/quest/q37158s.py @@ -0,0 +1,27 @@ +# id 37158 ([Elodin] Forest Witch?!), field 101081300 +sm.lockInGameUI(True, False) +sm.removeAdditionalEffect() +sm.blind(True, 255, 0, 0, 0, 0) +sm.sendDelay(1000) +sm.blind(False, 0, 0, 0, 0, 1000) +sm.sendDelay(1000) +sm.setSpeakerType(3) +sm.setParam(3) +sm.sendNext("She must have gone in that house.") +sm.forcedMove(False, 300) +sm.sendDelay(2500) +sm.sendNext("Hello?") +sm.sendSay("Is anyone here?") +sm.sendSay("Maybe I've been here too long. I must have imagined it.") +sm.sendSay("Let's face it, I'm lost. I'd rather just fess up and ask for directions than hang out here and get into fights with owls.") +sm.sendSay("What now?") +sm.sendDelay(1000) +sm.showFadeTransition(0, 1000, 3000) +sm.zoomCamera(0, 1000, 2147483647, 2147483647, 2147483647) +sm.moveCamera(True, 0, 0, 0) +sm.sendDelay(300) +sm.removeOverlapScreen(1000) +sm.moveCamera(True, 0, 0, 0) +sm.lockInGameUI(False, True) +sm.startQuest(parentID) +sm.completeQuestNoCheck(parentID) diff --git a/scripts/quest/q37159e.py b/scripts/quest/q37159e.py new file mode 100755 index 0000000..b9cc130 --- /dev/null +++ b/scripts/quest/q37159e.py @@ -0,0 +1,45 @@ +# id 37159 ([Elodin] Home Invasion), field 101082000 +sm.lockInGameUI(True, False) +sm.removeAdditionalEffect() +sm.blind(True, 255, 0, 0, 0, 0) +sm.sendDelay(500) +sm.forcedFlip(True) +sm.sendDelay(500) +sm.forcedInput(4) +sm.blind(True, 180, 0, 0, 0, 1300) +sm.sendDelay(2000) +sm.setSpeakerID(1501000) # ??? +sm.setParam(3) +sm.sendNext("Ugh...") +sm.forcedInput(3) +sm.sendDelay(500) +sm.setParam(5) +sm.setInnerOverrideSpeakerTemplateID(1501012) # ??? +sm.sendNext("Ah, finally back among the living?") +sm.setParam(3) +sm.sendSay("The living? Wh--") +sm.sendSay("Ah! Witch! Ghost! Get away from me!") +sm.createQuestWithQRValue(37150, "00=h2;02=h1") +sm.sendDelay(1000) +sm.createQuestWithQRValue(37150, "00=h3;02=h1") +sm.sendDelay(1000) +sm.setParam(5) +sm.setInnerOverrideSpeakerTemplateID(1501009) # ??? +sm.sendNext("Calm down!") +sm.setParam(3) +sm.sendSay("Wait. Wings? You're a fairy?") +sm.setParam(5) +sm.sendSay("Yes. And if you let me speak, I'll explain.") +sm.sendSay("My name is Ruenna. I live in Ellinia, here in the South Forest.") +sm.showFadeTransition(0, 1000, 3000) +sm.zoomCamera(0, 1000, 2147483647, 2147483647, 2147483647) +sm.moveCamera(True, 0, 0, 0) +sm.sendDelay(300) +sm.removeOverlapScreen(1000) +sm.moveCamera(True, 0, 0, 0) +sm.lockInGameUI(False, True) +sm.createQuestWithQRValue(37150, "00=h0;02=h1") +sm.createQuestWithQRValue(37150, "00=h0;02=h0") +sm.createQuestWithQRValue(37150, "00=h0;01=h1;02=h0") +sm.createQuestWithQRValue(37150, "00=h0;01=h1;02=h0;03=h1") +sm.completeQuestNoCheck(parentID) diff --git a/scripts/quest/q37159s.py b/scripts/quest/q37159s.py new file mode 100755 index 0000000..ac5ab36 --- /dev/null +++ b/scripts/quest/q37159s.py @@ -0,0 +1,6 @@ +# id 37159 ([Elodin] Home Invasion), field 101081300 +sm.setSpeakerType(3) +sm.setParam(2) +sm.sendNext("W-what is that?") +sm.sendSay("I think I'd rather take my chances in there than stay out here...") +sm.startQuest(parentID) diff --git a/scripts/quest/q37160e.py b/scripts/quest/q37160e.py new file mode 100755 index 0000000..cc9154e --- /dev/null +++ b/scripts/quest/q37160e.py @@ -0,0 +1,52 @@ +# id 37160 ([Elodin] Ruenna's Feathered Nuisance), field 101082000 +sm.lockInGameUI(True, False) +sm.removeAdditionalEffect() +sm.blind(True, 255, 0, 0, 0, 0) +sm.sendDelay(500) +sm.forcedFlip(True) +sm.sendDelay(500) +sm.blind(True, 150, 0, 0, 0, 1300) +sm.sendDelay(1000) +sm.forcedFlip(True) +sm.sendDelay(500) +sm.forcedAction(10, 0) +sm.playSound("Sound/Reactor.img/2002001/0/Hit", 200) +sm.sendDelay(1000) +sm.playSound("Sound/SoundEff.img/Elodin/scream_close", 200) +sm.setSpeakerID(1501003) # Baby Bird +sm.setParam(5) +sm.setInnerOverrideSpeakerTemplateID(1501010) # Baby Bird +sm.sendNext("Squawk!") +sm.setInnerOverrideSpeakerTemplateID(1501013) # Ruenna the Fairy +sm.sendSay("Oh! I thought you were a wimp, not a bully.") +sm.setInnerOverrideSpeakerTemplateID(1501010) # Baby Bird +sm.sendSay("Why did you hit me?!") +sm.setParam(3) +sm.sendSay("Stop making that terrible racket!") +sm.createQuestWithQRValue(37150, "00=h0;01=h1;02=h0;03=h2") +sm.sendDelay(1000) +sm.setParam(5) +sm.setInnerOverrideSpeakerTemplateID(1501013) # Ruenna the Fairy +sm.sendNext("How dare you hit my bird?! You! A complete stranger! In #emy#n house! How uncivilized!") +sm.setInnerOverrideSpeakerTemplateID(1501010) # Baby Bird +sm.sendSay("Maybe I should go...") +sm.setInnerOverrideSpeakerTemplateID(1501013) # Ruenna the Fairy +sm.sendSay("And you! I was trying to sleep! I ought to put you in a cage and cover you with a sheet like some ordinary parakeet!") +sm.setInnerOverrideSpeakerTemplateID(1501010) # Baby Bird +sm.sendSay("*sniffle*") +sm.setParam(3) +sm.sendSay("Why haven't you?") +sm.setParam(5) +sm.setInnerOverrideSpeakerTemplateID(1501013) # Ruenna the Fairy +sm.sendSay("As annoying as it can be sometimes, I'm a friend of the forest. I don't want to treat my friends poorly.") +sm.setParam(3) +sm.sendSay("......") +sm.sendDelay(1000) +sm.showFadeTransition(0, 1000, 3000) +sm.zoomCamera(0, 1000, 2147483647, 2147483647, 2147483647) +sm.moveCamera(True, 0, 0, 0) +sm.sendDelay(300) +sm.removeOverlapScreen(1000) +sm.moveCamera(True, 0, 0, 0) +sm.lockInGameUI(False, True) +sm.completeQuestNoCheck(parentID) diff --git a/scripts/quest/q37160s.py b/scripts/quest/q37160s.py new file mode 100755 index 0000000..374077c --- /dev/null +++ b/scripts/quest/q37160s.py @@ -0,0 +1,30 @@ +# id 37160 ([Elodin] Ruenna's Feathered Nuisance), field 101082000 +sm.setSpeakerID(1501001) # Ruenna the Fairy +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(1501013) # Ruenna the Fairy +sm.sendNext("You fainted. Clearly you scare easily.") +sm.setParam(2) +sm.sendSay("Don't blame me! You're the one gliding around in a dark forest in a black cloak like a creeper!") +sm.setParam(4) +sm.sendSay("A creeper? I happen to be wearing this cloak for a reason.") +sm.sendSay("It's special. It blocks out sound. I was #etrying#n to sleep when a stranger barged into my home and started shrieking louder than that obnoxious bird.") +sm.setParam(2) +sm.sendSay("Oh, uh...") +sm.sendSay("Sooo... A bird's responsible for that racket, huh?") +sm.setParam(4) +sm.sendSay("That's what I said.") +sm.setInnerOverrideSpeakerTemplateID(1501010) # Baby Bird +sm.sendSay("It's not a racket. It's the song Ruenna taught me!") +sm.sendSay("Didn't you say this is how you talk to the trees, Ruenna?") +sm.setInnerOverrideSpeakerTemplateID(1501013) # Ruenna the Fairy +sm.sendSay("I said I #esing#n to the trees, not screech! Honestly, you put bats to shame.") +sm.setParam(2) +sm.sendSay("Um...") +sm.setParam(4) +sm.sendSay("I can practically see those trees crying every time you start up!") +sm.setParam(2) +sm.sendSay("Am I interrupting something?") +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(1501010) # Baby Bird +sm.sendSay("But you're the one who taught me! I'm sure the trees are only crying from joy!") +sm.startQuest(parentID) diff --git a/scripts/quest/q37161s.py b/scripts/quest/q37161s.py new file mode 100755 index 0000000..079d131 --- /dev/null +++ b/scripts/quest/q37161s.py @@ -0,0 +1,49 @@ +# id 37161 ([Elodin] Small Issue, Big Misunderstanding), field 101082000 +sm.setSpeakerID(1501001) # Ruenna the Fairy +sm.setParam(3) +sm.sendNext("And... Why is it that you live in total darkness?") +sm.setParam(5) +sm.setInnerOverrideSpeakerTemplateID(1501013) # Ruenna the Fairy +sm.sendSay("Oh, well, you see...") +sm.lockInGameUI(True, False) +sm.removeAdditionalEffect() +sm.blind(True, 255, 0, 0, 0, 0) +sm.sendDelay(1000) +sm.onLayer(1500, "00", 0, 0, 12, "Effect/Direction21.img/Elodin/birdgrow/0", 4, True, -1, False) +sm.sendDelay(3000) +sm.sendNext("One day in the forest, I discovered a lonely bird crying his eyes out...") +sm.sendDelay(1000) +sm.onLayer(1500, "01", 0, 0, 12, "Effect/Direction21.img/Elodin/birdgrow/1", 4, True, -1, False) +sm.sendDelay(3000) +sm.sendNext("His parents were nowhere to be seen, and I couldn't bear to leave him there. So I brought him home with me.") +sm.sendDelay(1000) +sm.onLayer(1500, "02", 0, 0, 12, "Effect/Direction21.img/Elodin/birdgrow/2", 4, True, -1, False) +sm.sendDelay(3000) +sm.sendNext("Eventually, I taught him how I speak with the trees. I didn't see the harm in it, and it made him so happy...") +sm.sendDelay(1000) +sm.onLayer(1500, "03", 0, 0, 12, "Effect/Direction21.img/Elodin/birdgrow/3", 4, True, -1, False) +sm.sendDelay(3000) +sm.sendNext("But I quickly regretted it.") +sm.sendDelay(2000) +sm.offLayer(500, "00", False) +sm.offLayer(500, "01", False) +sm.offLayer(500, "02", False) +sm.offLayer(500, "03", False) +sm.sendDelay(2000) +sm.blind(True, 150, 0, 0, 0, 1300) +sm.showFadeTransition(0, 1000, 3000) +sm.zoomCamera(0, 1000, 2147483647, 2147483647, 2147483647) +sm.moveCamera(True, 0, 0, 0) +sm.sendDelay(300) +sm.removeOverlapScreen(1000) +sm.moveCamera(True, 0, 0, 0) +sm.lockInGameUI(False, True) +sm.sendNext("As for living in the dark, well...") +sm.setInnerOverrideSpeakerTemplateID(1501010) # Baby Bird +sm.sendSay("Ruenna said she sings better in the forest's natural light! I want to be just like her!") +sm.setInnerOverrideSpeakerTemplateID(1501013) # Ruenna the Fairy +sm.sendSay("Yes. But I never thought he'd take it so literally.") +sm.setParam(3) +sm.sendSay("......") +sm.startQuest(parentID) +sm.completeQuestNoCheck(parentID) diff --git a/scripts/quest/q37162e.py b/scripts/quest/q37162e.py new file mode 100755 index 0000000..6c844ce --- /dev/null +++ b/scripts/quest/q37162e.py @@ -0,0 +1,23 @@ +# id 37162 ([Elodin] Mood Lighting), field 101082000 +sm.setSpeakerID(1501001) # Ruenna the Fairy +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(1501013) # Ruenna the Fairy +sm.sendNext("Did you get everything?") +sm.sendSay("This should be enough for me to turn the lights back on.") +sm.lockInGameUI(True, False) +sm.removeAdditionalEffect() +sm.blind(False, 0, 0, 0, 0, 1000) +sm.showFadeTransition(0, 1000, 3000) +sm.zoomCamera(0, 1000, 2147483647, 2147483647, 2147483647) +sm.moveCamera(True, 0, 0, 0) +sm.sendDelay(300) +sm.removeOverlapScreen(1000) +sm.moveCamera(True, 0, 0, 0) +sm.lockInGameUI(False, True) +sm.setParam(5) +sm.setInnerOverrideSpeakerTemplateID(1501010) # Baby Bird +sm.sendNext("She's the one who said the forest's light was better.") +sm.setInnerOverrideSpeakerTemplateID(1501013) # Ruenna the Fairy +sm.sendSay("I can hear you.") +sm.setParam(3) +sm.sendSay("......") diff --git a/scripts/quest/q37168s.py b/scripts/quest/q37168s.py new file mode 100755 index 0000000..087d57c --- /dev/null +++ b/scripts/quest/q37168s.py @@ -0,0 +1,17 @@ +# id 37168 ([Elodin] Shimmer Songbird), field 101084400 +sm.createQuestWithQRValue(37150, "00=h0;01=h1;02=h0;03=h2;04=h1") +sm.setSpeakerID(1501004) # Shimmer Songbird +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(1501015) # Shimmer Songbird +sm.sendNext("It's been a while since Elodin's had visitors. What brings you here?") +sm.setParam(2) +sm.sendSay("I have a request from Ruenna.") +sm.setParam(4) +sm.sendSay("Ah, Ruenna. Such a nice fairy. And she truly loves Elodin.") +sm.sendSay("I miss her visits.") +sm.setParam(2) +sm.sendSay("Well, she needs your help.") +sm.setParam(4) +sm.sendSay("Ah, yes! A little bird told me-- cough\r\nA little bird told me she's gotten herself into some trouble lately.") +sm.startQuest(parentID) +sm.completeQuestNoCheck(parentID) diff --git a/scripts/quest/q37169s.py b/scripts/quest/q37169s.py new file mode 100755 index 0000000..9764ad5 --- /dev/null +++ b/scripts/quest/q37169s.py @@ -0,0 +1,15 @@ +# id 37169 ([Elodin] Thirst Quenching), field 101084400 +sm.setSpeakerID(1501004) # Shimmer Songbird +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(1501015) # Shimmer Songbird +sm.sendNext("Cough...") +sm.sendSay("I'm sorry. Please excuse me. My throat's been a bit sore ever since... Nevermind.") +sm.setParam(2) +sm.sendSay("Can I help you with something?") +sm.setParam(4) +sm.sendSay("Actually, you can! Would you bring me #i4036505# #r#t4036505##k?") +res = sm.sendAskYesNo("The #b#o3501108#s#k and #b#o3501109#s#k nearby have some. I'd appreciate it if you could fill this small bottle and come back.") +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.sendNext("Thank you! I think #r9 droplets of Pure Water#k should be enough. \r\n#rDouble-click to open the #i4220196:# #b#t4220196:##k, then drag the #i4036503:# #b#t4036503:##k over to fill it.#k") +sm.warp(101084000) diff --git a/scripts/quest/q37171e.py b/scripts/quest/q37171e.py new file mode 100755 index 0000000..623e410 --- /dev/null +++ b/scripts/quest/q37171e.py @@ -0,0 +1,7 @@ +# id 37171 ([Elodin] Music Teacher), field 101084400 +sm.setSpeakerID(1501004) # Shimmer Songbird +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(1501015) # Shimmer Songbird +sm.sendNext("It took you a whi-- OH!") +sm.createQuestWithQRValue(37150, "00=h0;01=h1;02=h0;03=h0;04=h1;07=h1") +sm.completeQuestNoCheck(parentID) diff --git a/scripts/quest/q37171s.py b/scripts/quest/q37171s.py new file mode 100755 index 0000000..86507c7 --- /dev/null +++ b/scripts/quest/q37171s.py @@ -0,0 +1,19 @@ +# id 37171 ([Elodin] Music Teacher), field 101082000 +sm.setSpeakerID(1501001) # Ruenna the Fairy +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(1501013) # Ruenna the Fairy +sm.sendNext("I wonder what could have made a bird of Elodin cry...") +sm.sendSay("Oh? She said she'd teach him how to sing? Wonderful!") +sm.sendSay("So now you have to take the baby bird there in person?") +res = sm.sendAskYesNo("Then the two of you could go there together!") +sm.setParam(5) +sm.sendNext("Come back safely!") +sm.createQuestWithQRValue(37150, "00=h0;01=h1;02=h0;03=h0;04=h1") +sm.setInnerOverrideSpeakerTemplateID(1501010) # Baby Bird +sm.sendSay("I'm so excited! Maybe she can teach me how to sing properly, so Ruenna will like listening to me!") +sm.setInnerOverrideSpeakerTemplateID(1501013) # Ruenna the Fairy +sm.sendSay("Don't get ahead of yourself now...") +sm.setParam(3) +sm.sendSay("Why don't we get going? It's a long trip.") +sm.startQuest(parentID) +sm.warp(101084400) diff --git a/scripts/quest/q37172s.py b/scripts/quest/q37172s.py new file mode 100755 index 0000000..80764ab --- /dev/null +++ b/scripts/quest/q37172s.py @@ -0,0 +1,45 @@ +# id 37172 ([Elodin] Touching Reunion), field 101084400 +sm.setSpeakerID(1501004) # Shimmer Songbird +sm.setParam(5) +sm.setInnerOverrideSpeakerTemplateID(1501015) # Shimmer Songbird +sm.sendNext("My baby!") +sm.lockInGameUI(True, False) +sm.removeAdditionalEffect() +sm.blind(True, 255, 0, 0, 0, 0) +sm.sendDelay(1000) +sm.onLayer(1500, "00", 0, 0, 12, "Effect/Direction21.img/Elodin/meet/0", 4, True, -1, False) +sm.sendDelay(3000) +sm.setInnerOverrideSpeakerTemplateID(1501010) # Baby Bird +sm.sendNext("Mama! I missed you so much!") +sm.setInnerOverrideSpeakerTemplateID(1501015) # Shimmer Songbird +sm.sendSay("Where have you been?! I've been worried sick!") +sm.setInnerOverrideSpeakerTemplateID(1501010) # Baby Bird +sm.sendSay("Ruenna has been taking care of me!") +sm.setInnerOverrideSpeakerTemplateID(1501015) # Shimmer Songbird +sm.sendSay("Ruenna? You mean you're the one she needed help with?") +sm.sendDelay(3000) +sm.offLayer(500, "00", False) +sm.sendDelay(2000) +sm.blind(False, 0, 0, 0, 0, 1000) +sm.showFadeTransition(0, 1000, 3000) +sm.zoomCamera(0, 1000, 2147483647, 2147483647, 2147483647) +sm.moveCamera(True, 0, 0, 0) +sm.sendDelay(300) +sm.removeOverlapScreen(1000) +sm.moveCamera(True, 0, 0, 0) +sm.lockInGameUI(False, True) +sm.sendNext("#h0#! I can't thank you and Ruenna enough for bringing my baby safely home.") +sm.sendSay("I looked everywhere! I worried I'd lost him forever.") +sm.sendSay("And the forest has been so strange lately, what with all those weird noises... I didn't know what to do!") +sm.setParam(3) +sm.sendSay("......") +sm.sendSay("Ruenna was worried too. When you stopped singing, she thought something bad happened.") +sm.sendSay("She wanted to check on you, but she couldn't bring the baby, so here we are.") +sm.setParam(5) +sm.sendSay("I've got to thank her! But before I do...") +sm.sendSay("Why don't we start the singing lessons?") +sm.sendSay("But we need your help to do it, #h0#.") +sm.setParam(3) +sm.sendSay("(She may be overestimating your experience with bird calls a bit.)") +sm.startQuest(parentID) +sm.completeQuestNoCheck(parentID) diff --git a/scripts/quest/q37173s.py b/scripts/quest/q37173s.py new file mode 100755 index 0000000..394777f --- /dev/null +++ b/scripts/quest/q37173s.py @@ -0,0 +1,11 @@ +# id 37173 ([Elodin] Singing Necessities 1), field 101084400 +sm.setSpeakerID(1501004) # Shimmer Songbird +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(1501015) # Shimmer Songbird +sm.sendNext("Before you can sing, you have to prep your voice.") +sm.sendSay("Drinking #i4036505# #t4036505# from the #o3501108#s and #o3501109#s nearby will give you nice, clear notes.") +res = sm.sendAskYesNo("Here's another Small Bottle. Please fill it with Pure Water and come back.") +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.sendNext("I'll need #r15 droplets of Pure Water#k this time.") +sm.warp(101084100) diff --git a/scripts/quest/q37175e.py b/scripts/quest/q37175e.py new file mode 100755 index 0000000..0b19abe --- /dev/null +++ b/scripts/quest/q37175e.py @@ -0,0 +1,44 @@ +# id 37175 ([Elodin] Tone Deaf No More), field 101084400 +sm.lockInGameUI(True, False) +sm.removeAdditionalEffect() +sm.sendDelay(3000) +sm.setSpeakerID(1501007) # Baby Bird +sm.setParam(3) +sm.sendNext("(It's like this stuff is liquid talent or something.)") +sm.setParam(5) +sm.setInnerOverrideSpeakerTemplateID(1501015) # Shimmer Songbird +sm.sendSay("Ah! Wait! Stop!") +sm.sendDelay(2000) +sm.sendDelay(1000) +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(1501010) # Baby Bird +sm.sendNext("What? What's wrong? I'm singing better than ever!") +sm.setInnerOverrideSpeakerTemplateID(1501015) # Shimmer Songbird +sm.sendSay("I just realized the source of all the screeching.") +sm.setParam(2) +sm.sendSay("Yeah, and you created that little audio trainwreck.") +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(1501010) # Baby Bird +sm.sendSay("Huh? I couldn't hear you.") +sm.setInnerOverrideSpeakerTemplateID(1501015) # Shimmer Songbird +sm.sendSay("We were just discussing your admirable volume, dear.") +sm.setParam(2) +sm.sendSay("......") +sm.setParam(4) +sm.sendSay("You certainly have that in spades, but we should work on your control a bit.") +sm.setParam(2) +sm.sendSay("Only a mother could love that screech.") +sm.setParam(4) +sm.sendSay("Give him a chance.") +sm.setInnerOverrideSpeakerTemplateID(1501010) # Baby Bird +sm.sendSay("What are you two talking about?") +sm.setParam(2) +sm.sendSay("Nothing important.") +sm.sendDelay(1000) +sm.showFadeTransition(0, 1000, 3000) +sm.zoomCamera(0, 1000, 2147483647, 2147483647, 2147483647) +sm.moveCamera(True, 0, 0, 0) +sm.sendDelay(300) +sm.removeOverlapScreen(1000) +sm.moveCamera(True, 0, 0, 0) +sm.lockInGameUI(False, True) diff --git a/scripts/quest/q37176s.py b/scripts/quest/q37176s.py new file mode 100755 index 0000000..6f864e8 --- /dev/null +++ b/scripts/quest/q37176s.py @@ -0,0 +1,29 @@ +# id 37176 ([Elodin] Another Chance!), field 101084400 +sm.setSpeakerID(1501004) # Shimmer Songbird +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(1501015) # Shimmer Songbird +sm.sendNext("Can you bring me more Pure Water and Lotus?") +sm.sendSay("Please fill this Small Bottle with #r21 droplets of Pure Water#k and find #r10 Lotus Blossoms#k. That should be just enough to do the trick.") +sm.sendSay("This bottle will automatically fill every time you get Pure Water, so you won't have to pick it up yourself anymore.") +sm.setParam(2) +sm.sendSay("That would have been helpful earlier...") +sm.setParam(4) +sm.sendSay("...") +sm.sendSay("Well, earlier I didn't realize you were such a whiner. Maybe I won't give you this bottle after all.") +sm.setParam(2) +sm.sendSay("No! Forget I said that! I love running errands for you!") +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(1501010) # Baby Bird +sm.sendSay("Ooh! More water and flowers! I can't wait!") +sm.setParam(2) +res = sm.sendAskYesNo("Great...") +sm.startQuest(parentID) +sm.startQuest(parentID) +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(1501015) # Shimmer Songbird +sm.sendNext("Do you think that will be enough?") +sm.setParam(2) +sm.sendSay("Fingers crossed.") +sm.setParam(4) +sm.sendSay("Well, good luck.") +sm.warp(101084100) diff --git a/scripts/quest/q37177s.py b/scripts/quest/q37177s.py new file mode 100755 index 0000000..410db80 --- /dev/null +++ b/scripts/quest/q37177s.py @@ -0,0 +1,61 @@ +# id 37177 ([Elodin] Practice Always Makes Perfect), field 101084400 +sm.setSpeakerID(1501007) # Baby Bird +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(1501010) # Baby Bird +sm.sendNext("All I need is refreshing water and sweet flowers!") +sm.setInnerOverrideSpeakerTemplateID(1501013) # Ruenna the Fairy +sm.sendSay("How are things coming along?") +sm.setInnerOverrideSpeakerTemplateID(1501010) # Baby Bird +sm.sendSay("Ruenna!!") +sm.setInnerOverrideSpeakerTemplateID(1501015) # Shimmer Songbird +sm.sendSay("Welcome, Ruenna! I'm so grateful to you for taking care of my baby.") +sm.setInnerOverrideSpeakerTemplateID(1501013) # Ruenna the Fairy +sm.sendSay("That was your baby bird?!") +sm.setInnerOverrideSpeakerTemplateID(1501015) # Shimmer Songbird +sm.sendSay("Yes! I was so worried about him! But you made sure he came home safe and sound.") +sm.setInnerOverrideSpeakerTemplateID(1501010) # Baby Bird +sm.sendSay("She made me treats and everything!") +sm.setInnerOverrideSpeakerTemplateID(1501013) # Ruenna the Fairy +sm.sendSay("I'm just surprised. Can't say I see much of a family resemblance, to be honest.") +sm.setInnerOverrideSpeakerTemplateID(1501015) # Shimmer Songbird +sm.sendSay("I suppose you're right about that, at least for now. But he'll be quite the flashy fowl once he's grown.") +sm.setInnerOverrideSpeakerTemplateID(1501010) # Baby Bird +sm.sendSay("I want to grow up right now!") +sm.setInnerOverrideSpeakerTemplateID(1501015) # Shimmer Songbird +sm.sendSay("You'll be grown soon enough. Ruenna, if it wasn't for you...") +sm.setInnerOverrideSpeakerTemplateID(1501013) # Ruenna the Fairy +sm.sendSay("It was nothing. I was just taking care of the forest.") +sm.setInnerOverrideSpeakerTemplateID(1501010) # Baby Bird +sm.sendSay("Oh! You're here just in time to hear me sing!") +sm.setInnerOverrideSpeakerTemplateID(1501013) # Ruenna the Fairy +sm.sendSay("Let's hear it then!") +sm.setParam(2) +sm.sendSay("Uhh...") +sm.lockInGameUI(True, False) +sm.removeAdditionalEffect() +sm.blind(True, 255, 0, 0, 0, 0) +sm.sendDelay(1000) +sm.onLayer(1500, "00", 0, 0, 12, "Effect/Direction21.img/Elodin/sing/0", 4, True, -1, False) +sm.sendDelay(3000) +sm.setParam(5) +sm.sendNext("I thought you got lessons...") +sm.sendSay("So much for a good night's sleep.") +sm.setParam(3) +sm.sendSay("At least his tempo is more consistent now.") +sm.setParam(5) +sm.sendSay("...") +sm.sendDelay(3000) +sm.offLayer(500, "00", False) +sm.sendDelay(2000) +sm.blind(False, 0, 0, 0, 0, 1000) +sm.showFadeTransition(0, 1000, 3000) +sm.zoomCamera(0, 1000, 2147483647, 2147483647, 2147483647) +sm.moveCamera(True, 0, 0, 0) +sm.sendDelay(300) +sm.removeOverlapScreen(1000) +sm.moveCamera(True, 0, 0, 0) +sm.lockInGameUI(False, True) +sm.startQuest(parentID) +sm.createQuestWithQRValue(37150, "00=h0;01=h0;02=h0;03=h0;04=h1;07=h1;08=h0") +sm.createQuestWithQRValue(37150, "00=h0;01=h1;02=h0;03=h0;04=h1;07=h1;08=h0") +sm.warp(101000000) diff --git a/scripts/quest/q3759e.py b/scripts/quest/q3759e.py new file mode 100755 index 0000000..e8a1218 --- /dev/null +++ b/scripts/quest/q3759e.py @@ -0,0 +1,12 @@ +# Soaring skill quest + +from net.swordie.ms.constants import SkillConstants + +sm.setSpeakerID(2085000) +sm.sendNext("Whoa, you've brought it! Just hold on a minute! I'll make you the special potion.") +sm.sendSay("Alrighty! Are you ready? If you're are, I will go ahead and sprinkle this potion on you. You'll be able to fly then!") +sm.consumeItem(4032531) +sm.completeQuestNoRewards(parentID) +sm.giveSkill(SkillConstants.getSoaringByJob(chr.getJob())) +sm.chatScript("You have obtained the Soaring skill!") +sm.sendPrev("Ok. Looks like you're all set to use the Soaring skill. There's one thing you should keep in mind. You can only use the Soaring skill where there's Dragon energy. The only such place that I know of is the Crimson Sky Dock.") diff --git a/scripts/quest/q38002s.py b/scripts/quest/q38002s.py new file mode 100755 index 0000000..32c0a48 --- /dev/null +++ b/scripts/quest/q38002s.py @@ -0,0 +1,52 @@ +# Shade Into [A New Name] +SILVER = 3002005 +MOONBEAM = 3002000 +SWIFT_STRIKE = 25001000 +VULPES_LEAP = 25001204 + +sm.setSpeakerID(SILVER) +sm.sendNext("So, your name is Human, right? That's rather silly. You don't see any foxes named Fox, now do you?") + +sm.setPlayerAsSpeaker() +sm.sendSay("No, my name is... (What was it that Freud used to call me?)") + +sm.setSpeakerID(SILVER) +sm.sendSay("Now, now, don't strain yourself. I doubt you can give yourself a very good name. Here, leave it to me. Hm... You're a stranger we found in the woods... Mystery? Oddity? Ooh, how about Muddle? I always thought Muddle would be a great...") + +sm.setPlayerAsSpeaker() +sm.sendSay("No, look, I have my own-") + +sm.setSpeakerID(MOONBEAM) +sm.sendSay("Geez, Grandpa! Those are terrible names! We have to name 'em something cool. Besides, I found 'em, so I get to name 'em. Now... You're all dark and mysterious, so I'm gonna call you Shade. How about that? You're the perfect compliment to a Moonbeam!") + +sm.setSpeakerID(SILVER) +sm.sendSay("That seems a little...dark. You sure you don't like Muddle?") + +sm.setPlayerAsSpeaker() +sm.sendSay("I'll go with Shade.") + +sm.setSpeakerID(SILVER) +sm.sendSay("To each his own, I guess... So be it. I recognize you as Shade from this moment forward. That's going to take a little getting used to.") + +if sm.sendAskAccept("So Shade, why don't you take a look around the house you'll be staying at? Might need some cleaning, seeing how it's been vacant for years."): + sm.sendNext("Follow the path to the left and you'll see a house with a large pot. That's the one. Make yourself at home, my tasty friend.") +else: + sm.sendNext("No, no, it's no problem at all. The owner of the house has been gone for years. Just as well that someone get some use out of it.") + sm.dispose() + +sm.jobAdvance(2500) +sm.setSTR(35) +sm.setDEX(4) +sm.setAP(23) +sm.addMaxHP(150) +sm.addMaxMP(50) +sm.giveItem(3010766) +sm.createQuestWithQRValue(parentID, "", True) +sm.startQuest(parentID) +sm.giveSkill(SWIFT_STRIKE, 0) + +sm.setPlayerAsSpeaker() +sm.flipDialogue() +sm.sendSay("(Whew...)") +sm.sendSay("(I'm not nearly as strong as I was before. But it looks like I've still got it, so I should be okay for now.)") +sm.sendSay("(Now, let's head to that 'house'.)") diff --git a/scripts/quest/q38003_midNPC1.py b/scripts/quest/q38003_midNPC1.py new file mode 100755 index 0000000..6220d4a --- /dev/null +++ b/scripts/quest/q38003_midNPC1.py @@ -0,0 +1,12 @@ +# 410000000 +sm.setSpeakerID(3002007) +sm.sendNext("Ooh, you must be that 'human'. Your name is Shade? You really are as big as a house! Did someone abandon you because you're useless? Yeah, you look like you'd just sit around and eat all the good scraps.") + +sm.setPlayerAsSpeaker() +sm.sendSay("I wasn't abandoned, there was an incident...") + +sm.setSpeakerID(3002007) +sm.sendSay("Oh there's always some kind of 'incident'. But anyway, is that brown rice cake? Mmm, I was getting hungry. Let me have it. Oh, and I've got something for you, too. I worked real hard on those shoes. Honest, I never made anything so big. Tell me if they don't fit and I'll adjust 'em for you.") + +sm.giveItem(1072892) +sm.setQRValue(parentID, "NpcSpeech=30020071") \ No newline at end of file diff --git a/scripts/quest/q38003_midNPC2.py b/scripts/quest/q38003_midNPC2.py new file mode 100755 index 0000000..909e41b --- /dev/null +++ b/scripts/quest/q38003_midNPC2.py @@ -0,0 +1,12 @@ +# 410000000 +sm.setSpeakerID(3002006) +sm.sendNext("Ahem, hem! How terrible... Even the most insignificant creatures have tails, but what happened to you? You can walk on two feet and talk, yet you do not have a tail?") + +sm.setPlayerAsSpeaker() +sm.sendSay("Yeah, terrible, whatever... You know, I have no trouble getting around without a tail...") + +sm.setSpeakerID(3002006) +sm.sendSay("True enough. Well, good thing you're such an optimist! You wouldn't live long otherwise. Now then, let's at least try to make you presentable. We'll start with with tying that messy hair up. Use this item") + +sm.giveItem(1004037) +sm.setQRValue(parentID, "NpcSpeech=30020071/30020062") \ No newline at end of file diff --git a/scripts/quest/q38003_midNPC3.py b/scripts/quest/q38003_midNPC3.py new file mode 100755 index 0000000..0c8c568 --- /dev/null +++ b/scripts/quest/q38003_midNPC3.py @@ -0,0 +1,12 @@ +# 410000000 +sm.setSpeakerID(3002009) +sm.sendNext("Oh, my. You must be... Oh, dear... I just had my first litter, and I was so happy all my kits turned out fine. Your poor parents... They must have been devastated. So don't blame them, okay?") + +sm.setPlayerAsSpeaker() +sm.sendSay("I'm fine! This is normal for-") + +sm.setSpeakerID(3002009) +sm.sendSay("I'm sure it is, sweetie. Now, this is an outfit that I made at the chief's request. He says that clothes can really lift spirits. And you look like you need it.") + +sm.giveItem(1050306) +sm.setQRValue(parentID, "NpcSpeech=30020071/30020062/30020093") \ No newline at end of file diff --git a/scripts/quest/q38003_midNPC4.py b/scripts/quest/q38003_midNPC4.py new file mode 100755 index 0000000..16916b8 --- /dev/null +++ b/scripts/quest/q38003_midNPC4.py @@ -0,0 +1,12 @@ +# 410000000 +sm.setSpeakerID(3002008) +sm.sendNext("You poor thing! How hard your life must be with no tail, no ears... Oh goodness, I want to give you just the BIGGEST hug... But I'd rather not touch you. Oh, bless your heart.") + +sm.setPlayerAsSpeaker() +sm.sendSay("Um... thanks? (I give up.)") + +sm.setSpeakerID(3002008) +sm.sendSay("Well, I don't have much, but take this claw. Might help you tidy up your looks, don'tcha know. Come talk to me if anything troubles you! Nothing like a babbling Brook to cheer you up!") + +sm.giveItem(1082572) +sm.setQRValue(parentID, "NpcSpeech=30020071/30020062/30020093/30020084") \ No newline at end of file diff --git a/scripts/quest/q38009s.py b/scripts/quest/q38009s.py new file mode 100755 index 0000000..0887340 --- /dev/null +++ b/scripts/quest/q38009s.py @@ -0,0 +1,5 @@ +# 38009 | Starting Script + +sm.setPlayerAsSpeaker() +sm.sendSayOkay("Ahh, but what if they figure out that I didn't eat it? Hmm. ...Wait, why am I so hung up on this?") +sm.createQuestWithQRValue(parentID, "") diff --git a/scripts/quest/q38011s.py b/scripts/quest/q38011s.py new file mode 100755 index 0000000..b0936d8 --- /dev/null +++ b/scripts/quest/q38011s.py @@ -0,0 +1,13 @@ +# 410000002 +MOONBEAM = 3002100 + +sm.setSpeakerID(MOONBEAM) +sm.sendNext("What's wrong with you? You're covered in scars! What happened? Tell me now! Is anybody bullying you? Picking on you? You're already so weak and stupid, why would anyone do that?") +sm.sendSay("What? You were just going after a couple #o2400203#s? Why did you run off on your own to hunt them? You coulda just told me and I-I could have done that for you! Why do you need to give gifts in return?") +sm.sendSay("Shade, you stupid! Ughh, I'm so irritated! I-I hate you so much!") +sm.startQuest(parentID) + +sm.setPlayerAsSpeaker() +sm.sendSayOkay("What did I do wrong this time? Why are foxes on an emotional roller coaster all the time? I guess I better apologize to her. She was headed in direction of the #r#m410000002##k. I guess... I guess I should follow her?") + + diff --git a/scripts/quest/q38014s.py b/scripts/quest/q38014s.py new file mode 100755 index 0000000..4778d93 --- /dev/null +++ b/scripts/quest/q38014s.py @@ -0,0 +1,32 @@ +COMPASS = 3002006 + +# In GMS, the correct answer and any after it seems to be in blue while any before it are grey, changed to just the correct answer being blue because why not + + +sm.setSpeakerID(COMPASS) + +if not sm.sendAskAccept("I see, you are taking the test of the foxes. I'm very proud of you. You will be talked about by the younger generation for overcoming your lack in many ways. Now here is the test. Pass this multiple-choice quiz and I shall give you my paw stamp. Do you want to begin now?"): + sm.sendSayOkay("It's nothing urgent, so take your time. Talk to me when you are ready.") + sm.dispose() + +answer = sm.sendSay("The first question. What's the favorite meal of Pointy-Ear Foxes?\r\n#L0# Dried Caterpillar#l\r\n#L1# Spotted Wings#l\r\n#L2# Sparrow Eggs#l\r\n#L3# Mouse Tail#l\r\n#L4# #bRaw Liver#l") + +if not answer == 4: + sm.sendNext("Wrong! You should study more!") + sm.dispose() + +answer = sm.sendSay("That's right! We love raw liver. Second question, who do we serve as our god?\r\n#L0# Tiger God#l\r\n#L1# #bFox God#k#l\r\n#L2# Wolf God#l\r\n#L3# Mountain God#l\r\n#L4# Nongod#l") +if not answer == 1: + sm.sendNext("Wrong! You should study more!") + sm.dispose() + +answer = sm.sendSay("That's right, the Pointy-Ear Foxes believe in the fox god. Now last question, what kind of power do we have?\r\n#L0# #bPower to handle spirits#k#l\r\n#L1# Power to control time#l\r\n#L2# Power to control animals#l\r\n#L3# Power to ignore other people#l\r\n#L4# Power to be super cute#l") +if not answer == 0: + sm.sendNext("Wrong! You should study more!") + sm.dispose() + +sm.sendNext("That's right, we have the power to handle spirits. I heard you got one too, from the fox god. Use it wisely, or the fox god will not be pleased.") +sm.sendSay("This is it. My test is done. Here is my paw stamp, so now go talk to #r#p3002009##k. She will give you the next test.\r\n #fUI/DialogImage.img/quest/0") +sm.startQuest(parentID) +sm.completeQuest(parentID) +sm.giveExp(2800) diff --git a/scripts/quest/q38022e.py b/scripts/quest/q38022e.py new file mode 100755 index 0000000..94b49e0 --- /dev/null +++ b/scripts/quest/q38022e.py @@ -0,0 +1,33 @@ +MOONBEAM = 3002103 + +sm.setSpeakerID(2007) +if sm.sendAskYesNo("Would you like to skip the tutorial cutscenes?"): + sm.createQuestWithQRValue(37999, "SKIP_38022") + +if sm.getQRValue(37999) != "SKIP_38022": + sm.lockInGameUI(True, False) + sm.forcedInput(0) + + sm.removeEscapeButton() + sm.setPlayerAsSpeaker() + sm.sendNext("Are you okay? Are you hurt?") + + sm.setSpeakerID(MOONBEAM) + sm.sendSay("Ooh, my whole body aches! Here, and here, and here!") + + sm.setPlayerAsSpeaker() + sm.sendSay("You... don't have a scratch on you.") + + sm.setSpeakerID(MOONBEAM) + sm.sendSay("I... I must be bleeding internally! Oh, the foxmanity! I need to get back to town for treatment! Thanks for nothing, you big jerk!") + +sm.completeQuest(38020) +sm.completeQuest(parentID) +sm.giveExp(5000) + +if sm.getQRValue(37999) != "SKIP_38022": + sm.setPlayerAsSpeaker() + sm.sendNext("...Did I say something wrong again? I wish she'd tell me what I did wrong. I'm glad she's okay, at least.") + +sm.lockInGameUI(False) +sm.warp(410000000, 2) diff --git a/scripts/quest/q38024s.py b/scripts/quest/q38024s.py new file mode 100755 index 0000000..c3996bd --- /dev/null +++ b/scripts/quest/q38024s.py @@ -0,0 +1,27 @@ +MOONBEAM = 3002000 + +sm.setPlayerAsSpeaker() +sm.sendNext("The town seems restless, different from other days. Did something happen?") + +sm.setSpeakerID(MOONBEAM) +sm.sendSay("...Dunno.") + +sm.setPlayerAsSpeaker() +sm.sendSay("(Something must be up. Moonbeam isn't herself either.)") +sm.sendSay("Okay.") + +sm.setSpeakerID(MOONBEAM) +sm.sendSay("...I'm sorry.") + +sm.setPlayerAsSpeaker() +sm.sendSay("Why?") + +sm.setSpeakerID(MOONBEAM) +sm.sendSay("Just... everything. I'm sorry. I'm really, really sorry...") + +sm.startQuest(parentID) + +sm.setPlayerAsSpeaker() +sm.sendSay("Moonbeam! Why is she crying all of a sudden? I should look into it myself.") + + diff --git a/scripts/quest/q38026s.py b/scripts/quest/q38026s.py new file mode 100755 index 0000000..eb18410 --- /dev/null +++ b/scripts/quest/q38026s.py @@ -0,0 +1,5 @@ +sm.flipDialoguePlayerAsSpeaker() +sm.sendNext("Grandis, Interdimensional Portal, another world... This is a lot to take in. But one thing is for sure... I can go back to Maple World! I'm sure Moonbeam was trying to hide that from me.") +sm.sendSay("But I must go back. I must see my world again. I can't stay here any longer, knowing that it's still out there. But when that's done... I'll come back.") +sm.sendSay("She's still worried. She worries for me even when she gave me her spirit. The best I can do is try to put her at ease. I'll bring some #r#t4009228##k items.") +sm.startQuest(parentID) diff --git a/scripts/quest/q38027s.py b/scripts/quest/q38027s.py new file mode 100755 index 0000000..7072f0e --- /dev/null +++ b/scripts/quest/q38027s.py @@ -0,0 +1,61 @@ +MOONBEAM = 3002000 + +sm.setSpeakerID(2007) +if sm.sendAskYesNo("Would you like to skip the tutorial cutscenes?"): + sm.createQuestWithQRValue(37999, "SKIP_38027") + +if sm.getQRValue(37999) != "SKIP_38027": + sm.lockInGameUI(True) + sm.forcedInput(0) + + sm.removeEscapeButton() + sm.setSpeakerID(MOONBEAM) + sm.sendNext("Y'know, I always knew. That you'd be leaving someday. Your scent is of the winds.") + + sm.setPlayerAsSpeaker() + sm.sendSay("......") + + sm.setSpeakerID(MOONBEAM) + sm.sendSay("I gave you my spirit because... Because I didn't want you to leave. You promised that you'd be by my side to protect me. So. So...") + + sm.setPlayerAsSpeaker() + sm.sendSay("...I had a friend. The first person to ever lend a hand to me. I told him I didn't have a reason to live, and he told me I don't have a reason to die, either. He also promised we'd get through the tough times together.") + sm.sendSay("Before I... came here, his face was the last one I saw. He's probably in pain. Thinking that I'm gone. And he probably feels like it's his fault.") + + sm.setSpeakerID(MOONBEAM) + sm.sendSay("......") + + sm.setPlayerAsSpeaker() + sm.sendSay("I must go back. To those who are waiting for me. To those in pain. I must go tell them I'm alive, and to protect the world we love. And when that's all over... I'll come back.") + + sm.setSpeakerID(MOONBEAM) + sm.sendSay("...I'm your friend too, right? I'm important too, right? Like them?") + + sm.setPlayerAsSpeaker() + sm.sendSay("Of course.") + + sm.setSpeakerID(MOONBEAM) + sm.sendSay("Us foxes call those companions. You and I are companions, so you have to come back. I'll miss you so much. It's gonna be so hard on me. So come back soon, okay?") + sm.sendSay("Wait, you're stupid so you might forget all this. Here...") + sm.sendDelay(500) + + sm.showEffect("Effect/Direction15.img/effect/story/tatoo/0", 0, -54, -300) + sm.sendDelay(2400) + +sm.startQuest(38901) + +if sm.getQRValue(37999) != "SKIP_38027": + sm.sendDelay(1000) + + sm.sendNext("This is a mark of companionship. We made our promise under the Fox Tree, so you have to keep your promise. Otherwise the fox god is gonna be really mad!") + sm.sendSay("Ah! I'm really hungry all of a sudden. I'm gonna head home first. Catch me if you can, slowpoke!") + sm.sendDelay(500) + +sm.startQuest(parentID) +sm.completeQuest(parentID) +sm.giveExp(6000) + +if sm.getQRValue(37999) != "SKIP_38027": + sm.setPlayerAsSpeaker() + sm.sendNext("The rain... It's not stopping.") +sm.lockInGameUI(False) diff --git a/scripts/quest/q38030e.py b/scripts/quest/q38030e.py new file mode 100755 index 0000000..c4fe0d5 --- /dev/null +++ b/scripts/quest/q38030e.py @@ -0,0 +1,10 @@ +sm.setPlayerAsSpeaker() +sm.flipDialogue() +sm.sendNext("This is Maple World? Did I really... return? I never thought I'd see it again.") +sm.sendSay("I bet everyone is doing well. I'm off to see my friends!") + +sm.jobAdvance(2510) +sm.startQuest(parentID) +sm.completeQuest(parentID) +sm.addMaxHP(342) +sm.addMaxMP(665) diff --git a/scripts/quest/q38033s.py b/scripts/quest/q38033s.py new file mode 100755 index 0000000..5304e11 --- /dev/null +++ b/scripts/quest/q38033s.py @@ -0,0 +1,35 @@ +CHIEF = 1012003 + +sm.lockInGameUI(True, False) +sm.forcedInput(0) +sm.removeEscapeButton() +sm.setSpeakerID(CHIEF) +sm.sendNext("Now let's open this map, and I'll elaborate on what I was talking about earlier.") + +sm.reservedEffectRepeat("Effect/Direction15.img/effect/story/worldmap/0") +sm.sendDelay(1000) + +sm.sendNext("This, is Maple World. You see this island right here? That's Victoria Island. Henesys is right here, on the south side of Victoria Island.") + +sm.reservedEffectRepeat("Effect/Direction15.img/effect/story/worldmap/1") +sm.sendDelay(1500) + +sm.reservedEffectRepeat("Effect/Direction15.img/effect/story/worldmap/1", False) +sm.sendNext("Leafre? It's in Ossyria continent, over the sea. El Nath is right here, and Nihal Desert is right there.") + +sm.reservedEffectRepeat("Effect/Direction15.img/effect/story/worldmap/2") +sm.reservedEffectRepeat("Effect/Direction15.img/effect/story/worldmap/3") +sm.reservedEffectRepeat("Effect/Direction15.img/effect/story/worldmap/4") +sm.sendDelay(1500) + +sm.reservedEffectRepeat("Effect/Direction15.img/effect/story/worldmap/2", False) +sm.reservedEffectRepeat("Effect/Direction15.img/effect/story/worldmap/3", False) +sm.reservedEffectRepeat("Effect/Direction15.img/effect/story/worldmap/4", False) +if sm.sendAskAccept("So, you must come from Ossyria. There's someone, an elf, who came from Ossyria, too. Her name is #rAthena Pierce#k... Do you want to meet her?"): + sm.startQuest(parentID) + sm.setPlayerAsSpeaker() + sm.sendNext("(#rAthena Pierce#k? Is he talking about the little kid that used to follow me around? I guess she was headed to Victoria Island on the rescue ship. She must have settled down there. Maybe she'll know something about Mercedes.)") + + sm.setSpeakerID(CHIEF) + sm.sendSay("Athena Pierce is at the Bowman Instructional School. She's busy teaching new bowmen, so don't take up too much of her time.") + sm.lockInGameUI(False) \ No newline at end of file diff --git a/scripts/quest/q38034s.py b/scripts/quest/q38034s.py new file mode 100755 index 0000000..856e27c --- /dev/null +++ b/scripts/quest/q38034s.py @@ -0,0 +1,18 @@ +ATHENA = 1012100 + +sm.setSpeakerID(ATHENA) +sm.sendNext("A young elf named Athena Pierce... I believe I'm the only elf with that name. And I did come from Ossyria to Victoria Island to get away from the Black Mage...") + +sm.setPlayerAsSpeaker() +sm.sendSay("But she was so young. I'm sorry, but you couldn't...") + +sm.setSpeakerID(ATHENA) +sm.sendSay("Are you talking about the curse on the elves? Ah, I was lucky enough to avoid it. #rHundreds of years#k is enough time for an elf to mature, you know.") + +sm.setPlayerAsSpeaker() +sm.sendSay("A curse? Hundreds... of years? This makes no sense. The day Mercedes and the rest of us faced the Black Mage was the same day that little Athena Pierce got on the ship to Victoria Island.") + +sm.setSpeakerID(ATHENA) +sm.sendSay("Then were you... Were you also under the Curse of the Black Mage? Listen to me carefully... It's been centuries since the day you were sealed. Do you understand? #r#eCenturies#k#n.") + +sm.startQuest(parentID) diff --git a/scripts/quest/q38035e.py b/scripts/quest/q38035e.py new file mode 100755 index 0000000..ab8afc7 --- /dev/null +++ b/scripts/quest/q38035e.py @@ -0,0 +1,13 @@ +from net.swordie.ms.enums import UIType + +ATHENA = 1012100 + +sm.setSpeakerID(ATHENA) +sm.sendNext("Would you mind helping us out while you train? It will help you adjust to this new Maple World.") +sm.sendSay("Didn't you hear of the troubles at the #rEllinel Fairy Academy#k? You should check it out.") +sm.startQuest(parentID) +sm.completeQuest(parentID) +sm.giveExp(5000) + +sm.openUI(UIType.UI_GROWTH_HELPER) +sm.sendSayOkay("Use the Maple Guide function to get to #rEllinel Fairy Academy#k easily. I'll contact you again if something else happens.") \ No newline at end of file diff --git a/scripts/quest/q38073e.py b/scripts/quest/q38073e.py new file mode 100755 index 0000000..07fc157 --- /dev/null +++ b/scripts/quest/q38073e.py @@ -0,0 +1,24 @@ +LIBRARIAN = 2500002 + +sm.setSpeakerID(LIBRARIAN) +sm.sendNext("Did you think of a keyword? What word do you want to search?\r\n\r\n#L0##bBlack Mage#l") +sm.sendNext("Black Mage, huh? That's a pretty big topic. I'm seeing titles like The Sealing of the Black Mage, Commanders of the Black Mage, Appearance of the Black Mage... 3849 results.") +sm.sendNext("You need to narrow down your search. What do you want to search for?\r\n\r\n#L0##bThe Black Mage's Resurrection#l") +sm.sendNext("The Black Mage's Resurrection... Interesting, that's just one book. But uh... There's a problem.") +sm.sendNext("This book isn't available to the public. I'm sorry, but I can't help you with this one. Do you happent o have another search in mind?\r\n\r\n#L0##bSeal of Time#l") +sm.sendNext("Seal of Time... There's a book about the Seal of Time that locked up the Black Mage. Let's see, let's see... Ah, so that's what happened...") +sm.sendNext("There's a book called #rThe Black Mage and the Five Heroes#k that's probably everything you're looking for. You want to search for anything else?\r\n\r\n#L0#(#bYou whisper something#k.)#l") +sm.sendNext("Really? Is that your name? I love doing name searches for people! Let's see what your life is like...") + +sm.setPlayerAsSpeaker() +sm.sendSay("No, it's fine. Don't search my name.") + +sm.setSpeakerID(LIBRARIAN) +sm.sendSay("Why? You got a lot of secrets or something? Ah well, every one has secrets, I suppose. Very well.") + +sm.setPlayerAsSpeaker() +sm.sendSay("(Maybe there are records of me here, if the library truly has ALL the records of the world. I have to keep pressing forward.)") +sm.sendSay("(I won't dwell on the past, even if it means more pain!)") + +sm.completeQuest(parentID) +sm.jobAdvance(2512) diff --git a/scripts/quest/q38074s.py b/scripts/quest/q38074s.py new file mode 100755 index 0000000..f764814 --- /dev/null +++ b/scripts/quest/q38074s.py @@ -0,0 +1,7 @@ +sm.flipDialoguePlayerAsSpeaker() +sm.sendNext("There's no question that I... have been erased from everyone's memories. But if it's just me, then they must have holes in their memories. They would know that at least SOMEONE was there.") +sm.setPlayerAsSpeaker() +if sm.sendAskAccept("If it's not just that my existence is being wiped from their memories... Then perhaps there are other possibilities. Should I head out now?\r\n#r(You will be moved directly to the map if you accept.)"): + sm.warp(211060000, 2) + sm.startQuest(parentID) + sm.dispose() diff --git a/scripts/quest/q38076s.py b/scripts/quest/q38076s.py new file mode 100755 index 0000000..d522333 --- /dev/null +++ b/scripts/quest/q38076s.py @@ -0,0 +1,6 @@ +sm.flipDialoguePlayerAsSpeaker() +sm.sendNext("I remember now. I put in a photograph. A photo, the only one, with everyone... They told me to put my most prized possession in, and that was it. Good choice, I guess.") +sm.sendSay("Now I'm sure. The world has #rCOMPLETELY forgotten me.#k\r\nThere are absolutely no traces of me anywhere.") +sm.startQuest(parentID) +sm.completeQuest(parentID) +sm.jobAdvance(2511) diff --git a/scripts/quest/q3862e.py b/scripts/quest/q3862e.py new file mode 100755 index 0000000..31b0c29 --- /dev/null +++ b/scripts/quest/q3862e.py @@ -0,0 +1,12 @@ +# Sunburst | Part of the Golden Temple Quest Line + +GATE_OF_TRIALS = 9000098 + +sm.setSpeakerID(GATE_OF_TRIALS) +sm.sendNext("#b(A voice resonates in your head again.) \r\n" + "'The Sacrifice will protect thee, but it shall be destroyed the moment thou set foot in front of the golden altar! " + "If thou dost not enter, the sacrifice will not be taken.' \r\n" + "(Massive doors open the way to the Entrance to Ravana's Altar.)") + +sm.warp(252030000, 0) # Entrance to Ravana's Altar +sm.completeQuestNoRewards(parentID) diff --git a/scripts/quest/q3864e.py b/scripts/quest/q3864e.py new file mode 100755 index 0000000..8518025 --- /dev/null +++ b/scripts/quest/q3864e.py @@ -0,0 +1,14 @@ +# Sunburst | Part of the Golden Temple Quest Line | Anytime Quest + +GATE_OF_TRIALS = 9000098 +SUNBURST = 4033176 + +sm.setSpeakerID(GATE_OF_TRIALS) +sm.sendNext("#b(A voice resonates in your head again.) \r\n" + "'The Sacrifice will protect thee, but it shall be destroyed the moment thou set foot in front of the golden altar! " + "If thou dost not enter, the sacrifice will not be taken.' \r\n" + "(Massive doors open the way to the Entrance to Ravana's Altar.)") + +sm.warp(252030000, 0) # Entrance to Ravana's Altar +sm.completeQuestNoRewards(parentID) +sm.consumeItem(SUNBURST) diff --git a/scripts/quest/q3890s.py b/scripts/quest/q3890s.py new file mode 100755 index 0000000..f67640d --- /dev/null +++ b/scripts/quest/q3890s.py @@ -0,0 +1,24 @@ +# Created by MechAviv +# Quest ID :: 3890 +# [Mu Lung Dojo] Mu Lung Dojo Reward Guide + +sm.setSpeakerID(2091011) +sm.sendNext("You do know the Rank Range is divided by levels, right?") + + +sm.setSpeakerID(2091011) +sm.sendSay("The Novice Group is for players from Lv. 105 - 140.\r\n\r\n * 1st Place: #i1082660:##t1082660# #i3700305:##t3700305#\r\n* 2nd Place: #i1082661:##t1082661#\r\n* 3rd Place: #i1082661:##t1082661#") + +sm.setSpeakerID(2091011) +sm.sendSay("The Veteran Group is for players from Lv. 141 - 180.\r\n\r\n1st Place: #i1082394:##t1082394# #i3700306:##t3700306#\r\n* 2nd Place: #i1082660:##t1082660#\r\n* 3rd Place: #i1082660:##t1082660#") + +sm.setSpeakerID(2091011) +sm.sendSay("The Master Group is for players Lv. 181 or higher.\r\n\r\n * 1st Place: #i1082392:##t1082392#\r\n#i3700308:##t3700308#\r\n\r\n* Job 1st: #i1082393:##t1082393#\r\n#i3700307:##t3700307#\r\n* Job 2nd: #i1082394:##t1082394#\r\n* Job 3rd: #i1082394:##t1082394#") + + +sm.setSpeakerID(2091011) +sm.sendSay("Rank rewards are given according to your results from that week. Rankings are calculated from #r11:30 PM on Sunday to 12:30 AM on Monday#k. It takes #b1 hour#k to update rankings, so don't forget to set your record before it's too late.") + + +sm.setSpeakerID(2091011) +sm.sendPrev("You can get your reward by talking to me in Mu Lung Dojo after the ranking results are calculated. I hope you won't whine for a reward when you're not even in the top ranks.") \ No newline at end of file diff --git a/scripts/quest/q38996s.py b/scripts/quest/q38996s.py new file mode 100755 index 0000000..dca32bb --- /dev/null +++ b/scripts/quest/q38996s.py @@ -0,0 +1,17 @@ +# 410000002 +MOONBEAM = 3002100 + +sm.setSpeakerID(MOONBEAM) +sm.sendNext("The Fox God gave you his blessings, so you probably have a new skill! Check your skill window.") + +sm.flipDialoguePlayerAsSpeaker() +sm.sendSay("Fox Trot... Spirit Bond... I've never seen these skills before.") + +sm.setSpeakerID(MOONBEAM) +sm.sendSay("They'll be a big help for a slow, weak thing like you. Here, let's talk some more so I can show you how they work!") + +sm.startQuest(parentID) +sm.completeQuest(parentID) +sm.giveExp(916) + + diff --git a/scripts/quest/q38997s.py b/scripts/quest/q38997s.py new file mode 100755 index 0000000..7018734 --- /dev/null +++ b/scripts/quest/q38997s.py @@ -0,0 +1,17 @@ +# 410000002 +MOONBEAM = 3002100 + +sm.setSpeakerID(MOONBEAM) +sm.sendNext("Let's start with #b[Fox Trot]#k. If you really do have ears, perk them up for this!") +sm.sendSay("#b[Fox Trot]#k is super helpful when you want to move quickly or get close to an enemy. You're way too slow to catch prey, so you need all the help you can get.") +sm.sendSay("Now try using #b[Fox Trot]#k. Oh, and it's a lot easier if you hotkey it and use it that way!") +sm.startQuest(parentID) + +sm.sendNext("Whaddaya think? Was that amazingly fast, or what? Use this skill to get close to your prey.") +sm.sendSay("Use this skill when you're using other skills to #binterrupt#k the first one and #bmove#k quickly!") +sm.sendSay("I know you can be a little slow, Shade. Are you keeping up?") +sm.sendSay("I'll tell you how to use it to make up for your weakness. Talk to me when you're ready!") +sm.completeQuest(parentID) +sm.giveExp(700) + + diff --git a/scripts/quest/q38998s.py b/scripts/quest/q38998s.py new file mode 100755 index 0000000..9406600 --- /dev/null +++ b/scripts/quest/q38998s.py @@ -0,0 +1,14 @@ +# 410000002 +MOONBEAM = 3002100 +CATERPILLAR = 9300877 + +sm.spawnMob(CATERPILLAR, -245, -410, False) +sm.spawnMob(CATERPILLAR, -245, -410, False) +sm.removeEscapeButton() +sm.setSpeakerID(MOONBEAM) +sm.sendNext("Do you see that caterpillar over there? Waaaaay over there. It's gonna eat up the whole Fox Tree if we leave it there. Now then, what should we do?") +sm.sendSay("I hope you're not thinking of climbing all the way up there! Use #b[Fox Trot]#k to zip up there in a jiffy! Go get'em, go on!") +sm.chatScript("Use [Fox Trot] to get to the bugs on the trees!") +sm.startQuest(parentID) + + diff --git a/scripts/quest/q39160s.py b/scripts/quest/q39160s.py new file mode 100755 index 0000000..4949233 --- /dev/null +++ b/scripts/quest/q39160s.py @@ -0,0 +1,8 @@ +# id 39160 ([Weekly Quest] Request Reward), field 993017200 +sm.setSpeakerID(2155000) # One-Eye +sm.setParam(1) +sm.sendNext("Squishy, the more you help us, the more we can help ourselves. And THAT means we can get ahold of the #brare stuff#k.") +sm.sendSay("After some discussion, we've decided to give you #i4001842# #b#t4001842##k each week when you #bfinish four commissions#k.") +sm.sendSay("In fact, here's one to start you off right! Remember, #bcomplete four commissions each week#k and come see me. I'll have my eye on you, Squishy. Heehee.") +sm.startQuest(parentID) +sm.createQuestWithQRValue(39100, "FC=0") diff --git a/scripts/quest/q500724e.py b/scripts/quest/q500724e.py new file mode 100755 index 0000000..8470e77 --- /dev/null +++ b/scripts/quest/q500724e.py @@ -0,0 +1,167 @@ +# id 500724 ([Hayato and Kanna Revamp] Hunt 888 Monsters Near Your Level Daily), field 450002012 +sm.closeUI(1128) +sm.setSpeakerType(3) +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(9010010) # Cassandra +sm.sendNext("Wow, you've eliminated all of the monsters for today!") +sm.closeUI(1128) +sm.closeUI(1128) +sm.closeUI(1128) +sm.closeUI(1128) +res = sm.sendAskYesNo("Would you like to complete today's event?") +sm.closeUI(1128) +sm.closeUI(1128) +sm.closeUI(1128) +sm.completeQuestNoCheck(parentID) +sm.createQuestWithQRValue(500725, "count=6") +sm.sendNext("You've participated for #b6 day(s)#k! #b2day(s)#k more, and you'll get a reward. You're so close!") +sm.closeUI(1128) +sm.closeUI(1128) +sm.sendSay("I've also given you #b#t2450135:##k x1. I hope it helps.") +sm.closeUI(1128) +sm.createQuestWithQRValue(100161, "autoIncTotal=16;point=2514;sum=284416;lv=2;date=20190703;today=18200;total=16") +sm.createQuestWithQRValue(100161, "autoIncTotal=16;point=2515;sum=284416;lv=2;date=20190703;today=18200;total=16") +sm.createQuestWithQRValue(100161, "autoIncTotal=16;point=2515;sum=284516;lv=2;date=20190703;today=18200;total=16") +sm.closeUI(1128) +sm.sendSay("See you again tomorrow!") +sm.closeUI(1128) +sm.closeUI(1128) +sm.closeUI(1128) +sm.closeUI(1128) +sm.closeUI(1128) +sm.closeUI(1128) +sm.closeUI(1128) +sm.closeUI(1128) +sm.closeUI(1128) +sm.createQuestWithQRValue(100161, "autoIncTotal=16;point=2515;sum=284516;lv=2;date=20190703;today=18300;total=16") +sm.createQuestWithQRValue(100161, "autoIncTotal=16;point=2516;sum=284516;lv=2;date=20190703;today=18300;total=16") +sm.createQuestWithQRValue(100161, "autoIncTotal=16;point=2516;sum=284616;lv=2;date=20190703;today=18300;total=16") +sm.closeUI(1128) +sm.closeUI(1128) +sm.closeUI(1128) +sm.closeUI(1128) +sm.closeUI(1128) +sm.closeUI(1128) +sm.closeUI(1128) +sm.closeUI(1128) +sm.closeUI(1128) +sm.createQuestWithQRValue(100161, "autoIncTotal=16;point=2516;sum=284616;lv=2;date=20190703;today=18400;total=16") +sm.createQuestWithQRValue(100161, "autoIncTotal=16;point=2517;sum=284616;lv=2;date=20190703;today=18400;total=16") +sm.createQuestWithQRValue(100161, "autoIncTotal=16;point=2517;sum=284716;lv=2;date=20190703;today=18400;total=16") +sm.closeUI(1128) +sm.closeUI(1128) +sm.closeUI(1128) +sm.closeUI(1128) +sm.closeUI(1128) +sm.closeUI(1128) +sm.closeUI(1128) +sm.createQuestWithQRValue(100161, "autoIncTotal=16;point=2517;sum=284716;lv=2;date=20190703;today=18500;total=16") +sm.createQuestWithQRValue(100161, "autoIncTotal=16;point=2518;sum=284716;lv=2;date=20190703;today=18500;total=16") +sm.createQuestWithQRValue(100161, "autoIncTotal=16;point=2518;sum=284816;lv=2;date=20190703;today=18500;total=16") +sm.closeUI(1128) +sm.closeUI(1128) +sm.closeUI(1128) +sm.closeUI(1128) +sm.closeUI(1128) +sm.closeUI(1128) +sm.closeUI(1128) +sm.closeUI(1128) +sm.closeUI(1128) +sm.closeUI(1128) +sm.closeUI(1128) +sm.closeUI(1128) +sm.closeUI(1128) +sm.closeUI(1128) +sm.closeUI(1128) +sm.closeUI(1128) +sm.createQuestWithQRValue(100161, "autoIncTotal=16;point=2518;sum=284816;lv=2;date=20190703;today=18600;total=16") +sm.createQuestWithQRValue(100161, "autoIncTotal=16;point=2519;sum=284816;lv=2;date=20190703;today=18600;total=16") +sm.createQuestWithQRValue(100161, "autoIncTotal=16;point=2519;sum=284916;lv=2;date=20190703;today=18600;total=16") +sm.closeUI(1128) +sm.closeUI(1128) +sm.closeUI(1128) +sm.closeUI(1128) +sm.closeUI(1128) +sm.closeUI(1128) +sm.closeUI(1128) +sm.closeUI(1128) +sm.closeUI(1128) +sm.closeUI(1128) +sm.closeUI(1128) +sm.closeUI(1128) +sm.closeUI(1128) +sm.closeUI(1128) +sm.closeUI(1128) +sm.closeUI(1128) +sm.closeUI(1128) +sm.closeUI(1128) +sm.createQuestWithQRValue(100161, "autoIncTotal=16;point=2519;sum=284916;lv=2;date=20190703;today=18700;total=16") +sm.createQuestWithQRValue(100161, "autoIncTotal=16;point=2520;sum=284916;lv=2;date=20190703;today=18700;total=16") +sm.createQuestWithQRValue(100161, "autoIncTotal=16;point=2520;sum=285016;lv=2;date=20190703;today=18700;total=16") +sm.closeUI(1128) +sm.closeUI(1128) +sm.closeUI(1128) +sm.closeUI(1128) +sm.closeUI(1128) +sm.closeUI(1128) +sm.closeUI(1128) +sm.closeUI(1128) +sm.closeUI(1128) +sm.closeUI(1128) +sm.closeUI(1128) +sm.closeUI(1128) +sm.closeUI(1128) +sm.closeUI(1128) +sm.createQuestWithQRValue(100161, "autoIncTotal=16;point=2520;sum=285016;lv=2;date=20190703;today=18800;total=16") +sm.createQuestWithQRValue(100161, "autoIncTotal=16;point=2521;sum=285016;lv=2;date=20190703;today=18800;total=16") +sm.createQuestWithQRValue(100161, "autoIncTotal=16;point=2521;sum=285116;lv=2;date=20190703;today=18800;total=16") +sm.closeUI(1128) +sm.closeUI(1128) +sm.createQuestWithQRValue(100161, "autoIncTotal=16;point=2521;sum=285116;lv=2;date=20190703;today=18900;total=16") +sm.createQuestWithQRValue(100161, "autoIncTotal=16;point=2522;sum=285116;lv=2;date=20190703;today=18900;total=16") +sm.createQuestWithQRValue(100161, "autoIncTotal=16;point=2522;sum=285216;lv=2;date=20190703;today=18900;total=16") +sm.closeUI(1128) +sm.createQuestWithQRValue(100161, "autoIncTotal=16;point=2522;sum=285216;lv=2;date=20190703;today=19000;total=16") +sm.createQuestWithQRValue(100161, "autoIncTotal=16;point=2523;sum=285216;lv=2;date=20190703;today=19000;total=16") +sm.createQuestWithQRValue(100161, "autoIncTotal=16;point=2523;sum=285316;lv=2;date=20190703;today=19000;total=16") +sm.closeUI(1128) +sm.closeUI(1128) +sm.closeUI(1128) +sm.closeUI(1128) +sm.closeUI(1128) +sm.closeUI(1128) +sm.createQuestWithQRValue(100161, "autoIncTotal=16;point=2523;sum=285316;lv=2;date=20190703;today=19100;total=16") +sm.createQuestWithQRValue(100161, "autoIncTotal=16;point=2524;sum=285316;lv=2;date=20190703;today=19100;total=16") +sm.createQuestWithQRValue(100161, "autoIncTotal=16;point=2524;sum=285416;lv=2;date=20190703;today=19100;total=16") +sm.closeUI(1128) +sm.closeUI(1128) +sm.createQuestWithQRValue(100161, "autoIncTotal=16;point=2524;sum=285416;lv=2;date=20190703;today=19200;total=16") +sm.createQuestWithQRValue(100161, "autoIncTotal=16;point=2525;sum=285416;lv=2;date=20190703;today=19200;total=16") +sm.createQuestWithQRValue(100161, "autoIncTotal=16;point=2525;sum=285516;lv=2;date=20190703;today=19200;total=16") +sm.closeUI(1128) +sm.closeUI(1128) +sm.closeUI(1128) +sm.createQuestWithQRValue(100161, "autoIncTotal=16;point=2525;sum=285516;lv=2;date=20190703;today=19300;total=16") +sm.createQuestWithQRValue(100161, "autoIncTotal=16;point=2526;sum=285516;lv=2;date=20190703;today=19300;total=16") +sm.createQuestWithQRValue(100161, "autoIncTotal=16;point=2526;sum=285616;lv=2;date=20190703;today=19300;total=16") +sm.closeUI(1128) +sm.closeUI(1128) +sm.closeUI(1128) +sm.closeUI(1128) +sm.createQuestWithQRValue(100161, "autoIncTotal=16;point=2526;sum=285616;lv=2;date=20190703;today=19400;total=16") +sm.createQuestWithQRValue(100161, "autoIncTotal=16;point=2527;sum=285616;lv=2;date=20190703;today=19400;total=16") +sm.createQuestWithQRValue(100161, "autoIncTotal=16;point=2527;sum=285716;lv=2;date=20190703;today=19400;total=16") +sm.closeUI(1128) +sm.closeUI(1128) +sm.closeUI(1128) +sm.closeUI(1128) +sm.closeUI(1128) +sm.closeUI(1128) +sm.createQuestWithQRValue(100161, "autoIncTotal=16;point=2527;sum=285716;lv=2;date=20190703;today=19500;total=16") +sm.createQuestWithQRValue(100161, "autoIncTotal=16;point=2528;sum=285716;lv=2;date=20190703;today=19500;total=16") +sm.createQuestWithQRValue(100161, "autoIncTotal=16;point=2528;sum=285816;lv=2;date=20190703;today=19500;total=16") +sm.closeUI(1128) +sm.closeUI(1128) +sm.closeUI(1128) +sm.closeUI(1128) +sm.warp(450002023) diff --git a/scripts/quest/q500724s.py b/scripts/quest/q500724s.py new file mode 100755 index 0000000..3626c8f --- /dev/null +++ b/scripts/quest/q500724s.py @@ -0,0 +1,9 @@ +# id 500724 ([Hayato and Kanna Revamp] Hunt 888 Monsters Near Your Level Daily), field 993017200 +sm.setSpeakerType(3) +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(9010010) # Cassandra +res = sm.sendAskYesNo("Hello, #b#h0##k! Would you like to participate in the events today as well?") +sm.sendNext("This is day 6 of 8 in your participation.") +sm.sendSay("I hope you enjoy hunting in Maple World and getting rewards.") +sm.startQuest(parentID) +sm.warp(450002007) diff --git a/scripts/quest/q50722e.py b/scripts/quest/q50722e.py new file mode 100755 index 0000000..44f3ce6 --- /dev/null +++ b/scripts/quest/q50722e.py @@ -0,0 +1,7 @@ +# id 50722 (Fly in the Sky!), field 240080000 +sm.setSpeakerID(2085000) # Matada +res = sm.sendAskYesNo("Do you have the Ancient Dragon Wing Scales?") +sm.createQuestWithQRValue(18418, "B=34973") +sm.sendNext("Good, now close your eyes and imagine soaring through the sky on your mount, using the Up Arrow and Jump keys to soar ever higher.") +sm.sendSay("Not many mounts know the Soaring skill. Pegasus and Dragon are two creatures that do.") +sm.sendSay("Do not forget, you can only stay aloft for a certain amount of time. Press the Jump key often to stay airborne!") diff --git a/scripts/quest/q50990e.py b/scripts/quest/q50990e.py new file mode 100755 index 0000000..8356cfd --- /dev/null +++ b/scripts/quest/q50990e.py @@ -0,0 +1,9 @@ +# id 50990 ([Theme Dungeon] Ellinel Fairy Academy ), field 101030000 +sm.setSpeakerID(1040002) # Fanzy +sm.sendNext("Are you the one I invited to help with the ruckus at the Ellinel Fairy Academy?") +sm.setParam(3) +sm.sendSay("Um, of course?") +sm.setParam(0) +sm.sendSay("You don't look as strong as I'd hoped. But, you're famous, so I'll leave it to you.") +sm.startQuest(32147) +sm.completeQuestNoCheck(parentID) diff --git a/scripts/quest/q50990s.py b/scripts/quest/q50990s.py new file mode 100755 index 0000000..d21e0b5 --- /dev/null +++ b/scripts/quest/q50990s.py @@ -0,0 +1,10 @@ +# id 50990 ([Theme Dungeon] Ellinel Fairy Academy ), field 993017200 +sm.setSpeakerID(9130008) # Mouri Motonari +res = sm.sendAskAccept("You seem to be prepared for a new adventure. Can you make some time for me? We were asked to look for someone with the appropriate qualifications.") +sm.sendNext("The request was from #bEllinel Fairy Academy#k. A young human entered the Academy and it's caused quite a disturbance.") +sm.sendSay("I don't know all the details, but they are in need of help and I think it is best that we look into the situation.") +res = sm.sendAskYesNo("Fanzy will take you into the land of the fairies. I can send you to him directly, if you'd like.") +sm.sendNext("I shall send you to Fanzy right away. Complete your mission, and come straight back. Good luck.") +sm.startQuest(parentID) +sm.startQuest(32148) +sm.warp(101030000) diff --git a/scripts/quest/q52930s.py b/scripts/quest/q52930s.py new file mode 100755 index 0000000..6ec69d6 --- /dev/null +++ b/scripts/quest/q52930s.py @@ -0,0 +1,20 @@ +# Beauty Salon Tutorial +if sm.sendAskAccept("Hi! I'm Big Headward, the heart of fashion in Maple World. I would just LOVE to explain how my amazing Beaty Salon system works. Do you think you have a moment to hear about it?"): + sm.removeEscapeButton() + sm.sendNext("The Beauty Salon is where you can save or change your hair and face, any time you wish. See, isn't it amazing?") + sm.sendSay("Those that are quick-witted might have already noticed the newly-added button in the Equip tab. Just like the picture below!\r\n#i3800642#") + sm.sendSay("It is SO easy to use. You can #rSave#k your current Hair (Face), then use the #rChange#k button to mix it up! You can even #rDelete#k any style that you don't like. But once it is deleted you won't get it back so BE CAREFUL!\r\n#i3800643#") + sm.sendSay("You can save up to 3 sets of faces and hairstyles. You can use NX to get more slots, too. That way you can collect all the amazing looks of MapleStory!\r\n#i3800644#") + sm.sendSay("Rather than have me explain it a hundred times, why don't you try it out yourself? Here, I'll give you a coupon for a look that I created just for this. Give it a try right now.") + if sm.sendAskAccept("Now that you've learned all about the Beauty Salon, would you like to try using these style coupons?\r\n#e#rMake sure you save your current style in the salon before you proceed!#k#n"): + sm.giveItem(2543041) + sm.giveItem(2432547) + # The items should be expiration for 24hrs + sm.completeQuestNoRewards(52930) + sm.dispose() + else: + sm.sendSayOkay("Come back with the character you want to have the hot new look, and listen to the explanation.") + sm.dispose() +else: + sm.sendSayOkay("Come back to me whenever you would like to learn about it. I even have a special gift prepared for patient, attentive people, so don't miss out!") + sm.dispose() \ No newline at end of file diff --git a/scripts/quest/q5499e.py b/scripts/quest/q5499e.py new file mode 100755 index 0000000..ceaa232 --- /dev/null +++ b/scripts/quest/q5499e.py @@ -0,0 +1,20 @@ +# The Curbrock in the Grass (5499) + +SABITRAMA = 1061005 # NPC ID +CURBROCKS_BADGE = 1182054 # ITEM ID + +sm.setSpeakerID(SABITRAMA) +sm.sendNext("You don't look well, my friend.") + +sm.sendSay("The rumors are true. " + "We must stop him before he eats anyone else.\r\n" + "But you are still too weak. " + "Return to me when you are stronger.\r\n\r\n" + "I will give you #v1182054# #b#z1182054##k as a gift.") + +if sm.canHold(CURBROCKS_BADGE): + sm.giveItem(CURBROCKS_BADGE) + sm.completeQuest(parentID) + +else: + sm.sendSayOkay("Please make sure you have room in your inventory, and talk to me again.") \ No newline at end of file diff --git a/scripts/quest/q5499s.py b/scripts/quest/q5499s.py new file mode 100755 index 0000000..0560b2b --- /dev/null +++ b/scripts/quest/q5499s.py @@ -0,0 +1,38 @@ +# The Curbrock in the Grass (5499) + +SABITRAMA = 1061005 # NPC ID +CURBROCKS_HIDEOUT = 600050000 # MAP ID +CURBROCKS_ESCAPE_ROUTE = 600050030 # MAP ID + +sm.setSpeakerID(SABITRAMA) + +if sm.getFieldID() == CURBROCKS_HIDEOUT or \ + sm.getFieldID() == CURBROCKS_ESCAPE_ROUTE: + sm.sendSayOkay("Please leave before reaccepting this quest again.") + +else: + sm.sendNext("Have you come to hear the story of Curbrock?") + + sm.sendSay("Come close, then, and I will tell you my tale.") + + sm.sendSay("Long ago, there was a snake that tried to become a man by eating helpless human beings.") + + sm.sendSay("The snake pretended to be like us, even taking on a human name--Curbrock! " + "However, when the rumors of his evil spread, he vanished.") + + sm.sendSay("But I've heard rumors recently. " + "People have been vanishing from SleepyWood. " + "They say that Curbrock has returned.") + + response = sm.sendAskYesNo("Would you go there for yourself and see if these rumors are true? " + "I can send you there now if you want.\r\n\r\n" + "#b(You'll be teleported to the Curbrock's Hideout if you accept.#k " + "#bForfeit and reaccept the quest to start again.)#k") + + if response: + sm.sendNext("Remember, Curbrock is deadly. " + "You must run away if you meet him!") + + chr.setPreviousFieldID(chr.getFieldID()) + sm.startQuest(parentID) + sm.warpInstanceIn(CURBROCKS_HIDEOUT) \ No newline at end of file diff --git a/scripts/quest/q5500s.py b/scripts/quest/q5500s.py new file mode 100755 index 0000000..33c4255 --- /dev/null +++ b/scripts/quest/q5500s.py @@ -0,0 +1,29 @@ +# The New Me (5500) + +SABITRAMA = 1061005 # NPC ID +CURBROCKS_HIDEOUT_VER2 = 600050010 # MAP ID +CURBROCKS_ESCAPE_ROUTE_VER2 = 600050040 # MAP ID 2 +CURBROCKS_ESCAPE_ROUTE_VER3 = 600050050 # MAP ID 3 + +sm.setSpeakerID(SABITRAMA) + +if sm.getFieldID() == CURBROCKS_ESCAPE_ROUTE_VER2 or \ + sm.getFieldID() == CURBROCKS_ESCAPE_ROUTE_VER3: + sm.sendSayOkay("Please leave before reaccepting this quest again.") + +else: + sm.sendNext("Oh my... I can feel overflowing energy from your body. " + "Do you still remember the rumour about Curbrock?") + + sm.sendSay("Recently, many people have disappearing from the Broken city. " + "The rumour about Curbrock's return is spreading throughout the city.") + + response = sm.sendAskYesNo("Then, are you ready to defeat #rCurbrock right away?#k") + + if response: + sm.sendNext("Curbrock will only fall to your strongest attack. " + "Good luck!") + + chr.setPreviousFieldID(chr.getFieldID()) + sm.startQuest(parentID) + sm.warpInstanceIn(CURBROCKS_HIDEOUT_VER2) \ No newline at end of file diff --git a/scripts/quest/q5501s.py b/scripts/quest/q5501s.py new file mode 100755 index 0000000..06ab3a0 --- /dev/null +++ b/scripts/quest/q5501s.py @@ -0,0 +1,34 @@ +# Curbrock's Revenge (5501) + +SABITRAMA = 1061005 # NPC ID +CURBROCKS_HIDEOUT_VER3 = 600050020 # MAP ID +CURBROCKS_ESCAPE_ROUTE_VER3 = 600050050 # MAP ID 3 + +sm.setSpeakerID(SABITRAMA) + +if sm.getFieldID() == CURBROCKS_ESCAPE_ROUTE_VER3: + sm.sendSayOkay("Please leave before reaccepting this quest again.") + +else: + sm.sendNext("The rumors are true. " + "Curbrock has returned, and the people are worried.") + + sm.sendSay("However, he doesn't seem to be interested in anyone but you.") + + response = sm.sendAskYesNo("I can send you there now if you want. " + "Are you prepared?") + + if response: + sm.sendNext("Since you last fought, Curbrock has learned a few new tricks.") + + sm.sendSay("His Seal spell will stop you from using your skills.") + + sm.sendSay("His Blind spell will stop you from seeing.") + + sm.sendSay("And his Stun spell will stop you from moving.") + + sm.sendSay("If you can avoid or counter his spells, you might yet beat him.") + + chr.setPreviousFieldID(chr.getFieldID()) + sm.startQuest(parentID) + sm.warpInstanceIn(CURBROCKS_HIDEOUT_VER3) \ No newline at end of file diff --git a/scripts/quest/q5519e.py b/scripts/quest/q5519e.py new file mode 100755 index 0000000..5125e8a --- /dev/null +++ b/scripts/quest/q5519e.py @@ -0,0 +1,6 @@ +# Tot's reward lv 20 + +sm.completeQuest(5519) +# Lv. 20 Equipment box +sm.giveItem(2431876, 1) +sm.dispose() diff --git a/scripts/quest/q5520e.py b/scripts/quest/q5520e.py new file mode 100755 index 0000000..c012487 --- /dev/null +++ b/scripts/quest/q5520e.py @@ -0,0 +1,6 @@ +# Tot's reward lv 30 + +sm.completeQuest(5520) +# Lv. 30 Equipment box +sm.giveItem(2433956, 1) +sm.dispose() diff --git a/scripts/quest/q5521e.py b/scripts/quest/q5521e.py new file mode 100755 index 0000000..f705de5 --- /dev/null +++ b/scripts/quest/q5521e.py @@ -0,0 +1,6 @@ +# Tot's reward lv 40 + +sm.completeQuest(5521) +# Lv. 40 Equipment box +sm.giveItem(2431877, 1) +sm.dispose() diff --git a/scripts/quest/q5522e.py b/scripts/quest/q5522e.py new file mode 100755 index 0000000..e322de0 --- /dev/null +++ b/scripts/quest/q5522e.py @@ -0,0 +1,6 @@ +# Tot's reward lv 50 + +sm.completeQuest(5522) +# Lv. 50 Equipment box +sm.giveItem(2430450, 1) +sm.dispose() diff --git a/scripts/quest/q55234s.py b/scripts/quest/q55234s.py new file mode 100755 index 0000000..60089a5 --- /dev/null +++ b/scripts/quest/q55234s.py @@ -0,0 +1,56 @@ +# Created by MechAviv +# Quest ID :: 55234 +# [Alishan] Spirit's Whisper + +sm.setSpeakerID(9330458) +sm.flipDialoguePlayerAsSpeaker() +if sm.sendAskAccept("Hmm, I thought I heard something... Maybe I should pay more attention."): + sm.setSpeakerID(9330458) +sm.flipDialoguePlayerAsSpeaker() +if sm.sendAskAccept("Hmm, I thought I heard something... Maybe I should pay more attention."): + sm.setNpcOverrideBoxChat(9330458) + sm.sendNext("Hello... anyone there? Please, someone answer.") + + + sm.setSpeakerID(9330458) + sm.flipSpeaker() + sm.flipDialoguePlayerAsSpeaker() + sm.setBoxChat() + sm.setColor(1) + sm.sendSay("H-hello? Spooky voice?") + + + sm.setNpcOverrideBoxChat(9330458) + sm.sendSay("Yes? Can you hear me?") + + + sm.setSpeakerID(9330458) + sm.flipSpeaker() + sm.flipDialoguePlayerAsSpeaker() + sm.setBoxChat() + sm.setColor(1) + sm.sendSay("Yes, but where are you? This is creepy.") + + + sm.setNpcOverrideBoxChat(9330458) + sm.sendSay("Oh, thank goodness! I need your help. Shao...") + + + sm.setSpeakerID(9330458) + sm.flipSpeaker() + sm.flipDialoguePlayerAsSpeaker() + sm.setBoxChat() + sm.setColor(1) + sm.sendSay("Okay, but please don't telep-") + + sm.startQuest(55234) + sm.warp(749080900, 0) +else: + sm.setSpeakerID(9330458) + sm.flipSpeaker() + sm.flipDialoguePlayerAsSpeaker() + sm.setBoxChat() + sm.setColor(1) + sm.sendSayOkay("Am I hearing things?") + + diff --git a/scripts/quest/q55235e.py b/scripts/quest/q55235e.py new file mode 100755 index 0000000..1dec07b --- /dev/null +++ b/scripts/quest/q55235e.py @@ -0,0 +1,24 @@ +# id 55235 ([Alishan] Where in the Other World?), field 800000202 +sm.setSpeakerID(9330459) # Xiaoming +sm.setParam(37) +sm.setColor(1) +#sm.setInnerOverrideSpeakerTemplateID(9330459) # Xiaoming +sm.sendNext("I was thinking... I know you didn't come to #bLeshan#k as a tourist, but maybe you could, y'know, ease into it? ") +sm.setParam(57) +sm.sendSay("Ummm...") +sm.setParam(37) +sm.sendSay("GREAT! Okay, so... Do you see that beautiful mountain over there? We call that mountain #bAlishan#k! It's the jewel of our village.") +sm.sendSay("As beautiful as the mountain is, we don't get many visitors up here. I made some posters, but I don't know if crayon is professional enough.") +sm.setParam(57) +sm.sendSay("Ummm...") +sm.setParam(37) +sm.sendSay("So, hey... You seem to be okay with being in another world right now. Are you used to this kinda thing?") +sm.setParam(57) +sm.sendSay("Ummm...") +sm.setParam(37) +sm.sendSay("Don't worry, I've seen lots of people like you lately.") +sm.setParam(57) +sm.sendSay("Really? People like me?") +sm.setParam(37) +sm.sendSay("Yeah, but I think #b#p9330460##k sent them back to... wherever you folks come from. And speaking of #b#p9330460##k, you should go find him. After you buy something, of course!") +sm.createQuestWithQRValue(18418, "B=3334") diff --git a/scripts/quest/q5523e.py b/scripts/quest/q5523e.py new file mode 100755 index 0000000..65c50af --- /dev/null +++ b/scripts/quest/q5523e.py @@ -0,0 +1,6 @@ +# Tot's reward lv 60 + +sm.completeQuest(5523) +# Lv. 60 Equipment box +sm.giveItem(2433958, 1) +sm.dispose() diff --git a/scripts/quest/q5671e.py b/scripts/quest/q5671e.py new file mode 100755 index 0000000..276d2c3 --- /dev/null +++ b/scripts/quest/q5671e.py @@ -0,0 +1,52 @@ +# Created by MechAviv +# Quest ID :: 5671 +# Not coded yet + +sm.completeQuest(5671) +sm.completeQuest(5758) +sm.curNodeEventEnd(True) +sm.setTemporarySkillSet(0) +sm.setInGameDirectionMode(True, True, False, False) +sm.showNpcSpecialActionByTemplateId(9270083, "summon", 0) +sm.setSpeakerID(0) +sm.removeEscapeButton() +sm.setPlayerAsSpeaker() +sm.setSpeakerType(3) +sm.sendNext("Burke! Are you okay?") + + +sm.setSpeakerID(9270083) +sm.removeEscapeButton() +sm.setSpeakerType(3) +sm.sendSay("It's nothing... But one of them took the key to the shuttle...") + + +sm.setSpeakerID(9270083) +sm.removeEscapeButton() +sm.setSpeakerType(3) +sm.sendSay("He's in the control room... I think he's going to shut everything down.") + + +sm.setSpeakerID(9270083) +sm.removeEscapeButton() +sm.setPlayerAsSpeaker() +sm.setSpeakerType(3) +sm.sendSay("I'll stop them, Burke. You just wait here.") + + +sm.sendDelay(1000) + + +sm.setSpeakerID(9270083) +sm.removeEscapeButton() +sm.setSpeakerType(3) +sm.sendNext("...Jett...") + + +sm.sendDelay(1000) + + +sm.chatScript("Follow the arrows to the Key Keeper's Room.") +sm.startQuest(5672) +sm.setTemporarySkillSet(0) +sm.setInGameDirectionMode(False, True, False, False) diff --git a/scripts/quest/q5672e.py b/scripts/quest/q5672e.py new file mode 100755 index 0000000..7316275 --- /dev/null +++ b/scripts/quest/q5672e.py @@ -0,0 +1,26 @@ +# Created by MechAviv +# Quest ID :: 5672 +# Not coded yet + +sm.completeQuest(5672) +sm.completeQuest(5758) +sm.curNodeEventEnd(True) +sm.setTemporarySkillSet(0) +sm.setInGameDirectionMode(True, True, False, False) +sm.sendDelay(1000) + + +sm.setSpeakerID(9270085) +sm.removeEscapeButton() +sm.setPlayerAsSpeaker() +sm.setSpeakerType(3) +sm.sendNext("I got it. Guess it's time to be going.") + + +sm.sendDelay(1000) + + +sm.setTemporarySkillSet(0) +sm.setInGameDirectionMode(False, True, False, False) + +sm.warp(620100028, 0) diff --git a/scripts/quest/q57103e.py b/scripts/quest/q57103e.py new file mode 100755 index 0000000..353bb9b --- /dev/null +++ b/scripts/quest/q57103e.py @@ -0,0 +1,17 @@ +# 57103 - Picking up the Pieces + +sm.setSpeakerID(9130024) +sm.sendNext("This place appears to be our land, but do you feel it? The air is too sweet, the ground is too soft.") +sm.setPlayerAsSpeaker() +sm.sendNext("But it looks like Japan, like our home.") +sm.setSpeakerID(9130024) +sm.sendNext("I too believed this place to be Japan, but I assure you it is not. We are in a different world. Whatever that strange light was at Honnou-Ji, it has sent us somewhere we could never have imagined.") +sm.setPlayerAsSpeaker() +sm.sendNext("This sounds preposterous, yet...") +sm.setSpeakerID(9130024) +if sm.sendAskYesNo("I will take you to the others. We have established a temporary base of operations, hidden in the forest at the top of this hill. You will seee that I speak the truth."): + sm.completeQuest(parentID) + sm.dispose() +else: + sm.sendNext("Speak to me again after you wish to enter our base of operations.") + sm.dispose() \ No newline at end of file diff --git a/scripts/quest/q57103s.py b/scripts/quest/q57103s.py new file mode 100755 index 0000000..ecfab53 --- /dev/null +++ b/scripts/quest/q57103s.py @@ -0,0 +1,16 @@ +# 57103 - Picking up the Pieces + +sm.setSpeakerID(9130024) +if sm.sendAskYesNo("I am Yamanaka Yukimori, a retainer to the Amako clan. I was at Honnou-ji with you. Before we continue, may i ask your name?"): + sm.setPlayerAsSpeaker() + sm.startQuest(parentID) + sm.sendNext("I Am Anegasaki Kenji, heir to the Matsuyama clan, and the descendant of Anegasaki Tomonobu") + sm.setSpeakerID(9130024) + sm.sendNext("Anegasaki Kenji... I've heard that name before! It's my honor to meet the master of Battoujutsu.") + sm.setPlayerAsSpeaker() + sm.sendNext("Please do not fawn over me, noble warrior. If i had known you were at Honnou-Ji, I would have greeted you as a brother.") + sm.setSpeakerID(9130024) + sm.sendNext("Much has happened since the raid on Honnou-Ji. I will fill you in when you have gathered yourself.") + sm.dispose() +else: + sm.dispose() \ No newline at end of file diff --git a/scripts/quest/q57105e.py b/scripts/quest/q57105e.py new file mode 100755 index 0000000..7dbe761 --- /dev/null +++ b/scripts/quest/q57105e.py @@ -0,0 +1,11 @@ +# 57105 | powerless + +sm.setPlayerAsSpeaker() +sm.sendNext("Argh! I-I cannot control my muscles. I feel as though I were covered in rice paste. Are my injuries that severe?") +sm.setSpeakerID(9130008) +sm.sendNext("The rules of this world are quite different from japan. The shift in spiritual energies has weakened even the strongest among us.") +sm.setPlayerAsSpeaker() +sm.sendNext("What good is all my training if I cannot move without hindrance? What curse has befallen us?") +sm.setSpeakerID(9130008) +sm.sendNext("I have no need for soldiers without the simle willpower to overcome a small obstacle. There is a solution to every problem.") +sm.completeQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q57105s.py b/scripts/quest/q57105s.py new file mode 100755 index 0000000..01d5fd5 --- /dev/null +++ b/scripts/quest/q57105s.py @@ -0,0 +1,14 @@ +# 57105 | powerless +sm.setSpeakerID(9130008) +sm.sendNext("Who are you?") +sm.setPlayerAsSpeaker() +sm.sendNext("Mouri Motonari! We met at the Honnou-Ji military council. I am Anegasaki Kenji, a retainer to the Matsuyama clan. I've just arrived.") +sm.setSpeakerID(9130008) +sm.sendNext("The Mouri welcome you to Momijigaoka, Matsuyama clan. My sons and I were the first to arrive, so we set up a base of operations. We must all work together, under my guidance, to adjust to this new world.") +sm.setPlayerAsSpeaker() +sm.sendNext("what do you mean 'adjust'?") +if sm.sendAskYesNo("Attempt to move as you normally would, Anegasaki Kenji."): + sm.startQuest(parentID) + sm.dispose() +else: + sm.dispose() diff --git a/scripts/quest/q57110s.py b/scripts/quest/q57110s.py new file mode 100755 index 0000000..3eb2ea3 --- /dev/null +++ b/scripts/quest/q57110s.py @@ -0,0 +1,13 @@ +# 57110 | Counterintelligence +sm.setSpeakerID(9130008) +sm.sendNext("A report has just come in about soldiers in dark armor circling the outskirts of Momijigaoka.") +sm.setPlayerAsSpeaker() +sm.sendNext("Soldiers in dark armor... Oda! They must have been brought to this world as well!") +sm.setSpeakerID(9130008) +sm.sendNext("There is no doubt they are Oda's soldiers. However, I am sure they have not discovered the base. Their movements are too erratic.") +if sm.sendAskYesNo("It is only a matter of time before they stumble onto our nest, most likely due to blind luck. We would be best served if someone were to go fight them. Don't you think, Hayato?"): + sm.startQuest(parentID) + sm.sendNext("Well then, I suppose you should get to work. The reports mention Maple Hill Road. I would expect resistance, and I would not be surprised if you find more difficult than you expected.") + sm.dispose() +else: + sm.dispose() \ No newline at end of file diff --git a/scripts/quest/q57162s.py b/scripts/quest/q57162s.py new file mode 100755 index 0000000..92e2579 --- /dev/null +++ b/scripts/quest/q57162s.py @@ -0,0 +1,22 @@ +from net.swordie.ms.enums import InvType + +# Hayato 2nd job adv | 57162 +sm.setPlayerAsSpeaker() +sm.sendNext("This battle is not over, yet I feel a sense of peace. This world is not so different from my own.") +sm.sendNext("I feel like my old self, yet stronger. I believe this world holds many new challenges for me.") +sm.sendNext("I have not yet regained all of my Battoujutsu skills, but one day they will return. One day, the falcon will take flight once again.") +if sm.getEmptyInventorySlots(InvType.getInvTypeByString("equip")) >= 7: + sm.giveItem(1542002) + sm.giveItem(1003555) + sm.giveItem(1052464) + sm.giveItem(1082435) + sm.giveItem(1072669) + sm.giveItem(1352801) + sm.giveItem(1142491) + sm.startQuest(parentID) + sm.completeQuest(parentID) + sm.jobAdvance(4110) + sm.dispose() +else: + sm.sendNext("Please make space in your Equip inventory.") + sm.dispose() diff --git a/scripts/quest/q57163s.py b/scripts/quest/q57163s.py new file mode 100755 index 0000000..4f68fc5 --- /dev/null +++ b/scripts/quest/q57163s.py @@ -0,0 +1,5 @@ +# Hayato 3rd Job Advancement + +sm.jobAdvance(4111) +sm.startQuest(parentID) +sm.completeQuest(parentID) diff --git a/scripts/quest/q57164s.py b/scripts/quest/q57164s.py new file mode 100755 index 0000000..0db8735 --- /dev/null +++ b/scripts/quest/q57164s.py @@ -0,0 +1,5 @@ +# Hayato 4th Job Advancement + +sm.jobAdvance(4112) +sm.startQuest(parentID) +sm.completeQuest(parentID) diff --git a/scripts/quest/q57400s.py b/scripts/quest/q57400s.py new file mode 100755 index 0000000..e69de29 diff --git a/scripts/quest/q57402e.py b/scripts/quest/q57402e.py new file mode 100755 index 0000000..e6fbbbd --- /dev/null +++ b/scripts/quest/q57402e.py @@ -0,0 +1,39 @@ +# Quest: Fresh Start (57402) +# Author: Tiger + +KANETSUGU = 9130022 + +if sm.hasQuestCompleted(57401) and chr.getLevel() >= 11: # Quest: Zipangu's World + sm.removeEscapeButton() + + sm.setSpeakerID(KANETSUGU) + sm.setBoxChat() + sm.sendNext("This is the new base, Momijigaoka. Mouri, a prominent member of the alliance, gathered the first to arrive in this new world and established a group.") + + sm.flipSpeaker() + sm.flipDialoguePlayerAsSpeaker() + sm.setBoxChat() + sm.sendSay("Momijigaoka... Autumn's blood-red leaves. A fitting name.") + + sm.setSpeakerID(KANETSUGU) + sm.setBoxChat() + sm.sendSay("Mouri wouldn't have it any other way. Go see him inside the stronghold. He has plans for you.") + + sm.flipSpeaker() + sm.flipDialoguePlayerAsSpeaker() + sm.setBoxChat() + sm.sendSay("What about you?") + + sm.setSpeakerID(KANETSUGU) + sm.setBoxChat() + sm.sendSay("I must continue searching for Kenshin-Daimyo. I can't shake the feeling that she's lost somewhere in this place, surrounded by danger, calling out for me. I can know no peace nor rest until she is found.") + + sm.completeQuest(57402) # Fresh Start + sm.giveItem(2000000, 100) # Red Potions x100 + sm.giveItem(2000003, 100) # Blue Potions x100 + sm.giveItem(1004550) # Spirit Walker Hat + sm.giveItem(1052479) # Lunar Short Onmyouji Robes + sm.giveItem(1082450) # Lunar Bracelet + sm.giveItem(1072684) # Lunar Shoes + sm.giveItem(1552000) # Iron Fan + sm.giveItem(1142506) # Yin and Yang diff --git a/scripts/quest/q57402s.py b/scripts/quest/q57402s.py new file mode 100755 index 0000000..b2b1eea --- /dev/null +++ b/scripts/quest/q57402s.py @@ -0,0 +1,33 @@ +# Quest: Fresh Start (57402) +# Author: Tiger + +HAKU = 9130081 + +if sm.hasQuestCompleted(57401) and chr.getLevel() >= 11: # Quest: Zipangu's World + sm.removeEscapeButton() + + sm.flipSpeaker() + sm.flipDialoguePlayerAsSpeaker() + sm.setBoxChat() + sm.sendNext("An extraordinary event... talk of another world... Nothing makes sense.") + + sm.setSpeakerID(HAKU) + sm.setBoxChat() + sm.sendSay("The crazy guy had a point. This certainly isn't Japan. There isn't a blade of grass I don't recognize in Japan.") + + sm.flipSpeaker() + sm.flipDialoguePlayerAsSpeaker() + sm.setBoxChat() + sm.sendSay("Could interrupting the ritual have caused this? Maybe we were too late after all. What do you think happened to Haruaki and Princess Sakuno?") + + sm.setSpeakerID(HAKU) + sm.setBoxChat() + sm.sendSay("No need to blame yourself. You did what you could. Wake me up next time you need to stop a ritual in time. You know that's my thing. For now, we should check out that new base Kanetsugu mentioned. They might have food. Or comfy beds.") + + sm.flipSpeaker() + sm.flipDialoguePlayerAsSpeaker() + sm.setBoxChat() + sm.sendSay("I hope Haruaki and the Princess are safe.") + + sm.startQuest(57402) # Fresh Start + # TODO: Start Navigation to -> Momijigaoka : Momijigaoka Entrance (807040100) diff --git a/scripts/quest/q57403e.py b/scripts/quest/q57403e.py new file mode 100755 index 0000000..39968a0 --- /dev/null +++ b/scripts/quest/q57403e.py @@ -0,0 +1,32 @@ + +# Quest: Powerless (57403) +# Author: Tiger + +MOURI = 9130006 + +if sm.hasQuestCompleted(57402) and chr.getLevel() >= 12: # Fresh Start + sm.removeEscapeButton() + + sm.flipSpeaker() + sm.flipDialoguePlayerAsSpeaker() + sm.setBoxChat() + sm.sendNext("What's this? My legs feel like jelly. And I can't feel an ounce of energy flowing through me.") + + sm.setSpeakerID(MOURI) + sm.setBoxChat() + sm.sendSay("You only noticed that now? Perhaps you're too slow to be of help after all.") + + sm.setSpeakerID(MOURI) + sm.setBoxChat() + sm.sendSay("You don't feel the energy because it's not here. This place is completely different than Japan.") + + sm.flipSpeaker() + sm.flipDialoguePlayerAsSpeaker() + sm.setBoxChat() + sm.sendSay("How am I supposed to regain my strength?") + + sm.setSpeakerID(MOURI) + sm.setBoxChat() + sm.sendSay("Ah, the first sensible sentence out of your mouth! You train, my dear.") + + sm.completeQuest(57403) # Powerless diff --git a/scripts/quest/q57403s.py b/scripts/quest/q57403s.py new file mode 100755 index 0000000..0c08439 --- /dev/null +++ b/scripts/quest/q57403s.py @@ -0,0 +1,34 @@ +# Quest: Powerless (57403) +# Author: Tiger + +MOURI = 9130006 + +if sm.hasQuestCompleted(57402) and chr.getLevel() >= 12: # Fresh Start + sm.removeEscapeButton() + + sm.setSpeakerID(MOURI) + sm.setBoxChat() + sm.sendNext("Ah, you will...") + + sm.flipSpeaker() + sm.flipDialoguePlayerAsSpeaker() + sm.setBoxChat() + sm.sendSay("I'm Kanna, Tsuchimikado Haruaki's star pupil. I believe we met briefly during the Honnou-ji raid, but I'd like to formally introduce myself.") + + sm.setSpeakerID(MOURI) + sm.setBoxChat() + sm.sendSay("You dare invite yourself into Momijigaoka? This is a sacred place, a slice of Japan. My sons and I didn't toil for days to build fortifications and clear this place of enemies just to have a fool disrespectfully blunder their way in.") + + sm.flipSpeaker() + sm.flipDialoguePlayerAsSpeaker() + sm.setBoxChat() + sm.sendSay("Excuse me? Kanetsugu sent me here, but obviously I have the wrong person. ") + + sm.setSpeakerID(MOURI) + sm.setBoxChat() + if sm.sendAskAccept("You are the one Kanetsugu spoke of, then? No, no. Don't leave. I may have need of your help. But first, show me you can still move normally. The workings of this world are different from that with which we are familiar."): + sm.startQuest(57403) # Powerless + else: + sm.setSpeakerID(MOURI) + sm.setBoxChat() + sm.sendNext("Try to move around.") diff --git a/scripts/quest/q57407e.py b/scripts/quest/q57407e.py new file mode 100755 index 0000000..05d6779 --- /dev/null +++ b/scripts/quest/q57407e.py @@ -0,0 +1,27 @@ + +# Quest: Dark Times (57407) +# Author: Tiger + +HAKU = 9130081 + +if sm.hasQuestCompleted(57406) and chr.getLevel() >= 16: # Adaptation 3 + sm.removeEscapeButton() + + sm.flipSpeaker() + sm.flipDialoguePlayerAsSpeaker() + sm.setBoxChat() + sm.sendNext("Well...I just had a big meal. You can't expect me to perform on a full stomach. Besides, shouldn't we be finding out where master is? And Princess Sakuno? Nobunaga's plans for her probably don't align with ours.") + sm.sendSay("Could Nobunaga have come to this world too? It's not out of the question. I need to start finding some answers.") + + sm.setSpeakerID(HAKU) + sm.setBoxChat() + sm.sendSay("You'll need your real skills back too. It's no fun watching you fight anymore.") + + sm.flipSpeaker() + sm.flipDialoguePlayerAsSpeaker() + sm.setBoxChat() + sm.sendSay("I'll get there. I don't care if I have to kill 5,000 enemies.") + + sm.completeQuest(57407) # Dark Times + sm.giveItem(2000001, 100) # Orange Potion x 100 + sm.giveItem(2000003, 200) # Blue Potion x 100 diff --git a/scripts/quest/q57407s.py b/scripts/quest/q57407s.py new file mode 100755 index 0000000..166ad45 --- /dev/null +++ b/scripts/quest/q57407s.py @@ -0,0 +1,23 @@ +# Quest: Dark Times (57407) +# Author: Tiger + +HAKU = 9130081 + +if sm.hasQuestCompleted(57406) and chr.getLevel() >= 16: # Adaptation 3 + sm.removeEscapeButton() + + sm.flipSpeaker() + sm.flipDialoguePlayerAsSpeaker() + sm.setBoxChat() + sm.sendNext("I endured Motonari's training, and his attitude, but my strength is still at an all-time low.") + + sm.setSpeakerID(HAKU) + sm.setBoxChat() + sm.sendSay("Well, that's the best you can do for now. I must say, I don't feel the whole 'different rules' thing everyone's been talking about. I feel fine.") + + sm.flipSpeaker() + sm.flipDialoguePlayerAsSpeaker() + sm.setBoxChat() + sm.sendSay("Is that so? Let me see you walk, then.") + + sm.startQuest(57407) # Dark Times diff --git a/scripts/quest/q57408s.py b/scripts/quest/q57408s.py new file mode 100755 index 0000000..ade5fdb --- /dev/null +++ b/scripts/quest/q57408s.py @@ -0,0 +1,27 @@ + +# Quest: Blind and Battered 1 (57408) +# Author: Tiger + +MOURI = 9130006 + +if sm.hasQuestCompleted(57407) and chr.getLevel() >= 17: # Dark Times + sm.removeEscapeButton() + + sm.setSpeakerID(MOURI) + sm.setBoxChat() + sm.sendNext("Kanna, soldiers in dark armor have appeared in the area. With all the ruckus you make while training, I can't say I'm surprised.") + + sm.flipSpeaker() + sm.flipDialoguePlayerAsSpeaker() + sm.setBoxChat() + sm.sendSay("But you're the one who made me train in the first place!") + + sm.setSpeakerID(MOURI) + sm.setBoxChat() + sm.sendSay("An insignificant detail. It seems that Nobunaga's soldiers came to this world when we did. We weren't the only ones affected by the light. The soldiers are lightly armed and very disorganized. They're scouts, and poor ones at that.") + + sm.setSpeakerID(MOURI) + sm.setBoxChat() + if sm.sendAskAccept("They haven't found our base yet, but they draw closer with each passing day. It's only a matter of time before Momijigaoka is exposed to the enemies. I'm making it your duty to destroy them."): + sm.startQuest(57408) # Blind and Battered 1 + # TODO: send dis Navigation to -> Momijigaoka : Maple Hill Road 1 (807010000) diff --git a/scripts/quest/q57409e.py b/scripts/quest/q57409e.py new file mode 100755 index 0000000..e0bec66 --- /dev/null +++ b/scripts/quest/q57409e.py @@ -0,0 +1,37 @@ + +# Quest: Blind and Battered 2 (57409) +# Author: Tiger + +KANETSUGU = 9130022 +KANETSUGU_2 = 9130084 +HAKU = 9130081 + +if sm.hasQuestCompleted(57408) and chr.getLevel() >= 17: # Blind and Battered 1 + sm.removeEscapeButton() + + sm.setSpeakerID(KANETSUGU) + sm.setBoxChat() + sm.sendNext("Oh, hey Kanna. You were still out there fighting? Trying to break my record? I think Motonari wants you to return.") + + sm.flipSpeaker() + sm.flipDialoguePlayerAsSpeaker() + sm.setBoxChat() + sm.sendSay("I'm just doing a thorough job, Kanetsugu. Not trying to compete. For the record, how many more scouts did you take care of?") + + sm.setSpeakerID(KANETSUGU) + sm.setBoxChat() + sm.sendSay("I'm making pretty slow progress. I think I got...I don't know...72 more? I wasn't really counting. Probably missed 10 or 20.") + + sm.flipSpeaker() + sm.flipDialoguePlayerAsSpeaker() + sm.setBoxChat() + sm.sendSay("Errr.") + + sm.setSpeakerID(HAKU) + sm.setBoxChat() + sm.sendSay("What's with that vein in your forehead?") + + sm.setSpeakerID(KANETSUGU_2) + sm.setBoxChat() + if sm.sendAskYesNo("Listen, I'm going to stay behind and search for Kenshin. She doesn't have a speck of fat on her, so she's probably starving to death. As her loyal servant, I may have to allow her to eat me. You should head back to camp."): + sm.completeQuest(57409) # Blind and Battered 2 diff --git a/scripts/quest/q57409s.py b/scripts/quest/q57409s.py new file mode 100755 index 0000000..da22038 --- /dev/null +++ b/scripts/quest/q57409s.py @@ -0,0 +1,55 @@ + +# Quest: Blind and Battered 2 (57409) +# Author: Tiger + +KANETSUGU = 9130022 +HAKU = 9130081 + +if sm.hasQuestCompleted(57408) and chr.getLevel() >= 17: # Blind and Battered 1 + sm.hideNpcByTemplateId(KANETSUGU, False) + sm.removeEscapeButton() + + sm.setSpeakerID(KANETSUGU) + sm.setBoxChat() + sm.sendNext("Looks like we got the same mission. Motonari must have meant for us to compete!") + + sm.flipSpeaker() + sm.flipDialoguePlayerAsSpeaker() + sm.setBoxChat() + sm.sendSay("I don't think that's what he sa...") + + sm.setSpeakerID(KANETSUGU) + sm.setBoxChat() + sm.sendSay("I got 40 already. Not bad for a new world with messed up physics.") + + sm.flipSpeaker() + sm.flipDialoguePlayerAsSpeaker() + sm.setBoxChat() + sm.sendSay("...") + + sm.setSpeakerID(KANETSUGU) + sm.setBoxChat() + if sm.sendAskAccept("Hey! There's another enemy. Excuse me, Kanna. I've got more work to do!"): + sm.startQuest(57409) # Blind and Battered 2 + + sm.setSpeakerID(HAKU) + sm.setBoxChat() + sm.sendNext("Don't let him get to you. Forty enemies is ridiculous. No one expects you to get that many.") + + sm.flipSpeaker() + sm.flipDialoguePlayerAsSpeaker() + sm.setBoxChat() + sm.sendSay("What's that supposed to mean?") + + sm.setSpeakerID(HAKU) + sm.setBoxChat() + sm.sendSay("Maybe you're just not cut out for this world.") + + sm.flipSpeaker() + sm.flipDialoguePlayerAsSpeaker() + sm.setBoxChat() + sm.sendSay("Whose side are you on, Haku?") + + sm.setSpeakerID(HAKU) + sm.setBoxChat() + sm.sendSay("Yours, of course. Do you think I'd ride around with you all day if I didn't want you to win?") diff --git a/scripts/quest/q57410e.py b/scripts/quest/q57410e.py new file mode 100755 index 0000000..bddf6e7 --- /dev/null +++ b/scripts/quest/q57410e.py @@ -0,0 +1,27 @@ + +# Quest: Blind and Battered 3 (57410) +# Author: Tiger + +UESUGI_KENSHIN = 9130009 +HAKU = 9130081 + +if sm.hasQuestCompleted(57409) and chr.getLevel() >= 18: # Blind and Battered 2 + sm.removeEscapeButton() + + sm.setSpeakerID(UESUGI_KENSHIN) + sm.setBoxChat() + sm.sendNext("Who's that?") + + sm.flipSpeaker() + sm.flipDialoguePlayerAsSpeaker() + sm.setBoxChat() + sm.sendSay("!!!!!!!!!!!!!!!!!!!!!!!!!") + + sm.setSpeakerID(HAKU) + sm.setBoxChat() + sm.sendSay("I see why Kanetsugu is so enamored. A true goddess of the battlefield.") + + sm.setSpeakerID(UESUGI_KENSHIN) + sm.setBoxChat() + if sm.sendAskAccept("You're not an enemy soldier..."): + sm.completeQuest(57410) # Blind and Battered 3 diff --git a/scripts/quest/q57410s.py b/scripts/quest/q57410s.py new file mode 100755 index 0000000..16bd618 --- /dev/null +++ b/scripts/quest/q57410s.py @@ -0,0 +1,33 @@ + +# Quest: Blind and Battered 3 (57410) +# Author: Tiger + +HAKU = 9130081 + +if sm.hasQuestCompleted(57409) and chr.getLevel() >= 18: # Blind and Battered 2 + sm.removeEscapeButton() + + sm.flipSpeaker() + sm.flipDialoguePlayerAsSpeaker() + sm.setBoxChat() + sm.sendNext("This isn't enough. I have to be more thorough. Every scout left standing is a liability.") + + sm.setSpeakerID(HAKU) + sm.setBoxChat() + sm.sendSay("You're doing fine, Kanna. Kanetsugu's been at this longer than you.") + + sm.flipSpeaker() + sm.flipDialoguePlayerAsSpeaker() + sm.setBoxChat() + sm.sendSay("I didn't ask about Kanetsugu! He's not even worth my time. He's obviously lying about his numbers anyway. Do you really think he's faster than a Spirit Walker?") + + sm.setSpeakerID(HAKU) + sm.setBoxChat() + sm.sendSay("I'll exercise my right to remain silent.") + + sm.flipSpeaker() + sm.flipDialoguePlayerAsSpeaker() + sm.setBoxChat() + sm.sendSay("That's a first... How about you continue doing that while I search deeper in the battlefield for the higher-ranked soldiers. If I defeat them, the other scouts might turn back.") + sm.startQuest(57410) # Blind and Battered 3 + # Need to Start Navigation to -> Momijigaoka : Maple Hill Road 2 (807010100) diff --git a/scripts/quest/q57411e.py b/scripts/quest/q57411e.py new file mode 100755 index 0000000..f3ef2b5 --- /dev/null +++ b/scripts/quest/q57411e.py @@ -0,0 +1,49 @@ + + +# Quest: Blind and Battered 4 (57411) +# Author: Tiger + +UESUGI_KENSHIN = 9130009 +HAKU = 9130081 + +if sm.hasQuestCompleted(57410) and chr.getLevel() >= 19: # Blind and Battered 3 + sm.removeEscapeButton() + + sm.setSpeakerID(UESUGI_KENSHIN) + sm.setBoxChat() + if sm.sendAskYesNo("Kanna! I felt your energy on the battlefield."): + sm.sendNext("Did you satisfy your lust for blood?") + + sm.flipSpeaker() + sm.flipDialoguePlayerAsSpeaker() + sm.setBoxChat() + sm.sendSay("Um... My lust for blood can never be satisfied!") + + sm.setSpeakerID(UESUGI_KENSHIN) + sm.setBoxChat() + sm.sendSay("Excellent. You'd make the perfect pupil! Much better than that wretched Kanetsugu... I kept track until the 200th enemy, but they fell faster than I could count toward the end.") + + sm.flipSpeaker() + sm.flipDialoguePlayerAsSpeaker() + sm.setBoxChat() + sm.sendSay("Kenshin. You're amazing.") + + sm.setSpeakerID(HAKU) + sm.setBoxChat() + sm.sendSay("You'd like anyone who favored you over Kanetsugu.") + + sm.setSpeakerID(UESUGI_KENSHIN) + sm.setBoxChat() + sm.sendSay("You seem to know what's going on here. All I remember is a flash of light and a long fall that ended with me stuck in the trees again.") + + sm.setSpeakerID(HAKU) + sm.setBoxChat() + sm.sendSay("(Did she just say 'again'?)") + + sm.flipSpeaker() + sm.flipDialoguePlayerAsSpeaker() + sm.setBoxChat() + sm.sendSay("We've set up a base nearby called Momijigaoka. I'll explain everything I know when we get there.") + + sm.completeQuest(57411) # Blind and Battered 4 + sm.warp(807000000, 2) # Momijigaoka : Momijigaoka diff --git a/scripts/quest/q57411s.py b/scripts/quest/q57411s.py new file mode 100755 index 0000000..07d1878 --- /dev/null +++ b/scripts/quest/q57411s.py @@ -0,0 +1,33 @@ + +# Quest: Blind and Battered 4 (57411) +# Author: Tiger + +UESUGI_KENSHIN = 9130009 +HAKU = 9130081 + +if sm.hasQuestCompleted(57410) and chr.getLevel() >= 19: # Blind and Battered 3 + sm.removeEscapeButton() + + sm.flipSpeaker() + sm.flipDialoguePlayerAsSpeaker() + sm.setBoxChat() + sm.sendNext("I'm so glad you're all right, Kenshin. Kanetsugu would have died of grief if something had happened to you. Listen, we're in a strange world, so your skills aren't...") + + sm.setSpeakerID(UESUGI_KENSHIN) + sm.setBoxChat() + sm.sendSay("You listen to me. There are enemies about and I have a sword in my hand. This is the battlefield, not a tea house. Do you know what happens on a battlefield? Battle. ") + + sm.setSpeakerID(HAKU) + sm.setBoxChat() + sm.sendSay("She's fast.") + + sm.flipSpeaker() + sm.flipDialoguePlayerAsSpeaker() + sm.setBoxChat() + sm.sendSay("She isn't even fazed by this place. How does she do it? I'd better go after the Advanced Scouts here. How many will it take to impress her? Fifty?") + + sm.setSpeakerID(HAKU) + sm.setBoxChat() + sm.sendSay("Don't tell me you're thinking about competing against that goddess of war. She's ten times better than Kanetsugu!") + + sm.startQuest(57411) # Blind and Battered 4 diff --git a/scripts/quest/q57412e.py b/scripts/quest/q57412e.py new file mode 100755 index 0000000..5a06884 --- /dev/null +++ b/scripts/quest/q57412e.py @@ -0,0 +1,48 @@ + +# Quest: Echigo's Dragon (57412) +# Author: Tiger + +TAKEDA = 9130000 +UESUGI_KENSHIN = 9130009 +HAKU = 9130081 +KANETSUGU = 9130022 +MOURI = 9130006 + +if sm.hasQuestCompleted(57411) and chr.getLevel() >= 19: # Blind and Battered 4 + sm.removeEscapeButton() + + sm.setSpeakerID(MOURI) + sm.setBoxChat() + sm.sendNext("I shall explain the extraordinary event that brought us here.") + + sm.flipSpeaker() + sm.flipDialoguePlayerAsSpeaker() + sm.setBoxChat() + sm.sendSay("(Motonari explained what happened to Takeda and the four people of Uesugi. He also revealed details about this strange world.)") + + sm.setSpeakerID(UESUGI_KENSHIN) + sm.setBoxChat() + sm.sendSay("So Nobunaga is here. I guess even Shingen's unflattering outburst held a tiny shred of truth.") + + sm.setSpeakerID(TAKEDA) + sm.setBoxChat() + sm.sendSay("I've got more truth in my...") + + sm.setSpeakerID(MOURI) + sm.setBoxChat() + sm.sendSay("Silence! Put your childish differences aside and work together. Your arrival here is fortiutous, but Nobunaga will have nothing left to attack if you keep up this squabbling. We need to build our alliance until it is truly unstoppable!") + + sm.setSpeakerID(TAKEDA) + sm.setBoxChat() + sm.sendSay("Sounds like a lot of running around. The youngsters will have to pull their weight on this one. Yukimura, good luck!") + + sm.setSpeakerID(UESUGI_KENSHIN) + sm.setBoxChat() + sm.sendSay("Kanetsugu, make sure you don't lag behind Shingen's rookie!") + + sm.flipSpeaker() + sm.flipDialoguePlayerAsSpeaker() + sm.setBoxChat() + sm.sendSay("With a team like this, we'll find the master and the princess in no time.") + + sm.completeQuest(57412) # Echigo's Dragon diff --git a/scripts/quest/q57412s.py b/scripts/quest/q57412s.py new file mode 100755 index 0000000..ab2a206 --- /dev/null +++ b/scripts/quest/q57412s.py @@ -0,0 +1,54 @@ + +# Quest: Echigo's Dragon (57412) +# Author: Tiger + +TAKEDA = 9130000 +UESUGI_KENSHIN = 9130009 +HAKU = 9130081 +KANETSUGU = 9130022 +MOURI = 9130006 + +if sm.hasQuestCompleted(57411) and chr.getLevel() >= 19: # Blind and Battered 4 + sm.removeEscapeButton() + + sm.setSpeakerID(UESUGI_KENSHIN) + sm.setBoxChat() + sm.sendNext("This is the new stronghold? Simple, practical, elegant... This is the work of Motonari.") + + sm.setSpeakerID(KANETSUGU) + sm.setBoxChat() + sm.sendSay("Kanna, you won't believe my new record... K-Kenshin? Kenshin! You're safe! Oh my... thank... I can't... your beautiful face...") + + sm.setSpeakerID(HAKU) + sm.setBoxChat() + sm.sendSay("Now that's love.") + + sm.setSpeakerID(UESUGI_KENSHIN) + sm.setBoxChat() + sm.sendSay("Pull yourself together, Kanetsugu. Of course I'm safe. Kanna and I made short work of the situation in the woods.") + + sm.setSpeakerID(TAKEDA) + sm.setBoxChat() + sm.sendSay("Oh... Kenshin. Guess Nobunaga's not the only dirty swamp rat that made it through.") + + sm.setSpeakerID(KANETSUGU) + sm.setBoxChat() + sm.sendSay("How dare you, Shingen!") + + sm.setSpeakerID(HAKU) + sm.setBoxChat() + sm.sendSay("This I like.") + + sm.setSpeakerID(TAKEDA) + sm.setBoxChat() + sm.sendSay("I see the new lap dog is working out well. Barks on command too.") + + sm.setSpeakerID(UESUGI_KENSHIN) + sm.setBoxChat() + sm.sendSay("He knows honor and loyalty. More than I could ever say for you.") + + sm.setSpeakerID(MOURI) + sm.setBoxChat() + sm.sendSay("Kenshin. Shingen. Your quarrel stops now.") + + sm.startQuest(57412) # Echigo's Dragon diff --git a/scripts/quest/q57413e.py b/scripts/quest/q57413e.py new file mode 100755 index 0000000..53a8ac2 --- /dev/null +++ b/scripts/quest/q57413e.py @@ -0,0 +1,28 @@ + +# Quest: Commanding Aura (57413) +# Author: Tiger + +HAKU = 9130081 + +if sm.hasQuestCompleted(57412) and chr.getLevel() >= 20: # Echigo's Dragon + sm.removeEscapeButton() + + sm.setSpeakerID(HAKU) + sm.setBoxChat() + sm.sendNext("Kanna, do you feel that energy?") + + sm.flipSpeaker() + sm.flipDialoguePlayerAsSpeaker() + sm.setBoxChat() + sm.sendSay("Yes. It's faint, but familiar. It's coming from somewhere nearby.") + + sm.setSpeakerID(HAKU) + sm.setBoxChat() + sm.sendSay("It feels extremely powerful, even at this distance. It's coming from...over there!") + + sm.flipSpeaker() + sm.flipDialoguePlayerAsSpeaker() + sm.setBoxChat() + sm.sendSay("I think Momijigahara lies in that direction. Motonari said Oda's Army appeared there. We have to see for ourselves.") + + sm.completeQuest(57413) # Commanding Aura diff --git a/scripts/quest/q57413s.py b/scripts/quest/q57413s.py new file mode 100755 index 0000000..90a3dc3 --- /dev/null +++ b/scripts/quest/q57413s.py @@ -0,0 +1,22 @@ + +# Quest: Commanding Aura (57413) +# Author: Tiger + +MOURI = 9130006 + +if sm.hasQuestCompleted(57412) and chr.getLevel() >= 20: # Echigo's Dragon + sm.removeEscapeButton() + + sm.setSpeakerID(MOURI) + sm.setBoxChat() + sm.sendNext("Kanna, our base has been exposed to the enemy. It seems your paltry efforts weren't enough.") + + sm.setSpeakerID(MOURI) + sm.setBoxChat() + sm.sendSay("Nobunaga's full army has yet to arrive, but he has plenty of strong soldiers stationed just outside Momijigaoka . Once his main force arrives, he will sweep over Momijigaoka like a tempest.") + + sm.setSpeakerID(MOURI) + sm.setBoxChat() + if sm.sendAskAccept("We will not wait for the enemy to attack. We will deal the first strike and turn the tides of battle before Nobunaga has the chance. This is your task, Kanna."): + sm.startQuest(57413) # Commanding Aura + sm.sendNext("Good. Prepare yourself.") diff --git a/scripts/quest/q57414e.py b/scripts/quest/q57414e.py new file mode 100755 index 0000000..2c1b5ef --- /dev/null +++ b/scripts/quest/q57414e.py @@ -0,0 +1,33 @@ + +# Quest: Aura's Origin 1 (57414) +# Author: Tiger + +HAKU = 9130081 + +if sm.hasQuestCompleted(57413) and chr.getLevel() >= 20: # Commanding Aura + sm.removeEscapeButton() + + sm.flipSpeaker() + sm.flipDialoguePlayerAsSpeaker() + sm.setBoxChat() + sm.sendNext("I'm exhausted. How does Kenshin take out hundreds of soldiers at a time? I didn't find the energy source either. Maybe it's not here.") + + sm.setSpeakerID(HAKU) + sm.setBoxChat() + sm.sendSay("No. Trust me, it's here.") + + sm.flipSpeaker() + sm.flipDialoguePlayerAsSpeaker() + sm.setBoxChat() + sm.sendSay("How can you be so sure?") + + sm.setSpeakerID(HAKU) + sm.setBoxChat() + sm.sendSay("Kanna, I'm a fox.") + + sm.flipSpeaker() + sm.flipDialoguePlayerAsSpeaker() + sm.setBoxChat() + sm.sendSay("...Regardless, the energy was much stronger here than at Momijigaoka. ") + + sm.completeQuest(57414) # Aura's Origin 1 diff --git a/scripts/quest/q57414s.py b/scripts/quest/q57414s.py new file mode 100755 index 0000000..987c5b4 --- /dev/null +++ b/scripts/quest/q57414s.py @@ -0,0 +1,36 @@ + +# Quest: Aura's Origin 1 (57414) +# Author: Tiger + +HAKU = 9130081 + +if sm.hasQuestCompleted(57413) and chr.getLevel() >= 20: # Commanding Aura + sm.removeEscapeButton() + + if sm.getFieldID() != 807020000: # Momijigaoka : Momijigahara 1 + sm.flipSpeaker() + sm.flipDialoguePlayerAsSpeaker() + sm.setBoxChat() + sm.sendNext("I must hurry to #b#m807020000##k.") + + sm.setSpeakerID(HAKU) + sm.setBoxChat() + sm.sendSay("#b#m807020000##k is right over there.") + + # TODO: Show direction to -> # Momijigaoka : Momijigahara 1 (807020000) + else: + sm.flipSpeaker() + sm.flipDialoguePlayerAsSpeaker() + sm.setBoxChat() + sm.sendNext("This is Momijigahara. Oda's Army is already building a camp. They move faster than I imagined. Monotari's intuition may have saved us.") + + sm.setSpeakerID(HAKU) + sm.setBoxChat() + sm.sendSay("The energy's stronger here. Don't you just wanna lick it?") + + sm.flipSpeaker() + sm.flipDialoguePlayerAsSpeaker() + sm.setBoxChat() + sm.sendSay("Oda's army must have brought something with them to generate this much energy. I have to find the source. I won't stop until I've defeated 50 soldiers. One of them must carry the energy.") + + sm.startQuest(57414) # Aura's Origin 1 diff --git a/scripts/quest/q57415e.py b/scripts/quest/q57415e.py new file mode 100755 index 0000000..fed011e --- /dev/null +++ b/scripts/quest/q57415e.py @@ -0,0 +1,37 @@ + +# Quest: Aura's Origin 2 (57415) +# Author: Tiger + +HAKU = 9130081 + +if sm.hasQuestCompleted(57414) and chr.getLevel() >= 21: # Aura's Origin 1 + if sm.hasItem(4033274): # Mysterious Foxtail + sm.removeEscapeButton() + + sm.flipSpeaker() + sm.flipDialoguePlayerAsSpeaker() + sm.setBoxChat() + sm.sendNext("Yes! I was right. Do you feel it?") + + sm.setSpeakerID(HAKU) + sm.setBoxChat() + sm.sendSay("Look at that. Energy coming from a foxtail. Now do you believe in my mystical powers?") + + sm.flipSpeaker() + sm.flipDialoguePlayerAsSpeaker() + sm.setBoxChat() + sm.sendSay("This isn't your tail is it?") + + sm.setSpeakerID(HAKU) + sm.setBoxChat() + sm.sendSay("Kanna, look at my tail. Bushy, magnificent, fully intact... Does it really look like that thing came from me? Besides, my tail is green... isn't it? I can't tell, I'm colorblind.") + + sm.flipSpeaker() + sm.flipDialoguePlayerAsSpeaker() + sm.setBoxChat() + sm.sendSay("You... seriously? Let's just get this back to the base to study it.") + + sm.consumeItem(4033274) # Mysterious Foxtail + sm.completeQuest(57415) # Aura's Origin 2 + + # Start Navigation to -> Momijigaoka : Momijigaoka (807000000) diff --git a/scripts/quest/q57417e.py b/scripts/quest/q57417e.py new file mode 100755 index 0000000..c04399a --- /dev/null +++ b/scripts/quest/q57417e.py @@ -0,0 +1,34 @@ + +# Quest: Foxtail Mystery (57417) +# Author: Tiger + +MOURI = 9130006 +TSUCHIMIKADO_HARUAKI = 9130010 + +if sm.hasQuestCompleted(57415) and chr.getLevel() >= 21: # Aura's Origin 2 + sm.removeEscapeButton() + + sm.setSpeakerID(TSUCHIMIKADO_HARUAKI) + sm.setBoxChat() + sm.sendNext("Hmm? Why the surprised looks? Kanna! I've been meaning to speak with you. Good job at Honnou-ji. You must have completed your mission with flying colors. That's my Spirit Walker.") + + sm.setSpeakerID(MOURI) + sm.setBoxChat() + sm.sendSay("Haruaki... How did you inhabit the foxtail?") + + sm.setSpeakerID(TSUCHIMIKADO_HARUAKI) + sm.setBoxChat() + sm.sendSay("It's quite a long story. I arrived here before any of you. During the raid on Honnou-ji, I was somehow transported here at the same time as Nobunaga and his men.") + sm.sendSay("I disguised myself as a number of foxtails to avoid being discovered by Oda's Army, but his soldiers took a liking to me and brought me straight into their camp.") + sm.sendSay("If it wasn't for Kanna, I would be probably be part of a lovely coat by now.") + + sm.setSpeakerID(HAKU) + sm.setBoxChat() + sm.sendSay("You know what they say: when in doubt, act as a fox would.") + + sm.flipSpeaker() + sm.flipDialoguePlayerAsSpeaker() + sm.setBoxChat() + sm.sendSay("That's not a saying, Haku.") + + sm.completeQuest(57417) # Foxtail Mystery diff --git a/scripts/quest/q57417s.py b/scripts/quest/q57417s.py new file mode 100755 index 0000000..0c6ffc6 --- /dev/null +++ b/scripts/quest/q57417s.py @@ -0,0 +1,46 @@ + +# Quest: Foxtail Mystery (57417) +# Author: Tiger + +MOURI = 9130006 +TAKEDA = 9130000 +UESUGI_KENSHIN = 9130009 + +if sm.hasQuestCompleted(57415) and chr.getLevel() >= 21: # Aura's Origin 2 + sm.removeEscapeButton() + + sm.setSpeakerID(MOURI) + sm.setBoxChat() + sm.sendNext("Good work, Kanna.") + + sm.flipSpeaker() + sm.flipDialoguePlayerAsSpeaker() + sm.setBoxChat() + sm.sendSay("I felt a mysterious energy coming from Momijigahara and couldn't resist seeking it out. I apologize.") + + sm.setSpeakerID(MOURI) + sm.setBoxChat() + sm.sendSay("No need to apologize. You begin to show promise, Kanna. I would not have expected such success from the bumbling dog that came to me to train. Keep it up and you may yet prove useful.") + + sm.flipSpeaker() + sm.flipDialoguePlayerAsSpeaker() + sm.setBoxChat() + sm.sendSay("Thank you. Motonari. I found this on the battlefield. It emits an unusual energy. I was hoping you might recognize it.") + + sm.setSpeakerID(MOURI) + sm.setBoxChat() + sm.sendSay("Ah, a white foxtail. This is strange. I've seen this before. Warriors from the raid returned with similar tails.") + sm.sendSay("Kenshin, Shingen. Do either of you have any idea what power this object holds?") + + sm.setSpeakerID(UESUGI_KENSHIN) + sm.setBoxChat() + sm.sendSay("Unless that thing's a lot sharper than it looks, I don't see the danger.") + + sm.setSpeakerID(TAKEDA) + sm.setBoxChat() + sm.sendSay("It's so silky and voluminous. It must be incredibly powerful.") + + sm.setSpeakerID(MOURI) + sm.setBoxChat() + if sm.sendAskAccept("So you know nothing. Then we'll have to gather up all the foxtails we can find and experiment."): + sm.startQuest(57417) # Foxtail Mystery diff --git a/scripts/quest/q57418e.py b/scripts/quest/q57418e.py new file mode 100755 index 0000000..cd992cf --- /dev/null +++ b/scripts/quest/q57418e.py @@ -0,0 +1,37 @@ + +# Quest: Picking up the Pieces (57418) +# Author: Tiger + +TSUCHIMIKADO_HARUAKI = 9130010 + +if sm.hasQuestCompleted(57417) and chr.getLevel() >= 22: # Foxtail Mystery + sm.removeEscapeButton() + + sm.setSpeakerID(TSUCHIMIKADO_HARUAKI) + sm.setBoxChat() + sm.sendNext("Princess Sakuno is not among us.") + + sm.flipSpeaker() + sm.flipDialoguePlayerAsSpeaker() + sm.setBoxChat() + sm.sendSay("Yes. Unfortunately, we don't know where she is. Nobunaga's forces may have found her first.") + + sm.setSpeakerID(TSUCHIMIKADO_HARUAKI) + sm.setBoxChat() + sm.sendSay("Worry not. They need her alive just as much as we do. The ritual requires the blood of her lineage. After the ritual...") + + sm.flipSpeaker() + sm.flipDialoguePlayerAsSpeaker() + sm.setBoxChat() + sm.sendSay("We won't let them get that far.") + + sm.setSpeakerID(TSUCHIMIKADO_HARUAKI) + sm.setBoxChat() + sm.sendSay("I trust in your abilities, Kanna, but do not stretch yourself too thin. I fear the fates of Princess Sakuno and Nobunaga will rest on your shoulders before this is over, and if that time should come, you must be ready.") + + sm.flipSpeaker() + sm.flipDialoguePlayerAsSpeaker() + sm.setBoxChat() + sm.sendSay("Princess Sakuno won't have to endure Nobunaga's wretched grasp much longer.") + + sm.completeQuest(57418) # Picking up the Pieces diff --git a/scripts/quest/q57418s.py b/scripts/quest/q57418s.py new file mode 100755 index 0000000..827a42e --- /dev/null +++ b/scripts/quest/q57418s.py @@ -0,0 +1,50 @@ + +# Quest: Picking up the Pieces (57418) +# Author: Tiger + +MOURI = 9130006 +TAKEDA = 9130000 +UESUGI_KENSHIN = 9130009 +TSUCHIMIKADO_HARUAKI = 9130010 + +if sm.hasQuestCompleted(57417) and chr.getLevel() >= 22: # Foxtail Mystery + sm.removeEscapeButton() + + sm.setSpeakerID(TSUCHIMIKADO_HARUAKI) + sm.setBoxChat() + sm.sendNext("I'm sure you all have questions about what brought us here.") + + sm.setSpeakerID(UESUGI_KENSHIN) + sm.setBoxChat() + sm.sendSay("Please, Haruaki, enlighten us. Don't spare the details.") + + sm.setSpeakerID(TSUCHIMIKADO_HARUAKI) + sm.setBoxChat() + sm.sendSay("I'll start with the true purpose of Oda Nobunaga's ritual.") + sm.sendSay("Nobunaga sought to conjure the Sixth Sky Demon Lord from the Demon Skies. Just as this world is different from Japan, so are the Demon Skies. And just as we are now in contact with this world, it is possible to make contact with the Demon Skies through an ancient ritual.") + sm.sendSay("When Nobunaga discovered the Demon Skies, he devised a plan to create a portal from Japan and bring the Sixth Sky Demon Lord into our world.") + sm.sendSay("This is why I launched the mission at Honnou-ji. Thanks to your efforts, Nobunaga's ritual was interrupted.") + sm.sendSay("However, what happened next, none could have foreseen. The gate to the Demon Skies warped when we cut short the ritual, and we were transported here instead.") + + sm.setSpeakerID(TAKEDA) + sm.setBoxChat() + sm.sendSay("This place is bad, but something tells me the Demon Skies would have been worse.") + + sm.setSpeakerID(UESUGI_KENSHIN) + sm.setBoxChat() + sm.sendSay("Whatever world Nobunaga chooses to inhabit, we'll be there to meet him with swords drawn.") + + sm.setSpeakerID(MOURI) + sm.setBoxChat() + sm.sendSay("But before we draw swords, we must recover our skills. We're all weak. The alliance must shine with the light of a thousand suns before we face Nobunaga.") + + sm.setSpeakerID(TAKEDA) + sm.setBoxChat() + sm.sendSay("I don't know about everyone else, but my hair's at full power.") + + sm.setSpeakerID(TSUCHIMIKADO_HARUAKI) + sm.setBoxChat() + sm.sendSay("We'll create the strongest alliance this world has ever seen.") + sm.sendSay("Kanna, I'd like to talk to you privately.") + + sm.startQuest(57418) # Picking up the Pieces diff --git a/scripts/quest/q57420e.py b/scripts/quest/q57420e.py new file mode 100755 index 0000000..d5def5a --- /dev/null +++ b/scripts/quest/q57420e.py @@ -0,0 +1,36 @@ + +# Quest: First Contact (57420) +# Author: Tiger + +KINO_KONOKO = 9110002 + +if sm.hasQuestCompleted(57419) and chr.getLevel() >= 23: # Native Help + sm.removeEscapeButton() + + sm.flipSpeaker() + sm.flipDialoguePlayerAsSpeaker() + sm.setBoxChat() + sm.sendNext("Could you point me to the nearest shogun? I'm a skilled Spirit Walker and I would like to offer my services.") + + sm.setSpeakerID(KINO_KONOKO) + sm.setBoxChat() + sm.sendSay("Shogun? I think you mean...Empress Cygnus? She's in Ereve. I don't know that she'll appreciate you spirit walking near Shinsoo though.") + + sm.flipSpeaker() + sm.flipDialoguePlayerAsSpeaker() + sm.setBoxChat() + sm.sendSay("Excuse my ignorance, but what is Ereve?") + + sm.setSpeakerID(KINO_KONOKO) + sm.setBoxChat() + sm.sendSay("Ereve is an island, silly.") + sm.sendSay("Are you sure you're from Maple World?") + sm.sendSay("I'm just kidding. Besides that, I've heard Edelstein is nice this time of year. Oh, wait. You weren't asking about vacation areas were you? You need to sharpen your sword or something?") + + sm.flipSpeaker() + sm.flipDialoguePlayerAsSpeaker() + sm.setBoxChat() + sm.sendSay("Maple World. So that's what they call it.") + sm.sendSay("Thank you for your help. I will go to your Empress.") + + sm.completeQuest(57420) # First Contact diff --git a/scripts/quest/q57420s.py b/scripts/quest/q57420s.py new file mode 100755 index 0000000..cd74056 --- /dev/null +++ b/scripts/quest/q57420s.py @@ -0,0 +1,34 @@ + +# Quest: First Contact (57420) +# Author: Tiger + +KINO_KONOKO = 9110002 + +if sm.hasQuestCompleted(57419) and chr.getLevel() >= 23: # Native Help + sm.removeEscapeButton() + + sm.setSpeakerID(KINO_KONOKO) + sm.setBoxChat() + sm.sendNext("Where are you from? I like your clothes!") + + sm.flipSpeaker() + sm.flipDialoguePlayerAsSpeaker() + sm.setBoxChat() + sm.sendSay("Thank you. I like your... broom.") + + sm.flipSpeaker() + sm.flipDialoguePlayerAsSpeaker() + sm.setBoxChat() + sm.sendSay("I come from a faraway, rural area by the coast... An island, actually. This might sound strange, but have you seen anything odd happening around here?") + + sm.setSpeakerID(KINO_KONOKO) + sm.setBoxChat() + sm.sendSay("Hmm... Come to think of it, there has been more dirt lately. So much I can't keep up! I'm stuck here sweeping this one spot and it never gets clean.") + sm.sendSay("Beyond that, everything seems normal. There's a storm near the Mushroom Shrine. That doesn't happen very often.") + + sm.flipSpeaker() + sm.flipDialoguePlayerAsSpeaker() + sm.setBoxChat() + sm.sendSay("Nobunaga must not have made contact yet. He doesn't know we're here.") + + sm.startQuest(57420) # First Contact diff --git a/scripts/quest/q57427s.py b/scripts/quest/q57427s.py new file mode 100755 index 0000000..c830216 --- /dev/null +++ b/scripts/quest/q57427s.py @@ -0,0 +1,25 @@ + +# Quest: Audience with the Empress (57427) +# Author: Tiger + +NEINHEART = 1101002 + +if sm.hasQuestCompleted(57421) and chr.getLevel() >= 23: # To Ereve + sm.removeEscapeButton() + + sm.setSpeakerID(NEINHEART) + sm.setBoxChat() + sm.sendNext("I received Hersha's report. You helped out a great deal in Ellinia. For that, I thank you.") + if sm.sendAskAccept("Hersha's report was a bit light on details, so I was hoping you could fill in the blanks."): + sm.startQuest(57427) # Audience with the Empress + + sm.flipSpeaker() + sm.flipDialoguePlayerAsSpeaker() + sm.setBoxChat() + sm.sendNext("(You explained your monster fighting rampage in Ellinia, and that the Spirit Walkers of Oda's Army were involved in the incident.)") + + sm.setSpeakerID(NEINHEART) + sm.setBoxChat() + sm.sendSay("The plot thickens. One would expect the Black Wings to be behind something like this, but if what you say is true, we've got a new clan to worry about. Oda's Army, you say?") + sm.sendSay("The Empress must hear about this. I'm sorry I didn't grant you an immediate audience. But think about it this way: you had time to gather evidence and create a compelling case.") + sm.sendSay("The Empress is with Shinsoo to the right. Mind your manners.") diff --git a/scripts/quest/q57428s.py b/scripts/quest/q57428s.py new file mode 100755 index 0000000..7931292 --- /dev/null +++ b/scripts/quest/q57428s.py @@ -0,0 +1,17 @@ + +# Quest: Scaling the El Nath Mountains (57428) +# Author: Tiger + +NEINHEART = 1101002 + +if sm.hasQuestCompleted(57427) and chr.getLevel() >= 24: # Audience with the Empress + sm.removeEscapeButton() + + sm.setSpeakerID(NEINHEART) + sm.setBoxChat() + sm.sendNext("It's been a while, Kanna. I'm sorry to burden you like this, but there is an urgent matter we must discuss.") + sm.sendSay("You've no doubt heard of the continent of Orbis. If not, just look at a map. Traces of Oda's Army have been popping up near a town called El Nath. The enemies in question all match the descriptions you provided, so I'm sure they belong to Oda's Army.") + sm.sendSay("It seems your mysterious foe's schemes are beginning to spread across Maple World.") + if sm.sendAskAccept("Please hurry to El Nath. In my experience, it's important to quell these problems as early as possible. Alcaster in El Nath will provide further details."): + sm.startQuest(57428) # Scaling the El Nath Mountains + # TODO: jav to -> Empress' Road : Sky Ferry (130000210) diff --git a/scripts/quest/q57429s.py b/scripts/quest/q57429s.py new file mode 100755 index 0000000..d924791 --- /dev/null +++ b/scripts/quest/q57429s.py @@ -0,0 +1,50 @@ + +# Quest: To Each His Own (57429) +# Author: Tiger + +NAOE_KANESTSUGU = 9130022 +HAKU = 9130081 + +if sm.hasQuestCompleted(57428) and chr.getLevel() >= 25: # Scaling the El Nath Mountains + sm.removeEscapeButton() + + sm.setSpeakerID(NAOE_KANESTSUGU) + sm.setBoxChat() + sm.sendNext("What a coincidence! You've been so busy with all your missions I thought I'd never see you again. And you've grown stronger too. I can sense it. What's the tally at?") + + sm.flipSpeaker() + sm.flipDialoguePlayerAsSpeaker() + sm.setBoxChat() + sm.sendSay("Kanetsugu! What brings you to such a faraway place? I haven't been counting, but if I had to guess, I'd say... Five thousand dead?") + + + sm.setSpeakerID(NAOE_KANESTSUGU) + sm.setBoxChat() + sm.sendSay("Five thousand? Your powers truly have returned. And you've far surpassed my pitiful 4,000. Haruaki ordered me to collect info from various places in Maple World. I was just on my way to Aqua Road. Apparently they can make roads out of water here.") + sm.sendSay("But if I must walk on water to fulfill Kenshin's vision, then walk on water I will! Nobunaga will fall by my hands, and Kenshin will love me for it.") + + sm.setSpeakerID(HAKU) + sm.setBoxChat() + sm.sendSay("Does he really believe you killed 5,000 soldiers? Ha. How about 500.") + + sm.flipSpeaker() + sm.flipDialoguePlayerAsSpeaker() + sm.setBoxChat() + sm.sendSay("Shush, Haku. Yes, Kanetsugu! We must show the alliance what we're made of! If Kenshin saw you here, I know she'd be proud.") + + sm.setSpeakerID(NAOE_KANESTSUGU) + sm.setBoxChat() + if sm.sendAskAccept("Sniff... Thank you Kanna. Good luck on your mission! I trust your tally will have doubled by the time we meet again."): + sm.sendNext("For Kenshin!") + + sm.setSpeakerID(HAKU) + sm.setBoxChat() + sm.sendSay("He runs around the battlefield screaming her name and still he defeats more enemies than you.") + + sm.flipSpeaker() + sm.flipDialoguePlayerAsSpeaker() + sm.setBoxChat() + sm.sendSay("With my powers recovered, I'll catch up in no time. Besides, I've got your divine fox hair all over my clothes. There's no way I can lose with that...") + + sm.startQuest(57429) # To Each His Own + # direction nav to -> El Nath : El Nath (211000000) diff --git a/scripts/quest/q57433e.py b/scripts/quest/q57433e.py new file mode 100755 index 0000000..b8bc176 --- /dev/null +++ b/scripts/quest/q57433e.py @@ -0,0 +1,32 @@ + +# Quest: Fact or Fiction (57433) +# Author: Tiger + +ALCASTER = 2020005 + +if sm.hasQuestCompleted(57429) and chr.getLevel() >= 26: # To Each His Own + sm.removeEscapeButton() + + sm.setSpeakerID(ALCASTER) + sm.setBoxChat() + if sm.sendAskYesNo("Did you finish your investigation?"): + sm.completeQuest(57433) # Fact or Fiction + + sm.flipSpeaker() + sm.flipDialoguePlayerAsSpeaker() + sm.setBoxChat() + sm.sendNext("Yes. Nobunaga was indeed involved. He used spells to provoke the monsters from afar. He must know I'm tracking him.") + sm.sendSay("I also found rabbit-like people in black garb gathered around Nobunaga's men. Who could they be?") + + sm.setSpeakerID(ALCASTER) + sm.setBoxChat() + sm.sendSay("That's the Black Wings. Your friends attract a rough crowd. Nothing good can come of this alliance.") + + sm.flipSpeaker() + sm.flipDialoguePlayerAsSpeaker() + sm.setBoxChat() + sm.sendSay("I must bring word to Momijigaoka. Thank you for all your help.") + + sm.setSpeakerID(ALCASTER) + sm.setBoxChat() + sm.sendSay("I should be thanking you! Farewell.") diff --git a/scripts/quest/q57433s.py b/scripts/quest/q57433s.py new file mode 100755 index 0000000..7a2e9af --- /dev/null +++ b/scripts/quest/q57433s.py @@ -0,0 +1,22 @@ + +# Quest: Fact or Fiction (57433) +# Author: Tiger + +ALCASTER = 2020005 + +if sm.hasQuestCompleted(57429) and chr.getLevel() >= 26: # To Each His Own + sm.removeEscapeButton() + + sm.setSpeakerID(ALCASTER) + sm.setBoxChat() + sm.sendNext("I'm sorry I waited so long to tell you, but the monsters had to be taken care of. Your friends are preparing for some sort of ritual. One of them has an outfit just like yours, only black.") + + sm.flipSpeaker() + sm.flipDialoguePlayerAsSpeaker() + sm.setBoxChat() + sm.sendSay("Could it be? Mori Ranmaru?") + + sm.setSpeakerID(ALCASTER) + sm.setBoxChat() + if sm.sendAskAccept("There's no telling how long they'll be there. I suggest you hurry."): + sm.startQuest(57433) # Fact or Fiction diff --git a/scripts/quest/q57434e.py b/scripts/quest/q57434e.py new file mode 100755 index 0000000..86a7a06 --- /dev/null +++ b/scripts/quest/q57434e.py @@ -0,0 +1,43 @@ +# Quest: Deepening Suspicion (57434) +# Author: Tiger + +NAOE_KANESTSUGU = 9130022 +HAKU = 9130081 + +if sm.hasQuestCompleted(57433) and chr.getLevel() >= 26: # Fact or Fiction + sm.removeEscapeButton() + + sm.setSpeakerID(NAOE_KANESTSUGU) + sm.setBoxChat() + sm.sendNext("Kanna! How did you fare in El Nath?") + + sm.flipSpeaker() + sm.flipDialoguePlayerAsSpeaker() + sm.setBoxChat() + sm.sendSay("(You tell Kanetsugu what happened in El Nath.)") + + sm.setSpeakerID(NAOE_KANESTSUGU) + sm.setBoxChat() + sm.sendSay("I found similar evidence at Aqua Road. Maple World is in trouble.") + if sm.sendAskAccept("You're on a roll, Kanna. I'll bring word of our findings to Momijigaoka so you can continue to collect information on Nobunaga and the Black Wings. And so I can see Kenshin."): + sm.completeQuest(57434) # Deepening Suspicion + + sm.sendNext("Hold on Kenshin! I'm on my way!") + + sm.setSpeakerID(HAKU) + sm.setBoxChat() + sm.sendSay("I would have taken Shingen over him any day if I were Kenshin.") + + sm.flipSpeaker() + sm.flipDialoguePlayerAsSpeaker() + sm.setBoxChat() + sm.sendSay("He just admires her, Haku.") + + sm.setSpeakerID(HAKU) + sm.setBoxChat() + sm.sendSay("If that's what you want to call it. ") + + sm.flipSpeaker() + sm.flipDialoguePlayerAsSpeaker() + sm.setBoxChat() + sm.sendSay("Being Kenshin wouldn't be so bad...") diff --git a/scripts/quest/q57434s.py b/scripts/quest/q57434s.py new file mode 100755 index 0000000..a6ffa66 --- /dev/null +++ b/scripts/quest/q57434s.py @@ -0,0 +1,48 @@ + +# Quest: Deepening Suspicion (57434) +# Author: Tiger + +HAKU = 9130081 + +if sm.hasQuestCompleted(57433) and chr.getLevel() >= 26: # Fact or Fiction + sm.removeEscapeButton() + + sm.setSpeakerID(HAKU) + sm.setBoxChat() + sm.sendNext("So Empress Cygnus was right. Nobunaga is finding friends in this world, just like us.") + + sm.flipSpeaker() + sm.flipDialoguePlayerAsSpeaker() + sm.setBoxChat() + sm.sendSay("This is bigger than we thought.") + + sm.setSpeakerID(HAKU) + sm.setBoxChat() + sm.sendSay("Nobunaga's all about the spectacle. If he's going to enact an evil scheme, he wants the world to know it. Evil auras, menacing monsters, fireworks: the whole shebang.") + + sm.flipSpeaker() + sm.flipDialoguePlayerAsSpeaker() + sm.setBoxChat() + sm.sendSay("He's never been known to ally with others though. There must be some reason he needs all that power.") + sm.sendSay("He's even incorporated the monsters into his plans.") + + sm.setSpeakerID(HAKU) + sm.setBoxChat() + sm.sendSay("Maybe to understand the bad guy... we have to become the bad guy...") + + sm.flipSpeaker() + sm.flipDialoguePlayerAsSpeaker() + sm.setBoxChat() + sm.sendSay("That's a horrible idea. Mori Ranmaru manages the Oda Army's Spirit Walker. He must play a large part in all of this as well.") + + sm.setSpeakerID(HAKU) + sm.setBoxChat() + sm.sendSay("Well if you don't like my ideas, you don't have to be so mean about it. Let's just go back to Momijigaoka and ask the others. They'll like my idea.") + + sm.flipSpeaker() + sm.flipDialoguePlayerAsSpeaker() + sm.setBoxChat() + sm.sendSay("That's better. First, let's go to Orbis to try and intercept Kanetsugu.") + + sm.startQuest(57434) # Deepening Suspicion + sm.warp(200000000, 19) # Orbis : Orbis diff --git a/scripts/quest/q57435e.py b/scripts/quest/q57435e.py new file mode 100755 index 0000000..ab93ef1 --- /dev/null +++ b/scripts/quest/q57435e.py @@ -0,0 +1,29 @@ + +# Quest: An Eye on Honnou-ji (57435) +# Author: Tiger + +TSUCHIMIKADO_HARUAKI = 9130010 +TAKEDA = 9130000 +MOURI = 9130006 +UESUGI_KENSHIN = 9130009 + +if sm.hasQuestCompleted(57474) and chr.getLevel() >= 27: # Family Seal + sm.removeEscapeButton() + + sm.setSpeakerID(TAKEDA) + sm.setBoxChat() + sm.sendNext("Nothing major. I just think we've got some pretty elite warriors here. Why not send in a small group to infiltrate?") + + sm.setSpeakerID(MOURI) + sm.setBoxChat() + sm.sendSay("It would be prudent to execute a precision strike. If we send three people, we only lose three people.") + + sm.setSpeakerID(UESUGI_KENSHIN) + sm.setBoxChat() + sm.sendSay("This plan illustrates a nuanced understanding of strategy. Surely Shingen didn't come up with this by himself.") + + sm.setSpeakerID(TAKEDA) + sm.setBoxChat() + sm.sendSay("Whoever thought of it, we can all agree it's the only option. Let us prepare for the Honnou-ji-infiltration-rescue-Princess Sakuno mission!") + + sm.completeQuest(57435) # An Eye on Honnou-ji diff --git a/scripts/quest/q57435s.py b/scripts/quest/q57435s.py new file mode 100755 index 0000000..ad70111 --- /dev/null +++ b/scripts/quest/q57435s.py @@ -0,0 +1,41 @@ + +# Quest: An Eye on Honnou-ji (57435) +# Author: Tiger + +TSUCHIMIKADO_HARUAKI = 9130010 +TAKEDA = 9130000 + +if sm.hasQuestCompleted(57474) and chr.getLevel() >= 27: # Family Seal + sm.removeEscapeButton() + + sm.setSpeakerID(TSUCHIMIKADO_HARUAKI) + sm.setBoxChat() + sm.sendNext("Our scouts sighted Princess Sakuno imprisoned deep within the eastern wing of Honnou-ji. Unfortunately, she's under tight watch. For what it's worth, the scouts said she looks healthy.") + + sm.flipSpeaker() + sm.flipDialoguePlayerAsSpeaker() + sm.setBoxChat() + sm.sendSay("We must break her free of Nobunaga's shackles immediately.") + + sm.setSpeakerID(TSUCHIMIKADO_HARUAKI) + sm.setBoxChat() + sm.sendSay("No, we don't have the strength yet. Both you and our military need more time to recover. We've made allies in this world, but we can't draw them in just yet or we risk fighting Nobunaga with exhausted forces.") + + sm.flipSpeaker() + sm.flipDialoguePlayerAsSpeaker() + sm.setBoxChat() + sm.sendSay("But, Haruaki!") + + sm.setSpeakerID(TAKEDA) + sm.setBoxChat() + sm.sendSay("I'm just gonna butt in here for a sec. Haruaki knows his stuff. We can't risk our forces for one person, even if it is Princes Sakuno. But there may still be a way.") + + sm.setSpeakerID(TSUCHIMIKADO_HARUAKI) + sm.setBoxChat() + sm.sendSay("You have a plan, Shingen?") + + sm.setSpeakerID(TAKEDA) + sm.setBoxChat() + sm.sendSay("You bet your bangs I do.") + + sm.startQuest(57435) # An Eye on Honnou-ji diff --git a/scripts/quest/q57436s.py b/scripts/quest/q57436s.py new file mode 100755 index 0000000..d95909c --- /dev/null +++ b/scripts/quest/q57436s.py @@ -0,0 +1,76 @@ + +# Quest: Honnou-ji Infiltration 1 (57436) +# Author: Tiger + +TSUCHIMIKADO_HARUAKI = 9130010 +TAKEDA = 9130000 +MOURI = 9130006 +UESUGI_KENSHIN = 9130009 +NAOE_KANESTSUGU = 9130022 + +if sm.hasQuestCompleted(57435) and chr.getLevel() >= 28: # An Eye on Honnou-ji + sm.removeEscapeButton() + + sm.setSpeakerID(TAKEDA) + sm.setBoxChat() + sm.sendNext("I was just going to call it Honnou-ji Infiltration... What does everyone think about entering through the western Honnou-ji walls?") + + sm.setSpeakerID(MOURI) + sm.setBoxChat() + sm.sendSay("Why not attack from the east? Our foes won't expect us to strike at the same place we did during the original Honnou-ji Raid.") + + sm.setSpeakerID(TAKEDA) + sm.setBoxChat() + sm.sendSay("Oh. Hold on a second. Ngh. Nnngaaah. The hair agrees. East wall it is. A tactical approach.") + + sm.setSpeakerID(UESUGI_KENSHIN) + sm.setBoxChat() + sm.sendSay("I say we blast through the wall and take the place by storm instead of slinking around like rats.") + + sm.setSpeakerID(TAKEDA) + sm.setBoxChat() + sm.sendSay("That sounds like a perfect plan if we all want to die a miserable death at the hands of Oda's Army.") + + sm.setSpeakerID(MOURI) + sm.setBoxChat() + sm.sendSay("The valor is appreciated, Kenshin, but Shingen's plan is more practical. We enter through the east wall.") + + sm.setSpeakerID(TAKEDA) + sm.setBoxChat() + sm.sendSay("Only one question remains: who infiltrates?") + + + sm.flipSpeaker() + sm.flipDialoguePlayerAsSpeaker() + sm.setBoxChat() + sm.sendSay("I'll go.") + + sm.setSpeakerID(TAKEDA) + sm.setBoxChat() + sm.sendSay("No. We couldn't afford to lose you. Let Kenshin go.") + + + sm.flipSpeaker() + sm.flipDialoguePlayerAsSpeaker() + sm.setBoxChat() + sm.sendSay("This mission is all about infiltration. Do you really think Kenshin can keep quiet long enough to find Princess Sakuno? I'm nimble, I'm quiet, and I don't wear armor.") + + sm.setSpeakerID(UESUGI_KENSHIN) + sm.setBoxChat() + sm.sendSay("You're right. If I see the enemy, I'm afraid my sword might move of its own accord. You are a brave warrior, Kanna.") + + sm.setSpeakerID(TAKEDA) + sm.setBoxChat() + sm.sendSay("Well, no need to split hairs if we have a volunteer!") + + sm.setSpeakerID(UESUGI_KENSHIN) + sm.setBoxChat() + sm.sendSay("Take Kanetsugu with you. He can watch your back. Kanetsugu! See to it that Kanna returns unscathed.") + + sm.setSpeakerID(NAOE_KANESTSUGU) + sm.setBoxChat() + sm.sendSay("Yes, Kenshin! While I draw breath, Kanna will be safe.") + sm.sendSay("Kanna, I'll go first. I will await your arrival at the eastern Honnou-ji walls. Come when you're ready.") + sm.sendSay("Kenshin, the thought of your beauty will propel my blade.") + + sm.startQuest(57436) # Honnou-ji Infiltration 1 diff --git a/scripts/quest/q57437e.py b/scripts/quest/q57437e.py new file mode 100755 index 0000000..582bb43 --- /dev/null +++ b/scripts/quest/q57437e.py @@ -0,0 +1,23 @@ + +# Quest: Honnou-ji Infiltration 2 (57437) +# Author: Tiger + +NAOE_KANESTSUGU = 9130022 +PRINCESS_SAKUNO = 9130021 + +if sm.hasQuestCompleted(57436) and chr.getLevel() >= 29: # Honnou-ji Infiltration 1 + sm.removeEscapeButton() + + sm.setSpeakerID(NAOE_KANESTSUGU) + sm.setBoxChat() + sm.sendNext("The princess is safe!") + + sm.setSpeakerID(PRINCESS_SAKUNO) + sm.setBoxChat() + sm.sendSay("Thank you for your valiant efforts. I was growing tired of this prison of boredom. Nobunaga doesn't know how to treat a guest.") + + sm.setSpeakerID(NAOE_KANESTSUGU) + sm.setBoxChat() + if sm.sendAskAccept("Please save your thanks for when we are safe, your highness. My spirit would burn in eternal shame should any harm befall you before then."): + sm.completeQuest(57437) # Honnou-ji Infiltration 2 + # Start Navigation to -> Momijigaoka : Momijigaoka (807000000) diff --git a/scripts/quest/q57439s.py b/scripts/quest/q57439s.py new file mode 100755 index 0000000..1fdbb6c --- /dev/null +++ b/scripts/quest/q57439s.py @@ -0,0 +1,66 @@ + +# Quest: Internal Affairs (57439) +# Author: Tiger + +PRINCESS_SAKUNO = 9130021 +TSUCHIMIKADO_HARUAKI = 9130010 +TAKEDA = 9130000 +MOURI = 9130006 +UESUGI_KENSHIN = 9130009 + +if sm.hasQuestCompleted(57437) and chr.getLevel() >= 30: # Honnou-ji Infiltration 2 + sm.removeEscapeButton() + + sm.setSpeakerID(TSUCHIMIKADO_HARUAKI) + sm.setBoxChat() + sm.sendNext("Ah, hello there, little princess. I see you've escaped the big, bad wolf.") + + sm.setSpeakerID(PRINCESS_SAKUNO) + sm.setBoxChat() + sm.sendSay("Ah Haruaki. You are your usual jovial self. Enjoying all this turmoil?") + + sm.setSpeakerID(TSUCHIMIKADO_HARUAKI) + sm.setBoxChat() + sm.sendSay("I was only a fool the last time we met, dearest princess. I am honored that you still remember me.") + + sm.setSpeakerID(PRINCESS_SAKUNO) + sm.setBoxChat() + sm.sendSay("Judging by the lion's mane and foul odor, I will assume you are the Tiger, Takeda Shingen. Meaning this stunning beauty will be the Dragon of Echigo, Uesugi Kenshin. That leaves the mastermind, Mouri Motonari. Your presence is as commanding as I had heard. ") + sm.sendSay("I am Matsuyama Sakuno, eldest daughter of Matsuyama Nobukane, and acting head of the clans. ") + + sm.setSpeakerID(TAKEDA) + sm.setBoxChat() + sm.sendSay("Your old man would be proud to see his little girl take to power so quickly.") + + sm.setSpeakerID(UESUGI_KENSHIN) + sm.setBoxChat() + sm.sendSay("It is a pleasure to meet you, your highness. The Uesugi clan is at your disposal.") + + sm.setSpeakerID(MOURI) + sm.setBoxChat() + sm.sendSay("I apologize for the humble surroundings, your highness. Please make yourself at home.") + + sm.setSpeakerID(TAKEDA) + sm.setBoxChat() + sm.sendSay("(Her eyes are like fire for a girl her age. She truly is the daughter of the Shogun...)") + + sm.setSpeakerID(UESUGI_KENSHIN) + sm.setBoxChat() + sm.sendSay("(She commands such power.)") + + sm.setSpeakerID(MOURI) + sm.setBoxChat() + sm.sendSay("(Perhaps she has the capacity to lead this group.)") + + sm.setSpeakerID(TSUCHIMIKADO_HARUAKI) + sm.setBoxChat() + sm.sendSay("Your highness, did you happen to learn anything about Nobunaga while you were in his custody? Our information is severely lacking.") + + sm.setSpeakerID(PRINCESS_SAKUNO) + sm.setBoxChat() + sm.sendSay("He has been surrounded by spirit walkers and conjurers of all sorts, but I have seen nothing out of the ordinary. The only person I spoke to was the guardsman who delivered my meals.") + + sm.setSpeakerID(TSUCHIMIKADO_HARUAKI) + sm.setBoxChat() + if sm.sendAskAccept("He's surrounded himself with power. Impenetrable. Kanna, perhaps you have more questions for the princess?"): + sm.startQuest(57439) # Internal Affairs diff --git a/scripts/quest/q57458s.py b/scripts/quest/q57458s.py new file mode 100755 index 0000000..145fd75 --- /dev/null +++ b/scripts/quest/q57458s.py @@ -0,0 +1,2 @@ +sm.completeQuest(57458) +sm.jobAdvance(4210) \ No newline at end of file diff --git a/scripts/quest/q57459s.py b/scripts/quest/q57459s.py new file mode 100755 index 0000000..90e73f2 --- /dev/null +++ b/scripts/quest/q57459s.py @@ -0,0 +1,2 @@ +sm.completeQuest(57459) +sm.jobAdvance(4211) \ No newline at end of file diff --git a/scripts/quest/q57460s.py b/scripts/quest/q57460s.py new file mode 100755 index 0000000..3f53e2d --- /dev/null +++ b/scripts/quest/q57460s.py @@ -0,0 +1,2 @@ +sm.completeQuest(57460) +sm.jobAdvance(4212) \ No newline at end of file diff --git a/scripts/quest/q57465s.py b/scripts/quest/q57465s.py new file mode 100755 index 0000000..6ceff64 --- /dev/null +++ b/scripts/quest/q57465s.py @@ -0,0 +1,13 @@ +# id 57465 (Lost Memories Found), field 807000000 +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(9130006) # Mouri Motonari +sm.sendNext("#face0#Kanna, your strength returns. I am nothing short of amazed at your fervor. Both Japan and Maple World shall remember your name.") +sm.sendSay("#face0#Kanna, I'm thankful for your dedication. Your loyalty was... unexpected.") +sm.sendSay("#face0#I'm glad you're on my side, Kanna.") +sm.startQuest(7081) +sm.startQuest(parentID) +sm.completeQuestNoCheck(parentID) +sm.createQuestWithQRValue(18418, "B=32966") +sm.warp(270010111) diff --git a/scripts/quest/q57474s.py b/scripts/quest/q57474s.py new file mode 100755 index 0000000..1b4ea57 --- /dev/null +++ b/scripts/quest/q57474s.py @@ -0,0 +1,21 @@ +# Quest: Family Seal (57474) +# Author: Tiger + +TSUCHIMIKADO_HARUAKI = 9130010 + +if sm.hasQuestCompleted(57434) and chr.getLevel() >= 27: # Deepening Suspicion + sm.removeEscapeButton() + + sm.setSpeakerID(TSUCHIMIKADO_HARUAKI) + sm.setBoxChat() + sm.sendNext("Kanna, return to Momijigaoka the moment you receive this letter. We have discovered Princess Sakuno's whereabouts.") + + sm.flipSpeaker() + sm.flipDialoguePlayerAsSpeaker() + sm.setBoxChat() + if sm.sendAskAccept("The princess! I must return to Momijigaoka immediately."): + sm.startQuest(57474) # Family Seal + sm.giveSkill(40021227) # Return to the Five Planets + + sm.sendNext("#e#bUse #s40021227# #q40021227##k#n to move to #m807000000#.") + # nav -> Momijigaoka : Momijigaoka (807000000) diff --git a/scripts/quest/q5747s.py b/scripts/quest/q5747s.py new file mode 100755 index 0000000..121ae75 --- /dev/null +++ b/scripts/quest/q5747s.py @@ -0,0 +1,10 @@ +# Trainer's Command +sm.sendNext("Do you want to become an elite pet trainer like me? Once you reach my level, it's easy to handle multiple pets at once. What do you think? Are you interested in walking around with multiple pets at once?") + +if sm.sendAskYesNo("If you want to learn how to control a group of pets, then get me some Pet Snacks. I have my own secret method of handling them, and it is foolproof. Are you interested?"): + sm.sendNext("You won't find #bPet Snacks#k at a regular store... but you can find it at a big store, where you can buy a huge variety of items. Find it and return to me!") + sm.startQuest(5747) + sm.dispose() +else: + sm.sendSayOkay("There's no such thing as a free lesson here. I'll give you some time to think over.") + sm.dispose() \ No newline at end of file diff --git a/scripts/quest/q5870e.py b/scripts/quest/q5870e.py new file mode 100755 index 0000000..6886427 --- /dev/null +++ b/scripts/quest/q5870e.py @@ -0,0 +1,12 @@ +# id 5870 ([Maple Rewards] Gollux Annihilation and Golden Glory), field 993017200 +sm.setSpeakerID(9030200) # Worena +sm.setParam(1) +res = sm.sendAskYesNo("Whoa! You defeated the boss monster! \r\nI'll give you some #bReward Tokens#k for ridding Maple World of evil. Do you want them now?") +sm.createQuestWithQRValue(18192, "count=2;val2=40;tDate=19/06/23/11/48;val=90") +sm.createQuestWithQRValue(18192, "count=2;val2=90;tDate=19/06/23/11/48;val=90") +sm.createQuestWithQRValue(18192, "count=3;val2=90;tDate=19/06/23/11/48;val=90") +sm.completeQuestNoCheck(parentID) +sm.createQuestWithQRValue(18442, "HR=0;VE=0;NO=0;GX=1;RM=0;KX=0;EM=0") +sm.setParam(0) +sm.sendNext("#b#i2431872# #t2431872# 50 obtained!#k \r\n\r\nThank you so much for helping us bring a little light back to Maple World.") +sm.sendPrev("If you take these Reward Points to the Cash Shop, you can #bget a discount on cash items#k. \r\n\r\nYou get to save some money AND gain honor by simply doing away with a dangerous boss monster. Two birds with one stone!") diff --git a/scripts/quest/q5871e.py b/scripts/quest/q5871e.py new file mode 100755 index 0000000..037cf38 --- /dev/null +++ b/scripts/quest/q5871e.py @@ -0,0 +1,12 @@ +# id 5871 ([Maple Rewards] Easy Magnus Annihilation and Golden Glory), field 993017200 +sm.setSpeakerID(9030200) # Worena +sm.setParam(1) +res = sm.sendAskYesNo("Whoa! You defeated the boss monster! \r\nI'll give you some #bReward Tokens#k for ridding Maple World of evil. Do you want them now?") +sm.createQuestWithQRValue(18192, "count=3;val2=90;tDate=19/06/23/11/48;val=110") +sm.createQuestWithQRValue(18192, "count=3;val2=110;tDate=19/06/23/11/48;val=110") +sm.createQuestWithQRValue(18192, "count=4;val2=110;tDate=19/06/23/11/48;val=110") +sm.completeQuestNoCheck(parentID) +sm.createQuestWithQRValue(18442, "HR=0;VE=0;NO=0;GX=1;RM=0;KX=0;EM=1") +sm.setParam(0) +sm.sendNext("#b#i2431872# #t2431872# 20 obtained!#k \r\n\r\nThank you so much for helping us bring a little light back to Maple World.") +sm.sendPrev("If you take these Reward Points to the Cash Shop, you can #bget a discount on cash items#k. \r\n\r\nYou get to save some money AND gain honor by simply doing away with a dangerous boss monster. Two birds with one stone!") diff --git a/scripts/quest/q58901e.py b/scripts/quest/q58901e.py new file mode 100755 index 0000000..40ec990 --- /dev/null +++ b/scripts/quest/q58901e.py @@ -0,0 +1,5 @@ +# Regards, Takeda Shingen +# Author: Tiger + +sm.createQuestWithQRValue(58901, "1") +sm.completeQuest(parentID) diff --git a/scripts/quest/q58902e.py b/scripts/quest/q58902e.py new file mode 100755 index 0000000..aa29019 --- /dev/null +++ b/scripts/quest/q58902e.py @@ -0,0 +1,19 @@ +# Regards, Takeda Shingen Questline | Near Momiji Hills 1 (811000001) +# Completes Quest 58902 + +TAKEDA = 9000427 # Takeda Shingen +ITEMID = 4034126 # 100 Spells for the Serious Soldier + +if "3" in sm.getQRValue(58901): # Regards, Takeda Shingen + sm.setSpeakerID(TAKEDA) + + sm.flipDialogue() + sm.sendNext("Not bad, not bad. Thanks.") + + sm.flipDialogue() + sm.sendSay("Let me take a look and I'll surely find a way to lift the spell. Come back later.") + + itemQty = sm.getQuantityOfItem(ITEMID) # TODO: This for some reason doesn't remove all quantites of the item. + + sm.consumeItem(ITEMID, itemQty) + sm.completeQuest(parentID) # Regards, Takeda Shingen diff --git a/scripts/quest/q58902s.py b/scripts/quest/q58902s.py new file mode 100755 index 0000000..d184d09 --- /dev/null +++ b/scripts/quest/q58902s.py @@ -0,0 +1,45 @@ +# Regards, Takeda Shingen (Sengoku Era) Questline | Near Momiji Hills 1 (811000001) +# Author: Tiger + +TAKEDA = 9000427 + +if "1" in sm.getQRValue(58901): # Regards, Takeda Shingen + sm.setSpeakerID(TAKEDA) + + sm.flipDialogue() + sm.sendNext("Good, you're here! I was about to pick another fight") + + sm.flipDialogue() + sm.sendSay("We have a problem, and it's not a lack of conditioner. I'll tell ya that!") + + sm.flipDialogue() + sm.sendSay("That warrior you found is in a coma. Lost their fight with consciousness. I guess. I had a letter somewhere here from Momijigaoka (He smashes boxes and chairs looking for the letter )") + + sm.setQRValue(58901, "2") # Regards, Takeda Shingen + +elif "2" in sm.getQRValue(58901): # Regards, Takeda Shingen + sm.setSpeakerID(TAKEDA) + + sm.flipDialogue() + sm.sendNext("Hm... I don't remember where I left it. It had the instructions on how to lift the spell.. Well, it wasn't that important anyway") + + sm.flipDialogue() + sm.sendSay("Ha ha ha, a real man never sweats over losing such unimportant things!") + + sm.flipDialogue() + sm.sendSay("As I recall, the Oda army is teaching wicked spells to it's soliders. Maybe one of them knocked our new friend out of commission.") + + response = sm.sendAskYesNo("There are a couple things that need to get done to lift the spell.\r\nYou can help, right?") + + if response: + sm.flipDialogue() + sm.sendNext("Ha, I knew you would do it.") + + sm.flipDialogue() + sm.sendSay("First we need to know more about the spells. Eliminate some Oda Warrior Trainee monsters to find clues.") + + sm.flipDialogue() + sm.sendSay("I don't need that many just 30 of them. That should be enough to mash into reason. Now, get to it!") + + sm.setQRValue(58901, "3") # Regards, Takeda Shingen + sm.startQuest(parentID) diff --git a/scripts/quest/q58903e.py b/scripts/quest/q58903e.py new file mode 100755 index 0000000..64b816b --- /dev/null +++ b/scripts/quest/q58903e.py @@ -0,0 +1,20 @@ +# Regards, Takeda Shingen (Sengoku Era) Questline (Stage 2) | Near Momiji Hills 1 (811000001) +# Completes stage 2 of prequest +# Author: Tiger + +TAKEDA = 9000427 +ITEMID = 4034128 # Bitter Resurrection Herb + +sm.setSpeakerID(TAKEDA) + +sm.flipDialogue() +sm.sendNext("Do you have the #i" + str(ITEMID) + "##z" + str(ITEMID) + "#?") + +sm.flipDialogue() +sm.sendSay("Not bad-looking #i" + str(ITEMID) + "##z" + str(ITEMID) + "#, I have to say.\r\nLet's mash it up and make that medicine.") + +sm.flipDialogue() +sm.sendSay("Give me a minute to mix this stuff up. Takes me back to my bartending days.") + +sm.completeQuest(parentID) # completes part 2 of Regards, Takeda Shigen quest +sm.consumeItem(ITEMID, 1) # remove the herb diff --git a/scripts/quest/q58903s.py b/scripts/quest/q58903s.py new file mode 100755 index 0000000..e3b323b --- /dev/null +++ b/scripts/quest/q58903s.py @@ -0,0 +1,37 @@ +# Regards, Takeda Shingen (Sengoku Era) Questline (Stage 2) | Near Momiji Hills 1 (811000001) +# Starts stage 2 of pre-quest +# Author: Tiger + +TAKEDA = 9000427 + +ITEMID = 4034128 # Bitter Resurrection Herb +ITEMID_2 = 4009378 # Contaminated Goblin Detritus + +MAPID_1 = 811000004 # Hidden Field of Momiji Hills 1 +MAPID_2 = 811000005 # Hidden Field of Momiji Hills 2 +MAPID_3 = 811000006 # Hidden Field of Momiji Hills 3 + +MOBID_1 = 9450026 # Contaminated Goblin 1 +MOBID_2 = 9450027 # Contaminated Goblin 2 + +sm.setSpeakerID(TAKEDA) +sm.flipDialogue() + +sm.sendNext("Looking at those spell scrolls, I was able to remember the instructions on that letter on how to lift the spell. Just needed to jump-start the of noggin") + +response = sm.sendAskYesNo("Unfortunately for you, lifting the spell requires more materials.\r\nBetter get to it!") + +if response: + sm.flipDialogue() + sm.sendNext("This #v" + str(ITEMID) + "##z" + str(ITEMID) + "# is just what we need.") + + sm.flipDialogue() + sm.sendSay("So, go to #m" + str(MAPID_1) + "#, #m" + str(MAPID_2) + "#, and #m" + str(MAPID_3) + "#. Hunt #o" + str(MOBID_1) + "# and #o" + str(MOBID_2) + + "# monsters to get these #i" + str(ITEMID_2) + "# #z" + str(ITEMID_2) + "# items. We need them to grow the #i" + str(ITEMID) + "# #z" + str(ITEMID) + "#.") + + sm.flipDialogue() + sm.sendSay("If you run around #m" + str(MAPID_1) + "#, #m" + str(MAPID_2) + "#, and #m" + str(MAPID_3) + "#. You'll see herb sprouts. Just drop one #z" + str(ITEMID_2) + "# on them.") + + sm.flipDialogue() + sm.sendSay("You want to grow #v" + str(ITEMID) + "##z" + str(ITEMID) + "# to Stage 4 and you need 10 #z" + str(ITEMID_2) + "# items for each stage") + sm.startQuest(parentID) diff --git a/scripts/quest/q58907e.py b/scripts/quest/q58907e.py new file mode 100755 index 0000000..8d5d560 --- /dev/null +++ b/scripts/quest/q58907e.py @@ -0,0 +1,23 @@ +# Regards, Takeda Shingen (Sengoku Era) Questline (Stage 3) | Momijigaoka (807000000) +# Completes part 3 of prequest +# Author: Tiger + +MOURI = 9130006 # Mouri Motonari +ITEMID = 4034129 # Mega Bitter Medicine + +sm.setSpeakerID(MOURI) + +sm.flipDialogue() +sm.sendNext("Hm? Shingen didn't come here himself? How disappointing.") + +sm.flipDialogue() +sm.sendSay("Regardless, I pass on the #i" + str(ITEMID) + "##z" + str(ITEMID) + "# to treat the warrior.") + +sm.flipDialogue() +sm.sendSay("I'm sure she will awaken soon. Go to the Master Room to meet her") + +sm.flipDialogue() +sm.sendSay("The Master Room is to the left.") + +sm.completeQuest(parentID) +sm.consumeItem(ITEMID) # remove mega Bitter Medicine from user diff --git a/scripts/quest/q58907s.py b/scripts/quest/q58907s.py new file mode 100755 index 0000000..18b27cf --- /dev/null +++ b/scripts/quest/q58907s.py @@ -0,0 +1,25 @@ +# Regards, Takeda Shingen (Sengoku Era) Questline (Stage 3) | Near Momiji Hills 1 (811000001) +# Starts part 3 of prequest +# Author: Tiger + +TAKEDA = 9000427 +NPCID = 9130006 # Mouri Motonari +ITEMID = 4034129 # Mega Bitter Medicine +MAPID = 807000000 # Momijigaoka + +sm.setSpeakerID(TAKEDA) + +sm.flipDialogue() +sm.sendNext("I've made the medicine. It stinks like burning hair, so take it to #p" + str(NPCID) + "# ASAP.") + +sm.flipDialogue() +sm.sendSay("No way, this stuff smells viel. You do it.") + +sm.flipDialogue() +sm.sendSay("I can't go right now anyway, so just drop it off. Also ask her how and why she traveled all the way here.") + +response = sm.sendAskYesNo("Please bring this #i" + str(ITEMID) + "##z " + str(ITEMID) + "# to #p" + str(NPCID) + "# in #m" + str(MAPID) + "#.") + +if response: + sm.giveItem(ITEMID, 1) # give mega bitter medicine + sm.startQuest(parentID) # start quest #3 diff --git a/scripts/quest/q58908s.py b/scripts/quest/q58908s.py new file mode 100755 index 0000000..fa9258b --- /dev/null +++ b/scripts/quest/q58908s.py @@ -0,0 +1,68 @@ +# A New Warrior Appears (Sengoku Era) Questline | Momiji Hills: Master Room (811000008) +# Author: Tiger + +AYAME = 9130100 +SUKUNO = 9130124 + +sm.setSpeakerID(AYAME) + +sm.flipDialogue() +sm.sendNext("Ooh, I had SUCH a hard time getting here! I got to a really strange place and I was all tired and then...") + +sm.flipDialoguePlayerAsSpeaker() +sm.sendSay("Speaking of wich, Takeda Shingen would like to know how you got here.") + +sm.setSpeakerID(AYAME) + +sm.flipDialogue() +sm.sendSay("Takeda Shingen? The same Takeda Shingen that I knew before?") + +sm.flipDialogue() +sm.sendSay("Ugh, that old fart. Tell him that Ayame has NOTHING to say to HIM.\r\n" + "Does he even have a SPECK of compassion? It's his fault I ended up like this!") + +sm.flipDialoguePlayerAsSpeaker() +sm.sendSay("I get this impression you are not very fond of Takeda Shingen") + +sm.setSpeakerID(AYAME) + +sm.flipDialogue() +sm.sendSay("Anyway, where is Sakuno? I have so much to tell her! Sakuno\r\nWhere are you! Sa-ku-no Sakuno? Sakuno!") + +sm.lockInGameUI(True) +sm.removeEscapeButton() +sm.moveCamera(200, 0, 150) + +sm.spawnNpc(9130124, -603, 187) +sm.flipNpcByTemplateId(9130124, False) +sm.moveNpcByTemplateId(9130124, False, 300, 60) +sm.sendDelay(2500) + +sm.setSpeakerID(SUKUNO) + +sm.flipDialogue() +sm.sendNext("Ayame!") + +sm.moveNpcByTemplateId(9130124, False, 100, 50) + +sm.setSpeakerID(AYAME) + +sm.flipDialogue() +sm.sendSay("Eee! Sakuno! hee hee, how have you been? I MISSED YOU SO MUCH!") + +sm.setSpeakerID(SUKUNO) + +sm.flipDialogue() +sm.sendSay("...") + +sm.flipDialogue() +sm.sendSay("I heard you were back and I... I...") + +sm.setSpeakerID(AYAME) + +sm.flipDialogue() +sm.sendSay("Heyyy, don't start the waterworks now! I'm back!") + +sm.removeNpc(9130124) +sm.startQuest(parentID) +sm.warp(811000008) diff --git a/scripts/quest/q58909s.py b/scripts/quest/q58909s.py new file mode 100755 index 0000000..8b1b30c --- /dev/null +++ b/scripts/quest/q58909s.py @@ -0,0 +1,17 @@ +# Tears of Princess Sakuno (Sengoku Questline) | Momiji Hills : Master Room (811000008) +# Author: Tiger + +SAKUNO = 9130124 +sm.setSpeakerID(SAKUNO) + +sm.flipDialogue() +sm.sendNext("Please accept my gratitude for the medicine. Thanks to you I am able to see Ayame once again.") + +sm.flipDialogue() +sm.sendSay("You must have been suprised to see me like that. The truth is I have been indebted to Ayame.") + +response = sm.sendAskYesNo("Would you like to hear the whole story?") + +if response: + sm.startQuest(58909) # Tears of Princess Sakuno + sm.warpInstanceIn(811000009) # Master Room diff --git a/scripts/quest/q58910s.py b/scripts/quest/q58910s.py new file mode 100755 index 0000000..15b1ca2 --- /dev/null +++ b/scripts/quest/q58910s.py @@ -0,0 +1,10 @@ +# What happened to Ayame (Sengoku Era) Questline + +AYAME = 9130106 + +sm.setSpeakerID(AYAME) + +response = sm.sendAskYesNo("... How did I get here? It's a long story and I'm pretty tired... Are you SURE you wanna hear it now?") + +if response: + sm.warp(811000009) # Master Room diff --git a/scripts/quest/q58911e.py b/scripts/quest/q58911e.py new file mode 100755 index 0000000..d1ebec8 --- /dev/null +++ b/scripts/quest/q58911e.py @@ -0,0 +1,7 @@ +# id 58911 ([Hieizan Temple] Stranger and Stranger), field 811000008 +sm.setSpeakerID(9130103) # Ayame +sm.setParam(5) +sm.setParam(0) +sm.completeQuestNoCheck(parentID) +sm.setParam(4) +sm.createQuestWithQRValue(18418, "B=35618") diff --git a/scripts/quest/q58911s.py b/scripts/quest/q58911s.py new file mode 100755 index 0000000..5cc310a --- /dev/null +++ b/scripts/quest/q58911s.py @@ -0,0 +1,3 @@ +# id 58911 ([Hieizan Temple] Stranger and Stranger), field 811000008 +sm.setSpeakerID(9130103) # Ayame +sm.setParam(5) diff --git a/scripts/quest/q58913e.py b/scripts/quest/q58913e.py new file mode 100755 index 0000000..e72a9e7 --- /dev/null +++ b/scripts/quest/q58913e.py @@ -0,0 +1,14 @@ +# id 58913 ([Hieizan Temple] Investigating Hieizan), field 811000008 +sm.setSpeakerID(9130103) # Ayame +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(9130103) # Ayame +sm.sendNext("Thanks for finding this! ") +sm.sendSay("Good thing the Demon King couldn't be summoned completely... But y'know, I'm actually a little sad Princess No lost herself like that.") +sm.sendSay("Please defeat her for me. It's all we can do now. ") +sm.completeQuestNoCheck(parentID) +sm.sendSay("To stop Princess No, you need the key to Hieizan Temple. That's where she's holed up. ") +sm.createQuestWithQRValue(18418, "B=35658") +sm.sendSay("She left traces of herself at the small shrine of Hieizan when she ran. Her alter ego will drop the key to the real Princess No.") +sm.sendSay("I managed to sneak a copy of the key. Let me know if you want to use it to go to Princess No.") +sm.sendPrev("Be careful. Princess No will be a challenging foe to contend with. Talk to me if you'd like to practice first, and I can send you to a training area.") +sm.createQuestWithQRValue(18418, "B=35659") diff --git a/scripts/quest/q58913s.py b/scripts/quest/q58913s.py new file mode 100755 index 0000000..0452b7d --- /dev/null +++ b/scripts/quest/q58913s.py @@ -0,0 +1,5 @@ +# id 58913 ([Hieizan Temple] Investigating Hieizan), field 811000008 +sm.setSpeakerID(9130103) # Ayame +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(9130103) # Ayame +sm.sendNext("When I was here a long time ago, I saw a small temple at the very end of Hieizan. Only Princess No was allowed to enter.") diff --git a/scripts/quest/q58914e.py b/scripts/quest/q58914e.py new file mode 100755 index 0000000..754a8df --- /dev/null +++ b/scripts/quest/q58914e.py @@ -0,0 +1,8 @@ +# id 58914 ([Hieizan Temple] Sad Little Boy), field 811000014 +sm.setSpeakerID(9130107) # Mysterious Boy +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(9130107) # Mysterious Boy +sm.sendNext("Did you really find my bag?") +sm.sendSay("Thank you! Thank you so much.") +sm.completeQuestNoCheck(parentID) +sm.createQuestWithQRValue(18418, "B=35645") diff --git a/scripts/quest/q58914s.py b/scripts/quest/q58914s.py new file mode 100755 index 0000000..3a3d395 --- /dev/null +++ b/scripts/quest/q58914s.py @@ -0,0 +1,21 @@ +# id 58914 ([Hieizan Temple] Sad Little Boy), field 811000014 +sm.setSpeakerID(9130107) # Mysterious Boy +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(9130107) # Mysterious Boy +sm.sendNext("*Sniff*") +sm.setParam(16) +sm.sendSay("(A boy in a place like this? Quite suspicious. And crying at that. I should just... pretend I didn't see.)") +sm.setParam(4) +res = sm.sendAskYesNo("*Sniff* WAHHHH.... Wait, is that... Is somebody there? Please, help me! ") +sm.startQuest(parentID) +sm.startQuest(58979) +sm.setParam(16) +sm.sendNext("Ergh... What's wrong?") +sm.setParam(4) +sm.sendSay("I used to serve the alliance military. I took care of the horses. We were led here from the guard post and... I guess passed out in all the chaos.") +sm.setParam(16) +sm.sendSay("Where are the other alliance soldiers? ") +sm.setParam(4) +sm.sendSay("All the soldiers went... I don't know. They're strange now. I-I'm scared. I want to get out of here. Could you find my sack for me?") +sm.sendSay("It's the only thing I have to remember my father by. I'm pretty sure I dropped it somewhere close by but I can't see, it's too dark.") +sm.sendSay("All the soldiers went... I don't know. They're strange now. I-I'm scared. I want to get out of here. Could you find my sack for me?") diff --git a/scripts/quest/q58916e.py b/scripts/quest/q58916e.py new file mode 100755 index 0000000..2027750 --- /dev/null +++ b/scripts/quest/q58916e.py @@ -0,0 +1,8 @@ +# id 58916 ([Hieizan Temple] The Lost Alliance 1), field 811000014 +sm.completeQuestNoCheck(parentID) +sm.setSpeakerID(9130107) # Mysterious Boy +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(9130107) # Mysterious Boy +sm.sendNext("What...? The soldiers are being brainwashed? ") +sm.createQuestWithQRValue(18418, "B=35646") +sm.sendPrev("What do we do? CAN we do anything? ") diff --git a/scripts/quest/q58916s.py b/scripts/quest/q58916s.py new file mode 100755 index 0000000..d5dbf4f --- /dev/null +++ b/scripts/quest/q58916s.py @@ -0,0 +1,9 @@ +# id 58916 ([Hieizan Temple] The Lost Alliance 1), field 811000014 +sm.setSpeakerID(9130107) # Mysterious Boy +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(9130107) # Mysterious Boy +sm.sendNext("The alliance men? Last I saw, the Spirit Walkers were giving them some weird potions and casting spells, then they turned strange. What could have happened?") +sm.sendSay("Please save them. They were so good to me, almost like fathers.") +res = sm.sendAskYesNo("I saw the Oda Spirit Walkers nearby. Maybe we can get some information from them.") +sm.startQuest(parentID) +sm.sendSayOkay("Thank you for your help! I think defeating about 100 Oda Spirit Walkers will give you enough leads.") diff --git a/scripts/quest/q58917e.py b/scripts/quest/q58917e.py new file mode 100755 index 0000000..4c9bc51 --- /dev/null +++ b/scripts/quest/q58917e.py @@ -0,0 +1,8 @@ +# id 58917 ([Hieizan Temple] Strange Alliance Men -2-), field 811000014 +sm.completeQuestNoCheck(parentID) +sm.setSpeakerID(9130107) # Mysterious Boy +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(9130107) # Mysterious Boy +sm.sendNext("Yes, that's it. That's the jar I saw. ") +sm.createQuestWithQRValue(18418, "B=35647") +sm.sendPrev("Okay! Now that we have the jars, we just have to put some souls in them.") diff --git a/scripts/quest/q58917s.py b/scripts/quest/q58917s.py new file mode 100755 index 0000000..e00e1e2 --- /dev/null +++ b/scripts/quest/q58917s.py @@ -0,0 +1,17 @@ +# id 58917 ([Hieizan Temple] Strange Alliance Men -2-), field 811000014 +sm.setSpeakerID(9130107) # Mysterious Boy +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(9130107) # Mysterious Boy +sm.sendNext("Do you think that this will help turn the soldiers back to normal? ") +sm.setParam(16) +sm.sendSay("What's this?") +sm.setParam(4) +sm.sendSay("Before I passed out, one of the soldiers gave me this note.") +sm.setParam(16) +sm.sendSay("(You open the note.) 'The Oda Spirit Walker Jars can hold innocent souls. Ask someone to do that for our souls.' ") +sm.sendSay("...Welp, I guess there isn't actually a way to turn them back.") +sm.setParam(4) +res = sm.sendAskYesNo("I saw an Oda Spirit Walker carrying a suspicious jar. I think that might be what they are referring to. Can you get some for me, please?") +sm.startQuest(parentID) +sm.sendNext("They were such good people... I'm sad that this is the only thing we can do.") +sm.sendPrev("Whatever the case, I think we should get the jars first.") diff --git a/scripts/quest/q58918e.py b/scripts/quest/q58918e.py new file mode 100755 index 0000000..c969d43 --- /dev/null +++ b/scripts/quest/q58918e.py @@ -0,0 +1,8 @@ +# id 58918 ([Hieizan Temple] Fill the Red Jar), field 811000014 +sm.setSpeakerID(9130107) # Mysterious Boy +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(9130107) # Mysterious Boy +sm.sendNext("Thank you for all your help. Even brainwashed, it couldn't have been easy taking their souls...") +sm.sendSay("But thanks to your bravery, their souls can be free now.") +sm.completeQuestNoCheck(parentID) +sm.createQuestWithQRValue(18418, "B=35648") diff --git a/scripts/quest/q58918s.py b/scripts/quest/q58918s.py new file mode 100755 index 0000000..cdc481a --- /dev/null +++ b/scripts/quest/q58918s.py @@ -0,0 +1,10 @@ +# id 58918 ([Hieizan Temple] Fill the Red Jar), field 811000014 +sm.setSpeakerID(9130107) # Mysterious Boy +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(9130107) # Mysterious Boy +sm.sendNext("A jar of souls... It sounds terrible, but I guess it's the best we can do. ") +res = sm.sendAskYesNo("Would you please help me gather those poor souls? ") +sm.startQuest(parentID) +sm.sendNext("Thank you. I feel a lot better. ") +sm.sendSay("Eliminate 100 #o9450031:# monsters in #m811000015:# to fill this jar. ") +sm.sendPrev("I'll leave it to you. ") diff --git a/scripts/quest/q58919e.py b/scripts/quest/q58919e.py new file mode 100755 index 0000000..6492169 --- /dev/null +++ b/scripts/quest/q58919e.py @@ -0,0 +1,8 @@ +# id 58919 ([Hieizan Temple] Fill the Blue Jar), field 811000014 +sm.setSpeakerID(9130107) # Mysterious Boy +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(9130107) # Mysterious Boy +sm.sendNext("Woo! It's quite heavy now. Feel all those souls... ") +sm.sendSay("It's VERY full! ") +sm.completeQuestNoCheck(parentID) +sm.createQuestWithQRValue(18418, "B=35649") diff --git a/scripts/quest/q58919s.py b/scripts/quest/q58919s.py new file mode 100755 index 0000000..963089b --- /dev/null +++ b/scripts/quest/q58919s.py @@ -0,0 +1,11 @@ +# id 58919 ([Hieizan Temple] Fill the Blue Jar), field 811000014 +sm.setSpeakerID(9130107) # Mysterious Boy +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(9130107) # Mysterious Boy +sm.sendNext("You did a great job filling up this red jar! I just know that you will do the same with the blue jar. ") +res = sm.sendAskYesNo("Hope you can still help with filling the jar... This is all for the souls of those men...") +sm.startQuest(parentID) +sm.sendNext("The second jar will fill if you eliminate about 150 #o9450032:# monsters in #m811000016:#. ") +sm.sendSay("Please hurry to get this job done. ") +sm.setParam(16) +sm.sendPrev("Get this job done...?") diff --git a/scripts/quest/q58920e.py b/scripts/quest/q58920e.py new file mode 100755 index 0000000..207cc3c --- /dev/null +++ b/scripts/quest/q58920e.py @@ -0,0 +1,9 @@ +# id 58920 ([Hieizan Temple] Fill the Yellow Jar), field 811000014 +sm.setSpeakerID(9130107) # Mysterious Boy +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(9130107) # Mysterious Boy +sm.sendNext("Thank you! This jar looks good, #h0#.") +sm.sendSay("Now we just have to wrap them up... ") +sm.sendSay("Give me a second, okay?") +sm.completeQuestNoCheck(parentID) +sm.createQuestWithQRValue(18418, "B=35650") diff --git a/scripts/quest/q58920s.py b/scripts/quest/q58920s.py new file mode 100755 index 0000000..7dc0366 --- /dev/null +++ b/scripts/quest/q58920s.py @@ -0,0 +1,11 @@ +# id 58920 ([Hieizan Temple] Fill the Yellow Jar), field 811000014 +sm.setSpeakerID(9130107) # Mysterious Boy +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(9130107) # Mysterious Boy +sm.sendNext("The last one is the yellow jar, heh. ") +sm.sendSay("Thank you for all your hard work, but could you please help me just ONCE more?") +res = sm.sendAskYesNo("I promise, I SWEAR this is the last one! After this, the alliance men can truly rest...") +sm.startQuest(parentID) +sm.sendNext("The third jar will fill up after you take down 200 #o9450033:# monsters of #m811000017:#...") +sm.sendSay("Woo, I know. I also wonder how so many alliance soldiers ended up like this.") +sm.sendPrev("This is the last round, so cheer up! I know you can do it.") diff --git a/scripts/quest/q58921e.py b/scripts/quest/q58921e.py new file mode 100755 index 0000000..30f742e --- /dev/null +++ b/scripts/quest/q58921e.py @@ -0,0 +1,10 @@ +# id 58921 ([Hieizan Temple] Jars at Rest 1), field 811000018 +sm.setSpeakerID(9130108) # Mysterious Boy +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(9130107) # Mysterious Boy +sm.sendNext("You got here faster than I thought. Figures, since you aren't carrying anything.") +sm.sendSay("Whoof! As for me, I'm all worn out from carrying ALL these jars. My arms are about to FALL OFF! ") +sm.sendSay("...Which means you should offer to carry these for me. Here.") +sm.completeQuestNoCheck(parentID) +sm.sendPrev("Be careful with these. I don't know what we'd do if you broke them.") +sm.createQuestWithQRValue(18418, "B=35651") diff --git a/scripts/quest/q58921s.py b/scripts/quest/q58921s.py new file mode 100755 index 0000000..8dd2089 --- /dev/null +++ b/scripts/quest/q58921s.py @@ -0,0 +1,12 @@ +# id 58921 ([Hieizan Temple] Jars at Rest 1), field 811000014 +sm.setSpeakerID(9130107) # Mysterious Boy +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(9130107) # Mysterious Boy +sm.sendNext("Here, I wrapped up the jars you gave me with my bag cloth.") +sm.sendSay("Isn't this cloth nice? My mother made it herself, hee hee.") +sm.setParam(16) +sm.sendSay("(You felt it earlier, too... The floral prints are actually kind of unpleasant. Ugly. But you hold your tongue.)") +sm.setParam(4) +res = sm.sendAskYesNo("Now, I'll meet you at #m811000018:#. That's where you want to place the jars. ") +sm.startQuest(parentID) +sm.sendSayOkay("#m811000018:# is just past #m811000017:#. I'll see you there.") diff --git a/scripts/quest/q58922s.py b/scripts/quest/q58922s.py new file mode 100755 index 0000000..7dccc5d --- /dev/null +++ b/scripts/quest/q58922s.py @@ -0,0 +1,38 @@ +# id 58922 ([Hieizan Temple] Jars at Rest 2), field 811000018 +sm.setSpeakerID(9130108) # Mysterious Boy +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(9130107) # Mysterious Boy +sm.sendNext("Just place these jars on the stone altar in front of the east tower over there.\r\nSimple, right? I've heard that that area is the best spot... ") +sm.sendSay("Did you know? There are a lot of souls floating around in this temple.") +sm.setParam(16) +sm.sendSay("(You feel something strange. He doesn't seem like the same boy you met earlier.)") +sm.setParam(4) +res = sm.sendAskYesNo("Now, go on. Place the jars on that altar. ") +sm.startQuest(parentID) +sm.sendSayOkay("Simply click the altar. ") +sm.lockInGameUI(True, True) +sm.blind(True, 255, 0, 0, 0, 0) +sm.sendDelay(1200) +sm.blind(False, 0, 0, 0, 0, 1000) +sm.sendDelay(1400) +sm.setSpeakerType(3) +sm.setParam(17) +sm.sendNext("(What the-? )") +sm.sendDelay(1000) +sm.sendNext("What are you trying to do?") +sm.setParam(5) +sm.setInnerOverrideSpeakerTemplateID(9130108) # Mysterious Boy +sm.sendSay("Heh heh heh... Good work. You've completed 'her' task admirably. ") +sm.sendSay("You know, 'she' told me you'd be easy to trick, with your do-gooder spirit and weak mind. I thought, surely you COULDN'T be that dumb! ") +sm.setParam(17) +sm.sendSay("What? Who is 'she'?") +sm.setParam(5) +sm.sendSay("Well, my part is done, so see ya! You should be more careful lending a hand next time. Ha! ") +sm.setParam(17) +sm.sendSay("Ugh, I've been tricked... ") +sm.sendSay("(Follow the boy to #m811000019:#. You will be teleported automatically. ") +sm.blind(True, 255, 0, 0, 0, 500) +sm.sendDelay(500) +sm.lockInGameUI(False, True) +sm.completeQuestNoCheck(parentID) +sm.warp(811000019) diff --git a/scripts/quest/q58923e.py b/scripts/quest/q58923e.py new file mode 100755 index 0000000..f871e19 --- /dev/null +++ b/scripts/quest/q58923e.py @@ -0,0 +1,7 @@ +# id 58923 ([Hieizan Temple] Chasing the Boy), field 811000019 +sm.setSpeakerType(3) +sm.setParam(16) +sm.sendNext("Whew, I guess things won't get any worse.") +sm.sendSay(" The boy must be outside, I should follow him.") +sm.completeQuestNoCheck(parentID) +sm.createQuestWithQRValue(18418, "B=35653") diff --git a/scripts/quest/q58923s.py b/scripts/quest/q58923s.py new file mode 100755 index 0000000..1d02049 --- /dev/null +++ b/scripts/quest/q58923s.py @@ -0,0 +1,6 @@ +# id 58923 ([Hieizan Temple] Chasing the Boy), field 811000019 +sm.setSpeakerType(3) +sm.setParam(16) +sm.sendNext("Hm? What is this place? I should check it out. ") +sm.sendSay("Maybe he went in that way. ") +sm.startQuest(parentID) diff --git a/scripts/quest/q58924s.py b/scripts/quest/q58924s.py new file mode 100755 index 0000000..8b5711c --- /dev/null +++ b/scripts/quest/q58924s.py @@ -0,0 +1,5 @@ +# id 58924 ([Hieizan Temple] The Reunion 1), field 811000019 +sm.setSpeakerType(3) +sm.setParam(16) +sm.sendNext("Looks like the boy went deeper into Hieizan.") +sm.startQuest(parentID) diff --git a/scripts/quest/q58925e.py b/scripts/quest/q58925e.py new file mode 100755 index 0000000..cd35127 --- /dev/null +++ b/scripts/quest/q58925e.py @@ -0,0 +1,7 @@ +# id 58925 ([Hieizan Temple] The Reunion 2), field 811000025 +sm.setSpeakerType(3) +sm.setParam(16) +sm.sendNext("Why is everyone gathered here? She is definitely scheming something. ") +sm.sendSay("Enter the building. ") +sm.completeQuestNoCheck(parentID) +sm.createQuestWithQRValue(18418, "B=35655") diff --git a/scripts/quest/q58925s.py b/scripts/quest/q58925s.py new file mode 100755 index 0000000..2722cd9 --- /dev/null +++ b/scripts/quest/q58925s.py @@ -0,0 +1,6 @@ +# id 58925 ([Hieizan Temple] The Reunion 2), field 811000021 +sm.setSpeakerType(3) +sm.setParam(16) +sm.sendNext("Where did she go? Something must be up, otherwise she wouldn't have left in such a hurry. ") +sm.sendSay(" I have to stop them. ") +sm.startQuest(parentID) diff --git a/scripts/quest/q58926s.py b/scripts/quest/q58926s.py new file mode 100755 index 0000000..b95fa9b --- /dev/null +++ b/scripts/quest/q58926s.py @@ -0,0 +1,16 @@ +# id 58926 ([Hieizan Temple] The Demon King Returns), field 811000029 +sm.lockInGameUI(True, True) +sm.setSpeakerID(9130116) # Princess No +sm.setParam(5) +sm.setInnerOverrideSpeakerTemplateID(9130122) # Dark Voice +sm.sendSay("Was it you who summoned me...") +sm.sendSay("...You're quite weak to summon one such as myself. ") +sm.sendSay("I will not accept such a weak body... But I will reward you for summoning me... Muahaha. ") +sm.sendSay("My wickedness shall strengthen your body. ") +sm.sendDelay(2900) +sm.reservedEffect(False, 0, 0, "Effect/DirectionJP3.img/sengoku/Scene0") +sm.completeQuestNoCheck(parentID) +sm.startQuest(58949) +sm.lockInGameUI(False, True) +sm.createQuestWithQRValue(58972, "m035=clear;dr1=clear;dr2=clear;m037=clear;m038=clear;m039=clear") +sm.createQuestWithQRValue(18418, "B=35656") diff --git a/scripts/quest/q58927e.py b/scripts/quest/q58927e.py new file mode 100755 index 0000000..3f28e02 --- /dev/null +++ b/scripts/quest/q58927e.py @@ -0,0 +1,9 @@ +# id 58927 ([Hieizan Temple] The End of Princess No), field 811000033 +sm.setSpeakerType(3) +sm.setParam(17) +sm.sendNext("She has already become...too wicked.") +sm.sendSay("...I should get the mirror to Ayame first.") +sm.completeQuestNoCheck(parentID) +sm.startQuest(58979) +sm.startQuest(58978) +sm.warp(811000008) diff --git a/scripts/quest/q58927s.py b/scripts/quest/q58927s.py new file mode 100755 index 0000000..8bb5a05 --- /dev/null +++ b/scripts/quest/q58927s.py @@ -0,0 +1,7 @@ +# id 58927 ([Hieizan Temple] The End of Princess No), field 811000028 +sm.setSpeakerType(3) +sm.setParam(17) +sm.sendNext("...Everything was an illusion? Perhaps that's not the worst thing that's happened. But what was she trying to show me? ") +sm.sendSay("I still haven't found the shrine that Ayame talked about. Princess No must be there.") +sm.sendSay("The shrine is a little bit west of here. ") +sm.startQuest(parentID) diff --git a/scripts/quest/q58928e.py b/scripts/quest/q58928e.py new file mode 100755 index 0000000..31cf58b --- /dev/null +++ b/scripts/quest/q58928e.py @@ -0,0 +1,8 @@ +# id 58928 ([Hieizan Temple] Sad Little Boy), field 811000014 +sm.setSpeakerID(9130107) # Mysterious Boy +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(9130107) # Mysterious Boy +sm.sendNext("Did you really find my bag?") +sm.sendSay("Thank you! Thank you so much.") +sm.completeQuestNoCheck(parentID) +sm.createQuestWithQRValue(18418, "B=35619") diff --git a/scripts/quest/q58928s.py b/scripts/quest/q58928s.py new file mode 100755 index 0000000..1f4c9e2 --- /dev/null +++ b/scripts/quest/q58928s.py @@ -0,0 +1,21 @@ +# id 58928 ([Hieizan Temple] Sad Little Boy), field 811000014 +sm.setSpeakerID(9130107) # Mysterious Boy +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(9130107) # Mysterious Boy +sm.sendNext("*Sniff*") +sm.setParam(16) +sm.sendSay("(A boy in a place like this? Quite suspicious. And crying at that. I should just... pretend I didn't see.)") +sm.setParam(4) +res = sm.sendAskYesNo("*Sniff* WAHHHH.... Wait, is that... Is somebody there? Please, help me! ") +sm.startQuest(parentID) +sm.startQuest(58979) +sm.setParam(16) +sm.sendNext("Ergh... What's wrong?") +sm.setParam(4) +sm.sendSay("I used to serve the alliance military. I took care of the horses. We were led here from the guard post and... I guess passed out in all the chaos.") +sm.setParam(16) +sm.sendSay("Where are the other alliance soldiers? ") +sm.setParam(4) +sm.sendSay("All the soldiers went... I don't know. They're strange now. I-I'm scared. I want to get out of here. Could you find my sack for me?") +sm.sendSay("It's the only thing I have to remember my father by. I'm pretty sure I dropped it somewhere close by but I can't see, it's too dark.") +sm.sendPrev("It's a bag with very pretty flower prints. Don't judge.") diff --git a/scripts/quest/q58929e.py b/scripts/quest/q58929e.py new file mode 100755 index 0000000..a174dc1 --- /dev/null +++ b/scripts/quest/q58929e.py @@ -0,0 +1,8 @@ +# id 58929 ([Hieizan Temple] The Lost Alliance 1), field 811000014 +sm.completeQuestNoCheck(parentID) +sm.setSpeakerID(9130107) # Mysterious Boy +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(9130107) # Mysterious Boy +sm.sendNext("What...? The soldiers are being brainwashed? ") +sm.createQuestWithQRValue(18418, "B=35620") +sm.sendPrev("What do we do? CAN we do anything? ") diff --git a/scripts/quest/q58929s.py b/scripts/quest/q58929s.py new file mode 100755 index 0000000..c7b54dd --- /dev/null +++ b/scripts/quest/q58929s.py @@ -0,0 +1,9 @@ +# id 58929 ([Hieizan Temple] The Lost Alliance 1), field 811000014 +sm.setSpeakerID(9130107) # Mysterious Boy +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(9130107) # Mysterious Boy +sm.sendNext("The alliance men? Last I saw, the Spirit Walkers were giving them some weird potions and casting spells, then they turned strange. What could have happened?") +sm.sendSay("Please save them. They were so good to me, almost like fathers.") +res = sm.sendAskYesNo("I saw the Oda Spirit Walkers nearby. Maybe we can get some information from them.") +sm.startQuest(parentID) +sm.sendSayOkay("Thank you for your help! I think defeating about 100 Oda Spirit Walkers will give you enough leads.") diff --git a/scripts/quest/q58930e.py b/scripts/quest/q58930e.py new file mode 100755 index 0000000..1431f9c --- /dev/null +++ b/scripts/quest/q58930e.py @@ -0,0 +1,8 @@ +# id 58930 ([Hieizan Temple] Strange Alliance Men -2-), field 811000014 +sm.completeQuestNoCheck(parentID) +sm.setSpeakerID(9130107) # Mysterious Boy +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(9130107) # Mysterious Boy +sm.sendNext("Yes, that's it. That's the jar I saw. ") +sm.createQuestWithQRValue(18418, "B=35621") +sm.sendPrev("Okay! Now that we have the jars, we just have to put some souls in them.") diff --git a/scripts/quest/q58930s.py b/scripts/quest/q58930s.py new file mode 100755 index 0000000..49e3d2f --- /dev/null +++ b/scripts/quest/q58930s.py @@ -0,0 +1,17 @@ +# id 58930 ([Hieizan Temple] Strange Alliance Men -2-), field 811000014 +sm.setSpeakerID(9130107) # Mysterious Boy +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(9130107) # Mysterious Boy +sm.sendNext("Do you think that this will help turn the soldiers back to normal? ") +sm.setParam(16) +sm.sendSay("What's this?") +sm.setParam(4) +sm.sendSay("Before I passed out, one of the soldiers gave me this note.") +sm.setParam(16) +sm.sendSay("(You open the note.) 'The Oda Spirit Walker Jars can hold innocent souls. Ask someone to do that for our souls.' ") +sm.sendSay("...Welp, I guess there isn't actually a way to turn them back.") +sm.setParam(4) +res = sm.sendAskYesNo("I saw an Oda Spirit Walker carrying a suspicious jar. I think that might be what they are referring to.") +sm.startQuest(parentID) +sm.sendNext("They were such good people... I'm sad that this is the only thing we can do.") +sm.sendPrev("Whatever the case, I think we should get the jars first.") diff --git a/scripts/quest/q58931e.py b/scripts/quest/q58931e.py new file mode 100755 index 0000000..6c801f6 --- /dev/null +++ b/scripts/quest/q58931e.py @@ -0,0 +1,8 @@ +# id 58931 ([Hieizan Temple] Fill the Red Jar), field 811000014 +sm.setSpeakerID(9130107) # Mysterious Boy +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(9130107) # Mysterious Boy +sm.sendNext("Thank you for all your help. Even brainwashed, it couldn't have been easy taking their souls...") +sm.sendSay("But thanks to your bravery, their souls can be free now.") +sm.completeQuestNoCheck(parentID) +sm.createQuestWithQRValue(18418, "B=35622") diff --git a/scripts/quest/q58931s.py b/scripts/quest/q58931s.py new file mode 100755 index 0000000..bfb72f7 --- /dev/null +++ b/scripts/quest/q58931s.py @@ -0,0 +1,10 @@ +# id 58931 ([Hieizan Temple] Fill the Red Jar), field 811000014 +sm.setSpeakerID(9130107) # Mysterious Boy +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(9130107) # Mysterious Boy +sm.sendNext("A jar of souls... It sounds terrible, but I guess it's the best we can do. ") +res = sm.sendAskYesNo("Would you please help me gather those poor souls? ") +sm.startQuest(parentID) +sm.sendNext("Thank you. I feel a lot better. ") +sm.sendSay("Eliminate 100 #o9450031:# monsters in #m811000015:# to fill this jar. ") +sm.sendPrev("I'll leave it to you. ") diff --git a/scripts/quest/q58932e.py b/scripts/quest/q58932e.py new file mode 100755 index 0000000..03191ad --- /dev/null +++ b/scripts/quest/q58932e.py @@ -0,0 +1,8 @@ +# id 58932 ([Hieizan Temple] Fill the Blue Jar), field 811000014 +sm.setSpeakerID(9130107) # Mysterious Boy +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(9130107) # Mysterious Boy +sm.sendNext("Woo! It's quite heavy now. Feel all those souls... ") +sm.sendSay("It's VERY full! ") +sm.completeQuestNoCheck(parentID) +sm.createQuestWithQRValue(18418, "B=35623") diff --git a/scripts/quest/q58932s.py b/scripts/quest/q58932s.py new file mode 100755 index 0000000..c91b39f --- /dev/null +++ b/scripts/quest/q58932s.py @@ -0,0 +1,11 @@ +# id 58932 ([Hieizan Temple] Fill the Blue Jar), field 811000014 +sm.setSpeakerID(9130107) # Mysterious Boy +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(9130107) # Mysterious Boy +sm.sendNext("You did a great job filling up this red jar! I just know that you will do the same with the blue jar. ") +res = sm.sendAskYesNo("Hope you can still help with filling the jar... This is all for the souls of those men...") +sm.startQuest(parentID) +sm.sendNext("The second jar will fill if you eliminate about 150 #o9450032:# monsters in #m811000016:#. ") +sm.sendSay("Please hurry to get this job done. ") +sm.setParam(16) +sm.sendPrev("Get this job done...?") diff --git a/scripts/quest/q58933e.py b/scripts/quest/q58933e.py new file mode 100755 index 0000000..e1ee980 --- /dev/null +++ b/scripts/quest/q58933e.py @@ -0,0 +1,9 @@ +# id 58933 ([Hieizan Temple] Fill the Yellow Jar), field 811000014 +sm.setSpeakerID(9130107) # Mysterious Boy +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(9130107) # Mysterious Boy +sm.sendNext("Thank you! This jar looks good, #h0#.") +sm.sendSay("Now we just have to wrap them up... ") +sm.sendSay("Give me a second, okay?") +sm.completeQuestNoCheck(parentID) +sm.createQuestWithQRValue(18418, "B=35624") diff --git a/scripts/quest/q58933s.py b/scripts/quest/q58933s.py new file mode 100755 index 0000000..60ad780 --- /dev/null +++ b/scripts/quest/q58933s.py @@ -0,0 +1,11 @@ +# id 58933 ([Hieizan Temple] Fill the Yellow Jar), field 811000014 +sm.setSpeakerID(9130107) # Mysterious Boy +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(9130107) # Mysterious Boy +sm.sendNext("The last one is the yellow jar, heh. ") +sm.sendSay("Thank you for all your hard work, but could you please help me just ONCE more?") +res = sm.sendAskYesNo("I promise, I SWEAR this is the last one! After this, the alliance men can truly rest...") +sm.startQuest(parentID) +sm.sendNext("The third jar will fill up after you take down 200 #o9450033:# monsters of #m811000017:#...") +sm.sendSay("Woo, I know. I also wonder how so many alliance soldiers ended up like this.") +sm.sendPrev("This is the last round, so cheer up! I know you can do it.") diff --git a/scripts/quest/q58934e.py b/scripts/quest/q58934e.py new file mode 100755 index 0000000..29777c3 --- /dev/null +++ b/scripts/quest/q58934e.py @@ -0,0 +1,10 @@ +# id 58934 ([Hieizan Temple] Jars at Rest 1), field 811000018 +sm.setSpeakerID(9130108) # Mysterious Boy +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(9130107) # Mysterious Boy +sm.sendNext("You got here faster than I thought. Figures, since you aren't carrying anything.") +sm.sendSay("Whoof! As for me, I'm all worn out from carrying ALL these jars. My arms are about to FALL OFF! ") +sm.sendSay("...Which means you should offer to carry these for me. Here.") +sm.completeQuestNoCheck(parentID) +sm.sendPrev("Be careful with these. I don't know what we'd do if you broke them.") +sm.createQuestWithQRValue(18418, "B=35625") diff --git a/scripts/quest/q58934s.py b/scripts/quest/q58934s.py new file mode 100755 index 0000000..a21e205 --- /dev/null +++ b/scripts/quest/q58934s.py @@ -0,0 +1,12 @@ +# id 58934 ([Hieizan Temple] Jars at Rest 1), field 811000014 +sm.setSpeakerID(9130107) # Mysterious Boy +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(9130107) # Mysterious Boy +sm.sendNext("Here, I wrapped up the jars you gave me with my bag cloth.") +sm.sendSay("Isn't this cloth nice? My mother made it herself, hee hee.") +sm.setParam(16) +sm.sendSay("(You felt it earlier, too... The floral prints are actually kind of unpleasant. Ugly. But you hold your tongue.)") +sm.setParam(4) +res = sm.sendAskYesNo("Now, I'll meet you at #m811000018:#. That's where you want to place the jars. ") +sm.startQuest(parentID) +sm.sendSayOkay("#m811000018:# is just past #m811000017:#. I'll see you there.") diff --git a/scripts/quest/q58935s.py b/scripts/quest/q58935s.py new file mode 100755 index 0000000..3fed4f3 --- /dev/null +++ b/scripts/quest/q58935s.py @@ -0,0 +1,39 @@ +# id 58935 ([Hieizan Temple] Jars at Rest 2), field 811000018 +sm.setSpeakerID(9130108) # Mysterious Boy +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(9130107) # Mysterious Boy +sm.sendNext("Just place these jars on the stone altar in front of the east tower over there.\r\nSimple, right? I've heard that that area is the best spot... ") +sm.sendSay("Did you know? There are a lot of souls floating around in this temple.") +sm.setParam(16) +sm.sendSay("(You feel something strange. He doesn't seem like the same boy you met earlier.)") +sm.setParam(4) +res = sm.sendAskYesNo("Now, go on. Place the jars on that altar. ") +sm.startQuest(parentID) +sm.sendSayOkay("Simply click the altar. ") +sm.lockInGameUI(True, True) +sm.blind(True, 255, 0, 0, 0, 0) +sm.sendDelay(1200) +sm.blind(False, 0, 0, 0, 0, 1000) +sm.sendDelay(1400) +sm.setSpeakerType(3) +sm.setParam(17) +sm.sendNext("(What the-? )") +sm.sendDelay(1000) +sm.sendNext("What are you trying to do?") +sm.setParam(5) +sm.setInnerOverrideSpeakerTemplateID(9130108) # Mysterious Boy +sm.sendSay("Heh heh heh... Good work. You've completed 'her' task admirably. ") +sm.sendSay("You know, 'she' told me you'd be easy to trick, with your do-gooder spirit and weak mind. I thought, surely you COULDN'T be that dumb! ") +sm.setParam(17) +sm.sendSay("What? Who is 'she'?") +sm.setParam(5) +sm.sendSay("Well, my part is done, so see ya! You should be more careful lending a hand next time. Ha! ") +sm.setParam(17) +sm.sendSay("Ugh, I've been tricked... ") +sm.sendSay("(Follow the boy to #m811000019:#. You will be teleported automatically. ") +sm.blind(True, 255, 0, 0, 0, 500) +sm.sendDelay(500) +sm.lockInGameUI(False, True) +sm.completeQuestNoCheck(parentID) +sm.createQuestWithQRValue(18418, "B=35626") +sm.warp(811000019) diff --git a/scripts/quest/q58936e.py b/scripts/quest/q58936e.py new file mode 100755 index 0000000..abad587 --- /dev/null +++ b/scripts/quest/q58936e.py @@ -0,0 +1,7 @@ +# id 58936 ([Hieizan Temple] Chasing the Boy), field 811000019 +sm.setSpeakerType(3) +sm.setParam(16) +sm.sendNext("Whew, I guess things won't get any worse.") +sm.sendSay(" The boy must be outside, I should follow him.") +sm.completeQuestNoCheck(parentID) +sm.createQuestWithQRValue(18418, "B=35627") diff --git a/scripts/quest/q58936s.py b/scripts/quest/q58936s.py new file mode 100755 index 0000000..1f7d24a --- /dev/null +++ b/scripts/quest/q58936s.py @@ -0,0 +1,6 @@ +# id 58936 ([Hieizan Temple] Chasing the Boy), field 811000018 +sm.setSpeakerType(3) +sm.setParam(16) +sm.sendNext("Hm? What is this place? I should check it out. ") +sm.sendSay("Maybe he went in that way. ") +sm.startQuest(parentID) diff --git a/scripts/quest/q58937s.py b/scripts/quest/q58937s.py new file mode 100755 index 0000000..0750ed4 --- /dev/null +++ b/scripts/quest/q58937s.py @@ -0,0 +1,5 @@ +# id 58937 ([Hieizan Temple] The Reunion 1), field 811000019 +sm.setSpeakerType(3) +sm.setParam(16) +sm.sendNext("Looks like the boy went deeper into Hieizan.") +sm.startQuest(parentID) diff --git a/scripts/quest/q58938e.py b/scripts/quest/q58938e.py new file mode 100755 index 0000000..4b11d1e --- /dev/null +++ b/scripts/quest/q58938e.py @@ -0,0 +1,7 @@ +# id 58938 ([Hieizan Temple] The Reunion 2), field 811000025 +sm.setSpeakerType(3) +sm.setParam(16) +sm.sendNext("Is that a carp...?") +sm.sendSay("Is the boy in there? Maybe he no longer matters... I'll find out when I enter.") +sm.completeQuestNoCheck(parentID) +sm.createQuestWithQRValue(18418, "B=35629") diff --git a/scripts/quest/q58938s.py b/scripts/quest/q58938s.py new file mode 100755 index 0000000..22fd19a --- /dev/null +++ b/scripts/quest/q58938s.py @@ -0,0 +1,6 @@ +# id 58938 ([Hieizan Temple] The Reunion 2), field 811000021 +sm.setSpeakerType(3) +sm.setParam(16) +sm.sendNext("Where did he go? Something must be up, otherwise he wouldn't have left in such a hurry. ") +sm.sendSay(" I have to stop them. ") +sm.startQuest(parentID) diff --git a/scripts/quest/q58939s.py b/scripts/quest/q58939s.py new file mode 100755 index 0000000..c2b054d --- /dev/null +++ b/scripts/quest/q58939s.py @@ -0,0 +1,16 @@ +# id 58939 ([Hieizan Temple] The Demon King Returns), field 811000029 +sm.lockInGameUI(True, True) +sm.setSpeakerID(9130116) # Princess No +sm.setParam(5) +sm.setInnerOverrideSpeakerTemplateID(9130122) # Dark Voice +sm.sendSay("Was it you who summoned me...") +sm.sendSay("...You're quite weak to summon one such as myself. ") +sm.sendSay("I will not accept such a weak body... But I will reward you for summoning me... Muahaha. ") +sm.sendSay("My wickedness shall strengthen your body. ") +sm.sendDelay(2900) +sm.reservedEffect(False, 0, 0, "Effect/DirectionJP3.img/sengoku/Scene0") +sm.completeQuestNoCheck(parentID) +sm.startQuest(58949) +sm.lockInGameUI(False, True) +sm.createQuestWithQRValue(58973, "m035=clear;dr1=clear;dr2=clear;m037=clear;m038=clear;m039=clear") +sm.createQuestWithQRValue(18418, "B=35630") diff --git a/scripts/quest/q58940e.py b/scripts/quest/q58940e.py new file mode 100755 index 0000000..33de1af --- /dev/null +++ b/scripts/quest/q58940e.py @@ -0,0 +1,10 @@ +# id 58940 ([Hieizan Temple] The End of Princess No), field 811000033 +sm.setSpeakerType(3) +sm.setParam(17) +sm.sendNext("She has already become...too wicked.") +sm.sendSay("...I should get the mirror to Ayame first.") +sm.completeQuestNoCheck(parentID) +sm.createQuestWithQRValue(58948, "clear=1") +sm.startQuest(58979) +sm.startQuest(58978) +sm.warp(811000008) diff --git a/scripts/quest/q58940s.py b/scripts/quest/q58940s.py new file mode 100755 index 0000000..3a85db4 --- /dev/null +++ b/scripts/quest/q58940s.py @@ -0,0 +1,7 @@ +# id 58940 ([Hieizan Temple] The End of Princess No), field 811000029 +sm.setSpeakerType(3) +sm.setParam(17) +sm.sendNext("...Everything was an illusion? Perhaps that's not the worst thing that's happened. But what was she trying to show me? ") +sm.sendSay("I still haven't found the shrine that Ayame talked about. Princess No must be there.") +sm.sendSay("The shrine is a little bit west of here. ") +sm.startQuest(parentID) diff --git a/scripts/quest/q58941e.py b/scripts/quest/q58941e.py new file mode 100755 index 0000000..d1c904e --- /dev/null +++ b/scripts/quest/q58941e.py @@ -0,0 +1,8 @@ +# id 58941 ([Hieizan Temple] Sad Little Boy), field 811000014 +sm.setSpeakerID(9130107) # Mysterious Boy +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(9130107) # Mysterious Boy +sm.sendNext("Did you really find my bag?") +sm.sendSay("Thank you! Thank you so much.") +sm.completeQuestNoCheck(parentID) +sm.createQuestWithQRValue(18418, "B=35632") diff --git a/scripts/quest/q58941s.py b/scripts/quest/q58941s.py new file mode 100755 index 0000000..0bb0c9d --- /dev/null +++ b/scripts/quest/q58941s.py @@ -0,0 +1,21 @@ +# id 58941 ([Hieizan Temple] Sad Little Boy), field 811000014 +sm.setSpeakerID(9130107) # Mysterious Boy +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(9130107) # Mysterious Boy +sm.sendNext("*Sniff*") +sm.setParam(16) +sm.sendSay("(A boy in a place like this? Quite suspicious. And crying at that. I should just... pretend I didn't see.)") +sm.setParam(4) +res = sm.sendAskYesNo("*Sniff* WAHHHH.... Wait, is that... Is somebody there? Please, help me! ") +sm.startQuest(parentID) +sm.startQuest(58979) +sm.setParam(16) +sm.sendNext("Ergh... What's wrong?") +sm.setParam(4) +sm.sendSay("I used to serve the alliance military. I took care of the horses. We were led here from the guard post and... I guess passed out in all the chaos.") +sm.setParam(16) +sm.sendSay("The alliance army is here? ...Where are the other alliance soldiers? ") +sm.setParam(4) +sm.sendSay("All the soldiers went... I don't know. They're strange now. I-I'm scared. I want to get out of here. Could you find my sack for me?") +sm.sendSay("It's the only thing I have to remember my father by. I'm pretty sure I dropped it somewhere close by but I can't see, it's too dark.") +sm.sendPrev("It's a bag with very pretty flower prints. Don't judge.") diff --git a/scripts/quest/q58942e.py b/scripts/quest/q58942e.py new file mode 100755 index 0000000..f31dc6e --- /dev/null +++ b/scripts/quest/q58942e.py @@ -0,0 +1,8 @@ +# id 58942 ([Hieizan Temple] The Lost Alliance 1), field 811000014 +sm.completeQuestNoCheck(parentID) +sm.setSpeakerID(9130107) # Mysterious Boy +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(9130107) # Mysterious Boy +sm.sendNext("What...? The soldiers are being brainwashed? ") +sm.createQuestWithQRValue(18418, "B=35633") +sm.sendPrev("What do we do? CAN we do anything? ") diff --git a/scripts/quest/q58942s.py b/scripts/quest/q58942s.py new file mode 100755 index 0000000..258c8b7 --- /dev/null +++ b/scripts/quest/q58942s.py @@ -0,0 +1,9 @@ +# id 58942 ([Hieizan Temple] The Lost Alliance 1), field 811000014 +sm.setSpeakerID(9130107) # Mysterious Boy +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(9130107) # Mysterious Boy +sm.sendNext("The alliance men? Last I saw, the Spirit Walkers were giving them some weird potions and casting spells, then they turned strange. What could have happened?") +sm.sendSay("Please save them. They were so good to me, almost like fathers.") +res = sm.sendAskYesNo("I saw the Oda Spirit Walkers nearby. Maybe we can get some information from them.") +sm.startQuest(parentID) +sm.sendSayOkay("Thank you for your help! I think defeating about 100 Oda Spirit Walkers will give you enough leads.") diff --git a/scripts/quest/q58943e.py b/scripts/quest/q58943e.py new file mode 100755 index 0000000..eb0b6b7 --- /dev/null +++ b/scripts/quest/q58943e.py @@ -0,0 +1,8 @@ +# id 58943 ([Hieizan Temple] Strange Alliance Men -2-), field 811000014 +sm.completeQuestNoCheck(parentID) +sm.setSpeakerID(9130107) # Mysterious Boy +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(9130107) # Mysterious Boy +sm.sendNext("Yes, that's it. That's the jar I saw. ") +sm.createQuestWithQRValue(18418, "B=35634") +sm.sendPrev("Okay! Now that we have the jars, we just have to put some souls in them.") diff --git a/scripts/quest/q58943s.py b/scripts/quest/q58943s.py new file mode 100755 index 0000000..9a9ca0e --- /dev/null +++ b/scripts/quest/q58943s.py @@ -0,0 +1,17 @@ +# id 58943 ([Hieizan Temple] Strange Alliance Men -2-), field 811000014 +sm.setSpeakerID(9130107) # Mysterious Boy +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(9130107) # Mysterious Boy +sm.sendNext("Do you think that this will help turn the soldiers back to normal? ") +sm.setParam(16) +sm.sendSay("What's this?") +sm.setParam(4) +sm.sendSay("Before I passed out, one of the soldiers gave me this note.") +sm.setParam(16) +sm.sendSay("(You open the note.) 'The Oda Spirit Walker Jars can hold innocent souls. Ask someone to do that for our souls.' ") +sm.sendSay("...Welp, I guess there isn't actually a way to turn them back.") +sm.setParam(4) +res = sm.sendAskYesNo("I saw an Oda Spirit Walker carrying a suspicious jar. I think that might be what they are referring to.") +sm.startQuest(parentID) +sm.sendNext("They were such good people... I'm sad that this is the only thing we can do.") +sm.sendPrev("Whatever the case, I think we should get the jars first.") diff --git a/scripts/quest/q58944e.py b/scripts/quest/q58944e.py new file mode 100755 index 0000000..8465a2a --- /dev/null +++ b/scripts/quest/q58944e.py @@ -0,0 +1,8 @@ +# id 58944 ([Hieizan Temple] Fill the Red Jar), field 811000014 +sm.setSpeakerID(9130107) # Mysterious Boy +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(9130107) # Mysterious Boy +sm.sendNext("Thank you for all your help. Even brainwashed, it couldn't have been easy taking their souls...") +sm.sendSay("But thanks to your bravery, their souls can be free now.") +sm.completeQuestNoCheck(parentID) +sm.createQuestWithQRValue(18418, "B=35635") diff --git a/scripts/quest/q58944s.py b/scripts/quest/q58944s.py new file mode 100755 index 0000000..b8fa61a --- /dev/null +++ b/scripts/quest/q58944s.py @@ -0,0 +1,10 @@ +# id 58944 ([Hieizan Temple] Fill the Red Jar), field 811000014 +sm.setSpeakerID(9130107) # Mysterious Boy +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(9130107) # Mysterious Boy +sm.sendNext("A jar of souls... It sounds terrible, but I guess it's the best we can do. ") +res = sm.sendAskYesNo("Would you please help me gather those poor souls? ") +sm.startQuest(parentID) +sm.sendNext("Thank you. I feel a lot better. ") +sm.sendSay("Eliminate 100 #o9450031:# monsters in #m811000015:# to fill this jar. ") +sm.sendPrev("I'll leave it to you. ") diff --git a/scripts/quest/q58945e.py b/scripts/quest/q58945e.py new file mode 100755 index 0000000..c4942d9 --- /dev/null +++ b/scripts/quest/q58945e.py @@ -0,0 +1,8 @@ +# id 58945 ([Hieizan Temple] Fill the Blue Jar), field 811000014 +sm.setSpeakerID(9130107) # Mysterious Boy +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(9130107) # Mysterious Boy +sm.sendNext("Woo! It's quite heavy now. Feel all those souls... ") +sm.sendSay("It's VERY full! ") +sm.completeQuestNoCheck(parentID) +sm.createQuestWithQRValue(18418, "B=35636") diff --git a/scripts/quest/q58945s.py b/scripts/quest/q58945s.py new file mode 100755 index 0000000..7e64a99 --- /dev/null +++ b/scripts/quest/q58945s.py @@ -0,0 +1,11 @@ +# id 58945 ([Hieizan Temple] Fill the Blue Jar), field 811000014 +sm.setSpeakerID(9130107) # Mysterious Boy +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(9130107) # Mysterious Boy +sm.sendNext("You did a great job filling up this red jar! I just know that you will do the same with the blue jar. ") +res = sm.sendAskYesNo("Hope you can still help with filling the jar... This is all for the souls of those men...") +sm.startQuest(parentID) +sm.sendNext("The second jar will fill if you eliminate about 150 #o9450032:# monsters in #m811000016:#. ") +sm.sendSay("Please hurry to get this job done. ") +sm.setParam(16) +sm.sendPrev("Get this job done...?") diff --git a/scripts/quest/q58946e.py b/scripts/quest/q58946e.py new file mode 100755 index 0000000..7577ece --- /dev/null +++ b/scripts/quest/q58946e.py @@ -0,0 +1,9 @@ +# id 58946 ([Hieizan Temple] Fill the Yellow Jar), field 811000014 +sm.setSpeakerID(9130107) # Mysterious Boy +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(9130107) # Mysterious Boy +sm.sendNext("Thank you! This jar looks good, #h0#.") +sm.sendSay("Now we just have to wrap them up... ") +sm.sendSay("Give me a second, okay?") +sm.completeQuestNoCheck(parentID) +sm.createQuestWithQRValue(18418, "B=35637") diff --git a/scripts/quest/q58946s.py b/scripts/quest/q58946s.py new file mode 100755 index 0000000..1e95246 --- /dev/null +++ b/scripts/quest/q58946s.py @@ -0,0 +1,11 @@ +# id 58946 ([Hieizan Temple] Fill the Yellow Jar), field 811000014 +sm.setSpeakerID(9130107) # Mysterious Boy +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(9130107) # Mysterious Boy +sm.sendNext("The last one is the yellow jar, heh. ") +sm.sendSay("Thank you for all your hard work, but could you please help me just ONCE more?") +res = sm.sendAskYesNo("I promise, I SWEAR this is the last one! After this, the alliance men can truly rest...") +sm.startQuest(parentID) +sm.sendNext("The third jar will fill up after you take down 200 #o9450033:# monsters of #m811000017:#...") +sm.sendSay("Woo, I know. I also wonder how so many alliance soldiers ended up like this.") +sm.sendPrev("This is the last round, so cheer up! I know you can do it.") diff --git a/scripts/quest/q58947e.py b/scripts/quest/q58947e.py new file mode 100755 index 0000000..3d7c420 --- /dev/null +++ b/scripts/quest/q58947e.py @@ -0,0 +1,10 @@ +# id 58947 ([Hieizan Temple] Jars at Rest 1), field 811000018 +sm.setSpeakerID(9130108) # Mysterious Boy +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(9130107) # Mysterious Boy +sm.sendNext("You got here faster than I thought. Figures, since you aren't carrying anything.") +sm.sendSay("Whoof! As for me, I'm all worn out from carrying ALL these jars. My arms are about to FALL OFF! ") +sm.sendSay("...Which means you should offer to carry these for me. Here.") +sm.completeQuestNoCheck(parentID) +sm.sendPrev("Be careful with these. I don't know what we'd do if you broke them.") +sm.createQuestWithQRValue(18418, "B=35638") diff --git a/scripts/quest/q58947s.py b/scripts/quest/q58947s.py new file mode 100755 index 0000000..12efc7a --- /dev/null +++ b/scripts/quest/q58947s.py @@ -0,0 +1,12 @@ +# id 58947 ([Hieizan Temple] Jars at Rest 1), field 811000014 +sm.setSpeakerID(9130107) # Mysterious Boy +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(9130107) # Mysterious Boy +sm.sendNext("Here, I wrapped up the jars you gave me with my bag cloth.") +sm.sendSay("Isn't this cloth nice? My mother made it herself, hee hee.") +sm.setParam(16) +sm.sendSay("(You felt it earlier, too... The floral prints are actually kind of unpleasant. Ugly. But you hold your tongue.)") +sm.setParam(4) +res = sm.sendAskYesNo("Now, I'll meet you at #m811000018:#. That's where you want to place the jars. ") +sm.startQuest(parentID) +sm.sendSayOkay("#m811000018:# is just past #m811000017:#. I'll see you there.") diff --git a/scripts/quest/q58955s.py b/scripts/quest/q58955s.py new file mode 100755 index 0000000..7f75261 --- /dev/null +++ b/scripts/quest/q58955s.py @@ -0,0 +1,16 @@ +# id 58955 (Will of the Five Planets), field 811000008 +sm.setSpeakerID(9130104) # Princess Sakuno +sm.sendNext("...Something very regrettable is happening.") +sm.setParam(2) +sm.sendSay("What is it?") +sm.setParam(0) +sm.sendSay("An ominous force has come in the wake of Oda Nobunaga and Princess No's attempts to cross dimensions. At this rate, we may be thrown fully into Maple World and disappear. ") +sm.setParam(2) +sm.sendSay("Is there any way to stop that from happening?") +sm.setParam(0) +sm.sendSay("The Demon King refused to cooperate with Princess No, but he also did not return to his domain. To send him back, we must eliminate Princess No, the summoner.") +sm.sendSay("The will of the five planets sent us a message. This should help us eliminate Princess No.") +sm.sendSay("Warriors shall inherit Mars's message, Magicians inherit Mercury's, Bowmen inherit Jupiter's, Thieves inherit Venus's, and Pirates inherit Saturn's.") +sm.sendSay("We now have a solid reason to eliminate Princess No.") +sm.completeQuestNoCheck(parentID) +sm.createQuestWithQRValue(18418, "B=35674") diff --git a/scripts/quest/q58963s.py b/scripts/quest/q58963s.py new file mode 100755 index 0000000..ded8d2e --- /dev/null +++ b/scripts/quest/q58963s.py @@ -0,0 +1,12 @@ +# id 58963 ([Hieizan Temple] Jars at Rest 2), field 811000018 +sm.setSpeakerID(9130108) # Mysterious Boy +sm.setParam(4) +sm.setInnerOverrideSpeakerTemplateID(9130107) # Mysterious Boy +sm.sendNext("Just place these jars on the stone altar in front of the east tower over there.\r\nSimple, right? I've heard that that area is the best spot... ") +sm.sendSay("Did you know? There are a lot of souls floating around in this temple.") +sm.setParam(16) +sm.sendSay("(You feel something strange. He doesn't seem like the same boy you met earlier.)") +sm.setParam(4) +res = sm.sendAskYesNo("Now, go on. Place the jars on that altar. ") +sm.startQuest(parentID) +sm.sendSayOkay("Simply click the altar. ") diff --git a/scripts/quest/q58964e.py b/scripts/quest/q58964e.py new file mode 100755 index 0000000..a6fba0b --- /dev/null +++ b/scripts/quest/q58964e.py @@ -0,0 +1,7 @@ +# id 58964 ([Hieizan Temple] Chasing the Boy), field 811000019 +sm.setSpeakerType(3) +sm.setParam(16) +sm.sendNext("Whew, I guess things won't get any worse.") +sm.sendSay(" The boy must be outside, I should follow him.") +sm.completeQuestNoCheck(parentID) +sm.createQuestWithQRValue(18418, "B=35640") diff --git a/scripts/quest/q58964s.py b/scripts/quest/q58964s.py new file mode 100755 index 0000000..e085758 --- /dev/null +++ b/scripts/quest/q58964s.py @@ -0,0 +1,6 @@ +# id 58964 ([Hieizan Temple] Chasing the Boy), field 811000019 +sm.setSpeakerType(3) +sm.setParam(16) +sm.sendNext("Hm? What is this place? I should check it out. ") +sm.sendSay("Maybe he went in that way. ") +sm.startQuest(parentID) diff --git a/scripts/quest/q58965s.py b/scripts/quest/q58965s.py new file mode 100755 index 0000000..70351b3 --- /dev/null +++ b/scripts/quest/q58965s.py @@ -0,0 +1,5 @@ +# id 58965 ([Hieizan Temple] The Reunion 1), field 811000019 +sm.setSpeakerType(3) +sm.setParam(16) +sm.sendNext("Looks like the boy went deeper into Hieizan.") +sm.startQuest(parentID) diff --git a/scripts/quest/q58966e.py b/scripts/quest/q58966e.py new file mode 100755 index 0000000..e314f19 --- /dev/null +++ b/scripts/quest/q58966e.py @@ -0,0 +1,7 @@ +# id 58966 ([Hieizan Temple] The Reunion 2), field 811000025 +sm.setSpeakerType(3) +sm.setParam(16) +sm.sendNext("Hm, Princess No has some weird tastes. ") +sm.sendSay("Is the boy in there? Maybe he no longer matters... I'll find out when I enter.") +sm.completeQuestNoCheck(parentID) +sm.createQuestWithQRValue(18418, "B=35642") diff --git a/scripts/quest/q58966s.py b/scripts/quest/q58966s.py new file mode 100755 index 0000000..47c1d12 --- /dev/null +++ b/scripts/quest/q58966s.py @@ -0,0 +1,6 @@ +# id 58966 ([Hieizan Temple] The Reunion 2), field 811000021 +sm.setSpeakerType(3) +sm.setParam(16) +sm.sendNext("Where did he go? Something must be up, otherwise he wouldn't have left in such a hurry. ") +sm.sendSay(" I have to stop them. ") +sm.startQuest(parentID) diff --git a/scripts/quest/q58967s.py b/scripts/quest/q58967s.py new file mode 100755 index 0000000..47ed304 --- /dev/null +++ b/scripts/quest/q58967s.py @@ -0,0 +1,16 @@ +# id 58967 ([Hieizan Temple] The Demon King Returns), field 811000029 +sm.lockInGameUI(True, True) +sm.setSpeakerID(9130116) # Princess No +sm.setParam(5) +sm.setInnerOverrideSpeakerTemplateID(9130122) # Dark Voice +sm.sendSay("Was it you who summoned me...") +sm.sendSay("...You're quite weak to summon one such as myself. ") +sm.sendSay("I will not accept such a weak body... But I will reward you for summoning me... Muahaha. ") +sm.sendSay("My wickedness shall strengthen your body. ") +sm.sendDelay(2900) +sm.reservedEffect(False, 0, 0, "Effect/DirectionJP3.img/sengoku/Scene0") +sm.completeQuestNoCheck(parentID) +sm.startQuest(58949) +sm.createQuestWithQRValue(58974, "m035=clear;dr1=clear;dr2=clear;m037=clear;m038=clear;m039=clear") +sm.lockInGameUI(False, True) +sm.createQuestWithQRValue(18418, "B=35643") diff --git a/scripts/quest/q58968e.py b/scripts/quest/q58968e.py new file mode 100755 index 0000000..ba2cf85 --- /dev/null +++ b/scripts/quest/q58968e.py @@ -0,0 +1,9 @@ +# id 58968 ([Hieizan Temple] The End of Princess No), field 811000033 +sm.setSpeakerType(3) +sm.setParam(17) +sm.sendNext("She has already become...too wicked.") +sm.sendSay("...I should get the mirror to Ayame first.") +sm.completeQuestNoCheck(parentID) +sm.startQuest(58979) +sm.startQuest(58978) +sm.warp(811000008) diff --git a/scripts/quest/q58968s.py b/scripts/quest/q58968s.py new file mode 100755 index 0000000..d1a4b42 --- /dev/null +++ b/scripts/quest/q58968s.py @@ -0,0 +1,7 @@ +# id 58968 ([Hieizan Temple] The End of Princess No), field 811000029 +sm.setSpeakerType(3) +sm.setParam(17) +sm.sendNext("...Everything was an illusion? Perhaps that's not the worst thing that's happened. But what was she trying to show me? ") +sm.sendSay("I still haven't found the shrine that Ayame talked about. Princess No must be there.") +sm.sendSay("The shrine is a little bit west of here. ") +sm.startQuest(parentID) diff --git a/scripts/quest/q59000e.py b/scripts/quest/q59000e.py new file mode 100755 index 0000000..b9ad0f0 --- /dev/null +++ b/scripts/quest/q59000e.py @@ -0,0 +1,11 @@ +# 59000 - The Town Prankster +sm.setPlayerAsSpeaker() +sm.sendNext("Hilga, I am truly, deeply, totally, completely sorry. ") +sm.setSpeakerID(9390305) +sm.sendNext("You pulled this prank on me, #h #?") +sm.setPlayerAsSpeaker() +sm.sendNext("I thought everyone would find it entertaining, but I was wrong. I'm epically heroically massively sorry. Will you forgive me?") +sm.setSpeakerID(9390305) +sm.sendNext("Sigh. You're still young, so I suppose I have to let it slide. Don't do it again, okay?") +sm.completeQuest(parentID) +sm.dispose() diff --git a/scripts/quest/q59000s.py b/scripts/quest/q59000s.py new file mode 100755 index 0000000..562c2d2 --- /dev/null +++ b/scripts/quest/q59000s.py @@ -0,0 +1,12 @@ +# 59000 - The Town Prankster + +sm.setSpeakerID(9390304) +sm.sendNext("#b#h ##k, are you responsible for this? I know it's fun to pick on #b#p9390305##k, but it's really not very nice.") +sm.sendNext("I'm ashamed of you. Go apologise to #b#p9390305##k!") +if sm.sendAskYesNo("A true hero is never afraid to apologise!"): + sm.startQuest(parentID) + sm.setPlayerAsSpeaker() + sm.sendNext("I'm going to give the most epic apology ever!") + sm.dispose() +else: + sm.dispose() \ No newline at end of file diff --git a/scripts/quest/q59001e.py b/scripts/quest/q59001e.py new file mode 100755 index 0000000..a0f16d5 --- /dev/null +++ b/scripts/quest/q59001e.py @@ -0,0 +1,11 @@ +# 59001 - Crybaby + +sm.setPlayerAsSpeaker() +sm.sendNext("Hi, Bran... I'm really sorry...") +sm.setSpeakerID(9390306) +sm.sendNext("I knew it was you...") +sm.setPlayerAsSpeaker() +sm.sendNext("I'm super sorry. I solemnly swear I will never pull another prank on you, upon my honor as an aspiring hero.") +sm.completeQuest(parentID) +sm.dispose() + diff --git a/scripts/quest/q59001s.py b/scripts/quest/q59001s.py new file mode 100755 index 0000000..22d550b --- /dev/null +++ b/scripts/quest/q59001s.py @@ -0,0 +1,14 @@ +# 59001 - Crybaby + +sm.setSpeakerID(9390305) +sm.sendNext("Also, I saw #b#p9390306##k crying... Do you know anything about that?") +sm.setPlayerAsSpeaker() +sm.sendNext("Well...") +sm.setSpeakerID(9390305) +if sm.sendAskYesNo("#b#h ##k! You have to treat your friends better! Apologise to #b#p9390306##k!"): + sm.startQuest(parentID) + sm.setPlayerAsSpeaker() + sm.sendNext("You got it! A true hero is excellent at delivering apologies, as you just experienced!") + sm.dispose() +else: + sm.dispose() \ No newline at end of file diff --git a/scripts/quest/q59002s.py b/scripts/quest/q59002s.py new file mode 100755 index 0000000..025c880 --- /dev/null +++ b/scripts/quest/q59002s.py @@ -0,0 +1,22 @@ +# 59002 - Brave Like a Hero + +sm.setSpeakerID(9390306) +sm.sendNext("What is this with you and that hero thing? Do you really think you're cut out to be a hero?") +sm.setPlayerAsSpeaker() +sm.sendNext("Sure, I'm going to be a legend, just like the five Maple Heroes!") +sm.setSpeakerID(9390306) +sm.sendNext("Yeah. *snort* Sure.") +sm.setPlayerAsSpeaker() +sm.sendNext("You don't believe me? That's okay. What can I do to prove it to you?") +sm.setSpeakerID(9390306) +if sm.sendAskYesNo("You know #bWolf Forest#k to the east? The place even grown-ups are afraid of? Go there... ALONE. Then maybe I'll believe you'll be a hero someday."): + sm.setPlayerAsSpeaker() + sm.sendNext("You got it! Be back in a jiffy!") + sm.setSpeakerID(9390306) + sm.sendNext("W-wait! Really? Are you sure?") + sm.setPlayerAsSpeaker() + sm.sendNext("Bah, a hero like me ain't scared of no forest!") + sm.startQuest(parentID) + sm.dispose() +else: + sm.dispose() \ No newline at end of file diff --git a/scripts/quest/q61133e.py b/scripts/quest/q61133e.py new file mode 100755 index 0000000..5f2e032 --- /dev/null +++ b/scripts/quest/q61133e.py @@ -0,0 +1,9 @@ +# id 61133 (Blackgate's New Gate), field 610050000 +sm.setSpeakerID(9201428) # Angel +sm.sendNext("New recruit, huh? You don't look like much...") +sm.setParam(2) +sm.sendSay("Hey, I just wanted to check the place out. New areas are so exciting!") +sm.setParam(0) +sm.sendSay("#i3800848#\r\nLook, beggars can't be choosers. I'm getting reports that the demons are on the move again.") +sm.sendSay("Things aren't looking so good, so we'll take what we can get. You're in! Welcome to the BDF.") +sm.completeQuestNoCheck(parentID) diff --git a/scripts/quest/q61133s.py b/scripts/quest/q61133s.py new file mode 100755 index 0000000..edfc3d3 --- /dev/null +++ b/scripts/quest/q61133s.py @@ -0,0 +1,8 @@ +# id 61133 (Blackgate's New Gate), field 101070000 +sm.setSpeakerID(9201428) # Angel +sm.sendNext("We need all the young, tough heroes we can get in the Blackgate Defense Force.") +sm.sendSay("#i3800847#\r\nBlackgate is a hub of industry and science, but these demons are putting a real crimp in our work.") +res = sm.sendAskYesNo("The BDF wants YOU!") +sm.sendNext("#i3800849#\r\nCome to Blackgate City if you want to help drive out the invaders and reclaim our city.") +sm.sendSay("You can use the Dimensional Mirror to come to Blackgate City whenever you can.") +sm.startQuest(parentID) diff --git a/scripts/quest/q61134e.py b/scripts/quest/q61134e.py new file mode 100755 index 0000000..190f032 --- /dev/null +++ b/scripts/quest/q61134e.py @@ -0,0 +1,8 @@ +# id 61134 (Final Defensive Line), field 610050700 +sm.setSpeakerID(9201429) # Choy +sm.sendNext("AAAAAAAHHHHoooooh wait, you don't look like a demon. Are you part of the rescue team?") +sm.setParam(2) +sm.sendSay("More like I AM the rescue team. Nice to meet you.") +sm.setParam(0) +sm.sendSay("Oh! Well then, likewise. You look pretty new, honestly...") +sm.completeQuestNoCheck(parentID) diff --git a/scripts/quest/q61134s.py b/scripts/quest/q61134s.py new file mode 100755 index 0000000..90206cd --- /dev/null +++ b/scripts/quest/q61134s.py @@ -0,0 +1,11 @@ +# id 61134 (Final Defensive Line), field 610050000 +sm.setSpeakerID(9201428) # Angel +sm.sendNext("#i3800858#\r\nHere's your first mission, recruit. It's a search and rescue of a scout we sent to eastern Blackgate.") +sm.setParam(2) +sm.sendSay("You sure you want to send a recruit to save a recruit?") +sm.setParam(0) +sm.sendSay("#i3800859#\r\nDon't question your orders! We don't have the time. Our best officers need to hold the main defense lines.") +res = sm.sendAskYesNo("But I'm sure you can slip into the central area and find our man!") +sm.setParam(2) +sm.sendNext("Okay, I get it.\r\nMaybe through the outskirts...") +sm.startQuest(parentID) diff --git a/scripts/quest/q61135s.py b/scripts/quest/q61135s.py new file mode 100755 index 0000000..e803e67 --- /dev/null +++ b/scripts/quest/q61135s.py @@ -0,0 +1,3 @@ +# id 61135 (The Stranded Scout), field 610050700 +sm.setSpeakerID(9201429) # Choy +sm.sendNext("Still, thanks for coming out to find me. Unfortunately, I can't leave yet. I have a mission to complete.") diff --git a/scripts/quest/q61136s.py b/scripts/quest/q61136s.py new file mode 100755 index 0000000..e2cfe20 --- /dev/null +++ b/scripts/quest/q61136s.py @@ -0,0 +1,3 @@ +# id 61136 (Eyes in the Dark), field 610050100 +sm.setSpeakerID(9201430) # Solus +sm.sendNext("#i3800860#\r\nWe are the Night Angels, watchers of darkness.") diff --git a/scripts/quest/q61145s.py b/scripts/quest/q61145s.py new file mode 100755 index 0000000..2f76e47 --- /dev/null +++ b/scripts/quest/q61145s.py @@ -0,0 +1,23 @@ +# Created by MechAviv +# Quest ID :: 61145 +# Mysterious Merchant Matilda + +sm.setSpeakerID(9201451) +sm.removeEscapeButton() +sm.flipDialogue() +sm.sendNext("Hi! My name is #bMatilda#k.\r\nI sell lots of handy stuff. And not like those OTHER people that say that.\r\n You have the look of someone about to do something stupid and dangerous. #bI can help!#k") + + +sm.setSpeakerID(9201451) +sm.removeEscapeButton() +sm.flipDialogue() +sm.sendSay("How about letting me sell you some stuff that might keep you less dead?\r\n#i4143000# #i4140001# #i4142000# #i2501000# #i2500000# #i2320000#\r\nAll you need are #e#bmesos#n#k to get my nifty items.") + + +sm.setSpeakerID(9201451) +sm.removeEscapeButton() +sm.flipDialogue() +sm.sendSay("#bCome visit me in town. Any town!#k\r\nI like to stay mobile.") + +sm.startQuest(61145) +sm.completeQuest(61145) diff --git a/scripts/quest/q62000s.py b/scripts/quest/q62000s.py new file mode 100755 index 0000000..890e5a5 --- /dev/null +++ b/scripts/quest/q62000s.py @@ -0,0 +1,26 @@ +# [Shaoling Temple] Elder Jung's Summons + +ELDER_JUNG = 9310049 +MOUNT_SONG_HAMLET = 701210000 + +sm.removeEscapeButton() +sm.setBoxChat() +sm.flipBoxChat() +sm.flipBoxChatPlayerNoEscape() +sm.sendNext("#fs 24#(You've received a letter from #b#p"+ str(ELDER_JUNG) +"##k from Mount Song Hamlet.)") + +sm.setSpeakerID(ELDER_JUNG) +sm.setBoxChat() +sm.sendNext("I hope this finds you well, #h0#. " + "I am the elder of #b#m"+ str(MOUNT_SONG_HAMLET) +"##k. We have have of your great deeds for other realms. We are in dire need of your assistance.") + +response = sm.sendAskYesNo("The details are sensitive. I would like to discuss them in person. Will you join me at #b#m"+ str(MOUNT_SONG_HAMLET) +"##k?") + +if response: + sm.sendNext("Thank you. I await you at #b#m"+ str(MOUNT_SONG_HAMLET) +"##k.") + sm.warp(MOUNT_SONG_HAMLET) + sm.startQuest(parentID) + sm.completeQuest(parentID) + sm.giveExp(505113) +else: + sm.sendSayOkay("Let me remind you... You're talking to a letter.") \ No newline at end of file diff --git a/scripts/quest/q62001e.py b/scripts/quest/q62001e.py new file mode 100755 index 0000000..964408e --- /dev/null +++ b/scripts/quest/q62001e.py @@ -0,0 +1,13 @@ +# [Shaoling Temple] Intercepted Messages + +ELDER_JUNG = 9310049 +WISE_CHIEF_PRIEST = 9310053 + +sm.setSpeakerID(WISE_CHIEF_PRIEST) +sm.setBoxChat() +sm.sendNext("You bear a message from #b#p"+ str(ELDER_JUNG) +"##k?") + +sm.sendNext("So, demons have spread as far as Mount Song Hamlet... Something must be done...") +sm.completeQuest(parentID) +sm.consumeItem(4034635) +sm.giveExp(1515339) \ No newline at end of file diff --git a/scripts/quest/q62001s.py b/scripts/quest/q62001s.py new file mode 100755 index 0000000..585d447 --- /dev/null +++ b/scripts/quest/q62001s.py @@ -0,0 +1,24 @@ +# [Shaolin Temple] Intercepted Messages + +ELDER_JUNG = 9310049 +WISE_CHIEF_PRIEST = 9310053 + +sm.removeEscapeButton() +sm.setSpeakerID(ELDER_JUNG) +sm.setBoxChat() +sm.sendNext("While the outside world moves and sways to its own rhythm, things here in the depths of Mount Song stay the same. " + "Every tree, every blade of grass, we are still.") + +sm.sendNext("But disturbing rumors have arisen lately... Of demons and petty theft. By which I mean, demons stealing children's shoes.") + +sm.sendNext("I knew things had truly gone amiss when I saw the wild-haired Nine-Tailed Fox lurking in the woods.") + +sm.sendNext("I've sent several messages tot he Shaolin Temple. " + "It's their job to protect Mount Song, after all. But bandits keep intercepting the messages.") + +response = sm.sendAskYesNo("That is why I sent for you... " + "Will you retrieve my messages from the bandits and deliver them to my old friend, the #r#p"+ str(WISE_CHIEF_PRIEST) +"##k of Shaolin Temple?") + +if response: + sm.sendNext("Thank you. I will be here meditating until you return with good news.") + sm.startQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q62002e.py b/scripts/quest/q62002e.py new file mode 100755 index 0000000..4a3cb92 --- /dev/null +++ b/scripts/quest/q62002e.py @@ -0,0 +1,11 @@ +# [Shaolin Temple] Not a Demon + +ZHIKESENG = 9310041 + +sm.removeEscapeButton() +sm.setSpeakerID(ZHIKESENG) +sm.setBoxChat() +sm.sendNext("Well, then. I suppose are YOU human. How unexpected.") +sm.completeQuest(parentID) +sm.consumeItem(4034636) +sm.giveExp(1515339) \ No newline at end of file diff --git a/scripts/quest/q62002s.py b/scripts/quest/q62002s.py new file mode 100755 index 0000000..542655c --- /dev/null +++ b/scripts/quest/q62002s.py @@ -0,0 +1,3 @@ +# [Shaolin Temple] Not a demon + +sm.openNpc(9310041) # Zhikeseng \ No newline at end of file diff --git a/scripts/quest/q62003e.py b/scripts/quest/q62003e.py new file mode 100755 index 0000000..7966ed4 --- /dev/null +++ b/scripts/quest/q62003e.py @@ -0,0 +1,9 @@ +# id 62003 ([Shaolin Temple] The Chief Priest's Woes), field 701220000 +sm.completeQuestNoCheck(parentID) +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(9310053) # Wise Chief Priest +sm.sendNext("These demons are really becoming a problem.") +sm.playExclSoundWithDownBGM("Field.img/masteryBook/EnchantSuccess", 100) +sm.sendPrev("#b#p9310046##k will know what to do. That's why I gave him that promotion. Go talk to him.") diff --git a/scripts/quest/q62003s.py b/scripts/quest/q62003s.py new file mode 100755 index 0000000..85d7a95 --- /dev/null +++ b/scripts/quest/q62003s.py @@ -0,0 +1,23 @@ +# [Shaolin Temple] Chief Priest's Woes + +WISE_CHIEF_PRIEST = 9310053 +sm.removeEscapeButton() +sm.setSpeakerID(WISE_CHIEF_PRIEST) +sm.setBoxChat() +sm.sendNext("This is troubling... The demons have extended their reach to Mount Song Hamlet...") + +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.sendNext("Yeah, you know I thought you guys were supposed to be professional demon slayers or something, " + "but things look ever worse here than back in town.") + +sm.setSpeakerID(WISE_CHIEF_PRIEST) +sm.setBoxChat() +sm.sendNext("It is a sad tale... Long ago, the demons were sealed within the Sutra Depository. Now and then, a few would break free and play pranks on the towns people...") + +sm.sendNext("But we of the Shaolin Temple would suppress them, using the power of zen and prayer beads.") + +sm.sendNext("But lately, the demon presence has been overwhelming. Could there be a problem with the Sutra Depository?") + +sm.sendNext("Why don't you go investigate the Mahavira Hall?") +sm.startQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q62005e.py b/scripts/quest/q62005e.py new file mode 100755 index 0000000..352a9a2 --- /dev/null +++ b/scripts/quest/q62005e.py @@ -0,0 +1,18 @@ +# id 62005 ([Shaolin Temple] Demon B Gone), field 701220000 +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(9310046) # Zheung Guan +sm.sendNext("So, how'd everything go?") +sm.setSpeakerType(4) +sm.setSpeakerID(9310046) # Zheung Guan +sm.setParam(57) +sm.sendSay("You said the demons were going to disappear but MORE of them appeared! I almost died! ") +sm.setSpeakerType(3) +sm.setParam(37) +sm.sendSay("Yeah, that's what I was afraid of. I'll alter some ingredients... Maybe add in some extra bananas...") +sm.setSpeakerType(4) +sm.setParam(57) +sm.sendSay("(You don't want to be the one to test the new potion after what just happened. Maybe it's time to go talk to the #b#p9310053##k...)") +sm.completeQuestNoCheck(parentID) +sm.playExclSoundWithDownBGM("Field.img/masteryBook/EnchantSuccess", 100) diff --git a/scripts/quest/q62005s.py b/scripts/quest/q62005s.py new file mode 100755 index 0000000..a7167c6 --- /dev/null +++ b/scripts/quest/q62005s.py @@ -0,0 +1,33 @@ +# [Shaolin Temple] Demon B Gone + +ZHEUNG_GUAN = 9310046 +DEMON_B_GONE = 2434568 +PATH_OF_STONE = 701210160 + +sm.removeEscapeButton() +sm.setSpeakerID(ZHEUNG_GUAN) +sm.setBoxChat() +sm.sendNext("Let me guess. You were sent to help me. Why do they always send me the runts?") + +sm.sendNext("I've spent many sleepless nights concocting this #v"+ str(DEMON_B_GONE) +"##t"+ str(DEMON_B_GONE) +"#. Go test it out. If my calculations are correct, the result will be miraculous") + +if not sm.canHold(DEMON_B_GONE): + sm.sendSayOkay("Please make some space in your inventory.") + sm.dispose() + +sm.sendNext("Try it out at #b#m"+ str(PATH_OF_STONE) +"##k.") + +response = sm.sendAskYesNo("#b#m"+ str(PATH_OF_STONE) +"##k was once a sacred spot where we performed holy rituals. " + "Now it's become a playground for demons. Spritz my potion there to get rid of them.") + +if response: + sm.flipBoxChat() + sm.flipBoxChatPlayerAsSpeaker() + sm.sendNext("Uh, will there be any side effects?") + + sm.setSpeakerID(ZHEUNG_GUAN) + sm.setBoxChat() + sm.sendNext("We won't know until you try it out. Now get going!") + + sm.giveItem(2434568) + sm.startQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q62007e.py b/scripts/quest/q62007e.py new file mode 100755 index 0000000..c8b5198 --- /dev/null +++ b/scripts/quest/q62007e.py @@ -0,0 +1,27 @@ +# [Shaolin Temple] Investigate the Sutra Repository + +BOOK_OF_DEMONS = 4034637 +WISE_CHIEF_PRIEST = 9310053 + +sm.removeEscapeButton() +sm.setSpeakerID(WISE_CHIEF_PRIEST) +sm.setBoxChat() +sm.sendNext("Oh! The #bBook of Demons#k! You didn't... You didn't open the book, did you?") + +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.sendNext("I didn't have time. I was too busy rushing back here so we can save the world!") + +sm.setSpeakerID(WISE_CHIEF_PRIEST) +sm.setBoxChat() +sm.sendNext("Wonderful. You did beautifully. Now, off with you. Rest Up. You've earned it. I have things do.") + +sm.completeQuest(parentID) +sm.giveExp(3030679) +sm.consumeItem(BOOK_OF_DEMONS) +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.sendNext("(Whoa. the #b#p"+ str(WISE_CHIEF_PRIEST) +"##k rushed out of here. That book must be filled with really great info. His eyes lit up when he opened it.") + +sm.sendNext("(Well, another job well done. Time to say goodbye to my favourite demon trio back at the #rSutra Depository Secret Library#k.)") +sm.chatScript("Say farewell to the demons at the Sutra Depository Secret Library") \ No newline at end of file diff --git a/scripts/quest/q62007s.py b/scripts/quest/q62007s.py new file mode 100755 index 0000000..845599a --- /dev/null +++ b/scripts/quest/q62007s.py @@ -0,0 +1,49 @@ +# [Shaolin Temple] Investigate the Sutra Repository + +WISE_CHIEF_PRIEST = 9310053 +ZHEUNG_GUAN = 9310046 +BOOK_OF_DEMONS = 4034637 + +sm.removeEscapeButton() +sm.setSpeakerID(WISE_CHIEF_PRIEST) +sm.setBoxChat() +sm.sendNext("So the Demon B Gone didn't work? Oh well! Now, there's one other way...") + +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.sendNext("(Why did the Head Priest send me to #b#p"+ str(ZHEUNG_GUAN) +"##k if he had so little faith in him?! What a waste of time!)") + +sm.sendNext("I hope your next idea is better than your last. You better fill me in.") + +sm.setSpeakerID(WISE_CHIEF_PRIEST) +sm.setBoxChat() +sm.sendNext("Long ago, my master, #bMonk Laomo#k, researched demons. " + "He knew more about them than anyone He was the first to successfully seal the demons at the Sutra Depository.") + +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.sendNext("Let's ask HIM to help us!") + +sm.setSpeakerID(WISE_CHIEF_PRIEST) +sm.setBoxChat() +sm.sendNext("We can't. He left a long time ago to train and has never returned. " + "But he did write a book about his research before he left, called #v"+ str(BOOK_OF_DEMONS) +"##b#t"+ str(BOOK_OF_DEMONS) +"##k.") + +response = sm.sendAskYesNo("Can I entrust you with the task of searching for that book, #h0#?") + +if response: + sm.sendNext("The #v"+ str(BOOK_OF_DEMONS) +"##b#t"+ str(BOOK_OF_DEMONS) +"##k must hold some clue about how to get rid of the demons. " + "Locate that book as soon as possible. The fate of the entire world is at stake!") + + sm.flipBoxChat() + sm.flipBoxChatPlayerAsSpeaker() + sm.sendNext("Hey, #b#p"+ str(WISE_CHIEF_PRIEST) +"##k... Why didn't your teacher impart any of his knowledge on you before he left?") + + sm.setSpeakerID(WISE_CHIEF_PRIEST) + sm.setBoxChat() + sm.sendNext("That's exactly what I intend to ask him, should we and I ever meet again.") + + sm.sendNext("I've lived my entire life in #bMonk Laomo's#k shadow, but he didn't teach me even a single one of his lofty secrets.") + + sm.sendNext("But that has nothing to do with any of this. Hurry and find the #b#t"+ str(BOOK_OF_DEMONS) +"##k.") + sm.startQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q62008e.py b/scripts/quest/q62008e.py new file mode 100755 index 0000000..770f79b --- /dev/null +++ b/scripts/quest/q62008e.py @@ -0,0 +1,58 @@ +# [Shaolin Temple] Funny Face + +JANITOR_MONK = 9310048 +WISE_CHIEF_PRIEST = 9310053 +ANTIDOTE = 2050000 +MINI_BRONZE_MARTIAL_ARTIST = 9480025 +BRONZE_STAFFMAN = 9480028 +SUTRA_1_2F = 701220100 +SUTRA_3_4F = 701220200 +SUTRA_5_6F = 701220300 + + +sm.removeEscapeButton() +sm.setSpeakerID(JANITOR_MONK) +sm.setBoxChat() +sm.sendNext("Oh. Huh. You really came back, and you brought the #bAntidote#k, too.") + +sm.sendNext("Well, I am pretty thirsty. (He gulps it down.)") + +sm.sendNext("(He feels his face.)") + +sm.completeQuest(parentID) +sm.consumeItem(ANTIDOTE) +sm.giveExp(1010226) +sm.sendNext("Yup, that's my face all right. Big eyes, prominent nose. Thanks. Now, back to work.") + +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.sendNext("Are you SURE that's-- I mean, you're so handsome. Yay!") + +sm.setSpeakerID(JANITOR_MONK) +sm.setBoxChat() +sm.sendNext("Didn't you say you were looking for a #bbook#k?") + +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.sendNext("Long ago, #bMonk Laomo#k wrote a book detailing all of his demon research. I'm searching for that book.") + +sm.setSpeakerID(JANITOR_MONK) +sm.setBoxChat() +sm.sendNext("#bMonk Laomo#k? I've heard of him. No one knew more about demons that he did. Back when he was the #rChief Priest#k, a demon wouldn't dare set foot on this mountain.") + +sm.sendNext("He left to train one day and never returned. Our current #b#p"+ str(WISE_CHIEF_PRIEST) +"##k took over.") + +sm.sendNext("#bAnd then the demons came back. You know, in a way, the demons have really boosted the temple's reputation. Tons of people come here to make offerings and pray.") + +response = sm.sendAskYesNo("They say #bMonk Laomo#k had a secret library...\r\n" + "You know, I do recall seeing something strange while cleaning #r#m"+ str(SUTRA_5_6F) +"# Maybe you should investigate") + +if response: + sm.sendNext("Getting to the 6th floor might be tough. " + "Why don't you clear out " + "100 #o"+ str(MINI_BRONZE_MARTIAL_ARTIST) +"# monsters and " + "100 #o"+ str(BRONZE_STAFFMAN) +"# monsters at #m"+ str(SUTRA_1_2F) +"# to thin them out? " + "Then, #bwhen they're weakened, you can head up to #m"+ str(SUTRA_3_4F) +"#.") + sm.startQuest(62009) +else: + sm.sendSayOkay("Didn't you say you wanted that book?..") \ No newline at end of file diff --git a/scripts/quest/q62008s.py b/scripts/quest/q62008s.py new file mode 100755 index 0000000..e19f0a3 --- /dev/null +++ b/scripts/quest/q62008s.py @@ -0,0 +1,37 @@ +# [Shaolin Temple] Funny Face + +JANITOR_MONK = 9310048 +WISE_CHIEF_PRIEST = 9310053 +ANTIDOTE = 2050000 + +sm.removeEscapeButton() + +sm.setSpeakerID(JANITOR_MONK) +sm.setBoxChat() +sm.sendNext("Shoo, shoo! You don't belong here! I'm trying to clean!") + +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.sendNext("(Huh? Is that demon wearing monk robes?)") + +sm.setSpeakerID(JANITOR_MONK) +sm.setBoxChat() +sm.sendNext("Oh, wipe that dopey expression off your face. The demons played a trick on me, okay? " + "I'm the temple janitor, a HUMAN, and they thought it'd be soooo funny to give me a demon face. " + "Now shoo, I have floors to sweep.") + +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.sendNext("The #b#p"+ str(WISE_CHIEF_PRIEST) +"##k sent me. I'm here to find a #bbook#k. But... your poor face. What can I do to help?") + +sm.setSpeakerID(JANITOR_MONK) +sm.setBoxChat() +response = sm.sendAskYesNo("You can move and let me sweep! Oh, fine. " + "Why don't you get me some #v"+ str(ANTIDOTE) +"# #b#t"+ str(ANTIDOTE) +"##k from the General Store? Take your time, " + "and make sure you don't track mud on your way back!") + +if response: + sm.sendNext("Why are you still here? I can't sweep with you here! Go get me 1 #v"+ str(ANTIDOTE) +"# #b#t"+ str(ANTIDOTE) +"##k") + sm.startQuestNoCheck(parentID) +else: + sm.sendSayOkay("You just offered to help me, but when I ask for a #v"+ str(ANTIDOTE) +"# #b#t"+ str(ANTIDOTE) +"##k, it's too much work?") \ No newline at end of file diff --git a/scripts/quest/q62009e.py b/scripts/quest/q62009e.py new file mode 100755 index 0000000..a019ace --- /dev/null +++ b/scripts/quest/q62009e.py @@ -0,0 +1,11 @@ +# [Shaolin Temple] Cleaning House + +JANITOR_MONK = 9310048 +SUTRA_3_4F = 701220200 + +sm.removeEscapeButton() +sm.setSpeakerID(JANITOR_MONK) +sm.setBoxChat() +sm.sendNext("You've thinned them out a bit. Hurry up to #r#m"+ str(SUTRA_3_4F) +"##k! #rUse the portal on the upper right to get there.") +sm.completeQuest(parentID) +sm.giveExp(2020453) \ No newline at end of file diff --git a/scripts/quest/q62009s.py b/scripts/quest/q62009s.py new file mode 100755 index 0000000..b1a293f --- /dev/null +++ b/scripts/quest/q62009s.py @@ -0,0 +1,40 @@ +# [Shaolin Temple] Cleaning House + +JANITOR_MONK = 9310048 +WISE_CHIEF_PRIEST = 9310053 +MINI_BRONZE_MARTIAL_ARTIST = 9480025 +BRONZE_STAFFMAN = 9480028 +SUTRA_1_2F = 701220100 +SUTRA_3_4F = 701220200 +SUTRA_5_6F = 701220300 + + +sm.removeEscapeButton() +sm.setSpeakerID(JANITOR_MONK) +sm.setBoxChat() +sm.sendNext("Didn't you say you were looking for a #bbook#k?") + +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.sendNext("Long ago, #bMonk Laomo#k wrote a book detailing all of his demon research. I'm searching for that book.") + +sm.setSpeakerID(JANITOR_MONK) +sm.setBoxChat() +sm.sendNext("#bMonk Laomo#k? I've heard of him. No one knew more about demons that he did. Back when he was the #rChief Priest#k, a demon wouldn't dare set foot on this mountain.") + +sm.sendNext("He left to train one day and never returned. Our current #b#p"+ str(WISE_CHIEF_PRIEST) +"##k took over.") + +sm.sendNext("#bAnd then the demons came back. You know, in a way, the demons have really boosted the temple's reputation. Tons of people come here to make offerings and pray.") + +response = sm.sendAskYesNo("They say #bMonk Laomo#k had a secret library...\r\n" + "You know, I do recall seeing something strange while cleaning #r#m"+ str(SUTRA_5_6F) +"# Maybe you should investigate") + +if response: + sm.sendNext("Getting to the 6th floor might be tough. " + "Why don't you clear out " + "100 #o"+ str(MINI_BRONZE_MARTIAL_ARTIST) +"# monsters and " + "100 #o"+ str(BRONZE_STAFFMAN) +"# monsters at #m"+ str(SUTRA_1_2F) +"# to thin them out? " + "Then, #bwhen they're weakened, you can head up to #m"+ str(SUTRA_3_4F) +"#.") + sm.startQuest(62009) +else: + sm.sendSayOkay("Didn't you say you wanted that book?..") \ No newline at end of file diff --git a/scripts/quest/q62010e.py b/scripts/quest/q62010e.py new file mode 100755 index 0000000..a270bb4 --- /dev/null +++ b/scripts/quest/q62010e.py @@ -0,0 +1,12 @@ +# [Shaolin Temple] Wiping Up Demons + +CHENGXIN = 9310047 +SILVER_GIANT = 9480027 +SILVER_SPEARMAN = 9480029 + +sm.removeEscapeButton() +sm.setSpeakerID(CHENGXIN) +sm.setBoxChat() +sm.sendNext("Not too shabby, stranger. Talk to me again.") +sm.completeQuest(parentID) +sm.giveExp(2020453) \ No newline at end of file diff --git a/scripts/quest/q62010s.py b/scripts/quest/q62010s.py new file mode 100755 index 0000000..95271b5 --- /dev/null +++ b/scripts/quest/q62010s.py @@ -0,0 +1,12 @@ +# [Shaolin Temple] Wiping Up Demons + +CHENGXIN = 9310047 +SILVER_GIANT = 9480027 +SILVER_SPEARMAN = 9480029 + +sm.removeEscapeButton() +sm.setSpeakerID(CHENGXIN) +sm.setBoxChat() +sm.sendNext("Ah, ha! My support unit has arrived. On the double, defeat those demons!\r\n" + "150 #r#o"+ str(SILVER_SPEARMAN) +"##k monsters and 100 #r#o"+ str(SILVER_GIANT) +"##k monsters!") +sm.startQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q62011e.py b/scripts/quest/q62011e.py new file mode 100755 index 0000000..0117fd6 --- /dev/null +++ b/scripts/quest/q62011e.py @@ -0,0 +1,7 @@ +# id 62011 ([Shaolin Temple] Finding the Secret Library), field 701220300 +sm.setSpeakerType(3) +sm.setParam(57) +sm.setColor(1) +sm.sendNext("(You've found the library! Now all you have to do is locate the #t4034637#.)") +sm.completeQuestNoCheck(parentID) +sm.playExclSoundWithDownBGM("Field.img/masteryBook/EnchantSuccess", 100) diff --git a/scripts/quest/q62011s.py b/scripts/quest/q62011s.py new file mode 100755 index 0000000..2859d13 --- /dev/null +++ b/scripts/quest/q62011s.py @@ -0,0 +1,40 @@ +# [Shaolin Temple] Finding the Secret Library + +CHENGXIN = 9310047 +WISE_CHIEF_PRIEST = 9310053 +SUTRA_5_6F = 701220300 + +sm.removeEscapeButton() +sm.setSpeakerID(CHENGXIN) +sm.setBoxChat() +sm.sendNext("Now that the demons have quieted down, tell me who you are. What are you doing here?") + +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.sendNext("(You fill him in on the details.)") + +sm.setSpeakerID(CHENGXIN) +sm.setBoxChat() +sm.sendNext("Ah, #bMonk Laomo#k... Now there was a truly great leader. A selfless soul, not an ounce of greed in him... A far cry from our current #b#p"+ str(WISE_CHIEF_PRIEST) +"##k...") + +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.sendNext("(Come to think of it, the #b#p"+ str(WISE_CHIEF_PRIEST) +"##k was dressed rather ostentatiously, for a monk. " + "The main temple is rather flamboyant, too. And who names themselves '#b#p"+ str(WISE_CHIEF_PRIEST) +"##k'?") + +sm.setSpeakerID(CHENGXIN) +sm.setBoxChat() +sm.sendNext("You and I have the same aim, friend. Stopping those demons! I'll help you find that book!") + +sm.sendNext("You can't enter #b#m"+ str(SUTRA_5_6F) +"##k looking the way you do. The demonic power is too great. Try drinking this Metamorph Potion.") + +sm.sendNext("Temporarily transform into a demon and investigate #m"+ str(SUTRA_5_6F) +"#. The potion isn't that strong, so avoid the demons' direct gaze!") + +response = sm.sendAskYesNo("Ready to go?") + +if response: + sm.sendNext("Good luck, friend.") + sm.startQuest(parentID) + sm.warpInstanceIn(701220310) +else: + sm.sendSayOkay("Let me know when you are ready to go.") \ No newline at end of file diff --git a/scripts/quest/q62013e.py b/scripts/quest/q62013e.py new file mode 100755 index 0000000..9535db4 --- /dev/null +++ b/scripts/quest/q62013e.py @@ -0,0 +1,32 @@ +# [Shaolin Temple] But Everyone Else Has Nice Shoes + +TOWN_MISCREANT = 9310580 +KID_SHOES = 4034657 + +sm.removeEscapeButton() +sm.setSpeakerID(TOWN_MISCREANT) +sm.setBoxChat() +sm.sendNext("Hey! My shoes! Thanks for giving them back, demon!") + +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.sendNext("I'm not a demon!") + +sm.setSpeakerID(TOWN_MISCREANT) +sm.setBoxChat() +sm.sendNext("But only demons steal shoes from little kids who don't eat their orange mushrooms!") + +sm.sendNext("Ma told me so!") + +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.sendNext("It's not nice to stereotype against demons. The demon who BORROWED your shoes asked me to return them. He just wanted to try them on") + +sm.setSpeakerID(TOWN_MISCREANT) +sm.setBoxChat() +sm.sendNext("Really? Did he dance in them? Because I loooove dancing in these shoes. Maybe he and I can be friends!") + +sm.consumeItem(KID_SHOES) +sm.giveExp(2020453) +sm.completeQuestNoRewards(parentID) # completeQuest didn't work for w/e reason. +sm.warp(701220350) diff --git a/scripts/quest/q62013s.py b/scripts/quest/q62013s.py new file mode 100755 index 0000000..e26ea24 --- /dev/null +++ b/scripts/quest/q62013s.py @@ -0,0 +1,31 @@ +# [Shaolin Temple] But Everyone Else Has Nice Shoes + +BLUE_DEMON = 9310577 +KID_SHOES = 4034657 +PATH_OF_STONE_3 = 701210180 + +sm.removeEscapeButton() +sm.setSpeakerID(BLUE_DEMON) +sm.setBoxChat() +sm.sendNext("We all know that I'm the epitome of cute, but one day, I realised that colourful shoes would make me even cuter!") + +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.sendNext("So you stole some poor kid's shoes?") + +sm.setSpeakerID(BLUE_DEMON) +sm.setBoxChat() +sm.sendNext("I borrowed them. Kids don't need shoes while they're sleeping, and I was planning to return them in the morning") + +sm.sendNext("But as I was dancing around, admiring myself, I tripped and the shoes went soaring.") + +sm.sendNext("Do you think you can #rfind the #t"+ str(KID_SHOES) +"##k and return them?") + +response = sm.sendAskYesNo("Will you help me?") + +if response: + sm.sendNext("I'm sure you'll find the #b#t"+ str(KID_SHOES) +"##k at #r#m"+ str(PATH_OF_STONE_3) +"##k.") + sm.startQuest(parentID) + +else: + sm.sendSayOkay("I guess you don't want that book you were crying for..") \ No newline at end of file diff --git a/scripts/quest/q62014s.py b/scripts/quest/q62014s.py new file mode 100755 index 0000000..eca41e7 --- /dev/null +++ b/scripts/quest/q62014s.py @@ -0,0 +1,53 @@ +# [Shaolin Temple] Say My Name 1 + +BLUE_DEMON = 9310577 +selectName = ["Tyrone", "DeShawn", "Lamar"] + + +sm.removeEscapeButton() +sm.setSpeakerID(BLUE_DEMON) +sm.setBoxChat() +sm.sendNext("You returned the shoes! And the kid wants to be friends? I've never felt cuter in my life!") + +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.sendNext("That's right, #b#p"+ str(BLUE_DEMON) +"##k. You and me are buds now, so I'll give you a #rNickname#k.") + +sm.setSpeakerID(BLUE_DEMON) +sm.setBoxChat() +sm.sendNext("What's a #rNickname#k?") + +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.sendNext("It's a name that I can use to address you. Just like my name is #r#h0##k.") + +sm.sendNext("I want YOU to have a name. That way I don't have to use your demon name, which is really just the name of your species.") + +sm.setSpeakerID(BLUE_DEMON) +sm.setBoxChat() +sm.sendNext("If it's a human thing, I'm in!") + +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +text = "Hmm, what about I call you...\r\n" +for i in range(len(selectName)): + text += "#L"+ str(i) +"#"+ selectName[i] +"\r\n" +selection = sm.sendNext(text) + +sm.createQuestWithQRValue(62013, selectName[selection]) + +sm.setSpeakerID(BLUE_DEMON) +sm.setBoxChat() +sm.sendNext( sm.getQRValue(62013) +", hm? I.. I like it!") + +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.sendNext("I'll call you #r"+ sm.getQRValue(62013) +" from now on, then.") + +sm.setSpeakerID(BLUE_DEMON) +sm.setBoxChat() +sm.sendNext( "#r"+ sm.getQRValue(62013) +"#k has a nickname, #r"+ sm.getQRValue(62013) +"#k has a nickname!") + +sm.startQuest(parentID) +sm.completeQuest(parentID) +sm.giveExp(1010226) \ No newline at end of file diff --git a/scripts/quest/q62015e.py b/scripts/quest/q62015e.py new file mode 100755 index 0000000..a3f593e --- /dev/null +++ b/scripts/quest/q62015e.py @@ -0,0 +1,19 @@ +# id 62015 ([Shaolin Temple] Nine-Tailed Fox's One True Love), field 701220350 +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(9310579) # Nine-Tailed Fox +sm.sendNext("Did you deliver my letter? What did my beloved say?") +sm.setSpeakerType(4) +sm.setSpeakerID(9310579) # Nine-Tailed Fox +sm.setParam(57) +sm.sendSay(" (You can't tell her the truth without putting your eyeballs at risk, \r\nso you quickly come up with a lie.)") +sm.sendSay("He cried after reading your letter.\r\n He said the others in town suspect something, so they've been watching him non-stop.\r\n He said you'd be in danger if you approach, \r\nso you must stay far far away, for your own sake. ") +sm.setSpeakerType(3) +sm.setParam(37) +sm.sendSay("He... He really said that? Next time I see him, \r\nI'm going to... I'm going to... \r\n#rI'm going to hug him from behind!#k He cares about me so much!") +sm.setSpeakerType(4) +sm.setParam(57) +sm.sendSay(" (.........)") +sm.completeQuestNoCheck(parentID) +sm.playExclSoundWithDownBGM("Field.img/masteryBook/EnchantSuccess", 100) diff --git a/scripts/quest/q62015s.py b/scripts/quest/q62015s.py new file mode 100755 index 0000000..0a7fc1f --- /dev/null +++ b/scripts/quest/q62015s.py @@ -0,0 +1,48 @@ +# [Shaolin Temple] Nine-Tailed Fox's One True Love + +NINE_TAILED_FOX = 9310579 +MOUNTAIN_PATH_2 = 701210130 + +sm.removeEscapeButton() +sm.setSpeakerID(NINE_TAILED_FOX) +sm.setBoxChat() +sm.sendNext("Hmph. So you helped the little one return the shoes.\r\n" + "My problem is a little more complex.") + +sm.sendNext("My request is of a delicate, sensitive nature.\r\n" + "Will you listen?") + +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.sendNext("Go on. Spill your guts.") + +sm.setSpeakerID(NINE_TAILED_FOX) +sm.setBoxChat() +response = sm.sendAskYesNo("First, you must promise not to judge me...") + +if response: + + sm.sendNext("My tale is one of woe and #rforbidden love#k. The rest of my kind would never understand but...") + + sm.sendNext("I've fallen in love with a human woodcutter. " + "We met in the woods. We fell fast and hard. " + "He said that, for me, #rhe would do absolutely anything#k.") + + sm.sendNext("I left him after our few, precious moments together, and he must be in misery. " + "Please, deliver this letter to him.") + + sm.sendNext("The humans are being ridiculous with their torches and their pitchforks. " + "I can't reach my one true love, so hurry and deliver my letter. My beloved awaits.") + + sm.flipBoxChat() + sm.flipBoxChatPlayerAsSpeaker() + sm.sendNext("(Wow, so #b#p"+ str(NINE_TAILED_FOX) +"##k has a soft side. But what type of man would fall for a demon?)") + + sm.setSpeakerID(NINE_TAILED_FOX) + sm.setBoxChat() + sm.sendNext("Find my beloved woodcutter sweetie-kuns at #r#m"+ str(MOUNTAIN_PATH_2) +"##k.") + + sm.startQuest(parentID) + +else: + sm.sendSayOkay("If you are going to judge me, I won't tell my tale.") \ No newline at end of file diff --git a/scripts/quest/q62017s.py b/scripts/quest/q62017s.py new file mode 100755 index 0000000..17e0f89 --- /dev/null +++ b/scripts/quest/q62017s.py @@ -0,0 +1,53 @@ +# [Shaolin Temple] Say My Name 2 + +NINE_TAILED_FOX = 9310579 +selectName = ["Quashara", "Quivia", "Shaniqua"] + +sm.removeEscapeButton() +sm.setSpeakerID(NINE_TAILED_FOX) +sm.setBoxChat() +sm.sendNext("You did surprisingly well, human.\r\n" + "I guess I'll let you live.") + +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.sendNext("That's right, #b#p"+ str(NINE_TAILED_FOX) +"##k. You and me are buds now, so I'll give you a #rNickname#k.") + +sm.setSpeakerID(NINE_TAILED_FOX) +sm.setBoxChat() +sm.sendNext("What's a #rNickname#k?") + +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.sendNext("It's a name that I can use to address you. Just like my name is #r#h0##k.") + +sm.sendNext("I want YOU to have a name. That way I don't have to use your demon name, which is really just the name of your species.") + +sm.setSpeakerID(NINE_TAILED_FOX) +sm.setBoxChat() +sm.sendNext("If it's a human thing, I'm in!") + +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +text = "Hmm, what about I call you...\r\n" +for i in range(len(selectName)): + text += "#L"+ str(i) +"#"+ selectName[i] +"\r\n" +selection = sm.sendNext(text) + +sm.createQuestWithQRValue(62015, selectName[selection]) + +sm.setSpeakerID(NINE_TAILED_FOX) +sm.setBoxChat() +sm.sendNext(sm.getQRValue(62015) +", hm? I kinda like it.") + +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.sendNext("I'll call you #r"+ sm.getQRValue(62015) +"#k from now on, then.") + +sm.setSpeakerID(NINE_TAILED_FOX) +sm.setBoxChat() +sm.sendNext( "Very well. #r"+ sm.getQRValue(62015) +"#k has a sophisticated ring to it") + +sm.startQuest(parentID) +sm.completeQuest(parentID) +sm.giveExp(1010226) \ No newline at end of file diff --git a/scripts/quest/q62018e.py b/scripts/quest/q62018e.py new file mode 100755 index 0000000..e39c77d --- /dev/null +++ b/scripts/quest/q62018e.py @@ -0,0 +1,12 @@ +# [Shaolin Temple] Demon-iority Complex + +GOBLIN_DEMON = 9310578 +HUMAN_FACE_MASK = 4034664 + +sm.removeEscapeButton() +sm.setSpeakerID(GOBLIN_DEMON) +sm.setBoxChat() +sm.sendNext("You SURE I'll learn how to tolerate humans better if I wear this? Okaaay...") +sm.completeQuest(parentID) +sm.consumeItem(HUMAN_FACE_MASK) +sm.giveExp(1515339) \ No newline at end of file diff --git a/scripts/quest/q62018s.py b/scripts/quest/q62018s.py new file mode 100755 index 0000000..ced77c0 --- /dev/null +++ b/scripts/quest/q62018s.py @@ -0,0 +1,43 @@ +# [Shaolin Temple] Demon-iority Complex + +GOBLIN_DEMON = 9310578 +DABAO = 9310034 +MAHAVIRA_HALL = 701220000 + +sm.removeEscapeButton() +sm.setBoxChat() +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.sendNext("Hey, #b#p"+ str(GOBLIN_DEMON) +"##k. Will it gross you out too much if I talk to you?") + +sm.setSpeakerID(GOBLIN_DEMON) +sm.setBoxChat() +sm.sendNext("Yes. But what choice do I have? You've already helped the others...") + +sm.sendNext("The world is changing, you know? Demons and humans, working together.") + +sm.sendNext("My parents would die if they knew. But I have to adapt, if I want to survive. \r\n" + "It's just... I find humans so utterly disgusting.") + +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.sendNext("I have an Idea.") + +sm.setSpeakerID(GOBLIN_DEMON) +sm.setBoxChat() +sm.sendNext("I'm almost afraid to ask...") + +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.sendNext("It's about acclimation. You have to immerse yourself. Hey, I think I'm gonna get you the mask of a human face.") + +sm.setSpeakerID(GOBLIN_DEMON) +sm.setBoxChat() +response = sm.sendAskYesNo("How is that a good idea? Haven't you heard a word I've been saying?") + +if response: + sm.flipBoxChat() + sm.flipBoxChatPlayerAsSpeaker() + sm.sendNext("You've got to live, breathe, and think human. Then you'll understand us. Trust me. I'm going to go to ask #p"+ str(DABAO) +"# at #m"+ str(MAHAVIRA_HALL) +"# to make you that mask.") + + sm.startQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/q62019e.py b/scripts/quest/q62019e.py new file mode 100755 index 0000000..97c414c --- /dev/null +++ b/scripts/quest/q62019e.py @@ -0,0 +1,24 @@ +# [Shaolin Temple] Making a Mask + +DABAO = 9310034 +HUMAN_FACE_MASK = 4034664 +GOBLIN_DEMON = 9310578 +SECRET_LIBRARY = 701220350 +SOFT_LEATHER = 4034724 + +sm.removeEscapeButton() +sm.setSpeakerID(DABAO) +sm.setBoxChat() +sm.sendNext("You got the leather! Now it's my turn.") + +sm.sendNext("All done!") + +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.sendNext("(The face on the mask looks very realistic, though you have the niggling feeling it may have been extracted from a real person. " + "No matter. Bring it to #p"+ str(GOBLIN_DEMON) +"# at the #m"+ str(SECRET_LIBRARY) +"#.)") + +sm.completeQuest(parentID) +sm.consumeItem(SOFT_LEATHER, 30) +sm.giveExp(1515339) +sm.giveItem(HUMAN_FACE_MASK) diff --git a/scripts/quest/q62019s.py b/scripts/quest/q62019s.py new file mode 100755 index 0000000..1c75527 --- /dev/null +++ b/scripts/quest/q62019s.py @@ -0,0 +1,38 @@ +# [Shaolin Temple] Making a Mask + +DABAO = 9310034 + +sm.removeEscapeButton() +sm.setSpeakerID(DABAO) +sm.setBoxChat() +sm.sendNext("How can I help you today?") + +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.sendNext("Do you... make masks?") + +sm.setSpeakerID(DABAO) +sm.setBoxChat() +sm.sendNext("Oh, sure. Sure. I do it all. What kind of mask do you want?") + +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.sendNext("Um, a man face?") + +sm.setSpeakerID(DABAO) +sm.setBoxChat() +sm.sendNext("Come again?") + +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.sendNext("Like, a mask of a man's face. It's for, um, science..") + +sm.setSpeakerID(DABAO) +sm.setBoxChat() +sm.sendNext("I could never say no to science.") + +sm.sendNext("All I need is some soft leather to make the mask. " + "Problem is, the leather was being stored iat the Sutra Depository Warehouse, and silver demons stole it all.") + +sm.sendNext("If you can bring me 30 pieces of soft leather, I'll make your mask.") +sm.startQuestNoCheck(parentID) \ No newline at end of file diff --git a/scripts/quest/q62020s.py b/scripts/quest/q62020s.py new file mode 100755 index 0000000..0ec7754 --- /dev/null +++ b/scripts/quest/q62020s.py @@ -0,0 +1,124 @@ +# [Shaolin Temple] Say My Name 3 + +GOBLIN_DEMON = 9310578 +BLUE_DEMON = 9310577 +NINE_TAILED_FOX = 9310579 +selectName = ["Aharon", "Baruch", "Binyamin"] + + +sm.removeEscapeButton() +sm.setSpeakerID(GOBLIN_DEMON) +sm.setBoxChat() +sm.sendNext("Wll, I've put on the mask and noth-- Hey... What is this feeling coming over me? Humans... HUMANS ARE GREAT!") + +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.sendNext("I can't believe that worked. Anyway, #b#p"+ str(GOBLIN_DEMON) +"##k, a human sympathiser like you deserves a good #rNickname#k.") + +sm.setSpeakerID(GOBLIN_DEMON) +sm.setBoxChat() +sm.sendNext("What's a #rNickname#k?") + +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.sendNext("It's a name that I can use to address you. Just like my name is #r#h0##k.") + +sm.sendNext("I want YOU to have a name. That way I don't have to use your demon name, which is really just the name of your species.") + +sm.setSpeakerID(GOBLIN_DEMON) +sm.setBoxChat() +sm.sendNext("If it's a human thing, I'm in!") + +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +text = "Hmm, what name would suit you best? I think you'd be perfect as a...\r\n" +for i in range(len(selectName)): + text += "#L"+ str(i) +"#"+ selectName[i] +"\r\n" +selection = sm.sendNext(text) + +sm.createQuestWithQRValue(62018, selectName[selection]) + +sm.setSpeakerID(GOBLIN_DEMON) +sm.setBoxChat() +sm.sendNext("Hey, that sounds good! "+ sm.getQRValue(62018) +" the almost-human demon. Perfect!") + +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.sendNext("Cool, I'll call you #r"+ sm.getQRValue(62018) +" from now on!") + +sm.setSpeakerID(GOBLIN_DEMON) +sm.setBoxChat() +sm.sendNext("I feel like a whole new person!") + +sm.startQuest(parentID) +sm.completeQuest(parentID) +sm.giveExp(1010226) + + +sm.warpInstanceIn(701220350) +sm.lockInGameUI(True, False) +sm.sendDelay(1000) + +sm.setSpeakerID(NINE_TAILED_FOX) +sm.setBoxChat() +sm.sendNext("I suppose some humans are all right.") + +sm.setSpeakerID(GOBLIN_DEMON) +sm.setBoxChat() +sm.sendNext("Oh, yes. I've learned so much about them.") + +sm.setSpeakerID(NINE_TAILED_FOX) +sm.setBoxChat() +sm.sendNext("So, #b#h0##k. You said you wanted to check the bookshelf?\r\n" + "You're free to do so whenever you like.") + +sm.setSpeakerID(BLUE_DEMON) +sm.setBoxChat() +sm.sendNext("I love holding books and pretending to read them. It makes me look cute!") + +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.sendNext("Hey, I was wondering... What are you guys doing here, anyway? In the human world, I mean.") + +sm.setSpeakerID(GOBLIN_DEMON) +sm.setBoxChat() +sm.sendNext("My memory about it is pretty hazy... I woke up one day and found myself here.") + +sm.setSpeakerID(BLUE_DEMON) +sm.setBoxChat() +sm.sendNext("Something scooped me up from my snuggly home and dropped me here. I think I heard someone talking... A human.") + +sm.setSpeakerID(NINE_TAILED_FOX) +sm.setBoxChat() +sm.sendNext("Demons are born of human passion and imagination.\r\n" + "Our entire world is fueled by it.") + +sm.sendNext("The fervor with which you worship your gods... " + "Even that shapes our world. but when you do evil in the name of your gods, it warps up.") + +sm.sendNext("Because of humanity's corruption, \r\n" + "OUR world has become horribly malformed.") + +sm.sendNext("The only conclusion I can draw is that a human \r\n" + "with special powers summoned us here for some evil purpose...") + +sm.setSpeakerID(GOBLIN_DEMON) +sm.setBoxChat() +sm.sendNext("But who?") + +sm.setSpeakerID(BLUE_DEMON) +sm.setBoxChat() +sm.sendNext("Maybe they'll come find us soon! We're like their babies, sorta!") + +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.sendNext("(A demon world formed by human passions? A person who can summon demons? " + "It's a lot to swallow, but the evidence is kind of undeniable. " + "Who could be responsible for all of this?") + +sm.setSpeakerID(NINE_TAILED_FOX) +sm.setBoxChat() +sm.sendNext("Anyway, go on and search the bookshelf now.") + +sm.warpInstanceOut(701220350) +sm.lockInGameUI(False) \ No newline at end of file diff --git a/scripts/quest/q62022e.py b/scripts/quest/q62022e.py new file mode 100755 index 0000000..dd940f3 --- /dev/null +++ b/scripts/quest/q62022e.py @@ -0,0 +1,29 @@ +# [Shaolin Temple] Thef Chief Priest's Disappearance... + +ZHEUNG_GUAN = 9310046 +WISE_CHIEF_PRIEST = 9310053 +ELDER_JUNG = 9310049 + +sm.removeEscapeButton() +sm.setSpeakerID(ZHEUNG_GUAN) +sm.setBoxChat() +sm.sendNext("I can't believe it! The #p"+ str(WISE_CHIEF_PRIEST) +", who I trusted and followed, was the one responsible for all the demons? I feel like such an idiot!") + +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.sendNext("No wonder he didn't help fine-tune your concoction") + +sm.setSpeakerID(ZHEUNG_GUAN) +sm.setBoxChat() +sm.sendNext("We wouldn't have figured this out without your help. Thanks I'll handle the rest, with my new and improved Demon B Gone.") + +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.sendNext("Yeah, good luck with that.") + +sm.setSpeakerID(ZHEUNG_GUAN) +sm.setBoxChat() +sm.sendNext("By the way, #p"+ str(ELDER_JUNG) +"# is taking charge of the temple for now. He wants to talk to you.") +sm.completeQuest(parentID) +sm.completeQuestNoRewards(62037) +sm.giveExp(2020453) \ No newline at end of file diff --git a/scripts/quest/q62022s.py b/scripts/quest/q62022s.py new file mode 100755 index 0000000..45f68ad --- /dev/null +++ b/scripts/quest/q62022s.py @@ -0,0 +1,6 @@ +# id 62022 ([Shaolin Temple] The Chief Priest's Disappearance...), field 701220300 +sm.setSpeakerType(3) +sm.setParam(57) +sm.setColor(1) +sm.sendNext("Where could the #p9310053# have gone with the Book of Demons and his renewed youth? Maybe #p9310046# at #m701220000# can shed some light on this.") +sm.startQuest(parentID) diff --git a/scripts/quest/q62023s.py b/scripts/quest/q62023s.py new file mode 100755 index 0000000..2d0e32d --- /dev/null +++ b/scripts/quest/q62023s.py @@ -0,0 +1,18 @@ +# id 62023 (Demon Orb Introduction), field 701220000 +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(9310597) # Zarak +sm.sendNext(".....") +res = sm.sendAskYesNo("You! Stranger! Got a moment?") +sm.sendNext("I've been watching you. I think you'd be the perfect person to help me with my top secret research.") +sm.setSpeakerType(4) +sm.setSpeakerID(9310597) # Zarak +sm.setParam(57) +sm.sendSay("Research? What kind of research?") +sm.setSpeakerType(3) +sm.setParam(37) +sm.sendSay("I'm studying demons. With your combat prowess, I think you can get me the #bdemon orbs#k that I need.") +sm.sendSay("Speak to me again if you're interested. I promise to make it worth your while.") +sm.completeQuestNoCheck(parentID) +sm.playExclSoundWithDownBGM("Field.img/masteryBook/EnchantSuccess", 100) diff --git a/scripts/quest/q62024e.py b/scripts/quest/q62024e.py new file mode 100755 index 0000000..8486917 --- /dev/null +++ b/scripts/quest/q62024e.py @@ -0,0 +1,11 @@ +# id 62024 (Collecting the White Tiger Swordsman Demon Orb), field 701210150 +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(9310597) # Zarak +sm.sendNext("Hey. You have the orb I asked for?") +sm.completeQuestNoCheck(parentID) +sm.setSpeakerType(4) +sm.setSpeakerID(9310597) # Zarak +sm.sendSay("Oh yeah, this'll help with my research. Come to me, demon orb.") +sm.playExclSoundWithDownBGM("Field.img/masteryBook/EnchantSuccess", 100) diff --git a/scripts/quest/q62025e.py b/scripts/quest/q62025e.py new file mode 100755 index 0000000..7d473d2 --- /dev/null +++ b/scripts/quest/q62025e.py @@ -0,0 +1,11 @@ +# id 62025 (Collecting the Eagle Swordsman Demon Orb), field 701210150 +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(9310597) # Zarak +sm.sendNext("Hey. You have the orb I asked for?") +sm.completeQuestNoCheck(parentID) +sm.setSpeakerType(4) +sm.setSpeakerID(9310597) # Zarak +sm.sendSay("Oh yeah, this'll help with my research. Come to me, demon orb.") +sm.playExclSoundWithDownBGM("Field.img/masteryBook/EnchantSuccess", 100) diff --git a/scripts/quest/q62026e.py b/scripts/quest/q62026e.py new file mode 100755 index 0000000..f457d2a --- /dev/null +++ b/scripts/quest/q62026e.py @@ -0,0 +1,11 @@ +# id 62026 (Collecting the Male Thief Demon Orb), field 701210150 +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(9310597) # Zarak +sm.sendNext("Hey. You have the orb I asked for?") +sm.completeQuestNoCheck(parentID) +sm.setSpeakerType(4) +sm.setSpeakerID(9310597) # Zarak +sm.sendSay("Oh yeah, this'll help with my research. Come to me, demon orb.") +sm.playExclSoundWithDownBGM("Field.img/masteryBook/EnchantSuccess", 100) diff --git a/scripts/quest/q62027e.py b/scripts/quest/q62027e.py new file mode 100755 index 0000000..d0dafc7 --- /dev/null +++ b/scripts/quest/q62027e.py @@ -0,0 +1,11 @@ +# id 62027 (Collecting the Censer Demon Orb), field 701210150 +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(9310597) # Zarak +sm.sendNext("Hey. You have the orb I asked for?") +sm.completeQuestNoCheck(parentID) +sm.setSpeakerType(4) +sm.setSpeakerID(9310597) # Zarak +sm.sendSay("Oh yeah, this'll help with my research. Come to me, demon orb.") +sm.playExclSoundWithDownBGM("Field.img/masteryBook/EnchantSuccess", 100) diff --git a/scripts/quest/q62028e.py b/scripts/quest/q62028e.py new file mode 100755 index 0000000..d681a5e --- /dev/null +++ b/scripts/quest/q62028e.py @@ -0,0 +1,11 @@ +# id 62028 (Collecting the Mini Gold Martial Artist Demon Orb), field 701220000 +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(9310597) # Zarak +sm.sendNext("Hey. You have the orb I asked for?") +sm.completeQuestNoCheck(parentID) +sm.setSpeakerType(4) +sm.setSpeakerID(9310597) # Zarak +sm.sendSay("Oh yeah, this'll help with my research. Come to me, demon orb.") +sm.playExclSoundWithDownBGM("Field.img/masteryBook/EnchantSuccess", 100) diff --git a/scripts/quest/q62029e.py b/scripts/quest/q62029e.py new file mode 100755 index 0000000..d005b05 --- /dev/null +++ b/scripts/quest/q62029e.py @@ -0,0 +1,11 @@ +# id 62029 (Collecting the Golden Giant Demon Orb), field 701220000 +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(9310597) # Zarak +sm.sendNext("Hey. You have the orb I asked for?") +sm.completeQuestNoCheck(parentID) +sm.setSpeakerType(4) +sm.setSpeakerID(9310597) # Zarak +sm.sendSay("Oh yeah, this'll help with my research. Come to me, demon orb.") +sm.playExclSoundWithDownBGM("Field.img/masteryBook/EnchantSuccess", 100) diff --git a/scripts/quest/q62030e.py b/scripts/quest/q62030e.py new file mode 100755 index 0000000..8be5347 --- /dev/null +++ b/scripts/quest/q62030e.py @@ -0,0 +1,11 @@ +# id 62030 (Collecting the Silver Spearman Demon Orb), field 701220000 +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(9310597) # Zarak +sm.sendNext("Hey. You have the orb I asked for?") +sm.completeQuestNoCheck(parentID) +sm.setSpeakerType(4) +sm.setSpeakerID(9310597) # Zarak +sm.sendSay("Oh yeah, this'll help with my research. Come to me, demon orb.") +sm.playExclSoundWithDownBGM("Field.img/masteryBook/EnchantSuccess", 100) diff --git a/scripts/quest/q62031e.py b/scripts/quest/q62031e.py new file mode 100755 index 0000000..44af157 --- /dev/null +++ b/scripts/quest/q62031e.py @@ -0,0 +1,11 @@ +# id 62031 (Collecting the Haunted Graystone Demon Orb), field 701210150 +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(9310597) # Zarak +sm.sendNext("Hey. You have the orb I asked for?") +sm.completeQuestNoCheck(parentID) +sm.setSpeakerType(4) +sm.setSpeakerID(9310597) # Zarak +sm.sendSay("Oh yeah, this'll help with my research. Come to me, demon orb.") +sm.playExclSoundWithDownBGM("Field.img/masteryBook/EnchantSuccess", 100) diff --git a/scripts/quest/q62032e.py b/scripts/quest/q62032e.py new file mode 100755 index 0000000..712789f --- /dev/null +++ b/scripts/quest/q62032e.py @@ -0,0 +1,11 @@ +# id 62032 (Collecting the Red Zhanshi Spirit Demon Orb), field 701220000 +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(9310597) # Zarak +sm.sendNext("Hey. You have the orb I asked for?") +sm.completeQuestNoCheck(parentID) +sm.setSpeakerType(4) +sm.setSpeakerID(9310597) # Zarak +sm.sendSay("Oh yeah, this'll help with my research. Come to me, demon orb.") +sm.playExclSoundWithDownBGM("Field.img/masteryBook/EnchantSuccess", 100) diff --git a/scripts/quest/q62033e.py b/scripts/quest/q62033e.py new file mode 100755 index 0000000..b9a8f1c --- /dev/null +++ b/scripts/quest/q62033e.py @@ -0,0 +1,11 @@ +# id 62033 (Collecting the Haunted Helmet Demon Orb), field 701220000 +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(9310597) # Zarak +sm.sendNext("Hey. You have the orb I asked for?") +sm.completeQuestNoCheck(parentID) +sm.setSpeakerType(4) +sm.setSpeakerID(9310597) # Zarak +sm.sendSay("Oh yeah, this'll help with my research. Come to me, demon orb.") +sm.playExclSoundWithDownBGM("Field.img/masteryBook/EnchantSuccess", 100) diff --git a/scripts/quest/q62034e.py b/scripts/quest/q62034e.py new file mode 100755 index 0000000..f0e8d16 --- /dev/null +++ b/scripts/quest/q62034e.py @@ -0,0 +1,11 @@ +# id 62034 (Collecting the Chief Priest Demon Orb), field 701220000 +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(9310597) # Zarak +sm.sendNext("Hey. You have the orb I asked for?") +sm.completeQuestNoCheck(parentID) +sm.setSpeakerType(4) +sm.setSpeakerID(9310597) # Zarak +sm.sendSay("Oh yeah, this'll help with my research. Come to me, demon orb.") +sm.playExclSoundWithDownBGM("Field.img/masteryBook/EnchantSuccess", 100) diff --git a/scripts/quest/q62035s.py b/scripts/quest/q62035s.py new file mode 100755 index 0000000..72367fd --- /dev/null +++ b/scripts/quest/q62035s.py @@ -0,0 +1,11 @@ +# id 62035 (For the Sake of Demon Science), field 701220000 +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(9310597) # Zarak +sm.sendNext("The orbs you've gathered have proven invaluable. Here, take this. You've earned it!") +sm.completeQuestNoCheck(parentID) +sm.setSpeakerType(4) +sm.setSpeakerID(9310597) # Zarak +sm.sendSay("Perhaps we'll meet again, if it's meant to be. Farewell!") +sm.playExclSoundWithDownBGM("Field.img/masteryBook/EnchantSuccess", 100) diff --git a/scripts/quest/q62039s.py b/scripts/quest/q62039s.py new file mode 100755 index 0000000..6cf1b84 --- /dev/null +++ b/scripts/quest/q62039s.py @@ -0,0 +1,30 @@ +# [Shaolin Temple] For Shaolin Temple + +ZHEUNG_GUAN = 9310046 +WISE_CHIEF_PRIEST = 9310053 +ELDER_JUNG = 9310049 +HAIFENG_FASHI = 9310051 + +sm.removeEscapeButton() +sm.setSpeakerID(ELDER_JUNG) +sm.setBoxChat() +sm.sendNext("The mountain weeps this day. My old friend has become a demon... What pain must he have been hiding to have come to this?") + +sm.flipBoxChat() +sm.flipBoxChatPlayerAsSpeaker() +sm.sendNext("It goes to show... A tiny grain of greed can snowball into something huge and monstrous") + +sm.removeEscapeButton() +sm.setSpeakerID(ELDER_JUNG) +sm.setBoxChat() +sm.sendNext("My friend's body has disappeared, but his spirit remains. " + "It must be exorcised, over and over, until the temple is clean. " + "You can encounter by talking to #p"+ str(HAIFENG_FASHI) +"# at the Sutra Depository entrance. " + "We will reward you as best we can.") + +sm.sendNext("I will remain here, working humbly and tirelessly to restore Shaolin Temple to its former purity. You are welcome at any time.") +sm.startQuest(parentID) +sm.completeQuest(parentID) +sm.completeQuestNoRewards(62044) +sm.giveExp(2525566) +sm.giveItem(1142912) # Shaolin Savior (Medal) \ No newline at end of file diff --git a/scripts/quest/q62044s.py b/scripts/quest/q62044s.py new file mode 100755 index 0000000..fc51253 --- /dev/null +++ b/scripts/quest/q62044s.py @@ -0,0 +1,2 @@ +# id 62044 (Shaolin Savior), field 701220000 +sm.completeQuestNoCheck(parentID) diff --git a/scripts/quest/q62395e.py b/scripts/quest/q62395e.py new file mode 100755 index 0000000..08af4d9 --- /dev/null +++ b/scripts/quest/q62395e.py @@ -0,0 +1 @@ +sm.completeQuestNoCheck(parentID) \ No newline at end of file diff --git a/scripts/quest/q62395s.py b/scripts/quest/q62395s.py new file mode 100755 index 0000000..08af4d9 --- /dev/null +++ b/scripts/quest/q62395s.py @@ -0,0 +1 @@ +sm.completeQuestNoCheck(parentID) \ No newline at end of file diff --git a/scripts/quest/q63360s.py b/scripts/quest/q63360s.py new file mode 100755 index 0000000..1f47085 --- /dev/null +++ b/scripts/quest/q63360s.py @@ -0,0 +1,9 @@ +# id 63360 ([플레이] 접속시간기록), field 402000615 +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(3001500) # Ark +sm.sendSay("#face5#(I've got to prepare myself for battle. Based on my current state, I've got some options.)") +sm.openUI(2) +sm.sendSay("#face0#(Whatever happened to me must have weakened my overall stats, but I could probably strengthen myself by leveling up.)") +sm.completeQuestNoCheck(parentID) diff --git a/scripts/quest/q63370s.py b/scripts/quest/q63370s.py new file mode 100755 index 0000000..5c97281 --- /dev/null +++ b/scripts/quest/q63370s.py @@ -0,0 +1,66 @@ +# Created by MechAviv +# Quest ID :: 63370 +# Not coded yet + +sm.showNpcSpecialActionByTemplateId(2159427, "die", 0) +sm.sendDelay(120) + + +sm.showNpcSpecialActionByTemplateId(2159427, "die", 0) +sm.sendDelay(1500) + + +sm.sendDelay(120) + + +sm.setSpeakerID(2159386) +sm.setSpeakerType(3) +sm.removeEscapeButton() +sm.sendNext("They just keep coming!") + + +sm.setSpeakerID(2159382) +sm.setSpeakerType(3) +sm.removeEscapeButton() +sm.sendSay("We heard there was a hidden lab here, but this is something big!") + + +sm.setSpeakerID(2159385) +sm.setSpeakerType(3) +sm.removeEscapeButton() +sm.sendSay("With defenses like these, they must be hiding something big. And I'm going to find out what.") + + +sm.setSpeakerID(2159382) +sm.setSpeakerType(3) +sm.removeEscapeButton() +sm.sendSay("You're cool as can be, aren't you Belle? Nothing phases you.") + + +sm.showEffect("Effect/Direction12.img/effect/tuto/BalloonMsg1/2", 900, 0, -120, 0, 2159382, False, 0) +sm.sendDelay(900) + + +sm.showNpcSpecialActionByTemplateId(2159382, "summon", 0) +sm.showEffect("Effect/Direction12.img/effect/tuto/BalloonMsg2/12", 1200, 0, -120, 0, 2159382, False, 0) +sm.showNpcSpecialActionByTemplateId(2159382, "catched", 0) +sm.showEffect("Effect/Direction12.img/effect/tuto/BalloonMsg1/1", 900, 0, -120, 0, 2159386, False, 0) +sm.moveNpcByTemplateId(2159386, False, 30, 100) +sm.sendDelay(2160) + + +sm.moveNpcByTemplateId(2159386, True, 2, 100) +sm.showNpcSpecialActionByTemplateId(2159383, "summon", 0) +sm.hideUser(False) +sm.forcedInput(2) +sm.showEffect("Effect/Direction12.img/effect/tuto/BalloonMsg2/13", 900, 0, -120, 0, 2159385, False, 0) +sm.sendDelay(300) + + +sm.showEffect("Effect/Direction12.img/effect/tuto/BalloonMsg2/13", 900, 0, -120, 0, 2159385, False, 0) +sm.sendDelay(900) + + +sm.sendSessionValue("bell", 2159385) +sm.sendSessionValue("hen", 2159386) +sm.sendSessionValue("sig", 2159383) \ No newline at end of file diff --git a/scripts/quest/q64010s.py b/scripts/quest/q64010s.py new file mode 100755 index 0000000..e49a294 --- /dev/null +++ b/scripts/quest/q64010s.py @@ -0,0 +1,68 @@ +# id 64010 ([MONAD: The First Omen] An Old Woman's Letter), field 993017200 +sm.setSpeakerType(3) +sm.setParam(57) +sm.setColor(1) +res = sm.sendAskAccept("#b...A letter? ") +sm.changeBGM("BgmPL2/FallenThings", 0, 0) +sm.lockInGameUI(True, False) +sm.blind(True, 255, 0, 0, 0, 2000) +sm.sendDelay(2000) +sm.spineScreen(False, False, True, 0, "Map/EffectPL.img/MONAD1/spine/part1_0/op0","0","part1Op01") +sm.sendDelay(500) +sm.playSound("Sound/VoicePL.img/MONAD1_P1/1", 128) +sm.sendDelay(5924) +sm.createFieldTextEffect("#fnᄈᆰᄡᆴᄚ■ᄉ￱ ExtraBold##fs35#'If you are reading this, you are my last hope in these dark times.", 50, 5424, 7, 0, -50, 1, 4, 1, 300, 300) +sm.playSound("Sound/VoicePL.img/MONAD1_P1/2", 128) +sm.sendDelay(7820) +sm.createFieldTextEffect("#fnᄈᆰᄡᆴᄚ■ᄉ￱ ExtraBold##fs35#My granddaughter and I lived in the deep forest of Abrup Basin,\r\n beyond the El Nath Mountains.", 50, 7320, 7, 0, -50, 1, 4, 1, 300, 300) +sm.playSound("Sound/VoicePL.img/MONAD1_P1/3", 128) +sm.sendDelay(4268) +sm.createFieldTextEffect("#fnᄈᆰᄡᆴᄚ■ᄉ￱ ExtraBold##fs35#This may be a land of bitter winds and icy snow,", 50, 3768, 7, 0, -50, 1, 4, 1, 300, 300) +sm.playSound("Sound/VoicePL.img/MONAD1_P1/4", 128) +sm.sendDelay(7064) +sm.createFieldTextEffect("#fnᄈᆰᄡᆴᄚ■ᄉ￱ ExtraBold##fs35#but until recently the blessings of our ancestors made it bearable.", 50, 5064, 7, 0, -50, 1, 4, 1, 300, 300) +sm.playSound("Sound/VoicePL.img/MONAD1_P1/5", 128) +sm.sendDelay(4888) +sm.createFieldTextEffect("#fnᄈᆰᄡᆴᄚ■ᄉ￱ ExtraBold##fs35#All that changed when people began disappearing from the valley.", 50, 3888, 7, 0, -50, 1, 4, 1, 300, 300) +sm.offSpineScreen("part1Op01", 0, "", 0) +sm.spineScreen(False, False, True, 0, "Map/EffectPL.img/MONAD1/spine/part1_1/op1","0","part1Op02") +sm.sendDelay(1000) +sm.playSound("Sound/VoicePL.img/MONAD1_P1/6", 128) +sm.sendDelay(8000) +sm.createFieldTextEffect("#fnᄈᆰᄡᆴᄚ■ᄉ￱ ExtraBold##fs35#Soon after, the creatures of the forest grew strange and vicious.", 50, 5392, 7, 0, -50, 1, 4, 1, 300, 300) +sm.offSpineScreen("part1Op02", 0, "", 0) +sm.spineScreen(False, False, True, 0, "Map/EffectPL.img/MONAD1/spine/part1_2/op2","0","part1Op03") +sm.sendDelay(2000) +sm.playSound("Sound/VoicePL.img/MONAD1_P1/7", 128) +sm.sendDelay(8000) +sm.createFieldTextEffect("#fnᄈᆰᄡᆴᄚ■ᄉ￱ ExtraBold##fs35#My granddaughter was among those who vanished. \r\nI don't know what's become of her.", 50, 6472, 7, 0, -50, 1, 4, 1, 300, 300) +sm.offSpineScreen("part1Op03", 0, "", 0) +sm.spineScreen(False, False, True, 0, "Map/EffectPL.img/MONAD1/spine/part1_3/op3","0","part1Op04") +sm.sendDelay(1000) +sm.playSound("Sound/VoicePL.img/MONAD1_P1/8", 128) +sm.sendDelay(5500) +sm.createFieldTextEffect("#fnᄈᆰᄡᆴᄚ■ᄉ￱ ExtraBold##fs35#The people of the valley have turned their backs on me and on each other,", 50, 5008, 7, 0, -50, 1, 4, 1, 300, 300) +sm.playSound("Sound/VoicePL.img/MONAD1_P1/9", 128) +sm.sendDelay(5500) +sm.createFieldTextEffect("#fnᄈᆰᄡᆴᄚ■ᄉ￱ ExtraBold##fs35#consumed by their own fears and losses.", 50, 4168, 7, 0, -50, 1, 4, 1, 300, 300) +sm.playSound("Sound/VoicePL.img/MONAD1_P1/10", 128) +sm.sendDelay(5500) +sm.createFieldTextEffect("#fnᄈᆰᄡᆴᄚ■ᄉ￱ ExtraBold##fs35#I know something is coming. \r\nA terrible force far greater than the challenges we face now.", 50, 7240, 7, 0, -50, 1, 4, 1, 300, 300) +sm.sendDelay(5000) +sm.playSound("Sound/VoicePL.img/MONAD1_P1/11", 128) +sm.sendDelay(7500) +sm.createFieldTextEffect("#fnᄈᆰᄡᆴᄚ■ᄉ￱ ExtraBold##fs35#I send this message seeking a hero that will come to our aid,", 50, 5248, 7, 0, -50, 1, 4, 1, 300, 300) +sm.playSound("Sound/VoicePL.img/MONAD1_P1/12", 128) +sm.sendDelay(8000) +sm.createFieldTextEffect("#fnᄈᆰᄡᆴᄚ■ᄉ￱ ExtraBold##fs35#though I hold little hope for our future now.'", 50, 4456, 7, 0, -50, 1, 4, 1, 300, 300) +sm.offSpineScreen("part1Op04", 0, "", 0) +sm.sendDelay(500) +sm.blind(True, 255, 0, 0, 0, 0) +sm.sendDelay(1200) +sm.blind(False, 0, 0, 0, 0, 1000) +sm.sendDelay(1400) +sm.lockInGameUI(False, True) +res = sm.sendNext("#b(Something seems off...)\r\n#L0#The situation sounds grim! I should start my journey from El Nath.#l\r\n#L1#I need to get on this as soon as possible, but I have a few things to finish up first...#l") +sm.startQuest(64154) +sm.startQuest(parentID) +sm.warp(867200100) diff --git a/scripts/quest/q64018e.py b/scripts/quest/q64018e.py new file mode 100755 index 0000000..aee4c3e --- /dev/null +++ b/scripts/quest/q64018e.py @@ -0,0 +1,12 @@ +# id 64018 ([MONAD: The First Omen] Fallen), field 867200400 +sm.setMapTaggedObjectVisible("guide136", False, 0, 0) +sm.setMapTaggedObjectVisible("guide137", False, 0, 0) +sm.setMapTaggedObjectVisible("guide135", False, 0, 0) +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(9400591) # Shulla +sm.sendNext("Daughter... My daughter...") +sm.sendSay("Thank you... Sniff...") +sm.completeQuestNoCheck(parentID) +sm.warp(867200403) diff --git a/scripts/quest/q64021e.py b/scripts/quest/q64021e.py new file mode 100755 index 0000000..047148b --- /dev/null +++ b/scripts/quest/q64021e.py @@ -0,0 +1,31 @@ +# id 64021 ([MONAD: The First Omen] Town Reconstruction), field 867200400 +sm.lockInGameUI(True, False) +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(9400589) # Peytour +sm.sendNext("#face0#Ah, you're here! ") +sm.setInnerOverrideSpeakerTemplateID(9400582) # Cayne +sm.sendSay("#face0#How did you get here before us? ") +sm.setInnerOverrideSpeakerTemplateID(9400589) # Peytour +sm.sendSay("#face0#Hah, since there was nowhere to lay him down, I brought him here. ") +sm.setInnerOverrideSpeakerTemplateID(9400580) # Alika +sm.sendSay("#face1##h0#, thanks for working so hard out there in the cold. ") +sm.setInnerOverrideSpeakerTemplateID(9400582) # Cayne +sm.sendSay("#face0#What about me?! ") +sm.setParam(57) +sm.sendSay("#bNot at all. ") +sm.sendSay("#bPeytour, take the wood. ") +sm.completeQuestNoCheck(parentID) +sm.startQuest(64023) +sm.setParam(37) +sm.setInnerOverrideSpeakerTemplateID(9400589) # Peytour +sm.sendSay("#face0#So! Shall we start? ") +sm.sendSay("#face0#Ah, right. #h0#, can I ask you for one more favor? ") +sm.sendSay("#face0#I asked Slaka to make some rope, but he hasn't gotten back to me. ") +sm.sendSay("#face0#Can you get the rope from him for me? ") +sm.setParam(57) +sm.sendSay("#bOf course. ") +sm.setParam(37) +sm.sendSay("#face0#He should be at the entrance of town. He'll be the sour-looking one, so you should have no trouble finding him.") +sm.lockInGameUI(False, True) diff --git a/scripts/quest/q64025e.py b/scripts/quest/q64025e.py new file mode 100755 index 0000000..538d5f9 --- /dev/null +++ b/scripts/quest/q64025e.py @@ -0,0 +1,22 @@ +# id 64025 ([MONAD: The First Omen] Evacuation Prep), field 867200400 +sm.completeQuestNoCheck(parentID) +sm.showNpcSpecialActionByTemplateId(9400588, "summon", 0) +sm.showNpcSpecialActionByTemplateId(9400587, "summon", 0) +sm.showNpcSpecialActionByTemplateId(9400616, "summon", 0) +sm.startQuest(64160) +sm.startQuest(64166) +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(9400589) # Peytour +sm.sendNext("#face0#Ah, perfect timing! ") +sm.sendSay("#face0#With the snow cleared away, this cart looks better than I remember. Maybe it won't need so much work... ") +sm.sendSay("#face0#While I'm doing this you should grab whatever you've got left in town. Gold, jewels, priceless works of art... ") +sm.setParam(57) +sm.sendSay("#b...? ") +sm.setParam(37) +sm.sendSay("#face0#...That was a joke. If you can, I'd just like you to check and see how preparations are going. ") +sm.setParam(57) +sm.sendSay("#bAh. Not a problem. ") +sm.setParam(37) +sm.sendSay("#face0#Thanks. I'll see you in a bit.") diff --git a/scripts/quest/q64025s.py b/scripts/quest/q64025s.py new file mode 100755 index 0000000..cb0e270 --- /dev/null +++ b/scripts/quest/q64025s.py @@ -0,0 +1,65 @@ +# id 64025 ([MONAD: The First Omen] Evacuation Prep), field 867200400 +sm.lockInGameUI(True, False) +sm.sendDelay(2500) +sm.speechBalloon(True, 0, 0, "...Of course I want to save everyone. \r\nBut if the risk is that great...", 2000, 1, 0, 0, 0, 4, 9400587, 4878499) +sm.sendDelay(2500) +sm.speechBalloon(True, 0, 0, "We have to find a way! \r\nHow can a chief say such things?!", 2000, 1, 0, 0, 0, 4, 9400589, 4878499) +sm.sendDelay(3000) +sm.speechBalloon(True, 0, 0, "...", 2000, 1, 0, 0, 0, 4, 9400587, 4878499) +sm.sendDelay(5000) +sm.speechBalloon(True, 0, 0, "Don't bring this up in front of the others. Ever.", 2000, 1, 0, 0, 0, 4, 9400589, 4878499) +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(9400589) # Peytour +sm.sendNext("#face0#Ah, #h0#. ") +sm.setInnerOverrideSpeakerTemplateID(9400587) # Kan +sm.sendSay("#face0#... ") +sm.setParam(57) +sm.sendSay("#bWhat is it? Is something wrong? ") +sm.setParam(37) +sm.setInnerOverrideSpeakerTemplateID(9400589) # Peytour +sm.sendSay("#face0#Ah... No, we were just... discussing how to carry the injured. ") +sm.sendSay("#face0#I'm sure you've seen, but all of our wagons in town were destroyed in the attack. ") +sm.setParam(57) +sm.sendSay("#bHmm... ") +sm.setParam(37) +sm.setInnerOverrideSpeakerTemplateID(9400587) # Kan +sm.sendSay("#face0#What about the wagon outside of town? It was probably missed in the attack and shouldn't be hard to patch up. ") +sm.setInnerOverrideSpeakerTemplateID(9400589) # Peytour +sm.sendSay("#face0#The wagon Aruhi used to move leather with? It's too small, even for our belongings. ") +sm.setParam(57) +sm.sendSay("#bCould we modify it while making repairs? You know, add some parts for the injured to ride on. ") +sm.setParam(37) +sm.sendSay("#face0#As long as we can get the wood, it should be doable. Seems like our best plan at the moment. ") +sm.setParam(57) +sm.sendSay("#bI'll take care of the wood. ") +sm.setParam(37) +sm.sendSay("#face0#Oh! That would be terrific. ") +sm.setParam(57) +sm.sendSay("#bOf course. ") +sm.setParam(37) +sm.sendSay("#face0#Do you remember the mountain that we just came back from? ") +sm.sendSay("#face0#I think 50 more pieces should be enough. I'm sorry to work you so hard, #h0#. ") +sm.setParam(57) +sm.sendSay("#bThink nothing of it. I'll be back in a jiffy.") +sm.sendDelay(1000) +sm.forcedFlip(True) +sm.sendDelay(500) +sm.forcedMove(True, 100) +sm.sendDelay(1000) +sm.setParam(37) +sm.setInnerOverrideSpeakerTemplateID(9400587) # Kan +sm.sendNext("#face0##h0#!") +sm.sendDelay(500) +sm.sendNext("#face0#Thank you.") +sm.setParam(57) +sm.sendSay("#bYou're welcome.") +sm.sendDelay(1000) +sm.forcedFlip(True) +sm.sendDelay(500) +sm.forcedMove(True, 300) +sm.sendDelay(2000) +sm.lockInGameUI(False, True) +sm.startQuest(parentID) +sm.warp(867200440) diff --git a/scripts/quest/q64026e.py b/scripts/quest/q64026e.py new file mode 100755 index 0000000..db55882 --- /dev/null +++ b/scripts/quest/q64026e.py @@ -0,0 +1,32 @@ +# id 64026 ([MONAD: The First Omen] Ullan's Pets), field 867200480 +sm.lockInGameUI(True, False) +sm.setSpeakerType(3) +sm.setParam(57) +sm.setColor(1) +sm.sendNext("#bUllan, are you okay? ") +sm.setParam(37) +sm.setInnerOverrideSpeakerTemplateID(9400588) # Ullan +sm.sendSay("Waaah... Dad's so stupid... He doesn't understand me, and gets so mad about it! ") +sm.sendSay("Pete and Elle... I met them when I was 10, the first time I went out with the hunters. They lost their mother to werewolves and were hiding between the rocks... ") +sm.sendSay("Of course, Dad was against it. He said Shrelephants need to live in the wild... But Mom sided with me, so we kept them. Mom taught me how to feed Pete and Elle milk, since they were still babies, and also named them with me... ") +sm.sendSay("I've already lost Mom... If I lose Pete and Elle... I... Sniff... ") +sm.setParam(57) +sm.sendSay("#bIt's okay, Ullan. Don't cry. We'll find them together. ") +sm.setParam(37) +sm.sendSay("Waaah... ") +sm.sendSay("...No. Honestly, I know Dad is right. We gotta make sure everyone gets out of the village, and that means lots of kids and hurt people need us. Pete and Elle are smart... Sniff... I'm sure they'll catch up... ") +sm.setParam(57) +sm.sendSay("#b... ") +sm.setParam(37) +sm.sendSay("(She's trying hard to control herself.) ") +sm.sendSay("...Sigh. I'm okay now. ") +sm.sendSay("Let's hurry back to town and help the others. ") +sm.startQuest(64161) +sm.sendDelay(250) +sm.moveNpcByTemplateId(9400588, False, 50, 30) +sm.sendDelay(5000) +sm.flipNpcByTemplateId(9400588, True) +sm.sendDelay(250) +sm.moveNpcByTemplateId(9400588, True, 1000, 50) +sm.completeQuestNoCheck(parentID) +sm.lockInGameUI(False, True) diff --git a/scripts/quest/q64026s.py b/scripts/quest/q64026s.py new file mode 100755 index 0000000..5313bad --- /dev/null +++ b/scripts/quest/q64026s.py @@ -0,0 +1,42 @@ +# id 64026 ([MONAD: The First Omen] Ullan's Pets), field 867200400 +sm.createQuestWithQRValue(parentID, "chk1=0") +sm.createQuestWithQRValue(parentID, "chk1=0;chk2=0") +sm.setSpeakerType(3) +sm.setParam(57) +sm.setColor(1) +sm.sendNext("#bUllan? ") +sm.setParam(37) +sm.setInnerOverrideSpeakerTemplateID(9400588) # Ullan +sm.sendSay("Ah, #h0#! ") +sm.setParam(57) +sm.sendSay("#bAre you looking for something? #k") +sm.setParam(37) +sm.sendSay("Yes! Pete and Elle haven't returned yet. I can't leave them behind... ") +sm.setParam(57) +sm.sendSay("#bPete? Elle? ") +sm.setParam(37) +sm.sendSay("Yes! The little Shrelephants you saved before. ") +sm.setParam(57) +sm.sendSay("#bOh right, one had the ribbon... Wait, you still haven't found them? ") +sm.setParam(37) +sm.sendSay("No... Sniff... ") +sm.setParam(57) +res = sm.sendNext("#b(There should be some time before the caravan is ready.)\r\n#L0# 'We'll look together.' #l\r\n#L1# 'I'll check on the others.'#l") +sm.setParam(37) +sm.sendNext("Really?! Ah... but if Dad finds out, I'll get in trouble for bothering you with this... ") +sm.setParam(57) +sm.sendSay("#bBy Dad, you mean Kan? Don't worry, I won't tell Chief Kan. ") +sm.setParam(37) +sm.sendSay("You made a promise! ") +res = sm.sendNext("In that case, do you think you could go to just the outskirts of the town there with me...? #b\r\n#L0# Of course.#l\r\n#L1# That may be a bit difficult.#l") +sm.sendNext("Yay! Then follow me!") +sm.startQuest(parentID) +sm.lockInGameUI(True, False) +sm.moveNpcByTemplateId(9400588, False, 500, 200) +sm.sendDelay(2000) +sm.forcedMove(False, 500) +sm.sendDelay(3000) +sm.blind(True, 255, 0, 0, 0, 500) +sm.sendDelay(500) +sm.lockInGameUI(False, True) +sm.warp(867200480) diff --git a/scripts/quest/q64027s.py b/scripts/quest/q64027s.py new file mode 100755 index 0000000..8ac3415 --- /dev/null +++ b/scripts/quest/q64027s.py @@ -0,0 +1,49 @@ +# id 64027 ([MONAD: The First Omen] Decisions, Decisions), field 867200400 +sm.lockInGameUI(True, False) +sm.sendDelay(250) +sm.sendDelay(250) +sm.showEffect("Effect/OnUserEff.img/emotion/angry", 0, 0, 0, 0, 141098, 0, 0) +sm.sendDelay(3500) +sm.speechBalloon(True, 0, 0, "Geez, how can he just decide something like that himself? \r\nAnd how am I just hearing about it now?", 3000, 1, 0, 0, 0, 4, 9400629, 4878499) +sm.showEffect("Effect/OnUserEff.img/emotion/shade", 0, 0, 0, 0, 141102, 0, 0) +sm.sendDelay(3500) +sm.speechBalloon(True, 0, 0, "It's not just Kan making decisions, you know.\r\nAnd what else could they have done?", 3000, 1, 0, 0, 0, 4, 9400617, 4878499) +sm.sendDelay(3500) +sm.speechBalloon(True, 0, 0, "I'm not just talking about this time! \r\nIt feels like he's always pushing us around like this.", 3000, 1, 0, 0, 0, 4, 9400629, 4878499) +sm.showEffect("Effect/OnUserEff.img/emotion/oh", 0, 0, 0, 0, 141102, 0, 0) +sm.sendDelay(2500) +sm.speechBalloon(True, 0, 0, "Well... Kan has always been a decisive leader.", 2000, 1, 0, 0, 0, 4, 9400617, 4878499) +sm.showEffect("Effect/OnUserEff.img/emotion/angry", 0, 0, 0, 0, 141098, 0, 0) +sm.sendDelay(3000) +sm.speechBalloon(True, 0, 0, "There's a difference between being decisive and being a dictator, though.", 3000, 1, 0, 0, 0, 4, 9400629, 4878499) +sm.setSpeakerType(3) +sm.setParam(57) +sm.setColor(1) +sm.sendNext("#bAre we all set to move out? I'm wondering if there's anything more I can do to help. ") +sm.showEffect("Effect/OnUserEff.img/emotionBalloon/noSpeak", 2000, 0, 0, 0, 141098, 0, 0) +sm.showEffect("Effect/OnUserEff.img/emotionBalloon/noSpeak", 2000, 0, 0, 0, 141102, 0, 0) +sm.sendDelay(2000) +sm.setParam(37) +sm.setInnerOverrideSpeakerTemplateID(9400617) # Resident +sm.sendNext("I am... There is not much for me to pack... As you can see... ") +sm.setInnerOverrideSpeakerTemplateID(9400596) # Snowfield Archer +sm.sendSay("Tsk, what is Kan doing? Making you run around like this... ") +sm.setParam(57) +sm.sendSay("#bChief Kan is preparing a wagon to carry the injured. ") +sm.setParam(37) +sm.sendSay("I'm sure Peytour is preparing the wagon, not Kan. ") +sm.setParam(57) +sm.sendSay("#b... ") +sm.showEffect("Effect/OnUserEff.img/emotion/oh", 0, 0, 0, 0, 141102, 0, 0) +sm.setParam(37) +sm.setInnerOverrideSpeakerTemplateID(9400617) # Resident +sm.sendSay("Cut it out. He's still our chief. ") +sm.setInnerOverrideSpeakerTemplateID(9400596) # Snowfield Archer +sm.sendSay("...For how long, do you think? ") +sm.setParam(57) +sm.sendSay("#b(Seems like a lot of people have issues with Chief Kan...) ") +sm.setParam(37) +sm.setInnerOverrideSpeakerTemplateID(9400617) # Resident +sm.sendSay("There is nothing we need help with. You can go check on the other villagers.") +sm.completeQuestNoCheck(parentID) +sm.lockInGameUI(False, True) diff --git a/scripts/quest/q64028s.py b/scripts/quest/q64028s.py new file mode 100755 index 0000000..a0a1431 --- /dev/null +++ b/scripts/quest/q64028s.py @@ -0,0 +1,57 @@ +# id 64028 ([MONAD: The First Omen] Role of a Chief), field 867200400 +sm.lockInGameUI(True, False) +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(9400587) # Kan +sm.sendNext("#face0#Why are you working on your house? We have no time to waste! ") +sm.setInnerOverrideSpeakerTemplateID(9400617) # Resident +sm.sendSay("Didn't you say we'd be coming back...? That's why... ") +sm.setInnerOverrideSpeakerTemplateID(9400587) # Kan +sm.sendSay("#face0#You can make repairs when you return. Right now, we have to leave before the snowstorm reaches us! ") +sm.sendDelay(1000) +sm.showEffect("Effect/OnUserEff.img/emotion/shade", 2000, 0, 0, 0, 17104721, 0, 0) +sm.sendDelay(1000) +sm.setInnerOverrideSpeakerTemplateID(9400617) # Resident +sm.sendNext("But I have nothing to pack... And no family to tend to. ") +sm.setInnerOverrideSpeakerTemplateID(9400587) # Kan +sm.sendSay("#face0#Then help the others prepare. We have to work together. ") +sm.setInnerOverrideSpeakerTemplateID(9400617) # Resident +sm.sendSay("Chief Kan... I don't want to leave.") +sm.setInnerOverrideSpeakerTemplateID(9400587) # Kan +sm.sendSay("#face0#There are no exceptions. All Kaptafel villagers must evacuate to the town across the river. Every single one. ") +sm.setInnerOverrideSpeakerTemplateID(9400617) # Resident +sm.sendSay("I'm not saying I will stay. I want to explain... I don't agree with your decision, Chief Kan, but I will comply.") +sm.sendSay("It pains me to do this, to abandon my home. So I thought, if I fixed it up a little, that would help me cope with the loss. But now you're saying I can't even do that... ") +sm.setInnerOverrideSpeakerTemplateID(9400587) # Kan +sm.sendSay("#face0#It cannot be helped. I can't risk others following your example and wasting time. If you don't want to help, rest up for the journey ahead. ") +sm.setInnerOverrideSpeakerTemplateID(9400617) # Resident +sm.sendSay("Do you really have to take it so far? ") +sm.sendSay("...I had no idea you were so cold. ") +sm.sendDelay(1000) +sm.flipNpcByTemplateId(9400616, False) +sm.moveNpcByTemplateId(9400616, False, 100, 100) +sm.sendDelay(2000) +sm.sendDelay(1000) +sm.setParam(57) +sm.sendNext("#bChief Kan. ") +sm.flipNpcByTemplateId(9400587, True) +sm.setParam(37) +sm.setInnerOverrideSpeakerTemplateID(9400587) # Kan +sm.sendNext("#face1##h0#... ") +sm.setParam(57) +sm.sendSay("#b... ") +sm.setParam(37) +sm.sendSay("#face1#I know what you're thinking. You think I am too harsh. ") +sm.sendSay("#face1#But I don't have a choice. I'm responsible for these people. For everyone. If even one ignores my orders, everything falls apart. ") +sm.sendSay("#face1#Do not mind me... I'm just doing what I can as chief of this poor town. ") +sm.setParam(57) +sm.sendSay("#bChief Kan, this has to hurt you too, right? ") +sm.setParam(37) +sm.sendSay("#face1#...There is no time for me to feel. ") +sm.flipNpcByTemplateId(9400587, False) +sm.sendDelay(300) +sm.moveNpcByTemplateId(9400587, False, 100, 50) +sm.sendDelay(300) +sm.completeQuestNoCheck(parentID) +sm.lockInGameUI(False, True) diff --git a/scripts/quest/q64029e.py b/scripts/quest/q64029e.py new file mode 100755 index 0000000..b929768 --- /dev/null +++ b/scripts/quest/q64029e.py @@ -0,0 +1,11 @@ +# id 64029 ([MONAD: The First Omen] Essentials), field 867200400 +sm.setMapTaggedObjectVisible("guide136", False, 0, 0) +sm.setMapTaggedObjectVisible("guide137", False, 0, 0) +sm.setMapTaggedObjectVisible("guide135", False, 0, 0) +sm.setSpeakerType(3) +sm.setParam(57) +sm.setColor(1) +sm.sendNext("#b(This was burnt to cinders. No way anyone's eating it now.) ") +sm.sendSay("#b(Might need to think of another way to get food.) ") +sm.sendSay("#b(Time to talk to Peytour.) ") +sm.completeQuestNoCheck(parentID) diff --git a/scripts/quest/q64029s.py b/scripts/quest/q64029s.py new file mode 100755 index 0000000..1ccafd2 --- /dev/null +++ b/scripts/quest/q64029s.py @@ -0,0 +1,21 @@ +# id 64029 ([MONAD: The First Omen] Essentials), field 867200400 +sm.setSpeakerType(3) +sm.setParam(57) +sm.setColor(1) +sm.sendNext("#bShulla, what are you looking for this time? ") +sm.setParam(37) +sm.setInnerOverrideSpeakerTemplateID(9400591) # Shulla +sm.sendSay("... ") +sm.sendSay("The chief was right. I can't let myself be consumed by despair. Not now. ") +sm.sendSay("... ") +sm.sendSay("It's a long way to the next village, you know. Almost a full day's walk. ") +sm.sendSay("The weak and wounded are going to have a tough time with it. So I want to prepare some food for the long journey. ") +sm.setParam(57) +sm.sendSay("#b(Probably a good idea to help Shulla look for food.) ") +sm.startQuest(parentID) +sm.setMapTaggedObjectVisible("guide136", True, 0, 0) +sm.setMapTaggedObjectVisible("guide137", True, 0, 0) +sm.setMapTaggedObjectVisible("guide135", True, 0, 0) +sm.createQuestWithQRValue(49000, "count=0;Quest=0;day=152843;QET=20190622181711;state=2") +sm.createQuestWithQRValue(49000, "count=0;Quest=0;day=152843;QET=20190622181711;state=1") +sm.createQuestWithQRValue(49000, "count=0;Quest=0;day=152843;QET=20190622191713;state=1") diff --git a/scripts/quest/q64030e.py b/scripts/quest/q64030e.py new file mode 100755 index 0000000..8484c9f --- /dev/null +++ b/scripts/quest/q64030e.py @@ -0,0 +1,8 @@ +# id 64030 ([MONAD: The First Omen] Food Shortage), field 867200460 +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(9400590) # Slaka +sm.sendNext("#face0#There! That's it! Hunting over, let's go!") +sm.completeQuestNoCheck(parentID) +sm.warp(867200407) diff --git a/scripts/quest/q64036s.py b/scripts/quest/q64036s.py new file mode 100755 index 0000000..a0e0a7d --- /dev/null +++ b/scripts/quest/q64036s.py @@ -0,0 +1,48 @@ +# id 64036 ([MONAD: The First Omen] Leader of the Dispatch), field 867200800 +sm.lockInGameUI(True, False) +sm.startQuest(parentID) +sm.moveNpcByTemplateId(9400581, True, 50, 50) +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(9400581) # Butler +sm.sendNext("#face0##h0#... ") +sm.setParam(57) +sm.sendSay("#bYes? ") +sm.setParam(37) +sm.sendSay("#face0#I know that you are a capable and brave warrior. But you lack the experience needed to command. ") +sm.sendSay("#face0#It's not your fault, of course. You just need a trusted advisor, just as Peytour is to Chief Kan. ") +sm.sendSay("#face0#Now, then... Do you really think it wise to spend time resting before we move out? ") +sm.sendDelay(2000) +sm.setParam(57) +sm.sendNext("#bI'm aware that the snowstorm is approaching, and also that we are vulnerable to monsters. There are certainly risks. ") +sm.sendSay("#bBut as Alika said, if we push on without rest, there are those who will not be able to keep up. We're sure to lose people. ") +sm.setParam(37) +sm.sendSay("#face1#You're allowing your emotions to cloud your judgment. The correct decision is clearly to push onward. ") +sm.sendSay("#face1#You want to give people time to think, when they're already tired and disappointed? That can only lead to further despair. ") +sm.sendSay("#face1#Give them a goal. Push them to keep moving forward. If they're too busy to think, they're too busy to complain. ") +sm.setParam(57) +sm.sendSay("#bThat may work for trained knights, but these are ordinary people. ") +sm.sendDelay(2000) +sm.setParam(37) +sm.sendNext("#face0#Before I became a knight, I was a wandering mercenary for years. Just like you. ") +sm.sendSay("#face0#I've spent more of my life with the commoners than with trained knights. I know how they think, and what they're capable of. Do not dismiss the wisdom I've gained. ") +sm.sendSay("#face0#You will soon see that your decision was wrong. I only hope you'll have the chance to recover from it. ") +sm.setParam(57) +sm.sendSay("#b...Thank you for the advice. ") +sm.setParam(37) +sm.sendSay("#face0#Remember well who gives you the advice and counsel you need. ") +sm.sendDelay(500) +sm.flipNpcByTemplateId(9400581, False) +sm.sendDelay(250) +sm.moveNpcByTemplateId(9400581, False, 70, 100) +sm.sendDelay(2500) +sm.flipNpcByTemplateId(9400581, True) +sm.sendDelay(500) +sm.sendNext("#face0#Ah, and just as a reminder... if the pressures of leadership are too much for you, I'd be happy to take over at any time. ") +sm.sendDelay(250) +sm.flipNpcByTemplateId(9400581, False) +sm.sendDelay(250) +sm.sendDelay(1500) +sm.lockInGameUI(False, True) +sm.completeQuestNoCheck(parentID) diff --git a/scripts/quest/q64037s.py b/scripts/quest/q64037s.py new file mode 100755 index 0000000..8a02bcd --- /dev/null +++ b/scripts/quest/q64037s.py @@ -0,0 +1,8 @@ +# id 64037 ([MONAD: The First Omen] Dinner Preparations), field 867200800 +sm.setSpeakerType(3) +sm.setParam(57) +sm.setColor(1) +sm.sendNext("#b(Vice Captain Butler makes a strong argument.) ") +sm.sendSay("#b(But I chose to rest. I chose to make this an opportunity to recover, rather than despair.) ") +sm.sendSay("#b(It might be nice to find branches for a fire, and some meat to eat.) ") +sm.warp(867200802) diff --git a/scripts/quest/q64044e.py b/scripts/quest/q64044e.py new file mode 100755 index 0000000..09ef6f7 --- /dev/null +++ b/scripts/quest/q64044e.py @@ -0,0 +1,44 @@ +# id 64044 ([MONAD: The First Omen] Proving Your Worth), field 867201000 +sm.lockInGameUI(True, False) +sm.completeQuestNoCheck(parentID) +sm.startQuest(64045) +sm.sendDelay(500) +sm.flipNpcByTemplateId(9400587, False) +sm.sendDelay(500) +sm.moveNpcByTemplateId(9400587, False, 110, 50) +sm.sendDelay(2000) +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(9400587) # Kan +sm.sendNext("#face0#Here, we brought Hellfang meat. This should last quite a while if you slice it thin and store it. ") +sm.playSound("Sound/PL_MONAD.img/EP1/ACT2/open", 128) +sm.sendDelay(250) +sm.spawnNpc(9400597, 858, -45) +sm.showNpcSpecialActionByTemplateId(9400597, "summon", 0) +sm.sendDelay(1000) +sm.setInnerOverrideSpeakerTemplateID(9400597) # Gurnardson +sm.sendNext("#face0#Eh? Hellfang meat? ") +sm.sendSay("#face0#Surely you don't expect us to eat this tough, tasteless meat, right? ") +sm.sendSay("#face0#Ahh! No, of course not. This is your food. Providing for yourself, as expected. Good, good. ") +sm.sendSay("#face0#Since we're on the topic, though... how about bringing back something for the rest of us to eat?") +sm.setInnerOverrideSpeakerTemplateID(9400587) # Kan +sm.sendSay("#face0#... ") +sm.setInnerOverrideSpeakerTemplateID(9400596) # Snowfield Archer +sm.sendSay("... ") +sm.setInnerOverrideSpeakerTemplateID(9400581) # Butler +sm.sendSay("#face0#... ") +sm.setInnerOverrideSpeakerTemplateID(9400582) # Cayne +sm.sendSay("#face0#... ") +sm.setInnerOverrideSpeakerTemplateID(9400580) # Alika +sm.sendSay("#face0#... ") +sm.setInnerOverrideSpeakerTemplateID(9400587) # Kan +sm.sendSay("#face0#Understood. What of Shrelephant meat? ") +sm.setInnerOverrideSpeakerTemplateID(9400597) # Gurnardson +sm.sendSay("#face0#Well, that'd be a sight better than Hellfang meat. ") +sm.sendDelay(1000) +sm.playSound("Sound/PL_MONAD.img/EP1/ACT2/close", 128) +sm.sendDelay(500) +sm.sendDelay(1000) +sm.lockInGameUI(False, True) +sm.warp(867201130) diff --git a/scripts/quest/q64045e.py b/scripts/quest/q64045e.py new file mode 100755 index 0000000..59ed289 --- /dev/null +++ b/scripts/quest/q64045e.py @@ -0,0 +1,92 @@ +# id 64045 ([MONAD: The First Omen] High Quality Meat), field 867201000 +sm.lockInGameUI(True, False) +sm.completeQuestNoCheck(parentID) +sm.sendDelay(500) +sm.flipNpcByTemplateId(9400587, False) +sm.sendDelay(500) +sm.moveNpcByTemplateId(9400587, False, 110, 50) +sm.flipNpcByTemplateId(9400584, False) +sm.flipNpcByTemplateId(9400580, False) +sm.sendDelay(2000) +sm.playSound("Sound/PL_MONAD.img/EP1/ACT2/open", 128) +sm.sendDelay(250) +sm.spawnNpc(9400597, 858, -45) +sm.showNpcSpecialActionByTemplateId(9400597, "summon", 0) +sm.sendDelay(1000) +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(9400597) # Gurnardson +sm.sendNext("#face0#Hmm, hmm. Let's see what we have here... ") +sm.sendSay("#face0#Not bad, not bad... I suppose your people do have a reputation for hunting. Now... Say, why are Chief Kan's eyes swollen? ") +sm.setInnerOverrideSpeakerTemplateID(9400587) # Kan +sm.sendSay("#face0#...Will you take us in now? ") +sm.setInnerOverrideSpeakerTemplateID(9400597) # Gurnardson +sm.sendSay("#face0#Ah, not so fast! We have matters to discuss first. ") +sm.sendDelay(1000) +sm.playSound("Sound/PL_MONAD.img/EP1/ACT2/close", 128) +sm.sendDelay(500) +sm.flipNpcByTemplateId(9400589, False) +sm.moveNpcByTemplateId(9400589, False, 850, 100) +sm.setInnerOverrideSpeakerTemplateID(9400582) # Cayne +sm.sendNext("#face0#I don't like the sound of this. ") +sm.setInnerOverrideSpeakerTemplateID(9400580) # Alika +sm.sendSay("#face4#What a disappointing person... ") +sm.setParam(57) +sm.sendSay("#bWe need shelter before night falls... ") +sm.sendDelay(5000) +sm.playSound("Sound/PL_MONAD.img/EP1/ACT2/open", 128) +sm.sendDelay(250) +sm.spawnNpc(9400597, 858, -45) +sm.showNpcSpecialActionByTemplateId(9400597, "summon", 0) +sm.sendDelay(1000) +sm.setParam(37) +sm.setInnerOverrideSpeakerTemplateID(9400597) # Gurnardson +sm.sendNext("#face0#Now then, we don't seem to have much space for you lot to sleep. ") +sm.sendSay("#face0#If you don't want to freeze tonight, you'll need something to keep you warm, won't you? ") +sm.sendSay("#face0#Gather Werebeast Furs for your people. Once that's done, I'll let you in. ") +sm.setInnerOverrideSpeakerTemplateID(9400587) # Kan +sm.sendSay("#face0#...What do you think you're doing? ") +sm.sendSay("#face0#What happened to common decency? How can you sleep at night, using suffering refugees to do your chores?!") +sm.flipNpcByTemplateId(9400580, False) +sm.moveNpcByTemplateId(9400580, False, 270, 80) +sm.sendDelay(2000) +sm.setInnerOverrideSpeakerTemplateID(9400580) # Alika +sm.sendNext("#face4#Chief Kan, I completely agree but I don't think we can afford to lose our tempers right now. ") +sm.sendSay("#face4#A common struggle might not be enough to restore a strained relationship. If you truly want things to be different, we should prove how different we are now. ") +sm.sendSay("#face4#If you lose your temper now... ") +sm.setInnerOverrideSpeakerTemplateID(9400589) # Peytour +sm.sendSay("#face0#Alika is right. ") +sm.sendSay("#face0#We must take responsibility for our dealings. Blaming the other side accomplishes nothing. ") +sm.sendSay("#face0#They act as they always have. If we do the same, nothing will change. ") +sm.setInnerOverrideSpeakerTemplateID(9400597) # Gurnardson +sm.sendSay("#face0#Ahem! ") +sm.setInnerOverrideSpeakerTemplateID(9400587) # Kan +sm.sendSay("#face0#... ") +sm.setInnerOverrideSpeakerTemplateID(9400589) # Peytour +sm.sendSay("#face0#Honored chief of Svarti... You do intend to take us in, yes? ") +sm.setInnerOverrideSpeakerTemplateID(9400597) # Gurnardson +sm.sendSay("#face0#Why, that should be obvious by now! Why else would I waste my time with these dealings? ") +sm.setInnerOverrideSpeakerTemplateID(9400589) # Peytour +sm.sendSay("#face0#Understood. We'll bring back the Werebeast Fur, as promised. ") +sm.setInnerOverrideSpeakerTemplateID(9400597) # Gurnardson +sm.sendSay("#face0#Hmm, hmm. Indeed. ") +sm.sendDelay(1000) +sm.playSound("Sound/PL_MONAD.img/EP1/ACT2/close", 128) +sm.sendDelay(500) +sm.flipNpcByTemplateId(9400589, True) +sm.sendDelay(500) +sm.setInnerOverrideSpeakerTemplateID(9400587) # Kan +sm.sendNext("#face0#... ") +sm.setInnerOverrideSpeakerTemplateID(9400581) # Butler +sm.sendSay("#face1#Hahh... ") +sm.setInnerOverrideSpeakerTemplateID(9400589) # Peytour +sm.sendSay("#face0#Since the knights have already done so much, I ask that you take this time to rest. I will go myself. ") +sm.setParam(57) +sm.sendSay("#bI'm coming with you! ") +sm.sendDelay(1000) +sm.blind(True, 255, 0, 0, 0, 500) +sm.sendDelay(500) +sm.startQuest(64047) +sm.lockInGameUI(False, True) +sm.warp(867201160) diff --git a/scripts/quest/q64062s.py b/scripts/quest/q64062s.py new file mode 100755 index 0000000..7f5ea66 --- /dev/null +++ b/scripts/quest/q64062s.py @@ -0,0 +1,58 @@ +# id 64062 ([MONAD: The First Omen] Actinops), field 867201100 +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(9400598) # Thorson +sm.sendNext("W-wait a second! ") +sm.setParam(57) +sm.sendSay("#bWhat? ") +sm.setParam(37) +sm.sendSay("You know, we're a village of fishermen. Er, harpooners, or whatever you call it. Uh... the monster that showed up in town... ") +sm.setParam(57) +sm.sendSay("#bThe toxic beast? ") +sm.setParam(37) +sm.sendSay("Oh! Is that what you call it? ") +sm.setParam(57) +sm.sendSay("#bAh... not really. One of our knights likes calling it that. ") +sm.setParam(37) +sm.sendSay("I think that monster is... ") +sm.setParam(57) +sm.sendSay("#bIs...? ") +sm.setParam(37) +sm.sendSay("The fish we used to catch! Actinops!") +sm.setParam(57) +sm.sendSay("#bThat monster... was a fish? ") +sm.setParam(37) +sm.sendSay("Yes! Actinops are transparent, down to their blood! It looks a bit gross, but tastes real good. It's Abrup's local specialty! ") +sm.setParam(57) +sm.sendSay("#bI don't know... fish aren't usually pink. Or huge. Or attack people. ") +sm.setParam(37) +sm.sendSay("Yeah, very true. Maybe it ate something pink? Oh, but that's not all! ") +sm.sendSay("Actinops can regenerate really fast. It can also puff itself up real big, so with its regeneration it can do that as long as it wants. ") +sm.sendSay("Didn't you see how it stretched its arm out? ") +sm.setParam(57) +sm.sendSay("#bHmm... ") +sm.setParam(37) +sm.sendSay("Okay, if you still don't believe me, there's another clue! ") +sm.sendSay("Poison! Actinops are poisonous! ") +sm.sendSay("If that monster really is Actinops... ") +sm.setParam(57) +sm.sendSay("#bThen...? ") +sm.setParam(37) +sm.sendSay("If it is Actinops... ") +sm.sendSay("It will focus when it regenerates! And it won't move or attack during that brief time. That's your chance! ") +sm.setParam(57) +sm.sendSay("#b(Thinking back, the monster did pause for a moment after stretching its arm.) ") +sm.setParam(37) +sm.sendSay("But to be honest... it does sound weird saying it out loud. ") +sm.sendSay("It really is Actinops, I'm sure of it... but I have no idea how a small fish turned into such a monster. ") +sm.setParam(57) +sm.sendSay("#bWell, thanks for clearing that up. ") +sm.setParam(37) +sm.sendSay("N-n-not at all! I'm honored to be of help! ") +sm.sendSay("If you have any questions about anything, you can ask me! ") +sm.setParam(57) +sm.sendSay("#bYes, will do. ") +sm.setParam(37) +sm.sendSay("...Whew!") +sm.completeQuestNoCheck(parentID) diff --git a/scripts/quest/q64063e.py b/scripts/quest/q64063e.py new file mode 100755 index 0000000..33e8748 --- /dev/null +++ b/scripts/quest/q64063e.py @@ -0,0 +1,22 @@ +# id 64063 ([MONAD: The First Omen] Hawalu's Song), field 867201100 +sm.showNpcSpecialActionByTemplateId(9400591, "summon", 0) +sm.lockInGameUI(True, False) +sm.sendDelay(300) +sm.moveNpcByTemplateId(9400591, True, 40, 50) +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(9400591) # Shulla +sm.sendNext("Hawalu! ") +sm.flipNpcByTemplateId(9400593, False) +sm.sendSay("I'm so sorry, #h0#. Was Hawalu bothering you?") +sm.setParam(57) +sm.sendSay("#bNot at all. In fact, Hawalu was singing to cheer me up.") +sm.showEffect("Effect/OnUserEff.img/emotion/flower", 2000, 0, 0, 0, 33531306, 0, 0) +sm.setParam(37) +sm.setInnerOverrideSpeakerTemplateID(9400593) # Hawalu +sm.sendSay("That's right, Mommy! I sang! ") +sm.setInnerOverrideSpeakerTemplateID(9400591) # Shulla +sm.sendSay("Thank you, #h0#. I know that makes Hawalu happy too.") +sm.lockInGameUI(False, True) +sm.completeQuestNoCheck(parentID) diff --git a/scripts/quest/q64063s.py b/scripts/quest/q64063s.py new file mode 100755 index 0000000..8039131 --- /dev/null +++ b/scripts/quest/q64063s.py @@ -0,0 +1,12 @@ +# id 64063 ([MONAD: The First Omen] Hawalu's Song), field 867201100 +sm.setSpeakerType(3) +sm.setParam(36) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(9400593) # Hawalu +sm.sendNext("When I drum my belly, happy and round") +sm.sendSay("I feel so happy with that full belly sound!") +sm.setParam(56) +sm.sendSay("#bHawalu, you sing really well.") +sm.setParam(36) +sm.sendSay("Hee hee hee, thank you! I learned it from Mom! She said she feels so happy whenever I sing.") +res = sm.sendNext("Do you want me to sing you a song?#b\r\n#L0# Who Lives in Windsleep Forest#l\r\n#L1# Yummy Meat#l\r\n#L2# Abrup, Land of Snow#l\r\n#L3# The Wind Blows#l\r\n#L20# I'm okay right now. Maybe later.#l") diff --git a/scripts/quest/q64064e.py b/scripts/quest/q64064e.py new file mode 100755 index 0000000..6f38e90 --- /dev/null +++ b/scripts/quest/q64064e.py @@ -0,0 +1,51 @@ +# id 64064 ([MONAD: The First Omen] Soldier's Dilemma), field 867201100 +sm.lockInGameUI(True, False) +sm.flipNpcByTemplateId(9400620, False) +sm.flipNpcByTemplateId(9400621, False) +sm.flipNpcByTemplateId(9400622, False) +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(9400620) # Simmons +sm.sendNext("#h0#! You're back. I hope it wasn't any trouble. ") +sm.setParam(57) +sm.sendSay("#bNo problem at all. You don't need to worry. ") +sm.setParam(37) +sm.setInnerOverrideSpeakerTemplateID(9400622) # Williams +sm.sendSay("We were finally able to rest up, thanks to you. Honestly, this is the best rest I've gotten since we came to Abrup. ") +sm.sendSay("I'd never say we have it easy, but the knights... it seems like they don't even get to sleep. Gillie especially takes so much on herself to help us out. She's the best! ") +sm.setInnerOverrideSpeakerTemplateID(9400621) # Jenkins +sm.sendSay("That's right. We may just be soldiers now, but we're all working hard to become knights one day! ") +sm.spawnNpc(9400623, 280, -10) +sm.showNpcSpecialActionByTemplateId(9400623, "summon", 0) +sm.spawnNpc(9400581, 220, -10) +sm.showNpcSpecialActionByTemplateId(9400581, "summon", 0) +sm.sendDelay(250) +sm.setInnerOverrideSpeakerTemplateID(9400581) # Butler +sm.sendNext("#face0#What are you all doing here? ") +sm.setInnerOverrideSpeakerTemplateID(9400620) # Simmons +sm.sendSay("Di-dispatch Commander! ") +sm.moveNpcByTemplateId(9400581, True, 300, 100) +sm.sendDelay(250) +sm.moveNpcByTemplateId(9400623, True, 300, 100) +sm.sendDelay(2000) +sm.setInnerOverrideSpeakerTemplateID(9400581) # Butler +sm.sendNext("#face0#What? You asked for help?! ") +sm.sendSay("#face0#How dare you give your sacred duty to another... How can you expect to be trusted with the safety of others now? ") +sm.setInnerOverrideSpeakerTemplateID(9400620) # Simmons +sm.sendSay("Sorry, sir. ") +sm.setParam(57) +sm.sendSay("#bButler, I insisted. I wanted to help them... ") +sm.setParam(37) +sm.setInnerOverrideSpeakerTemplateID(9400581) # Butler +sm.sendSay("#face0#There is no need to speak for soldiers. They answer for their actions. To your posts, now! ") +sm.setInnerOverrideSpeakerTemplateID(9400620) # Simmons +sm.sendSay("Yes, Dispatch Commander, sir! ") +sm.flipNpcByTemplateId(9400620, True) +sm.flipNpcByTemplateId(9400621, True) +sm.moveNpcByTemplateId(9400620, True, 500, 150) +sm.moveNpcByTemplateId(9400621, True, 500, 150) +sm.moveNpcByTemplateId(9400622, False, 300, 150) +sm.lockInGameUI(False, True) +sm.completeQuestNoCheck(parentID) +sm.showNpcSpecialActionByTemplateId(9400622, "summon", 0) diff --git a/scripts/quest/q64064s.py b/scripts/quest/q64064s.py new file mode 100755 index 0000000..89577c9 --- /dev/null +++ b/scripts/quest/q64064s.py @@ -0,0 +1,95 @@ +# id 64064 ([MONAD: The First Omen] Soldier's Dilemma), field 867201100 +sm.lockInGameUI(True, False) +sm.sendDelay(500) +sm.sendDelay(2000) +sm.speechBalloon(True, 0, 0, "Ha...", 2000, 1, 0, 0, 0, 4, 9400620, 4878499) +sm.sendDelay(2000) +sm.speechBalloon(True, 0, 0, "Stop sighing... The people may hear you... Ha... ", 2000, 1, 0, 0, 0, 4, 9400621, 4878499) +sm.sendDelay(2000) +sm.speechBalloon(True, 0, 0, "You should stop sighing, too... Ha...", 2000, 1, 0, 0, 0, 4, 9400622, 4878499) +sm.sendDelay(2000) +sm.speechBalloon(True, 0, 0, "Right... Let's cut it and head out...", 2000, 1, 0, 0, 0, 4, 9400620, 4878499) +sm.sendDelay(2000) +sm.speechBalloon(True, 0, 0, "Yeah, yeah. Let's go...", 2000, 1, 0, 0, 0, 4, 9400621, 4878499) +sm.setSpeakerType(3) +sm.setParam(57) +sm.setColor(1) +sm.sendNext("#bWhat is it? ") +sm.flipNpcByTemplateId(9400621, False) +sm.flipNpcByTemplateId(9400622, False) +sm.sendDelay(500) +sm.setParam(37) +sm.setInnerOverrideSpeakerTemplateID(9400620) # Simmons +sm.sendNext("Oh! #h0#! It's nothing! ") +sm.setInnerOverrideSpeakerTemplateID(9400621) # Jenkins +sm.sendSay("It's nothing at all. Well, I suppose we got a bit concerned about the monsters we saw on our way here. So we were on our way to take care of them. ") +sm.setParam(57) +sm.sendSay("#bBut we just got here... ") +sm.setParam(37) +sm.setInnerOverrideSpeakerTemplateID(9400622) # Williams +sm.sendSay("We're a bit tired, but it's okay. We're doing this for the villagers. It's what we do for Afinas! ") +sm.setInnerOverrideSpeakerTemplateID(9400620) # Simmons +sm.sendSay("Right. Who would help them, if not us? ") +sm.setParam(57) +sm.sendSay("#bMay I lend a hand? ") +sm.setParam(37) +sm.setInnerOverrideSpeakerTemplateID(9400622) # Williams +sm.sendSay("No, we've got it under control. But thank you for asking! ") +sm.spawnNpc(9400593, 50, -20) +sm.showNpcSpecialActionByTemplateId(9400593, "summon", 0) +sm.moveNpcByTemplateId(9400593, True, 450, 50) +sm.sendDelay(3000) +sm.setInnerOverrideSpeakerTemplateID(9400593) # Hawalu +sm.sendNext("Last chance, monsters! Better run away ") +sm.sendSay("The Afinas Knights will blow you all away! ") +sm.showEffect("Effect/OnUserEff.img/emotion/love", 0, 0, 0, 0, 9400620, 0, 0) +sm.showEffect("Effect/OnUserEff.img/emotion/love", 0, 0, 0, 0, 9400621, 0, 0) +sm.showEffect("Effect/OnUserEff.img/emotion/love", 0, 0, 0, 0, 9400622, 0, 0) +sm.sendDelay(1000) +sm.flipNpcByTemplateId(9400622, True) +sm.sendDelay(500) +sm.flipNpcByTemplateId(9400621, True) +sm.sendDelay(500) +sm.flipNpcByTemplateId(9400620, True) +sm.sendDelay(1000) +sm.setInnerOverrideSpeakerTemplateID(9400620) # Simmons +sm.sendNext("Isn't he adorable? We'll do everything that we can to keep him safe. ") +sm.flipNpcByTemplateId(9400620, False) +sm.flipNpcByTemplateId(9400621, False) +sm.flipNpcByTemplateId(9400622, False) +sm.setInnerOverrideSpeakerTemplateID(9400622) # Williams +sm.sendSay("That's right. There's no time for us to rest! We have a duty to our people. ") +sm.setInnerOverrideSpeakerTemplateID(9400621) # Jenkins +sm.sendSay("Okay, then. Let's go! ") +sm.moveNpcByTemplateId(9400622, False, 50, 50) +sm.moveNpcByTemplateId(9400621, False, 50, 50) +sm.moveNpcByTemplateId(9400620, False, 30, 50) +sm.sendDelay(1000) +sm.showNpcSpecialActionByTemplateId(9400620, "rest", -1) +sm.sendDelay(500) +sm.flipNpcByTemplateId(9400621, True) +sm.flipNpcByTemplateId(9400622, True) +sm.setInnerOverrideSpeakerTemplateID(9400622) # Williams +sm.sendNext("Hey, what's wrong? ") +sm.setInnerOverrideSpeakerTemplateID(9400620) # Simmons +sm.sendSay("I felt strange for a second... ") +sm.resetNpcSpecialActionByTemplateId(9400620) +sm.setInnerOverrideSpeakerTemplateID(9400621) # Jenkins +sm.sendSay("You should rest. We'll go ahead on our own. ") +sm.setParam(57) +res = sm.sendNext("#b(Everyone seems to be exhausted.)\r\n#L0# All of you, please rest. I'll go. It's just monsters beyond the wall, right?#l\r\n#L1# Good luck, then.#l") +sm.flipNpcByTemplateId(9400621, False) +sm.flipNpcByTemplateId(9400622, False) +sm.setParam(37) +sm.sendNext("Well, I can't really keep refusing you, can I? If you could take care of those monsters, that would be great, yeah. ") +sm.setParam(57) +sm.sendSay("#bOf course. You have a lot of battles ahead of you. Rest up and save your energy for now. ") +sm.setParam(37) +sm.setInnerOverrideSpeakerTemplateID(9400620) # Simmons +sm.sendSay("Thank you, #h0#. We're so used to helping others out... it feels strange having someone help us. Strange and good. ") +sm.sendSay("This must be how the villagers feel when we help them, right? Now I feel even better about our work. ") +sm.setInnerOverrideSpeakerTemplateID(9400622) # Williams +sm.sendSay("All right, enough of that! \r\n#h0#, please take care of 50 Raging Werebeast monsters!") +sm.startQuest(parentID) +sm.lockInGameUI(False, True) +sm.warp(867201360) diff --git a/scripts/quest/q64065e.py b/scripts/quest/q64065e.py new file mode 100755 index 0000000..d0a73d6 --- /dev/null +++ b/scripts/quest/q64065e.py @@ -0,0 +1,38 @@ +# id 64065 ([MONAD: The First Omen] Butler's Dilemma), field 867201100 +sm.setSpeakerType(3) +sm.setParam(57) +sm.setColor(1) +sm.sendNext("#bWilliams? ") +sm.setParam(37) +sm.setInnerOverrideSpeakerTemplateID(9400622) # Williams +sm.sendSay("Oh, hey #h0#! I hope you didn't get in trouble with the Dispatch Commander? Sorry, that was our fault... ") +sm.setParam(57) +sm.sendSay("#bNot at all. Vice Captain Butler mentioned you saw a massive shadow back at... ") +sm.setParam(37) +sm.sendSay("Ah! It's nothing! I was just tired and hallucinating. Really, it was nothing! ") +sm.setParam(57) +sm.sendSay("#bWell, the thing is... I saw something similar. I'd like to know what you saw. ") +sm.setParam(37) +sm.sendSay("No... I really was mistaken. ") +sm.lockInGameUI(True, False) +sm.flipNpcByTemplateId(9400587, False) +sm.sendDelay(500) +sm.moveNpcByTemplateId(9400587, False, 50, 50) +sm.sendDelay(1000) +sm.lockInGameUI(False, True) +sm.setInnerOverrideSpeakerTemplateID(9400587) # Kan +sm.sendNext("#face0#...There are quite a few villagers talking about that shadow as well. ") +sm.sendSay("#face0#People are calling it the 'smoke shadow'. Of course, no one knows if it was just a strange cloud... or an actual creature. ") +sm.sendSay("#face0#But I am certain that no one wants to believe it. ") +sm.setInnerOverrideSpeakerTemplateID(9400622) # Williams +sm.sendSay("Err... ") +sm.setParam(57) +sm.sendSay("#bWhat could it be... ") +sm.setParam(37) +sm.setInnerOverrideSpeakerTemplateID(9400587) # Kan +sm.sendSay("#face0#For now, I choose to believe it was an illusion. It's a... more comforting thought, since no one knows for sure. ") +sm.sendSay("#face0#The truth is that we've all seen it many times, every time there was a snowstorm, or smoke, or thick fog. The people assume it's the shadow of a mountain or an odd cloud. ") +sm.setParam(57) +sm.sendSay("#b(I definitely need to look into this further. ) ") +sm.createQuestWithQRValue(64020, "chk1=1;chk2=1;chk3=1") +sm.completeQuestNoCheck(parentID) diff --git a/scripts/quest/q64065s.py b/scripts/quest/q64065s.py new file mode 100755 index 0000000..033e900 --- /dev/null +++ b/scripts/quest/q64065s.py @@ -0,0 +1,29 @@ +# id 64065 ([MONAD: The First Omen] Butler's Dilemma), field 867201100 +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(9400581) # Butler +sm.sendNext("#face0#Unbelievable. To ask a civilian for help... ") +sm.setParam(57) +sm.sendSay("#bThey need time to get their strength back. ") +sm.setParam(37) +sm.sendSay("#face0#In wartime, a lack of discipline means certain defeat. ") +sm.sendSay("#face0#When I was younger, I fought for days at a time without sleeping or eating. These layabouts get full meals and sleep by warm fires, and still have the nerve to complain? Unacceptable! ") +sm.sendSay("#face0#I've already had to deal with rumors among the soldiers of a massive shadow during the battle at Kaptafel, and now this. ") +sm.setParam(57) +sm.sendSay("#bWait, a massive shadow? ") +sm.setParam(37) +sm.sendSay("#face0#Yeah. Ridiculous rumors like that can be bad for morale, you know. ") +sm.setParam(57) +sm.sendSay("#bWho started the rumor? ") +sm.setParam(37) +sm.sendSay("#face0#It was Williams, one of the soldiers resting here earlier. That's how undisciplined they've become. You see what happens when you go easy on them? ") +sm.setParam(57) +sm.sendSay("#b(Might be worth asking Williams about what he saw.) ") +sm.setParam(37) +sm.sendSay("#face0##h0#? ") +sm.setParam(57) +sm.sendSay("#bThank you, Vice Captain Butler. Please excuse me... ") +sm.setParam(37) +sm.sendSay("#face0#Where are you going? I'm not finished... ") +sm.startQuest(parentID) diff --git a/scripts/quest/q64067e.py b/scripts/quest/q64067e.py new file mode 100755 index 0000000..9d15483 --- /dev/null +++ b/scripts/quest/q64067e.py @@ -0,0 +1,27 @@ +# id 64067 ([MONAD: The First Omen] Treatment Necessities), field 867201100 +sm.setSpeakerType(3) +sm.setParam(57) +sm.setColor(1) +sm.sendNext("#bHere you go, Alika. Leatty crystals. ") +sm.setParam(37) +sm.setInnerOverrideSpeakerTemplateID(9400582) # Cayne +sm.sendSay("#face0#I got most of them. Just so you know. ") +sm.setInnerOverrideSpeakerTemplateID(9400580) # Alika +sm.sendSay("#face1#Thank you! Thank you. ") +sm.setParam(57) +sm.sendSay("#b... ") +sm.sendSay("#bJanyt, it's truly amazing that you healed all these people. Aren't you tired? ") +sm.setParam(37) +sm.setInnerOverrideSpeakerTemplateID(9400584) # Janyt +sm.sendSay("#face0#... ") +sm.setInnerOverrideSpeakerTemplateID(9400580) # Alika +sm.sendSay("#face1#Indeed, truly amazing! Firm beliefs and unwavering commitment... She is quite special. ") +sm.setInnerOverrideSpeakerTemplateID(9400584) # Janyt +sm.sendSay("#face0#I merely share the blessings I receive from Afinas. ") +sm.setInnerOverrideSpeakerTemplateID(9400582) # Cayne +sm.sendSay("#face0#Truly, no one adores Afinas like our dear Janyt here. ") +sm.setInnerOverrideSpeakerTemplateID(9400580) # Alika +sm.sendSay("#face1#Cayne, rest up for now. I'll let you know if I need anything. ") +sm.sendSay("#face1##h0#, you should rest too. Maybe by the fire.") +sm.completeQuestNoCheck(parentID) +sm.warp(867201101) diff --git a/scripts/quest/q64067s.py b/scripts/quest/q64067s.py new file mode 100755 index 0000000..73c5a06 --- /dev/null +++ b/scripts/quest/q64067s.py @@ -0,0 +1,49 @@ +# id 64067 ([MONAD: The First Omen] Treatment Necessities), field 867201100 +sm.lockInGameUI(True, False) +sm.forcedFlip(True) +sm.blind(True, 255, 0, 0, 0, 0) +sm.sendDelay(100) +sm.blind(False, 0, 0, 0, 0, 250) +sm.sendDelay(300) +sm.moveNpcByTemplateId(9400580, True, 20, 20) +sm.showNpcSpecialActionByTemplateId(9400584, "skill2", 0) +sm.sendDelay(2000) +sm.flipNpcByTemplateId(9400580, False) +sm.sendDelay(250) +sm.moveNpcByTemplateId(9400580, False, 20, 20) +sm.setSpeakerType(3) +sm.setParam(57) +sm.setColor(1) +sm.sendNext("#b(Alika and Janyt are busy taking care of the injured.) ") +sm.sendSay("#b(Wonder if there's anything I can help with.) ") +sm.forcedMove(False, 30) +sm.sendDelay(500) +sm.sendNext("#bJanyt, can I help with anything? ") +sm.setParam(37) +sm.setInnerOverrideSpeakerTemplateID(9400584) # Janyt +sm.sendSay("#face0#Ah... No. The blessings of Afinas suffice. ") +sm.setParam(57) +sm.sendSay("#bBut there should be something. ") +sm.setParam(37) +sm.sendSay("#face1#No. ") +sm.setInnerOverrideSpeakerTemplateID(9400580) # Alika +sm.sendSay("#face0##h0#? ") +sm.flipNpcByTemplateId(9400580, True) +sm.sendDelay(250) +sm.moveNpcByTemplateId(9400580, True, 60, 30) +sm.sendDelay(500) +sm.setParam(57) +sm.sendNext("#bOh, Alika. I wanted to see if there is anything I could help with. ") +sm.setParam(37) +sm.sendSay("#face1#Of course! There's always plenty to do. ") +sm.sendSay("#face1#Can you find us some supplies for treating injuries? ") +sm.sendSay("#face1#As you can see, there is a limit to Devata Janyt's healing powers. She needs some time to recover, but we don't have enough medicine to treat everyone. ") +sm.setParam(57) +sm.sendSay("#bI'd love to help. What can be used for medicine around here? ") +sm.setParam(37) +sm.sendSay("#face1#The Abrup people have a traditional remedy made from melted Leatty Crystals. I haven't tested it myself, but it's worth a try, right? ") +sm.sendSay("#face1#I was told that the leatty gather on the snowfield near the river. Cayne is already there, so you can look for him. ") +sm.startQuest(parentID) +sm.sendDelay(2000) +sm.lockInGameUI(False, True) +sm.warp(867201180) diff --git a/scripts/quest/q64070s.py b/scripts/quest/q64070s.py new file mode 100755 index 0000000..4385b1f --- /dev/null +++ b/scripts/quest/q64070s.py @@ -0,0 +1,8 @@ +# id 64070 ([MONAD: The First Omen] Old Woman's Whereabouts), field 867201100 +sm.setSpeakerType(3) +sm.setParam(57) +sm.setColor(1) +sm.sendNext("#b(Looks like I have some time now.) ") +sm.sendSay("#b(I wonder if the old lady might have stopped by this town, too.) ") +sm.sendSay("#b(I should ask Thorson.) ") +sm.startQuest(parentID) diff --git a/scripts/quest/q64071s.py b/scripts/quest/q64071s.py new file mode 100755 index 0000000..bbf5f76 --- /dev/null +++ b/scripts/quest/q64071s.py @@ -0,0 +1,30 @@ +# id 64071 ([MONAD: The First Omen] Svarti Heirloom), field 867201050 +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(9400598) # Thorson +sm.sendNext("H-hero! Are you really leaving? ") +sm.setParam(57) +sm.sendSay("#bYes, there's something I need to take care of. ") +sm.setParam(37) +sm.sendSay("But, the forest... it's so dangerous right now! ") +sm.sendSay("Don't tell the chief about this, but... please, take this! ") +sm.completeQuestNoCheck(parentID) +sm.sendSay("This is a relic that has been passed down in our village for generations. ") +sm.setParam(57) +sm.sendSay("#bBy giving this to me... ") +sm.setParam(37) +sm.sendSay("You'll need it more than we do! I've been waiting for this day, to do some real good for someone! ") +sm.setParam(57) +sm.sendSay("#bThank you, Thorson. I hope I won't have to use it, so I can return it when I come back. ") +sm.setParam(37) +sm.sendSay("Sounds good! So, may the breath of Windsleep Forest be with you! ") +sm.lockInGameUI(True, False) +sm.sendDelay(500) +sm.forcedFlip(True) +sm.forcedMove(True, 309) +sm.sendDelay(501) +sm.sendDelay(1000) +sm.lockInGameUI(False, True) +sm.createQuestWithQRValue(64008, "mapIdx=0") +sm.warp(867201200) diff --git a/scripts/quest/q64072s.py b/scripts/quest/q64072s.py new file mode 100755 index 0000000..1ff93d0 --- /dev/null +++ b/scripts/quest/q64072s.py @@ -0,0 +1,8 @@ +# id 64072 ([MONAD: The First Omen] Into the Forest), field 867201100 +sm.setSpeakerType(3) +sm.setParam(57) +sm.setColor(1) +sm.sendNext("#b(Now that I know where the cabin is, I should head out soon.)") +res = sm.sendNext("#b(In the end, perhaps it would be best to just get going right away.)\r\n#L0# 'I'd better get going.'#l") +sm.startQuest(parentID) +sm.warp(867201050) diff --git a/scripts/quest/q64080e.py b/scripts/quest/q64080e.py new file mode 100755 index 0000000..3fec680 --- /dev/null +++ b/scripts/quest/q64080e.py @@ -0,0 +1,29 @@ +# id 64080 ([MONAD: The First Omen] Night in the Forest), field 867201600 +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(9400580) # Alika +sm.sendNext("#face1#Back already? ") +sm.setParam(57) +sm.sendSay("#bWow, that's quite a fire you built. ") +sm.setParam(37) +sm.sendSay("#face2#I have you to thank for it. You taught me, after all! ") +sm.setParam(57) +sm.sendSay("#bOh, when we were making soup? Yeah, good point... ") +sm.sendSay("#bWait, your hands are all scratched up! ") +sm.setParam(37) +sm.sendSay("#face1#Well, I never said I was good at it. Don't worry, #h0#. Let's get some rest. ") +sm.setParam(57) +sm.sendSay("#bThanks, Alika. ") +sm.lockInGameUI(True, False) +sm.showEffect("Effect/OnUserEff.img/emotion/oh", 0, 0, 0, 0, 25, 0, 0) +sm.sendDelay(1000) +sm.setParam(37) +sm.sendNext("#face3#Uh... is that...? ") +sm.sendSay("#face3#Pete, don't look... ") +sm.completeQuestNoCheck(parentID) +sm.startQuest(64081) +sm.blind(True, 255, 0, 0, 0, 500) +sm.sendDelay(500) +sm.lockInGameUI(False, True) +sm.warp(867201601) diff --git a/scripts/quest/q64083s.py b/scripts/quest/q64083s.py new file mode 100755 index 0000000..12deab6 --- /dev/null +++ b/scripts/quest/q64083s.py @@ -0,0 +1,30 @@ +# id 64083 ([MONAD: The First Omen] Treacherous Forest Road), field 867201603 +sm.lockInGameUI(True, False) +sm.flipNpcByTemplateId(9400580, False) +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(9400580) # Alika +sm.sendNext("#face0#Shall we head out, then? ") +sm.setParam(57) +sm.sendSay("#bYeah. Let's get going. ") +sm.setParam(37) +sm.sendSay("#face0#Oh, I was thinking... it might be better to leave Pete here. The roads are getting more dangerous, and I'd hate to lose him with monsters around. ") +sm.sendDelay(250) +sm.flipNpcByTemplateId(9400580, True) +sm.sendDelay(250) +sm.flipNpcByTemplateId(9400580, False) +sm.sendDelay(250) +sm.moveNpcByTemplateId(9400580, False, 500, 150) +sm.sendDelay(250) +sm.moveNpcByTemplateId(9400595, False, 500, 150) +sm.sendDelay(6000) +sm.flipNpcByTemplateId(9400580, True) +sm.sendDelay(250) +sm.moveNpcByTemplateId(9400580, True, 500, 120) +sm.sendDelay(2000) +sm.sendNext("#face1#Let's go! ") +sm.lockInGameUI(False, True) +sm.startQuest(parentID) +sm.createQuestWithQRValue(parentID, "mapIdx=0") +sm.warp(867201700) diff --git a/scripts/quest/q64084e.py b/scripts/quest/q64084e.py new file mode 100755 index 0000000..7d81467 --- /dev/null +++ b/scripts/quest/q64084e.py @@ -0,0 +1,33 @@ +# id 64084 ([MONAD: The First Omen] Local Villagers), field 867201760 +sm.createQuestWithQRValue(parentID, "chk1=1;chk2=1") +sm.lockInGameUI(True, False) +sm.setSpeakerType(3) +sm.setParam(57) +sm.setColor(1) +sm.sendNext("#bBe careful when climbing up! ") +sm.setParam(37) +sm.setInnerOverrideSpeakerTemplateID(9400580) # Alika +sm.sendSay("#face1#Thanks, #h0#! ") +sm.sendDelay(2000) +sm.sendNext("#face5#Ahh! Are you serious?! ") +sm.sendSay("#face5#Ugh... I'm coming. ") +sm.spawnNpc(9400580, 1630, 440) +sm.showNpcSpecialActionByTemplateId(9400580, "summon", 0) +sm.sendDelay(1000) +sm.sendNext("#face5#You should have warned me! ") +sm.sendSay("#face3#It was too dark for me to see what it was. The moment I realized it was a Jellyrash, I almost lost my grip! ") +sm.sendSay("#face0#Bleh! Thanks... I guess. ") +sm.setParam(57) +sm.sendSay("#bI'm sorry! There really wasn't anything else rope-like around here. ") +sm.setParam(37) +sm.sendSay("#face1#It's okay. It was a bit... sticky, but it got the job done. ") +sm.sendSay("#face1#Anyway! The important thing is... ") +sm.sendSay("#face1#This hole must have been dug by someone! That means someone's living nearby, right? ") +sm.sendSay("#face2#It could be the old lady's cabin. Let's go look for it! ") +sm.flipNpcByTemplateId(9400580, False) +sm.sendDelay(250) +sm.moveNpcByTemplateId(9400580, False, 200, 100) +sm.sendDelay(3000) +sm.lockInGameUI(False, True) +sm.completeQuestNoCheck(parentID) +sm.warp(867201800) diff --git a/scripts/quest/q64087e.py b/scripts/quest/q64087e.py new file mode 100755 index 0000000..b525859 --- /dev/null +++ b/scripts/quest/q64087e.py @@ -0,0 +1,22 @@ +# id 64087 ([MONAD: The First Omen] Alika's Research Materials), field 867202300 +sm.completeQuestNoCheck(parentID) +sm.setSpeakerType(3) +sm.setParam(57) +sm.setColor(1) +sm.sendNext("#bAlika, take these. ") +sm.setParam(37) +sm.setInnerOverrideSpeakerTemplateID(9400580) # Alika +sm.sendSay("#face0#What are they? ") +sm.sendSay("#face1#Wait... are these...? ") +sm.sendSay("#face2#Wow! Transparent Actinops skin... giant Fembris fangs... hard Frostflail Yeti horns... Did you gather these for my research? ") +sm.setParam(57) +sm.sendSay("#bI hope they lead to a big breakthrough for you! ") +sm.setParam(37) +sm.sendSay("#face1#Oh, thank you so much! To be honest, I was starting to worry that I'd have to return to Afinas without any personal achievements. ") +sm.sendSay("#face1#I couldn't worry about that, since there's so much at stake here, but... you really came through for me. How can I ever repay you? ") +sm.setParam(57) +sm.sendSay("#bDon't worry about that, it was no trouble at all. ") +sm.setParam(37) +sm.sendSay("#face3#Really? Because I remember that Frostflail Yeti giving us some trouble... ") +sm.setParam(57) +sm.sendSay("#bHey, as long as you're happy, I'm happy.") diff --git a/scripts/quest/q64088e.py b/scripts/quest/q64088e.py new file mode 100755 index 0000000..aafe0dc --- /dev/null +++ b/scripts/quest/q64088e.py @@ -0,0 +1,278 @@ +# id 64088 ([MONAD: The First Omen] Monster Horde), field 867201821 +sm.lockInGameUI(True, False) +sm.spawnNpc(9400676, 200, 400) +sm.showNpcSpecialActionByTemplateId(9400676, "summon", 0) +sm.spawnNpc(9400642, 120, 400) +sm.showNpcSpecialActionByTemplateId(9400642, "summon", 0) +sm.spawnNpc(9400642, 50, 400) +sm.showNpcSpecialActionByTemplateId(9400642, "summon", 0) +sm.spawnNpc(9400676, -30, 400) +sm.showNpcSpecialActionByTemplateId(9400676, "summon", 0) +sm.spawnNpc(9400642, -100, 400) +sm.showNpcSpecialActionByTemplateId(9400642, "summon", 0) +sm.spawnNpc(9400642, -180, 400) +sm.showNpcSpecialActionByTemplateId(9400642, "summon", 0) +sm.spawnNpc(9400676, -280, 400) +sm.showNpcSpecialActionByTemplateId(9400676, "summon", 0) +sm.spawnNpc(9400675, -350, 400) +sm.showNpcSpecialActionByTemplateId(9400675, "summon", 0) +sm.spawnNpc(9400674, -430, 400) +sm.showNpcSpecialActionByTemplateId(9400674, "summon", 0) +sm.spawnNpc(9400641, -500, 400) +sm.showNpcSpecialActionByTemplateId(9400641, "summon", 0) +sm.spawnNpc(9400675, -560, 400) +sm.showNpcSpecialActionByTemplateId(9400675, "summon", 0) +sm.spawnNpc(9400641, -620, 400) +sm.showNpcSpecialActionByTemplateId(9400641, "summon", 0) +sm.spawnNpc(9400667, -800, 400) +sm.showNpcSpecialActionByTemplateId(9400667, "summon", 0) +sm.spawnNpc(9400672, -850, 400) +sm.showNpcSpecialActionByTemplateId(9400672, "summon", 0) +sm.spawnNpc(9400674, -910, 400) +sm.showNpcSpecialActionByTemplateId(9400674, "summon", 0) +sm.spawnNpc(9400675, -970, 400) +sm.showNpcSpecialActionByTemplateId(9400675, "summon", 0) +sm.spawnNpc(9400666, -1050, 400) +sm.showNpcSpecialActionByTemplateId(9400666, "summon", 0) +sm.spawnNpc(9400674, -1120, 400) +sm.showNpcSpecialActionByTemplateId(9400674, "summon", 0) +sm.spawnNpc(9400676, -1200, 400) +sm.showNpcSpecialActionByTemplateId(9400676, "summon", 0) +sm.spawnNpc(9400672, -1250, 400) +sm.showNpcSpecialActionByTemplateId(9400672, "summon", 0) +sm.spawnNpc(9400668, -1400, 400) +sm.showNpcSpecialActionByTemplateId(9400668, "summon", 0) +sm.spawnNpc(9400676, -1500, 400) +sm.showNpcSpecialActionByTemplateId(9400676, "summon", 0) +sm.spawnNpc(9400642, -1630, 400) +sm.showNpcSpecialActionByTemplateId(9400642, "summon", 0) +sm.spawnNpc(9400642, -1750, 400) +sm.showNpcSpecialActionByTemplateId(9400642, "summon", 0) +sm.spawnNpc(9400676, -1810, 400) +sm.showNpcSpecialActionByTemplateId(9400676, "summon", 0) +sm.spawnNpc(9400642, -1900, 400) +sm.showNpcSpecialActionByTemplateId(9400642, "summon", 0) +sm.forcedFlip(True) +sm.playSound("Sound/Mob.img/9402245/Attack2", 100) +sm.sendDelay(500) +sm.playSound("Sound/Mob.img/9402247/Attack1", 100) +sm.setSpeakerType(3) +sm.setParam(57) +sm.setColor(1) +sm.sendNext("#bAlika! They're heading to Svarti! ") +sm.sendDelay(500) +sm.showEffect("Effect/OnUserEff.img/emotionBalloon/exclamation", 1000, 0, 0, 0, 33954511, 0, 0) +sm.sendDelay(2000) +sm.setParam(37) +sm.setInnerOverrideSpeakerTemplateID(9400580) # Alika +sm.sendNext("#face5#No! We've got to do something... Everyone is recovering, they're not ready for another fight! ") +sm.sendSay("#face5#What should we do?! ") +sm.setParam(57) +sm.sendSay("#bThere are way too many for us to fight. Even if we return to Svarti right now and fight together... ") +sm.setParam(37) +sm.sendSay("#face4#We need to stop them... keep them from getting to Svarti somehow. ") +sm.setParam(57) +sm.sendSay("#bBut what could we do to stop... ") +sm.flipNpcByTemplateId(9400580, False) +sm.sendDelay(500) +sm.flipNpcByTemplateId(9400580, True) +sm.sendDelay(500) +sm.flipNpcByTemplateId(9400580, False) +sm.sendDelay(500) +sm.flipNpcByTemplateId(9400580, True) +sm.forcedFlip(True) +sm.sendDelay(500) +sm.sendDelay(2000) +sm.setParam(37) +sm.sendNext("#face4#...! ") +sm.setParam(57) +sm.sendSay("#b...! ") +sm.setParam(37) +sm.sendSay("#face4#If we destroy these... ") +sm.showEffect("Effect/OnUserEff.img/emotion/oh", 0, 0, 0, 0, 0, 0, 0) +sm.setParam(57) +sm.sendSay("#b...They can't get past! ") +sm.sendDelay(1000) +sm.forcedFlip(True) +sm.forcedMove(True, 95) +sm.sendDelay(2000) +sm.forcedInput(5) +sm.sendDelay(900) +sm.forcedMove(True, 30) +sm.sendDelay(1000) +sm.forcedAction(5, 0) +sm.sendDelay(500) +sm.forcedAction(5, 0) +sm.sendDelay(500) +sm.showNpcSpecialActionByTemplateId(9400682, "die1", 0) +sm.sendDelay(1000) +sm.moveNpcByTemplateId(9400676, False, 100, 50) +sm.moveNpcByTemplateId(9400642, False, 100, 50) +sm.moveNpcByTemplateId(9400642, False, 100, 50) +sm.moveNpcByTemplateId(9400676, False, 100, 50) +sm.moveNpcByTemplateId(9400642, False, 100, 50) +sm.moveNpcByTemplateId(9400642, False, 100, 50) +sm.moveNpcByTemplateId(9400676, False, 100, 50) +sm.moveNpcByTemplateId(9400675, False, 100, 50) +sm.moveNpcByTemplateId(9400674, False, 100, 50) +sm.moveNpcByTemplateId(9400641, False, 100, 50) +sm.moveNpcByTemplateId(9400675, False, 100, 50) +sm.moveNpcByTemplateId(9400641, False, 100, 50) +sm.moveNpcByTemplateId(9400667, False, 100, 50) +sm.moveNpcByTemplateId(9400672, False, 100, 50) +sm.moveNpcByTemplateId(9400674, False, 100, 50) +sm.moveNpcByTemplateId(9400675, False, 100, 50) +sm.moveNpcByTemplateId(9400666, False, 100, 50) +sm.moveNpcByTemplateId(9400674, False, 100, 50) +sm.moveNpcByTemplateId(9400676, False, 100, 50) +sm.moveNpcByTemplateId(9400672, False, 100, 50) +sm.moveNpcByTemplateId(9400668, False, 100, 50) +sm.moveNpcByTemplateId(9400676, False, 100, 50) +sm.moveNpcByTemplateId(9400642, False, 100, 50) +sm.moveNpcByTemplateId(9400642, False, 100, 50) +sm.moveNpcByTemplateId(9400676, False, 100, 50) +sm.moveNpcByTemplateId(9400642, False, 100, 50) +sm.sendDelay(300) +sm.playSound("Sound/Mob.img/9402246/skill1", 100) +sm.sendDelay(500) +sm.playSound("Sound/Mob.img/9402241/Attack1", 100) +sm.sendDelay(500) +sm.playSound("Sound/Mob.img/9402250/Attack5", 100) +sm.sendDelay(500) +sm.playSound("Sound/Mob.img/9402247/Attack2", 100) +sm.sendDelay(500) +sm.playSound("Sound/Mob.img/9402245/Attack2", 100) +sm.sendDelay(500) +sm.playSound("Sound/Mob.img/9402252/Attack2", 100) +sm.sendDelay(500) +sm.playSound("Sound/Mob.img/9402246/skill1", 100) +sm.sendDelay(500) +sm.playSound("Sound/Mob.img/9402247/Attack1", 100) +sm.sendDelay(2000) +sm.setParam(37) +sm.sendNext("#face0#That's it! ") +sm.setParam(57) +sm.sendSay("#bOkay, so the other ones too... ") +sm.forcedFlip(True) +sm.sendDelay(1000) +sm.showEffect("Effect/OnUserEff.img/emotionBalloon/exclamation", 1000, 0, 0, 0, 9400580, 0, 0) +sm.sendDelay(600) +sm.spawnNpc(9400676, -650, 400) +sm.showNpcSpecialActionByTemplateId(9400676, "summon", 0) +sm.spawnNpc(9400642, -580, 400) +sm.showNpcSpecialActionByTemplateId(9400642, "summon", 0) +sm.spawnNpc(9400642, -510, 400) +sm.showNpcSpecialActionByTemplateId(9400642, "summon", 0) +sm.spawnNpc(9400676, -440, 400) +sm.showNpcSpecialActionByTemplateId(9400676, "summon", 0) +sm.spawnNpc(9400642, -370, 400) +sm.showNpcSpecialActionByTemplateId(9400642, "summon", 0) +sm.spawnNpc(9400642, -300, 400) +sm.showNpcSpecialActionByTemplateId(9400642, "summon", 0) +sm.spawnNpc(9400676, -230, 400) +sm.showNpcSpecialActionByTemplateId(9400676, "summon", 0) +sm.spawnNpc(9400675, -150, 400) +sm.showNpcSpecialActionByTemplateId(9400675, "summon", 0) +sm.spawnNpc(9400674, -50, 400) +sm.showNpcSpecialActionByTemplateId(9400674, "summon", 0) +sm.spawnNpc(9400641, -750, 400) +sm.showNpcSpecialActionByTemplateId(9400641, "summon", 0) +sm.spawnNpc(9400675, -820, 400) +sm.showNpcSpecialActionByTemplateId(9400675, "summon", 0) +sm.spawnNpc(9400641, -890, 400) +sm.showNpcSpecialActionByTemplateId(9400641, "summon", 0) +sm.spawnNpc(9400667, -950, 400) +sm.showNpcSpecialActionByTemplateId(9400667, "summon", 0) +sm.spawnNpc(9400672, -1020, 400) +sm.showNpcSpecialActionByTemplateId(9400672, "summon", 0) +sm.spawnNpc(9400674, -1080, 400) +sm.showNpcSpecialActionByTemplateId(9400674, "summon", 0) +sm.spawnNpc(9400675, -1130, 400) +sm.showNpcSpecialActionByTemplateId(9400675, "summon", 0) +sm.spawnNpc(9400666, -1200, 400) +sm.showNpcSpecialActionByTemplateId(9400666, "summon", 0) +sm.spawnNpc(9400674, -1280, 400) +sm.showNpcSpecialActionByTemplateId(9400674, "summon", 0) +sm.spawnNpc(9400676, -1350, 400) +sm.showNpcSpecialActionByTemplateId(9400676, "summon", 0) +sm.spawnNpc(9400672, -1400, 400) +sm.showNpcSpecialActionByTemplateId(9400672, "summon", 0) +sm.spawnNpc(9400668, -1480, 400) +sm.showNpcSpecialActionByTemplateId(9400668, "summon", 0) +sm.sendDelay(500) +sm.sendDelay(1000) +sm.showNpcSpecialActionByTemplateId(9400676, "attack1", -1) +sm.showNpcSpecialActionByTemplateId(9400641, "attack1", -1) +sm.playSound("Sound/Mob.img/9402246/skill1", 100) +sm.playSound("Sound/Mob.img/9402241/Attack1", 100) +sm.moveNpcByTemplateId(9400642, True, 20, 50) +sm.moveNpcByTemplateId(9400642, True, 20, 50) +sm.moveNpcByTemplateId(9400676, True, 20, 50) +sm.moveNpcByTemplateId(9400642, True, 20, 50) +sm.moveNpcByTemplateId(9400642, True, 20, 50) +sm.moveNpcByTemplateId(9400676, True, 20, 50) +sm.moveNpcByTemplateId(9400675, True, 20, 50) +sm.moveNpcByTemplateId(9400674, True, 20, 50) +sm.moveNpcByTemplateId(9400675, False, 20, 50) +sm.moveNpcByTemplateId(9400641, False, 20, 50) +sm.moveNpcByTemplateId(9400667, False, 20, 50) +sm.moveNpcByTemplateId(9400672, False, 20, 50) +sm.moveNpcByTemplateId(9400674, False, 20, 50) +sm.moveNpcByTemplateId(9400675, False, 20, 50) +sm.moveNpcByTemplateId(9400666, False, 20, 50) +sm.moveNpcByTemplateId(9400674, False, 20, 50) +sm.moveNpcByTemplateId(9400676, False, 20, 50) +sm.moveNpcByTemplateId(9400672, False, 20, 50) +sm.moveNpcByTemplateId(9400668, False, 20, 50) +sm.playSound("Sound/Mob.img/9402250/Attack5", 100) +sm.sendDelay(500) +sm.playSound("Sound/Mob.img/9402247/Attack2", 100) +sm.playSound("Sound/Mob.img/9402245/Attack2", 100) +sm.sendDelay(500) +sm.playSound("Sound/Mob.img/9402252/Attack2", 100) +sm.playSound("Sound/Mob.img/9402246/skill1", 100) +sm.sendDelay(500) +sm.playSound("Sound/Mob.img/9402247/Attack1", 100) +sm.showNpcSpecialActionByTemplateId(9400642, "attack1", -1) +sm.showNpcSpecialActionByTemplateId(9400675, "attack1", -1) +sm.moveNpcByTemplateId(9400642, True, 20, 50) +sm.moveNpcByTemplateId(9400676, True, 20, 50) +sm.moveNpcByTemplateId(9400642, True, 20, 50) +sm.moveNpcByTemplateId(9400642, True, 20, 50) +sm.moveNpcByTemplateId(9400676, True, 20, 50) +sm.moveNpcByTemplateId(9400675, True, 20, 50) +sm.moveNpcByTemplateId(9400674, True, 20, 50) +sm.moveNpcByTemplateId(9400641, False, 20, 50) +sm.moveNpcByTemplateId(9400667, False, 20, 50) +sm.moveNpcByTemplateId(9400672, False, 20, 50) +sm.moveNpcByTemplateId(9400674, False, 20, 50) +sm.moveNpcByTemplateId(9400675, False, 20, 50) +sm.moveNpcByTemplateId(9400666, False, 20, 50) +sm.moveNpcByTemplateId(9400674, False, 20, 50) +sm.moveNpcByTemplateId(9400676, False, 20, 50) +sm.moveNpcByTemplateId(9400672, False, 20, 50) +sm.moveNpcByTemplateId(9400668, False, 20, 50) +sm.sendDelay(1500) +sm.playSound("Sound/Mob.img/9402250/Attack1", 100) +sm.sendDelay(500) +sm.playSound("Sound/Mob.img/9402247/Attack3", 100) +sm.playSound("Sound/Mob.img/9402245/Attack1", 100) +sm.sendDelay(500) +sm.playSound("Sound/Mob.img/9402252/Attack1", 100) +sm.playSound("Sound/Mob.img/9402246/skill1", 100) +sm.sendDelay(500) +sm.playSound("Sound/Mob.img/9402247/Attack2", 100) +sm.setParam(37) +sm.sendNext("#face4#Why is it different from last time...? ") +sm.setParam(57) +sm.sendSay("#bAre they following us? ") +sm.setParam(37) +sm.sendSay("#face1#Good! Let them chase us instead of closing in on the town! ") +sm.sendDelay(2000) +sm.setParam(57) +sm.sendNext("#b...Very true! Okay, we'll lure them away. ") +sm.sendDelay(2000) +sm.completeQuestNoCheck(parentID) +sm.startQuest(64089) +sm.lockInGameUI(False, True) +sm.warp(867201900) diff --git a/scripts/quest/q64104s.py b/scripts/quest/q64104s.py new file mode 100755 index 0000000..71033d9 --- /dev/null +++ b/scripts/quest/q64104s.py @@ -0,0 +1,17 @@ +# id 64104 ([MONAD: The First Omen] Skuas Remembers), field 867202300 +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(9400600) # Birna +sm.sendNext("#h0#, I listened to your speech... ") +sm.sendSay("Don't concern yourself with the naysayers. You understand what is needed for us to triumph here. ") +sm.setParam(57) +sm.sendSay("#bThank you, Chief Birna. And thank you for arranging this meeting. ") +sm.setParam(37) +sm.sendSay("With this many people working together, the greatest challenge is focusing on one goal. ") +sm.sendSay("For us, we all desperately want the same thing. That gives a bit of an advantage right there. ") +sm.sendSay("Skuas has taken in many refugees in the past. It's not the first time we've faced such hardships. ") +sm.sendSay("History has taught me that meetings like this are necessary to unite our people. What we've done today will be told of in stories for generations. ") +sm.setParam(57) +sm.sendSay("#bSkuas remembers its history, then. ") +sm.completeQuestNoCheck(parentID) diff --git a/scripts/quest/q64107e.py b/scripts/quest/q64107e.py new file mode 100755 index 0000000..cfc58c8 --- /dev/null +++ b/scripts/quest/q64107e.py @@ -0,0 +1,10 @@ +# id 64107 ([MONAD: The First Omen] Setting Up Barriers), field 867202652 +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(9400589) # Peytour +sm.sendNext("#face0#Finished! ... Will this be enough?") +sm.setParam(57) +sm.sendSay("#bYes, that looks good. Alright, let's head back!") +sm.completeQuestNoCheck(parentID) +sm.warp(867202650) diff --git a/scripts/quest/q64111s.py b/scripts/quest/q64111s.py new file mode 100755 index 0000000..46b062a --- /dev/null +++ b/scripts/quest/q64111s.py @@ -0,0 +1,70 @@ +# id 64111 ([MONAD: The First Omen] Guilt), field 867202300 +sm.setSpeakerType(3) +sm.setParam(57) +sm.setColor(1) +sm.sendNext("#bUllan? ") +sm.setParam(37) +sm.setInnerOverrideSpeakerTemplateID(9400588) # Ullan +sm.sendSay("Hero... W-waaah...") +sm.setParam(57) +sm.sendSay("#bUllan! What happened? ") +sm.setParam(37) +sm.sendSay("Waahh... I was so immature... ") +sm.sendSay("It happened when I was so young... ") +sm.setParam(57) +sm.sendSay("#bWhat are you trying to say, Ullan? Slow down. ") +sm.setParam(37) +sm.sendSay("...It's all our fault that Blanche is gone. ") +sm.setParam(57) +sm.sendSay("#bWhat do you mean? ") +sm.setParam(37) +sm.sendSay("Sniff... Blanche and Granny Sanaan lived in town when I was little... ") +sm.sendSay("I remember playing in the forest with Blanche and the other kids... ") +sm.sendSay("And... ") +sm.sendSay("Blanche... her skin color was different than ours... and she was really strong... ") +sm.sendSay("We started being mean to her. I don't know if we were jealous, or scared... We called her a monster... ") +sm.setParam(57) +sm.sendSay("#b...I see. ") +sm.setParam(37) +sm.sendSay("After that, Granny Sanaan and Blanche left town. They never came back. ") +sm.sendSay("I forgot about them. I even forgot why they left... what I did... ") +sm.sendSay("Sniff... I can't imagine how scared and lonely Sanaan and Blanche must have been in the forest.") +sm.sendSay("If they'd stayed in the village, if they'd never gone into the forest... Blanche would have gone hunting with others that day, and she never would've gone missing! ") +sm.sendSay("I'm so sorry... Waaahhh...") +sm.sendSay("And I hate that my dad didn't tell me Granny Sanaan came looking for Blanche! I hate that he just let her leave like that! ") +sm.setParam(57) +sm.sendSay("#bI'm sure Chief Kan had your best interests at heart, Ullan. ") +sm.setParam(37) +sm.sendSay("Ohhh... He's just gonna say it was for the greater good again! I can't stand it! ") +sm.setParam(57) +sm.sendSay("#bUllan, why not come with me to apologize to Sanaan? It's never too late. ") +sm.setParam(37) +sm.sendSay("Do you think... she'd even listen to me? ") +sm.setParam(57) +sm.sendSay("#bI'm sure she will. ") +sm.sendSay("#bIn fact, I bet she'll respect you for being so brave. ") +sm.setParam(37) +sm.sendSay("You... you really think so? Sniff...") +sm.setParam(57) +sm.sendSay("#bI'm sure of it. Trust me. ") +sm.setParam(37) +sm.sendSay("Well... okay. But what do I say? I mean, I know how to apologize, but... I just...") +sm.setParam(57) +sm.sendSay("#bJust be honest. And if you need my help, I'm always right here. ") +sm.setParam(37) +sm.sendSay("Oh, I can't thank you enough, hero!") +sm.lockInGameUI(True, False) +sm.showNpcSpecialActionByTemplateId(9400589, "attack1", -1) +sm.showNpcSpecialActionByTemplateId(9400592, "attack1", -1) +sm.sendDelay(3000) +sm.setParam(57) +sm.sendNext("#b(Aruhi sounded so sincere... like he was really telling the truth.) ") +sm.sendSay("#bHm... ") +sm.sendDelay(1000) +sm.sendNext("#b(Since Sanaan has been living in the forest all this time, maybe she's seen something.) ") +sm.sendSay("#b(I'll probably see her before Ullan does.) ") +sm.sendSay("#b(I should head to the General Store to find Sanaan.)") +sm.lockInGameUI(False, True) +sm.createQuestWithQRValue(64112, "chk1=1") +sm.completeQuestNoCheck(parentID) +sm.startQuest(64112) diff --git a/scripts/quest/q64112e.py b/scripts/quest/q64112e.py new file mode 100755 index 0000000..89de359 --- /dev/null +++ b/scripts/quest/q64112e.py @@ -0,0 +1,119 @@ +# id 64112 ([MONAD: The First Omen] Another Witness), field 867202300 +sm.lockInGameUI(True, False) +sm.forcedFlip(True) +sm.setSpeakerType(3) +sm.setParam(57) +sm.setColor(1) +sm.sendNext("#bSanaan! ") +sm.flipNpcByTemplateId(9400586, False) +sm.flipNpcByTemplateId(9400601, False) +sm.sendSay("#bI was on my way to meet you! What are you doing here? ") +sm.setParam(37) +sm.setInnerOverrideSpeakerTemplateID(9400586) # Sanaan +sm.sendSay("Oh, #h0#... The child that lives here gives me such grief. He's held the doors shut on me for days... ") +sm.setParam(57) +sm.sendSay("#bIn this house? ") +sm.flipNpcByTemplateId(9400586, True) +sm.setParam(37) +sm.sendSay("Yes! Such a nuisance... nothing but skin and bones! I wonder what's made him shut us out this time? ") +sm.flipNpcByTemplateId(9400601, True) +sm.setInnerOverrideSpeakerTemplateID(9400601) # Elva +sm.sendSay("Shh, Sanaan. Einar might hear you. ") +sm.setInnerOverrideSpeakerTemplateID(9400586) # Sanaan +sm.sendSay("I hope he does! ") +sm.flipNpcByTemplateId(9400586, False) +sm.flipNpcByTemplateId(9400601, False) +sm.sendSay("Now then, what did you need me for? ") +sm.setParam(57) +sm.sendSay("#bI wanted to ask you a question. Did you see any outsiders while you were living in the forest? Or anyone suspicious? ") +sm.setParam(37) +sm.sendSay("I've seen several outsiders. Anything more specific? ") +sm.setParam(57) +sm.sendSay("#bHmm... Did you see any around 6 months ago? ") +sm.setParam(37) +sm.sendSay("...No. I didn't see who took the townsfolk. ") +sm.setParam(57) +sm.sendSay("#bAh, yeah. Sorry if that's a painful memory for you. ") +sm.setParam(37) +sm.sendSay("No, I'm fine. It's all in the past. Ask me anything that you think might help us find my Blanche. ") +sm.blind(True, 255, 0, 0, 0, 250) +sm.sendDelay(250) +sm.spawnNpc(9400586, 710, 0) +sm.showNpcSpecialActionByTemplateId(9400586, "summon", 0) +sm.spawnNpc(9400601, 770, 0) +sm.showNpcSpecialActionByTemplateId(9400601, "summon", 0) +sm.forcedFlip(True) +sm.moveNpcByTemplateId(9400601, False, 150, 70) +sm.moveNpcByTemplateId(9400586, False, 150, 70) +sm.blind(True, 255, 0, 0, 0, 0) +sm.sendDelay(100) +sm.blind(False, 0, 0, 0, 0, 250) +sm.sendDelay(300) +sm.sendDelay(1500) +sm.forcedMove(False, 100) +sm.showEffect("Effect/OnUserEff.img/emotion/oh", 0, 0, 0, 0, 34418552, 0, 0) +sm.sendNext("That reminds me. I wanted to tell you something. ") +sm.sendDelay(900) +sm.setParam(57) +sm.sendNext("#bWhat would that be? ") +sm.flipNpcByTemplateId(9400586, True) +sm.flipNpcByTemplateId(9400601, True) +sm.setParam(37) +sm.sendSay("I'm sure you saw them when you were in the forest. Those sticky pink things? ") +sm.sendSay("They're everywhere, even around my cabin! ") +sm.setParam(57) +sm.sendSay("#bYes, we've seen them. Alika and I call them Jellyrashes. ") +sm.setParam(37) +sm.sendSay("Ha! Quite a fitting name. ") +sm.sendSay("Living out there on my own, I had plenty of time to observe those bizarre things. ") +sm.sendSay("It would seem the giant creature controls all the monsters of the forest through the Jellyrashes. ") +sm.setParam(57) +sm.sendSay("#bI knew it! We were on the right track... ") +sm.flipNpcByTemplateId(9400586, False) +sm.flipNpcByTemplateId(9400601, False) +sm.sendDelay(300) +sm.moveNpcByTemplateId(9400601, False, 150, 70) +sm.moveNpcByTemplateId(9400586, False, 150, 70) +sm.sendDelay(900) +sm.setParam(37) +sm.sendNext("Then I assume you know where the Jellyrashes come from? ") +sm.forcedMove(False, 100) +sm.sendDelay(900) +sm.setParam(57) +sm.sendNext("#bWhere they come from?") +sm.sendDelay(900) +sm.setParam(37) +sm.sendNext("The same giant creature is creating them. ") +sm.setParam(57) +sm.sendSay("#bWe did suspect there might be a connection... ") +sm.flipNpcByTemplateId(9400586, True) +sm.flipNpcByTemplateId(9400601, True) +sm.setParam(37) +sm.sendSay("When the giant appears, it fills the sky with its strange snow. It doesn't make snow, but its huge feet kick up great clouds of it. ") +sm.sendSay("What the beast makes is a strange red powder that mixes with the snow, which is what makes the storm look red. ") +sm.sendSay("I only saw the creature itself once, and it was strange... it seemed to be tearing parts of its own body off. ") +sm.sendSay("If that's how it creates Jellyrashes, that would mean it can only create so many at once. ") +sm.setParam(57) +sm.sendSay("#bAre you sure?") +sm.setParam(37) +sm.sendSay("I am. ") +sm.sendSay("If the beast is really using those Jellyrashes to control the monsters... ") +sm.setParam(57) +sm.sendSay("#bThat means if we take them out faster than it can make them, at some point it won't be able to keep up. ") +sm.setParam(37) +sm.sendSay("Exactly! ") +sm.setParam(57) +sm.sendSay("#bThat alone won't solve our problem, though. When we destroyed some of the Jellyrashes the monsters calmed down, but they fell back under its control when the creature came near. ") +sm.setParam(37) +sm.sendSay("So the beast can control the monsters directly as well. ") +sm.setParam(57) +sm.sendSay("#bRight. But I'm sure clearing its Jellyrashes would make it easier to combat. ") +sm.setParam(37) +sm.sendSay("Good, good. I'm glad I did something useful with my time out there in my cabin. ") +sm.sendSay("Is there anything else you need? ") +sm.sendSay("Considering you've been surviving the harsh realities of Abrup for some time now, I would think there isn't much you don't know already. ") +sm.sendSay("I'll let you know if anything else comes to mind. ") +sm.setParam(57) +sm.sendSay("#bGreat. Thank you, Sanaan.") +sm.completeQuestNoCheck(parentID) +sm.lockInGameUI(False, True) diff --git a/scripts/quest/q64113s.py b/scripts/quest/q64113s.py new file mode 100755 index 0000000..2c0e0eb --- /dev/null +++ b/scripts/quest/q64113s.py @@ -0,0 +1,47 @@ +# id 64113 ([MONAD: The First Omen] Source of the Rumor), field 867202300 +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(9400601) # Elva +sm.sendNext("Ah...") +sm.sendSay("Greetings. I'm Elva, and run the general store here in Skuas. ") +sm.setInnerOverrideSpeakerTemplateID(9400586) # Sanaan +sm.sendSay("As I said, this fine young lady here was the one that brought me back to town. ") +sm.sendSay("While I was living out there in my cabin, I'd come to the general store here in Skuas to pick up supplies. ") +sm.sendSay("But when I stopped coming around, she came looking for me. ") +sm.setParam(57) +sm.sendSay("#bHow considerate! ") +sm.setParam(37) +sm.setInnerOverrideSpeakerTemplateID(9400601) # Elva +sm.sendSay("Oh, a store owner should always remember her customers.") +sm.sendSay("Many, many people come by the store, often with news or gossip to share. ") +sm.sendSay("And that's why I think I might be able to answer your earlier question, #h0#. ") +sm.setParam(57) +sm.sendSay("#bDo you mean when I asked about seeing anyone suspicious? ") +sm.setParam(37) +sm.sendSay("Yes, although I didn't see anyone myself. ") +sm.sendSay("Around 6 months ago, one of our herb gatherers told me they saw someone suspicious out in the forest. ") +sm.sendSay("I hadn't thought much of it since it was such an odd tale, but what you said reminded me, #h0#. ") +sm.setParam(57) +sm.sendSay("#bCould you elaborate? ") +sm.setParam(37) +sm.sendSay("Let's see... they said they saw someone in white steel armor, completely closed. Even their face was covered... I remember them saying you would lose them in a blizzard. ") +sm.sendSay("At first they thought the person was blinking around the forest, but they realized there were many of them moving around. ") +sm.setParam(57) +sm.sendSay("#bIt's the same story... ") +sm.setParam(37) +sm.sendSay("Pardon? ") +sm.setParam(57) +sm.sendSay("#bWe have another witness who saw the exact same thing. ") +sm.setParam(37) +sm.sendSay("Is that so? That's... chilling. ") +sm.setParam(57) +sm.sendSay("#bWho did you hear this from? ") +sm.setParam(37) +sm.sendSay("An herb gatherer... he went into the forest to find his missing wife, and never came back. ") +sm.setParam(57) +sm.sendSay("#bI see... ") +sm.sendSay("#bThank you, Elva. ") +sm.sendSay("#b(Turns out Aruhi wasn't just rambling after all.)") +sm.createQuestWithQRValue(64039, "chk1=1;chk2=1") +sm.completeQuestNoCheck(parentID) diff --git a/scripts/quest/q64114e.py b/scripts/quest/q64114e.py new file mode 100755 index 0000000..b9d022f --- /dev/null +++ b/scripts/quest/q64114e.py @@ -0,0 +1,12 @@ +# id 64114 ([MONAD: The First Omen] Elva's Role), field 867202300 +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(9400601) # Elva +sm.sendNext("#h0#, you're back. Did you get the ingredients?") +sm.setParam(57) +sm.sendSay("#bI sure did. Here you go!") +sm.setParam(37) +sm.sendSay("Eyeful antennae... one, two, three... Optusa leaves... It's all there!") +res = sm.sendAskYesNo("Thank you. Oh, and did you bring me my notes? You can keep them if you like, I made copies.") +sm.completeQuestNoCheck(parentID) diff --git a/scripts/quest/q64114s.py b/scripts/quest/q64114s.py new file mode 100755 index 0000000..826fb71 --- /dev/null +++ b/scripts/quest/q64114s.py @@ -0,0 +1,43 @@ +# id 64114 ([MONAD: The First Omen] Elva's Role), field 867202300 +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(9400601) # Elva +sm.sendNext("While we're on the subject of paying thanks, #h0#... ") +sm.sendSay("Do you think you might be able to do me a small favor? ") +sm.sendSay("I mean... Oh, I hope I don't come off as just being greedy. I know you're so busy... Ahh, how can I say this... ") +sm.setParam(57) +sm.sendSay("#bPlease, it's no trouble. Tell me what you need. ") +sm.setParam(37) +sm.sendSay("Thank you. You see, I may be a simple merchant but I'm very dedicated to my work. And my work is to make sure I always have what people need. ") +sm.sendSay("Some people might laugh at the idea of a shopkeeper being so dedicated, but... ") +sm.setParam(57) +sm.sendSay("#bNo one thinks that. ") +sm.setParam(37) +sm.setInnerOverrideSpeakerTemplateID(9400586) # Sanaan +sm.sendSay("Who would think such a thing? Everyone I know adores you. ") +sm.setInnerOverrideSpeakerTemplateID(9400601) # Elva +sm.sendSay("Oh, goodness... ") +sm.sendSay("You see, we haven't been able to trade with other villages or El Nath for a while because of the chaos, and that's left me light on supplies. ") +sm.sendSay("I'm not worried about luxuries or entertainment, mind you, I mean basics like potions. Considering the situation, that could be a problem. ") +sm.sendSay("I hate to trouble you, but this is for everyone's sake. ") +sm.setParam(57) +sm.sendSay("#bDon't sweat it. We could all use more potions. I'll help in anyway way I can. ") +sm.setParam(37) +sm.sendSay("Thank you. That really puts my mind at ease. ") +sm.sendSay("I'm no alchemist but I can brew decent potions. I just need a few ingredients. ") +sm.setParam(57) +sm.sendSay("#bSure. What do you need? ") +sm.setParam(37) +sm.sendSay("Hold on. I had them written down somewhere... Ah! Here they are. ") +sm.sendSay("Twenty Eyeful antennae, ten Optusa leaves, ten Leatty Crystals, ten vials of the clear Actinops blood... ") +sm.sendSay("Oh. It's a bit more than a few, actually...") +sm.setParam(57) +sm.sendSay("#bHa, that's okay, I'm used to it. Twenty Eyeful antennae, ten Optusa leaves... What was the rest?") +sm.setParam(37) +sm.sendSay("Ten Leatty Crystals and ten vials of the clear Actinops blood! ") +sm.sendSay("You know what? Just take the note. It includes how to get each ingredient as well. ") +sm.startQuest(parentID) +sm.sendSay("All right. Here on page ten: How to Make a Super Elixir! ") +sm.setParam(57) +sm.sendSay("#bAlright. I'll be back soon.") diff --git a/scripts/quest/q64116s.py b/scripts/quest/q64116s.py new file mode 100755 index 0000000..158876c --- /dev/null +++ b/scripts/quest/q64116s.py @@ -0,0 +1,40 @@ +# id 64116 ([MONAD: The First Omen] Shabby Armor), field 867202300 +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(9400601) # Elva +sm.sendNext("I was just helping Granny Sanaan make some armor. ") +sm.setInnerOverrideSpeakerTemplateID(9400586) # Sanaan +sm.sendSay("I wouldn't say make, dear. We're more mending. Taking old pieces and putting them together into new armor. ") +sm.setParam(57) +sm.sendSay("#bArmor? ") +sm.setParam(37) +sm.sendSay("Yes, I know someone who's in desperate need of some armor. ") +sm.sendSay("You know who. It's that little nuisance I was telling you about earlier. ") +res = sm.sendNext("While we're on the topic of armor... do you have any extra lying around that you're not using? I need something to cover the arm here...#b\r\n#L0# I don't have anything.#l\r\n#L1# Let me check... #l") +sm.sendNext("Oh, well, that's too bad...") +sm.sendSay("It needs some finishing touches... What do you think? ") +sm.sendSay("Armorsmithing isn't my specialty, but it should work better than it looks. ") +sm.sendSay("He's a lot like me. ") +sm.sendSay("I'm hoping this armor will give the boy the courage to venture outside... But I suppose it's up to him in the end. ") +sm.sendSay("Still, it's always better to do what little you can than do nothing at all. ") +sm.sendSay("Here, take a look at this helmet! I'm rather proud of the horns here. ") +sm.setParam(57) +sm.sendSay("#bImpressive. ") +sm.setParam(37) +sm.setInnerOverrideSpeakerTemplateID(9400601) # Elva +sm.sendSay("I can imagine Einar striding out of his house wearing this. Magnificent! ") +sm.setInnerOverrideSpeakerTemplateID(9400586) # Sanaan +sm.sendSay("I hope he's ready for magnificence... ") +sm.setInnerOverrideSpeakerTemplateID(9400601) # Elva +sm.sendSay("I'm sure he'll... Hey, what is that noise? What's going on? ") +sm.setInnerOverrideSpeakerTemplateID(9400586) # Sanaan +sm.sendSay("Sounds to me like someone's getting a bit rowdy. ") +sm.setParam(57) +sm.sendSay("#bWe'd better head over and check it out. ") +sm.setParam(37) +sm.sendSay("Yes, let's go.") +sm.sendSay("Ah, before we go... This is for you. It's nothing compared to what you're wearing, but humor an old woman and take it.") +sm.playExclSoundWithDownBGM("Field.img/masteryBook/EnchantSuccess", 100) +sm.completeQuestNoCheck(parentID) +sm.warp(867202305) diff --git a/scripts/quest/q64130e.py b/scripts/quest/q64130e.py new file mode 100755 index 0000000..7c4b9a8 --- /dev/null +++ b/scripts/quest/q64130e.py @@ -0,0 +1,18 @@ +# id 64130 ([MONAD: The First Omen] A Reason to Fight), field 867202300 +sm.setSpeakerType(3) +sm.setParam(37) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(9400582) # Cayne +sm.sendNext("#face0#Einar, you should have blocked that last attack. ") +sm.setInnerOverrideSpeakerTemplateID(9400602) # Einar +sm.sendSay("#face3#...I'm sorry. ") +sm.setInnerOverrideSpeakerTemplateID(9400582) # Cayne +sm.sendSay("#face0#It's fine, but you should always treat training like an actual battle. ") +sm.setInnerOverrideSpeakerTemplateID(9400602) # Einar +sm.sendSay("#face3#Okay... ") +sm.setInnerOverrideSpeakerTemplateID(9400582) # Cayne +sm.sendSay("#face0#Let's break for a moment and then try one more time. ") +sm.sendSay("#face0#Alika still looks so serious. I wonder what's going on...") +sm.setParam(57) +sm.sendSay("#bI know, she's been talking the whole time we've been sparring. ") +sm.completeQuestNoCheck(parentID) diff --git a/scripts/quest/q64133e.py b/scripts/quest/q64133e.py new file mode 100755 index 0000000..a31a176 --- /dev/null +++ b/scripts/quest/q64133e.py @@ -0,0 +1,7 @@ +# id 64133 ([MONAD: The First Omen] Building a Catapult), field 867202810 +sm.setSpeakerType(3) +sm.setParam(57) +sm.setColor(1) +sm.sendNext("#b(I've gathered enough. I should get back.) ") +sm.completeQuestNoCheck(parentID) +sm.warp(867202313) diff --git a/scripts/quest/q64133s.py b/scripts/quest/q64133s.py new file mode 100755 index 0000000..7ce7835 --- /dev/null +++ b/scripts/quest/q64133s.py @@ -0,0 +1,36 @@ +# id 64133 ([MONAD: The First Omen] Building a Catapult), field 867202300 +sm.lockInGameUI(True, False) +sm.setSpeakerType(3) +sm.setParam(57) +sm.setColor(1) +sm.sendNext("#bAlika, what's the matter? ") +sm.setParam(37) +sm.setInnerOverrideSpeakerTemplateID(9400580) # Alika +sm.sendSay("#face0#Ah... #h0#... ") +sm.sendSay("#face0#It's the catapult.") +sm.setParam(57) +sm.sendSay("#bThe catapult? The one you've been working on? Is something wrong? ") +sm.setParam(37) +sm.sendSay("#face0#Just a minor thing. We've built the frame, and stocked up on rocks to launch. ") +sm.sendSay("#face4#The problem is that we can't find any rope in Skuas that's strong enough to strap the rocks into. ") +sm.setParam(57) +sm.sendSay("#bWell, we just need to go out and get some! ") +sm.setParam(37) +sm.sendSay("#face4#Remember, Fembris were spotted near the village not long ago. That means an attack could be coming at any moment.") +sm.sendSay("#face4#With that threat out there, I can't let anyone leave the town. Not even you. ") +sm.setParam(57) +sm.sendSay("#bHm... ") +sm.sendSay("#b(I could probably slip out and come right back.) ") +sm.sendSay("#b...How strong does the rope need to be? ") +sm.setParam(37) +sm.sendSay("#face5##h0#, don't you even think about leaving. It's too dangerous. ") +sm.setParam(57) +sm.sendSay("#bLook, the catapult could make a huge difference for our defenses. If I go alone, I can find what you need and be back in a flash. ") +sm.setParam(37) +sm.sendSay("#face5#No, I can't let you go alone. It's too risky. ") +sm.sendSay("#face4#Just forget about the rope. We'll find something to substitute for it.") +sm.setParam(57) +sm.sendSay("#b(Yeah, might as well sneak out and get this done.) ") +sm.lockInGameUI(False, True) +sm.startQuest(parentID) +sm.warp(867202200) diff --git a/scripts/quest/q64215s.py b/scripts/quest/q64215s.py new file mode 100755 index 0000000..e12eeb7 --- /dev/null +++ b/scripts/quest/q64215s.py @@ -0,0 +1,5 @@ +# id 64215 (Title: Alika's Knight), field 867202101 +sm.sendDelay(2000) +sm.playSound("Sound/VoicePL.img/MONAD1_P2/1", 128) +sm.sendDelay(6000) +sm.createFieldTextEffect("#fnᄈᆰᄡᆴᄚ■ᄉ￱ ExtraBold##fs35#Svarti also fell.", 50, 3866, 7, 0, -50, 1, 4, 1, 300, 300) diff --git a/scripts/quest/q64216s.py b/scripts/quest/q64216s.py new file mode 100755 index 0000000..bbee4c7 --- /dev/null +++ b/scripts/quest/q64216s.py @@ -0,0 +1,2 @@ +# id 64216 (Title: Savior of Abrup), field 867200110 +sm.completeQuestNoCheck(parentID) diff --git a/scripts/quest/q64273s.py b/scripts/quest/q64273s.py new file mode 100755 index 0000000..a9a34d9 --- /dev/null +++ b/scripts/quest/q64273s.py @@ -0,0 +1,29 @@ +# id 64273 ([MONAD] Abrup Mission Board Unlocked!), field 867200110 +sm.setSpeakerType(3) +sm.setParam(36) +sm.setColor(1) +sm.setInnerOverrideSpeakerTemplateID(9400593) # Hawalu +sm.sendNext("Hi!") +sm.sendSay("My mommy, Ullan, and some other villagers prepared this for you.") +sm.setInnerOverrideSpeakerTemplateID(9400588) # Ullan +sm.sendSay("Hawalu, what are you doing over there?") +sm.setInnerOverrideSpeakerTemplateID(9400593) # Hawalu +sm.sendSay("I wanna tell them about the Mission Board!") +sm.setInnerOverrideSpeakerTemplateID(9400588) # Ullan +sm.sendSay("You're not old enough to explain well yet. I'll take it from here.") +sm.sendSay("Thank you for helping us so much.\r\nWe all got together to think of a way to pay you back and prepared this #eMission Board#n!") +sm.openUI(1886) +sm.sendSay("The #eMission Board#n has #bDaily Missions#k, #bWeekly Missions#k, and #bAchievement Missions#k.") +sm.sendSay("#bDaily Missions#k are tasks that can be completed every day. Just don't forget that they #breset at midnight#k!") +sm.sendSay("#bWeekly Missions#k can be done once a week. You'll have no trouble completing them if you visit Abrup every day! \r\nWeekly missions are#b reset every Wednesday#k, so make sure you claim your gift before then!") +sm.sendSay("#bAchievement Missions#k are missions that can only be completed once. We really wanted to repay you for your hard work, so we prepared amazing gifts for you!") +sm.sendSay("You can view the gift you'll receive for completing each mission when you place your cursor above the gift box icon for it.") +sm.sendSay("There are also great titles like #i3700493:# #t3700493#, #i3700502:# #t3700502#, and #i3700496:# #t3700496#, and there are useful items like #i2048724:# #t2048724# and #i2028372:# #t2028372#, so don't forget to take them with you! ") +sm.setInnerOverrideSpeakerTemplateID(9400593) # Hawalu +sm.sendSay("Don't forget to take them!") +sm.setInnerOverrideSpeakerTemplateID(9400588) # Ullan +sm.sendSay("See you later!") +sm.setInnerOverrideSpeakerTemplateID(9400593) # Hawalu +sm.sendSay("See you later!") +sm.createQuestWithQRValue(parentID, "chk=1") +sm.completeQuestNoCheck(parentID) diff --git a/scripts/quest/q6601s.py b/scripts/quest/q6601s.py new file mode 100755 index 0000000..bc66e7d --- /dev/null +++ b/scripts/quest/q6601s.py @@ -0,0 +1,6 @@ +# Elven Blessing link skill quest + +sm.getChr().addSkill(20021110, 1, 3) +sm.sendSayOkay("I've added your link skill, enjoy!.") +sm.completeQuest(6601) +sm.dispose() diff --git a/scripts/quest/q7707s.py b/scripts/quest/q7707s.py new file mode 100755 index 0000000..3208ee3 --- /dev/null +++ b/scripts/quest/q7707s.py @@ -0,0 +1,3 @@ +# 7707 - Midnight Rest Quest (just keeps spamming until you complete it) + +sm.startQuest(parentID) \ No newline at end of file diff --git a/scripts/quest/undefined.py b/scripts/quest/undefined.py new file mode 100755 index 0000000..51bf5ab --- /dev/null +++ b/scripts/quest/undefined.py @@ -0,0 +1,8 @@ +if startQuest: + sm.chat("Starting quest " + str(parentID) + " without checking requirements, as there was no script found.") + sm.startQuestNoCheck(parentID) + sm.dispose() +else: + sm.chat("Completing quest " + str(parentID) + " without rewards, as there was no script found.") + sm.completeQuestNoRewards(parentID) + sm.dispose() diff --git a/scripts/reactor/9218000action.py b/scripts/reactor/9218000action.py new file mode 100755 index 0000000..66fab50 --- /dev/null +++ b/scripts/reactor/9218000action.py @@ -0,0 +1,12 @@ +# Prison Door (9218000) | Used in Escape Party Quest + +PRISON_KEY = 4001528 + +reactor.incHitCount() +if reactor.getHitCount() >= 1: + if sm.hasItem(PRISON_KEY): + sm.consumeItem(PRISON_KEY) + sm.removeReactor() + else: + sm.chat("You need a key in order to open the Prison.") + sm.dispose() diff --git a/scripts/reactor/9250000action.py b/scripts/reactor/9250000action.py new file mode 100755 index 0000000..d5bf5c2 --- /dev/null +++ b/scripts/reactor/9250000action.py @@ -0,0 +1,18 @@ +# Flower | Primrose Hill +STAGE_1_CLEARED = "Stage1Cleared" +STAGE_1_FLOWER_DATA = "Stage1FlowerData" + +sm.increaseReactorState(9250000, 1) +sm.consumeItem(4000884) + +field.setProperty(STAGE_1_FLOWER_DATA, field.getProperty(STAGE_1_FLOWER_DATA) + 1) + +if field.getProperty(STAGE_1_FLOWER_DATA) == 6: + field.setProperty(STAGE_1_CLEARED, True) + field.clearRespawn() + mobids = [9300900, 9300901] + field.setNoRespawn(mobids) + sm.killMobs(); + sm.spawnMob(9300902, -198, -189, False) + sm.spawnMob(9300907, -198, -189, False) + sm.chat("Stage cleared") \ No newline at end of file diff --git a/scripts/reactor/9250001action.py b/scripts/reactor/9250001action.py new file mode 100755 index 0000000..8626199 --- /dev/null +++ b/scripts/reactor/9250001action.py @@ -0,0 +1,18 @@ +# Flower | Primrose Hill +STAGE_1_CLEARED = "Stage1Cleared" +STAGE_1_FLOWER_DATA = "Stage1FlowerData" + +sm.increaseReactorState(9250001, 1) +sm.consumeItem(4000884) + +field.setProperty(STAGE_1_FLOWER_DATA, field.getProperty(STAGE_1_FLOWER_DATA) + 1) + +if field.getProperty(STAGE_1_FLOWER_DATA) == 6: + field.setProperty(STAGE_1_CLEARED, True) + field.clearRespawn() + mobids = [9300900, 9300901] + field.setNoRespawn(mobids) + sm.killMobs(); + sm.spawnMob(9300902, -198, -189, False) + sm.spawnMob(9300907, -198, -189, False) + sm.chat("Stage cleared") \ No newline at end of file diff --git a/scripts/reactor/9250002action.py b/scripts/reactor/9250002action.py new file mode 100755 index 0000000..6d1893c --- /dev/null +++ b/scripts/reactor/9250002action.py @@ -0,0 +1,17 @@ +# Flower | Primrose Hill +STAGE_1_CLEARED = "Stage1Cleared" +STAGE_1_FLOWER_DATA = "Stage1FlowerData" +sm.increaseReactorState(9250002, 1) +sm.consumeItem(4000884) + +field.setProperty(STAGE_1_FLOWER_DATA, field.getProperty(STAGE_1_FLOWER_DATA) + 1) + +if field.getProperty(STAGE_1_FLOWER_DATA) == 6: + field.setProperty(STAGE_1_CLEARED, True) + field.clearRespawn() + mobids = [9300900, 9300901] + field.setNoRespawn(mobids) + sm.killMobs(); + sm.spawnMob(9300902, -198, -189, False) + sm.spawnMob(9300907, -198, -189, False) + sm.chat("Stage cleared") \ No newline at end of file diff --git a/scripts/reactor/9250003action.py b/scripts/reactor/9250003action.py new file mode 100755 index 0000000..2d9fe17 --- /dev/null +++ b/scripts/reactor/9250003action.py @@ -0,0 +1,18 @@ +# Flower | Primrose Hill +STAGE_1_CLEARED = "Stage1Cleared" +STAGE_1_FLOWER_DATA = "Stage1FlowerData" + +sm.increaseReactorState(9250003, 1) +sm.consumeItem(4000884) + +field.setProperty(STAGE_1_FLOWER_DATA, field.getProperty(STAGE_1_FLOWER_DATA) + 1) + +if field.getProperty(STAGE_1_FLOWER_DATA) == 6: + field.setProperty(STAGE_1_CLEARED, True) + field.clearRespawn() + mobids = [9300900, 9300901] + field.setNoRespawn(mobids) + sm.killMobs(); + sm.spawnMob(9300902, -198, -189, False) + sm.spawnMob(9300907, -198, -189, False) + sm.chat("Stage cleared") \ No newline at end of file diff --git a/scripts/reactor/9250004action.py b/scripts/reactor/9250004action.py new file mode 100755 index 0000000..e50cd2d --- /dev/null +++ b/scripts/reactor/9250004action.py @@ -0,0 +1,18 @@ +# Flower | Primrose Hill +STAGE_1_CLEARED = "Stage1Cleared" +STAGE_1_FLOWER_DATA = "Stage1FlowerData" + +sm.increaseReactorState(9250004, 1) +sm.consumeItem(4000884) + +field.setProperty(STAGE_1_FLOWER_DATA, field.getProperty(STAGE_1_FLOWER_DATA) + 1) + +if field.getProperty(STAGE_1_FLOWER_DATA) == 6: + field.setProperty(STAGE_1_CLEARED, True) + field.clearRespawn() + mobids = [9300900, 9300901] + field.setNoRespawn(mobids) + sm.killMobs(); + sm.spawnMob(9300902, -198, -189, False) + sm.spawnMob(9300907, -198, -189, False) + sm.chat("Stage cleared") \ No newline at end of file diff --git a/scripts/reactor/9250005action.py b/scripts/reactor/9250005action.py new file mode 100755 index 0000000..1684b1d --- /dev/null +++ b/scripts/reactor/9250005action.py @@ -0,0 +1,18 @@ +# Flower | Primrose Hill +STAGE_1_CLEARED = "Stage1Cleared" +STAGE_1_FLOWER_DATA = "Stage1FlowerData" + +sm.increaseReactorState(9250005, 1) +sm.consumeItem(4000884) + +field.setProperty(STAGE_1_FLOWER_DATA, field.getProperty(STAGE_1_FLOWER_DATA) + 1) + +if field.getProperty(STAGE_1_FLOWER_DATA) == 6: + field.setProperty(STAGE_1_CLEARED, True) + field.clearRespawn() + mobids = [9300900, 9300901] + field.setNoRespawn(mobids) + sm.killMobs(); + sm.spawnMob(9300902, -198, -189, False) + sm.spawnMob(9300907, -198, -189, False) + sm.chat("Stage cleared") \ No newline at end of file diff --git a/scripts/reactor/JPludiMob0.py b/scripts/reactor/JPludiMob0.py new file mode 100755 index 0000000..c3369af --- /dev/null +++ b/scripts/reactor/JPludiMob0.py @@ -0,0 +1,7 @@ +# Festive Box | Used in Ludi Maze + +sm.chat("owo cute message here") +for i in range (10): + sm.spawnMob(5130107, -40, -120, False) + sm.spawnMob(5130108, -40, -120, False) +sm.removeReactor() \ No newline at end of file diff --git a/scripts/reactor/JPludiMob1.py b/scripts/reactor/JPludiMob1.py new file mode 100755 index 0000000..95ea941 --- /dev/null +++ b/scripts/reactor/JPludiMob1.py @@ -0,0 +1,3 @@ +# Festive Box | Used in Ludi Maze + +sm.chat("pludi1") diff --git a/scripts/reactor/JPludiMob2.py b/scripts/reactor/JPludiMob2.py new file mode 100755 index 0000000..5a8f8bf --- /dev/null +++ b/scripts/reactor/JPludiMob2.py @@ -0,0 +1,7 @@ +# Festive Box | Used in Ludi Maze + +sm.chat("uwu mordred big support") +for i in range (10): + sm.spawnMob(4230117, 95, 145, False) + sm.spawnMob(4230118, 95, 145, False) +sm.removeReactor() \ No newline at end of file diff --git a/scripts/reactor/JPludiMob3.py b/scripts/reactor/JPludiMob3.py new file mode 100755 index 0000000..265216f --- /dev/null +++ b/scripts/reactor/JPludiMob3.py @@ -0,0 +1,7 @@ +# Festive Box | Used in Ludi Maze + +sm.chat("dm sjonnie for cute") +for i in range (10): + sm.spawnMob(2600229, 155, 27, False) + sm.spawnMob(4230107, 155, 27, False) +sm.removeReactor() \ No newline at end of file diff --git a/scripts/reactor/balogItem0.py b/scripts/reactor/balogItem0.py new file mode 100755 index 0000000..e69de29 diff --git a/scripts/reactor/banbanChaos.py b/scripts/reactor/banbanChaos.py new file mode 100755 index 0000000..d101749 --- /dev/null +++ b/scripts/reactor/banbanChaos.py @@ -0,0 +1,5 @@ +chaosVonBon = 8910000 +if chr.getInstance() is not None and reactor.getHitCount() == 0: + sm.spawnMob(chaosVonBon, -135, 455, False) + reactor.incHitCount() + sm.removeReactor() \ No newline at end of file diff --git a/scripts/reactor/banbanNormal.py b/scripts/reactor/banbanNormal.py new file mode 100755 index 0000000..a03c060 --- /dev/null +++ b/scripts/reactor/banbanNormal.py @@ -0,0 +1,10 @@ + +if chr.getInstance() is not None and reactor.getHitCount() == 0: + # global hitCount + # hitCount += 1 + # sm.chat(str(hitCount)) + # if hitCount >= 1: + reactor.incHitCount() + sm.spawnMob(9303154, -135, 455, False) + sm.removeReactor() + sm.dispose() diff --git a/scripts/reactor/bellumChaos.py b/scripts/reactor/bellumChaos.py new file mode 100755 index 0000000..e1b5e14 --- /dev/null +++ b/scripts/reactor/bellumChaos.py @@ -0,0 +1,5 @@ +from net.swordie.ms.enums import WeatherEffNoticeType +if chr.getInstance() is not None: + sm.removeReactor() + sm.invokeAfterDelay(1500, "spawnMob", 8930000, -200, 440, False) + sm.showWeatherNotice("You ignore my warnings?! I will show you no mercy!", WeatherEffNoticeType.BossVellum, 10000) \ No newline at end of file diff --git a/scripts/reactor/bellumNormal.py b/scripts/reactor/bellumNormal.py new file mode 100755 index 0000000..8bb9803 --- /dev/null +++ b/scripts/reactor/bellumNormal.py @@ -0,0 +1,6 @@ +from net.swordie.ms.enums import WeatherEffNoticeType +if chr.getInstance() is not None: + sm.removeReactor() + sm.invokeAfterDelay(1500, "spawnMob", 9400942, -200, 440, False) + sm.showWeatherNotice("You ignore my warnings?! I will show you no mercy!", WeatherEffNoticeType.BossVellum, 10000) + sm.dispose() diff --git a/scripts/reactor/chaoshontaleBoss.py b/scripts/reactor/chaoshontaleBoss.py new file mode 100755 index 0000000..d8026da --- /dev/null +++ b/scripts/reactor/chaoshontaleBoss.py @@ -0,0 +1,16 @@ +from net.swordie.ms.scripts import ScriptType + +reactor.incHitCount() +reactor.increaseState() +if reactor.getHitCount() >= 4: + sm.removeReactor() + sm.startScript(0, "HorntailFight", ScriptType.Field) + sm.spawnMob(8810102, 95, 260, False) + sm.spawnMob(8810103, 95, 260, False) + sm.spawnMob(8810104, 95, 260, False) + sm.spawnMob(8810105, 95, 260, False) + sm.spawnMob(8810106, 95, 260, False) + sm.spawnMob(8810107, 95, 260, False) + sm.spawnMob(8810108, 95, 260, False) + sm.spawnMob(8810109, 95, 260, False) + sm.removeReactor() \ No newline at end of file diff --git a/scripts/reactor/davyItem0.py b/scripts/reactor/davyItem0.py new file mode 100755 index 0000000..39899b6 --- /dev/null +++ b/scripts/reactor/davyItem0.py @@ -0,0 +1,13 @@ +# Chest in the Lord Pirate PQ +LORD_PIRATE_ENRAGED_KRU = 9300115 +LORD_PIRATE_ENRAGED_CAPTAIN = 9300116 + +reactor.incHitCount() +if reactor.getHitCount() >= 1: + i = 1 + while i < 10: + sm.spawnMob(LORD_PIRATE_ENRAGED_KRU, sm.getPosition(objectID).getX(), sm.getPosition(objectID).getY(), False) + sm.spawnMob(LORD_PIRATE_ENRAGED_CAPTAIN, sm.getPosition(objectID).getX(), sm.getPosition(objectID).getY(), False) + i += 1 + sm.removeReactor() + sm.dispose() diff --git a/scripts/reactor/davyMob0.py b/scripts/reactor/davyMob0.py new file mode 100755 index 0000000..1296358 --- /dev/null +++ b/scripts/reactor/davyMob0.py @@ -0,0 +1,13 @@ +# Chest in the Lord Pirate Party Quest +LORD_PIRATE_GINSENG_JAR = 9300109 +LORD_PIRATE_BELLFLOWER = 9300110 + +reactor.incHitCount() +if reactor.getHitCount() >= 1: + i = 1 + while i < 5: + sm.spawnMob(LORD_PIRATE_GINSENG_JAR, sm.getPosition(objectID).getX(), sm.getPosition(objectID).getY(), False) + sm.spawnMob(LORD_PIRATE_BELLFLOWER, sm.getPosition(objectID).getX(), sm.getPosition(objectID).getY(), False) + i += 1 + sm.removeReactor() + sm.dispose() diff --git a/scripts/reactor/davyMob1.py b/scripts/reactor/davyMob1.py new file mode 100755 index 0000000..437e868 --- /dev/null +++ b/scripts/reactor/davyMob1.py @@ -0,0 +1,13 @@ +# Chest in the Lord Pirate PQ +LORD_PIRATE_ENRAGED_KRU = 9300115 +LORD_PIRATE_ENRAGED_CAPTAIN = 9300116 + +reactor.incHitCount() +if reactor.getHitCount() >= 1: + i = 1 + while i < 5: + sm.spawnMob(LORD_PIRATE_ENRAGED_KRU, sm.getPosition(objectID).getX(), sm.getPosition(objectID).getY(), False) + sm.spawnMob(LORD_PIRATE_ENRAGED_CAPTAIN, sm.getPosition(objectID).getX(), sm.getPosition(objectID).getY(), False) + i += 1 + sm.removeReactor() + sm.dispose() diff --git a/scripts/reactor/davyScript0.py b/scripts/reactor/davyScript0.py new file mode 100755 index 0000000..6256125 --- /dev/null +++ b/scripts/reactor/davyScript0.py @@ -0,0 +1,10 @@ +# To close the door in Lord Pirate PQ +OLD_METAL_KEY = 4001117 +hitCount = 0 + +reactor.incHitCount() +if reactor.getHitCount() >= 1: + if sm.hasItem(OLD_METAL_KEY): + sm.consumeItem(OLD_METAL_KEY) + sm.removeReactor() + sm.dispose() diff --git a/scripts/reactor/davyScript1.py b/scripts/reactor/davyScript1.py new file mode 100755 index 0000000..6723c51 --- /dev/null +++ b/scripts/reactor/davyScript1.py @@ -0,0 +1,9 @@ +# To close the door in Lord Pirate PQ +OLD_METAL_KEY = 4001117 + +reactor.incHitCount() +if reactor.getHitCount() >= 1: + if sm.hasItem(OLD_METAL_KEY): + sm.consumeItem(OLD_METAL_KEY) + sm.removeReactor() + sm.dispose() diff --git a/scripts/reactor/davyScript2.py b/scripts/reactor/davyScript2.py new file mode 100755 index 0000000..6723c51 --- /dev/null +++ b/scripts/reactor/davyScript2.py @@ -0,0 +1,9 @@ +# To close the door in Lord Pirate PQ +OLD_METAL_KEY = 4001117 + +reactor.incHitCount() +if reactor.getHitCount() >= 1: + if sm.hasItem(OLD_METAL_KEY): + sm.consumeItem(OLD_METAL_KEY) + sm.removeReactor() + sm.dispose() diff --git a/scripts/reactor/davyScript3.py b/scripts/reactor/davyScript3.py new file mode 100755 index 0000000..6723c51 --- /dev/null +++ b/scripts/reactor/davyScript3.py @@ -0,0 +1,9 @@ +# To close the door in Lord Pirate PQ +OLD_METAL_KEY = 4001117 + +reactor.incHitCount() +if reactor.getHitCount() >= 1: + if sm.hasItem(OLD_METAL_KEY): + sm.consumeItem(OLD_METAL_KEY) + sm.removeReactor() + sm.dispose() diff --git a/scripts/reactor/dual_ball00.py b/scripts/reactor/dual_ball00.py new file mode 100755 index 0000000..1204051 --- /dev/null +++ b/scripts/reactor/dual_ball00.py @@ -0,0 +1,2 @@ +sm.dropItem(2430071, sm.getPosition(objectID).getX(), sm.getPosition(objectID).getY()) +sm.removeReactor() \ No newline at end of file diff --git a/scripts/reactor/easyhontaleBoss.py b/scripts/reactor/easyhontaleBoss.py new file mode 100755 index 0000000..d1f1179 --- /dev/null +++ b/scripts/reactor/easyhontaleBoss.py @@ -0,0 +1,16 @@ +from net.swordie.ms.scripts import ScriptType + +reactor.incHitCount() +reactor.increaseState() +if reactor.getHitCount() >= 4: + sm.removeReactor() + sm.startScript(0, "HorntailFight", ScriptType.Field) + sm.spawnMob(8810202, 95, 260, False) + sm.spawnMob(8810203, 95, 260, False) + sm.spawnMob(8810204, 95, 260, False) + sm.spawnMob(8810205, 95, 260, False) + sm.spawnMob(8810206, 95, 260, False) + sm.spawnMob(8810207, 95, 260, False) + sm.spawnMob(8810208, 95, 260, False) + sm.spawnMob(8810209, 95, 260, False) + sm.removeReactor() \ No newline at end of file diff --git a/scripts/reactor/edelItem0.py b/scripts/reactor/edelItem0.py new file mode 100755 index 0000000..ccce71c --- /dev/null +++ b/scripts/reactor/edelItem0.py @@ -0,0 +1,11 @@ +# Acorn tree reactor | edelstein +REQUEST_FROM_A_DOCTOR = 23003 +WHOLE_ACORN = 4034738 + +reactor.incHitCount() + +if reactor.getHitCount() >= 3: + if sm.hasQuest(REQUEST_FROM_A_DOCTOR) and not sm.hasItem(WHOLE_ACORN, 2): + sm.dropItem(WHOLE_ACORN, sm.getPosition(objectID).getX(), sm.getPosition(objectID).getY()) + + sm.removeReactor() diff --git a/scripts/reactor/erebMob0.py b/scripts/reactor/erebMob0.py new file mode 100755 index 0000000..b35cc37 --- /dev/null +++ b/scripts/reactor/erebMob0.py @@ -0,0 +1,11 @@ +# Spawns mobs that drop Proof of Exam for Cygnus tutorial. + +TRAINING_TIMU = 9300732 + +reactor.incHitCount() + +if reactor.getHitCount() >= 3: + for x in range(2): + sm.spawnMobOnChar(TRAINING_TIMU) + + sm.removeReactor() \ No newline at end of file diff --git a/scripts/reactor/fake_timecapsule.py b/scripts/reactor/fake_timecapsule.py new file mode 100755 index 0000000..9cdd305 --- /dev/null +++ b/scripts/reactor/fake_timecapsule.py @@ -0,0 +1,4 @@ +reactor.incHitCount() +reactor.increaseState() +if reactor.getHitCount() >= 4: + sm.removeReactor() diff --git a/scripts/reactor/farmItem0.py b/scripts/reactor/farmItem0.py new file mode 100755 index 0000000..6c565d5 --- /dev/null +++ b/scripts/reactor/farmItem0.py @@ -0,0 +1,7 @@ +reactor = sm.getReactor(objectID) +if reactor is not None and sm.hasQuest(22502): + reactor.incHitCount() + if reactor.getHitCount() >= 5: + sm.dropItem(4032452,sm.getPosition(objectID).getX(), sm.getPosition(objectID).getY()) + reactor.setHitCount(0) + sm.dispose() \ No newline at end of file diff --git a/scripts/reactor/gather_Item0.py b/scripts/reactor/gather_Item0.py new file mode 100755 index 0000000..0af805a --- /dev/null +++ b/scripts/reactor/gather_Item0.py @@ -0,0 +1,120 @@ +# https://strategywiki.org/wiki/MapleStory/Professions +# this was the first big script i did so forgive the mess lol + +import random + +# unsure if all of these are handled here but they are all grouped together and look the same so.. idk + +PRIMAL_ESSENCE = 4021022 # Occasionally found from Heartstones, Gold Flowers, Mysterious Ore Veins, Mysterious Legendary Ore Veins, Mysterious Herbs, and Mysterious Legendary Herbs +DUSK_ESSENCE = 4023023 # occasionally found from Heartstones, Gold Flowers, Mysterious Ore Veins, and Mysterious Herbs +BRILLIANT_DUSK_ESSENCE = 4023024 # occasionally found from Mysterious Legendary Ore Veins and Mysterious Herbs +PIECE_OF_TIME = 4020009 + +UNRELENTING_FLAME = 4023025 # occasionally found in Mysterious Herbs +FOREVER_UNRELENTING_FLAME = 4023026 # occasionally found in Mysterious Legendary Herbs + +CUBIC_BLADE = 4021041 # Occasionally found in Mysterious Ore Veins +CUBIC_CHAOS_BLADE = 4021042 # Occasionally found in Mysterious Legendary Ore Veins + +# legend: [REACTOR_ID], [DROP_ID], [DROP_ID] + +RANDOM_POWDER = [4007001, 4007002, 4007003, 4007004, 4007005, 4007006, 4007007] +RANDOM_ADVANCED = [PRIMAL_ESSENCE, DUSK_ESSENCE, PIECE_OF_TIME] + +# basic +HERBS = [ +[100000, 4022000, 4022001], # marjorama seed & flower +[100010, 4022000, 4022001], # marjorama seed & flower +[100001, 4022002, 4022003], # lavender seed & flower +[100002, 4022004, 4022005], # rosemary seed & flower +[100003, 4022006, 4022007], # mandarin seed & flower +[100004, 4022008, 4022009, 4022010], # lemon balm seed & flower, and peppermint flower +[100005, 4022011, 4022012], # jasmine seed & flower +[100006, 4022013, 4022014], # tea tree seed & flower +[100007, 4022015, 4022016], # chamomille seed & flower +[100008, 4022017, 4022018], # patchouli seed & flower +[100009, 4022019, 4022020, 4022021]] # juniper berry seed & flower, and hyssop flower + +# advanced +GOLD_FLOWER = 100011 +ADVANCED_HERBS = [ +[100012, UNRELENTING_FLAME, BRILLIANT_DUSK_ESSENCE], # mysterious herb +[100013, UNRELENTING_FLAME, FOREVER_UNRELENTING_FLAME, BRILLIANT_DUSK_ESSENCE]] # mysterious legendary herb + +# basic +VEINS = [ +[200000, 4010004, 4020004], # silver and opal ore +[200010, 4010004, 4020004], # silver and opal ore +[200001, 4010005, 4020001], # orihalcon and amethyst ore +[200002, 4010001, 4020005], # steel and sapphire ore +[200003, 4010003, 4010000], # adamantium and bronze ore +[200004, 4010002, 4020003, 4004002], # mithril and emerald ore, and dex crystal ore +[200005, 4010006, 4020006], # gold and topaz ore +[200006, 4020002, 4020007], # aquamarine and diamond ore +[200007, 4020000, 4004000], # garnet and power crystal ore +[200008, 4020008, 4004004], # black crystal and dark crystal ore +[200009, 4004001, 4004003, 4010007]] # luk crystal and wisdom crystal ore, and lidium ore + + +# advanced +HEARTSTONE = 200011 +ADVANCED_VEINS = [ +[200012, CUBIC_BLADE, BRILLIANT_DUSK_ESSENCE], # MYSTERIOUS_VEIN +[200013, BRILLIANT_DUSK_ESSENCE, CUBIC_BLADE, CUBIC_CHAOS_BLADE]] # MYSTERIOUS_LEGENDARY_VEIN + +OTHER = [ +[1209002]] # nautilus quest herb + +RANDOM_FLOWER = [4034886, 4034887, 4034888, 4034889, 4034890, 4034891, 4034892] # drops when reactor isn't coded + +reward = 0 + +# iterate herbs +for i in HERBS: + if parentID in i: + i.remove(parentID) + reward = random.choice(i) + break + +# iterate advanced herbs +if reward == 0: + for i in ADVANCED_HERBS: + if parentID in i: + i.remove(parentID) + reward = random.choice(i + RANDOM_ADVANCED) + break + +# iterate veins +if reward == 0: + for i in VEINS: + if parentID in i: + i.remove(parentID) + reward = random.choice(i) + break + +# iterate advanced veins +if reward == 0: + for i in ADVANCED_VEINS: + if parentID in i: + i.remove(parentID) + reward = random.choice(i + RANDOM_ADVANCED) + break + +if reward == 0: + if parentID == HEARTSTONE or parentID == GOLD_FLOWER: + reward = random.choice(RANDOM_POWDER + RANDOM_ADVANCED) + +#if reward > 0: +# for i in OTHER: +# if parentID in i: +# i.remove(parentID) +# reward = random.choice(i) + +pos = sm.getPosition(objectID) +sm.removeReactor() + +if reward <= 0: + reward = random.choice(RANDOM_FLOWER) + sm.systemMessage("Oopsie, it seems like [" + str(parentID) + "] this cute little guy doesn't know what to do! Alert staff so they can help him find his purpose. :)") + +sm.dropItem(reward, pos.getX(), pos.getY()) \ No newline at end of file diff --git a/scripts/reactor/glpqskill0.py b/scripts/reactor/glpqskill0.py new file mode 100755 index 0000000..5f038d6 --- /dev/null +++ b/scripts/reactor/glpqskill0.py @@ -0,0 +1,27 @@ + +# Warrior Sigil - 6109000 + +WarriorJobs = [100,110,111,112,120,121,122,130,131,132,1100,1110,1111,1112,2100,2110,2111,2112,3100,3110,3111,3112,3101,3120,3121,3122,3700,3710,3711,3712,4100,4110,4111,4112,5100,5110,5111,5112,6100,6110,6111,6112,10000,10100,10110,10111,10112] +FieldProperties = ["WarriorSigil","ArcherSigil","MageSigil","ThiefSigil","PirateSigil"] +SigilIDS = [6109000,6109001,6109002,6109003,6109004] + +reactor.incHitCount() + +if sm.getFieldID() == 610030200: + if chr.getJob() in WarriorJobs: + if reactor.getHitCount() == 1: + sm.changeReactorState(6109000,1,1,1) + sm.chatBlue("The Warrior Sigil has been activated!") + sm.setFieldProperty("WarriorSigil",True) + if sm.fieldHasProperty("ArcherSigil") and sm.fieldHasProperty("MageSigil") and sm.fieldHasProperty("ThiefSigil") and sm.fieldHasProperty("PirateSigil"): + sm.chatBlue("The Antellion grants you access to the next portal! proceed.") + sm.setFieldProperty("Stage1Cleared", True) + sm.dispose() + else: + for x in range(len(FieldProperties)): + sm.setFieldProperty(str(FieldProperties[x]), False) + sm.chatRed("Someone has tampered with the wrong Sigil!") + sm.chatRed("All of the Sigils have been reset!") + for x in range(len(SigilIDS)): + sm.changeReactorState(int(SigilIDS[x]),0,0,0) +#if sm.getFieldID() == 610030300: diff --git a/scripts/reactor/glpqskill1.py b/scripts/reactor/glpqskill1.py new file mode 100755 index 0000000..6ecf926 --- /dev/null +++ b/scripts/reactor/glpqskill1.py @@ -0,0 +1,26 @@ + +# Archer Sigil - 6109001 + +ArcherJobs = [300,310,311,312,320,321,322,1300,1310,1311,1312,2002,2300,2310,2311,2312,3300,3310,3311,3312] +FieldProperties = ["WarriorSigil","ArcherSigil","MageSigil","ThiefSigil","PirateSigil"] +SigilIDS = [6109000,6109001,6109002,6109003,6109004] + +reactor.incHitCount() + +if sm.getFieldID() == 610030200: + if chr.getJob() in ArcherJobs: + if reactor.getHitCount() == 5: + sm.changeReactorState(6109001,1,1,1) + sm.chatBlue("The Archer Sigil has been activated!") + sm.setFieldProperty("ArcherSigil",True) + if sm.fieldHasProperty("WarriorSigil") and sm.fieldHasProperty("MageSigil") and sm.fieldHasProperty("ThiefSigil") and sm.fieldHasProperty("PirateSigil"): + sm.chatBlue("The Antellion grants you access to the next portal! proceed.") + sm.setFieldProperty("Stage1Cleared", True) + sm.dispose() + else: + for x in range(len(FieldProperties)): + sm.setFieldProperty(str(FieldProperties[x]), False) + sm.chatRed("Someone has tampered with the wrong Sigil!") + sm.chatRed("All of the Sigils have been reset!") + for x in range(len(SigilIDS)): + sm.changeReactorState(int(SigilIDS[x]),0,0,0) \ No newline at end of file diff --git a/scripts/reactor/glpqskill2.py b/scripts/reactor/glpqskill2.py new file mode 100755 index 0000000..9041ebc --- /dev/null +++ b/scripts/reactor/glpqskill2.py @@ -0,0 +1,26 @@ + +# Mage Sigil - 6109002 + +MageJobs = [200,210,211,212,220,221,222,230,231,232,1200,1210,1211,1212,2210,2212,2214,2218,2004,2700,2710,2711,2712,3200,3210,3211,3212,4200,4210,4211,4212,11200,11210,11211,11212,14000,14200,14210,14211,14212] +FieldProperties = ["WarriorSigil","ArcherSigil","MageSigil","ThiefSigil","PirateSigil"] +SigilIDS = [6109000,6109001,6109002,6109003,6109004] + +reactor.incHitCount() + +if sm.getFieldID() == 610030200: + if chr.getJob() in MageJobs: + if reactor.getHitCount() == 5: + sm.changeReactorState(6109002,1,1,1) + sm.chatBlue("The Mage Sigil has been activated!") + sm.setFieldProperty("MageSigil",True) + if sm.fieldHasProperty("WarriorSigil") and sm.fieldHasProperty("ArcherSigil") and sm.fieldHasProperty("ThiefSigil") and sm.fieldHasProperty("PirateSigil"): + sm.chatBlue("The Antellion grants you access to the next portal! proceed.") + sm.setFieldProperty("Stage1Cleared", True) + sm.dispose() + else: + for x in range(len(FieldProperties)): + sm.setFieldProperty(str(FieldProperties[x]), False) + sm.chatRed("Someone has tampered with the wrong Sigil!") + sm.chatRed("All of the Sigils have been reset!") + for x in range(len(SigilIDS)): + sm.changeReactorState(int(SigilIDS[x]),0,0,0) \ No newline at end of file diff --git a/scripts/reactor/glpqskill3.py b/scripts/reactor/glpqskill3.py new file mode 100755 index 0000000..a9995b9 --- /dev/null +++ b/scripts/reactor/glpqskill3.py @@ -0,0 +1,26 @@ + +# Thief Sigil - 6109000 + +ThiefJobs = [400,410,411,412,420,421,422,430,431,432,433,434,1400,1400,1410,1411,1412,2003,2400,2410,2411,2412,3600,3610,3611,3612] +FieldProperties = ["WarriorSigil","ArcherSigil","MageSigil","ThiefSigil","PirateSigil"] +SigilIDS = [6109000,6109001,6109002,6109003,6109004] + +reactor.incHitCount() + +if sm.getFieldID() == 610030200: + if chr.getJob() in ThiefJobs: + if reactor.getHitCount() == 5: + sm.changeReactorState(6109003,1,1,1) + sm.chatBlue("The Thief Sigil has been activated!") + sm.setFieldProperty("ThiefSigil",True) + if sm.fieldHasProperty("WarriorSigil") and sm.fieldHasProperty("ArcherSigil") and sm.fieldHasProperty("MageSigil") and sm.fieldHasProperty("PirateSigil"): + sm.chatBlue("The Antellion grants you access to the next portal! proceed.") + sm.setFieldProperty("Stage1Cleared", True) + sm.dispose() + else: + for x in range(len(FieldProperties)): + sm.setFieldProperty(str(FieldProperties[x]), False) + sm.chatRed("Someone has tampered with the wrong Sigil!") + sm.chatRed("All of the Sigils have been reset!") + for x in range(len(SigilIDS)): + sm.changeReactorState(int(SigilIDS[x]),0,0,0) \ No newline at end of file diff --git a/scripts/reactor/glpqskill4.py b/scripts/reactor/glpqskill4.py new file mode 100755 index 0000000..2d1bd1e --- /dev/null +++ b/scripts/reactor/glpqskill4.py @@ -0,0 +1,26 @@ + +# Pirate Sigil - 6109000 + +PirateJobs = [500,501,508,510,511,512,520,521,522,530,531,532,570,571,572,1500,1510,1511,1512,2005,2500,2510,2511,2512,3500,3510,3511,3512,3600,3610,3611,3612,6001,6500,6510,6511,6512] +FieldProperties = ["WarriorSigil","ArcherSigil","MageSigil","ThiefSigil","PirateSigil"] +SigilIDS = [6109000,6109001,6109002,6109003,6109004] + +reactor.incHitCount() + +if sm.getFieldID() == 610030200: + if chr.getJob() in PirateJobs: + if reactor.getHitCount() == 5: + sm.changeReactorState(6109004,1,1,1) + sm.chatBlue("The Pirate Sigil has been activated!") + sm.setFieldProperty("PirateSigil",True) + if sm.fieldHasProperty("WarriorSigil") and sm.fieldHasProperty("ArcherSigil") and sm.fieldHasProperty("MageSigil") and sm.fieldHasProperty("ThiefSigil"): + sm.chatBlue("The Antellion grants you access to the next portal! proceed.") + sm.setFieldProperty("Stage1Cleared", True) + sm.dispose() + else: + for x in range(len(FieldProperties)): + sm.setFieldProperty(str(FieldProperties[x]), False) + sm.chatRed("Someone has tampered with the wrong Sigil!") + sm.chatRed("All of the Sigils have been reset!") + for x in range(len(SigilIDS)): + sm.changeReactorState(int(SigilIDS[x]),0,0,0) \ No newline at end of file diff --git a/scripts/reactor/hontaleBoss.py b/scripts/reactor/hontaleBoss.py new file mode 100755 index 0000000..720df67 --- /dev/null +++ b/scripts/reactor/hontaleBoss.py @@ -0,0 +1,7 @@ +from net.swordie.ms.scripts import ScriptType + +reactor.incHitCount() +reactor.increaseState() +if reactor.getHitCount() == 4: + sm.removeReactor() + sm.startScript(0, "HorntailFight", ScriptType.Field) \ No newline at end of file diff --git a/scripts/reactor/mBoxItem0.py b/scripts/reactor/mBoxItem0.py new file mode 100755 index 0000000..18b3fac --- /dev/null +++ b/scripts/reactor/mBoxItem0.py @@ -0,0 +1,31 @@ +# Maple Road - Inside the Dangerous Forest/South Perry Reactor + +# Reactor Tutorial Maple Island Explorer +DANGEROUS_FOREST = 4000014 +FIRST_EXPLORER_GIFT_BOX = 4033915 + +# Maple Island Explorer Storyline +SOUTH_PERRY = 4000030 +FLUSTERED_EXPLORER = 32213 +BOAT_BOARDING_TICKET = 4033914 + +KINDLING = 4032980 # Quest Item for Cannoneer Intro + +reactor.incHitCount() +reactor.increaseState() + +if reactor.getHitCount() < 4: + sm.dispose() + +x, y = sm.getPosition(objectID).getX(), sm.getPosition(objectID).getY() + +if sm.getFieldID() == DANGEROUS_FOREST: + sm.dropItem(FIRST_EXPLORER_GIFT_BOX, x, y) +elif sm.getFieldID() == SOUTH_PERRY: + if sm.hasQuest(FLUSTERED_EXPLORER): + if not sm.hasItem(BOAT_BOARDING_TICKET): + sm.dropItem(BOAT_BOARDING_TICKET, x, y) +else: + sm.dropItem(KINDLING, x, y) + +sm.removeReactor() diff --git a/scripts/reactor/mihailItem00.py b/scripts/reactor/mihailItem00.py new file mode 100755 index 0000000..60c9a36 --- /dev/null +++ b/scripts/reactor/mihailItem00.py @@ -0,0 +1,16 @@ +STATE_LENGTH = [156, 146, 136, 115, 105, 95, 84, 43, 33, 0] +BIGBY_REACTOR = 1301000 +BIGBY_MOB = 9001051 +EGG = 4033196 + +if sm.hasQuest(20033): + if sm.getReactorState(BIGBY_REACTOR) < 10: + sm.dropItem(EGG, sm.getPosition(objectID).getX(), sm.getPosition(objectID).getY()) + sm.increaseReactorState(BIGBY_REACTOR, STATE_LENGTH[sm.getReactorState(BIGBY_REACTOR)]) + sm.removeReactor() + if sm.getReactorState(BIGBY_REACTOR) == 10: + sm.systemMessage("Bigby's leash has torn into two.") + sm.spawnMob(BIGBY_MOB, 229, 65, False) + sm.dispose() + + \ No newline at end of file diff --git a/scripts/reactor/periFlower0.py b/scripts/reactor/periFlower0.py new file mode 100755 index 0000000..7f24587 --- /dev/null +++ b/scripts/reactor/periFlower0.py @@ -0,0 +1,4 @@ +# fire flower in perion mountains + +sm.dropItem(4033051, sm.getObjectPositionX(), sm.getObjectPositionY()) +sm.removeReactor() \ No newline at end of file diff --git a/scripts/reactor/platformer_trap.py b/scripts/reactor/platformer_trap.py new file mode 100755 index 0000000..ea2e6bf --- /dev/null +++ b/scripts/reactor/platformer_trap.py @@ -0,0 +1 @@ +sm.teleportInField(1000, 0) diff --git a/scripts/reactor/platformer_trap0.py b/scripts/reactor/platformer_trap0.py new file mode 100755 index 0000000..9938c42 --- /dev/null +++ b/scripts/reactor/platformer_trap0.py @@ -0,0 +1 @@ +sm.teleportInField(1000, 0) \ No newline at end of file diff --git a/scripts/reactor/platformer_trap1.py b/scripts/reactor/platformer_trap1.py new file mode 100755 index 0000000..9938c42 --- /dev/null +++ b/scripts/reactor/platformer_trap1.py @@ -0,0 +1 @@ +sm.teleportInField(1000, 0) \ No newline at end of file diff --git a/scripts/reactor/platformer_trap3.py b/scripts/reactor/platformer_trap3.py new file mode 100755 index 0000000..9938c42 --- /dev/null +++ b/scripts/reactor/platformer_trap3.py @@ -0,0 +1 @@ +sm.teleportInField(1000, 0) \ No newline at end of file diff --git a/scripts/reactor/platformer_trap4.py b/scripts/reactor/platformer_trap4.py new file mode 100755 index 0000000..9938c42 --- /dev/null +++ b/scripts/reactor/platformer_trap4.py @@ -0,0 +1 @@ +sm.teleportInField(1000, 0) \ No newline at end of file diff --git a/scripts/reactor/prisonBreakItem0.py b/scripts/reactor/prisonBreakItem0.py new file mode 100755 index 0000000..bbc6e84 --- /dev/null +++ b/scripts/reactor/prisonBreakItem0.py @@ -0,0 +1,8 @@ +# Key Chest (921160600) | Drops a key on the map | Used in Escape Party Quest +PRISON_KEY = 4001528 + +reactor.incHitCount() +if reactor.getHitCount() >= 1: + sm.dropItem(PRISON_KEY, sm.getPosition(objectID).getX(), sm.getPosition(objectID).getY()) + sm.removeReactor() + sm.dispose() diff --git a/scripts/reactor/prisonBreakMob0.py b/scripts/reactor/prisonBreakMob0.py new file mode 100755 index 0000000..18f7539 --- /dev/null +++ b/scripts/reactor/prisonBreakMob0.py @@ -0,0 +1,15 @@ +# Key Chest (921160600) | Spawns mobs & Drops a key | Used in Escape Party Quest +PRISON_GUARD_BOAR = 9300452 +PRISON_GUARD_RHINO = 9300453 +PRISON_KEY = 4001528 + +reactor.incHitCount() +if reactor.getHitCount() >= 1: + i = 0 + while i < 10: + sm.spawnMob(PRISON_GUARD_BOAR, sm.getPosition(objectID).getX(), sm.getPosition(objectID).getY(), False) + sm.spawnMob(PRISON_GUARD_RHINO, sm.getPosition(objectID).getX(), sm.getPosition(objectID).getY(), False) + i += 1 + sm.dropItem(PRISON_KEY, sm.getPosition(objectID).getX(), sm.getPosition(objectID).getY()) + sm.removeReactor() + sm.dispose() diff --git a/scripts/reactor/queenChaos.py b/scripts/reactor/queenChaos.py new file mode 100755 index 0000000..3949a24 --- /dev/null +++ b/scripts/reactor/queenChaos.py @@ -0,0 +1,14 @@ +from net.swordie.ms.enums import WeatherEffNoticeType + +chaosQueenId = 8920000 +if chr.getInstance() is not None: + if sm.hasFieldProperty("QueenSummoned"): + sm.removeReactor() + sm.setFieldProperty("QueenSummoned", False) + sm.dispose() + reactor.incHitCount() + sm.showWeatherNotice("Please allow me to mourn over your imminent demise.", WeatherEffNoticeType.BossCrimsonQueenCrownPink, 10000) + if reactor.getHitCount() == 5: + sm.spawnMob(chaosQueenId, 37, 135, False) + sm.removeReactor() + sm.setFieldProperty("QueenSummoned", True) \ No newline at end of file diff --git a/scripts/reactor/queenNormal.py b/scripts/reactor/queenNormal.py new file mode 100755 index 0000000..56eedb6 --- /dev/null +++ b/scripts/reactor/queenNormal.py @@ -0,0 +1,17 @@ +from net.swordie.ms.enums import WeatherEffNoticeType +from time import sleep +if chr.getInstance() is not None: + QueenId = 8920100 + if field.hasProperty("QueenSummoned"): + sm.removeReactor() + field.setProperty("QueenSummoned", False) + sm.dispose() + reactor.incHitCount() + sm.showWeatherNotice("Please allow me to mourn over your imminent demise.", WeatherEffNoticeType.BossCrimsonQueenCrownPink, 10000) + if reactor.getHitCount() == 5: + sm.spawnMob(QueenId, 37, 135, False) + sm.removeReactor() + field.setProperty("QueenSummoned", True) + sleep(2) + sm.removeReactor() + sm.removeReactor() \ No newline at end of file diff --git a/scripts/reactor/real_timecapsule.py b/scripts/reactor/real_timecapsule.py new file mode 100755 index 0000000..9530e3b --- /dev/null +++ b/scripts/reactor/real_timecapsule.py @@ -0,0 +1,16 @@ +reactor.incHitCount() +reactor.increaseState() +if reactor.getHitCount() >= 4: + sm.removeReactor() + sm.lockInGameUI(True) + sm.flipDialoguePlayerAsSpeaker() + sm.removeEscapeButton() + # todo: show time capsule in below dialog + sm.sendNext("This ## must be it. I know we promised to open it together guys, but I'm sure you all would understand.") + sm.sendSay("This is definite Phantom's. A scroll? Hm, Luminious must've put it in. This whetstone must've been used to sharpen Maha. He DOES cherish Maha...") + sm.sendSay("What's this black thing? Ah, Afrien's scale. And this...the token fo the Ruler of the Elves. Wonder if Mercedes really meant to put this in here. I thought this is supposed to be really important.") + sm.sendSay("And the last is...") + # todo: show picture of heroes + sm.lockInGameUI(False) + sm.createQuestWithQRValue(38075, "clear") + sm.completeQuest(38075) diff --git a/scripts/reactor/rienItem0.py b/scripts/reactor/rienItem0.py new file mode 100755 index 0000000..3f89c2d --- /dev/null +++ b/scripts/reactor/rienItem0.py @@ -0,0 +1,3 @@ +# 140090300 +sm.dropItem(4032310, sm.getPosition(objectID).getX(), sm.getPosition(objectID).getY()) +sm.removeReactor() \ No newline at end of file diff --git a/scripts/reactor/undefined.py b/scripts/reactor/undefined.py new file mode 100755 index 0000000..0c7e084 --- /dev/null +++ b/scripts/reactor/undefined.py @@ -0,0 +1,2 @@ +sm.chat("(Reactor) Not coded. Admin was lazy and didn't fix this :). ID: " + str(parentID)) +sm.dispose() diff --git a/sql/1 - InitTables_characters.sql b/sql/1 - InitTables_characters.sql new file mode 100755 index 0000000..bffd43c --- /dev/null +++ b/sql/1 - InitTables_characters.sql @@ -0,0 +1,1147 @@ +set FOREIGN_KEY_CHECKS = 0; +drop table if exists + users, + accounts, + damageskinsavedatas, + matrix_records, + friends, + linkskills, + monster_collection_rewards, + monster_collection_mobs, + monster_collection_explorations, + monster_collections, + macroskills, + macros, + familiars, + stolenskills, + chosenskills, + skillcooltimes, + hyperrockfields, + characterpotentials, + test, + skills, + characters, + avatardata, + alliance_gradenames, + alliances, + keymaps, + funckeymap, + offenses, + offense_managers, + characterstats, + hairequips, + unseenequips, + petids, + totems, + spset, + extendsp, + noncombatstatdaylimit, + systemtimes, + charactercards, + avatarlook, + equips, + petitems, + items, + auction_items, + inventories, + questprogressrequirements, + questprogressitemrequirements, + questprogresslevelrequirements, + questprogressmoneyrequirements, + questprogressmobrequirements, + questlists, + questmanagers, + quests, + questlists_ex, + quests_ex, + bbs_replies, + bbs_records, + gradenames, + guildmembers, + guildrequestors, + guildskills, + guildskill, + guilds, + monsterbookcards, + monsterbookinfos, + trunks, + towerchairs, + merchantitems, + cashiteminfos, + unions, + employeetrunk, + eventscooltimes, + sdc, + unionboards, + unionmembers, + achievements, + dailychallenge, + ignoreddrops, + hottimerewards, + bosscooldowns, + beautyalbuminventory, + charactercard +; + +create table merchantitems ( + id bigint not null auto_increment, + merchantitemid int, + bundles int, + price long, + employeetrunkid int, + primary key (id) +); + +create table employeetrunk ( + id int(11) not null auto_increment, + money bigint(20) default '0', + primary key (id) +); + +create table trunks +( + id int not null auto_increment, + slotcount tinyint, + money bigint, + primary key (id) +); + +create table cashiteminfos +( + id bigint not null auto_increment, + accountid int, + characterid int, + commodityid int, + buycharacterid varchar(255), + paybackrate int, + discount double, + orderno int, + productno int, + refundable boolean, + sourceflag tinyint, + storebank boolean, + itemid int, + trunkid int, + position int, + primary key (id) +); + +create table quests +( + id bigint not null auto_increment, + qrkey int, + qrvalue varchar(255), + status int, + completedtime datetime, + primary key (id) +); + +create table quests_ex ( + id bigint not null auto_increment, + charid int, + questid int, + qrValue varchar(255), + primary key (id), + foreign key (charid) references characters(id) +); + +create table questmanagers +( + id bigint not null auto_increment, + primary key (id) +); + +create table questlists +( + questlist_id bigint not null auto_increment, + questmanager_id bigint, + questid int, + fk_questid bigint, + primary key (questlist_id), + foreign key (questmanager_id) references questmanagers (id) on delete cascade, + foreign key (fk_questid) references quests (id) +); + +create table questprogressrequirements +( + id bigint not null auto_increment, + orderNum int, + progresstype varchar(255), + questid bigint, + unitid int, + requiredcount int, + currentcount int, + primary key (id), + foreign key (questid) references quests (id) on delete cascade +); + +create table inventories +( + id int not null auto_increment, + type int, + slots smallint, + primary key (id) +); + +create table items +( + id bigint not null auto_increment, + inventoryid int, # item can be inside an inventory or storage, so cannot be a foreign key :( + trunkid int, + itemid int, + bagindex int, + cashitemserialnumber bigint, + dateexpire datetime, + invtype int, + type int, + iscash boolean, + quantity int, + owner varchar(255), + primary key (id) +); + +create table auction_items +( + id int not null auto_increment, + type int, + accountid int, + charid int, + state int, + itemType int, + charName varchar(255), + price bigint, + secondprice bigint, + directprice bigint, + endDate datetime, + biduserid int, + bidusername varchar(255), + idk int, + bidworld int, + oid int, + regdate datetime, + deposit bigint, + sstype int, + idk2 int, + idk3 int, + unkdate datetime, + item int, + itemname varchar(255), + soldquantity int, + primary key (id) +); + +create table petitems +( + itemid bigint, + name varchar(255), + level tinyint, + tameness smallint, + repleteness tinyint, + petattribute smallint, + petskill int, + datedead datetime, + remainlife int, + attribute smallint, + activestate tinyint, + autobuffskill int, + pethue int, + giantrate smallint, + primary key (itemid), + foreign key (itemid) references items (id) on delete cascade +); + +create table guilds +( + id int not null auto_increment, + name varchar(255), + leaderid int, + worldid int, + markbg int, + markbgcolor int, + mark int, + markcolor int, + maxmembers int, + notice varchar(255), + points int, + seasonpoints int, + allianceid int, + level int, + `rank` int, + ggp int, + appliable boolean, + joinsetting int, + reqlevel int, + bbsNotice int, + battleSp int, + fk_allianceid int, + primary key (id) +); + +create table equips +( + serialnumber bigint, + itemid bigint, + title varchar(255), + equippeddate datetime, + prevbonusexprate int, + options varchar(255), + sockets varchar(255), + tuc smallint, + cuc smallint, + istr smallint, + idex smallint, + iint smallint, + iluk smallint, + imaxhp smallint, + imaxmp smallint, + ipad smallint, + imad smallint, + ipdd smallint, + imdd smallint, + iacc smallint, + ieva smallint, + icraft smallint, + ispeed smallint, + ijump smallint, + attribute smallint, + leveluptype smallint, + level smallint, + exp smallint, + durability smallint, + iuc smallint, + ipvpdamage smallint, + ireducereq smallint, + specialattribute smallint, + durabilitymax smallint, + iincreq smallint, + growthenchant smallint, + psenchant smallint, + hyperupgrade smallint, + bdr smallint, + imdr smallint, + damr smallint, + statr smallint, + cuttable smallint, + exgradeoption bigint, + itemstate smallint, + grade smallint, + chuc smallint, + souloptionid smallint, + soulsocketid smallint, + souloption smallint, + rstr smallint, + rdex smallint, + rint smallint, + rluk smallint, + rlevel smallint, + rjob smallint, + rpop smallint, + specialgrade int, + fixedpotential boolean, + tradeblock boolean, + isonly boolean, + notsale boolean, + attackspeed int, + price int, + charmexp int, + expireonlogout boolean, + setitemid int, + exitem boolean, + equiptradeblock boolean, + islot varchar(255), + vslot varchar(255), + fixedgrade int, + nopotential tinyint, + arc smallint, + symbolexp int, + symbollevel smallint, + bossreward tinyint, + fstr smallint, + fdex smallint, + fint smallint, + fluk smallint, + fatt smallint, + fmatt smallint, + fdef smallint, + fhp smallint, + fmp smallint, + fspeed smallint, + fjump smallint, + fallstat smallint, + fboss smallint, + fdamage smallint, + flevel smallint, + superioreqp tinyint, + android int, + androidgrade int, + primary key (itemid), + foreign key (itemid) references items (id) on delete cascade +); + +create table monsterbookinfos +( + id int not null auto_increment, + setid int, + coverid int, + primary key (id) +); + +create table monsterbookcards +( + id bigint not null auto_increment, + bookid int, + cardid int, + primary key (id), + foreign key (bookid) references monsterbookinfos (id) on delete cascade +); + +create table avatarlook +( + id int not null auto_increment, + gender int, + skin int, + face int, + hair int, + weaponstickerid int, + weaponid int, + subweaponid int, + job int, + drawelfear boolean, + demonslayerdeffaceacc int, + xenondeffaceacc int, + beasttamerdeffaceacc int, + iszerobetalook boolean, + mixedhaircolor int, + mixhairpercent int, + ears int, + tail int, + primary key (id) +); + +create table hairequips +( + id int not null auto_increment, + alid int, + equipid int, + primary key (id), + foreign key (alid) references avatarlook (id) on delete cascade +); + +create table unseenequips +( + id int not null auto_increment, + alid int, + equipid int, + primary key (id), + foreign key (alid) references avatarlook (id) on delete cascade +); + +create table petids +( + id int not null auto_increment, + alid int, + petid int, + primary key (id), + foreign key (alid) references avatarlook (id) on delete cascade +); + +create table totems +( + id int not null auto_increment, + alid int, + totemid int, + primary key (id), + foreign key (alid) references avatarlook (id) on delete cascade +); + +create table extendsp +( + id int not null auto_increment, + primary key (id) +); + +create table spset +( + id int not null auto_increment, + extendsp_id int, + joblevel tinyint, + sp int, + primary key (id), + foreign key (extendsp_id) references extendsp (id) on delete cascade +); + +create table systemtimes +( + id int not null auto_increment, + yr int, + mnth int, + primary key (id) +); + +create table noncombatstatdaylimit +( + id int not null auto_increment, + charisma smallint, + charm smallint, + insight smallint, + will smallint, + craft smallint, + sense smallint, + lastupdatecharmbycashpr datetime, + charmbycashpr tinyint, + primary key (id) +); + +create table charactercards +( + id int not null auto_increment, + characterid int, + job int, + level tinyint, + primary key (id) +); + +create table characterstats +( + id int not null auto_increment, + characterid int, + characteridforlog int, + worldidforlog int, + name varchar(255), + gender int, + skin int, + face int, + hair int, + mixbasehaircolor int, + mixaddhaircolor int, + mixhairbaseprob int, + level int, + job int, + str int, + dex int, + inte int, + luk int, + hp int, + maxhp int, + mp int, + maxmp int, + ap int, + sp int, + exp long, + pop int, + money long, + wp int, + extendsp int, + posmap long, + portal int, + subjob int, + deffaceacc int, + fatigue int, + lastfatigueupdatetime int, + charismaexp int, + insightexp int, + willexp int, + craftexp int, + senseexp int, + charmexp int, + noncombatstatdaylimit int, + pvpexp int, + pvpgrade int, + pvppoint int, + pvpmodelevel int, + pvpmodetype int, + eventpoint int, + pierce double not null default '0', + albaactivityid int, + albastarttime datetime, + albaduration int, + albaspecialreward int, + burning boolean, + charactercard int, + accountlastlogout int, + lastlogout datetime, + gachexp int, + honorexp int, + nextavailablefametime datetime, + primary key (id), + foreign key (extendsp) references extendsp (id), + foreign key (noncombatstatdaylimit) references noncombatstatdaylimit (id), + foreign key (charactercard) references charactercards (id), + foreign key (accountlastlogout) references systemtimes (id) +); + +create table avatardata +( + id int not null auto_increment, + characterstat int, + avatarlook int, + zeroavatarlook int, + primary key (id), + foreign key (characterstat) references characterstats (id), + foreign key (avatarlook) references avatarlook (id), + foreign key (zeroavatarlook) references avatarlook (id) +); + +create table funckeymap ( + id int not null auto_increment, + primary key (id), + charId int, + ord int +); + +create table keymaps ( + id int not null auto_increment, + fkmapid int, + idx int, + type tinyint, + val int, + primary key (id), + foreign key (fkmapid) references funckeymap(id) +); + +create table alliances +( + id int not null auto_increment, + name varchar(255), + maxmembernum int, + notice varchar(255), + primary key (id) +); + +create table alliance_gradenames +( + id int not null auto_increment, + gradename varchar(255), + allianceid int, + primary key (id), + foreign key (allianceid) references alliances (id) on delete cascade +); + +create table bbs_records +( + id int not null auto_increment, + idforbbs int, + creatorid int, + subject varchar(255), + msg text, + creationdate datetime, + icon int, + guildid int, + primary key (id) +); + +create table bbs_replies +( + id int not null auto_increment, + idforreply int, + creatorid int, + creationdate datetime, + msg text, + recordid int, + primary key (id), + foreign key (recordid) references bbs_records (id) on delete cascade +); + +create table offense_managers +( + id int not null auto_increment, + points int, + primary key (id) +); + +create table offenses +( + id bigint not null auto_increment, + manager_id int, + charid int, + accountid int, + msg text, + type varchar(255), + issuedate datetime, + issuer_char_id int, + primary key (id), + foreign key (manager_id) references offense_managers (id) on delete cascade +); + +create table monster_collections +( + id int not null auto_increment, + primary key (id) +); + +create table users +( + id int not null auto_increment, + banExpireDate datetime, + banReason varchar(255), + offensemanager int, + votepoints int default 0, + reserveVotePoints int default 0, + donationpoints int default 0, + reserveDonationPoints int default 0, + maplePoints int default 0, + nxPrepaid int default 0, + name varchar(255), + password varchar(255), + pic varchar(255), + mac varchar(255), + accounttype int default 0, + age int default 0, + vipgrade int default 0, + nblockreason int default 0, + gender tinyint default 0, + msg2 tinyint default 0, + purchaseexp tinyint default 0, + pblockreason tinyint default 3, + chatunblockdate bigint default 0, + hascensorednxloginid boolean default 0, + gradecode tinyint default 0, + censorednxloginid varchar(255), + characterslots int default 4, + creationdate datetime, + email varchar(255), + registerip varchar(255), + primary key (id), + foreign key (offensemanager) references offense_managers (id) +); + +create table accounts +( + id int not null auto_increment, + worldid int, + userid int, + trunkid int, + nxCredit int default 0, + friendshipPoints int default 0, + dojopoints int default 0, + shipLevel int default 0, + shipExp int default 0, + monstercollectionid int, + employeetrunkid int, + unionid int, + primary key (id), + foreign key (userid) references users (id) on delete cascade, + foreign key (trunkid) references trunks (id), + foreign key (monstercollectionid) references monster_collections (id), + secondaryPendantEndDate datetime(3) +); + +create table eventscooltimes ( + id int not null auto_increment, + accid int, + eventType int, + amountDone int, + nextresettime bigint, + primary key (id), + foreign key (accid) references accounts(id) +); + +create table sdc ( + id int not null auto_increment, + accountid int, + sdcType int, + timesCompleted int, + collected int, + primary key (id), + foreign key (accountid) references accounts(id) on delete cascade +); + + +create table characters +( + id int not null auto_increment, + accid int, + userid int, + avatardata int, + faceinventory int, + hairinventory int, + equippedinventory int, + equipinventory int, + consumeinventory int, + etcinventory int, + installinventory int, + cashinventory int, + funckeymap_id int, + fieldid int, + questmanager bigint, + guild int, + rewardPoints int, + monsterbook int, + partyid int, + monsterparkcount tinyint default 0, + previousFieldID bigint, + quickslotKeys varchar(255), # inlined array + location int, + runeStoneCooldown bigint default 0, + primary key (id), + foreign key (accid) references accounts (id) on delete cascade, + foreign key (avatardata) references avatardata (id), + foreign key (faceinventory) references inventories(id), + foreign key (hairinventory) references inventories(id), + foreign key (equippedinventory) references inventories (id), + foreign key (equipinventory) references inventories (id), + foreign key (consumeinventory) references inventories (id), + foreign key (etcinventory) references inventories (id), + foreign key (installinventory) references inventories (id), + foreign key (cashinventory) references inventories (id), + foreign key (funckeymap_id) references funckeymap (id), + foreign key (questmanager) references questmanagers (id), + foreign key (monsterbook) references monsterbookinfos (id) +); + +create table achievements ( + id int not null auto_increment, + accountid int, + ord int, + achid int, + primary key (id), + foreign key (accountid) references accounts(id) +); + +create table ignoreddrops ( + id bigint not null auto_increment, + charid int, + ord int, + itemid int, + primary key (id), + foreign key (charid) references characters(id) on delete cascade +); + +create table dailychallenge ( + id int not null auto_increment, + charid int, + sdcid int, + timesUsed int, + primary key (id), + foreign key (charid) references characters(id) on delete cascade +); + +create table familiars ( + id bigint not null auto_increment, + charid int, + idk1 int, + familiarid int, + name varchar(13), + idk2 boolean, + idk3 smallint, + fatigue int, + idk4 bigint, + idk5 bigint, + expiration datetime(3), + vitality smallint, + primary key (id), + foreign key (charid) references characters(id) on delete cascade +); + +create table stolenskills +( + id int not null auto_increment, + charid int, + skillid int, + position int, + currentlv tinyint, + primary key (id), + foreign key (charid) references characters (id) on delete cascade +); + +create table chosenskills +( + id int not null auto_increment, + charid int, + skillid int, + position int, + primary key (id), + foreign key (charid) references characters (id) on delete cascade +); + +create table skillcooltimes +( + id int not null auto_increment, + charid int, + skillid int, + nextusabletime bigint, + primary key (id), + foreign key (charid) references characters (id) on delete cascade +); + +create table bosscooldowns +( + id int not null auto_increment, + accid int, + boss varchar(255), + nextentrytime datetime, + primary key (id), + foreign key (accid) references accounts (id) on delete cascade +); + +create table hyperrockfields +( + id bigint not null auto_increment, + charid int, + ord int, + fieldid int, + primary key (id), + foreign key (charid) references characters (id) on delete cascade +); + +create table towerchairs +( + id bigint not null auto_increment, + charid int, + ord int, + chairid int, + primary key (id), + foreign key (charid) references characters (id) on delete cascade +); + +create table characterpotentials +( + id bigint not null auto_increment, + potkey tinyint, + skillid int, + slv int, + grade tinyint, + charid int, + primary key (id), + foreign key (charid) references characters (id) on delete cascade +); + +create table guildskill +( + id int not null auto_increment, + skillid int, + level int, + expiredate datetime, + buycharactername varchar(255), + extendcharactername varchar(255), + primary key (id) +); + +create table guildskills +( + guildskill_id int not null auto_increment, + skills_id int, + guild_id int, + skillid int, + fk_guildskillid int, + primary key (guildskill_id), + foreign key (guild_id) references guilds (id) on delete cascade, + foreign key (fk_guildskillid) references guildskill (id) on delete cascade +); + +create table guildmembers +( + id int not null auto_increment, + charid int, + guildid int, + grade int, + alliancegrade int, + commitment int, + daycommitment int, + igp int, + commitmentinctime datetime, + name varchar(255), + job int, + level int, + loggedin boolean, + primary key (id), + foreign key (guildid) references guilds (id) on delete cascade +); + +drop table if exists guildrequestors; +create table guildrequestors +( + id int not null auto_increment, + charid int, + guildid int, + name varchar(255), + job int, + level int, + loggedin boolean, + primary key (id), + foreign key (guildid) references guilds (id) on delete cascade +); + +create table gradenames +( + id int not null auto_increment, + gradename varchar(255), + guildid int, + primary key (id), + foreign key (guildid) references guilds (id) on delete cascade +); + + +create table skills +( + id int not null auto_increment, + charid int, + skillid int, + rootid int, + maxlevel int, + currentlevel int, + masterlevel int, + primary key (id), + foreign key (charid) references characters (id) on delete cascade +); + +create table macros +( + id bigint not null auto_increment, + charid int, + muted boolean, + name varchar(255), + primary key (id), + foreign key (charid) references characters (id) on delete cascade +); + +create table macroskills +( + id bigint not null auto_increment, + ordercol int, + skillid int, + macroid bigint, + primary key (id), + foreign key (macroid) references macros (id) on delete cascade +); + + +create table monster_collection_mobs +( + id int not null auto_increment, + collectionid int, + mobid int, + primary key (id) +); + +create table monster_collection_explorations +( + id bigint not null auto_increment, + collectionid int, + collectionkey int, + monsterkey varchar(255), + endDate datetime, + position int, + primary key (id) +); + +create table monster_collection_rewards +( + region int, + session int, + groupid int, + collectionid int, + primary key (region, session, groupid) +); + + + +create table linkskills +( + id bigint not null auto_increment, + accid int, + linkskillid int, + level int, + originid int, + usingid int, + primary key (id), + foreign key (accid) references accounts (id) on delete cascade +); + +create table matrix_records +( + id bigint not null auto_increment, + iconid int, + skillid1 int, + skillid2 int, + skillid3 int, + slv int, + maxLevel int, + `row` int, + exp int, + crc bigint, + expiredate datetime, + active boolean, + charid int, + position int, + primary key (id), + foreign key (charid) references characters (id) on delete cascade +); + +create table damageskinsavedatas +( + id bigint not null auto_increment, + damageskinid int, + itemid int, + notsave boolean, + description varchar(255), + accid int, + primary key (id), + foreign key (accid) references accounts (id) on delete cascade +); + +create table friends +( + id int not null auto_increment, + ownerid int, + owneraccid int, + friendid int, + friendaccountid int, + name varchar(255), + flag tinyint, + groupname varchar(255), + mobile tinyint, + nickname varchar(255), + memo varchar(255), + primary key (id) +); + +create table unions +( + id bigint not null auto_increment, + unionCoin int, + unionRank int, + presets int, + primary key (id) +); + +create table unionboards +( + id bigint not null auto_increment, + unionid bigint, + unionpower int, + uniondamage bigint, + synergyGrid text, + primary key (id), + foreign key (unionid) references unions (id) on delete cascade +); + +create table unionmembers +( + id bigint not null auto_increment, + unionboardid bigint, + type int, + charid int, + mobileName varchar(30), + gridpos int, + gridrotation int, + primary key (id), + foreign key (unionboardid) references unionboards (id) on delete cascade +); + +create table hottimerewards +( + id bigint not null auto_increment, + charid int, + starttime datetime, + endtime datetime, + rewardtype int, + itemid int, + quantity int, + maplepointamount int, + mesoamount int, + expamount int, + description varchar(255), + primary key (id), + foreign key (charid) references characters (id) on delete cascade +); \ No newline at end of file diff --git a/sql/10 - InitTables_shops.sql b/sql/10 - InitTables_shops.sql new file mode 100755 index 0000000..b8ab288 --- /dev/null +++ b/sql/10 - InitTables_shops.sql @@ -0,0 +1,6192 @@ +drop table if exists shopitems; + +create table shopitems ( + id bigint not null auto_increment, + shopid int, + itemid int, + price int, + tokenitemid int, + tokenprice int, + pointquestid int, + pointprice int, + starcoin int, + questexid int default 0, + questexkey varchar(255), + questexvalue int, + itemperiod int, + levellimited int, + showlevmin int, + showlevmax int, + questid int, + sellstart datetime, + sellend datetime, + tabindex int, + worldblock boolean default false, + potentialgrade int default 0, + buylimit int, + quantity smallint, + unitprice bigint, + maxperslot smallint, + discountperc int default 0, + primary key (id) +); + +insert into shopitems (shopid, itemid, buylimit, tabindex, itemperiod, price, tokenitemid, tokenprice, pointquestid, + pointprice, starcoin, levellimited, showlevmin, showlevmax, questid, questexkey, questexvalue, + quantity, unitprice, maxperslot) values + +# Shiro (9100018) +(9100018, 01212129, 2000000000, 0, 0, 0, 4310194, 35, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Shadow Warrior's Sword Ticket +(9100018, 2439822, 2000000000, 0, 0, 0, 4310194, 30, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Shadow Warrior's Tunic (M) Ticket +(9100018, 01232122, 2000000000, 0, 0, 0, 4310194, 30, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Genesis Desperado +(9100018, 2439824, 2000000000, 0, 0, 0, 4310194, 32, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Shadow Warrior's Veil Ticket +(9100018, 2439825, 2000000000, 0, 0, 0, 4310194, 28, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Flower Ribbon Headband Ticket +(9100018, 2439826, 2000000000, 0, 0, 0, 4310194, 28, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Cat Monster Hat Ticket +(9100018, 2439827, 2000000000, 0, 0, 0, 4310194, 40, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Cat Monster Outfit Ticket +(9100018, 2439828, 2000000000, 0, 0, 0, 4310194, 30, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Cat Balloon Cape Ticket +(9100018, 2439829, 2000000000, 0, 0, 0, 4310194, 35, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Seraphim Suit (M) Ticket +(9100018, 2439830, 2000000000, 0, 0, 0, 4310194, 35, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Umbral Cloak Ticket +(9100018, 2439831, 2000000000, 0, 0, 0, 4310194, 35, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Night Angel Wings Ticket +(9100018, 2439832, 2000000000, 0, 0, 0, 4310194, 35, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Heaven's Seraphim Ticket +(9100018, 2439833, 2000000000, 0, 0, 0, 4310194, 35, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dynamic Seraphim Ticket +(9100018, 2439834, 2000000000, 0, 0, 0, 4310194, 40, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Water Granos and Weapon Ticket +(9100018, 2439835, 2000000000, 0, 0, 0, 4310194, 35, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Nova Enchanter Staff Ticket +(9100018, 2439836, 2000000000, 0, 0, 0, 4310194, 40, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Magic Tome Weapon Ticket +(9100018, 2439837, 2000000000, 0, 0, 0, 4310194, 40, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Noble Lady's Black Fan Ticket +(9100018, 2630257, 2000000000, 0, 0, 0, 4310194, 35, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Seraphim Suit Fan (F) Ticket + +# Collector (9001212) +(9001212, 1004808, 1, 0, 0, 0, 4310218, 1500, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 0), # Arcane Umbra Knight Hat +(9001212, 1004809, 1, 0, 0, 0, 4310218, 1500, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 0), # Arcane Umbra Mage Hat +(9001212, 1004810, 1, 0, 0, 0, 4310218, 1500, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 0), # Arcane Umbra Archer Hat +(9001212, 1004811, 1, 0, 0, 0, 4310218, 1500, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 0), # Arcane Umbra Thief Hat +(9001212, 1004812, 1, 0, 0, 0, 4310218, 1500, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 0), # Arcane Umbra Pirate Hat +(9001212, 1053063, 1, 0, 0, 0, 4310218, 1500, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 0), # Arcane Umbra Knight Suit +(9001212, 1053064, 1, 0, 0, 0, 4310218, 1500, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 0), # Arcane Umbra Mage Suit +(9001212, 1053065, 1, 0, 0, 0, 4310218, 1500, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 0), # Arcane Umbra Archer Suit +(9001212, 1053066, 1, 0, 0, 0, 4310218, 1500, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 0), # Arcane Umbra Thief Suit +(9001212, 1053067, 1, 0, 0, 0, 4310218, 1500, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 0), # Arcane Umbra Pirate Suit +(9001212, 1073158, 1, 0, 0, 0, 4310218, 1500, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 0), # Arcane Umbra Knight Shoes +(9001212, 1073159, 1, 0, 0, 0, 4310218, 1500, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 0), # Arcane Umbra Mage Shoes +(9001212, 1073160, 1, 0, 0, 0, 4310218, 1500, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 0), # Arcane Umbra Archer Shoes +(9001212, 1073161, 1, 0, 0, 0, 4310218, 1500, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 0), # Arcane Umbra Thief Shoes +(9001212, 1073162, 1, 0, 0, 0, 4310218, 1500, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 0), # Arcane Umbra Pirate Shoes +(9001212, 1082695, 1, 0, 0, 0, 4310218, 1500, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 0), # Arcane Umbra Knight Gloves +(9001212, 1082696, 1, 0, 0, 0, 4310218, 1500, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 0), # Arcane Umbra Mage Gloves +(9001212, 1082697, 1, 0, 0, 0, 4310218, 1500, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 0), # Arcane Umbra Archer Gloves +(9001212, 1082698, 1, 0, 0, 0, 4310218, 1500, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 0), # Arcane Umbra Thief Gloves +(9001212, 1082699, 1, 0, 0, 0, 4310218, 1500, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 0), # Arcane Umbra Pirate Gloves +(9001212, 1102940, 1, 0, 0, 0, 4310218, 1500, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 0), # Arcane Umbra Knight Cape +(9001212, 1102941, 1, 0, 0, 0, 4310218, 1500, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 0), # Arcane Umbra Mage Cape +(9001212, 1102942, 1, 0, 0, 0, 4310218, 1500, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 0), # Arcane Umbra Archer Cape +(9001212, 1102943, 1, 0, 0, 0, 4310218, 1500, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 0), # Arcane Umbra Thief Cape +(9001212, 1102944, 1, 0, 0, 0, 4310218, 1500, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 0), # Arcane Umbra Pirate Cape +(9001212, 1152196, 1, 0, 0, 0, 4310218, 1500, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 0), # Arcane Umbra Knight Shoulder +(9001212, 1152197, 1, 0, 0, 0, 4310218, 1500, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 0), # Arcane Umbra Mage Shoulder +(9001212, 1152198, 1, 0, 0, 0, 4310218, 1500, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 0), # Arcane Umbra Archer Shoulder +(9001212, 1152199, 1, 0, 0, 0, 4310218, 1500, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 0), # Arcane Umbra Thief Shoulder +(9001212, 1152200, 1, 0, 0, 0, 4310218, 1500, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 0), # Arcane Umbra Pirate Shoulder +(9001212, 1212120, 1, 0, 0, 0, 4310249, 2500, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 0), # Arcane Umbra Shining Rod +(9001212, 1222113, 1, 0, 0, 0, 4310249, 2500, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 0), # Arcane Umbra Soul Shooter +(9001212, 1232113, 1, 0, 0, 0, 4310249, 2500, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 0), # Arcane Umbra Desperado +(9001212, 1242121, 1, 0, 0, 0, 4310249, 2500, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 0), # Arcane Umbra Energy Chain +(9001212, 1242122, 1, 0, 0, 0, 4310249, 2500, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 0), # Arcane Umbra Energy Chain +(9001212, 1252098, 1, 0, 0, 0, 4310249, 2500, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 1), # Arcane Umbra Scepter +(9001212, 1262039, 1, 0, 0, 0, 4310249, 2500, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 1), # Arcane Umbra Psy-limiter +(9001212, 1272017, 1, 0, 0, 0, 4310249, 2500, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 1), # Arcane Umbra Chain +(9001212, 1282017, 1, 0, 0, 0, 4310249, 2500, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 1), # Arcane Umbra Lucent Gauntlet +(9001212, 1302343, 1, 0, 0, 0, 4310249, 2500, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 1), # Arcane Umbra Saber +(9001212, 1312203, 1, 0, 0, 0, 4310249, 2500, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 1), # Arcane Umbra Axe +(9001212, 1322255, 1, 0, 0, 0, 4310249, 2500, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 1), # Arcane Umbra Hammer +(9001212, 1332279, 1, 0, 0, 0, 4310249, 2500, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 1), # Arcane Umbra Dagger +(9001212, 1342104, 1, 0, 0, 0, 4310249, 2500, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 1), # Arcane Umbra Katara +(9001212, 1362140, 1, 0, 0, 0, 4310249, 2500, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 1), # Arcane Umbra Cane +(9001212, 1372228, 1, 0, 0, 0, 4310249, 2500, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 1), # Arcane Umbra Wand +(9001212, 1382265, 1, 0, 0, 0, 4310249, 2500, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 1), # Arcane Umbra Staff +(9001212, 1402259, 1, 0, 0, 0, 4310249, 2500, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 1), # Arcane Umbra Two-handed Sword +(9001212, 1412181, 1, 0, 0, 0, 4310249, 2500, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 1), # Arcane Umbra Two-Handed Axe +(9001212, 1422189, 1, 0, 0, 0, 4310249, 2500, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 1), # Arcane Umbra Two-Handed Hammer +(9001212, 1432218, 1, 0, 0, 0, 4310249, 2500, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Arcane Umbra Spear +(9001212, 1442274, 1, 0, 0, 0, 4310249, 2500, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Arcane Umbra Polearm +(9001212, 1452257, 1, 0, 0, 0, 4310249, 2500, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Arcane Umbra Bow +(9001212, 1462243, 1, 0, 0, 0, 4310249, 2500, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Arcane Umbra Crossbow +(9001212, 1472265, 1, 0, 0, 0, 4310249, 2500, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Arcane Umbra Guards +(9001212, 1482221, 1, 0, 0, 0, 4310249, 2500, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Arcane Umbra Knuckle +(9001212, 1492235, 1, 0, 0, 0, 4310249, 2500, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Arcane Umbra Pistol +(9001212, 1522143, 1, 0, 0, 0, 4310249, 2500, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Arcane Umbra Dual Bowguns +(9001212, 1532150, 1, 0, 0, 0, 4310249, 2500, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Arcane Umbra Siege Gun +(9001212, 1542117, 1, 0, 0, 0, 4310249, 2500, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Arcane Umbra Katana +(9001212, 1552119, 1, 0, 0, 0, 4310249, 2500, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Arcane Umbra Fan +(9001212, 1582023, 1, 0, 0, 0, 4310249, 2500, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Arcane Umbra Ellaha +(9001212, 1592020, 1, 0, 0, 0, 4310249, 2500, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Arcane Umbra Ancient Bow +(9001212, 1113072, 1, 0, 0, 0, 4310097, 200, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Cracked Gollux Ring +(9001212, 1113073, 1, 0, 0, 0, 4310097, 400, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Solid Gollux Ring +(9001212, 1113074, 1, 0, 0, 0, 4310097, 900, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Reinforced Gollux Ring +(9001212, 1113075, 1, 0, 0, 0, 4310097, 1500, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Superior Gollux Ring +(9001212, 1032220, 1, 0, 0, 0, 4310097, 200, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Cracked Gollux Earrings +(9001212, 1032221, 1, 0, 0, 0, 4310097, 400, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Solid Gollux Earrings +(9001212, 1032222, 1, 0, 0, 0, 4310097, 900, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Reinforced Gollux Earrings +(9001212, 1032223, 1, 0, 0, 0, 4310097, 1100, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Superior Gollux Earrings +(9001212, 1122264, 1, 0, 0, 0, 4310097, 200, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Cracked Engraved Gollux Pendant +(9001212, 1122265, 1, 0, 0, 0, 4310097, 400, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Solid Engraved Gollux Pendant +(9001212, 1122266, 1, 0, 0, 0, 4310097, 900, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Reinforced Engraved Gollux Pendant +(9001212, 1122267, 1, 0, 0, 0, 4310097, 1500, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Superior Engraved Gollux Pendant +(9001212, 1132243, 1, 0, 0, 0, 4310097, 300, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Cracked Engraved Gollux Belt +(9001212, 1132244, 1, 0, 0, 0, 4310097, 400, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Solid Engraved Gollux Belt +(9001212, 1132245, 1, 0, 0, 0, 4310097, 900, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Reinforced Engraved Gollux Belt +(9001212, 1132246, 1, 0, 0, 0, 4310097, 1500, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Superior Engraved Gollux Belt +(9001212, 1022231, 1, 0, 0, 0, 4310210, 200, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Aquatic Letter Eye Accessory +(9001212, 1012478, 1, 0, 0, 0, 4310210, 200, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Condensed Power Crystal +(9001212, 1152124, 1, 0, 0, 0, 4310210, 300, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Tinkerer's Black Shoulder Accessory +(9001212, 1132215, 1, 0, 0, 0, 4310210, 300, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Tinkerer's Black Belt +(9001212, 2615001, 1, 0, 0, 0, 4310097, 100, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Advanced Gollux Scroll +(9001212, 4001832, 1, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9000), # Spell Trace +(9001212, 1004422, 1, 1, 0, 0, 04310156, 1000, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Knight Helm +(9001212, 1004423, 1, 1, 0, 0, 04310156, 1000, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Mage Crown +(9001212, 1004424, 1, 1, 0, 0, 04310156, 1000, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Archer Hood +(9001212, 1004425, 1, 1, 0, 0, 04310156, 1000, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Bandit Cap +(9001212, 1004426, 1, 1, 0, 0, 04310156, 1000, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Pirate Fedora +(9001212, 1052882, 1, 1, 0, 0, 04310156, 1000, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Knight Suit +(9001212, 1052887, 1, 1, 0, 0, 04310156, 1000, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Mage Suit +(9001212, 1052888, 1, 1, 0, 0, 04310156, 1000, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Archer Suit +(9001212, 1052889, 1, 1, 0, 0, 04310156, 1000, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Bandit Suit +(9001212, 1052890, 1, 1, 0, 0, 04310156, 1000, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Pirate Suit +(9001212, 1073030, 1, 1, 0, 0, 04310156, 1000, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Knight Shoes +(9001212, 1073032, 1, 1, 0, 0, 04310156, 1000, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Mage Shoes +(9001212, 1073033, 1, 1, 0, 0, 04310156, 1000, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Archer Shoes +(9001212, 1073034, 1, 1, 0, 0, 04310156, 1000, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Bandit Shoes +(9001212, 1073035, 1, 1, 0, 0, 04310156, 1000, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Pirate Shoes +(9001212, 1082636, 1, 1, 0, 0, 04310156, 1000, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Knight Gloves +(9001212, 1082637, 1, 1, 0, 0, 04310156, 1000, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Mage Gloves +(9001212, 1082638, 1, 1, 0, 0, 04310156, 1000, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Archer Gloves +(9001212, 1082639, 1, 1, 0, 0, 04310156, 1000, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Bandit Gloves +(9001212, 1082640, 1, 1, 0, 0, 04310156, 1000, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Pirate Gloves +(9001212, 1102775, 1, 1, 0, 0, 04310156, 1000, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Knight Cape +(9001212, 1102794, 1, 1, 0, 0, 04310156, 1000, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Mage Cape +(9001212, 1102795, 1, 1, 0, 0, 04310156, 1000, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Archer Cape +(9001212, 1102796, 1, 1, 0, 0, 04310156, 1000, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Bandit Cape +(9001212, 1102797, 1, 1, 0, 0, 04310156, 1000, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Pirate Cape +(9001212, 1152174, 1, 1, 0, 0, 04310156, 1000, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Knight Shoulder +(9001212, 1152176, 1, 1, 0, 0, 04310156, 1000, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Mage Shoulder +(9001212, 1152177, 1, 1, 0, 0, 04310156, 1000, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Archer Shoulder +(9001212, 1152178, 1, 1, 0, 0, 04310156, 1000, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Bandit Shoulder +(9001212, 1152179, 1, 1, 0, 0, 04310156, 1000, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Pirate Shoulder +(9001212, 1212115, 1, 1, 0, 0, 04310156, 1500, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Shining Rod +(9001212, 1222109, 1, 1, 0, 0, 04310156, 1500, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Soul Shooter +(9001212, 1232109, 1, 1, 0, 0, 04310156, 1500, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Desperado +(9001212, 1242116, 1, 1, 0, 0, 04310156, 1500, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Whip Blade +(9001212, 1242120, 1, 1, 0, 0, 04310156, 1500, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Whip Blade +(9001212, 1252093, 1, 1, 0, 0, 04310156, 1500, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Scepter +(9001212, 1262017, 1, 1, 0, 0, 04310156, 1500, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Psy-Limiter +(9001212, 1272016, 1, 1, 0, 0, 04310156, 1500, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Chain +(9001212, 1282016, 1, 1, 0, 0, 04310156, 1500, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Lucent Gauntlet +(9001212, 1302333, 1, 1, 0, 0, 04310156, 1500, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Saber +(9001212, 1312199, 1, 1, 0, 0, 04310156, 1500, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Axe +(9001212, 1322250, 1, 1, 0, 0, 04310156, 1500, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Bit Hammer +(9001212, 1332274, 1, 1, 0, 0, 04310156, 1500, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Blade Lord +(9001212, 1342101, 1, 1, 0, 0, 04310156, 1500, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Katara +(9001212, 1362135, 1, 1, 0, 0, 04310156, 1500, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Forked Cane +(9001212, 1372222, 1, 1, 0, 0, 04310156, 1500, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Spellsong Wand +(9001212, 1382259, 1, 1, 0, 0, 04310156, 1500, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Spellsong Staff +(9001212, 1402251, 1, 1, 0, 0, 04310156, 1500, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Broad Saber +(9001212, 1412177, 1, 1, 0, 0, 04310156, 1500, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Broad Axe +(9001212, 1422184, 1, 1, 0, 0, 04310156, 1500, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Broad Hammer +(9001212, 1432214, 1, 1, 0, 0, 04310156, 1500, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Piercing Spear +(9001212, 1442268, 1, 1, 0, 0, 04310156, 1500, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Hellslayer +(9001212, 1452252, 1, 1, 0, 0, 04310156, 1500, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Sureshot Bow +(9001212, 1462239, 1, 1, 0, 0, 04310156, 1500, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Crossbow +(9001212, 1472261, 1, 1, 0, 0, 04310156, 1500, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Revenge Guard +(9001212, 1482216, 1, 1, 0, 0, 04310156, 1500, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Blast Knuckle +(9001212, 1492231, 1, 1, 0, 0, 04310156, 1500, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Point Gun +(9001212, 1522138, 1, 1, 0, 0, 04310156, 1500, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Gual Bowguns +(9001212, 1532144, 1, 1, 0, 0, 04310156, 1500, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Blast Cannon +(9001212, 1542108, 1, 1, 0, 0, 04310156, 1500, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Katana +(9001212, 1552110, 1, 1, 0, 0, 04310156, 1500, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Summoner +(9001212, 1582017, 1, 1, 0, 0, 04310156, 1500, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Pile God +(9001212, 1592019, 1, 1, 0, 0, 04310156, 1500, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Ancient Bow +(9001212, 4310216, 1, 1, 0, 0, 04310156, 1500, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Essence +(9001212, 1012632, 1, 1, 0, 0, 04310156, 1500, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Berserked +(9001212, 1022278, 1, 1, 0, 0, 04310156, 1000, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Magic Eyepatch + +# Jimmy-Jack (9072201) +(9072201, 2001552, 1000000, 2, 0, 0, 4310069, 2, 0, 0, 0, 0, 999, 999, 0, '', 0, 1, 0, 3000), # Apple Pie +(9072201, 2001552, 1000000, 2, 0, 0, 4310069, 20, 0, 0, 0, 0, 999, 999, 0, '', 0, 10, 0, 3000), # Apple Pie +(9072201, 2001552, 1000000, 2, 0, 0, 4310069, 100, 0, 0, 0, 0, 999, 999, 0, '', 0, 50, 0, 3000), # Apple Pie +(9072201, 2001553, 1000000, 2, 0, 0, 4310069, 4, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Fairy Tears +(9072201, 2001553, 1000000, 2, 0, 0, 4310069, 20, 0, 0, 0, 0, 999, 999, 0, '', 0, 10, 0, 3000), # Fairy Tears +(9072201, 2001553, 1000000, 2, 0, 0, 4310069, 100, 0, 0, 0, 0, 999, 999, 0, '', 0, 50, 0, 3000), # Fairy Tears +(9072201, 2028202, 1000000, 2, 0, 0, 4310069, 30, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Pipsqueak Monster Metamorph Box +(9072201, 2028204, 1000000, 2, 0, 0, 4310069, 20, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Monster Life Box +(9072201, 4001832, 2000000000, 2, 0, 0, 4310069, 100, 0, 0, 0, 0, 0, 0, 0, '', 0, 100, 0, 9000), # Spell Trace +(9072201, 2028182, 1000, 1, 0, 0, 4310069, 20, 0, 0, 0, 0, 999, 999, 0, '', 0, 1, 0, 100), # Monster Life Lv. 80 Warrior Weapon Box +(9072201, 2028183, 1000, 1, 0, 0, 4310069, 20, 0, 0, 0, 0, 999, 999, 0, '', 0, 1, 0, 100), # Monster Life Lv. 80 Magician Weapon Box +(9072201, 2028184, 1000, 1, 0, 0, 4310069, 20, 0, 0, 0, 0, 999, 999, 0, '', 0, 1, 0, 100), # Monster Life Lv. 80 Bowman Weapon Box +(9072201, 2028185, 1000, 1, 0, 0, 4310069, 20, 0, 0, 0, 0, 999, 999, 0, '', 0, 1, 0, 100), # Monster Life Lv. 80 Thief Weapon Box +(9072201, 2028186, 1000, 1, 0, 0, 4310069, 20, 0, 0, 0, 0, 999, 999, 0, '', 0, 1, 0, 100), # Monster Life Lv. 80 Pirate Weapon Box +(9072201, 2028187, 1000, 1, 0, 0, 4310069, 30, 0, 0, 0, 0, 999, 999, 0, '', 0, 1, 0, 100), # Monster Life Lv. 100 Warrior Weapon Box +(9072201, 2028188, 1000, 1, 0, 0, 4310069, 30, 0, 0, 0, 0, 999, 999, 0, '', 0, 1, 0, 100), # Monster Life Lv. 100 Magician Weapon Box +(9072201, 2028189, 1000, 1, 0, 0, 4310069, 30, 0, 0, 0, 0, 999, 999, 0, '', 0, 1, 0, 100), # Monster Life Lv. 100 Bowman Weapon Box +(9072201, 2028190, 1000, 1, 0, 0, 4310069, 30, 0, 0, 0, 0, 999, 999, 0, '', 0, 1, 0, 100), # Monster Life Lv. 100 Thief Weapon Box +(9072201, 2028191, 1000, 1, 0, 0, 4310069, 30, 0, 0, 0, 0, 999, 999, 0, '', 0, 1, 0, 100), # Monster Life Lv. 100 Pirate Weapon Box +(9072201, 2431935, 1000000, 2, 0, 0, 4310069, 1000, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 5), # Mastery Book 20 +(9072201, 2431936, 1000000, 2, 0, 0, 4310069, 2000, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 5), # Mastery Book 30 +(9072201, 2436893, 1000000, 2, 0, 0, 4310069, 1000, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Monster Life Farm Reset Scroll + +# Neville (9072100) +(9072100, 1352200, 100000, 0, 0, 80000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Powers Medallion +(9072100, 1352201, 100000, 0, 0, 330000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Orders Medallion +(9072100, 1352202, 100000, 0, 0, 580000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Virtues Medallion +(9072100, 1352210, 100000, 0, 0, 80000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Holy Rosary +(9072100, 1352211, 100000, 0, 0, 330000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Divine Rosary +(9072100, 1352212, 100000, 0, 0, 580000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Sacred Rosary +(9072100, 1352220, 100000, 0, 0, 80000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Stark Chain +(9072100, 1352221, 100000, 0, 0, 330000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Chain +(9072100, 1352222, 100000, 0, 0, 580000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Berserk Chain +(9072100, 1352230, 100000, 0, 0, 80000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Rusty Book +(9072100, 1352231, 100000, 0, 0, 330000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Rusty Book +(9072100, 1352232, 100000, 0, 0, 580000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Rusty Book +(9072100, 1352240, 100000, 0, 0, 80000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Metallic Blue Book +(9072100, 1352241, 100000, 0, 0, 330000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Metallic Blue Book +(9072100, 1352242, 100000, 0, 0, 580000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Metallic Blue Book +(9072100, 1352250, 100000, 0, 0, 80000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # White Gold Book +(9072100, 1352251, 100000, 0, 0, 330000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # White Gold Book +(9072100, 1352252, 100000, 0, 0, 580000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # White Gold Book +(9072100, 1352260, 100000, 0, 0, 80000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Breezy Feather +(9072100, 1352261, 100000, 0, 0, 330000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Gusty Feather +(9072100, 1352262, 100000, 0, 0, 580000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blasted Feather +(9072100, 1352270, 100000, 0, 0, 80000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # One Shot +(9072100, 1352271, 100000, 0, 0, 330000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Sure Shot +(9072100, 1352272, 100000, 0, 0, 580000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # True Shot +(9072100, 1352280, 100000, 0, 0, 80000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Hidden Shadow +(9072100, 1352281, 100000, 0, 0, 330000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Vanishing Shadow +(9072100, 1352282, 100000, 0, 0, 580000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Slashing Shadow +(9072100, 1352290, 100000, 0, 0, 80000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # All Souls Charm +(9072100, 1352291, 100000, 0, 0, 330000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Evil Ender Charm +(9072100, 1352292, 100000, 0, 0, 580000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Death Sender Charm +(9072100, 1352900, 100000, 0, 0, 80000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Wrist Band +(9072100, 1352901, 100000, 0, 0, 330000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Wrist Guard +(9072100, 1352902, 100000, 0, 0, 580000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Wrist Armor +(9072100, 1352910, 100000, 0, 0, 80000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Eagle Eye +(9072100, 1352911, 100000, 0, 0, 330000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Hawkeye +(9072100, 1352912, 100000, 0, 0, 580000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Falcon Eye +(9072100, 1352920, 100000, 0, 0, 80000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Pin Fire Bomb +(9072100, 1352921, 100000, 0, 0, 330000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Rim Fire Bomb +(9072100, 1352922, 100000, 0, 0, 580000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Center Fire Bomb +(9072100, 1352930, 100000, 0, 0, 80000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Silver Beast Mass +(9072100, 1352931, 100000, 0, 0, 330000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Phoenix Mass +(9072100, 1352932, 100000, 0, 0, 580000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dragon Mass +(9072100, 1352940, 100000, 0, 0, 80000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dragon Master's Records +(9072100, 1352941, 100000, 0, 0, 330000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dragon Master's Research +(9072100, 1352942, 100000, 0, 0, 580000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dragon Master's Legacy +(9072100, 1352000, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Magic Arrows +(9072100, 1352001, 100000, 0, 0, 79000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Sharp Magic Arrows +(9072100, 1352002, 100000, 0, 0, 330000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Eternal Magic Arrows +(9072100, 1352003, 100000, 0, 0, 580000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Infinite Magic Arrows +(9072100, 1352100, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Carte Magique +(9072100, 1352101, 100000, 0, 0, 79000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Carte Fantasmatique +(9072100, 1352102, 100000, 0, 0, 330000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Carte Magnifique +(9072100, 1352103, 100000, 0, 0, 580000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Carte Finale +(9072100, 1353100, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Fox Marble +(9072100, 1353101, 100000, 0, 0, 79000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Fox Marble +(9072100, 1353102, 100000, 0, 0, 330000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Fox Marble +(9072100, 1353103, 100000, 0, 0, 580000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Golden Fox Marble +(9072100, 1352400, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Light Orb +(9072100, 1352401, 100000, 0, 0, 79000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Shining Orb +(9072100, 1352402, 100000, 0, 0, 330000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Twinkling Orb +(9072100, 1352403, 100000, 0, 0, 580000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Karma Orb +(9072100, 1099004, 100000, 0, 0, 580000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Force Shield of Extremes +(9072100, 1099009, 100000, 0, 0, 580000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Force Shield of Extremes +(9072100, 1353400, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Rudimentary Charges +(9072100, 1353401, 100000, 0, 0, 79000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Standard Charges +(9072100, 1353402, 100000, 0, 0, 330000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # High Powered Charges +(9072100, 1353403, 100000, 0, 0, 580000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Masterwork Charges +(9072100, 1352950, 100000, 0, 0, 80000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Equalizer Ball +(9072100, 1352951, 100000, 0, 0, 330000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Energizer Ball +(9072100, 1352952, 100000, 0, 0, 580000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Maximizer Ball +(9072100, 1352960, 100000, 0, 0, 80000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Wild Beak +(9072100, 1352961, 100000, 0, 0, 330000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Wild Crow +(9072100, 1352962, 100000, 0, 0, 580000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Wild Heron +(9072100, 1353004, 100000, 0, 0, 580000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Octa Core Controller +(9072100, 1352703, 100000, 0, 0, 580000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Eternal Magnum +(9072100, 1098003, 100000, 0, 0, 580000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Soul Shield of Justice +(9072100, 1352970, 100000, 0, 0, 80000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Ereve Fragment +(9072100, 1352971, 100000, 0, 0, 330000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Ereve Idea +(9072100, 1352972, 100000, 0, 0, 580000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Ereve Brilliance +(9072100, 1352503, 100000, 0, 0, 580000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Nova Truth Essence +(9072100, 1353300, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Transmitter Type-D +(9072100, 1353301, 100000, 0, 0, 79000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Transmitter Type-C +(9072100, 1353302, 100000, 0, 0, 330000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Transmitter Type-B +(9072100, 1353303, 100000, 0, 0, 580000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Transmitter Type-A +(9072100, 1352604, 100000, 0, 0, 580000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Soul Ring +(9072100, 1353200, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Pawn Chess Piece +(9072100, 1353201, 100000, 0, 0, 79000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Knight Chess Piece +(9072100, 1353202, 100000, 0, 0, 330000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Rook Chess Piece +(9072100, 1353203, 100000, 0, 0, 580000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Queen Chess Piece +(9072100, 1353500, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Basic Lucent Wings +(9072100, 1353501, 100000, 0, 0, 79000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Core Lucent Wings +(9072100, 1353502, 100000, 0, 0, 330000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Holy Lucent Wings +(9072100, 1353503, 100000, 0, 0, 580000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Glory Lucent Wings +(9072100, 1353600, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Initial Path +(9072100, 1353601, 100000, 0, 0, 79000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Secondary Path +(9072100, 1353602, 100000, 0, 0, 330000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Advanced Path +(9072100, 1353603, 100000, 0, 0, 580000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Ultimate Path +(9072100, 1352800, 100, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # White Tiger Blade +(9072100, 1352801, 100, 0, 0, 79000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Dragon Blade +(9072100, 1352803, 100, 0, 0, 580000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Fire Phoenix Blade +(9072100, 1352810, 100, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Tiny Whisper +(9072100, 1352811, 100, 0, 0, 79000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Friend's Whisper +(9072100, 1352812, 100, 0, 0, 330000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Tutelary Whisper +(9072100, 1352813, 100, 0, 0, 580000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Mother Nature Whisper +(9072100, 1352820, 100, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Basic Fist +(9072100, 1352821, 100, 0, 0, 80000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Proxima Fist +(9072100, 1352822, 100, 0, 0, 330000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Sirius Fist +(9072100, 1352823, 100, 0, 0, 580000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Arcturus Fist + +# Neri the Fairy (2012003) +(2012003, 1252003, 100, 0, 0, 230000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Talon Scepter +(2012003, 1252004, 100, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Panther Scepter +(2012003, 1542053, 10000, 0, 0, 230000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Iron Savior +(2012003, 1542054, 10000, 0, 0, 320000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Death's Whisper +(2012003, 1552053, 10000, 0, 0, 230000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Fan of Enlightenment +(2012003, 1552054, 10000, 0, 0, 320000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Melodic Fan +(2012003, 1302010, 100000, 0, 0, 230000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Jeweled Katar +(2012003, 1302011, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Neocora +(2012003, 1312008, 100000, 0, 0, 230000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Buck +(2012003, 1312009, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Hawkhead +(2012003, 1322017, 100000, 0, 0, 230000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Knuckle Mace +(2012003, 1322018, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Tamus +(2012003, 1332003, 100000, 0, 0, 230000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Shinkita +(2012003, 1332016, 100000, 0, 0, 230000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Sai +(2012003, 1332015, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Deadly Fin +(2012003, 1332017, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Serpent's Coil +(2012003, 1342003, 100000, 0, 0, 230000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Majestic Katara +(2012003, 1342004, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Ascalon Katara +(2012003, 1362008, 100000, 0, 0, 230000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Oriental Royal Cane +(2012003, 1362009, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bijou Canne +(2012003, 1372007, 100000, 0, 0, 230000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Cromi +(2012003, 1372014, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Evil Tale +(2012003, 1382001, 100000, 0, 0, 230000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Arc Staff +(2012003, 1382006, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Thorns +(2012003, 1402003, 100000, 0, 0, 230000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Lion's Fang +(2012003, 1402011, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Sparta +(2012003, 1412003, 100000, 0, 0, 230000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # The Rising +(2012003, 1412007, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # The Shining +(2012003, 1422005, 100000, 0, 0, 230000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Golden Mole +(2012003, 1422009, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # The Blessing +(2012003, 1432004, 100000, 0, 0, 230000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Serpent's Tongue +(2012003, 1432006, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Holy Spear +(2012003, 1442005, 100000, 0, 0, 230000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # The Nine Dragons +(2012003, 1442010, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Skylar +(2012003, 1452008, 100000, 0, 0, 230000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Olympus +(2012003, 1452004, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Asianic Bow +(2012003, 1462007, 100000, 0, 0, 230000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Rower +(2012003, 1462008, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Golden Crow +(2012003, 1472021, 100000, 0, 0, 230000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Slain +(2012003, 1472025, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Gigantic +(2012003, 1482007, 100000, 0, 0, 230000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Fury Claw +(2012003, 1482008, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Seraphims +(2012003, 1492007, 100000, 0, 0, 230000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Mr. Rasfelt +(2012003, 1492008, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Burning Hell +(2012003, 1522007, 100000, 0, 0, 230000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Judge & Jury +(2012003, 1522008, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Lunar Glory +(2012003, 1532007, 100000, 0, 0, 230000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dreadnought +(2012003, 1532008, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # The Bigshot +(2012003, 1212003, 100000, 0, 0, 230000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Decor +(2012003, 1212004, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Vallentier + +# Nuri the Fairy (2012004) +(2012004, 1002028, 100000, 0, 0, 120000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Silver Crusader Helm +(2012004, 1002216, 100000, 0, 0, 120000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Aqua Golden Circlet +(2012004, 1002212, 100000, 0, 0, 120000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Maro +(2012004, 1002207, 100000, 0, 0, 120000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Sonata +(2012004, 1002631, 100000, 0, 0, 120000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Leather Ocean Hat +(2012004, 1002084, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Oriental Helmet +(2012004, 1002243, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Seraphis +(2012004, 1002268, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Polyfeather Hat +(2012004, 1002247, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bronze Identity +(2012004, 1002634, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Purple Cast Linen +(2012004, 1040087, 100000, 0, 0, 96000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Shouldermail +(2012004, 1040088, 100000, 0, 0, 96000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Ocher Shouldermail +(2012004, 1040089, 100000, 0, 0, 96000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Umber Shouldermail +(2012004, 1040094, 100000, 0, 0, 96000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red China +(2012004, 1040095, 100000, 0, 0, 96000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue China +(2012004, 1040096, 100000, 0, 0, 96000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown China +(2012004, 1040097, 100000, 0, 0, 96000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green China +(2012004, 1041087, 100000, 0, 0, 96000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Shouldermail +(2012004, 1041088, 100000, 0, 0, 96000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Ivory Shouldermail +(2012004, 1041089, 100000, 0, 0, 96000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Shouldermail +(2012004, 1041077, 100000, 0, 0, 96000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Maroon Moon +(2012004, 1041078, 100000, 0, 0, 96000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Moon +(2012004, 1041079, 100000, 0, 0, 96000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Moon +(2012004, 1041080, 100000, 0, 0, 96000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Moon +(2012004, 1060076, 100000, 0, 0, 96000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Shouldermail Pants +(2012004, 1060077, 100000, 0, 0, 96000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Ocher Shouldermail Pants +(2012004, 1060078, 100000, 0, 0, 96000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Umber Shouldermail Pants +(2012004, 1060083, 100000, 0, 0, 96000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red China Pants +(2012004, 1060084, 100000, 0, 0, 96000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue China Pants +(2012004, 1060085, 100000, 0, 0, 96000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown China Pants +(2012004, 1060086, 100000, 0, 0, 96000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green China Pants +(2012004, 1061086, 100000, 0, 0, 96000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Shouldermail Pants +(2012004, 1061087, 100000, 0, 0, 96000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Ivory Shouldermail Pants +(2012004, 1061088, 100000, 0, 0, 96000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Shouldermail Pants +(2012004, 1061076, 100000, 0, 0, 96000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Maroon Moon Pants +(2012004, 1061077, 100000, 0, 0, 96000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Moon Pants +(2012004, 1061078, 100000, 0, 0, 96000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Moon Pants +(2012004, 1061079, 100000, 0, 0, 96000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Moon Pants +(2012004, 1040090, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Orientican +(2012004, 1040091, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Orientican +(2012004, 1040092, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Orientican +(2012004, 1040093, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Orientican +(2012004, 1040098, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Light Scorpio +(2012004, 1040099, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Ocher Scorpio +(2012004, 1040100, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Scorpio +(2012004, 1041091, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Ice Queen +(2012004, 1041092, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Ice Queen +(2012004, 1041093, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Ice Queen +(2012004, 1041094, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Light Mantis +(2012004, 1041095, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bloody Mantis +(2012004, 1041096, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Umber Mantis +(2012004, 1060079, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Orientican Pants +(2012004, 1060080, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Orientican Pants +(2012004, 1060081, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Orientican Pants +(2012004, 1060082, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Orientican Pants +(2012004, 1060087, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Light Scorpio Pants +(2012004, 1060088, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Ocher Scorpio Pants +(2012004, 1060089, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Scorpio Pants +(2012004, 1061090, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Ice Queen Skirt +(2012004, 1061091, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Ice Queen Skirt +(2012004, 1061092, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Ice Queen Skirt +(2012004, 1061093, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Light Mantis Pants +(2012004, 1061094, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bloody Mantis Pants +(2012004, 1061095, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Umber Mantis Pants +(2012004, 1050045, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Calas +(2012004, 1050046, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Calas +(2012004, 1050047, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Orange Calas +(2012004, 1050049, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Calas +(2012004, 1050048, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # White Calas +(2012004, 1050051, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red-Lined Kismet +(2012004, 1050052, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue-Lined Kismet +(2012004, 1051030, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Calaf +(2012004, 1051031, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # White Calaf +(2012004, 1051032, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Calaf +(2012004, 1051033, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Calaf +(2012004, 1051034, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Orange Calaf +(2012004, 1051037, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Lumati +(2012004, 1051038, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Lumati +(2012004, 1051039, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Lumati +(2012004, 1052116, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Plasteer +(2012004, 1050053, 100000, 0, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Anakamoon +(2012004, 1050054, 100000, 0, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Anakamoon +(2012004, 1050055, 100000, 0, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # White Anakamoon +(2012004, 1050056, 100000, 0, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Anakamoon +(2012004, 1050058, 100000, 0, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Orange Tai +(2012004, 1050059, 100000, 0, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Tai +(2012004, 1050060, 100000, 0, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Tai +(2012004, 1051044, 100000, 0, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Anakarune +(2012004, 1051045, 100000, 0, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Anakarune +(2012004, 1051046, 100000, 0, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # White Anakarune +(2012004, 1051047, 100000, 0, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Anakarune +(2012004, 1051041, 100000, 0, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Choro +(2012004, 1051042, 100000, 0, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Choro +(2012004, 1051043, 100000, 0, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Choro +(2012004, 1052119, 100000, 0, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Royal Barone +(2012004, 1072135, 100000, 0, 0, 120000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Gold Hildon Boots +(2012004, 1072143, 100000, 0, 0, 120000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Goldenwind Shoes +(2012004, 1072125, 100000, 0, 0, 120000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Purple Steel-Tip Boots +(2012004, 1072129, 100000, 0, 0, 120000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Goni Shoes +(2012004, 1072303, 100000, 0, 0, 120000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Double Boots +(2012004, 1072149, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blood Camel Boots +(2012004, 1072139, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Goldrunners +(2012004, 1072146, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Gore Boots +(2012004, 1072152, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Moss Boots +(2012004, 1072306, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Basile Boots +(2012004, 1082011, 100000, 0, 0, 120000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Gold Brist +(2012004, 1082082, 100000, 0, 0, 120000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Pennance +(2012004, 1082085, 100000, 0, 0, 120000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Willow +(2012004, 1082067, 100000, 0, 0, 120000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Moon Gloves +(2012004, 1082198, 100000, 0, 0, 120000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Royce +(2012004, 1082061, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Clench +(2012004, 1082088, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Manute +(2012004, 1082091, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Garner +(2012004, 1082094, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Gold Pow +(2012004, 1082201, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Schult + +# Pancho Sanza (9010107) +(9010107, 2023658, 1000000, 0, 14400, 0, 4310229, 10, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Legion's Might Lv. 1 +(9010107, 2023659, 1000000, 0, 14400, 0, 4310229, 20, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Legion's Might Lv. 2 +(9010107, 2023660, 1000000, 0, 14400, 0, 4310229, 30, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Legion's Might Lv. 3 +(9010107, 2450147, 1000000, 0, 14400, 0, 4310229, 30, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Legion's Expertise Lv. 1 +(9010107, 2450148, 1000000, 0, 14400, 0, 4310229, 50, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Legion's Expertise Lv. 2 +(9010107, 2450149, 1000000, 0, 14400, 0, 4310229, 70, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Legion's Expertise Lv. 3 +(9010107, 2023661, 1000000, 0, 14400, 0, 4310229, 30, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Legion's Luck Lv. 1 +(9010107, 2023662, 1000000, 0, 14400, 0, 4310229, 50, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Legion's Luck Lv. 2 +(9010107, 2023663, 1000000, 0, 14400, 0, 4310229, 70, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Legion's Luck Lv. 3 +(9010107, 2023664, 1000000, 0, 14400, 0, 4310229, 30, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Legion's Wealth Lv. 1 +(9010107, 2023665, 1000000, 0, 14400, 0, 4310229, 50, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Legion's Wealth Lv. 2 +(9010107, 2023666, 1000000, 0, 14400, 0, 4310229, 70, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Legion's Wealth Lv. 3 +(9010107, 2049018, 1000000, 0, 14400, 0, 4310229, 60, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Clean Slate Scroll 10% +(9010107, 2049710, 1000000, 0, 14400, 0, 4310229, 140, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Epic Potential Scroll 50% +(9010107, 2049509, 1000000, 0, 14400, 0, 4310229, 40, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Gold Potential Stamp +(9010107, 2710002, 1000000, 0, 14400, 0, 4310229, 140, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Master Craftsman's Cube +(9010107, 2436614, 1000000, 0, 14400, 0, 4310229, 30, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Basic Legion Meso Box +(9010107, 2436615, 1000000, 0, 14400, 0, 4310229, 50, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Intermediate Legion Meso Box +(9010107, 2436616, 1000000, 0, 14400, 0, 4310229, 70, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Advanced Legion Meso Box +(9010107, 2436617, 1000000, 0, 14400, 0, 4310229, 75, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Basic Legion Growth Potion +(9010107, 2436618, 1000000, 0, 14400, 0, 4310229, 110, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Intermediate Legion Growth Potion +(9010107, 2436619, 1000000, 0, 14400, 0, 4310229, 150, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Advanced Legion Growth Potion +(9010107, 2436884, 1000000, 0, 43200, 0, 4310229, 500, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Legion Preset Coupon +(9010107, 2048311, 1000000, 0, 14400, 0, 4310229, 200, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bonus Potential Scroll 50% +(9010107, 2535000, 1000000, 0, 10080, 0, 4310229, 300, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Arcane Catalyst +(9010107, 2048724, 1000000, 0, 14400, 0, 4310229, 100, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Powerful Rebirth Flame + +# Bronze (9110005) +(9110005, 2022024, 10000000, 0, 0, 2000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Takoyaki (Octopus Ball) +(9110005, 2022025, 10000000, 0, 0, 4200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Takoyaki (jumbo) +(9110005, 2022026, 10000000, 0, 0, 1800, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Yakisoba +(9110005, 2022027, 10000000, 0, 0, 3800, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Yakisoba (x2) +(9110005, 2022017, 10000000, 0, 0, 1100, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Ramen +(9110005, 2022018, 10000000, 0, 0, 1600, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Kinoko Ramen(roasted pork) +(9110005, 2022019, 10000000, 0, 0, 850, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Kinoko Ramen(pig head) +(9110005, 2022020, 10000000, 0, 0, 550, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Kinoko Ramen(salt) +(9110005, 2022014, 10000000, 0, 0, 650, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Dango +(9110005, 2022023, 10000000, 0, 0, 1350, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Tri-colored Dango +(9110005, 2022021, 10000000, 0, 0, 550, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Fish Cake(skewer) +(9110005, 2022022, 10000000, 0, 0, 1300, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Fish Cake(dish) + +# Qian Qian (9310030) +(9310030, 2000000, 1000000, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Red Potion +(9310030, 2000001, 1000000, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Orange Potion +(9310030, 2000002, 1000000, 0, 0, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # White Potion +(9310030, 2000003, 1000000, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Blue Potion +(9310030, 2000006, 1000000, 0, 0, 186, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Mana Elixir +(9310030, 2002000, 1000000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Dexterity Potion +(9310030, 2002001, 1000000, 0, 0, 400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Speed Potion +(9310030, 2002002, 1000000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Magic Potion +(9310030, 2002004, 1000000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Warrior Potion +(9310030, 2002005, 1000000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Sniper Potion +(9310030, 2010000, 1000000, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Apple +(9310030, 2010002, 1000000, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Egg +(9310030, 2010001, 1000000, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Meat +(9310030, 2010003, 1000000, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Orange +(9310030, 2010004, 1000000, 0, 0, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Lemon +(9310030, 2022003, 1000000, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Unagi +(9310030, 2022000, 1000000, 0, 0, 1155, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Pure Water +(9310030, 2001000, 1000000, 0, 0, 3200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Watermelon +(9310030, 2001001, 1000000, 0, 0, 2300, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Ice Cream Pop +(9310030, 2001002, 1000000, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Very Special Sundae +(9310030, 2020012, 1000000, 0, 0, 4500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Melting Cheese +(9310030, 2020013, 1000000, 0, 0, 5600, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Reindeer Milk +(9310030, 2020014, 1000000, 0, 0, 8100, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Sunrise Dew +(9310030, 2020015, 1000000, 0, 0, 10200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Sunset Dew +(9310030, 2050000, 100000, 0, 0, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Antidote +(9310030, 2050001, 100000, 0, 0, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Eyedrop +(9310030, 2050002, 100000, 0, 0, 300, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Tonic +(9310030, 2030000, 100000, 0, 0, 400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Return Scroll - Nearest Town +(9310030, 2060000, 9999999, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9999), # Arrow for Bow +(9310030, 2061000, 9999999, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9999), # Arrow for Crossbow +(9310030, 2060000, 9999999, 0, 0, 1400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 2000, 0, 9999), # Arrow for Bow +(9310030, 2061000, 9999999, 0, 0, 1400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 2000, 0, 9999), # Arrow for Crossbow + +# Jin Zhong Zhao (9310033) +(9310033, 1002084, 100, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Oriental Helmet +(9310033, 1002243, 100, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Seraphis +(9310033, 1002268, 100, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Polyfeather Hat +(9310033, 1002247, 100, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bronze Identity +(9310033, 1002634, 100, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Purple Cast Linen +(9310033, 1002030, 100, 0, 0, 158000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Silver Planet +(9310033, 1002254, 100, 0, 0, 158000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Infinium Circlet +(9310033, 1002289, 100, 0, 0, 158000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Patriot +(9310033, 1002285, 100, 0, 0, 158000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blood Nightfox +(9310033, 1002637, 100, 0, 0, 158000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Pirate's Bandana +(9310033, 1040090, 100, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Orientican +(9310033, 1040091, 100, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Orientican +(9310033, 1040092, 100, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Orientican +(9310033, 1040093, 100, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Orientican +(9310033, 1040098, 100, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Light Scorpio +(9310033, 1040099, 100, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Ocher Scorpio +(9310033, 1040100, 100, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Scorpio +(9310033, 1041091, 100, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Ice Queen +(9310033, 1041092, 100, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Ice Queen +(9310033, 1041093, 100, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Ice Queen +(9310033, 1041094, 100, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Light Mantis +(9310033, 1041095, 100, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bloody Mantis +(9310033, 1041096, 100, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Umber Mantis +(9310033, 1060079, 100, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Orientican Pants +(9310033, 1060080, 100, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Orientican Pants +(9310033, 1060081, 100, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Orientican Pants +(9310033, 1060082, 100, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Orientican Pants +(9310033, 1060087, 100, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Light Scorpio Pants +(9310033, 1060088, 100, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Ocher Scorpio Pants +(9310033, 1060089, 100, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Scorpio Pants +(9310033, 1061090, 100, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Ice Queen Skirt +(9310033, 1061091, 100, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Ice Queen Skirt +(9310033, 1061092, 100, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Ice Queen Skirt +(9310033, 1061093, 100, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Light Mantis Pants +(9310033, 1061094, 100, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bloody Mantis Pants +(9310033, 1061095, 100, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Umber Mantis Pants +(9310033, 1040102, 100, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bronze Platine +(9310033, 1040103, 100, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Mithril Platine +(9310033, 1040104, 100, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Orihalcon Platine +(9310033, 1040105, 100, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Studded Top +(9310033, 1040106, 100, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Studded Top +(9310033, 1040107, 100, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Studded Top +(9310033, 1041097, 100, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Aqua Platina +(9310033, 1041098, 100, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Violet Platina +(9310033, 1041099, 100, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bloody Platina +(9310033, 1041100, 100, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Purple Mystique +(9310033, 1041101, 100, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Mystique +(9310033, 1041102, 100, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Pink Mystique +(9310033, 1041103, 100, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Mystique +(9310033, 1060091, 100, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Mithril Platine Pants +(9310033, 1060092, 100, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Orihalcon Platine Pants +(9310033, 1060093, 100, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Studded Pants +(9310033, 1060094, 100, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Studded Pants +(9310033, 1060095, 100, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Studded Pants +(9310033, 1061096, 100, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Aqua Platina Pants +(9310033, 1061097, 100, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Violet Platina Pants +(9310033, 1061098, 100, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bloody Platina Pants +(9310033, 1061099, 100, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Purple Mystique Pants +(9310033, 1061100, 100, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Mystique Pants +(9310033, 1061101, 100, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Pink Mystique Pants +(9310033, 1061102, 100, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Mystique Pants +(9310033, 1050053, 100, 0, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Anakamoon +(9310033, 1050054, 100, 0, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Anakamoon +(9310033, 1050055, 100, 0, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # White Anakamoon +(9310033, 1050056, 100, 0, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Anakamoon +(9310033, 1050058, 100, 0, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Orange Tai +(9310033, 1050059, 100, 0, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Tai +(9310033, 1050060, 100, 0, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Tai +(9310033, 1051044, 100, 0, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Anakarune +(9310033, 1051045, 100, 0, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Anakarune +(9310033, 1051046, 100, 0, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # White Anakarune +(9310033, 1051047, 100, 0, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Anakarune +(9310033, 1051041, 100, 0, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Choro +(9310033, 1051042, 100, 0, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Choro +(9310033, 1051043, 100, 0, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Choro +(9310033, 1052119, 100, 0, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Royal Barone +(9310033, 1050067, 100, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Requiem +(9310033, 1050068, 100, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Requiem +(9310033, 1050069, 100, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Requiem +(9310033, 1050070, 100, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Requiem +(9310033, 1050061, 100, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Linnex +(9310033, 1050062, 100, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Beige Linnex +(9310033, 1050063, 100, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Linnex +(9310033, 1050064, 100, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Linnex +(9310033, 1051052, 100, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Requierre +(9310033, 1051053, 100, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Requierre +(9310033, 1051054, 100, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Requierre +(9310033, 1051055, 100, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Requierre +(9310033, 1051062, 100, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Lineros +(9310033, 1051063, 100, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Beige Lineros +(9310033, 1051064, 100, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Lineros +(9310033, 1051065, 100, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Lineros +(9310033, 1052122, 100, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Viska +(9310033, 1072149, 100, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blood Camel Boots +(9310033, 1072139, 100, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Goldrunners +(9310033, 1072146, 100, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Gore Boots +(9310033, 1072152, 100, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Moss Boots +(9310033, 1072306, 100, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Basile Boots +(9310033, 1072156, 100, 0, 0, 158000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Carzen Boots +(9310033, 1072160, 100, 0, 0, 158000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Gold Lapiz Sandals +(9310033, 1072167, 100, 0, 0, 158000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Elf Shoes +(9310033, 1072163, 100, 0, 0, 158000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Mystique Shoes +(9310033, 1072309, 100, 0, 0, 158000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Voyson Shoes +(9310033, 1082061, 100, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Clench +(9310033, 1082088, 100, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Manute +(9310033, 1082091, 100, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Garner +(9310033, 1082094, 100, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Gold Pow +(9310033, 1082201, 100, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Schult +(9310033, 1082105, 100, 0, 0, 158000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Husk +(9310033, 1082100, 100, 0, 0, 158000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Lorin +(9310033, 1082108, 100, 0, 0, 158000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Eyes +(9310033, 1082097, 100, 0, 0, 158000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Gold Rover +(9310033, 1082204, 100, 0, 0, 158000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Bisk + +# Xiapolang (9310038) +(9310038, 1252004, 100, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Panther Scepter +(9310038, 1252005, 100, 0, 0, 387000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Grizzly Scepter +(9310038, 1302011, 100, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Neocora +(9310038, 1302012, 100, 0, 0, 387000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Katana +(9310038, 1312009, 100, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Hawkhead +(9310038, 1312010, 100, 0, 0, 387000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Mikhail +(9310038, 1322018, 100, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Tamus +(9310038, 1322019, 100, 0, 0, 387000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # The Judgement +(9310038, 1332015, 100, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Deadly Fin +(9310038, 1332017, 100, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Serpent's Coil +(9310038, 1332018, 100, 0, 0, 387000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Kandine +(9310038, 1332019, 100, 0, 0, 387000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Golden River +(9310038, 1342004, 100, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Ascalon Katara +(9310038, 1342005, 100, 0, 0, 387000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Heavenly Katara +(9310038, 1362009, 100, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bijou Canne +(9310038, 1362010, 100, 0, 0, 387000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Regne +(9310038, 1372014, 100, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Evil Tale +(9310038, 1372015, 100, 0, 0, 387000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Angel Wings +(9310038, 1382006, 100, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Thorns +(9310038, 1382007, 100, 0, 0, 387000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Evil Wings +(9310038, 1402011, 100, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Sparta +(9310038, 1402012, 100, 0, 0, 387000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Doombringer +(9310038, 1412007, 100, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # The Shining +(9310038, 1412008, 100, 0, 0, 387000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Chrono +(9310038, 1422009, 100, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # The Blessing +(9310038, 1422010, 100, 0, 0, 387000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Gigantic Sledge +(9310038, 1432006, 100, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Holy Spear +(9310038, 1432007, 100, 0, 0, 387000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Redemption +(9310038, 1442010, 100, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Skylar +(9310038, 1442008, 100, 0, 0, 387000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # The Gold Dragon +(9310038, 1452004, 100, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Asianic Bow +(9310038, 1452009, 100, 0, 0, 387000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Hinkel +(9310038, 1462008, 100, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Golden Crow +(9310038, 1462009, 100, 0, 0, 387000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Gross Jaeger +(9310038, 1472025, 100, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Gigantic +(9310038, 1472029, 100, 0, 0, 387000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Scarab +(9310038, 1482008, 100, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Seraphims +(9310038, 1482009, 100, 0, 0, 387000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Beia Crash +(9310038, 1492008, 100, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Burning Hell +(9310038, 1492009, 100, 0, 0, 387000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Abyss Shooter +(9310038, 1522008, 100, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Lunar Glory +(9310038, 1522009, 100, 0, 0, 387000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Twin Zephyrs +(9310038, 1532008, 100, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # The Bigshot +(9310038, 1532009, 100, 0, 0, 387000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Infernalizer +(9310038, 1212004, 100, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Vallentier +(9310038, 1212005, 100, 0, 0, 387000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Sharp Slaver + +# Gali (1091002) +(1091002, 4170050, 100000000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1000), # Andersen's Key +(1091002, 2000000, 100000, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Red Potion +(1091002, 2000001, 100000, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Orange Potion +(1091002, 2000002, 100000, 0, 0, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # White Potion +(1091002, 2000003, 100000, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Blue Potion +(1091002, 2000006, 100000, 0, 0, 186, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Mana Elixir +(1091002, 2022000, 100000, 0, 0, 1096, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Pure Water +(1091002, 2002000, 100000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Dexterity Potion +(1091002, 2002001, 100000, 0, 0, 400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Speed Potion +(1091002, 2002002, 100000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Magic Potion +(1091002, 2002004, 100000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Warrior Potion +(1091002, 2002005, 100000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Sniper Potion +(1091002, 2010000, 100000, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Apple +(1091002, 2010002, 100000, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Egg +(1091002, 2010001, 100000, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Meat +(1091002, 2010003, 100000, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Orange +(1091002, 2010004, 100000, 0, 0, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Lemon +(1091002, 2020028, 100000, 0, 0, 2100, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Chocolate +(1091002, 2120000, 1000000000, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9000), # Pet Food +(1091002, 2030000, 100000, 0, 0, 400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Return Scroll - Nearest Town +(1091002, 2030019, 100000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Nautilus Return Scroll +(1091002, 2060000, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9999), # Arrow for Bow +(1091002, 2061000, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9999), # Arrow for Crossbow +(1091002, 2060000, 0, 0, 0, 1400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 2000, 0, 9999), # Arrow for Bow +(1091002, 2061000, 0, 0, 0, 1400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 2000, 0, 9999), # Arrow for Crossbow +(1091002, 2432805, 1000000, 0, 0, 50000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1000), # Appearance Reset Coupon + +# Morgan (1091000) +(1091000, 1492000, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Pistol +(1091000, 1492001, 100000, 0, 0, 6000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dellinger Special +(1091000, 1492002, 100000, 0, 0, 10000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # The Negotiator +(1091000, 1492003, 100000, 0, 0, 22000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Golden Hook +(1091000, 1492004, 100000, 0, 0, 40000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Cold Mind +(1091000, 1492005, 100000, 0, 0, 80000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Shooting Star +(1091000, 1492006, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Lunar Shooter +(1091000, 1532000, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Novice Cannon +(1091000, 1532001, 100000, 0, 0, 6000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Solid Cannon +(1091000, 1532002, 100000, 0, 0, 10000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Ironside +(1091000, 1532003, 100000, 0, 0, 22000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Steel Beast +(1091000, 1532004, 100000, 0, 0, 40000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Heavy Artillery +(1091000, 1532005, 100000, 0, 0, 80000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Titan Cannon +(1091000, 1532006, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Grand Cannon +(1091000, 1482000, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Steel Knuckler +(1091000, 1482001, 100000, 0, 0, 6000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Leather Arms +(1091000, 1482002, 100000, 0, 0, 10000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Double Tail Knuckler +(1091000, 1482003, 100000, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Norman Grip +(1091000, 1482004, 100000, 0, 0, 40000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Prime Hands +(1091000, 1482005, 100000, 0, 0, 80000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Silver Maiden +(1091000, 1482006, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Neozard +(1091000, 1442004, 100000, 0, 0, 24000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Janitor's Mop +(1091000, 1302007, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Long Sword +(1091000, 1322007, 100000, 0, 0, 6000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Leather Purse + +# Rodos (1091001) +(1091001, 1002610, 100000, 0, 0, 900, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Rocky Bandana +(1091001, 1002613, 100000, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Lagger Cap +(1091001, 1002616, 100000, 0, 0, 12000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Double Marine +(1091001, 1002619, 100000, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Pitz Bandana +(1091001, 1002622, 100000, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # White Oceania Cap +(1091001, 1002625, 100000, 0, 0, 66000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Den Marine +(1091001, 1002628, 100000, 0, 0, 92000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Misty +(1091001, 1052095, 100000, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Rocky Suit +(1091001, 1052098, 100000, 0, 0, 8000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Cotton Lagger +(1091001, 1052101, 100000, 0, 0, 16000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Beige Carribean +(1091001, 1052104, 100000, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Turk Gally +(1091001, 1052107, 100000, 0, 0, 60000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Pollard +(1091001, 1052110, 100000, 0, 0, 100000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Brace Look +(1091001, 1052113, 100000, 0, 0, 120000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Barbay +(1091001, 1072285, 100000, 0, 0, 5000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Lagger Slipper +(1091001, 1072288, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Skeedy Sandals +(1091001, 1072291, 100000, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Wooden Krag +(1091001, 1072294, 100000, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Paulie Boots +(1091001, 1072297, 100000, 0, 0, 66000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Locote Shoes +(1091001, 1072300, 100000, 0, 0, 92000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Leather Krag +(1091001, 1082180, 100000, 0, 0, 5000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Lagger Halfglove +(1091001, 1082183, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Leather Armor Gloves +(1091001, 1082186, 100000, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Hard Leather Gloves +(1091001, 1082189, 100000, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Yellow Tartis +(1091001, 1082192, 100000, 0, 0, 66000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Jeweled +(1091001, 1082195, 100000, 0, 0, 92000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Barbee + +# Maroon (3000021) +(3000021, 4170050, 1000000000, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1000 +), # Andersen's Key +(3000021, 2000000, 100000, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Red Potion +(3000021, 2000001, 100000, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Orange Potion +(3000021, 2000002, 100000, 0, 0, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # White Potion +(3000021, 2000003, 100000, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Blue Potion +(3000021, 2000006, 100000, 0, 0, 186, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Mana Elixir +(3000021, 2002000, 100000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Dexterity Potion +(3000021, 2002001, 100000, 0, 0, 400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Speed Potion +(3000021, 2002002, 100000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Magic Potion +(3000021, 2002004, 100000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Warrior Potion +(3000021, 2002005, 100000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Sniper Potion +(3000021, 2010000, 10000, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Apple +(3000021, 2010002, 10000, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Egg +(3000021, 2010001, 10000, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Meat +(3000021, 2010003, 10000, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Orange +(3000021, 2010004, 100000, 0, 0, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Lemon +(3000021, 2120000, 1000000000, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9000), # Pet Food +(3000021, 2030000, 100000, 0, 0, 400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Return Scroll - Nearest Town +(3000021, 2060000, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9999), # Arrow for Bow +(3000021, 2061000, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9999), # Arrow for Crossbow +(3000021, 2060000, 0, 0, 0, 1400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 2000, 0, 9999), # Arrow for Bow +(3000021, 2061000, 0, 0, 0, 1400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 2000, 0, 9999), # Arrow for Crossbow +(3000021, 2050000, 100000, 0, 0, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Antidote +(3000021, 2050001, 100000, 0, 0, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Eyedrop +(3000021, 2050002, 100000, 0, 0, 300, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Tonic +(3000021, 2432805, 1000000, 0, 0, 50000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1000), # Appearance Reset Coupon + +# Harpoon (3000020) +(3000020, 1190000, 1000000, 0, 0, 580000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Lesser Dragon Emblem +(3000020, 1190001, 1000000, 0, 0, 1010000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dragon Emblem +(3000020, 1190100, 1000000, 0, 0, 580000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Lesser Angel Emblem +(3000020, 1190101, 1000000, 0, 0, 1010000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Angel Emblem +(3000020, 1402001, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Wooden Sword +(3000020, 1402000, 100000, 0, 0, 10000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Two-Handed Sword +(3000020, 1402008, 100000, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Broadsword +(3000020, 1402002, 100000, 0, 0, 40000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Scimitar +(3000020, 1402006, 100000, 0, 0, 80000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Lionheart +(3000020, 1402007, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Zard +(3000020, 1222001, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Purple Haze +(3000020, 1222002, 100000, 0, 0, 40000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Pink Haze +(3000020, 1222003, 100000, 0, 0, 230000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Purple Hatchling +(3000020, 1222004, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Jade Hatchling +(3000020, 1222005, 100000, 0, 0, 387000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Pink Wormhead +(3000020, 1002043, 100000, 0, 0, 2400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bronze Coif +(3000020, 1002039, 100000, 0, 0, 2700, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bronze Helmet +(3000020, 1002051, 100000, 0, 0, 3500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bronze Full Helm +(3000020, 1002055, 100000, 0, 0, 10000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bronze Football Helmet +(3000020, 1002059, 100000, 0, 0, 10000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bronze Viking Helm +(3000020, 1002027, 100000, 0, 0, 11500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Steel Sharp Helm +(3000020, 1002005, 100000, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Iron Burgernet Helm +(3000020, 1002023, 100000, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Jousting Helmet +(3000020, 1002048, 100000, 0, 0, 66000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Great Blue Helmet +(3000020, 1002021, 100000, 0, 0, 92000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Steel Nordic Helm +(3000020, 1040015, 100000, 0, 0, 3200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Lolico Armor +(3000020, 1040038, 100000, 0, 0, 3200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Lolico Armor +(3000020, 1040009, 100000, 0, 0, 5500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Steel Corporal +(3000020, 1040037, 100000, 0, 0, 5500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Corporal +(3000020, 1040012, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Sergeant +(3000020, 1040039, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Sergeant +(3000020, 1040040, 100000, 0, 0, 16000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Silver Master Sergeant +(3000020, 1040016, 100000, 0, 0, 16000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Orihalcon Master Sergeant +(3000020, 1040041, 100000, 0, 0, 16000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Master Sergeant +(3000020, 1040021, 100000, 0, 0, 45000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Hwarang Shirt +(3000020, 1040026, 100000, 0, 0, 45000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Hwarang Shirt +(3000020, 1041014, 100000, 0, 0, 3200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Orange Lolica Armor +(3000020, 1041064, 100000, 0, 0, 3200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blueberry Lolica Armor +(3000020, 1041019, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Lamelle +(3000020, 1041020, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Lamelle +(3000020, 1041021, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Lamelle +(3000020, 1041022, 100000, 0, 0, 16000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Shark +(3000020, 1041023, 100000, 0, 0, 16000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Sky Shark +(3000020, 1041024, 100000, 0, 0, 16000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Shark +(3000020, 1050005, 100000, 0, 0, 15000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Kendo Robe +(3000020, 1050006, 100000, 0, 0, 15000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Kendo Robe +(3000020, 1050007, 100000, 0, 0, 15000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # White Kendo Robe +(3000020, 1050011, 100000, 0, 0, 70000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Dragon Robe +(3000020, 1051000, 100000, 0, 0, 8000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Steel Fitted Mail +(3000020, 1051010, 100000, 0, 0, 60000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Engrit +(3000020, 1051011, 100000, 0, 0, 60000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Engrit +(3000020, 1051012, 100000, 0, 0, 60000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Engrit +(3000020, 1051013, 100000, 0, 0, 60000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Yellow Engrit +(3000020, 1040000, 100000, 0, 0, 81000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Yellow Jangoon Armor +(3000020, 1040085, 100000, 0, 0, 81000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Maroon Jangoon Armor +(3000020, 1041084, 100000, 0, 0, 81000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Jangoon Armor +(3000020, 1041085, 100000, 0, 0, 81000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Jangoon Armor +(3000020, 1050000, 100000, 0, 0, 100000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # White Crusader Chainmail +(3000020, 1050021, 100000, 0, 0, 100000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Crusader Chainmail +(3000020, 1051001, 100000, 0, 0, 100000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Emerald Fitted Mail +(3000020, 1051014, 100000, 0, 0, 100000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Sapphire Fitted Mail +(3000020, 1060075, 100000, 0, 0, 81000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Jangoon Pants +(3000020, 1060074, 100000, 0, 0, 81000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # White Jangoon Pants +(3000020, 1061083, 100000, 0, 0, 81000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Jangoon Skirt +(3000020, 1061084, 100000, 0, 0, 81000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Jangoon Skirt +(3000020, 1060008, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Lolico Pants +(3000020, 1060028, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Lolico Pants +(3000020, 1060009, 100000, 0, 0, 5000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Steel Corporal Pants +(3000020, 1060027, 100000, 0, 0, 5000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Corporal Pants +(3000020, 1060010, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Steel Sergeant Kilt +(3000020, 1060029, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Sergeant Kilt +(3000020, 1060011, 100000, 0, 0, 14000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Orihalcon Master Sergeant Kilt +(3000020, 1060030, 100000, 0, 0, 14000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Master Sergeant Kilt +(3000020, 1060060, 100000, 0, 0, 14000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Silver Master Sergeant Kilt +(3000020, 1060016, 100000, 0, 0, 45000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Martial Arts Pants +(3000020, 1060017, 100000, 0, 0, 45000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # White Martial Arts Pants +(3000020, 1060018, 100000, 0, 0, 45000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Martial Arts Pants +(3000020, 1060019, 100000, 0, 0, 45000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Martial Arts Pants +(3000020, 1061014, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Rookie Pants +(3000020, 1061023, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Sophia Pants +(3000020, 1061016, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Ramel Skirt +(3000020, 1061017, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Ramel Skirt +(3000020, 1061018, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Ramel Skirt +(3000020, 1061015, 100000, 0, 0, 14000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Shark Skirt +(3000020, 1061019, 100000, 0, 0, 14000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Sky Shark Skirt +(3000020, 1061020, 100000, 0, 0, 14000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Shark Skirt +(3000020, 1072009, 100000, 0, 0, 5000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Steel Greaves +(3000020, 1072050, 100000, 0, 0, 5000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bronze Greaves +(3000020, 1072007, 100000, 0, 0, 10000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown High Boots +(3000020, 1072046, 100000, 0, 0, 10000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Orange High Boots +(3000020, 1072047, 100000, 0, 0, 10000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue High Boots +(3000020, 1072011, 100000, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Mithril War Boots +(3000020, 1072051, 100000, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Silver War Boots +(3000020, 1072052, 100000, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark War Boots +(3000020, 1072053, 100000, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Gold War Boots +(3000020, 1072039, 100000, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Mithril Battle Greaves +(3000020, 1072040, 100000, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Silver Battle Greaves +(3000020, 1072041, 100000, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blood Battle Greaves +(3000020, 1072112, 100000, 0, 0, 66000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Mithril Trigger +(3000020, 1072113, 100000, 0, 0, 66000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Trigger +(3000020, 1072126, 100000, 0, 0, 92000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Maroon Jangoon Shoes +(3000020, 1072127, 100000, 0, 0, 92000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Jangoon Shoes +(3000020, 1082003, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Juno +(3000020, 1082000, 100000, 0, 0, 5000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Steel Fingerless Gloves +(3000020, 1082004, 100000, 0, 0, 10000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Venon +(3000020, 1082001, 100000, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # White Fingerless Gloves +(3000020, 1082006, 100000, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Orihalcon Missel +(3000020, 1082036, 100000, 0, 0, 66000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Briggon +(3000020, 1082025, 100000, 0, 0, 92000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Knuckle + +# Puno (1200001) +(1200001, 1442000, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Polearm +(1200001, 1442006, 100000, 0, 0, 8000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Iron Ball +(1200001, 1442007, 100000, 0, 0, 12000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Studded Polearm +(1200001, 1040002, 100000, 0, 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # White Undershirt +(1200001, 1040006, 100000, 0, 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Undershirt +(1200001, 1040010, 100000, 0, 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Grey T-Shirt +(1200001, 1041002, 100000, 0, 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # White Tubetop +(1200001, 1041006, 100000, 0, 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Yellow T-Shirt +(1200001, 1041010, 100000, 0, 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green T-Shirt +(1200001, 1041011, 100000, 0, 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red-Striped Top +(1200001, 1060002, 100000, 0, 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Jean Shorts +(1200001, 1060006, 100000, 0, 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Cotton Shorts +(1200001, 1061002, 100000, 0, 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Miniskirt +(1200001, 1061008, 100000, 0, 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Indigo Miniskirt +(1200001, 1072001, 100000, 0, 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Rubber Boots +(1200001, 1072005, 100000, 0, 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Leather Sandals + +# Puri Puri (1200002) +(1200002, 4170050, 100000000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1000), # Andersen's Key +(1200002, 2000000, 100000, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Red Potion +(1200002, 2000001, 100000, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Orange Potion +(1200002, 2000002, 100000, 0, 0, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # White Potion +(1200002, 2000003, 100000, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Blue Potion +(1200002, 2000006, 100000, 0, 0, 186, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Mana Elixir +(1200002, 2002000, 100000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Dexterity Potion +(1200002, 2002001, 100000, 0, 0, 400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Speed Potion +(1200002, 2002002, 100000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Magic Potion +(1200002, 2002004, 100000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Warrior Potion +(1200002, 2002005, 100000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Sniper Potion +(1200002, 2010000, 1000, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Apple +(1200002, 2010002, 1000, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Egg +(1200002, 2010001, 1000, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Meat +(1200002, 2010003, 1000, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Orange +(1200002, 2010004, 100000, 0, 0, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Lemon +(1200002, 2030000, 100000, 0, 0, 400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Return Scroll - Nearest Town +(1200002, 2050000, 100000, 0, 0, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Antidote +(1200002, 2050001, 100000, 0, 0, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Eyedrop +(1200002, 2050002, 100000, 0, 0, 300, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Tonic +(1200002, 2432805, 1000000, 0, 0, 50000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1000), # Appearance Reset Coupon + +# Silver (1001000) +(1001000, 1542000, 100, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Simple Iron Sword +(1001000, 1302000, 100000, 0, 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Sword +(1001000, 1312004, 100000, 0, 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Hand Axe +(1001000, 1322005, 100000, 0, 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Wooden Club +(1001000, 1302007, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Long Sword +(1001000, 1312000, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Double Axe +(1001000, 1332007, 100000, 0, 0, 1000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Fruit Knife + +# Natasha (1001001) +(1001001, 1002008, 100000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Skullcap +(1001001, 1002014, 100000, 0, 0, 1000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Headband +(1001001, 1002066, 100000, 0, 0, 450, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Headband +(1001001, 1002067, 100000, 0, 0, 450, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Headband +(1001001, 1002068, 100000, 0, 0, 450, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Yellow Headband +(1001001, 1002069, 100000, 0, 0, 450, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Headband +(1001001, 1002132, 100000, 0, 0, 800, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Swimming Cap +(1001001, 1002133, 100000, 0, 0, 800, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Swimming Cap +(1001001, 1002134, 100000, 0, 0, 800, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Swimming Cap +(1001001, 1002019, 100000, 0, 0, 2000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # White Bandana +(1001001, 1002001, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Metal Gear +(1001001, 1040013, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue One-Lined T-Shirt +(1001001, 1040014, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Orange Sporty T-Shirt +(1001001, 1041004, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Pink Starry Shirt +(1001001, 1041012, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red-Striped T-Shirt +(1001001, 1060007, 100000, 0, 0, 1000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Jean Capris +(1001001, 1060004, 100000, 0, 0, 2800, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Grey Thick Sweat Pants +(1001001, 1062000, 100000, 0, 0, 4800, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Ice Jeans +(1001001, 1062001, 100000, 0, 0, 4800, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Sandblasted Jeans +(1001001, 1072001, 100000, 0, 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Rubber Boots +(1001001, 1072037, 100000, 0, 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Yellow Rubber Boots +(1001001, 1072038, 100000, 0, 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Rubber Boots +(1001001, 1072005, 100000, 0, 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Leather Sandals +(1001001, 1072008, 100000, 0, 0, 5000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bronze Aroa Shoes +(1001001, 1072048, 100000, 0, 0, 5000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Aroa Boots +(1001001, 1072049, 100000, 0, 0, 5000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Aroa Boots +(1001001, 1072017, 100000, 0, 0, 10000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Ankle-Strap Sandals +(1001001, 1072062, 100000, 0, 0, 10000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Ankle-Strap Sandals +(1001001, 1072063, 100000, 0, 0, 10000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Ankle-Strap Sandals +(1001001, 1092003, 100000, 0, 0, 2000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Stolen Fence +(1001001, 3010001, 100000, 0, 0, 1000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Sky-blue Wooden Chair + +# Mina (1001100) +(1001100, 4036032, 1000000000, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Roswaal's Oil Bottle +(1001100, 4170050, 100000000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1000), # Andersen's Key +(1001100, 4032470, 1000000, 0, 0, 19800, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Tropical Fruit Punch +(1001100, 2000000, 100000, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Red Potion +(1001100, 2000001, 100000, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Orange Potion +(1001100, 2000002, 100000, 0, 0, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # White Potion +(1001100, 2000003, 100000, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Blue Potion +(1001100, 2000006, 100000, 0, 0, 186, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Mana Elixir +(1001100, 2002000, 100000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Dexterity Potion +(1001100, 2002001, 100000, 0, 0, 400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Speed Potion +(1001100, 2002002, 100000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Magic Potion +(1001100, 2002004, 100000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Warrior Potion +(1001100, 2002005, 100000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Sniper Potion +(1001100, 2010000, 100000, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Apple +(1001100, 2010002, 100000, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Egg +(1001100, 2010001, 100000, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Meat +(1001100, 2010003, 100000, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Orange +(1001100, 2010004, 100000, 0, 0, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Lemon +(1001100, 2020028, 100000, 0, 0, 2100, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Chocolate +(1001100, 2030000, 100000, 0, 0, 400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Return Scroll - Nearest Town +(1001100, 2030001, 100000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Return Scroll to Lith Harbor +(1001100, 2060000, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9999), # Arrow for Bow +(1001100, 2061000, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9999), # Arrow for Crossbow +(1001100, 2060000, 0, 0, 0, 1400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 2000, 0, 9999), # Arrow for Bow +(1001100, 2061000, 0, 0, 0, 1400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 2000, 0, 9999), # Arrow for Crossbow +(1001100, 2432805, 1000000, 0, 0, 50000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1000), # Appearance Reset Coupon + +# Balika (9390212) +(9390212, 1002008, 100, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Skullcap +(9390212, 1002033, 100, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Old Wisconsin +(9390212, 1002012, 100, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Baseball Cap +(9390212, 1002060, 100, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Baseball Cap +(9390212, 1002061, 100, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Yellow Baseball Cap +(9390212, 1002062, 100, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Baseball Cap +(9390212, 1002063, 100, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Baseball Cap +(9390212, 1002112, 100, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Feather Hat +(9390212, 1002113, 100, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Feather Hat +(9390212, 1002114, 100, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Feather Hat +(9390212, 1002115, 100, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Feather Hat +(9390212, 1002116, 100, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Feather Hat +(9390212, 1002117, 100, 0, 0, 12000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Robin Hat +(9390212, 1002118, 100, 0, 0, 12000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Robin Hat +(9390212, 1002119, 100, 0, 0, 12000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Robin Hat +(9390212, 1002120, 100, 0, 0, 12000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Robin Hat +(9390212, 1002121, 100, 0, 0, 12000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Robin Hat +(9390212, 1002010, 100, 0, 0, 800, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Winter Hat +(9390212, 1002057, 100, 0, 0, 800, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Winter Hat +(9390212, 1002156, 100, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Hunter +(9390212, 1002157, 100, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Hunter +(9390212, 1002158, 100, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Hunter +(9390212, 1002159, 100, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Hunter +(9390212, 1002160, 100, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Hunter +(9390212, 1002161, 100, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Hawkeye +(9390212, 1002162, 100, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Hawkeye +(9390212, 1002163, 100, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Hawkeye +(9390212, 1002164, 100, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Hawkeye +(9390212, 1002165, 100, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Hawkeye +(9390212, 1032001, 100, 0, 0, 7000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Single Earring +(9390212, 1032003, 100, 0, 0, 7000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Amethyst Earrings +(9390212, 1040008, 100, 0, 0, 3200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Archer Top +(9390212, 1040071, 100, 0, 0, 3200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Archer Top +(9390212, 1040007, 100, 0, 0, 5500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Leather Hoodwear +(9390212, 1040011, 100, 0, 0, 5500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Silver Leather Hoodwear +(9390212, 1040003, 100, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Hard Leather Top +(9390212, 1040022, 100, 0, 0, 15000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Bennis Chainmail +(9390212, 1040023, 100, 0, 0, 15000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Bennis Chainmail +(9390212, 1040024, 100, 0, 0, 15000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Bennis Chainmail +(9390212, 1040025, 100, 0, 0, 15000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Bennis Chainmail +(9390212, 1040067, 100, 0, 0, 50000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Hunter's Armor +(9390212, 1040068, 100, 0, 0, 50000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Hunter's Armor +(9390212, 1040069, 100, 0, 0, 50000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Hunter's Armor +(9390212, 1040070, 100, 0, 0, 50000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Hunter's Armor +(9390212, 1041007, 100, 0, 0, 3200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Avelin +(9390212, 1041061, 100, 0, 0, 3200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Yellow Avelin +(9390212, 1041008, 100, 0, 0, 5500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Able Armor +(9390212, 1041062, 100, 0, 0, 5500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Yellow Able Armor +(9390212, 1041063, 100, 0, 0, 5500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Grey Able Armor +(9390212, 1041013, 100, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Shivermail +(9390212, 1041027, 100, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Shivermail +(9390212, 1041028, 100, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Purple Shivermail +(9390212, 1041032, 100, 0, 0, 15000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Bennis Chainmail +(9390212, 1041033, 100, 0, 0, 15000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Bennis Chainmail +(9390212, 1041034, 100, 0, 0, 15000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Bennis Chainmail +(9390212, 1041035, 100, 0, 0, 15000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Yellow Bennis Chainmail +(9390212, 1041054, 100, 0, 0, 50000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Huntress Armor +(9390212, 1041055, 100, 0, 0, 50000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Huntress Armor +(9390212, 1041056, 100, 0, 0, 50000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Huntress Armor +(9390212, 1060005, 100, 0, 0, 14000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Warfare Pants +(9390212, 1060056, 100, 0, 0, 44000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Hunter's Pants +(9390212, 1060057, 100, 0, 0, 44000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Hunter's Pants +(9390212, 1060058, 100, 0, 0, 44000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Hunter's Pants +(9390212, 1060059, 100, 0, 0, 44000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Hunter's Pants +(9390212, 1061009, 100, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Avelin Skirt +(9390212, 1061057, 100, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Yellow Avelin Skirt +(9390212, 1061006, 100, 0, 0, 5000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Able Armor Skirt +(9390212, 1061058, 100, 0, 0, 5000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Able Skirt +(9390212, 1061059, 100, 0, 0, 5000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Grey Able Skirt +(9390212, 1061024, 100, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Shivermail Skirt +(9390212, 1061025, 100, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Shivermail Skirt +(9390212, 1061026, 100, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Purple Shivermail Skirt +(9390212, 1061050, 100, 0, 0, 44000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Huntress Pants +(9390212, 1061051, 100, 0, 0, 44000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Huntress Pants +(9390212, 1061052, 100, 0, 0, 44000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Huntress Pants +(9390212, 1062004, 100, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Archer Pants +(9390212, 1062002, 100, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Hard Leather Pants +(9390212, 1062006, 100, 0, 0, 13000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bennis Chainpants +(9390212, 1072015, 100, 0, 0, 1800, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Hard Leather Boots +(9390212, 1072059, 100, 0, 0, 1800, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Hard Leather Boots +(9390212, 1072016, 100, 0, 0, 4500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Woodsman Boots +(9390212, 1072060, 100, 0, 0, 4500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Woodsman Boots +(9390212, 1072061, 100, 0, 0, 4500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Woodsman Boots +(9390212, 1072025, 100, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Deer Huntertop +(9390212, 1072026, 100, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Rabbit Huntertop +(9390212, 1072067, 100, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bear Huntertop +(9390212, 1072068, 100, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # LIon Huntertop +(9390212, 1072012, 100, 0, 0, 15000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Whitebottom Shoes +(9390212, 1072054, 100, 0, 0, 15000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Orange Whitebottom Boots +(9390212, 1072055, 100, 0, 0, 15000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Pink Whitebottom Boots +(9390212, 1072056, 100, 0, 0, 15000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Whitebottom Boots +(9390212, 1072018, 100, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Sneakers +(9390212, 1072064, 100, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Sneakers +(9390212, 1002043, 100, 0, 0, 2400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bronze Coif +(9390212, 1002039, 100, 0, 0, 2700, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bronze Helmet +(9390212, 1002051, 100, 0, 0, 3500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bronze Full Helm +(9390212, 1002055, 100, 0, 0, 8700, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bronze Football Helmet +(9390212, 1002059, 100, 0, 0, 8500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bronze Viking Helm +(9390212, 1002027, 100, 0, 0, 11500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Steel Sharp Helm +(9390212, 1002005, 100, 0, 0, 19000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Iron Burgernet Helm +(9390212, 1040015, 100, 0, 0, 3200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Lolico Armor +(9390212, 1040038, 100, 0, 0, 3200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Lolico Armor +(9390212, 1040009, 100, 0, 0, 5500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Steel Corporal +(9390212, 1040037, 100, 0, 0, 5500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Corporal +(9390212, 1040012, 100, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Sergeant +(9390212, 1040039, 100, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Sergeant +(9390212, 1040040, 100, 0, 0, 16000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Silver Master Sergeant +(9390212, 1040016, 100, 0, 0, 16000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Orihalcon Master Sergeant +(9390212, 1040041, 100, 0, 0, 16000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Master Sergeant +(9390212, 1040021, 100, 0, 0, 40000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Hwarang Shirt +(9390212, 1040026, 100, 0, 0, 40000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Hwarang Shirt +(9390212, 1041014, 100, 0, 0, 3200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Orange Lolica Armor +(9390212, 1041064, 100, 0, 0, 3200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blueberry Lolica Armor +(9390212, 1041019, 100, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Lamelle +(9390212, 1041020, 100, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Lamelle +(9390212, 1041021, 100, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Lamelle +(9390212, 1041022, 100, 0, 0, 16000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Shark +(9390212, 1041023, 100, 0, 0, 16000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Sky Shark +(9390212, 1041024, 100, 0, 0, 16000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Shark +(9390212, 1050005, 100, 0, 0, 15000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Kendo Robe +(9390212, 1050006, 100, 0, 0, 15000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Kendo Robe +(9390212, 1050007, 100, 0, 0, 15000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # White Kendo Robe +(9390212, 1050011, 100, 0, 0, 70000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Dragon Robe +(9390212, 1051000, 100, 0, 0, 8000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Steel Fitted Mail +(9390212, 1051010, 100, 0, 0, 60000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Engrit +(9390212, 1051011, 100, 0, 0, 60000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Engrit +(9390212, 1051012, 100, 0, 0, 60000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Engrit +(9390212, 1051013, 100, 0, 0, 60000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Yellow Engrit +(9390212, 1060008, 100, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Lolico Pants +(9390212, 1060028, 100, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Lolico Pants +(9390212, 1060009, 100, 0, 0, 5000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Steel Corporal Pants +(9390212, 1060027, 100, 0, 0, 5000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Corporal Pants +(9390212, 1060010, 100, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Steel Sergeant Kilt +(9390212, 1060029, 100, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Sergeant Kilt +(9390212, 1060011, 100, 0, 0, 14000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Orihalcon Master Sergeant Kilt +(9390212, 1060030, 100, 0, 0, 14000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Master Sergeant Kilt +(9390212, 1060060, 100, 0, 0, 14000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Silver Master Sergeant Kilt +(9390212, 1060016, 100, 0, 0, 38000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Martial Arts Pants +(9390212, 1060017, 100, 0, 0, 38000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # White Martial Arts Pants +(9390212, 1060018, 100, 0, 0, 38000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Martial Arts Pants +(9390212, 1060019, 100, 0, 0, 38000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Martial Arts Pants +(9390212, 1061014, 100, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Rookie Pants +(9390212, 1061023, 100, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Sophia Pants +(9390212, 1061016, 100, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Ramel Skirt +(9390212, 1061017, 100, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Ramel Skirt +(9390212, 1061018, 100, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Ramel Skirt +(9390212, 1061015, 100, 0, 0, 14000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Shark Skirt +(9390212, 1061019, 100, 0, 0, 14000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Sky Shark Skirt +(9390212, 1061020, 100, 0, 0, 14000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Shark Skirt +(9390212, 1072009, 100, 0, 0, 5000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Steel Greaves +(9390212, 1072050, 100, 0, 0, 5000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bronze Greaves +(9390212, 1072007, 100, 0, 0, 10000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown High Boots +(9390212, 1072046, 100, 0, 0, 10000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Orange High Boots +(9390212, 1072047, 100, 0, 0, 10000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue High Boots +(9390212, 1072011, 100, 0, 0, 15000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Mithril War Boots +(9390212, 1092005, 100, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Wooden Buckler +(9390212, 1092000, 100, 0, 0, 6000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Steel Shield +(9390212, 1002122, 100, 0, 0, 900, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Ghetto Beanie +(9390212, 1002123, 100, 0, 0, 900, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Ghetto Beanie +(9390212, 1002124, 100, 0, 0, 900, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Ghetto Beanie +(9390212, 1002125, 100, 0, 0, 900, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Ghetto Beanie +(9390212, 1002126, 100, 0, 0, 900, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Ghetto Beanie +(9390212, 1002001, 100, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Metal Gear +(9390212, 1002107, 100, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Thief Hood +(9390212, 1002108, 100, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Thief Hood +(9390212, 1002109, 100, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Thief Hood +(9390212, 1002110, 100, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Thief Hood +(9390212, 1002111, 100, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Yellow Thief Hood +(9390212, 1002127, 100, 0, 0, 12000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Loosecap +(9390212, 1002128, 100, 0, 0, 12000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Loosecap +(9390212, 1002129, 100, 0, 0, 12000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Loosecap +(9390212, 1002130, 100, 0, 0, 12000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Loosecap +(9390212, 1002131, 100, 0, 0, 12000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Loosecap +(9390212, 1002020, 100, 0, 0, 7400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Starry Bandana +(9390212, 1002096, 100, 0, 0, 7400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Sky Blue Starry Bandana +(9390212, 1002097, 100, 0, 0, 7400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Yellow Starry Bandana +(9390212, 1002146, 100, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Tiberian +(9390212, 1002147, 100, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Tiberian +(9390212, 1002148, 100, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Tiberian +(9390212, 1002149, 100, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Tiberian +(9390212, 1002150, 100, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Tiberian +(9390212, 1002171, 100, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Guise +(9390212, 1002172, 100, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Guise +(9390212, 1002173, 100, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Guise +(9390212, 1002174, 100, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Guise +(9390212, 1002175, 100, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Guise +(9390212, 1040031, 100, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Cloth Vest +(9390212, 1040032, 100, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Cloth Vest +(9390212, 1040033, 100, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Cloth Vest +(9390212, 1040034, 100, 0, 0, 5000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Nightshift +(9390212, 1040035, 100, 0, 0, 5000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Nightshift +(9390212, 1040042, 100, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Pao +(9390212, 1040043, 100, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Pao +(9390212, 1040044, 100, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Pao +(9390212, 1040048, 100, 0, 0, 16000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Sneak +(9390212, 1040049, 100, 0, 0, 16000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Sneak +(9390212, 1040050, 100, 0, 0, 16000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Sneak +(9390212, 1040057, 100, 0, 0, 45000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Brown Stealer +(9390212, 1040058, 100, 0, 0, 45000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Silver Stealer +(9390212, 1040059, 100, 0, 0, 45000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Gold Stealer +(9390212, 1040060, 100, 0, 0, 45000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Silver Black Stealer +(9390212, 1041036, 100, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Cloth Vest +(9390212, 1041037, 100, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Cloth Vest +(9390212, 1041038, 100, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Cloth Vest +(9390212, 1041044, 100, 0, 0, 5000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Nightshift +(9390212, 1041045, 100, 0, 0, 5000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Nightshift +(9390212, 1041003, 100, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Qi Pao +(9390212, 1041039, 100, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Pink Qi Pao +(9390212, 1041040, 100, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Qi Pao +(9390212, 1041057, 100, 0, 0, 18000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Sneak +(9390212, 1041058, 100, 0, 0, 18000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blood Sneak +(9390212, 1041059, 100, 0, 0, 18000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Sky Sneak +(9390212, 1041060, 100, 0, 0, 18000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Gold Sneak +(9390212, 1041047, 100, 0, 0, 45000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Steal +(9390212, 1041048, 100, 0, 0, 45000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Steal +(9390212, 1041049, 100, 0, 0, 45000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Steal +(9390212, 1041050, 100, 0, 0, 45000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Purple Steal +(9390212, 1060021, 100, 0, 0, 2800, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Cloth Pants +(9390212, 1060022, 100, 0, 0, 2800, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Cloth Pants +(9390212, 1060023, 100, 0, 0, 2800, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Cloth Pants +(9390212, 1060024, 100, 0, 0, 4800, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Nightshift Pants +(9390212, 1060025, 100, 0, 0, 4800, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Nightshift Pants +(9390212, 1060031, 100, 0, 0, 8000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Pao Bottom +(9390212, 1060032, 100, 0, 0, 8000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Pao Bottom +(9390212, 1060033, 100, 0, 0, 8000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Pao Bottom +(9390212, 1060037, 100, 0, 0, 19000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Brown Sneak Pants +(9390212, 1060038, 100, 0, 0, 19000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Sneak Pants +(9390212, 1060039, 100, 0, 0, 19000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Sneak Pants +(9390212, 1060043, 100, 0, 0, 40000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Brown Stealer Pants +(9390212, 1060044, 100, 0, 0, 40000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Silver Stealer Pants +(9390212, 1060045, 100, 0, 0, 40000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red / Gold Stealer Pants +(9390212, 1060046, 100, 0, 0, 40000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Silver / Black Stealer Pants +(9390212, 1061029, 100, 0, 0, 2800, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Cloth Pants +(9390212, 1061030, 100, 0, 0, 2800, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Cloth Pants +(9390212, 1061031, 100, 0, 0, 2800, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Cloth Pants +(9390212, 1061037, 100, 0, 0, 4800, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Nightshift Pants +(9390212, 1061038, 100, 0, 0, 4800, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Nightshift Pants +(9390212, 1061003, 100, 0, 0, 8000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Qi Pao Pants +(9390212, 1061032, 100, 0, 0, 8000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Purple Qi Pao Pants +(9390212, 1061033, 100, 0, 0, 8000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Qi Pao Pants +(9390212, 1061040, 100, 0, 0, 12000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Qi Pao Skirt +(9390212, 1061041, 100, 0, 0, 12000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Purple Qi Pao Skirt +(9390212, 1061042, 100, 0, 0, 12000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Qi Pao Skirt +(9390212, 1061053, 100, 0, 0, 18000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Sneak Pants +(9390212, 1061054, 100, 0, 0, 18000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blood Sneak Pants +(9390212, 1061055, 100, 0, 0, 18000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Sky Sneak Pants +(9390212, 1061056, 100, 0, 0, 18000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Gold Sneak Pants +(9390212, 1061043, 100, 0, 0, 40000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Steal Pants +(9390212, 1061044, 100, 0, 0, 40000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Steal Pants +(9390212, 1061045, 100, 0, 0, 40000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Steal Pants +(9390212, 1061046, 100, 0, 0, 40000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Purple Steal Pants +(9390212, 1072070, 100, 0, 0, 1800, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Gidder Shoes +(9390212, 1072071, 100, 0, 0, 1800, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Gidder Shoes +(9390212, 1072004, 100, 0, 0, 2000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # White Gomushin +(9390212, 1072042, 100, 0, 0, 2000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Gomushin +(9390212, 1072043, 100, 0, 0, 2000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Smelly Gomushin +(9390212, 1072028, 100, 0, 0, 4500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # White Ninja Sandals +(9390212, 1072029, 100, 0, 0, 4500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Yellow Ninja Sandals +(9390212, 1072030, 100, 0, 0, 4500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Ninja Sandals +(9390212, 1072031, 100, 0, 0, 4500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Ninja Sandals +(9390212, 1072022, 100, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Enamel Boots +(9390212, 1072065, 100, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Enamel Boots +(9390212, 1072066, 100, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Enamel Boots +(9390212, 1002610, 1000, 0, 0, 900, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Rocky Bandana +(9390212, 1002613, 1000, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Lagger Cap +(9390212, 1002616, 1000, 0, 0, 12000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Double Marine +(9390212, 1002619, 1000, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Pitz Bandana +(9390212, 1052095, 1000, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Rocky Suit +(9390212, 1052098, 1000, 0, 0, 8000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Cotton Lagger +(9390212, 1052101, 1000, 0, 0, 16000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Beige Carribean +(9390212, 1052104, 1000, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Turk Gally +(9390212, 1052107, 1000, 0, 0, 60000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Pollard +(9390212, 1072285, 1000, 0, 0, 5000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Lagger Slipper +(9390212, 1072288, 1000, 0, 0, 8000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Skeedy Sandals +(9390212, 1002017, 100, 0, 0, 1200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Apprentice Hat +(9390212, 1002102, 100, 0, 0, 3800, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Moon Conehat +(9390212, 1002103, 100, 0, 0, 3800, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Pink Moon Conehat +(9390212, 1002104, 100, 0, 0, 3800, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Moon Conehat +(9390212, 1002105, 100, 0, 0, 3800, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Moon Conehat +(9390212, 1002106, 100, 0, 0, 3800, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Moon Conehat +(9390212, 1002016, 100, 0, 0, 8000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Wizardry Hat +(9390212, 1040004, 100, 0, 0, 2000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Training Shirt +(9390212, 1040017, 100, 0, 0, 2000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Grey / Brown Training Shirt +(9390212, 1040018, 100, 0, 0, 8500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Split Piece +(9390212, 1040019, 100, 0, 0, 8500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Orange Split Piece +(9390212, 1040020, 100, 0, 0, 8500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Split Piece +(9390212, 1041015, 100, 0, 0, 2000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Armine +(9390212, 1041016, 100, 0, 0, 2000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Armine +(9390212, 1041017, 100, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Purple Arianne +(9390212, 1041018, 100, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Arianne +(9390212, 1041025, 100, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Pink Arianne +(9390212, 1041026, 100, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Yellow Arianne +(9390212, 1041029, 100, 0, 0, 8500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Split +(9390212, 1041030, 100, 0, 0, 8500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Split +(9390212, 1041031, 100, 0, 0, 8500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Purple Split +(9390212, 1041041, 100, 0, 0, 42000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Purple Fairy Top +(9390212, 1041042, 100, 0, 0, 42000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Fairy Top +(9390212, 1041043, 100, 0, 0, 42000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Fairy Top +(9390212, 1050008, 100, 0, 0, 7000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Beige Plain Robe +(9390212, 1050009, 100, 0, 0, 7000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Plain Robe +(9390212, 1050010, 100, 0, 0, 7000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Plain Robe +(9390212, 1050001, 100, 0, 0, 16000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Doros Robe +(9390212, 1050023, 100, 0, 0, 16000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Doros Robe +(9390212, 1050024, 100, 0, 0, 16000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Yellow Doros Robe +(9390212, 1050025, 100, 0, 0, 16000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # White Doros Robe +(9390212, 1050003, 100, 0, 0, 40000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Wizard Robe +(9390212, 1050026, 100, 0, 0, 40000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # White Wizard Robe +(9390212, 1050027, 100, 0, 0, 40000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Mage Robe +(9390212, 1050028, 100, 0, 0, 40000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Wizard Robe +(9390212, 1051004, 100, 0, 0, 16000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Purple Doroness Robe +(9390212, 1051005, 100, 0, 0, 16000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Doroness Robe +(9390212, 1051003, 100, 0, 0, 16000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Doroness Robe +(9390212, 1060012, 100, 0, 0, 2000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Training Pants +(9390212, 1060013, 100, 0, 0, 2000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Grey / Brown Training Pants +(9390212, 1060014, 100, 0, 0, 8000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Split Pants +(9390212, 1060015, 100, 0, 0, 8000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # White Split Pants +(9390212, 1061010, 100, 0, 0, 2000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Armine Skirt +(9390212, 1061011, 100, 0, 0, 2000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Armine Skirt +(9390212, 1061012, 100, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Purple Arianne Skirt +(9390212, 1061013, 100, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Arianne Skirt +(9390212, 1061021, 100, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Pink Arianne Skirt +(9390212, 1061022, 100, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Yellow Arianne Skirt +(9390212, 1061027, 100, 0, 0, 8000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Split Skirt +(9390212, 1061028, 100, 0, 0, 8000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # White Split Skirt +(9390212, 1061034, 100, 0, 0, 40000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Purple Fairy Skirt +(9390212, 1061035, 100, 0, 0, 40000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Fairy Skirt +(9390212, 1061036, 100, 0, 0, 40000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Fairy Skirt +(9390212, 1072006, 100, 0, 0, 1500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Basic Boots +(9390212, 1072044, 100, 0, 0, 1500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Yellow Basic Boots +(9390212, 1072045, 100, 0, 0, 1500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Basic Boots +(9390212, 1072023, 100, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Beige Nitty +(9390212, 1072024, 100, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Nitty +(9390212, 1612000, 100, 0, 0, 68000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Copper Engine +(9390212, 1612001, 100, 0, 0, 96000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bronze Engine +(9390212, 1622000, 100, 0, 0, 53000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Copper Machine Arm +(9390212, 1622001, 100, 0, 0, 75000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bronze Machine Arm +(9390212, 1632000, 100, 0, 0, 75000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bronze Machine Leg +(9390212, 1642000, 100, 0, 0, 75000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bronze Body Frame +(9390212, 1652000, 100, 0, 0, 53000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Copper Transistor +(9390212, 1652001, 100, 0, 0, 75000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bronze Transistor + +# Silbaron (9390210) +(9390210, 1302007, 100, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Long Sword +(9390210, 1302005, 100, 0, 0, 6000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Sabre +(9390210, 1302002, 100, 0, 0, 10000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Viking Sword +(9390210, 1302006, 100, 0, 0, 10000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Machete +(9390210, 1302003, 100, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Eloon +(9390210, 1302008, 100, 0, 0, 40000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Gladius +(9390210, 1332006, 100, 0, 0, 7000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Field Dagger +(9390210, 1332008, 100, 0, 0, 10000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Coconut Knife +(9390210, 1332010, 100, 0, 0, 22000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Iron Dagger +(9390210, 1312001, 100, 0, 0, 6000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Battle Axe +(9390210, 1312003, 100, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Mithril Axe +(9390210, 1312005, 100, 0, 0, 40000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Fireman's Axe +(9390210, 1322000, 100, 0, 0, 6000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Mace +(9390210, 1322002, 100, 0, 0, 10000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Iron Mace +(9390210, 1322004, 100, 0, 0, 22000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Fusion Mace +(9390210, 1322014, 100, 0, 0, 40000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # War Hammer +(9390210, 1402001, 100, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Wooden Sword +(9390210, 1402000, 100, 0, 0, 12000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Two-Handed Sword +(9390210, 1402008, 100, 0, 0, 22000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Broadsword +(9390210, 1412001, 100, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Metal Axe +(9390210, 1412002, 100, 0, 0, 10000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Steel Axe +(9390210, 1412000, 100, 0, 0, 22000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Two-Handed Axe +(9390210, 1412006, 100, 0, 0, 45000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Axe +(9390210, 1422002, 100, 0, 0, 6000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Heavy Mace +(9390210, 1422003, 100, 0, 0, 10000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Square Hammer +(9390210, 1422006, 100, 0, 0, 10000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Pickaxe +(9390210, 1432001, 100, 0, 0, 7000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Fork on a Stick +(9390210, 1442000, 100, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Polearm +(9390210, 1442006, 100, 0, 0, 8000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Iron Ball +(9390210, 1442007, 100, 0, 0, 12000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Studded Polearm +(9390210, 1372005, 100, 0, 0, 2000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Wooden Wand +(9390210, 1372006, 100, 0, 0, 5000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Hardwood Wand +(9390210, 1372002, 100, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Metal Wand +(9390210, 1372004, 100, 0, 0, 18000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Ice Wand +(9390210, 1372003, 100, 0, 0, 38000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Mithril Wand +(9390210, 1382000, 100, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Wooden Staff +(9390210, 1382003, 100, 0, 0, 6000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Sapphire Staff +(9390210, 1382005, 100, 0, 0, 6000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Emerald Staff +(9390210, 1382004, 100, 0, 0, 10000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Old Wooden Staff +(9390210, 1382002, 100, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Wizard Staff +(9390210, 1322002, 100, 0, 0, 10000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Iron Mace +(9390210, 1452002, 100, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # War Bow +(9390210, 1452003, 100, 0, 0, 6000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Composite Bow +(9390210, 1452001, 100, 0, 0, 10000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Hunter's Bow +(9390210, 1452000, 100, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Battle Bow +(9390210, 1462001, 100, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Crossbow +(9390210, 1462002, 100, 0, 0, 8000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Battle Crossbow +(9390210, 1462003, 100, 0, 0, 12000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Balanche +(9390210, 1462000, 100, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Mountain Crossbow +(9390210, 1332000, 100, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Triangular Zamadar +(9390210, 1332002, 100, 0, 0, 8000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Triple-Tipped Zamadar +(9390210, 1332008, 100, 0, 0, 10000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Coconut Knife +(9390210, 1332013, 100, 0, 0, 15000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Stinger +(9390210, 1332010, 100, 0, 0, 22000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Iron Dagger +(9390210, 1332004, 100, 0, 0, 38000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Forked Dagger +(9390210, 1332012, 100, 0, 0, 40000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Reef Claw +(9390210, 1332009, 100, 0, 0, 42000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Cass +(9390210, 1322009, 100, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Plunger +(9390210, 1472000, 100, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Garnier +(9390210, 1342000, 100, 0, 0, 10000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Champion Katara +(9390210, 1342001, 100, 0, 0, 42000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Guardian Katara +(9390210, 1492000, 1000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Pistol +(9390210, 1492001, 1000, 0, 0, 6000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dellinger Special +(9390210, 1492002, 1000, 0, 0, 10000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # The Negotiator +(9390210, 1492003, 1000, 0, 0, 22000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Golden Hook +(9390210, 1492004, 1000, 0, 0, 50000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Cold Mind +(9390210, 1532000, 1000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Novice Cannon +(9390210, 1532001, 1000, 0, 0, 6000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Solid Cannon +(9390210, 1532002, 1000, 0, 0, 10000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Ironside +(9390210, 1532003, 1000, 0, 0, 22000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Steel Beast +(9390210, 1532004, 1000, 0, 0, 50000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Heavy Artillery +(9390210, 1482000, 1000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Steel Knuckler +(9390210, 1482001, 1000, 0, 0, 6000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Leather Arms +(9390210, 1482002, 1000, 0, 0, 10000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Double Tail Knuckler +(9390210, 1482003, 1000, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Norman Grip +(9390210, 1482004, 1000, 0, 0, 52000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Prime Hands +(9390210, 1422004, 100, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Monkey Wrench +(9390210, 1442004, 100, 0, 0, 24000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Janitor's Mop +(9390210, 1322007, 100, 0, 0, 6000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Leather Purse +(9390210, 1322008, 100, 0, 0, 12000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Hard Briefcase +(9390210, 1422000, 100, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Wooden Mallet +(9390210, 1432000, 100, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Spear +(9390210, 1232001, 100, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Ravager +(9390210, 1232002, 100, 0, 0, 38000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dim Memory +(9390210, 1232003, 100, 0, 0, 215000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Eternal Wanderer +(9390210, 1190200, 1000000, 0, 0, 580000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Silver Hybrid Heart +(9390210, 1190201, 1000000, 0, 0, 1010000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Hybrid Heart +(9390210, 1242001, 100, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Horned Blade +(9390210, 1242002, 100, 0, 0, 38000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Ridge Cutter +(9390210, 1242003, 100, 0, 0, 215000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Rough Violet +(9390210, 1212001, 100, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Plain +(9390210, 1212002, 100, 0, 0, 38000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Golden Shine +(9390210, 1542000, 100, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Simple Iron Sword +(9390210, 1542001, 100, 0, 0, 10000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Tempered Steel Sword +(9390210, 1542002, 100, 0, 0, 40000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Iron Guardian +(9390210, 1552000, 100, 0, 0, 5000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Iron Fan +(9390210, 1552001, 100, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Metallic Fan +(9390210, 1552002, 100, 0, 0, 38000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Triple Fan +(9390210, 1252001, 100, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Beast Tamer Scepter +(9390210, 1252002, 100, 0, 0, 38000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Assign Scepter + +# Kentucky (9390211) +(9390211, 2000000, 100000, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Red Potion +(9390211, 2000001, 100000, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Orange Potion +(9390211, 2000002, 1000000, 0, 0, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # White Potion +(9390211, 2000003, 1000000, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Blue Potion +(9390211, 2000006, 1000000, 0, 0, 186, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Mana Elixir +(9390211, 2002000, 1000000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Dexterity Potion +(9390211, 2002001, 1000000, 0, 0, 400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Speed Potion +(9390211, 2002002, 1000000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Magic Potion +(9390211, 2002004, 1000000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Warrior Potion +(9390211, 2002005, 1000000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Sniper Potion +(9390211, 2022003, 1000000, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Unagi +(9390211, 2022000, 1000000, 0, 0, 1155, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Pure Water +(9390211, 2001000, 1000000, 0, 0, 3200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Watermelon +(9390211, 2001001, 1000000, 0, 0, 2300, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Ice Cream Pop +(9390211, 2001002, 1000000, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Very Special Sundae +(9390211, 2010000, 1000000, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Apple +(9390211, 2010002, 1000000, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Egg +(9390211, 2010001, 1000000, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Meat +(9390211, 2010003, 1000000, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Orange +(9390211, 2010004, 1000000, 0, 0, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Lemon +(9390211, 2020028, 100000, 0, 0, 2100, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Chocolate +(9390211, 2050000, 100000, 0, 0, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Antidote +(9390211, 2050001, 100000, 0, 0, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Eyedrop +(9390211, 2050002, 100000, 0, 0, 300, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Tonic +(9390211, 2050003, 100000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Holy Water +(9390211, 2030000, 100000, 0, 0, 400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Return Scroll - Nearest Town +(9390211, 2060000, 9999999, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9999), # Arrow for Bow +(9390211, 2061000, 9999999, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9999), # Arrow for Crossbow +(9390211, 2060000, 9999999, 0, 0, 1400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 2000, 0, 9999), # Arrow for Bow +(9390211, 2061000, 9999999, 0, 0, 1400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 2000, 0, 9999), # Arrow for Crossbow +(9390211, 2120000, 1000000000, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9000), # Pet Food + +# Kikkawa Motoharu (9130029) +(9130029, 1302004, 10000, 0, 0, 100000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Cutlass +(9130029, 1302009, 10000, 0, 0, 225000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Traus +(9130029, 1542000, 100, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Simple Iron Sword +(9130029, 1542001, 100, 0, 0, 10000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Tempered Steel Sword +(9130029, 1542002, 100, 0, 0, 40000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Iron Guardian +(9130029, 1542003, 10000, 0, 0, 225000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bare Blade +(9130029, 1352800, 100, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # White Tiger Blade +(9130029, 1352801, 100, 0, 0, 79000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Dragon Blade +(9130029, 1352802, 100, 0, 0, 330000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Lake Monster Blade +(9130029, 1352803, 100, 0, 0, 580000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Fire Phoenix Blade +(9130029, 1312006, 10000, 0, 0, 100000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dankke +(9130029, 1312007, 10000, 0, 0, 175000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Counter +(9130029, 1322015, 10000, 0, 0, 100000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Heavy Hammer +(9130029, 1322016, 10000, 0, 0, 175000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Jacker +(9130029, 1332001, 10000, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Halfmoon Zamadar +(9130029, 1332011, 10000, 0, 0, 425000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bazlud +(9130029, 1332014, 10000, 0, 0, 375000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Gephart +(9130029, 1342002, 10000, 0, 0, 175000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Justice Katara +(9130029, 1372000, 10000, 0, 0, 400000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Fairy Wand +(9130029, 1372001, 10000, 0, 0, 175000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Wizard Wand +(9130029, 1552000, 100, 0, 0, 5000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Iron Fan +(9130029, 1552001, 100, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Metallic Fan +(9130029, 1552002, 100, 0, 0, 38000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Triple Fan +(9130029, 1552003, 10000, 0, 0, 400000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Crane Fan +(9130029, 1402006, 10000, 0, 0, 350000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Lionheart +(9130029, 1402007, 10000, 0, 0, 450000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Zard +(9130029, 1412004, 10000, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Niam +(9130029, 1412005, 10000, 0, 0, 250000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Sabretooth +(9130029, 1422007, 10000, 0, 0, 250000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Titan +(9130029, 1422008, 10000, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Sledgehammer +(9130029, 1432003, 10000, 0, 0, 175000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Nakamaki +(9130029, 1432005, 10000, 0, 0, 225000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Zeco +(9130029, 1442003, 10000, 0, 0, 175000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Axe Polearm +(9130029, 1442009, 10000, 0, 0, 300000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Crescent Polearm +(9130029, 1452006, 10000, 0, 0, 250000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Viper +(9130029, 1452007, 10000, 0, 0, 375000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Vaulter 2000 +(9130029, 1462004, 10000, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Eagle Crow +(9130029, 1462005, 10000, 0, 0, 250000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Heckler +(9130029, 1472004, 10000, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bronze Igor +(9130029, 1472007, 10000, 0, 0, 60000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Meba +(9130029, 1482005, 10000, 0, 0, 100000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Silver Maiden +(9130029, 1482006, 10000, 0, 0, 150000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Neozard +(9130029, 1492005, 10000, 0, 0, 100000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Shooting Star +(9130029, 1492006, 10000, 0, 0, 160000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Lunar Shooter +(9130029, 1002004, 10000, 0, 0, 160000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Great Brown Helmet +(9130029, 1002135, 10000, 0, 0, 100000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Pole-Feather Hat +(9130029, 1002137, 10000, 0, 0, 100000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Pole-Feather Hat +(9130029, 1002138, 10000, 0, 0, 100000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Pole-Feather Hat +(9130029, 1002139, 10000, 0, 0, 100000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Pole-Feather Hat +(9130029, 1002141, 10000, 0, 0, 96000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Matty +(9130029, 1002142, 10000, 0, 0, 96000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Matty +(9130029, 1002143, 10000, 0, 0, 96000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Matty +(9130029, 1002144, 10000, 0, 0, 96000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Matty +(9130029, 1002176, 10000, 0, 0, 100000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Burgler +(9130029, 1002177, 10000, 0, 0, 100000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Burglar +(9130029, 1002178, 10000, 0, 0, 100000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Burgler +(9130029, 1002179, 10000, 0, 0, 100000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Burgler +(9130029, 1002180, 10000, 0, 0, 100000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Burglar +(9130029, 1002625, 10000, 0, 0, 75000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Den Marine +(9130029, 1040000, 10000, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Yellow Jangoon Armor +(9130029, 1040061, 10000, 0, 0, 114000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Knucklevest +(9130029, 1040062, 10000, 0, 0, 114000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Knucklevest +(9130029, 1040063, 10000, 0, 0, 114000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Knucklevest +(9130029, 1040072, 10000, 0, 0, 114000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Legolier +(9130029, 1040073, 10000, 0, 0, 114000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Legolier +(9130029, 1040074, 10000, 0, 0, 114000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Legolier +(9130029, 1040076, 10000, 0, 0, 114000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Legolier +(9130029, 1040079, 10000, 0, 0, 180000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Piette +(9130029, 1040081, 10000, 0, 0, 180000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # White Piette +(9130029, 1040082, 10000, 0, 0, 180000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Khaki Shadow +(9130029, 1040083, 10000, 0, 0, 180000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Marine Shadow +(9130029, 1040085, 10000, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Maroon Jangoon Armor +(9130029, 1041051, 10000, 0, 0, 120000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Amoria Top +(9130029, 1041052, 10000, 0, 0, 120000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Amoria Top +(9130029, 1041065, 10000, 0, 0, 114000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Legolia +(9130029, 1041066, 10000, 0, 0, 114000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Legolia +(9130029, 1041067, 10000, 0, 0, 114000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Legolia +(9130029, 1041069, 10000, 0, 0, 114000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Legolia +(9130029, 1041074, 10000, 0, 0, 180000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Purple Shadow +(9130029, 1041075, 10000, 0, 0, 180000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Shadow +(9130029, 1041081, 10000, 0, 0, 180000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # White Piettra +(9130029, 1041082, 10000, 0, 0, 180000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Piettra +(9130029, 1041084, 10000, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Jangoon Armor +(9130029, 1041085, 10000, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Jangoon Armor +(9130029, 1050000, 10000, 0, 0, 112500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # White Crusader Chainmail +(9130029, 1050002, 10000, 0, 0, 300000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blood Chaos Robe +(9130029, 1050021, 10000, 0, 0, 112500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Crusader Chainmail +(9130029, 1050031, 10000, 0, 0, 300000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # White Chaos Robe +(9130029, 1050035, 10000, 0, 0, 450000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Starlight +(9130029, 1050036, 10000, 0, 0, 450000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Starlight +(9130029, 1050037, 10000, 0, 0, 450000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Starlight +(9130029, 1050038, 10000, 0, 0, 450000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Starlight +(9130029, 1051001, 10000, 0, 0, 112500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Emerald Fitted Mail +(9130029, 1051007, 10000, 0, 0, 111000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Avenger +(9130029, 1051008, 10000, 0, 0, 111000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Avenger +(9130029, 1051009, 10000, 0, 0, 111000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Purple Avenger +(9130029, 1051014, 10000, 0, 0, 112500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Sapphire Fitted Mail +(9130029, 1051023, 10000, 0, 0, 450000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Purple Moonlight +(9130029, 1051024, 10000, 0, 0, 450000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Moonlight +(9130029, 1051025, 10000, 0, 0, 450000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Moonlight +(9130029, 1051027, 10000, 0, 0, 450000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Moonlight +(9130029, 1052110, 10000, 0, 0, 100000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Brace Look +(9130029, 1052113, 10000, 0, 0, 120000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Barbay +(9130029, 1060050, 10000, 0, 0, 108000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Knucklevest Pants +(9130029, 1060051, 10000, 0, 0, 108000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Knucklevest Pants +(9130029, 1060052, 10000, 0, 0, 108000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Knucklevest Pants +(9130029, 1060061, 10000, 0, 0, 108000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Legolier Pants +(9130029, 1060062, 10000, 0, 0, 108000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Legolier Pants +(9130029, 1060063, 10000, 0, 0, 108000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Legolier Pants +(9130029, 1060065, 10000, 0, 0, 108000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Legolier Pants +(9130029, 1060069, 10000, 0, 0, 160000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Piette Pants +(9130029, 1060070, 10000, 0, 0, 160000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Piette Pants +(9130029, 1060071, 10000, 0, 0, 160000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Khaki Shadow Pants +(9130029, 1060072, 10000, 0, 0, 160000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Marine Shadow Pants +(9130029, 1060074, 10000, 0, 0, 180000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # White Jangoon Pants +(9130029, 1060075, 10000, 0, 0, 180000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Jangoon Pants +(9130029, 1061047, 10000, 0, 0, 120000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Amoria Skirt +(9130029, 1061048, 10000, 0, 0, 120000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Amoria Skirt +(9130029, 1061060, 10000, 0, 0, 108000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Legolia Pants +(9130029, 1061061, 10000, 0, 0, 108000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Legolia Pants +(9130029, 1061062, 10000, 0, 0, 108000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Legolia Pants +(9130029, 1061064, 10000, 0, 0, 108000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Legolia Pants +(9130029, 1061069, 10000, 0, 0, 160000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Purple Shadow Pants +(9130029, 1061070, 10000, 0, 0, 160000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Shadow Pants +(9130029, 1061080, 10000, 0, 0, 160000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # White Piettra Skirt +(9130029, 1061081, 10000, 0, 0, 160000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Piettra Skirt +(9130029, 1061083, 10000, 0, 0, 180000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Jangoon Skirt +(9130029, 1061084, 10000, 0, 0, 180000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Jangoon Skirt +(9130029, 1072168, 1000, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Snowshoes +(9130029, 1072169, 1000, 0, 0, 28000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Snowshoes +(9130029, 1072170, 1000, 0, 0, 29000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Snowshoes +(9130029, 1072171, 1000, 0, 0, 29000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Snowshoes +(9130029, 4033277, 10000, 0, 0, 10000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Excellent Harness +(9130029, 1072338, 1000, 0, 0, 29000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Purple Snowshoes +(9130029, 1092001, 10000, 0, 0, 100000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Triangular Shield +(9130029, 1092002, 10000, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Cross Shield + +# Kobayakawa Takakage (9130030) +(9130030, 4170050, 100000000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1000), # Andersen's Key +(9130030, 2000000, 1000000, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Red Potion +(9130030, 2000001, 1000000, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Orange Potion +(9130030, 2000002, 1000000, 0, 0, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # White Potion +(9130030, 2000003, 1000000, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Blue Potion +(9130030, 2000006, 1000000, 0, 0, 186, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Mana Elixir +(9130030, 2001000, 1000000, 0, 0, 3200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Watermelon +(9130030, 2001001, 1000000, 0, 0, 2300, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Ice Cream Pop +(9130030, 2001002, 1000000, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Very Special Sundae +(9130030, 2002000, 1000000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Dexterity Potion +(9130030, 2002001, 1000000, 0, 0, 400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Speed Potion +(9130030, 2002002, 1000000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Magic Potion +(9130030, 2002004, 1000000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Warrior Potion +(9130030, 2002005, 1000000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Sniper Potion +(9130030, 2010000, 1000000, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Apple +(9130030, 2010001, 1000000, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Meat +(9130030, 2010002, 1000000, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Egg +(9130030, 2010003, 1000000, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Orange +(9130030, 2010004, 1000000, 0, 0, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Lemon +(9130030, 2020012, 1000000, 0, 0, 4500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Melting Cheese +(9130030, 2020013, 1000000, 0, 0, 5600, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Reindeer Milk +(9130030, 2020014, 1000000, 0, 0, 8100, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Sunrise Dew +(9130030, 2020015, 1000000, 0, 0, 10200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Sunset Dew +(9130030, 2022000, 1000000, 0, 0, 1155, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Pure Water +(9130030, 2022001, 1000000, 0, 0, 400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Red Bean Porridge +(9130030, 2022003, 1000000, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Unagi +(9130030, 2022186, 1000000, 0, 0, 2400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Soft White Bun +(9130030, 2030000, 100000, 0, 0, 400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Return Scroll - Nearest Town +(9130030, 2050000, 100000, 0, 0, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Antidote +(9130030, 2050001, 100000, 0, 0, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Eyedrop +(9130030, 2050002, 100000, 0, 0, 300, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Tonic +(9130030, 2060000, 9999999, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9999), # Arrow for Bow +(9130030, 2060000, 9999999, 0, 0, 1400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 2000, 0, 9999), # Arrow for Bow +(9130030, 2061000, 9999999, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9999), # Arrow for Crossbow +(9130030, 2061000, 9999999, 0, 0, 1400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 2000, 0, 9999), # Arrow for Crossbow +(9130030, 4033278, 100000, 0, 0, 100000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Spirit Shroom + + +# General Mau (1011101) +(1011101, 1252001, 100, 0, 0, 2000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Beast Tamer Scepter +(1011101, 1252002, 100, 0, 0, 38000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Assign Scepter +(1011101, 1372005, 100000, 0, 0, 2000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Wooden Wand +(1011101, 1372006, 100000, 0, 0, 5000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Hardwood Wand +(1011101, 1372002, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Metal Wand +(1011101, 1372004, 100000, 0, 0, 18000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Ice Wand +(1011101, 1372003, 100000, 0, 0, 38000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Mithril Wand +(1011101, 1372001, 100000, 0, 0, 80000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Wizard Wand +(1011101, 1372000, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Fairy Wand +(1011101, 1382000, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Wooden Staff +(1011101, 1382003, 100000, 0, 0, 6000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Sapphire Staff +(1011101, 1382005, 100000, 0, 0, 6000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Emerald Staff +(1011101, 1382004, 100000, 0, 0, 10000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Old Wooden Staff +(1011101, 1382002, 100000, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Wizard Staff +(1011101, 1382017, 100000, 0, 0, 38000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Circle-Winded Staff +(1011101, 1382018, 100000, 0, 0, 80000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Petal Staff +(1011101, 1382019, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Hall Staff +(1011101, 1452002, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # War Bow +(1011101, 1452003, 100000, 0, 0, 6000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Composite Bow +(1011101, 1452001, 100000, 0, 0, 10000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Hunter's Bow +(1011101, 1452000, 100000, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Battle Bow +(1011101, 1452005, 100000, 0, 0, 40000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Ryden +(1011101, 1452006, 100000, 0, 0, 80000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Viper +(1011101, 1452007, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Vaulter 2000 +(1011101, 1462001, 100000, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Crossbow +(1011101, 1462002, 100000, 0, 0, 8000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Battle Crossbow +(1011101, 1462003, 100000, 0, 0, 12000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Balanche +(1011101, 1462000, 100000, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Mountain Crossbow +(1011101, 1462004, 100000, 0, 0, 40000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Eagle Crow +(1011101, 1462005, 100000, 0, 0, 80000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Heckler +(1011101, 1462006, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Silver Crow +(1011101, 1212001, 100000, 0, 0, 2000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Plain +(1011101, 1212002, 100000, 0, 0, 38000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Golden Shine +(1011101, 1002017, 100000, 0, 0, 1200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Apprentice Hat +(1011101, 1002102, 100000, 0, 0, 3800, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Moon Conehat +(1011101, 1002103, 100000, 0, 0, 3800, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Pink Moon Conehat +(1011101, 1002104, 100000, 0, 0, 3800, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Moon Conehat +(1011101, 1002105, 100000, 0, 0, 3800, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Moon Conehat +(1011101, 1002106, 100000, 0, 0, 3800, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Moon Conehat +(1011101, 1002016, 100000, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Wizardry Hat +(1011101, 1002034, 100000, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Jester +(1011101, 1002035, 100000, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Pink Jester +(1011101, 1002036, 100000, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Jester +(1011101, 1002037, 100000, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Jester +(1011101, 1002038, 100000, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Jester +(1011101, 1002141, 100000, 0, 0, 66000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Matty +(1011101, 1002142, 100000, 0, 0, 66000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Matty +(1011101, 1002143, 100000, 0, 0, 66000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Matty +(1011101, 1002144, 100000, 0, 0, 66000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Matty +(1011101, 1002151, 100000, 0, 0, 92000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Guiltian +(1011101, 1002152, 100000, 0, 0, 92000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Guiltian +(1011101, 1002153, 100000, 0, 0, 92000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Guiltian +(1011101, 1002154, 100000, 0, 0, 92000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Guiltian +(1011101, 1002155, 100000, 0, 0, 92000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # White Guiltian +(1011101, 1040004, 100000, 0, 0, 2000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Training Shirt +(1011101, 1040017, 100000, 0, 0, 2000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Grey / Brown Training Shirt +(1011101, 1040018, 100000, 0, 0, 8500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Split Piece +(1011101, 1040019, 100000, 0, 0, 8500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Orange Split Piece +(1011101, 1040020, 100000, 0, 0, 8500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Split Piece +(1011101, 1041015, 100000, 0, 0, 2000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Armine +(1011101, 1041016, 100000, 0, 0, 2000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Armine +(1011101, 1041017, 100000, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Purple Arianne +(1011101, 1041018, 100000, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Arianne +(1011101, 1041025, 100000, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Pink Arianne +(1011101, 1041026, 100000, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Yellow Arianne +(1011101, 1041029, 100000, 0, 0, 8500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Split +(1011101, 1041030, 100000, 0, 0, 8500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Split +(1011101, 1041031, 100000, 0, 0, 8500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Purple Split +(1011101, 1041041, 100000, 0, 0, 42000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Purple Fairy Top +(1011101, 1041042, 100000, 0, 0, 42000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Fairy Top +(1011101, 1041043, 100000, 0, 0, 42000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Fairy Top +(1011101, 1041052, 100000, 0, 0, 67500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Amoria Top +(1011101, 1041051, 100000, 0, 0, 67500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Amoria Top +(1011101, 1050008, 100000, 0, 0, 7000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Beige Plain Robe +(1011101, 1050009, 100000, 0, 0, 7000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Plain Robe +(1011101, 1050010, 100000, 0, 0, 7000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Plain Robe +(1011101, 1050001, 100000, 0, 0, 16000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Doros Robe +(1011101, 1050023, 100000, 0, 0, 16000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Doros Robe +(1011101, 1050024, 100000, 0, 0, 16000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Yellow Doros Robe +(1011101, 1050025, 100000, 0, 0, 16000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # White Doros Robe +(1011101, 1050003, 100000, 0, 0, 60000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Wizard Robe +(1011101, 1050026, 100000, 0, 0, 60000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # White Wizard Robe +(1011101, 1050027, 100000, 0, 0, 60000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Mage Robe +(1011101, 1050028, 100000, 0, 0, 60000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Wizard Robe +(1011101, 1051004, 100000, 0, 0, 16000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Purple Doroness Robe +(1011101, 1051005, 100000, 0, 0, 16000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Doroness Robe +(1011101, 1051003, 100000, 0, 0, 16000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Doroness Robe +(1011101, 1050031, 100000, 0, 0, 100000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # White Chaos Robe +(1011101, 1050002, 100000, 0, 0, 100000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blood Chaos Robe +(1011101, 1050035, 100000, 0, 0, 120000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Starlight +(1011101, 1050038, 100000, 0, 0, 120000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Starlight +(1011101, 1050036, 100000, 0, 0, 120000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Starlight +(1011101, 1050037, 100000, 0, 0, 120000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Starlight +(1011101, 1051023, 100000, 0, 0, 120000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Purple Moonlight +(1011101, 1051025, 100000, 0, 0, 120000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Moonlight +(1011101, 1051024, 100000, 0, 0, 120000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Moonlight +(1011101, 1051027, 100000, 0, 0, 120000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Moonlight +(1011101, 1060012, 100000, 0, 0, 2000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Training Pants +(1011101, 1060013, 100000, 0, 0, 2000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Grey / Brown Training Pants +(1011101, 1060014, 100000, 0, 0, 8000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Split Pants +(1011101, 1060015, 100000, 0, 0, 8000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # White Split Pants +(1011101, 1061010, 100000, 0, 0, 2000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Armine Skirt +(1011101, 1061011, 100000, 0, 0, 2000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Armine Skirt +(1011101, 1061012, 100000, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Purple Arianne Skirt +(1011101, 1061013, 100000, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Arianne Skirt +(1011101, 1061021, 100000, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Pink Arianne Skirt +(1011101, 1061022, 100000, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Yellow Arianne Skirt +(1011101, 1061027, 100000, 0, 0, 8000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Split Skirt +(1011101, 1061028, 100000, 0, 0, 8000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # White Split Skirt +(1011101, 1061034, 100000, 0, 0, 40000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Purple Fairy Skirt +(1011101, 1061035, 100000, 0, 0, 40000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Fairy Skirt +(1011101, 1061036, 100000, 0, 0, 40000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Fairy Skirt +(1011101, 1061048, 100000, 0, 0, 67500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Amoria Skirt +(1011101, 1061047, 100000, 0, 0, 67500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Amoria Skirt +(1011101, 1072006, 100000, 0, 0, 1500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Basic Boots +(1011101, 1072044, 100000, 0, 0, 1500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Yellow Basic Boots +(1011101, 1072045, 100000, 0, 0, 1500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Basic Boots +(1011101, 1072023, 100000, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Beige Nitty +(1011101, 1072024, 100000, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Nitty +(1011101, 1072019, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Jewelry Boots +(1011101, 1072020, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Purple Jewelry Boots +(1011101, 1072021, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Jewelry Boots +(1011101, 1072072, 100000, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Silver Windshoes +(1011101, 1072073, 100000, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Yellow Windshoes +(1011101, 1072074, 100000, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Windshoes +(1011101, 1072075, 100000, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Magicshoes +(1011101, 1072076, 100000, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Magicshoes +(1011101, 1072077, 100000, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # White Magicshoes +(1011101, 1072078, 100000, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Magicshoes +(1011101, 1072089, 100000, 0, 0, 66000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Purple Salt Shoes +(1011101, 1072090, 100000, 0, 0, 66000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Salt Shoes +(1011101, 1072091, 100000, 0, 0, 66000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Salt Shoes +(1011101, 1072114, 100000, 0, 0, 92000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Moon Shoes +(1011101, 1072115, 100000, 0, 0, 92000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Moon Shoes +(1011101, 1072116, 100000, 0, 0, 92000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Gold Moon Shoes +(1011101, 1072117, 100000, 0, 0, 92000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Moon Shoes +(1011101, 1082019, 100000, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Lemona +(1011101, 1082022, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Purple Morrican +(1011101, 1082028, 100000, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Mesana +(1011101, 1082053, 100000, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Lutia +(1011101, 1082056, 100000, 0, 0, 66000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Noel +(1011101, 1082064, 100000, 0, 0, 92000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Arten +(1011101, 1002112, 100000, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Feather Hat +(1011101, 1002113, 100000, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Feather Hat +(1011101, 1002114, 100000, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Feather Hat +(1011101, 1002115, 100000, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Feather Hat +(1011101, 1002116, 100000, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Feather Hat +(1011101, 1002117, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Robin Hat +(1011101, 1002118, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Robin Hat +(1011101, 1002119, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Robin Hat +(1011101, 1002120, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Robin Hat +(1011101, 1002121, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Robin Hat +(1011101, 1002161, 100000, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Hawkeye +(1011101, 1002162, 100000, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Hawkeye +(1011101, 1002163, 100000, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Hawkeye +(1011101, 1002164, 100000, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Hawkeye +(1011101, 1002165, 100000, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Hawkeye +(1011101, 1002135, 100000, 0, 0, 66000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Pole-Feather Hat +(1011101, 1002136, 100000, 0, 0, 66000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Pole-Feather Hat +(1011101, 1002137, 100000, 0, 0, 66000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Pole-Feather Hat +(1011101, 1002138, 100000, 0, 0, 66000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Pole-Feather Hat +(1011101, 1002139, 100000, 0, 0, 66000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Pole-Feather Hat +(1011101, 1002166, 100000, 0, 0, 92000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Distinction +(1011101, 1002167, 100000, 0, 0, 92000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Distinction +(1011101, 1002168, 100000, 0, 0, 92000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Distinction +(1011101, 1002169, 100000, 0, 0, 92000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Distinction +(1011101, 1002170, 100000, 0, 0, 92000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Distinction +(1011101, 1002010, 100000, 0, 0, 800, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Winter Hat +(1011101, 1002057, 100000, 0, 0, 800, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Winter Hat +(1011101, 1002156, 100000, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Hunter +(1011101, 1002157, 100000, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Hunter +(1011101, 1002158, 100000, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Hunter +(1011101, 1002159, 100000, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Hunter +(1011101, 1002160, 100000, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Hunter +(1011101, 1040008, 100000, 0, 0, 3200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Archer Top +(1011101, 1040071, 100000, 0, 0, 3200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Archer Top +(1011101, 1040007, 100000, 0, 0, 5500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Leather Hoodwear +(1011101, 1040011, 100000, 0, 0, 5500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Silver Leather Hoodwear +(1011101, 1040003, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Hard Leather Top +(1011101, 1040022, 100000, 0, 0, 15000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Bennis Chainmail +(1011101, 1040023, 100000, 0, 0, 15000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Bennis Chainmail +(1011101, 1040024, 100000, 0, 0, 15000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Bennis Chainmail +(1011101, 1040025, 100000, 0, 0, 15000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Bennis Chainmail +(1011101, 1040067, 100000, 0, 0, 45000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Hunter's Armor +(1011101, 1040068, 100000, 0, 0, 45000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Hunter's Armor +(1011101, 1040069, 100000, 0, 0, 45000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Hunter's Armor +(1011101, 1040070, 100000, 0, 0, 45000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Hunter's Armor +(1011101, 1041007, 100000, 0, 0, 3200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Avelin +(1011101, 1041061, 100000, 0, 0, 3200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Yellow Avelin +(1011101, 1041008, 100000, 0, 0, 5500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Able Armor +(1011101, 1041062, 100000, 0, 0, 5500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Yellow Able Armor +(1011101, 1041063, 100000, 0, 0, 5500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Grey Able Armor +(1011101, 1041013, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Shivermail +(1011101, 1041027, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Shivermail +(1011101, 1041028, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Purple Shivermail +(1011101, 1041032, 100000, 0, 0, 15000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Bennis Chainmail +(1011101, 1041033, 100000, 0, 0, 15000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Bennis Chainmail +(1011101, 1041034, 100000, 0, 0, 15000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Bennis Chainmail +(1011101, 1041035, 100000, 0, 0, 15000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Yellow Bennis Chainmail +(1011101, 1041054, 100000, 0, 0, 45000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Huntress Armor +(1011101, 1041055, 100000, 0, 0, 45000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Huntress Armor +(1011101, 1041056, 100000, 0, 0, 45000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Huntress Armor +(1011101, 1040072, 100000, 0, 0, 67500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Legolier +(1011101, 1040073, 100000, 0, 0, 67500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Legolier +(1011101, 1040074, 100000, 0, 0, 67500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Legolier +(1011101, 1040076, 100000, 0, 0, 67500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Legolier +(1011101, 1040081, 100000, 0, 0, 81000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # White Piette +(1011101, 1040079, 100000, 0, 0, 81000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Piette +(1011101, 1041066, 100000, 0, 0, 67500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Legolia +(1011101, 1041069, 100000, 0, 0, 67500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Legolia +(1011101, 1041065, 100000, 0, 0, 67500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Legolia +(1011101, 1041067, 100000, 0, 0, 67500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Legolia +(1011101, 1041082, 100000, 0, 0, 81000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Piettra +(1011101, 1041081, 100000, 0, 0, 81000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # White Piettra +(1011101, 1060005, 100000, 0, 0, 14000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Warfare Pants +(1011101, 1060056, 100000, 0, 0, 44000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Hunter's Pants +(1011101, 1060057, 100000, 0, 0, 44000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Hunter's Pants +(1011101, 1060058, 100000, 0, 0, 44000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Hunter's Pants +(1011101, 1060059, 100000, 0, 0, 44000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Hunter's Pants +(1011101, 1061009, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Avelin Skirt +(1011101, 1061057, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Yellow Avelin Skirt +(1011101, 1061006, 100000, 0, 0, 5000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Able Armor Skirt +(1011101, 1061058, 100000, 0, 0, 5000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Able Skirt +(1011101, 1061059, 100000, 0, 0, 5000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Grey Able Skirt +(1011101, 1061024, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Shivermail Skirt +(1011101, 1061025, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Shivermail Skirt +(1011101, 1061026, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Purple Shivermail Skirt +(1011101, 1061050, 100000, 0, 0, 44000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Huntress Pants +(1011101, 1061051, 100000, 0, 0, 44000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Huntress Pants +(1011101, 1061052, 100000, 0, 0, 44000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Huntress Pants +(1011101, 1060062, 100000, 0, 0, 67500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Legolier Pants +(1011101, 1060065, 100000, 0, 0, 67500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Legolier Pants +(1011101, 1060061, 100000, 0, 0, 67500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Legolier Pants +(1011101, 1060063, 100000, 0, 0, 67500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Legolier Pants +(1011101, 1060070, 100000, 0, 0, 81000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Piette Pants +(1011101, 1060069, 100000, 0, 0, 81000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Piette Pants +(1011101, 1061061, 100000, 0, 0, 67500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Legolia Pants +(1011101, 1061064, 100000, 0, 0, 67500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Legolia Pants +(1011101, 1061060, 100000, 0, 0, 67500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Legolia Pants +(1011101, 1061062, 100000, 0, 0, 67501, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Legolia Pants +(1011101, 1061081, 100000, 0, 0, 81000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Piettra Skirt +(1011101, 1061080, 100000, 0, 0, 81000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # White Piettra Skirt +(1011101, 1062002, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Hard Leather Pants +(1011101, 1062006, 100000, 0, 0, 13000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bennis Chainpants +(1011101, 1072015, 100000, 0, 0, 1800, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Hard Leather Boots +(1011101, 1072059, 100000, 0, 0, 1800, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Hard Leather Boots +(1011101, 1072016, 100000, 0, 0, 4500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Woodsman Boots +(1011101, 1072060, 100000, 0, 0, 4500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Woodsman Boots +(1011101, 1072061, 100000, 0, 0, 4500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Woodsman Boots +(1011101, 1072025, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Deer Huntertop +(1011101, 1072026, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Rabbit Huntertop +(1011101, 1072067, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bear Huntertop +(1011101, 1072068, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # LIon Huntertop +(1011101, 1072034, 100000, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Jack Boots +(1011101, 1072069, 100000, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Jack Boots +(1011101, 1072079, 100000, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Hunter Boots +(1011101, 1072080, 100000, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Hunter Boots +(1011101, 1072081, 100000, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Hunter Boots +(1011101, 1072082, 100000, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Hunter Boots +(1011101, 1072083, 100000, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Hunter Boots +(1011101, 1072101, 100000, 0, 0, 66000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Silky Boots +(1011101, 1072102, 100000, 0, 0, 66000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Silky Boots +(1011101, 1072103, 100000, 0, 0, 66000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Silky Boots +(1011101, 1072118, 100000, 0, 0, 92000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Pierre Shoes +(1011101, 1072119, 100000, 0, 0, 92000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Yellow Pierre Shoes +(1011101, 1072120, 100000, 0, 0, 92000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Pierre Shoes +(1011101, 1072121, 100000, 0, 0, 92000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Pierre Shoes +(1011101, 1072012, 100000, 0, 0, 15000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Whitebottom Shoes +(1011101, 1072054, 100000, 0, 0, 15000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Orange Whitebottom Boots +(1011101, 1072055, 100000, 0, 0, 15000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Pink Whitebottom Boots +(1011101, 1072056, 100000, 0, 0, 15000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Whitebottom Boots +(1011101, 1072018, 100000, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Sneakers +(1011101, 1072064, 100000, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Sneakers +(1011101, 1082012, 100000, 0, 0, 4500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Basic Archer Gloves +(1011101, 1082015, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Diros +(1011101, 1082018, 100000, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Savata +(1011101, 1082050, 100000, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Marker +(1011101, 1082070, 100000, 0, 0, 66000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Gold Scaler +(1011101, 1082073, 100000, 0, 0, 92000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Brace + +# Karl (1011000) +(1011000, 1452002, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # War Bow +(1011000, 1452003, 100000, 0, 0, 6000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Composite Bow +(1011000, 1452001, 100000, 0, 0, 10000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Hunter's Bow +(1011000, 1452000, 100000, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Battle Bow +(1011000, 1452005, 100000, 0, 0, 40000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Ryden +(1011000, 1452006, 100000, 0, 0, 80000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Viper +(1011000, 1452007, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Vaulter 2000 +(1011000, 1462001, 100000, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Crossbow +(1011000, 1462002, 100000, 0, 0, 8000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Battle Crossbow +(1011000, 1462003, 100000, 0, 0, 12000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Balanche +(1011000, 1462000, 100000, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Mountain Crossbow +(1011000, 1462004, 100000, 0, 0, 40000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Eagle Crow +(1011000, 1462005, 100000, 0, 0, 80000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Heckler +(1011000, 1462006, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Silver Crow +(1011000, 1302007, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Long Sword +(1011000, 1322007, 100000, 0, 0, 6000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Leather Purse +(1011000, 1322008, 100000, 0, 0, 12000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Hard Briefcase +(1011000, 1422004, 100000, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Monkey Wrench +(1011000, 1442004, 100000, 0, 0, 24000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Janitor's Mop + +# Sam (1011001) +(1011001, 1002008, 100000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Skullcap +(1011001, 1002033, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Old Wisconsin +(1011001, 1002012, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Baseball Cap +(1011001, 1002060, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Baseball Cap +(1011001, 1002061, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Yellow Baseball Cap +(1011001, 1002062, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Baseball Cap +(1011001, 1002063, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Baseball Cap +(1011001, 1002112, 100000, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Feather Hat +(1011001, 1002113, 100000, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Feather Hat +(1011001, 1002114, 100000, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Feather Hat +(1011001, 1002115, 100000, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Feather Hat +(1011001, 1002116, 100000, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Feather Hat +(1011001, 1002117, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Robin Hat +(1011001, 1002118, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Robin Hat +(1011001, 1002119, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Robin Hat +(1011001, 1002120, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Robin Hat +(1011001, 1002121, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Robin Hat +(1011001, 1002161, 100000, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Hawkeye +(1011001, 1002162, 100000, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Hawkeye +(1011001, 1002163, 100000, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Hawkeye +(1011001, 1002164, 100000, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Hawkeye +(1011001, 1002165, 100000, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Hawkeye +(1011001, 1002135, 100000, 0, 0, 66000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Pole-Feather Hat +(1011001, 1002136, 100000, 0, 0, 66000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Pole-Feather Hat +(1011001, 1002137, 100000, 0, 0, 66000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Pole-Feather Hat +(1011001, 1002138, 100000, 0, 0, 66000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Pole-Feather Hat +(1011001, 1002139, 100000, 0, 0, 66000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Pole-Feather Hat +(1011001, 1002166, 100000, 0, 0, 92000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Distinction +(1011001, 1002167, 100000, 0, 0, 92000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Distinction +(1011001, 1002168, 100000, 0, 0, 92000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Distinction +(1011001, 1002169, 100000, 0, 0, 92000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Distinction +(1011001, 1002170, 100000, 0, 0, 92000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Distinction +(1011001, 1002010, 100000, 0, 0, 800, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Winter Hat +(1011001, 1002057, 100000, 0, 0, 800, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Winter Hat +(1011001, 1002156, 100000, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Hunter +(1011001, 1002157, 100000, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Hunter +(1011001, 1002158, 100000, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Hunter +(1011001, 1002159, 100000, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Hunter +(1011001, 1002160, 100000, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Hunter +(1011001, 1032001, 100000, 0, 0, 7000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Single Earring +(1011001, 1032003, 100000, 0, 0, 7000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Amethyst Earrings +(1011001, 1040008, 100000, 0, 0, 3200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Archer Top +(1011001, 1040071, 100000, 0, 0, 3200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Archer Top +(1011001, 1040007, 100000, 0, 0, 5500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Leather Hoodwear +(1011001, 1040011, 100000, 0, 0, 5500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Silver Leather Hoodwear +(1011001, 1040003, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Hard Leather Top +(1011001, 1040022, 100000, 0, 0, 15000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Bennis Chainmail +(1011001, 1040023, 100000, 0, 0, 15000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Bennis Chainmail +(1011001, 1040024, 100000, 0, 0, 15000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Bennis Chainmail +(1011001, 1040025, 100000, 0, 0, 15000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Bennis Chainmail +(1011001, 1040067, 100000, 0, 0, 45000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Hunter's Armor +(1011001, 1040068, 100000, 0, 0, 45000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Hunter's Armor +(1011001, 1040069, 100000, 0, 0, 45000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Hunter's Armor +(1011001, 1040070, 100000, 0, 0, 45000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Hunter's Armor +(1011001, 1041007, 100000, 0, 0, 3200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Avelin +(1011001, 1041061, 100000, 0, 0, 3200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Yellow Avelin +(1011001, 1041008, 100000, 0, 0, 5500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Able Armor +(1011001, 1041062, 100000, 0, 0, 5500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Yellow Able Armor +(1011001, 1041063, 100000, 0, 0, 5500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Grey Able Armor +(1011001, 1041013, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Shivermail +(1011001, 1041027, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Shivermail +(1011001, 1041028, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Purple Shivermail +(1011001, 1041032, 100000, 0, 0, 15000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Bennis Chainmail +(1011001, 1041033, 100000, 0, 0, 15000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Bennis Chainmail +(1011001, 1041034, 100000, 0, 0, 15000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Bennis Chainmail +(1011001, 1041035, 100000, 0, 0, 15000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Yellow Bennis Chainmail +(1011001, 1041054, 100000, 0, 0, 45000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Huntress Armor +(1011001, 1041055, 100000, 0, 0, 45000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Huntress Armor +(1011001, 1041056, 100000, 0, 0, 45000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Huntress Armor +(1011001, 1040072, 100000, 0, 0, 67500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Legolier +(1011001, 1040073, 100000, 0, 0, 67500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Legolier +(1011001, 1040074, 100000, 0, 0, 67500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Legolier +(1011001, 1040076, 100000, 0, 0, 67500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Legolier +(1011001, 1040081, 100000, 0, 0, 81000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # White Piette +(1011001, 1040079, 100000, 0, 0, 81000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Piette +(1011001, 1041066, 100000, 0, 0, 67500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Legolia +(1011001, 1041069, 100000, 0, 0, 67500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Legolia +(1011001, 1041065, 100000, 0, 0, 67500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Legolia +(1011001, 1041067, 100000, 0, 0, 67500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Legolia +(1011001, 1041082, 100000, 0, 0, 81000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Piettra +(1011001, 1041081, 100000, 0, 0, 81000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # White Piettra +(1011001, 1060005, 100000, 0, 0, 14000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Warfare Pants +(1011001, 1060056, 100000, 0, 0, 44000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Hunter's Pants +(1011001, 1060057, 100000, 0, 0, 44000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Hunter's Pants +(1011001, 1060058, 100000, 0, 0, 44000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Hunter's Pants +(1011001, 1060059, 100000, 0, 0, 44000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Hunter's Pants +(1011001, 1061009, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Avelin Skirt +(1011001, 1061057, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Yellow Avelin Skirt +(1011001, 1061006, 100000, 0, 0, 5000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Able Armor Skirt +(1011001, 1061058, 100000, 0, 0, 5000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Able Skirt +(1011001, 1061059, 100000, 0, 0, 5000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Grey Able Skirt +(1011001, 1061024, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Shivermail Skirt +(1011001, 1061025, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Shivermail Skirt +(1011001, 1061026, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Purple Shivermail Skirt +(1011001, 1061050, 100000, 0, 0, 44000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Huntress Pants +(1011001, 1061051, 100000, 0, 0, 44000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Huntress Pants +(1011001, 1061052, 100000, 0, 0, 44000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Huntress Pants +(1011001, 1060062, 100000, 0, 0, 67500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Legolier Pants +(1011001, 1060065, 100000, 0, 0, 67500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Legolier Pants +(1011001, 1060061, 100000, 0, 0, 67500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Legolier Pants +(1011001, 1060063, 100000, 0, 0, 67500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Legolier Pants +(1011001, 1060070, 100000, 0, 0, 81000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Piette Pants +(1011001, 1060069, 100000, 0, 0, 81000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Piette Pants +(1011001, 1061061, 100000, 0, 0, 67500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Legolia Pants +(1011001, 1061064, 100000, 0, 0, 67500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Legolia Pants +(1011001, 1061060, 100000, 0, 0, 67500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Legolia Pants +(1011001, 1061062, 100000, 0, 0, 67501, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Legolia Pants +(1011001, 1061081, 100000, 0, 0, 81000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Piettra Skirt +(1011001, 1061080, 100000, 0, 0, 81000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # White Piettra Skirt +(1011001, 1062002, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Hard Leather Pants +(1011001, 1062006, 100000, 0, 0, 13000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bennis Chainpants +(1011001, 1072015, 100000, 0, 0, 1800, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Hard Leather Boots +(1011001, 1072059, 100000, 0, 0, 1800, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Hard Leather Boots +(1011001, 1072016, 100000, 0, 0, 4500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Woodsman Boots +(1011001, 1072060, 100000, 0, 0, 4500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Woodsman Boots +(1011001, 1072061, 100000, 0, 0, 4500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Woodsman Boots +(1011001, 1072025, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Deer Huntertop +(1011001, 1072026, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Rabbit Huntertop +(1011001, 1072067, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bear Huntertop +(1011001, 1072068, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # LIon Huntertop +(1011001, 1072034, 100000, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Jack Boots +(1011001, 1072069, 100000, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Jack Boots +(1011001, 1072079, 100000, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Hunter Boots +(1011001, 1072080, 100000, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Hunter Boots +(1011001, 1072081, 100000, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Hunter Boots +(1011001, 1072082, 100000, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Hunter Boots +(1011001, 1072083, 100000, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Hunter Boots +(1011001, 1072101, 100000, 0, 0, 66000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Silky Boots +(1011001, 1072102, 100000, 0, 0, 66000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Silky Boots +(1011001, 1072103, 100000, 0, 0, 66000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Silky Boots +(1011001, 1072118, 100000, 0, 0, 92000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Pierre Shoes +(1011001, 1072119, 100000, 0, 0, 92000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Yellow Pierre Shoes +(1011001, 1072120, 100000, 0, 0, 92000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Pierre Shoes +(1011001, 1072121, 100000, 0, 0, 92000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Pierre Shoes +(1011001, 1072012, 100000, 0, 0, 15000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Whitebottom Shoes +(1011001, 1072054, 100000, 0, 0, 15000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Orange Whitebottom Boots +(1011001, 1072055, 100000, 0, 0, 15000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Pink Whitebottom Boots +(1011001, 1072056, 100000, 0, 0, 15000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Whitebottom Boots +(1011001, 1072018, 100000, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Sneakers +(1011001, 1072064, 100000, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Sneakers +(1011001, 1082012, 100000, 0, 0, 4500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Basic Archer Gloves +(1011001, 1082015, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Diros +(1011001, 1082018, 100000, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Savata +(1011001, 1082050, 100000, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Marker +(1011001, 1082070, 100000, 0, 0, 66000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Gold Scaler +(1011001, 1082073, 100000, 0, 0, 92000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Brace + +# Luna (1011100) +(1011100, 4036031, 1000000000, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Roswaal's Mandarin Flower +(1011100, 4170050, 1000000000, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1000), # Andersen's Key +(1011100, 2432409, 100000, 0, 0, 100000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Magic Guard Mastery Book Coupon +(1011100, 2432410, 100000, 0, 0, 100000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Magic Booster Mastery Book Coupon +(1011100, 2432411, 100000, 0, 0, 100000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Critical Magic Mastery Book Coupon +(1011100, 2431789, 100000, 0, 0, 3000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Mastery Book 20 +(1011100, 2431790, 100000, 0, 0, 5000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Mastery Book 30 +(1011100, 2431935, 100000, 0, 0, 300000, 0, 0, 0, 0, 0, 0, 999, 999, 0, '', 0, 1, 0, 5), # Mastery Book 20 +(1011100, 2431936, 100000, 0, 0, 500000, 0, 0, 0, 0, 0, 0, 999, 999, 0, '', 0, 1, 0, 5), # Mastery Book 30 +(1011100, 2000000, 100000, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Red Potion +(1011100, 2000001, 100000, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Orange Potion +(1011100, 2000002, 100000, 0, 0, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # White Potion +(1011100, 2000003, 100000, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Blue Potion +(1011100, 2000006, 100000, 0, 0, 186, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Mana Elixir +(1011100, 2002000, 100000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Dexterity Potion +(1011100, 2002001, 100000, 0, 0, 400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Speed Potion +(1011100, 2002002, 100000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Magic Potion +(1011100, 2002004, 100000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Warrior Potion +(1011100, 2002005, 100000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Sniper Potion +(1011100, 2010000, 100000, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Apple +(1011100, 2010002, 100000, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Egg +(1011100, 2010001, 100000, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Meat +(1011100, 2010003, 100000, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Orange +(1011100, 2010004, 100000, 0, 0, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Lemon +(1011100, 2020028, 100000, 0, 0, 2100, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Chocolate +(1011100, 2120000, 1000000000, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9000), # Pet Food +(1011100, 2030000, 100000, 0, 0, 400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Return Scroll - Nearest Town +(1011100, 2030004, 100000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Return Scroll to Henesys +(1011100, 2060000, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9999), # Arrow for Bow +(1011100, 2061000, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9999), # Arrow for Crossbow +(1011100, 2060000, 0, 0, 0, 1400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 2000, 0, 9999), # Arrow for Bow +(1011100, 2061000, 0, 0, 0, 1400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 2000, 0, 9999), # Arrow for Crossbow +(1011100, 2050000, 100000, 0, 0, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Antidote +(1011100, 2050001, 100000, 0, 0, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Eyedrop +(1011100, 2050002, 100000, 0, 0, 300, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Tonic +(1011100, 2432805, 1000000, 0, 0, 50000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1000), # Appearance Reset Coupon + +# Lao (2091012) +(2091012, 2436812, 2000000000, 0, 0, 0, 0, 0, 3887, 5000, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Kemdi Scarecrow Summoning Sack +(2091012, 2436813, 2000000000, 0, 0, 0, 0, 0, 3887, 5000, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # So Gong Scarecrow Summoning Sack +(2091012, 3015240, 2000000000, 0, 0, 0, 0, 0, 3887, 99000, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Mini Mu Lung Dojo Chair +(2091012, 3015241, 2000000000, 0, 0, 0, 0, 0, 3887, 99000, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Mu Lung Scarecrow Chair +(2091012, 1082394, 2000000000, 0, 10080, 0, 0, 0, 3887, 70000, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # So Gong's Gloves +(2091012, 1082709, 2000000000, 0, 10080, 0, 0, 0, 3887, 70000, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # So Gong's Gloves +(2091012, 1082660, 2000000000, 0, 10080, 0, 0, 0, 3887, 50000, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Expert's Gloves +(2091012, 1082710, 2000000000, 0, 10080, 0, 0, 0, 3887, 50000, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Expert's Gloves +(2091012, 1082661, 2000000000, 0, 10080, 0, 0, 0, 3887, 30000, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Expert Apprentice's Gloves +(2091012, 1082711, 2000000000, 0, 10080, 0, 0, 0, 3887, 30000, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Expert's Apprentice Gloves +(2091012, 2434284, 2000000000, 0, 0, 0, 0, 0, 3887, 2000, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Mu Lung Dojo Unidentified Belt Box +(2091012, 2434285, 2000000000, 0, 0, 0, 0, 0, 3887, 2000, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Mu Lung Dojo Unidentified Gloves Box +(2091012, 2434286, 2000000000, 0, 10080, 0, 0, 0, 3887, 1500, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Unidentified Traits Growth Box +(2091012, 2434288, 2000000000, 0, 10080, 0, 0, 0, 3887, 6000, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Special Medal of Honor +(2091012, 2434287, 2000000000, 0, 10080, 0, 0, 0, 3887, 5000, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Mu Gong's Honor EXP Guarantee +(2091012, 1122215, 2000000000, 0, 4320, 0, 0, 0, 3887, 3000, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Pendant of the Spirit +(2091012, 4001851, 2000000000, 0, 10080, 0, 0, 0, 3887, 1500, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Unity Training Center Entrance Charm (30 minutes) +(2091012, 4001852, 2000000000, 0, 10080, 0, 0, 0, 3887, 3000, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Unity Training Center Entrance Charm (1 hour) +(2091012, 4001853, 2000000000, 0, 10080, 0, 0, 0, 3887, 8000, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Unity Training Center Entrance Charm (3 hours) +(2091012, 4001854, 2000000000, 0, 10080, 0, 0, 0, 3887, 15000, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Unity Training Center Entrance Charm (6 hours) +(2091012, 4001881, 2000000000, 0, 10080, 0, 0, 0, 3887, 22000, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Unity Training Center Entrance Charm (9 hours) +(2091012, 4001862, 2000000000, 0, 10080, 0, 0, 0, 3887, 28000, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Unity Training Center Entrance Charm (12 hours) +(2091012, 4001882, 2000000000, 0, 10080, 0, 0, 0, 3887, 54000, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Unity Training Center Entrance Charm (24 hours) +(2091012, 2049710, 2000000000, 0, 10080, 0, 0, 0, 3887, 15000, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Epic Potential Scroll 50% +(2091012, 2048311, 2000000000, 0, 10080, 0, 0, 0, 3887, 25000, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bonus Potential Scroll 50% +(2091012, 2590004, 2000000000, 0, 0, 0, 0, 0, 3887, 1000, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Prototype Soul Enchanter +(2091012, 4001832, 2000000000, 0, 0, 0, 0, 0, 3887, 800, 0, 0, 0, 0, 0, '', 0, 100, 0, 9000), # Spell Trace +(2091012, 2048724, 2000000000, 0, 10080, 0, 0, 0, 3887, 25000, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Powerful Rebirth Flame +(2091012, 2434289, 2000000000, 0, 10080, 0, 0, 0, 3887, 70000, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Mu Lung Dojo Damage Skin +(2091012, 2434325, 2000000000, 0, 0, 0, 0, 0, 3887, 2500, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Scarecrow Summoning Sack +(2091012, 2434330, 2000000000, 0, 0, 0, 0, 0, 3887, 2500, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Scarecrow Summoning Sack +(2091012, 2436812, 2000000000, 0, 0, 0, 0, 0, 3887, 5000, 0, 0, 999, 999, 0, '', 0, 1, 0, 300), # Kemdi Scarecrow Summoning Sack +(2091012, 2436813, 2000000000, 0, 0, 0, 0, 0, 3887, 5000, 0, 0, 999, 999, 0, '', 0, 1, 0, 300), # So Gong Scarecrow Summoning Sack + +# Kok Hua (9270057) +(9270057, 2000000, 1000000, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Red Potion +(9270057, 2000001, 1000000, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Orange Potion +(9270057, 2000002, 1000000, 0, 0, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # White Potion +(9270057, 2000003, 1000000, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Blue Potion +(9270057, 2000006, 1000000, 0, 0, 186, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Mana Elixir +(9270057, 2002000, 1000000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Dexterity Potion +(9270057, 2002001, 1000000, 0, 0, 400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Speed Potion +(9270057, 2002002, 1000000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Magic Potion +(9270057, 2002004, 1000000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Warrior Potion +(9270057, 2002005, 1000000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Sniper Potion +(9270057, 2022003, 1000000, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Unagi +(9270057, 2022000, 1000000, 0, 0, 1155, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Pure Water +(9270057, 2001000, 1000000, 0, 0, 3200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Watermelon +(9270057, 2001001, 1000000, 0, 0, 2300, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Ice Cream Pop +(9270057, 2001002, 1000000, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Very Special Sundae +(9270057, 2010000, 1000000, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Apple +(9270057, 2010002, 1000000, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Egg +(9270057, 2010001, 1000000, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Meat +(9270057, 2010003, 1000000, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Orange +(9270057, 2010004, 1000000, 0, 0, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Lemon +(9270057, 2020028, 100000, 0, 0, 2100, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Chocolate +(9270057, 2050000, 100000, 0, 0, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Antidote +(9270057, 2050001, 100000, 0, 0, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Eyedrop +(9270057, 2050002, 100000, 0, 0, 300, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Tonic +(9270057, 2050003, 100000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Holy Water +(9270057, 2030000, 100000, 0, 0, 400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Return Scroll - Nearest Town +(9270057, 2060000, 9999999, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9999), # Arrow for Bow +(9270057, 2061000, 9999999, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9999), # Arrow for Crossbow +(9270057, 2022015, 1000000, 0, 0, 12000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Mushroom Miso Ramen + +# Chiang (9270055) +(9270055, 1302008, 10000, 0, 0, 40000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Gladius +(9270055, 1302004, 10000, 0, 0, 100000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Cutlass +(9270055, 1302009, 10000, 0, 0, 225000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Traus +(9270055, 1312005, 10000, 0, 0, 40000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Fireman's Axe +(9270055, 1312006, 10000, 0, 0, 100000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dankke +(9270055, 1312007, 10000, 0, 0, 175000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Counter +(9270055, 1322014, 10000, 0, 0, 40000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # War Hammer +(9270055, 1322015, 10000, 0, 0, 100000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Heavy Hammer +(9270055, 1322016, 10000, 0, 0, 175000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Jacker +(9270055, 1332009, 10000, 0, 0, 42000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Cass +(9270055, 1332012, 10000, 0, 0, 40000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Reef Claw +(9270055, 1332001, 10000, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Halfmoon Zamadar +(9270055, 1332014, 10000, 0, 0, 375000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Gephart +(9270055, 1332011, 10000, 0, 0, 425000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bazlud +(9270055, 1372003, 10000, 0, 0, 38000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Mithril Wand +(9270055, 1372001, 10000, 0, 0, 175000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Wizard Wand +(9270055, 1372000, 10000, 0, 0, 400000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Fairy Wand +(9270055, 1382002, 10000, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Wizard Staff +(9270055, 1402002, 10000, 0, 0, 150000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Scimitar +(9270055, 1402006, 10000, 0, 0, 350000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Lionheart +(9270055, 1402007, 10000, 0, 0, 450000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Zard +(9270055, 1412006, 10000, 0, 0, 45000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Axe +(9270055, 1412004, 10000, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Niam +(9270055, 1412005, 10000, 0, 0, 250000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Sabretooth +(9270055, 1422001, 10000, 0, 0, 45000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Mithril Maul +(9270055, 1422008, 10000, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Sledgehammer +(9270055, 1422007, 10000, 0, 0, 250000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Titan +(9270055, 1432002, 10000, 0, 0, 60000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Forked Spear +(9270055, 1432003, 10000, 0, 0, 175000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Nakamaki +(9270055, 1432005, 10000, 0, 0, 225000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Zeco +(9270055, 1442001, 10000, 0, 0, 60000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Mithril Polearm +(9270055, 1442003, 10000, 0, 0, 175000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Axe Polearm +(9270055, 1442009, 10000, 0, 0, 300000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Crescent Polearm +(9270055, 1452005, 10000, 0, 0, 150000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Ryden +(9270055, 1452006, 10000, 0, 0, 250000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Viper +(9270055, 1452007, 10000, 0, 0, 375000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Vaulter 2000 +(9270055, 1462000, 10000, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Mountain Crossbow +(9270055, 1462004, 10000, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Eagle Crow +(9270055, 1462005, 10000, 0, 0, 250000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Heckler +(9270055, 1472001, 10000, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Steel Titans +(9270055, 1472004, 10000, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bronze Igor +(9270055, 1472007, 10000, 0, 0, 60000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Meba +(9270055, 1482003, 1000, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Norman Grip +(9270055, 1482004, 1000, 0, 0, 52000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Prime Hands +(9270055, 1482005, 1000, 0, 0, 100000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Silver Maiden +(9270055, 1482006, 1000, 0, 0, 150000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Neozard +(9270055, 1492003, 1000, 0, 0, 22000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Golden Hook +(9270055, 1492004, 1000, 0, 0, 50000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Cold Mind +(9270055, 1492005, 1000, 0, 0, 100000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Shooting Star +(9270055, 1492006, 1000, 0, 0, 160000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Lunar Shooter + +# Riduan (9270056) +(9270056, 1002004, 10000, 0, 0, 160000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Great Brown Helmet +(9270056, 1040000, 10000, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Yellow Jangoon Armor +(9270056, 1040085, 10000, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Maroon Jangoon Armor +(9270056, 1041084, 10000, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Jangoon Armor +(9270056, 1041085, 10000, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Jangoon Armor +(9270056, 1050000, 10000, 0, 0, 112500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # White Crusader Chainmail +(9270056, 1050021, 10000, 0, 0, 112500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Crusader Chainmail +(9270056, 1051001, 10000, 0, 0, 112500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Emerald Fitted Mail +(9270056, 1051014, 10000, 0, 0, 112500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Sapphire Fitted Mail +(9270056, 1060075, 10000, 0, 0, 180000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Jangoon Pants +(9270056, 1060074, 10000, 0, 0, 180000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # White Jangoon Pants +(9270056, 1061083, 10000, 0, 0, 180000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Jangoon Skirt +(9270056, 1061084, 10000, 0, 0, 180000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Jangoon Skirt +(9270056, 1092001, 10000, 0, 0, 100000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Triangular Shield +(9270056, 1092002, 10000, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Cross Shield +(9270056, 1002141, 10000, 0, 0, 96000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Matty +(9270056, 1002142, 10000, 0, 0, 96000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Matty +(9270056, 1002143, 10000, 0, 0, 96000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Matty +(9270056, 1002144, 10000, 0, 0, 96000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Matty +(9270056, 1041052, 10000, 0, 0, 120000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Amoria Top +(9270056, 1041051, 10000, 0, 0, 120000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Amoria Top +(9270056, 1050031, 10000, 0, 0, 300000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # White Chaos Robe +(9270056, 1050002, 10000, 0, 0, 300000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blood Chaos Robe +(9270056, 1050035, 10000, 0, 0, 450000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Starlight +(9270056, 1050038, 10000, 0, 0, 450000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Starlight +(9270056, 1050036, 10000, 0, 0, 450000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Starlight +(9270056, 1050037, 10000, 0, 0, 450000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Starlight +(9270056, 1051023, 10000, 0, 0, 450000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Purple Moonlight +(9270056, 1051025, 10000, 0, 0, 450000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Moonlight +(9270056, 1051024, 10000, 0, 0, 450000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Moonlight +(9270056, 1051027, 10000, 0, 0, 450000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Moonlight +(9270056, 1061048, 10000, 0, 0, 120000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Amoria Skirt +(9270056, 1061047, 10000, 0, 0, 120000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Amoria Skirt +(9270056, 1002138, 10000, 0, 0, 100000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Pole-Feather Hat +(9270056, 1002139, 10000, 0, 0, 100000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Pole-Feather Hat +(9270056, 1002135, 10000, 0, 0, 100000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Pole-Feather Hat +(9270056, 1002137, 10000, 0, 0, 100000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Pole-Feather Hat +(9270056, 1040072, 10000, 0, 0, 114000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Legolier +(9270056, 1040073, 10000, 0, 0, 114000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Legolier +(9270056, 1040074, 10000, 0, 0, 114000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Legolier +(9270056, 1040076, 10000, 0, 0, 114000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Legolier +(9270056, 1040081, 10000, 0, 0, 180000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # White Piette +(9270056, 1040079, 10000, 0, 0, 180000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Piette +(9270056, 1041066, 10000, 0, 0, 114000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Legolia +(9270056, 1041069, 10000, 0, 0, 114000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Legolia +(9270056, 1041065, 10000, 0, 0, 114000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Legolia +(9270056, 1041067, 10000, 0, 0, 114000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Legolia +(9270056, 1041082, 10000, 0, 0, 180000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Piettra +(9270056, 1041081, 10000, 0, 0, 180000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # White Piettra +(9270056, 1060062, 10000, 0, 0, 108000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Legolier Pants +(9270056, 1060065, 10000, 0, 0, 108000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Legolier Pants +(9270056, 1060061, 10000, 0, 0, 108000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Legolier Pants +(9270056, 1060063, 10000, 0, 0, 108000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Legolier Pants +(9270056, 1060070, 10000, 0, 0, 160000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Piette Pants +(9270056, 1060069, 10000, 0, 0, 160000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Piette Pants +(9270056, 1061061, 10000, 0, 0, 108000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Legolia Pants +(9270056, 1061064, 10000, 0, 0, 108000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Legolia Pants +(9270056, 1061060, 10000, 0, 0, 108000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Legolia Pants +(9270056, 1061062, 10000, 0, 0, 108000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Legolia Pants +(9270056, 1061081, 10000, 0, 0, 160000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Piettra Skirt +(9270056, 1061080, 10000, 0, 0, 160000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # White Piettra Skirt +(9270056, 1002176, 10000, 0, 0, 100000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Burgler +(9270056, 1002177, 10000, 0, 0, 100000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Burglar +(9270056, 1002178, 10000, 0, 0, 100000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Burgler +(9270056, 1002179, 10000, 0, 0, 100000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Burgler +(9270056, 1002180, 10000, 0, 0, 100000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Burglar +(9270056, 1040063, 10000, 0, 0, 114000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Knucklevest +(9270056, 1040062, 10000, 0, 0, 114000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Knucklevest +(9270056, 1040061, 10000, 0, 0, 114000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Knucklevest +(9270056, 1040082, 10000, 0, 0, 180000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Khaki Shadow +(9270056, 1040083, 10000, 0, 0, 180000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Marine Shadow +(9270056, 1041075, 10000, 0, 0, 180000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Shadow +(9270056, 1041074, 10000, 0, 0, 180000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Purple Shadow +(9270056, 1051007, 10000, 0, 0, 111000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Avenger +(9270056, 1051008, 10000, 0, 0, 111000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Avenger +(9270056, 1051009, 10000, 0, 0, 111000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Purple Avenger +(9270056, 1060051, 10000, 0, 0, 108000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Knucklevest Pants +(9270056, 1060050, 10000, 0, 0, 108000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Knucklevest Pants +(9270056, 1060052, 10000, 0, 0, 108000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Knucklevest Pants +(9270056, 1060071, 10000, 0, 0, 160000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Khaki Shadow Pants +(9270056, 1060072, 10000, 0, 0, 160000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Marine Shadow Pants +(9270056, 1061070, 10000, 0, 0, 160000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Shadow Pants +(9270056, 1061069, 10000, 0, 0, 160000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Purple Shadow Pants + +# Laku (9071001) +(9071001, 4170050, 100000000, 2, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1000), # Andersen's Key +(9071001, 2550000, 2000000000, 7, 0, 0, 4310020, 30, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Spiegelmann's Badge Chest +(9071001, 1012270, 2000000000, 7, 7200, 0, 4310020, 50, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Spiegelmann's Mustache +(9071001, 1162008, 2000000000, 7, 10080, 0, 4310020, 100, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Spiegelmann's Autograph +(9071001, 2430275, 2000000000, 7, 0, 0, 4310020, 70, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Spiegelmann's Hot-Air Balloon 7-Day Coupon +(9071001, 2023125, 2000000000, 7, 0, 0, 4310020, 5, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Extreme Red Potion +(9071001, 2023126, 2000000000, 7, 0, 0, 4310020, 5, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Extreme Green Potion +(9071001, 2023127, 2000000000, 7, 0, 0, 4310020, 5, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Extreme Blue Potion +(9071001, 2023128, 2000000000, 7, 0, 0, 4310020, 10, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Extreme Gold Potion +(9071001, 1122219, 2000000000, 7, 0, 0, 4310020, 150, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Greed Pendant +(9071001, 2434824, 2000000000, 7, 0, 0, 4310020, 50, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Monster Park Damage Skin +(9071001, 2000000, 9999999, 2, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Red Potion +(9071001, 2000001, 9999999, 2, 0, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Orange Potion +(9071001, 2000002, 9999999, 2, 0, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # White Potion +(9071001, 2000003, 9999999, 2, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Blue Potion +(9071001, 2000006, 9999999, 2, 0, 186, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Mana Elixir +(9071001, 2002000, 9999999, 2, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Dexterity Potion +(9071001, 2002001, 9999999, 2, 0, 400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Speed Potion +(9071001, 2002002, 9999999, 2, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Magic Potion +(9071001, 2002004, 9999999, 2, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Warrior Potion +(9071001, 2002005, 9999999, 2, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Sniper Potion +(9071001, 2001000, 9999999, 2, 0, 3200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Watermelon +(9071001, 2001001, 9999999, 2, 0, 2300, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Ice Cream Pop +(9071001, 2001002, 9999999, 2, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Very Special Sundae +(9071001, 2010000, 9999999, 2, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Apple +(9071001, 2010002, 9999999, 2, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Egg +(9071001, 2010001, 9999999, 2, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Meat +(9071001, 2010003, 9999999, 2, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Orange +(9071001, 2010004, 9999999, 2, 0, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Lemon +(9071001, 2020012, 9999999, 2, 0, 4500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Melting Cheese +(9071001, 2020013, 9999999, 2, 0, 5600, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Reindeer Milk +(9071001, 2020014, 9999999, 2, 0, 8100, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Sunrise Dew +(9071001, 2020015, 9999999, 2, 0, 10200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Sunset Dew +(9071001, 2060000, 9999999, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9999), # Arrow for Bow +(9071001, 2061000, 9999999, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9999), # Arrow for Crossbow +(9071001, 2060000, 9999999, 2, 0, 1400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 2000, 0, 9999), # Arrow for Bow +(9071001, 2061000, 9999999, 2, 0, 1400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 2000, 0, 9999), # Arrow for Crossbow +(9071001, 2060001, 9999999, 2, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9999), # Bronze Arrow for Bow +(9071001, 2061001, 9999999, 2, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9999), # Bronze Arrow for Crossbow + +# Serabi the Fairy (1031001) +(1031001, 1002017, 100000, 0, 0, 1200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Apprentice Hat +(1031001, 1002102, 100000, 0, 0, 3800, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Moon Conehat +(1031001, 1002103, 100000, 0, 0, 3800, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Pink Moon Conehat +(1031001, 1002104, 100000, 0, 0, 3800, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Moon Conehat +(1031001, 1002105, 100000, 0, 0, 3800, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Moon Conehat +(1031001, 1002106, 100000, 0, 0, 3800, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Moon Conehat +(1031001, 1002016, 100000, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Wizardry Hat +(1031001, 1002034, 100000, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Jester +(1031001, 1002035, 100000, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Pink Jester +(1031001, 1002036, 100000, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Jester +(1031001, 1002037, 100000, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Jester +(1031001, 1002038, 100000, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Jester +(1031001, 1002141, 100000, 0, 0, 66000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Matty +(1031001, 1002142, 100000, 0, 0, 66000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Matty +(1031001, 1002143, 100000, 0, 0, 66000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Matty +(1031001, 1002144, 100000, 0, 0, 66000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Matty +(1031001, 1002151, 100000, 0, 0, 92000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Guiltian +(1031001, 1002152, 100000, 0, 0, 92000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Guiltian +(1031001, 1002153, 100000, 0, 0, 92000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Guiltian +(1031001, 1002154, 100000, 0, 0, 92000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Guiltian +(1031001, 1002155, 100000, 0, 0, 92000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # White Guiltian +(1031001, 1040004, 100000, 0, 0, 2000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Training Shirt +(1031001, 1040017, 100000, 0, 0, 2000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Grey / Brown Training Shirt +(1031001, 1040018, 100000, 0, 0, 8500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Split Piece +(1031001, 1040019, 100000, 0, 0, 8500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Orange Split Piece +(1031001, 1040020, 100000, 0, 0, 8500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Split Piece +(1031001, 1041015, 100000, 0, 0, 2000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Armine +(1031001, 1041016, 100000, 0, 0, 2000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Armine +(1031001, 1041017, 100000, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Purple Arianne +(1031001, 1041018, 100000, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Arianne +(1031001, 1041025, 100000, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Pink Arianne +(1031001, 1041026, 100000, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Yellow Arianne +(1031001, 1041029, 100000, 0, 0, 8500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Split +(1031001, 1041030, 100000, 0, 0, 8500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Split +(1031001, 1041031, 100000, 0, 0, 8500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Purple Split +(1031001, 1041041, 100000, 0, 0, 42000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Purple Fairy Top +(1031001, 1041042, 100000, 0, 0, 42000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Fairy Top +(1031001, 1041043, 100000, 0, 0, 42000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Fairy Top +(1031001, 1041052, 100000, 0, 0, 67500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Amoria Top +(1031001, 1041051, 100000, 0, 0, 67500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Amoria Top +(1031001, 1050008, 100000, 0, 0, 7000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Beige Plain Robe +(1031001, 1050009, 100000, 0, 0, 7000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Plain Robe +(1031001, 1050010, 100000, 0, 0, 7000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Plain Robe +(1031001, 1050001, 100000, 0, 0, 16000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Doros Robe +(1031001, 1050023, 100000, 0, 0, 16000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Doros Robe +(1031001, 1050024, 100000, 0, 0, 16000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Yellow Doros Robe +(1031001, 1050025, 100000, 0, 0, 16000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # White Doros Robe +(1031001, 1050003, 100000, 0, 0, 60000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Wizard Robe +(1031001, 1050026, 100000, 0, 0, 60000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # White Wizard Robe +(1031001, 1050027, 100000, 0, 0, 60000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Mage Robe +(1031001, 1050028, 100000, 0, 0, 60000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Wizard Robe +(1031001, 1051004, 100000, 0, 0, 16000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Purple Doroness Robe +(1031001, 1051005, 100000, 0, 0, 16000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Doroness Robe +(1031001, 1051003, 100000, 0, 0, 16000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Doroness Robe +(1031001, 1050031, 100000, 0, 0, 100000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # White Chaos Robe +(1031001, 1050002, 100000, 0, 0, 100000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blood Chaos Robe +(1031001, 1050035, 100000, 0, 0, 120000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Starlight +(1031001, 1050038, 100000, 0, 0, 120000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Starlight +(1031001, 1050036, 100000, 0, 0, 120000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Starlight +(1031001, 1050037, 100000, 0, 0, 120000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Starlight +(1031001, 1051023, 100000, 0, 0, 120000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Purple Moonlight +(1031001, 1051025, 100000, 0, 0, 120000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Moonlight +(1031001, 1051024, 100000, 0, 0, 120000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Moonlight +(1031001, 1051027, 100000, 0, 0, 120000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Moonlight +(1031001, 1060012, 100000, 0, 0, 2000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Training Pants +(1031001, 1060013, 100000, 0, 0, 2000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Grey / Brown Training Pants +(1031001, 1060014, 100000, 0, 0, 8000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Split Pants +(1031001, 1060015, 100000, 0, 0, 8000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # White Split Pants +(1031001, 1061010, 100000, 0, 0, 2000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Armine Skirt +(1031001, 1061011, 100000, 0, 0, 2000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Armine Skirt +(1031001, 1061012, 100000, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Purple Arianne Skirt +(1031001, 1061013, 100000, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Arianne Skirt +(1031001, 1061021, 100000, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Pink Arianne Skirt +(1031001, 1061022, 100000, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Yellow Arianne Skirt +(1031001, 1061027, 100000, 0, 0, 8000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Split Skirt +(1031001, 1061028, 100000, 0, 0, 8000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # White Split Skirt +(1031001, 1061034, 100000, 0, 0, 40000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Purple Fairy Skirt +(1031001, 1061035, 100000, 0, 0, 40000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Fairy Skirt +(1031001, 1061036, 100000, 0, 0, 40000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Fairy Skirt +(1031001, 1061048, 100000, 0, 0, 67500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Amoria Skirt +(1031001, 1061047, 100000, 0, 0, 67500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Amoria Skirt +(1031001, 1072006, 100000, 0, 0, 1500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Basic Boots +(1031001, 1072044, 100000, 0, 0, 1500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Yellow Basic Boots +(1031001, 1072045, 100000, 0, 0, 1500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Basic Boots +(1031001, 1072023, 100000, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Beige Nitty +(1031001, 1072024, 100000, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Nitty +(1031001, 1072019, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Jewelry Boots +(1031001, 1072020, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Purple Jewelry Boots +(1031001, 1072021, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Jewelry Boots +(1031001, 1072072, 100000, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Silver Windshoes +(1031001, 1072073, 100000, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Yellow Windshoes +(1031001, 1072074, 100000, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Windshoes +(1031001, 1072075, 100000, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Magicshoes +(1031001, 1072076, 100000, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Magicshoes +(1031001, 1072077, 100000, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # White Magicshoes +(1031001, 1072078, 100000, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Magicshoes +(1031001, 1072089, 100000, 0, 0, 66000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Purple Salt Shoes +(1031001, 1072090, 100000, 0, 0, 66000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Salt Shoes +(1031001, 1072091, 100000, 0, 0, 66000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Salt Shoes +(1031001, 1072114, 100000, 0, 0, 92000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Moon Shoes +(1031001, 1072115, 100000, 0, 0, 92000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Moon Shoes +(1031001, 1072116, 100000, 0, 0, 92000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Gold Moon Shoes +(1031001, 1072117, 100000, 0, 0, 92000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Moon Shoes +(1031001, 1082019, 100000, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Lemona +(1031001, 1082022, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Purple Morrican +(1031001, 1082028, 100000, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Mesana +(1031001, 1082053, 100000, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Lutia +(1031001, 1082056, 100000, 0, 0, 66000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Noel +(1031001, 1082064, 100000, 0, 0, 92000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Arten + +# Flora the Fairy (1031000) +(1031000, 1252001, 100, 0, 0, 2000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Beast Tamer Scepter +(1031000, 1552049, 100, 0, 0, 5000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Iron Fan +(1031000, 1552050, 100, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Metallic Fan +(1031000, 1552051, 100, 0, 0, 38000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Triple Fan +(1031000, 1552052, 10000, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Crane Fan +(1031000, 1372005, 100000, 0, 0, 2000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Wooden Wand +(1031000, 1372006, 100000, 0, 0, 5000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Hardwood Wand +(1031000, 1372002, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Metal Wand +(1031000, 1372004, 100000, 0, 0, 18000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Ice Wand +(1031000, 1372003, 100000, 0, 0, 38000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Mithril Wand +(1031000, 1372001, 100000, 0, 0, 80000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Wizard Wand +(1031000, 1372000, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Fairy Wand +(1031000, 1382000, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Wooden Staff +(1031000, 1382003, 100000, 0, 0, 6000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Sapphire Staff +(1031000, 1382005, 100000, 0, 0, 6000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Emerald Staff +(1031000, 1382004, 100000, 0, 0, 10000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Old Wooden Staff +(1031000, 1382002, 100000, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Wizard Staff +(1031000, 1382017, 100000, 0, 0, 38000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Circle-Winded Staff +(1031000, 1382018, 100000, 0, 0, 80000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Petal Staff +(1031000, 1382019, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Hall Staff +(1031000, 1322002, 100000, 0, 0, 10000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Iron Mace +(1031000, 1212001, 100000, 0, 0, 2000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Plain +(1031000, 1212002, 100000, 0, 0, 38000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Golden Shine +(1031000, 1212003, 100000, 0, 0, 230000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Decor + +# River (1021000) +(1021000, 1542049, 100, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Simple Iron Sword +(1021000, 1542050, 100, 0, 0, 10000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Steel Slicer +(1021000, 1542051, 100, 0, 0, 40000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Iron Guardian +(1021000, 1542052, 100, 0, 0, 140000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bare Blade +(1021000, 1302007, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Long Sword +(1021000, 1302005, 100000, 0, 0, 6000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Sabre +(1021000, 1302002, 100000, 0, 0, 10000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Viking Sword +(1021000, 1302006, 100000, 0, 0, 10000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Machete +(1021000, 1302003, 100000, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Eloon +(1021000, 1302008, 100000, 0, 0, 40000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Gladius +(1021000, 1302004, 100000, 0, 0, 80000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Cutlass +(1021000, 1302009, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Traus +(1021000, 1332006, 100000, 0, 0, 6000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Field Dagger +(1021000, 1332008, 100000, 0, 0, 10000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Coconut Knife +(1021000, 1332010, 100000, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Iron Dagger +(1021000, 1312001, 100000, 0, 0, 6000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Battle Axe +(1021000, 1312003, 100000, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Mithril Axe +(1021000, 1312005, 100000, 0, 0, 40000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Fireman's Axe +(1021000, 1312006, 100000, 0, 0, 80000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dankke +(1021000, 1312007, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Counter +(1021000, 1322000, 100000, 0, 0, 6000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Mace +(1021000, 1322002, 100000, 0, 0, 10000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Iron Mace +(1021000, 1322004, 100000, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Fusion Mace +(1021000, 1322014, 100000, 0, 0, 40000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # War Hammer +(1021000, 1322015, 100000, 0, 0, 80000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Heavy Hammer +(1021000, 1322016, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Jacker +(1021000, 1342000, 100000, 0, 0, 10000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Champion Katara +(1021000, 1342001, 100000, 0, 0, 40000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Guardian Katara +(1021000, 1402001, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Wooden Sword +(1021000, 1402000, 100000, 0, 0, 10000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Two-Handed Sword +(1021000, 1402008, 100000, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Broadsword +(1021000, 1402002, 100000, 0, 0, 40000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Scimitar +(1021000, 1402006, 100000, 0, 0, 80000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Lionheart +(1021000, 1402007, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Zard +(1021000, 1412001, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Metal Axe +(1021000, 1412002, 100000, 0, 0, 10000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Steel Axe +(1021000, 1412000, 100000, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Two-Handed Axe +(1021000, 1412006, 100000, 0, 0, 40000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Axe +(1021000, 1412004, 100000, 0, 0, 80000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Niam +(1021000, 1412005, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Sabretooth +(1021000, 1422000, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Wooden Mallet +(1021000, 1422002, 100000, 0, 0, 6000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Heavy Mace +(1021000, 1422003, 100000, 0, 0, 10000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Square Hammer +(1021000, 1422006, 100000, 0, 0, 10000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Pickaxe +(1021000, 1422004, 100000, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Monkey Wrench +(1021000, 1422001, 100000, 0, 0, 40000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Mithril Maul +(1021000, 1422008, 100000, 0, 0, 80000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Sledgehammer +(1021000, 1422007, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Titan +(1021000, 1432000, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Spear +(1021000, 1432001, 100000, 0, 0, 7000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Fork on a Stick +(1021000, 1432008, 100000, 0, 0, 12000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Fish Spear +(1021000, 1432002, 100000, 0, 0, 40000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Forked Spear +(1021000, 1432003, 100000, 0, 0, 80000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Nakamaki +(1021000, 1432005, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Zeco +(1021000, 1442000, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Polearm +(1021000, 1442006, 100000, 0, 0, 8000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Iron Ball +(1021000, 1442007, 100000, 0, 0, 12000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Studded Polearm +(1021000, 1442004, 100000, 0, 0, 24000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Janitor's Mop +(1021000, 1442001, 100000, 0, 0, 40000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Mithril Polearm +(1021000, 1442003, 100000, 0, 0, 80000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Axe Polearm +(1021000, 1442009, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Crescent Polearm + +# Harry (1021001) +(1021001, 1002043, 100000, 0, 0, 2400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bronze Coif +(1021001, 1002039, 100000, 0, 0, 2700, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bronze Helmet +(1021001, 1002051, 100000, 0, 0, 3500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bronze Full Helm +(1021001, 1002055, 100000, 0, 0, 10000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bronze Football Helmet +(1021001, 1002059, 100000, 0, 0, 10000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bronze Viking Helm +(1021001, 1002027, 100000, 0, 0, 11500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Steel Sharp Helm +(1021001, 1002005, 100000, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Iron Burgernet Helm +(1021001, 1002023, 100000, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Jousting Helmet +(1021001, 1002048, 100000, 0, 0, 66000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Great Blue Helmet +(1021001, 1002021, 100000, 0, 0, 92000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Steel Nordic Helm +(1021001, 1040015, 100000, 0, 0, 3200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Lolico Armor +(1021001, 1040038, 100000, 0, 0, 3200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Lolico Armor +(1021001, 1040009, 100000, 0, 0, 5500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Steel Corporal +(1021001, 1040037, 100000, 0, 0, 5500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Corporal +(1021001, 1040012, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Sergeant +(1021001, 1040039, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Sergeant +(1021001, 1040040, 100000, 0, 0, 16000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Silver Master Sergeant +(1021001, 1040016, 100000, 0, 0, 16000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Orihalcon Master Sergeant +(1021001, 1040041, 100000, 0, 0, 16000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Master Sergeant +(1021001, 1040021, 100000, 0, 0, 45000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Hwarang Shirt +(1021001, 1040026, 100000, 0, 0, 45000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Hwarang Shirt +(1021001, 1041014, 100000, 0, 0, 3200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Orange Lolica Armor +(1021001, 1041064, 100000, 0, 0, 3200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blueberry Lolica Armor +(1021001, 1041019, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Lamelle +(1021001, 1041020, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Lamelle +(1021001, 1041021, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Lamelle +(1021001, 1041022, 100000, 0, 0, 16000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Shark +(1021001, 1041023, 100000, 0, 0, 16000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Sky Shark +(1021001, 1041024, 100000, 0, 0, 16000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Shark +(1021001, 1050005, 100000, 0, 0, 15000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Kendo Robe +(1021001, 1050006, 100000, 0, 0, 15000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Kendo Robe +(1021001, 1050007, 100000, 0, 0, 15000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # White Kendo Robe +(1021001, 1050011, 100000, 0, 0, 70000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Dragon Robe +(1021001, 1051000, 100000, 0, 0, 8000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Steel Fitted Mail +(1021001, 1051010, 100000, 0, 0, 60000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Engrit +(1021001, 1051011, 100000, 0, 0, 60000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Engrit +(1021001, 1051012, 100000, 0, 0, 60000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Engrit +(1021001, 1051013, 100000, 0, 0, 60000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Yellow Engrit +(1021001, 1040000, 100000, 0, 0, 81000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Yellow Jangoon Armor +(1021001, 1040085, 100000, 0, 0, 81000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Maroon Jangoon Armor +(1021001, 1041084, 100000, 0, 0, 81000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Jangoon Armor +(1021001, 1041085, 100000, 0, 0, 81000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Jangoon Armor +(1021001, 1050000, 100000, 0, 0, 100000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # White Crusader Chainmail +(1021001, 1050021, 100000, 0, 0, 100000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Crusader Chainmail +(1021001, 1051001, 100000, 0, 0, 100000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Emerald Fitted Mail +(1021001, 1051014, 100000, 0, 0, 100000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Sapphire Fitted Mail +(1021001, 1060075, 100000, 0, 0, 81000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Jangoon Pants +(1021001, 1060074, 100000, 0, 0, 81000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # White Jangoon Pants +(1021001, 1061083, 100000, 0, 0, 81000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Jangoon Skirt +(1021001, 1061084, 100000, 0, 0, 81000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Jangoon Skirt +(1021001, 1060008, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Lolico Pants +(1021001, 1060028, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Lolico Pants +(1021001, 1060009, 100000, 0, 0, 5000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Steel Corporal Pants +(1021001, 1060027, 100000, 0, 0, 5000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Corporal Pants +(1021001, 1060010, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Steel Sergeant Kilt +(1021001, 1060029, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Sergeant Kilt +(1021001, 1060011, 100000, 0, 0, 14000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Orihalcon Master Sergeant Kilt +(1021001, 1060030, 100000, 0, 0, 14000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Master Sergeant Kilt +(1021001, 1060060, 100000, 0, 0, 14000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Silver Master Sergeant Kilt +(1021001, 1060016, 100000, 0, 0, 45000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Martial Arts Pants +(1021001, 1060017, 100000, 0, 0, 45000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # White Martial Arts Pants +(1021001, 1060018, 100000, 0, 0, 45000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Martial Arts Pants +(1021001, 1060019, 100000, 0, 0, 45000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Martial Arts Pants +(1021001, 1061014, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Rookie Pants +(1021001, 1061023, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Sophia Pants +(1021001, 1061016, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Ramel Skirt +(1021001, 1061017, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Ramel Skirt +(1021001, 1061018, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Ramel Skirt +(1021001, 1061015, 100000, 0, 0, 14000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Shark Skirt +(1021001, 1061019, 100000, 0, 0, 14000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Sky Shark Skirt +(1021001, 1061020, 100000, 0, 0, 14000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Shark Skirt +(1021001, 1072009, 100000, 0, 0, 5000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Steel Greaves +(1021001, 1072050, 100000, 0, 0, 5000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bronze Greaves +(1021001, 1072007, 100000, 0, 0, 10000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown High Boots +(1021001, 1072046, 100000, 0, 0, 10000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Orange High Boots +(1021001, 1072047, 100000, 0, 0, 10000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue High Boots +(1021001, 1072011, 100000, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Mithril War Boots +(1021001, 1072051, 100000, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Silver War Boots +(1021001, 1072052, 100000, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark War Boots +(1021001, 1072053, 100000, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Gold War Boots +(1021001, 1072039, 100000, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Mithril Battle Greaves +(1021001, 1072040, 100000, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Silver Battle Greaves +(1021001, 1072041, 100000, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blood Battle Greaves +(1021001, 1072112, 100000, 0, 0, 66000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Mithril Trigger +(1021001, 1072113, 100000, 0, 0, 66000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Trigger +(1021001, 1072126, 100000, 0, 0, 92000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Maroon Jangoon Shoes +(1021001, 1072127, 100000, 0, 0, 92000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Jangoon Shoes +(1021001, 1082003, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Juno +(1021001, 1082000, 100000, 0, 0, 5000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Steel Fingerless Gloves +(1021001, 1082004, 100000, 0, 0, 10000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Venon +(1021001, 1082001, 100000, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # White Fingerless Gloves +(1021001, 1082006, 100000, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Orihalcon Missel +(1021001, 1082036, 100000, 0, 0, 66000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Briggon +(1021001, 1082025, 100000, 0, 0, 92000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Knuckle +(1021001, 1092005, 100000, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Wooden Buckler +(1021001, 1092000, 100000, 0, 0, 6000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Steel Shield +(1021001, 1092001, 100000, 0, 0, 100000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Triangular Shield +(1021001, 1092002, 100000, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Cross Shield + +# Arturo (1021100) +(1021100, 4036033, 1000000000, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Roswaal's Magic Powder +(1021100, 4170050, 100000000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1000), # Andersen's Key +(1021100, 2000000, 100000, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Red Potion +(1021100, 2000001, 100000, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Orange Potion +(1021100, 2000002, 100000, 0, 0, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # White Potion +(1021100, 2000003, 100000, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Blue Potion +(1021100, 2000006, 100000, 0, 0, 186, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Mana Elixir +(1021100, 2002000, 100000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Dexterity Potion +(1021100, 2002001, 100000, 0, 0, 400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Speed Potion +(1021100, 2002002, 100000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Magic Potion +(1021100, 2002004, 100000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Warrior Potion +(1021100, 2002005, 100000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Sniper Potion +(1021100, 2010000, 10000, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Apple +(1021100, 2010002, 10000, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Egg +(1021100, 2010001, 10000, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Meat +(1021100, 2010003, 10000, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Orange +(1021100, 2010004, 100000, 0, 0, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Lemon +(1021100, 2120000, 1000000000, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9000), # Pet Food +(1021100, 2030000, 100000, 0, 0, 400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Return Scroll - Nearest Town +(1021100, 2030003, 100000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Return Scroll to Perion +(1021100, 2060000, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9999), # Arrow for Bow +(1021100, 2061000, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9999), # Arrow for Crossbow +(1021100, 2060000, 0, 0, 0, 1400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 2000, 0, 9999), # Arrow for Bow +(1021100, 2061000, 0, 0, 0, 1400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 2000, 0, 9999), # Arrow for Crossbow +(1021100, 2050000, 100000, 0, 0, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Antidote +(1021100, 2050001, 100000, 0, 0, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Eyedrop +(1021100, 2050002, 100000, 0, 0, 300, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Tonic +(1021100, 2432805, 1000000, 0, 0, 50000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1000), # Appearance Reset Coupon + +# Cutthroat Manny (1051000) +(1051000, 1302007, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Long Sword +(1051000, 1332000, 100000, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Triangular Zamadar +(1051000, 1332006, 100000, 0, 0, 7000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Field Dagger +(1051000, 1332002, 100000, 0, 0, 8000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Triple-Tipped Zamadar +(1051000, 1332008, 100000, 0, 0, 10000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Coconut Knife +(1051000, 1332013, 100000, 0, 0, 15000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Stinger +(1051000, 1332010, 100000, 0, 0, 22000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Iron Dagger +(1051000, 1332004, 100000, 0, 0, 38000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Forked Dagger +(1051000, 1332012, 100000, 0, 0, 40000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Reef Claw +(1051000, 1332014, 100000, 0, 0, 80000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Gephart +(1051000, 1332001, 100000, 0, 0, 80000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Halfmoon Zamadar +(1051000, 1332011, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bazlud +(1051000, 1332031, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dragon Toenail +(1051000, 1332009, 100000, 0, 0, 42000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Cass +(1051000, 1322009, 100000, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Plunger +(1051000, 1402001, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Wooden Sword +(1051000, 1412001, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Metal Axe +(1051000, 1422000, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Wooden Mallet +(1051000, 1432000, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Spear +(1051000, 1432001, 100000, 0, 0, 7000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Fork on a Stick +(1051000, 1442000, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Polearm +(1051000, 1472000, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Garnier +(1051000, 1472001, 100000, 0, 0, 7000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Steel Titans +(1051000, 1472002, 100000, 0, 0, 7000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Mithril Titans +(1051000, 1472003, 100000, 0, 0, 7000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Gold Titans +(1051000, 1472004, 100000, 0, 0, 10000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bronze Igor +(1051000, 1472005, 100000, 0, 0, 10000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Steel Igor +(1051000, 1472006, 100000, 0, 0, 10000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Adamantium Igor +(1051000, 1472007, 100000, 0, 0, 15000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Meba +(1051000, 1472008, 100000, 0, 0, 40000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Steel Guards +(1051000, 1472009, 100000, 0, 0, 40000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Mithril Guards +(1051000, 1472010, 100000, 0, 0, 40000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Adamantium Guards +(1051000, 1472011, 100000, 0, 0, 80000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bronze Guardian +(1051000, 1472012, 100000, 0, 0, 80000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Silver Guardian +(1051000, 1472013, 100000, 0, 0, 80000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Guardian +(1051000, 1472014, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Steel Avarice +(1051000, 1472015, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blood Avarice +(1051000, 1472016, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Adamantium Avarice +(1051000, 1342000, 100000, 0, 0, 10000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Champion Katara +(1051000, 1342001, 100000, 0, 0, 42000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Guardian Katara +(1051000, 1342002, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Justice Katara + +# Don Hwang (1051001) +(1051001, 1002122, 100000, 0, 0, 900, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Ghetto Beanie +(1051001, 1002123, 100000, 0, 0, 900, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Ghetto Beanie +(1051001, 1002124, 100000, 0, 0, 900, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Ghetto Beanie +(1051001, 1002125, 100000, 0, 0, 900, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Ghetto Beanie +(1051001, 1002126, 100000, 0, 0, 900, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Ghetto Beanie +(1051001, 1002001, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Metal Gear +(1051001, 1002107, 100000, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Thief Hood +(1051001, 1002108, 100000, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Thief Hood +(1051001, 1002109, 100000, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Thief Hood +(1051001, 1002110, 100000, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Thief Hood +(1051001, 1002111, 100000, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Yellow Thief Hood +(1051001, 1002127, 100000, 0, 0, 12000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Loosecap +(1051001, 1002128, 100000, 0, 0, 12000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Loosecap +(1051001, 1002129, 100000, 0, 0, 12000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Loosecap +(1051001, 1002130, 100000, 0, 0, 12000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Loosecap +(1051001, 1002131, 100000, 0, 0, 12000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Loosecap +(1051001, 1002020, 100000, 0, 0, 7400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Starry Bandana +(1051001, 1002096, 100000, 0, 0, 7400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Sky Blue Starry Bandana +(1051001, 1002097, 100000, 0, 0, 7400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Yellow Starry Bandana +(1051001, 1002146, 100000, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Tiberian +(1051001, 1002147, 100000, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Tiberian +(1051001, 1002148, 100000, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Tiberian +(1051001, 1002149, 100000, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Tiberian +(1051001, 1002150, 100000, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Tiberian +(1051001, 1002171, 100000, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Guise +(1051001, 1002172, 100000, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Guise +(1051001, 1002173, 100000, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Guise +(1051001, 1002174, 100000, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Guise +(1051001, 1002175, 100000, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Guise +(1051001, 1002176, 100000, 0, 0, 66000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Burgler +(1051001, 1002177, 100000, 0, 0, 66000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Burglar +(1051001, 1002178, 100000, 0, 0, 66000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Burgler +(1051001, 1002179, 100000, 0, 0, 66000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Burgler +(1051001, 1002180, 100000, 0, 0, 66000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Burglar +(1051001, 1002181, 100000, 0, 0, 92000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Pilfer +(1051001, 1002182, 100000, 0, 0, 92000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Pilfer +(1051001, 1002183, 100000, 0, 0, 92000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Pilfer +(1051001, 1002184, 100000, 0, 0, 92000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Pilfer +(1051001, 1002185, 100000, 0, 0, 92000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Pilfer +(1051001, 1040031, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Cloth Vest +(1051001, 1040032, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Cloth Vest +(1051001, 1040033, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Cloth Vest +(1051001, 1040034, 100000, 0, 0, 5000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Nightshift +(1051001, 1040035, 100000, 0, 0, 5000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Nightshift +(1051001, 1040042, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Pao +(1051001, 1040043, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Pao +(1051001, 1040044, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Pao +(1051001, 1040048, 100000, 0, 0, 16000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Sneak +(1051001, 1040049, 100000, 0, 0, 16000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Sneak +(1051001, 1040050, 100000, 0, 0, 16000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Sneak +(1051001, 1040057, 100000, 0, 0, 45000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Brown Stealer +(1051001, 1040058, 100000, 0, 0, 45000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Silver Stealer +(1051001, 1040059, 100000, 0, 0, 45000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Gold Stealer +(1051001, 1040060, 100000, 0, 0, 45000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Silver Black Stealer +(1051001, 1040063, 100000, 0, 0, 67500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Knucklevest +(1051001, 1040062, 100000, 0, 0, 67500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Knucklevest +(1051001, 1040061, 100000, 0, 0, 67500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Knucklevest +(1051001, 1040082, 100000, 0, 0, 96000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Khaki Shadow +(1051001, 1040083, 100000, 0, 0, 96000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Marine Shadow +(1051001, 1041036, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Cloth Vest +(1051001, 1041037, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Cloth Vest +(1051001, 1041038, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Cloth Vest +(1051001, 1041044, 100000, 0, 0, 5000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Nightshift +(1051001, 1041045, 100000, 0, 0, 5000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Nightshift +(1051001, 1041003, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Qi Pao +(1051001, 1041039, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Pink Qi Pao +(1051001, 1041040, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Qi Pao +(1051001, 1041057, 100000, 0, 0, 18000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Sneak +(1051001, 1041058, 100000, 0, 0, 18000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blood Sneak +(1051001, 1041059, 100000, 0, 0, 18000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Sky Sneak +(1051001, 1041060, 100000, 0, 0, 18000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Gold Sneak +(1051001, 1041047, 100000, 0, 0, 45000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Steal +(1051001, 1041048, 100000, 0, 0, 45000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Steal +(1051001, 1041049, 100000, 0, 0, 45000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Steal +(1051001, 1041050, 100000, 0, 0, 45000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Purple Steal +(1051001, 1041075, 100000, 0, 0, 96000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Shadow +(1051001, 1041074, 100000, 0, 0, 96000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Purple Shadow +(1051001, 1060021, 100000, 0, 0, 2800, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Cloth Pants +(1051001, 1060022, 100000, 0, 0, 2800, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Cloth Pants +(1051001, 1060023, 100000, 0, 0, 2800, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Cloth Pants +(1051001, 1060024, 100000, 0, 0, 4800, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Nightshift Pants +(1051001, 1060025, 100000, 0, 0, 4800, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Nightshift Pants +(1051001, 1060031, 100000, 0, 0, 8000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Pao Bottom +(1051001, 1060032, 100000, 0, 0, 8000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Pao Bottom +(1051001, 1060033, 100000, 0, 0, 8000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Pao Bottom +(1051001, 1060037, 100000, 0, 0, 19000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Brown Sneak Pants +(1051001, 1060038, 100000, 0, 0, 19000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Sneak Pants +(1051001, 1060039, 100000, 0, 0, 19000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Sneak Pants +(1051001, 1060043, 100000, 0, 0, 40000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Brown Stealer Pants +(1051001, 1060044, 100000, 0, 0, 40000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Silver Stealer Pants +(1051001, 1060045, 100000, 0, 0, 40000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red / Gold Stealer Pants +(1051001, 1060046, 100000, 0, 0, 40000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Silver / Black Stealer Pants +(1051001, 1060051, 100000, 0, 0, 67500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Knucklevest Pants +(1051001, 1060050, 100000, 0, 0, 67500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Knucklevest Pants +(1051001, 1060052, 100000, 0, 0, 67500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Knucklevest Pants +(1051001, 1060071, 100000, 0, 0, 96000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Khaki Shadow Pants +(1051001, 1060072, 100000, 0, 0, 96000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Marine Shadow Pants +(1051001, 1061029, 100000, 0, 0, 2800, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Cloth Pants +(1051001, 1061030, 100000, 0, 0, 2800, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Cloth Pants +(1051001, 1061031, 100000, 0, 0, 2800, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Cloth Pants +(1051001, 1061037, 100000, 0, 0, 4800, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Nightshift Pants +(1051001, 1061038, 100000, 0, 0, 4800, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Nightshift Pants +(1051001, 1061003, 100000, 0, 0, 8000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Qi Pao Pants +(1051001, 1061032, 100000, 0, 0, 8000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Purple Qi Pao Pants +(1051001, 1061033, 100000, 0, 0, 8000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Qi Pao Pants +(1051001, 1061040, 100000, 0, 0, 12000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Qi Pao Skirt +(1051001, 1061041, 100000, 0, 0, 12000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Purple Qi Pao Skirt +(1051001, 1061042, 100000, 0, 0, 12000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Qi Pao Skirt +(1051001, 1061053, 100000, 0, 0, 18000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Sneak Pants +(1051001, 1061054, 100000, 0, 0, 18000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blood Sneak Pants +(1051001, 1061055, 100000, 0, 0, 18000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Sky Sneak Pants +(1051001, 1061056, 100000, 0, 0, 18000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Gold Sneak Pants +(1051001, 1061043, 100000, 0, 0, 40000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Steal Pants +(1051001, 1061044, 100000, 0, 0, 40000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Steal Pants +(1051001, 1061045, 100000, 0, 0, 40000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Steal Pants +(1051001, 1061046, 100000, 0, 0, 40000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Purple Steal Pants +(1051001, 1061069, 100000, 0, 0, 96000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Purple Shadow Pants +(1051001, 1061070, 100000, 0, 0, 96000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Shadow Pants +(1051001, 1051007, 100000, 0, 0, 100000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Avenger +(1051001, 1051008, 100000, 0, 0, 100000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Avenger +(1051001, 1051009, 100000, 0, 0, 100000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Purple Avenger +(1051001, 1072070, 100000, 0, 0, 1800, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Gidder Shoes +(1051001, 1072071, 100000, 0, 0, 1800, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Gidder Shoes +(1051001, 1072004, 100000, 0, 0, 2000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # White Gomushin +(1051001, 1072042, 100000, 0, 0, 2000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Gomushin +(1051001, 1072043, 100000, 0, 0, 2000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Smelly Gomushin +(1051001, 1072028, 100000, 0, 0, 4500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # White Ninja Sandals +(1051001, 1072029, 100000, 0, 0, 4500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Yellow Ninja Sandals +(1051001, 1072030, 100000, 0, 0, 4500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Ninja Sandals +(1051001, 1072031, 100000, 0, 0, 4500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Ninja Sandals +(1051001, 1072022, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Enamel Boots +(1051001, 1072065, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Enamel Boots +(1051001, 1072066, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Enamel Boots +(1051001, 1072084, 100000, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Lappy Boots +(1051001, 1072085, 100000, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Lappy Boots +(1051001, 1072086, 100000, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Lappy Boots +(1051001, 1072087, 100000, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Lappy Boots +(1051001, 1072032, 100000, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bronze Chain Boots +(1051001, 1072033, 100000, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Iron Chain Boots +(1051001, 1072104, 100000, 0, 0, 66000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red White-Lined Boots +(1051001, 1072105, 100000, 0, 0, 66000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green White-Lined Boots +(1051001, 1072106, 100000, 0, 0, 66000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue White-Lined Boots +(1051001, 1072107, 100000, 0, 0, 92000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Red-Lined Shoes +(1051001, 1072108, 100000, 0, 0, 92000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Green-Lined Shoes +(1051001, 1072109, 100000, 0, 0, 92000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Yellow-Lined Shoes +(1051001, 1072110, 100000, 0, 0, 92000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Blue-Lines Shoes +(1051001, 1082031, 100000, 0, 0, 4500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Duo +(1051001, 1082034, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Mischief +(1051001, 1082039, 100000, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Wolfskin +(1051001, 1082044, 100000, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Gold Sylvia +(1051001, 1082047, 100000, 0, 0, 66000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Orihalcon Arbion +(1051001, 1082074, 100000, 0, 0, 92000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Cleave + +# Dr. Faymus (1051002) +(1051002, 4036029, 1000000000, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Roswaal's Magical Ore +(1051002, 2000000, 100000, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Red Potion +(1051002, 2000001, 100000, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Orange Potion +(1051002, 2000002, 100000, 0, 0, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # White Potion +(1051002, 2000003, 100000, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Blue Potion +(1051002, 2000006, 100000, 0, 0, 186, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Mana Elixir +(1051002, 2002000, 100000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Dexterity Potion +(1051002, 2002001, 100000, 0, 0, 400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Speed Potion +(1051002, 2002002, 100000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Magic Potion +(1051002, 2002004, 100000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Warrior Potion +(1051002, 2002005, 100000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Sniper Potion +(1051002, 2010000, 1000, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Apple +(1051002, 2010002, 1000, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Egg +(1051002, 2010001, 1000, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Meat +(1051002, 2010003, 1000, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Orange +(1051002, 2010004, 100000, 0, 0, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Lemon +(1051002, 2120000, 1000000000, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9000), # Pet Food +(1051002, 2030000, 100000, 0, 0, 400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Return Scroll - Nearest Town +(1051002, 2030005, 100000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Return Scroll to Kerning City +(1051002, 2060000, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9999), # Arrow for Bow +(1051002, 2061000, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9999), # Arrow for Crossbow +(1051002, 2060000, 0, 0, 0, 1400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 2000, 0, 9999), # Arrow for Bow +(1051002, 2061000, 0, 0, 0, 1400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 2000, 0, 9999), # Arrow for Crossbow +(1051002, 2050000, 100000, 0, 0, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Antidote +(1051002, 2050001, 100000, 0, 0, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Eyedrop +(1051002, 2050002, 100000, 0, 0, 300, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Tonic +(1051002, 2432805, 1000000, 0, 0, 50000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1000), # Appearance Reset Coupon + +# Shinta (9120000) +(9120000, 1382011, 100, 0, 0, 2000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Mystic Cane +(9120000, 1332024, 100, 0, 0, 2000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bushido +(9120000, 1302022, 100, 0, 0, 80000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bamboo Sword +(9120000, 1302021, 100, 0, 0, 1250000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Pico-Pico Hammer +(9120000, 1462006, 100, 0, 0, 500000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Silver Crow +(9120000, 1402010, 100, 0, 0, 150000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Aluminum Baseball Bat +(9120000, 1432008, 100, 0, 0, 150000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Fish Spear +(9120000, 1402009, 100, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Wooden Baseball Bat +(9120000, 1322012, 100, 0, 0, 15000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Brick +(9120000, 1312013, 100, 0, 0, 100000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Paint Brush +(9120000, 1472008, 100, 0, 0, 250000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Steel Guards + +# Doran (9120002) +(9120002, 2060003, 9999999, 0, 0, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9999), # Red Arrow for Bow +(9120002, 2000001, 10000000, 0, 0, 160, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Orange Potion +(9120002, 2000002, 10000000, 0, 0, 320, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # White Potion +(9120002, 2001001, 10000000, 0, 0, 2300, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Ice Cream Pop +(9120002, 2020012, 10000000, 0, 0, 4500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Melting Cheese +(9120002, 2000003, 10000000, 0, 0, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Blue Potion +(9120002, 2000006, 10000000, 0, 0, 620, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Mana Elixir +(9120002, 2001002, 10000000, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Very Special Sundae +(9120002, 2022002, 100000, 0, 0, 1000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Cider +(9120002, 2020014, 10000000, 0, 0, 8100, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Sunrise Dew + +# Tatsu (9110100) +(9110100, 1402018, 100, 0, 0, 25000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Wooden Samurai Sword +(9110100, 1332054, 100, 0, 0, 15000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Diamond Dagger +(9110100, 1302019, 100, 0, 0, 25000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Nameless Sword +(9110100, 1472054, 100, 0, 0, 15000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Shinobi Bracer +(9110100, 1302232, 100, 0, 0, 25000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Japanese War Fan +(9110100, 1332030, 100, 0, 0, 15000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Fan +(9110100, 1332231, 100, 0, 0, 25000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # The 18th Blade +(9110100, 1302063, 100, 0, 0, 25000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Flaming Katana +(9110100, 1302025, 100, 0, 0, 25000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Umbrella +(9110100, 1302026, 100, 0, 0, 25000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Umbrella +(9110100, 1312014, 100, 0, 0, 25000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Paint Brush +(9110100, 1302024, 100, 0, 0, 25000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Newspaper Sword +(9110100, 1402013, 100, 0, 0, 25000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Japanese Map +(9110100, 1322031, 100, 0, 0, 25000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Pig Illustrated +(9110100, 1322027, 100, 0, 0, 10000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Frying Pan +(9110100, 1322024, 100, 0, 0, 5000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Purple Tube +(9110100, 1322011, 100, 0, 0, 25000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Pointed Shovel +(9110100, 1312002, 100, 0, 0, 25000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Scythe +(9110100, 1302016, 100, 0, 0, 25000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Yellow Umbrella +(9110100, 1302001, 100, 0, 0, 25000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Saw +(9110100, 1402029, 100, 0, 0, 25000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Aluminum Bat +(9110100, 1382015, 100, 0, 0, 15000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Poison Mushroom +(9110100, 1372017, 100, 0, 0, 50000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Streetlight +(9110100, 1332021, 100, 0, 0, 25000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Plastic Bottle +(9110100, 1322033, 100, 0, 0, 25000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Goblin Bat + +# Sentsu (9110101) +(9110101, 1050083, 10000000, 0, 0, 1000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Battle Lord +(9110101, 1051080, 10000000, 0, 0, 1000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Battle Empress +(9110101, 1050074, 10000000, 0, 0, 1000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Enigmatic +(9110101, 1051058, 10000000, 0, 0, 1000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Enigma +(9110101, 1050078, 10000000, 0, 0, 1000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Pris +(9110101, 1051069, 10000000, 0, 0, 1000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Pria +(9110101, 1052125, 10000000, 0, 0, 1000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # White Pioneer +(9110101, 1040110, 10000000, 0, 0, 1000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Pirate Top +(9110101, 1060099, 10000000, 0, 0, 1000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Pirate Pants +(9110101, 1041107, 10000000, 0, 0, 1000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Pirate Blouse +(9110101, 1061106, 10000000, 0, 0, 1000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Pirate Skirt +(9110101, 1072174, 10000000, 0, 0, 1000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Pirate Boots +(9110101, 1072179, 10000000, 0, 0, 1000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Enigma Shoes +(9110101, 1072185, 10000000, 0, 0, 1000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Wing Boots +(9110101, 1072212, 10000000, 0, 0, 1000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Rivers Boots +(9110101, 1072312, 10000000, 0, 0, 1000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Pageant +(9110101, 1082112, 10000000, 0, 0, 1000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Cordon +(9110101, 1082117, 10000000, 0, 0, 1000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Emperor +(9110101, 1082120, 10000000, 0, 0, 1000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blood Larceny +(9110101, 1082123, 10000000, 0, 0, 1000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Clarity +(9110101, 1082207, 10000000, 0, 0, 1000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Halfgloves +(9110101, 1002274, 10000000, 0, 0, 1000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Galaxy +(9110101, 1002278, 10000000, 0, 0, 1000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Falcon +(9110101, 1002330, 10000000, 0, 0, 1000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Pireta Hat +(9110101, 1002340, 10000000, 0, 0, 1000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Dragon Barbute +(9110101, 1002640, 10000000, 0, 0, 1000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Sun Boat Hat +(9110101, 1002418, 10000000, 0, 0, 25000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Newspaper Hat +(9110101, 1072182, 10000000, 0, 0, 1000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Wing Boots +(9110101, 1072211, 10000000, 0, 0, 1000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Rivers Boots +(9110101, 1050076, 10000000, 0, 0, 1000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Pris +(9110101, 1051067, 10000000, 0, 0, 1000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Pria +(9110101, 1002272, 10000000, 0, 0, 1000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Galaxy +(9110101, 1002275, 10000000, 0, 0, 1000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Falcon +(9110101, 1050073, 10000000, 0, 0, 1000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Enigmatic +(9110101, 1002339, 10000000, 0, 0, 1000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Dragon Barbute +(9110101, 1082110, 10000000, 0, 0, 1000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Cordon +(9110101, 1082122, 10000000, 0, 0, 1000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Clarity +(9110101, 1050082, 10000000, 0, 0, 1000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Battle Lord +(9110101, 1082114, 10000000, 0, 0, 1000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Sapphire Emperor +(9110101, 1051079, 10000000, 0, 0, 1000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Battle Empress + +# Kiriwing (1100002) +(1100002, 4170050, 100000000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1000), # Andersen's Key +(1100002, 2000000, 100000, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Red Potion +(1100002, 2000001, 100000, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Orange Potion +(1100002, 2000002, 100000, 0, 0, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # White Potion +(1100002, 2000003, 100000, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Blue Potion +(1100002, 2000006, 100000, 0, 0, 186, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Mana Elixir +(1100002, 2002000, 100000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Dexterity Potion +(1100002, 2002001, 100000, 0, 0, 400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Speed Potion +(1100002, 2002002, 100000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Magic Potion +(1100002, 2002004, 100000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Warrior Potion +(1100002, 2002005, 100000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Sniper Potion +(1100002, 2010000, 1000, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Apple +(1100002, 2010002, 1000, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Egg +(1100002, 2010001, 1000, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Meat +(1100002, 2010003, 1000, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Orange +(1100002, 2010004, 100000, 0, 0, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Lemon +(1100002, 2030000, 100000, 0, 0, 400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Return Scroll - Nearest Town +(1100002, 2060000, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9999), # Arrow for Bow +(1100002, 2061000, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9999), # Arrow for Crossbow +(1100002, 2060000, 0, 0, 0, 1400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 2000, 0, 9999), # Arrow for Bow +(1100002, 2061000, 0, 0, 0, 1400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 2000, 0, 9999), # Arrow for Crossbow +(1100002, 2050000, 100000, 0, 0, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Antidote +(1100002, 2050001, 100000, 0, 0, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Eyedrop +(1100002, 2050002, 100000, 0, 0, 300, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Tonic +(1100002, 2432805, 1000000, 0, 0, 50000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1000), # Appearance Reset Coupon + +# Kiriyu (1100001) +(1100001, 1302000, 100000, 0, 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Sword +(1100001, 1312004, 100000, 0, 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Hand Axe +(1100001, 1322005, 100000, 0, 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Wooden Club +(1100001, 1332005, 100000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Razor +(1100001, 1040002, 100000, 0, 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # White Undershirt +(1100001, 1040006, 100000, 0, 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Undershirt +(1100001, 1040010, 100000, 0, 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Grey T-Shirt +(1100001, 1041002, 100000, 0, 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # White Tubetop +(1100001, 1041006, 100000, 0, 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Yellow T-Shirt +(1100001, 1041010, 100000, 0, 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green T-Shirt +(1100001, 1041011, 100000, 0, 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red-Striped Top +(1100001, 1060002, 100000, 0, 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Jean Shorts +(1100001, 1060006, 100000, 0, 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Cotton Shorts +(1100001, 1061002, 100000, 0, 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Miniskirt +(1100001, 1061008, 100000, 0, 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Indigo Miniskirt +(1100001, 1072001, 100000, 0, 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Rubber Boots +(1100001, 1072005, 100000, 0, 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Leather Sandals + +# Bonjasky (2150001) +(2150001, 1252001, 100, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Beast Tamer Scepter +(2150001, 1252002, 100, 0, 0, 38000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Assign Scepter +(2150001, 1542049, 100, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Simple Iron Sword +(2150001, 1542050, 100, 0, 0, 10000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Steel Slicer +(2150001, 1542051, 100, 0, 0, 40000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Iron Guardian +(2150001, 1552049, 100, 0, 0, 5000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Iron Fan +(2150001, 1552050, 100, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Metallic Fan +(2150001, 1552051, 100, 0, 0, 38000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Triple Fan +(2150001, 1302007, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Long Sword +(2150001, 1302005, 100000, 0, 0, 6000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Sabre +(2150001, 1302002, 100000, 0, 0, 10000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Viking Sword +(2150001, 1302006, 100000, 0, 0, 10000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Machete +(2150001, 1302003, 100000, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Eloon +(2150001, 1302008, 100000, 0, 0, 40000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Gladius +(2150001, 1332006, 100000, 0, 0, 7000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Field Dagger +(2150001, 1332008, 100000, 0, 0, 10000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Coconut Knife +(2150001, 1332010, 100000, 0, 0, 22000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Iron Dagger +(2150001, 1312001, 100000, 0, 0, 6000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Battle Axe +(2150001, 1312003, 100000, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Mithril Axe +(2150001, 1312005, 100000, 0, 0, 40000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Fireman's Axe +(2150001, 1322000, 100000, 0, 0, 6000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Mace +(2150001, 1322002, 100000, 0, 0, 10000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Iron Mace +(2150001, 1322004, 100000, 0, 0, 22000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Fusion Mace +(2150001, 1322014, 100000, 0, 0, 40000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # War Hammer +(2150001, 1402001, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Wooden Sword +(2150001, 1402000, 100000, 0, 0, 12000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Two-Handed Sword +(2150001, 1402008, 100000, 0, 0, 22000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Broadsword +(2150001, 1412001, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Metal Axe +(2150001, 1412002, 100000, 0, 0, 10000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Steel Axe +(2150001, 1412000, 100000, 0, 0, 22000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Two-Handed Axe +(2150001, 1412006, 100000, 0, 0, 45000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Axe +(2150001, 1422002, 100000, 0, 0, 6000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Heavy Mace +(2150001, 1422003, 100000, 0, 0, 10000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Square Hammer +(2150001, 1422006, 100000, 0, 0, 10000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Pickaxe +(2150001, 1432001, 100000, 0, 0, 7000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Fork on a Stick +(2150001, 1442000, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Polearm +(2150001, 1442006, 100000, 0, 0, 8000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Iron Ball +(2150001, 1442007, 100000, 0, 0, 12000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Studded Polearm +(2150001, 1372005, 100000, 0, 0, 2000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Wooden Wand +(2150001, 1372006, 100000, 0, 0, 5000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Hardwood Wand +(2150001, 1372002, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Metal Wand +(2150001, 1372004, 100000, 0, 0, 18000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Ice Wand +(2150001, 1372003, 100000, 0, 0, 38000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Mithril Wand +(2150001, 1382000, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Wooden Staff +(2150001, 1382003, 100000, 0, 0, 6000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Sapphire Staff +(2150001, 1382005, 100000, 0, 0, 6000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Emerald Staff +(2150001, 1382004, 100000, 0, 0, 10000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Old Wooden Staff +(2150001, 1382002, 100000, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Wizard Staff +(2150001, 1322002, 100000, 0, 0, 10000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Iron Mace +(2150001, 1452002, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # War Bow +(2150001, 1452003, 100000, 0, 0, 6000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Composite Bow +(2150001, 1452001, 100000, 0, 0, 10000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Hunter's Bow +(2150001, 1452000, 100000, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Battle Bow +(2150001, 1462001, 100000, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Crossbow +(2150001, 1462002, 100000, 0, 0, 8000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Battle Crossbow +(2150001, 1462003, 100000, 0, 0, 12000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Balanche +(2150001, 1462000, 100000, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Mountain Crossbow +(2150001, 1332000, 100000, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Triangular Zamadar +(2150001, 1332002, 100000, 0, 0, 8000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Triple-Tipped Zamadar +(2150001, 1332008, 100000, 0, 0, 10000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Coconut Knife +(2150001, 1332013, 100000, 0, 0, 15000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Stinger +(2150001, 1332010, 100000, 0, 0, 22000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Iron Dagger +(2150001, 1332004, 100000, 0, 0, 38000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Forked Dagger +(2150001, 1332012, 100000, 0, 0, 40000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Reef Claw +(2150001, 1332009, 100000, 0, 0, 42000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Cass +(2150001, 1322009, 100000, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Plunger +(2150001, 1472000, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Garnier +(2150001, 1342000, 100000, 0, 0, 10000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Champion Katara +(2150001, 1342001, 100000, 0, 0, 42000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Guardian Katara +(2150001, 1492000, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Pistol +(2150001, 1492001, 100000, 0, 0, 6000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dellinger Special +(2150001, 1492002, 100000, 0, 0, 10000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # The Negotiator +(2150001, 1492003, 100000, 0, 0, 22000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Golden Hook +(2150001, 1492004, 100000, 0, 0, 50000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Cold Mind +(2150001, 1532000, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Novice Cannon +(2150001, 1532001, 100000, 0, 0, 6000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Solid Cannon +(2150001, 1532002, 100000, 0, 0, 10000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Ironside +(2150001, 1532003, 100000, 0, 0, 22000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Steel Beast +(2150001, 1532004, 100000, 0, 0, 50000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Heavy Artillery +(2150001, 1482000, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Steel Knuckler +(2150001, 1482001, 100000, 0, 0, 6000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Leather Arms +(2150001, 1482002, 100000, 0, 0, 10000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Double Tail Knuckler +(2150001, 1482003, 100000, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Norman Grip +(2150001, 1482004, 100000, 0, 0, 52000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Prime Hands +(2150001, 1422004, 100000, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Monkey Wrench +(2150001, 1442004, 100000, 0, 0, 24000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Janitor's Mop +(2150001, 1322007, 100000, 0, 0, 6000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Leather Purse +(2150001, 1322008, 100000, 0, 0, 12000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Hard Briefcase +(2150001, 1422000, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Wooden Mallet +(2150001, 1432000, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Spear +(2150001, 1232001, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Ravager +(2150001, 1232002, 100000, 0, 0, 38000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dim Memory +(2150001, 1232003, 100000, 0, 0, 215000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Eternal Wanderer +(2150001, 1190200, 100000, 0, 0, 580000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Silver Hybrid Heart +(2150001, 1190201, 100000, 0, 0, 1010000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Hybrid Heart +(2150001, 1242001, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Horned Blade +(2150001, 1242002, 100000, 0, 0, 38000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Ridge Cutter +(2150001, 1242003, 100000, 0, 0, 215000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Rough Violet +(2150001, 1212001, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Plain +(2150001, 1212002, 100000, 0, 0, 38000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Golden Shine +(2150001, 1582000, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Hand Buster +(2150001, 1582001, 100000, 0, 0, 38000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Hand Crusher +(2150001, 1582002, 100000, 0, 0, 215000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blow Bomb +(2150001, 1002008, 100000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Skullcap +(2150001, 1002033, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Old Wisconsin +(2150001, 1002012, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Baseball Cap +(2150001, 1002060, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Baseball Cap +(2150001, 1002061, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Yellow Baseball Cap +(2150001, 1002062, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Baseball Cap +(2150001, 1002063, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Baseball Cap +(2150001, 1002112, 100000, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Feather Hat +(2150001, 1002113, 100000, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Feather Hat +(2150001, 1002114, 100000, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Feather Hat +(2150001, 1002115, 100000, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Feather Hat +(2150001, 1002116, 100000, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Feather Hat +(2150001, 1002117, 100000, 0, 0, 12000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Robin Hat +(2150001, 1002118, 100000, 0, 0, 12000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Robin Hat +(2150001, 1002119, 100000, 0, 0, 12000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Robin Hat +(2150001, 1002120, 100000, 0, 0, 12000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Robin Hat +(2150001, 1002121, 100000, 0, 0, 12000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Robin Hat +(2150001, 1002010, 100000, 0, 0, 800, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Winter Hat +(2150001, 1002057, 100000, 0, 0, 800, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Winter Hat +(2150001, 1002156, 100000, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Hunter +(2150001, 1002157, 100000, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Hunter +(2150001, 1002158, 100000, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Hunter +(2150001, 1002159, 100000, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Hunter +(2150001, 1002160, 100000, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Hunter +(2150001, 1002161, 100000, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Hawkeye +(2150001, 1002162, 100000, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Hawkeye +(2150001, 1002163, 100000, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Hawkeye +(2150001, 1002164, 100000, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Hawkeye +(2150001, 1002165, 100000, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Hawkeye +(2150001, 1032001, 100000, 0, 0, 7000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Single Earring +(2150001, 1032003, 100000, 0, 0, 7000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Amethyst Earrings +(2150001, 1040008, 100000, 0, 0, 3200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Archer Top +(2150001, 1040071, 100000, 0, 0, 3200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Archer Top +(2150001, 1040007, 100000, 0, 0, 5500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Leather Hoodwear +(2150001, 1040011, 100000, 0, 0, 5500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Silver Leather Hoodwear +(2150001, 1040003, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Hard Leather Top +(2150001, 1040022, 100000, 0, 0, 15000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Bennis Chainmail +(2150001, 1040023, 100000, 0, 0, 15000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Bennis Chainmail +(2150001, 1040024, 100000, 0, 0, 15000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Bennis Chainmail +(2150001, 1040025, 100000, 0, 0, 15000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Bennis Chainmail +(2150001, 1040067, 100000, 0, 0, 50000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Hunter's Armor +(2150001, 1040068, 100000, 0, 0, 50000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Hunter's Armor +(2150001, 1040069, 100000, 0, 0, 50000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Hunter's Armor +(2150001, 1040070, 100000, 0, 0, 50000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Hunter's Armor +(2150001, 1041007, 100000, 0, 0, 3200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Avelin +(2150001, 1041061, 100000, 0, 0, 3200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Yellow Avelin +(2150001, 1041008, 100000, 0, 0, 5500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Able Armor +(2150001, 1041062, 100000, 0, 0, 5500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Yellow Able Armor +(2150001, 1041063, 100000, 0, 0, 5500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Grey Able Armor +(2150001, 1041013, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Shivermail +(2150001, 1041027, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Shivermail +(2150001, 1041028, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Purple Shivermail +(2150001, 1041032, 100000, 0, 0, 15000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Bennis Chainmail +(2150001, 1041033, 100000, 0, 0, 15000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Bennis Chainmail +(2150001, 1041034, 100000, 0, 0, 15000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Bennis Chainmail +(2150001, 1041035, 100000, 0, 0, 15000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Yellow Bennis Chainmail +(2150001, 1041054, 100000, 0, 0, 50000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Huntress Armor +(2150001, 1041055, 100000, 0, 0, 50000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Huntress Armor +(2150001, 1041056, 100000, 0, 0, 50000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Huntress Armor +(2150001, 1060005, 100000, 0, 0, 14000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Warfare Pants +(2150001, 1060056, 100000, 0, 0, 44000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Hunter's Pants +(2150001, 1060057, 100000, 0, 0, 44000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Hunter's Pants +(2150001, 1060058, 100000, 0, 0, 44000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Hunter's Pants +(2150001, 1060059, 100000, 0, 0, 44000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Hunter's Pants +(2150001, 1061009, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Avelin Skirt +(2150001, 1061057, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Yellow Avelin Skirt +(2150001, 1061006, 100000, 0, 0, 5000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Able Armor Skirt +(2150001, 1061058, 100000, 0, 0, 5000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Able Skirt +(2150001, 1061059, 100000, 0, 0, 5000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Grey Able Skirt +(2150001, 1061024, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Shivermail Skirt +(2150001, 1061025, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Shivermail Skirt +(2150001, 1061026, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Purple Shivermail Skirt +(2150001, 1061050, 100000, 0, 0, 44000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Huntress Pants +(2150001, 1061051, 100000, 0, 0, 44000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Huntress Pants +(2150001, 1061052, 100000, 0, 0, 44000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Huntress Pants +(2150001, 1062004, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Archer Pants +(2150001, 1062002, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Hard Leather Pants +(2150001, 1062006, 100000, 0, 0, 13000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bennis Chainpants +(2150001, 1072015, 100000, 0, 0, 1800, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Hard Leather Boots +(2150001, 1072059, 100000, 0, 0, 1800, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Hard Leather Boots +(2150001, 1072016, 100000, 0, 0, 4500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Woodsman Boots +(2150001, 1072060, 100000, 0, 0, 4500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Woodsman Boots +(2150001, 1072061, 100000, 0, 0, 4500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Woodsman Boots +(2150001, 1072025, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Deer Huntertop +(2150001, 1072026, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Rabbit Huntertop +(2150001, 1072067, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bear Huntertop +(2150001, 1072068, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # LIon Huntertop +(2150001, 1072012, 100000, 0, 0, 15000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Whitebottom Shoes +(2150001, 1072054, 100000, 0, 0, 15000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Orange Whitebottom Boots +(2150001, 1072055, 100000, 0, 0, 15000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Pink Whitebottom Boots +(2150001, 1072056, 100000, 0, 0, 15000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Whitebottom Boots +(2150001, 1072018, 100000, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Sneakers +(2150001, 1072064, 100000, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Sneakers +(2150001, 1002043, 100000, 0, 0, 2400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bronze Coif +(2150001, 1002039, 100000, 0, 0, 2700, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bronze Helmet +(2150001, 1002051, 100000, 0, 0, 3500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bronze Full Helm +(2150001, 1002055, 100000, 0, 0, 8700, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bronze Football Helmet +(2150001, 1002059, 100000, 0, 0, 8500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bronze Viking Helm +(2150001, 1002027, 100000, 0, 0, 11500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Steel Sharp Helm +(2150001, 1002005, 100000, 0, 0, 19000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Iron Burgernet Helm +(2150001, 1040015, 100000, 0, 0, 3200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Lolico Armor +(2150001, 1040038, 100000, 0, 0, 3200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Lolico Armor +(2150001, 1040009, 100000, 0, 0, 5500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Steel Corporal +(2150001, 1040037, 100000, 0, 0, 5500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Corporal +(2150001, 1040012, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Sergeant +(2150001, 1040039, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Sergeant +(2150001, 1040040, 100000, 0, 0, 16000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Silver Master Sergeant +(2150001, 1040016, 100000, 0, 0, 16000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Orihalcon Master Sergeant +(2150001, 1040041, 100000, 0, 0, 16000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Master Sergeant +(2150001, 1040021, 100000, 0, 0, 40000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Hwarang Shirt +(2150001, 1040026, 100000, 0, 0, 40000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Hwarang Shirt +(2150001, 1041014, 100000, 0, 0, 3200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Orange Lolica Armor +(2150001, 1041064, 100000, 0, 0, 3200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blueberry Lolica Armor +(2150001, 1041019, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Lamelle +(2150001, 1041020, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Lamelle +(2150001, 1041021, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Lamelle +(2150001, 1041022, 100000, 0, 0, 16000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Shark +(2150001, 1041023, 100000, 0, 0, 16000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Sky Shark +(2150001, 1041024, 100000, 0, 0, 16000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Shark +(2150001, 1050005, 100000, 0, 0, 15000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Kendo Robe +(2150001, 1050006, 100000, 0, 0, 15000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Kendo Robe +(2150001, 1050007, 100000, 0, 0, 15000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # White Kendo Robe +(2150001, 1050011, 100000, 0, 0, 70000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Dragon Robe +(2150001, 1051000, 100000, 0, 0, 8000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Steel Fitted Mail +(2150001, 1051010, 100000, 0, 0, 60000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Engrit +(2150001, 1051011, 100000, 0, 0, 60000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Engrit +(2150001, 1051012, 100000, 0, 0, 60000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Engrit +(2150001, 1051013, 100000, 0, 0, 60000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Yellow Engrit +(2150001, 1060008, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Lolico Pants +(2150001, 1060028, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Lolico Pants +(2150001, 1060009, 100000, 0, 0, 5000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Steel Corporal Pants +(2150001, 1060027, 100000, 0, 0, 5000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Corporal Pants +(2150001, 1060010, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Steel Sergeant Kilt +(2150001, 1060029, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Sergeant Kilt +(2150001, 1060011, 100000, 0, 0, 14000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Orihalcon Master Sergeant Kilt +(2150001, 1060030, 100000, 0, 0, 14000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Master Sergeant Kilt +(2150001, 1060060, 100000, 0, 0, 14000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Silver Master Sergeant Kilt +(2150001, 1060016, 100000, 0, 0, 38000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Martial Arts Pants +(2150001, 1060017, 100000, 0, 0, 38000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # White Martial Arts Pants +(2150001, 1060018, 100000, 0, 0, 38000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Martial Arts Pants +(2150001, 1060019, 100000, 0, 0, 38000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Martial Arts Pants +(2150001, 1061014, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Rookie Pants +(2150001, 1061023, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Sophia Pants +(2150001, 1061016, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Ramel Skirt +(2150001, 1061017, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Ramel Skirt +(2150001, 1061018, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Ramel Skirt +(2150001, 1061015, 100000, 0, 0, 14000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Shark Skirt +(2150001, 1061019, 100000, 0, 0, 14000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Sky Shark Skirt +(2150001, 1061020, 100000, 0, 0, 14000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Shark Skirt +(2150001, 1072009, 100000, 0, 0, 5000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Steel Greaves +(2150001, 1072050, 100000, 0, 0, 5000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bronze Greaves +(2150001, 1072007, 100000, 0, 0, 10000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown High Boots +(2150001, 1072046, 100000, 0, 0, 10000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Orange High Boots +(2150001, 1072047, 100000, 0, 0, 10000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue High Boots +(2150001, 1072011, 100000, 0, 0, 15000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Mithril War Boots +(2150001, 1092005, 100000, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Wooden Buckler +(2150001, 1092000, 100000, 0, 0, 6000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Steel Shield +(2150001, 1002122, 100000, 0, 0, 900, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Ghetto Beanie +(2150001, 1002123, 100000, 0, 0, 900, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Ghetto Beanie +(2150001, 1002124, 100000, 0, 0, 900, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Ghetto Beanie +(2150001, 1002125, 100000, 0, 0, 900, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Ghetto Beanie +(2150001, 1002126, 100000, 0, 0, 900, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Ghetto Beanie +(2150001, 1002001, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Metal Gear +(2150001, 1002107, 100000, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Thief Hood +(2150001, 1002108, 100000, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Thief Hood +(2150001, 1002109, 100000, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Thief Hood +(2150001, 1002110, 100000, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Thief Hood +(2150001, 1002111, 100000, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Yellow Thief Hood +(2150001, 1002127, 100000, 0, 0, 12000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Loosecap +(2150001, 1002128, 100000, 0, 0, 12000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Loosecap +(2150001, 1002129, 100000, 0, 0, 12000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Loosecap +(2150001, 1002130, 100000, 0, 0, 12000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Loosecap +(2150001, 1002131, 100000, 0, 0, 12000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Loosecap +(2150001, 1002020, 100000, 0, 0, 7400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Starry Bandana +(2150001, 1002096, 100000, 0, 0, 7400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Sky Blue Starry Bandana +(2150001, 1002097, 100000, 0, 0, 7400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Yellow Starry Bandana +(2150001, 1002146, 100000, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Tiberian +(2150001, 1002147, 100000, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Tiberian +(2150001, 1002148, 100000, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Tiberian +(2150001, 1002149, 100000, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Tiberian +(2150001, 1002150, 100000, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Tiberian +(2150001, 1002171, 100000, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Guise +(2150001, 1002172, 100000, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Guise +(2150001, 1002173, 100000, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Guise +(2150001, 1002174, 100000, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Guise +(2150001, 1002175, 100000, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Guise +(2150001, 1040031, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Cloth Vest +(2150001, 1040032, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Cloth Vest +(2150001, 1040033, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Cloth Vest +(2150001, 1040034, 100000, 0, 0, 5000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Nightshift +(2150001, 1040035, 100000, 0, 0, 5000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Nightshift +(2150001, 1040042, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Pao +(2150001, 1040043, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Pao +(2150001, 1040044, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Pao +(2150001, 1040048, 100000, 0, 0, 16000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Sneak +(2150001, 1040049, 100000, 0, 0, 16000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Sneak +(2150001, 1040050, 100000, 0, 0, 16000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Sneak +(2150001, 1040057, 100000, 0, 0, 45000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Brown Stealer +(2150001, 1040058, 100000, 0, 0, 45000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Silver Stealer +(2150001, 1040059, 100000, 0, 0, 45000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Gold Stealer +(2150001, 1040060, 100000, 0, 0, 45000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Silver Black Stealer +(2150001, 1041036, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Cloth Vest +(2150001, 1041037, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Cloth Vest +(2150001, 1041038, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Cloth Vest +(2150001, 1041044, 100000, 0, 0, 5000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Nightshift +(2150001, 1041045, 100000, 0, 0, 5000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Nightshift +(2150001, 1041003, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Qi Pao +(2150001, 1041039, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Pink Qi Pao +(2150001, 1041040, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Qi Pao +(2150001, 1041057, 100000, 0, 0, 18000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Sneak +(2150001, 1041058, 100000, 0, 0, 18000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blood Sneak +(2150001, 1041059, 100000, 0, 0, 18000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Sky Sneak +(2150001, 1041060, 100000, 0, 0, 18000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Gold Sneak +(2150001, 1041047, 100000, 0, 0, 45000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Steal +(2150001, 1041048, 100000, 0, 0, 45000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Steal +(2150001, 1041049, 100000, 0, 0, 45000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Steal +(2150001, 1041050, 100000, 0, 0, 45000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Purple Steal +(2150001, 1060021, 100000, 0, 0, 2800, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Cloth Pants +(2150001, 1060022, 100000, 0, 0, 2800, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Cloth Pants +(2150001, 1060023, 100000, 0, 0, 2800, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Cloth Pants +(2150001, 1060024, 100000, 0, 0, 4800, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Nightshift Pants +(2150001, 1060025, 100000, 0, 0, 4800, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Nightshift Pants +(2150001, 1060031, 100000, 0, 0, 8000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Pao Bottom +(2150001, 1060032, 100000, 0, 0, 8000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Pao Bottom +(2150001, 1060033, 100000, 0, 0, 8000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Pao Bottom +(2150001, 1060037, 100000, 0, 0, 19000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Brown Sneak Pants +(2150001, 1060038, 100000, 0, 0, 19000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Sneak Pants +(2150001, 1060039, 100000, 0, 0, 19000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Sneak Pants +(2150001, 1060043, 100000, 0, 0, 40000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Brown Stealer Pants +(2150001, 1060044, 100000, 0, 0, 40000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Silver Stealer Pants +(2150001, 1060045, 100000, 0, 0, 40000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red / Gold Stealer Pants +(2150001, 1060046, 100000, 0, 0, 40000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Silver / Black Stealer Pants +(2150001, 1061029, 100000, 0, 0, 2800, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Cloth Pants +(2150001, 1061030, 100000, 0, 0, 2800, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Cloth Pants +(2150001, 1061031, 100000, 0, 0, 2800, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Cloth Pants +(2150001, 1061037, 100000, 0, 0, 4800, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Nightshift Pants +(2150001, 1061038, 100000, 0, 0, 4800, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Nightshift Pants +(2150001, 1061003, 100000, 0, 0, 8000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Qi Pao Pants +(2150001, 1061032, 100000, 0, 0, 8000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Purple Qi Pao Pants +(2150001, 1061033, 100000, 0, 0, 8000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Qi Pao Pants +(2150001, 1061040, 100000, 0, 0, 12000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Qi Pao Skirt +(2150001, 1061041, 100000, 0, 0, 12000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Purple Qi Pao Skirt +(2150001, 1061042, 100000, 0, 0, 12000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Qi Pao Skirt +(2150001, 1061053, 100000, 0, 0, 18000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Sneak Pants +(2150001, 1061054, 100000, 0, 0, 18000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blood Sneak Pants +(2150001, 1061055, 100000, 0, 0, 18000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Sky Sneak Pants +(2150001, 1061056, 100000, 0, 0, 18000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Gold Sneak Pants +(2150001, 1061043, 100000, 0, 0, 40000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Steal Pants +(2150001, 1061044, 100000, 0, 0, 40000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Steal Pants +(2150001, 1061045, 100000, 0, 0, 40000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Steal Pants +(2150001, 1061046, 100000, 0, 0, 40000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Purple Steal Pants +(2150001, 1072070, 100000, 0, 0, 1800, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Gidder Shoes +(2150001, 1072071, 100000, 0, 0, 1800, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Gidder Shoes +(2150001, 1072004, 100000, 0, 0, 2000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # White Gomushin +(2150001, 1072042, 100000, 0, 0, 2000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Gomushin +(2150001, 1072043, 100000, 0, 0, 2000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Smelly Gomushin +(2150001, 1072028, 100000, 0, 0, 4500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # White Ninja Sandals +(2150001, 1072029, 100000, 0, 0, 4500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Yellow Ninja Sandals +(2150001, 1072030, 100000, 0, 0, 4500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Ninja Sandals +(2150001, 1072031, 100000, 0, 0, 4500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Ninja Sandals +(2150001, 1072022, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Enamel Boots +(2150001, 1072065, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Enamel Boots +(2150001, 1072066, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Enamel Boots +(2150001, 1002610, 100000, 0, 0, 900, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Rocky Bandana +(2150001, 1002613, 100000, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Lagger Cap +(2150001, 1002616, 100000, 0, 0, 12000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Double Marine +(2150001, 1002619, 100000, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Pitz Bandana +(2150001, 1052095, 100000, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Rocky Suit +(2150001, 1052098, 100000, 0, 0, 8000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Cotton Lagger +(2150001, 1052101, 100000, 0, 0, 16000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Beige Carribean +(2150001, 1052104, 100000, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Turk Gally +(2150001, 1052107, 100000, 0, 0, 60000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Pollard +(2150001, 1072285, 100000, 0, 0, 5000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Lagger Slipper +(2150001, 1072288, 100000, 0, 0, 8000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Skeedy Sandals +(2150001, 1002017, 100000, 0, 0, 1200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Apprentice Hat +(2150001, 1002102, 100000, 0, 0, 3800, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Moon Conehat +(2150001, 1002103, 100000, 0, 0, 3800, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Pink Moon Conehat +(2150001, 1002104, 100000, 0, 0, 3800, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Moon Conehat +(2150001, 1002105, 100000, 0, 0, 3800, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Moon Conehat +(2150001, 1002106, 100000, 0, 0, 3800, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Moon Conehat +(2150001, 1002016, 100000, 0, 0, 8000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Wizardry Hat +(2150001, 1040004, 100000, 0, 0, 2000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Training Shirt +(2150001, 1040017, 100000, 0, 0, 2000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Grey / Brown Training Shirt +(2150001, 1040018, 100000, 0, 0, 8500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Split Piece +(2150001, 1040019, 100000, 0, 0, 8500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Orange Split Piece +(2150001, 1040020, 100000, 0, 0, 8500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Split Piece +(2150001, 1041015, 100000, 0, 0, 2000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Armine +(2150001, 1041016, 100000, 0, 0, 2000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Armine +(2150001, 1041017, 100000, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Purple Arianne +(2150001, 1041018, 100000, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Arianne +(2150001, 1041025, 100000, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Pink Arianne +(2150001, 1041026, 100000, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Yellow Arianne +(2150001, 1041029, 100000, 0, 0, 8500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Split +(2150001, 1041030, 100000, 0, 0, 8500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Split +(2150001, 1041031, 100000, 0, 0, 8500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Purple Split +(2150001, 1041041, 100000, 0, 0, 42000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Purple Fairy Top +(2150001, 1041042, 100000, 0, 0, 42000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Fairy Top +(2150001, 1041043, 100000, 0, 0, 42000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Fairy Top +(2150001, 1050008, 100000, 0, 0, 7000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Beige Plain Robe +(2150001, 1050009, 100000, 0, 0, 7000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Plain Robe +(2150001, 1050010, 100000, 0, 0, 7000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Plain Robe +(2150001, 1050001, 100000, 0, 0, 16000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Doros Robe +(2150001, 1050023, 100000, 0, 0, 16000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Doros Robe +(2150001, 1050024, 100000, 0, 0, 16000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Yellow Doros Robe +(2150001, 1050025, 100000, 0, 0, 16000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # White Doros Robe +(2150001, 1050003, 100000, 0, 0, 40000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Wizard Robe +(2150001, 1050026, 100000, 0, 0, 40000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # White Wizard Robe +(2150001, 1050027, 100000, 0, 0, 40000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Mage Robe +(2150001, 1050028, 100000, 0, 0, 40000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Wizard Robe +(2150001, 1051004, 100000, 0, 0, 16000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Purple Doroness Robe +(2150001, 1051005, 100000, 0, 0, 16000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Doroness Robe +(2150001, 1051003, 100000, 0, 0, 16000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Doroness Robe +(2150001, 1060012, 100000, 0, 0, 2000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Training Pants +(2150001, 1060013, 100000, 0, 0, 2000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Grey / Brown Training Pants +(2150001, 1060014, 100000, 0, 0, 8000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Split Pants +(2150001, 1060015, 100000, 0, 0, 8000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # White Split Pants +(2150001, 1061010, 100000, 0, 0, 2000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Armine Skirt +(2150001, 1061011, 100000, 0, 0, 2000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Armine Skirt +(2150001, 1061012, 100000, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Purple Arianne Skirt +(2150001, 1061013, 100000, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Arianne Skirt +(2150001, 1061021, 100000, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Pink Arianne Skirt +(2150001, 1061022, 100000, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Yellow Arianne Skirt +(2150001, 1061027, 100000, 0, 0, 8000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Split Skirt +(2150001, 1061028, 100000, 0, 0, 8000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # White Split Skirt +(2150001, 1061034, 100000, 0, 0, 40000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Purple Fairy Skirt +(2150001, 1061035, 100000, 0, 0, 40000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Fairy Skirt +(2150001, 1061036, 100000, 0, 0, 40000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Fairy Skirt +(2150001, 1072006, 100000, 0, 0, 1500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Basic Boots +(2150001, 1072044, 100000, 0, 0, 1500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Yellow Basic Boots +(2150001, 1072045, 100000, 0, 0, 1500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Basic Boots +(2150001, 1072023, 100000, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Beige Nitty +(2150001, 1072024, 100000, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Nitty +(2150001, 1612000, 100000, 0, 0, 68000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Copper Engine +(2150001, 1612001, 100000, 0, 0, 96000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bronze Engine +(2150001, 1622000, 100000, 0, 0, 53000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Copper Machine Arm +(2150001, 1622001, 100000, 0, 0, 75000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bronze Machine Arm +(2150001, 1632000, 100000, 0, 0, 75000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bronze Machine Leg +(2150001, 1642000, 100000, 0, 0, 75000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bronze Body Frame +(2150001, 1652000, 100000, 0, 0, 53000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Copper Transistor +(2150001, 1652001, 100000, 0, 0, 75000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bronze Transistor + +# Carol (2150002) +(2150002, 4170050, 1000000000, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1000), # Andersen's Key +(2150002, 2432409, 100000, 0, 0, 100000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Magic Guard Mastery Book Coupon +(2150002, 2432410, 100000, 0, 0, 100000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Magic Booster Mastery Book Coupon +(2150002, 2432411, 100000, 0, 0, 100000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Critical Magic Mastery Book Coupon +(2150002, 2000000, 100000, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Red Potion +(2150002, 2000001, 100000, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Orange Potion +(2150002, 2000002, 1000000, 0, 0, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # White Potion +(2150002, 2000003, 1000000, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Blue Potion +(2150002, 2000006, 1000000, 0, 0, 186, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Mana Elixir +(2150002, 2002000, 1000000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Dexterity Potion +(2150002, 2002001, 1000000, 0, 0, 400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Speed Potion +(2150002, 2002002, 1000000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Magic Potion +(2150002, 2002004, 1000000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Warrior Potion +(2150002, 2002005, 1000000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Sniper Potion +(2150002, 2022003, 1000000, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Unagi +(2150002, 2022000, 1000000, 0, 0, 1155, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Pure Water +(2150002, 2001000, 1000000, 0, 0, 3200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Watermelon +(2150002, 2001001, 1000000, 0, 0, 2300, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Ice Cream Pop +(2150002, 2001002, 1000000, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Very Special Sundae +(2150002, 2010000, 1000000, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Apple +(2150002, 2010002, 1000000, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Egg +(2150002, 2010001, 1000000, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Meat +(2150002, 2010003, 1000000, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Orange +(2150002, 2010004, 1000000, 0, 0, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Lemon +(2150002, 2020028, 100000, 0, 0, 2100, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Chocolate +(2150002, 2050000, 100000, 0, 0, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Antidote +(2150002, 2050001, 100000, 0, 0, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Eyedrop +(2150002, 2050002, 100000, 0, 0, 300, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Tonic +(2150002, 2050003, 100000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Holy Water +(2150002, 2030000, 100000, 0, 0, 400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Return Scroll - Nearest Town +(2150002, 2060000, 9999999, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9999), # Arrow for Bow +(2150002, 2061000, 9999999, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9999), # Arrow for Crossbow +(2150002, 2060000, 9999999, 0, 0, 1400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 2000, 0, 9999), # Arrow for Bow +(2150002, 2061000, 9999999, 0, 0, 1400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 2000, 0, 9999), # Arrow for Crossbow +(2150002, 2120000, 1000000000, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9000), # Pet Food +(2150002, 2432805, 1000000, 0, 0, 50000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1000), # Appearance Reset Coupon + +# Lunch Vendor (9330469) +(9330469, 1004531, 10000000, 0, 0, 0, 4310186, 150, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Alishan Traditional Hat +(9330469, 1052943, 10000000, 0, 0, 0, 4310186, 100, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Alishan Traditional Outfit +(9330469, 1142901, 10000000, 0, 0, 0, 4310186, 300, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Alishan Pride +(9330469, 1202160, 10000000, 0, 0, 0, 4310186, 1000, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Shao Spirit Totem +(9330469, 1202161, 10000000, 0, 0, 0, 4310186, 500, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Spirit of Fire Totem +(9330469, 1202162, 10000000, 0, 0, 0, 4310186, 500, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Spirit of Water Totem +(9330469, 1202163, 10000000, 0, 0, 0, 4310186, 500, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Spirit of Earth Totem +(9330469, 1202164, 10000000, 0, 0, 0, 4310186, 500, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Spirit of Wind Totem +(9330469, 2010040, 10000000, 1, 0, 0, 4310186, 2, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Alishan Lunch Box +(9330469, 2434004, 10000000, 1, 0, 0, 4310186, 150, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Alishan Damage Skin +(9330469, 3013009, 10000000, 2, 0, 0, 4310186, 400, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Alishan Train + +# Brass (2180001) +(2180001, 2000000, 9999999, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Red Potion +(2180001, 2000001, 9999999, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Orange Potion +(2180001, 2000002, 9999999, 0, 0, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # White Potion +(2180001, 2000003, 9999999, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Blue Potion +(2180001, 2000006, 9999999, 0, 0, 186, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Mana Elixir +(2180001, 2002000, 9999999, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Dexterity Potion +(2180001, 2002001, 9999999, 0, 0, 400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Speed Potion +(2180001, 2002002, 9999999, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Magic Potion +(2180001, 2002004, 9999999, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Warrior Potion +(2180001, 2002005, 9999999, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Sniper Potion +(2180001, 2001000, 9999999, 0, 0, 3200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Watermelon +(2180001, 2001001, 9999999, 0, 0, 2300, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Ice Cream Pop +(2180001, 2001002, 9999999, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Very Special Sundae +(2180001, 2010000, 9999999, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Apple +(2180001, 2010002, 9999999, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Egg +(2180001, 2010001, 9999999, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Meat +(2180001, 2010003, 9999999, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Orange +(2180001, 2010004, 9999999, 0, 0, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Lemon +(2180001, 2022000, 9999999, 0, 0, 1155, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Pure Water +(2180001, 2022003, 9999999, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Unagi +(2180001, 2030000, 1000000, 0, 0, 400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Return Scroll - Nearest Town +(2180001, 2020012, 9999999, 0, 0, 4500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Melting Cheese +(2180001, 2020013, 9999999, 0, 0, 5600, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Reindeer Milk +(2180001, 2020014, 9999999, 0, 0, 8100, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Sunrise Dew +(2180001, 2020015, 9999999, 0, 0, 10200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Sunset Dew +(2180001, 2060000, 9999999, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9999), # Arrow for Bow +(2180001, 2061000, 9999999, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9999), # Arrow for Crossbow +(2180001, 2060000, 9999999, 0, 0, 1400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 2000, 0, 9999), # Arrow for Bow +(2180001, 2061000, 9999999, 0, 0, 1400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 2000, 0, 9999), # Arrow for Crossbow +(2180001, 2060001, 9999999, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9999), # Bronze Arrow for Bow +(2180001, 2061001, 9999999, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9999), # Bronze Arrow for Crossbow + +# Havis (1064004) +(1064004, 4033611, 100000, 0, 1440, 100000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Gnarled Wooden Key +(1064004, 4033611, 100000, 0, 1440, 0, 4310064, 1, 0, 0, 0, 0, 0, 0, 0, '', 0, 2, 0, 100), # Gnarled Wooden Key +(1064004, 2431265, 100000, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Portable Repair Kit + +# Oko (1064003) +(1064003, 2431935, 1000000, 0, 0, 0, 4310064, 4, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 5), # Mastery Book 20 +(1064003, 2431936, 1000000, 0, 0, 0, 4310064, 6, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 5), # Mastery Book 30 +(1064003, 2028154, 1000000, 0, 0, 0, 4310064, 2, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1000), # Sealed Box (Hat) +(1064003, 2028155, 1000000, 0, 0, 0, 4310064, 2, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1000), # Sealed Box (Overall, Top, Bottom) +(1064003, 2028156, 1000000, 0, 0, 0, 4310064, 2, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1000), # Sealed Box (Shoes, Gloves) +(1064003, 2028161, 1000000, 0, 0, 0, 4310064, 4, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1000), # Sealed Box (Weapon) +(1064003, 1073138, 1000000, 0, 0, 0, 4310064, 30, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Antique Root Boots +(1064003, 1073138, 1000000, 0, 0, 0, 4310065, 2, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Antique Root Boots +(1064003, 2028162, 1000000, 0, 0, 0, 4310065, 2, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1000), # Chaos Sealed Box (Hat) +(1064003, 2028163, 1000000, 0, 0, 0, 4310065, 2, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1000), # Chaos Sealed Box (Overall, Top, Bottom) +(1064003, 2028164, 1000000, 0, 0, 0, 4310065, 2, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1000), # Chaos Sealed Box (Shoes, Gloves) +(1064003, 2028165, 1000000, 0, 0, 0, 4310065, 4, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1000), # Chaos Sealed Box (Weapon) +(1064003, 2001000, 10000000, 0, 0, 3200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Watermelon +(1064003, 2001001, 10000000, 0, 0, 2300, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Ice Cream Pop +(1064003, 2001002, 10000000, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Very Special Sundae +(1064003, 2020013, 1000000, 0, 0, 5600, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Reindeer Milk +(1064003, 2020014, 1000000, 0, 0, 8100, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Sunrise Dew +(1064003, 2020015, 1000000, 0, 0, 10200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Sunset Dew +(1064003, 2060000, 0, 0, 0, 1400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 2000, 0, 9999), # Arrow for Bow +(1064003, 2061000, 0, 0, 0, 1400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 2000, 0, 9999), # Arrow for Crossbow +(1064003, 2060001, 9999999, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9999), # Bronze Arrow for Bow +(1064003, 2061001, 9999999, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9999), # Bronze Arrow for Crossbow +(1064003, 3700339, 1000000, 0, 0, 3000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Root Abyss Master + +# Glinda (2540017) +(2540017, 2432465, 1000000, 0, 0, 0, 0, 0, 42003, 300000, 0, 0, 0, 0, 42002, 'tf', 30, 1, 0, 1), # Alicia's Damage Skin +(2540017, 2431965, 1000000, 0, 0, 0, 0, 0, 42003, 5000, 0, 0, 0, 0, 42002, 'tf', 5, 1, 0, 100), # Basic Damage Skin +(2540017, 2432463, 1000000, 0, 0, 0, 0, 0, 42003, 210000, 0, 0, 0, 0, 42002, 'tf', 25, 1, 0, 1), # Shovel Snow Manual +(2540017, 3014002, 1000000, 0, 0, 0, 0, 0, 42003, 150000, 0, 0, 0, 0, 42002, 'tf', 20, 1, 0, 1), # High-Five Comic Chair +(2540017, 2432468, 1000000, 0, 0, 0, 0, 0, 42003, 20000, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Broken Box Piece +(2540017, 2433841, 1000000, 0, 0, 0, 0, 0, 42003, 1000, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Tower of Oz Question Ring Box +(2540017, 4001832, 1000000, 0, 0, 0, 0, 0, 42003, 1500, 0, 0, 0, 0, 0, '', 0, 100, 0, 9000), # Spell Trace +(2540017, 2432438, 1000000, 0, 0, 0, 0, 0, 42003, 30, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Prescription Really Not Very Stupid At All Pill +(2540017, 2432439, 1000000, 0, 0, 0, 0, 0, 42003, 90, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Prescription Less Stupid Pill +(2540017, 2432440, 1000000, 0, 0, 0, 0, 0, 42003, 150, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Prescription Kinda Stupid Pill +(2540017, 2432441, 1000000, 0, 0, 0, 0, 0, 42003, 300, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Prescription Pretty Stupid Pill +(2540017, 2432442, 1000000, 0, 0, 0, 0, 0, 42003, 600, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Prescription Pants-On-Head Stupid Pill +(2540017, 2432443, 1000000, 0, 0, 0, 0, 0, 42003, 60, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Generic Really Not Very Stupid At All Pill +(2540017, 2432444, 1000000, 0, 0, 0, 0, 0, 42003, 180, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Generic Less Stupid Pill +(2540017, 2432445, 1000000, 0, 0, 0, 0, 0, 42003, 300, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Generic Kinda Stupid Pill +(2540017, 2432446, 1000000, 0, 0, 0, 0, 0, 42003, 600, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Generic Pretty Stupid Pill +(2540017, 2432447, 1000000, 0, 0, 0, 0, 0, 42003, 1200, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Generic Pants-On-Head Stupid Pill +(2540017, 2020013, 1000000, 0, 0, 0, 0, 0, 42003, 100, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Reindeer Milk +(2540017, 2020014, 1000000, 0, 0, 0, 0, 0, 42003, 160, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Sunrise Dew +(2540017, 2050004, 1000000, 0, 0, 0, 0, 0, 42003, 160, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # All Cure Potion +(2540017, 2432589, 1000000, 0, 0, 0, 0, 0, 42003, 10, 0, 0, 0, 0, 42002, 'tf', 1, 1, 0, 300), # Tower of Oz Practice Ticket + +# Pub (9076002) +(9076002, 2432201, 100000, 0, 0, 0, 0, 0, 7907, 30, 0, 0, 0, 0, 0, '', 0, 1, 0, 200), # Folded Diary Page +(9076002, 2437006, 100000, 0, 0, 0, 0, 0, 7907, 30, 0, 0, 0, 0, 0, '', 0, 1, 0, 200), # Torn Notebook Page +(9076002, 2437007, 100000, 0, 0, 0, 0, 0, 7907, 30, 0, 0, 0, 0, 0, '', 0, 1, 0, 200), # Old Book Page +(9076002, 2437008, 100000, 0, 0, 0, 0, 0, 7907, 30, 0, 0, 0, 0, 0, '', 0, 1, 0, 200), # An Old Letter +(9076002, 4001832, 2000000000, 14, 0, 0, 4310060, 50, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9000), # Spell Trace +(9076002, 4000999, 100000, 0, 0, 0, 0, 0, 7907, 30, 0, 0, 0, 0, 0, '', 0, 10, 0, 9000), # Spell Trace +(9076002, 2023677, 100000, 0, 10080, 0, 0, 0, 7907, 50, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Party EXP Booster +(9076002, 2431935, 100000, 0, 0, 0, 0, 0, 7907, 90, 0, 0, 0, 0, 0, '', 0, 1, 0, 5), # Mastery Book 20 +(9076002, 2431936, 100000, 0, 0, 0, 0, 0, 7907, 120, 0, 0, 0, 0, 0, '', 0, 1, 0, 5), # Mastery Book 30 +(9076002, 2640020, 100000, 0, 0, 80000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Party Quest Scroll for One-Handed Weapon for ATT +(9076002, 2640021, 100000, 0, 0, 330000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Party Quest Scroll for One-Handed Weapon for Magic ATT +(9076002, 2047836, 100000, 0, 0, 580000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Party Quest Scroll for Two-Handed Weapon for ATT +(9076002, 1152205, 100000, 0, 20160, 0, 0, 0, 7907, 860, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Crimsonheart Epaulette +(9076002, 1113283, 100000, 0, 20160, 0, 0, 0, 7907, 1480, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Champion Ring +(9076002, 2437010, 100000, 0, 0, 0, 0, 0, 7907, 30, 0, 0, 0, 0, 0, '', 0, 1, 0, 200), # Party Quest Gift Box +(9076002, 3010705, 100000, 0, 0, 0, 0, 0, 7907, 350, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Slime Launcher Chair +(9076002, 2431965, 100000, 0, 0, 0, 0, 0, 7907, 740, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Basic Damage Skin +(9076002, 2432131, 100000, 0, 0, 0, 0, 0, 7907, 960, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Party Quest Damage Skin +(9076002, 2437009, 100000, 0, 0, 0, 0, 0, 7907, 1200, 0, 0, 0, 0, 0, '', 0, 1, 0, 200), # Party Quest Damage Skin + +# Lao (2091012) +(2091012, 2436812, 2000000000, 0, 0, 0, 0, 0, 3887, 5000, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Kemdi Scarecrow Summoning Sack +(2091012, 2436813, 2000000000, 0, 0, 0, 0, 0, 3887, 5000, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # So Gong Scarecrow Summoning Sack +(2091012, 3015240, 2000000000, 0, 0, 0, 0, 0, 3887, 99000, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Mini Mu Lung Dojo Chair +(2091012, 3015241, 2000000000, 0, 0, 0, 0, 0, 3887, 99000, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Mu Lung Scarecrow Chair +(2091012, 1082394, 2000000000, 0, 10080, 0, 0, 0, 3887, 70000, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # So Gong's Gloves +(2091012, 1082709, 2000000000, 0, 10080, 0, 0, 0, 3887, 70000, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # So Gong's Gloves +(2091012, 1082660, 2000000000, 0, 10080, 0, 0, 0, 3887, 50000, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Expert's Gloves +(2091012, 1082710, 2000000000, 0, 10080, 0, 0, 0, 3887, 50000, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Expert's Gloves +(2091012, 1082661, 2000000000, 0, 10080, 0, 0, 0, 3887, 30000, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Expert Apprentice's Gloves +(2091012, 1082711, 2000000000, 0, 10080, 0, 0, 0, 3887, 30000, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Expert's Apprentice Gloves +(2091012, 2434284, 2000000000, 0, 0, 0, 0, 0, 3887, 2000, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Mu Lung Dojo Unidentified Belt Box +(2091012, 2434285, 2000000000, 0, 0, 0, 0, 0, 3887, 2000, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Mu Lung Dojo Unidentified Gloves Box +(2091012, 2434286, 2000000000, 0, 10080, 0, 0, 0, 3887, 1500, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Unidentified Traits Growth Box +(2091012, 2434288, 2000000000, 0, 10080, 0, 0, 0, 3887, 6000, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Special Medal of Honor +(2091012, 2434287, 2000000000, 0, 10080, 0, 0, 0, 3887, 5000, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Mu Gong's Honor EXP Guarantee +(2091012, 1122215, 2000000000, 0, 4320, 0, 0, 0, 3887, 3000, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Pendant of the Spirit +(2091012, 4001851, 2000000000, 0, 10080, 0, 0, 0, 3887, 1500, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Unity Training Center Entrance Charm (30 minutes) +(2091012, 4001852, 2000000000, 0, 10080, 0, 0, 0, 3887, 3000, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Unity Training Center Entrance Charm (1 hour) +(2091012, 4001853, 2000000000, 0, 10080, 0, 0, 0, 3887, 8000, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Unity Training Center Entrance Charm (3 hours) +(2091012, 4001854, 2000000000, 0, 10080, 0, 0, 0, 3887, 15000, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Unity Training Center Entrance Charm (6 hours) +(2091012, 4001881, 2000000000, 0, 10080, 0, 0, 0, 3887, 22000, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Unity Training Center Entrance Charm (9 hours) +(2091012, 4001862, 2000000000, 0, 10080, 0, 0, 0, 3887, 28000, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Unity Training Center Entrance Charm (12 hours) +(2091012, 4001882, 2000000000, 0, 10080, 0, 0, 0, 3887, 54000, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Unity Training Center Entrance Charm (24 hours) +(2091012, 2049710, 2000000000, 0, 10080, 0, 0, 0, 3887, 15000, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Epic Potential Scroll 50% +(2091012, 2048311, 1000000, 0, 0, 10200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bonus Potential Scroll 50% +(2091012, 2590004, 2000000000, 0, 0, 0, 0, 0, 3887, 1000, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Prototype Soul Enchanter +(2091012, 4001832, 100000, 0, 0, 10000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9000), # Spell Trace +(2091012, 2048724, 2000000000, 0, 10080, 0, 0, 0, 3887, 25000, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Powerful Rebirth Flame +(2091012, 2434289, 2000000000, 0, 10080, 0, 0, 0, 3887, 70000, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Mu Lung Dojo Damage Skin +(2091012, 2434325, 2000000000, 0, 0, 0, 0, 0, 3887, 2500, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Scarecrow Summoning Sack +(2091012, 2434330, 2000000000, 0, 0, 0, 0, 0, 3887, 2500, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Scarecrow Summoning Sack +(2091012, 2436812, 2000000000, 0, 0, 0, 0, 0, 3887, 5000, 0, 0, 999, 999, 0, '', 0, 1, 0, 300), # Kemdi Scarecrow Summoning Sack +(2091012, 2436813, 2000000000, 0, 0, 0, 0, 0, 3887, 5000, 0, 0, 999, 999, 0, '', 0, 1, 0, 300), # So Gong Scarecrow Summoning Sack + +# Mr. Sweatbottom (1061002) +(1061002, 2000000, 1000000, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Red Potion +(1061002, 2000001, 1000000, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Orange Potion +(1061002, 2000002, 1000000, 0, 0, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # White Potion +(1061002, 2000003, 1000000, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Blue Potion +(1061002, 2000006, 1000000, 0, 0, 186, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Mana Elixir +(1061002, 2010000, 1000000, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Apple +(1061002, 2010002, 1000000, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Egg +(1061002, 2010001, 1000000, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Meat +(1061002, 2010003, 1000000, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Orange +(1061002, 2010004, 1000000, 0, 0, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Lemon +(1061002, 2022000, 1000000, 0, 0, 1155, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Pure Water +(1061002, 2022003, 1000000, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Unagi +(1061002, 2030000, 100000, 0, 0, 400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Return Scroll - Nearest Town +(1061002, 2030006, 1000000, 0, 0, 600, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Return Scroll to Sleepywood +(1061002, 2060000, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9999), # Arrow for Bow +(1061002, 2061000, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9999), # Arrow for Crossbow +(1061002, 2060000, 0, 0, 0, 1400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 2000, 0, 9999), # Arrow for Bow +(1061002, 2061000, 0, 0, 0, 1400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 2000, 0, 9999), # Arrow for Crossbow +(1061002, 2432805, 1000000, 0, 0, 50000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1000), # Appearance Reset Coupon + +# Randolf (9390122) +(9390122, 2022794, 100000, 0, 0, 100000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Premium Hair Wax +(9390122, 2022795, 100000, 0, 0, 100000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Premium Carrot Juice +(9390122, 2022796, 100000, 0, 0, 100000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Snake Bone Soup +(9390122, 2022797, 100000, 0, 0, 100000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Extra-Strength Hand Sanitizer +(9390122, 2022798, 100000, 0, 0, 100000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Cafe Latte +(9390122, 2022799, 100000, 0, 0, 100000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Premium Cologne +(9390122, 2431232, 100000, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Suspicious Mineral Pouch +(9390122, 2431233, 100000, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Suspicious Herb Pouch +(9390122, 4021013, 100000, 0, 0, 0, 4310098, 5, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9000), # Basic Item Crystal +(9390122, 4021014, 100000, 0, 0, 0, 4310098, 7, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9000), # Intermediate Item Crystal +(9390122, 4021015, 100000, 0, 0, 0, 4310098, 10, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9000), # Advanced Item Crystal +(9390122, 2046223, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 100), # Scroll for Armor STR 60% +(9390122, 2046224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 100), # Scroll for Armor INT 60% +(9390122, 2046225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 100), # Scroll for Armor for DEX 60% +(9390122, 2046226, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 100), # Scroll for Armor LUK 60% +(9390122, 2046314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 100), # Scroll for Accessory STR 60% +(9390122, 2046315, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 100), # Scroll for Accessory INT 60% +(9390122, 2046316, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 100), # Scroll for Accessory for DEX 60% +(9390122, 2046317, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 100), # Scroll for Accessory LUK 60% +(9390122, 2046012, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 100), # Scroll for One-Handed Weapon ATT 60% +(9390122, 2046013, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 100), # Scroll for One-Handed Weapon M. ATT 60% +(9390122, 2046112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 100), # Scroll for Two-Handed Weapon ATT 60% +(9390122, 2612004, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 100), # Scroll for Two-Handed Weapon Magic ATT 60% +(9390122, 2049401, 100000, 0, 0, 0, 4310098, 15, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Potential Scroll +(9390122, 2049301, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 100), # Equip Enhancement Scroll +(9390122, 2430442, 100000, 0, 10080, 0, 4310098, 15, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Profession Coupon +(9390122, 2049300, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 100), # Advanced Equip Enhancement Scroll +(9390122, 2049400, 100000, 0, 0, 0, 4310098, 15, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Advanced Potential Scroll +(9390122, 2049100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 100), # Chaos Scroll 60% +(9390122, 2003048, 100000, 0, 0, 0, 4310098, 30, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Gollux Sapphire Piercing Potion +(9390122, 2003049, 100000, 0, 0, 0, 4310098, 30, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Gollux Ruby Dominance Potion +(9390122, 2003581, 100000, 0, 0, 100000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Red Star Potion +(9390122, 2510171, 100000, 0, 0, 0, 4310098, 15, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Android (M) Recipe +(9390122, 2510172, 100000, 0, 0, 0, 4310098, 15, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Android (F) Recipe +(9390122, 2510176, 100000, 0, 0, 0, 4310098, 15, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Iron Heart Recipe +(9390122, 2510240, 100000, 0, 0, 0, 4310098, 15, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Gold Heart Recipe +(9390122, 2047906, 1000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Occult Scroll for Armor for ATT 90% +(9390122, 2047907, 1000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Occult Scroll for Armor for M. ATT 90% +(9390122, 2047908, 1000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Occult Scroll for Armor for STR 90% +(9390122, 2047909, 1000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Occult Scroll for Armor for INT 90% +(9390122, 2047910, 1000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Occult Scroll for Armor for DEX 90% +(9390122, 2047911, 1000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Occult Scroll for Armor for LUK 90% +(9390122, 2046831, 1000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Occult Scroll for Accessory for ATT 90% +(9390122, 2046832, 1000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Occult Scroll for Accessory for M. ATT 90% +(9390122, 2046833, 1000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Occult Scroll for Accessory for STR 90% +(9390122, 2046834, 1000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Occult Scroll for Accessory for INT 90% +(9390122, 2046835, 1000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Occult Scroll for Accessory for DEX 90% +(9390122, 2046836, 1000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Occult Scroll for Accessory for LUK 90% +(9390122, 4033982, 10000000, 0, 0, 0, 4310098, 10, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Fallen Heart Tree Key + +# Lucia (9390123) +(9390123, 4021016, 30, 0, 0, 0, 4310097, 3, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9000), # Superior Item Crystal +(9390123, 2510108, 10000000, 0, 0, 0, 4310097, 15, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Dragon Carabella Recipe +(9390123, 2510109, 10000000, 0, 0, 0, 4310097, 15, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Dragon Axe Recipe +(9390123, 2510110, 10000000, 0, 0, 0, 4310097, 15, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Dragon Mace Recipe +(9390123, 2510111, 10000000, 0, 0, 0, 4310097, 15, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Dragon Kanzir Recipe +(9390123, 2510112, 10000000, 0, 0, 0, 4310097, 15, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Dragon Kreda Recipe +(9390123, 2510113, 10000000, 0, 0, 0, 4310097, 15, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Dragon Wand Recipe +(9390123, 2510114, 10000000, 0, 0, 0, 4310097, 15, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Dragon Staff Recipe +(9390123, 2510115, 10000000, 0, 0, 0, 4310097, 15, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Dragon Claymore Recipe +(9390123, 2510116, 10000000, 0, 0, 0, 4310097, 15, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Dragon Battle Axe Recipe +(9390123, 2510117, 10000000, 0, 0, 0, 4310097, 15, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Dragon Flame Recipe +(9390123, 2510118, 10000000, 0, 0, 0, 4310097, 15, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Dragon Faltizan Recipe +(9390123, 2510119, 10000000, 0, 0, 0, 4310097, 15, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Dragon Chelbird Recipe +(9390123, 2510120, 10000000, 0, 0, 0, 4310097, 15, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Dragon Shiner Bow Recipe +(9390123, 2510121, 10000000, 0, 0, 0, 4310097, 15, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Dragon Shiner Cross Recipe +(9390123, 2510122, 10000000, 0, 0, 0, 4310097, 15, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Dragon Green Sleve Recipe +(9390123, 2510123, 10000000, 0, 0, 0, 4310097, 15, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Dragon Purple Sleve Recipe +(9390123, 2510124, 10000000, 0, 0, 0, 4310097, 20, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Dragon Slash Claw Recipe +(9390123, 2510125, 10000000, 0, 0, 0, 4310097, 20, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Dragonfire Revolver Recipe +(9390123, 2049000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 100), # Clean Slate Scroll 1% +(9390123, 2510173, 10000000, 0, 0, 0, 4310098, 20, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Deluxe Android (M) Recipe +(9390123, 2510174, 10000000, 0, 0, 0, 4310098, 20, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Deluxe Android (F) Recipe +(9390123, 2510241, 10000000, 0, 0, 0, 4310097, 20, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Garnet Heart Recipe +(9390123, 2510242, 10000000, 0, 0, 0, 4310097, 20, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Crystal Heart Recipe +(9390123, 2511043, 10000000, 0, 0, 0, 4310097, 20, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Red Bear Pendant Recipe +(9390123, 2511044, 10000000, 0, 0, 0, 4310097, 20, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Pink Bear Pendant Recipe +(9390123, 2511047, 10000000, 0, 0, 0, 4310097, 20, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Red Owl Pendant Recipe +(9390123, 2511048, 10000000, 0, 0, 0, 4310097, 20, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Pink Owl Pendant Recipe +(9390123, 2511051, 10000000, 0, 0, 0, 4310097, 20, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Red Wolf Pendant Recipe +(9390123, 2511052, 10000000, 0, 0, 0, 4310097, 20, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Pink Wolf Pendant Recipe +(9390123, 2511055, 10000000, 0, 0, 0, 4310097, 20, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Red Peacock Pendant Recipe +(9390123, 2511056, 10000000, 0, 0, 0, 4310097, 20, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Pink Peacock Pendant Recipe +(9390123, 2511066, 10000000, 0, 0, 0, 4310097, 20, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Strength Ring V Recipe +(9390123, 1032220, 10000000, 0, 0, 0, 4310097, 10, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Cracked Gollux Earrings +(9390123, 1032221, 10000000, 0, 0, 0, 4310097, 40, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Solid Gollux Earrings +(9390123, 1032222, 10000000, 0, 0, 0, 4310097, 90, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Reinforced Gollux Earrings +(9390123, 1032223, 10000000, 0, 0, 0, 4310097, 150, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Superior Gollux Earrings +(9390123, 1113072, 10000000, 0, 0, 0, 4310097, 15, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Cracked Gollux Ring +(9390123, 1113073, 10000000, 0, 0, 0, 4310097, 50, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Solid Gollux Ring +(9390123, 1113074, 10000000, 0, 0, 0, 4310097, 110, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Reinforced Gollux Ring +(9390123, 1113075, 10000000, 0, 0, 0, 4310097, 160, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Superior Gollux Ring +(9390123, 3010698, 10000000, 0, 0, 0, 4310097, 200, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Gollux Chair +(9390123, 3010699, 10000000, 0, 0, 0, 4310097, 200, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Gollux Head Chair +(9390123, 2615000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 200), # Basic Gollux Scroll +(9390123, 2615001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 200), # Advanced Gollux Scroll + +# Supplier Salio (1540894) +(1540894, 1542108, 2000000000, 1, 0, 0, 4310199, 5, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Katana +(1540894, 1552110, 2000000000, 1, 0, 0, 4310199, 5, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Summoner +(1540894, 1252093, 2000000000, 1, 0, 0, 4310199, 5, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Scepter +(1540894, 2048915, 0, 0, 0, 0, 1918285148, -2147409152, 352997008, 0, 1913632003, 0, 0, 0, 0, '', 0, 0, 0, 100), # AbsoLab Lucky Item Scroll +(1540894, 4310216, 2000000000, 0, 4320, 0, 0, 0, 0, 0, 350, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Essence +(1540894, 1212115, 2000000000, 1, 0, 0, 4310199, 5, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Shining Rod +(1540894, 1222109, 2000000000, 1, 0, 0, 4310199, 5, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Soul Shooter +(1540894, 1232109, 2000000000, 1, 0, 0, 4310199, 5, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Desperado +(1540894, 1242120, 2000000000, 1, 0, 0, 4310199, 5, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Whip Blade +(1540894, 1242116, 2000000000, 1, 0, 0, 4310199, 5, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Whip Blade +(1540894, 1302333, 2000000000, 1, 0, 0, 4310199, 5, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Saber +(1540894, 1312199, 2000000000, 1, 0, 0, 4310199, 5, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Axe +(1540894, 1322250, 2000000000, 1, 0, 0, 4310199, 5, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Bit Hammer +(1540894, 1332274, 2000000000, 1, 0, 0, 4310199, 5, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Blade Lord +(1540894, 1342101, 2000000000, 1, 0, 0, 4310199, 5, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Katara +(1540894, 1362135, 2000000000, 1, 0, 0, 4310199, 5, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Forked Cane +(1540894, 1372222, 2000000000, 1, 0, 0, 4310199, 5, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Spellsong Wand +(1540894, 1382259, 2000000000, 1, 0, 0, 4310199, 5, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Spellsong Staff +(1540894, 1262017, 2000000000, 1, 0, 0, 4310199, 5, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Psy-limiter +(1540894, 1272016, 2000000000, 1, 0, 0, 4310199, 5, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Chain +(1540894, 1282016, 2000000000, 1, 0, 0, 4310199, 5, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Lucent Gauntlet +(1540894, 1582017, 2000000000, 1, 0, 0, 4310199, 5, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Pile God +(1540894, 1402251, 2000000000, 1, 0, 0, 4310199, 5, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Broad Saber +(1540894, 1412177, 2000000000, 1, 0, 0, 4310199, 5, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Broad Axe +(1540894, 1422184, 2000000000, 1, 0, 0, 4310199, 5, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Broad Hammer +(1540894, 1432214, 2000000000, 1, 0, 0, 4310199, 5, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Piercing Spear +(1540894, 1442268, 2000000000, 1, 0, 0, 4310199, 5, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Hellslayer +(1540894, 1452252, 2000000000, 1, 0, 0, 4310199, 5, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Sureshot Bow +(1540894, 1462239, 2000000000, 1, 0, 0, 4310199, 5, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Crossbow +(1540894, 1472261, 2000000000, 1, 0, 0, 4310199, 5, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Revenge Guard +(1540894, 1482216, 2000000000, 1, 0, 0, 4310199, 5, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Blast Knuckle +(1540894, 1492231, 2000000000, 1, 0, 0, 4310199, 5, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Point Gun +(1540894, 1522138, 2000000000, 1, 0, 0, 4310199, 5, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Dual Bowguns +(1540894, 1532144, 2000000000, 1, 0, 0, 4310199, 5, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Blast Cannon +(1540894, 1004422, 2000000000, 1, 0, 0, 4310199, 2, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Knight Helm +(1540894, 1004423, 2000000000, 1, 0, 0, 4310199, 2, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Mage Crown +(1540894, 1004424, 2000000000, 1, 0, 0, 4310199, 2, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Archer Hood +(1540894, 1004425, 2000000000, 1, 0, 0, 4310199, 2, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Bandit Cap +(1540894, 1004426, 2000000000, 1, 0, 0, 4310199, 2, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Pirate Fedora +(1540894, 1052882, 2000000000, 1, 0, 0, 4310199, 2, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Knight Suit +(1540894, 1052887, 2000000000, 1, 0, 0, 4310199, 2, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Mage Suit +(1540894, 1052888, 2000000000, 1, 0, 0, 4310199, 2, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Archer Suit +(1540894, 1052889, 2000000000, 1, 0, 0, 4310199, 2, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Bandit Suit +(1540894, 1052890, 2000000000, 1, 0, 0, 4310199, 2, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Pirate Suit +(1540894, 1152174, 2000000000, 1, 0, 0, 4310199, 2, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Knight Shoulder +(1540894, 1152176, 2000000000, 1, 0, 0, 4310199, 2, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Mage Shoulder +(1540894, 1152177, 2000000000, 1, 0, 0, 4310199, 2, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Archer Shoulder +(1540894, 1152178, 2000000000, 1, 0, 0, 4310199, 2, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Thief Shoulder +(1540894, 1152179, 2000000000, 1, 0, 0, 4310199, 2, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # AbsoLab Pirate Shoulder +(1540894, 2120000, 1000000000, 2, 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9000), # Pet Food +(1540894, 2022003, 1000000, 2, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Unagi +(1540894, 2022000, 1000000, 2, 0, 1155, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Pure Water +(1540894, 2001000, 1000000, 2, 0, 3200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Watermelon +(1540894, 2001001, 1000000, 2, 0, 2300, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Ice Cream Pop +(1540894, 2001002, 1000000, 2, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Very Special Sundae +(1540894, 2020012, 1000000, 2, 0, 4500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Melting Cheese +(1540894, 2020013, 1000000, 2, 0, 5600, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Reindeer Milk +(1540894, 2020014, 1000000, 2, 0, 8100, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Sunrise Dew +(1540894, 2020015, 1000000, 2, 0, 10200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Sunset Dew +(1540894, 2002000, 100000, 2, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Dexterity Potion +(1540894, 2002001, 100000, 2, 0, 400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Speed Potion +(1540894, 2002002, 100000, 2, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Magic Potion +(1540894, 2002004, 100000, 2, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Warrior Potion +(1540894, 2002005, 100000, 2, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Sniper Potion +(1540894, 2030000, 100000, 2, 0, 400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Return Scroll - Nearest Town +(1540894, 2060000, 0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9999), # Arrow for Bow +(1540894, 2061000, 0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9999), # Arrow for Crossbow +(1540894, 2060000, 0, 2, 0, 1400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 2000, 0, 9999), # Arrow for Bow +(1540894, 2061000, 0, 2, 0, 1400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 2000, 0, 9999), # Arrow for Crossbow +(1540894, 2050000, 100000, 2, 0, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Antidote +(1540894, 2050001, 100000, 2, 0, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Eyedrop +(1540894, 2050002, 100000, 2, 0, 300, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Tonic + +# Doofus (1012004) +(1012004, 2120000, 1000000000, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9000), # Pet Food +(1012004, 2260000, 1000000000, 0, 0, 1000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 200), # Revitalizer +(1012004, 2432512, 1000000000, 0, 0, 6000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 10), # Accelerator + +# Thorr (1302022) +(1302022, 2000000, 2000000000, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Red Potion +(1302022, 2000001, 2000000000, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Orange Potion +(1302022, 2000002, 2000000000, 0, 0, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # White Potion +(1302022, 2000003, 2000000000, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Blue Potion +(1302022, 2000006, 2000000000, 0, 0, 186, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Mana Elixir +(1302022, 2002000, 2000000000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Dexterity Potion +(1302022, 2002001, 2000000000, 0, 0, 400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Speed Potion +(1302022, 2002002, 2000000000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Magic Potion +(1302022, 2002004, 2000000000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Warrior Potion +(1302022, 2002005, 2000000000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Sniper Potion +(1302022, 2050000, 2000000000, 0, 0, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Antidote +(1302022, 2050001, 2000000000, 0, 0, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Eyedrop +(1302022, 2050002, 2000000000, 0, 0, 300, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Tonic +(1302022, 2050003, 2000000000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Holy Water +(1302022, 2022003, 2000000000, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Unagi +(1302022, 2022000, 2000000000, 0, 0, 1155, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Pure Water +(1302022, 2001001, 2000000000, 0, 0, 2300, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Ice Cream Pop +(1302022, 2001002, 2000000000, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Very Special Sundae +(1302022, 2020012, 2000000000, 0, 0, 4500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Melting Cheese +(1302022, 2020013, 2000000000, 0, 0, 5600, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Reindeer Milk +(1302022, 2020014, 2000000000, 0, 0, 8100, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Sunrise Dew +(1302022, 2020015, 2000000000, 0, 0, 10200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Sunset Dew +(1302022, 2060000, 2000000000, 0, 0, 1400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 2000, 0, 9999), # Arrow for Bow +(1302022, 2061000, 2000000000, 0, 0, 1400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 2000, 0, 9999), # Arrow for Crossbow +(1302022, 2030000, 2000000000, 0, 0, 400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Return Scroll - Nearest Town +(1302022, 2120000, 1000000000, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9000), # Pet Food + +# Mozza Mozza (1013303) +(1013303, 2000000, 100000, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Red Potion +(1013303, 2000001, 100000, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Orange Potion +(1013303, 2000002, 100000, 0, 0, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # White Potion +(1013303, 2000003, 100000, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Blue Potion +(1013303, 2000006, 100000, 0, 0, 186, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Mana Elixir +(1013303, 2002000, 100000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Dexterity Potion +(1013303, 2002001, 100000, 0, 0, 400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Speed Potion +(1013303, 2002002, 100000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Magic Potion +(1013303, 2002004, 100000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Warrior Potion +(1013303, 2002005, 100000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Sniper Potion +(1013303, 2010000, 1000, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Apple +(1013303, 2010002, 1000, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Egg +(1013303, 2010001, 1000, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Meat +(1013303, 2010003, 1000, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Orange +(1013303, 2010004, 100000, 0, 0, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Lemon +(1013303, 2030000, 100000, 0, 0, 400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Return Scroll - Nearest Town +(1013303, 2060000, 0, 0, 0, 1400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 2000, 0, 9999), # Arrow for Bow +(1013303, 2061000, 0, 0, 0, 1400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 2000, 0, 9999), # Arrow for Crossbow +(1013303, 2050000, 100000, 0, 0, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Antidote +(1013303, 2050001, 100000, 0, 0, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Eyedrop +(1013303, 2050002, 100000, 0, 0, 300, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Tonic + +# June (1052254) +(1052254, 2001000, 10000000, 0, 0, 3200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Watermelon +(1052254, 2001001, 10000000, 0, 0, 2300, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Ice Cream Pop +(1052254, 2001002, 10000000, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Very Special Sundae +(1052254, 2020013, 1000000, 0, 0, 5600, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Reindeer Milk +(1052254, 2020014, 1000000, 0, 0, 8100, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Sunrise Dew +(1052254, 2020015, 1000000, 0, 0, 10200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Sunset Dew +(1052254, 2030000, 100000, 0, 0, 400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Return Scroll - Nearest Town +(1052254, 2120000, 1000000000, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9000), # Pet Food +(1052254, 2060000, 0, 0, 0, 1400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 2000, 0, 9999), # Arrow for Bow +(1052254, 2061000, 0, 0, 0, 1400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 2000, 0, 9999), # Arrow for Crossbow +(1052254, 2060001, 9999999, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9999), # Bronze Arrow for Bow +(1052254, 2061001, 9999999, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9999), # Bronze Arrow for Crossbow + +# Squire Pancho Sanza (9010111) +(9010111, 2023658, 1000000, 0, 14400, 0, 0, 0, 500629, 10, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Legion's Might Lv. 1 +(9010111, 2023659, 1000000, 0, 14400, 0, 0, 0, 500629, 20, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Legion's Might Lv. 2 +(9010111, 2023660, 1000000, 0, 14400, 0, 0, 0, 500629, 30, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Legion's Might Lv. 3 +(9010111, 2450147, 1000000, 0, 14400, 0, 0, 0, 500629, 30, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Legion's Expertise Lv. 1 +(9010111, 2450148, 1000000, 0, 14400, 0, 0, 0, 500629, 50, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Legion's Expertise Lv. 2 +(9010111, 2450149, 1000000, 0, 14400, 0, 0, 0, 500629, 70, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Legion's Expertise Lv. 3 +(9010111, 2023661, 1000000, 0, 14400, 0, 0, 0, 500629, 30, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Legion's Luck Lv. 1 +(9010111, 2023662, 1000000, 0, 14400, 0, 0, 0, 500629, 50, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Legion's Luck Lv. 2 +(9010111, 2023663, 1000000, 0, 14400, 0, 0, 0, 500629, 70, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Legion's Luck Lv. 3 +(9010111, 2023664, 1000000, 0, 14400, 0, 0, 0, 500629, 30, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Legion's Wealth Lv. 1 +(9010111, 2023665, 1000000, 0, 14400, 0, 0, 0, 500629, 50, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Legion's Wealth Lv. 2 +(9010111, 2023666, 1000000, 0, 14400, 0, 0, 0, 500629, 70, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Legion's Wealth Lv. 3 +(9010111, 2049018, 2000000000, 1, 0, 0, 4310057, 68, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Clean Slate Scroll 10% +(9010111, 2049710, 1000000, 0, 14400, 0, 0, 0, 500629, 140, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Epic Potential Scroll 50% +(9010111, 2049509, 1000000, 0, 14400, 0, 0, 0, 500629, 40, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Gold Potential Stamp +(9010111, 2710002, 1000000, 0, 14400, 0, 0, 0, 500629, 140, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Master Craftsman's Cube +(9010111, 2048724, 1000000, 0, 14400, 0, 0, 0, 500629, 100, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Powerful Rebirth Flame +(9010111, 2436614, 1000000, 0, 14400, 0, 0, 0, 500629, 30, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Basic Legion Meso Box +(9010111, 2436615, 1000000, 0, 14400, 0, 0, 0, 500629, 50, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Intermediate Legion Meso Box +(9010111, 2436616, 1000000, 0, 14400, 0, 0, 0, 500629, 70, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Advanced Legion Meso Box +(9010111, 2436617, 1000000, 0, 14400, 0, 0, 0, 500629, 75, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Basic Legion Growth Potion +(9010111, 2436618, 1000000, 0, 14400, 0, 0, 0, 500629, 110, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Intermediate Legion Growth Potion +(9010111, 2436619, 1000000, 0, 14400, 0, 0, 0, 500629, 150, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Advanced Legion Growth Potion +(9010111, 2436884, 1000000, 0, 43200, 0, 0, 0, 500629, 500, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Legion Preset Coupon +(9010111, 2048311, 2000000000, 1, 0, 0, 4310057, 83, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bonus Potential Scroll 50% +(9010111, 2535000, 1000000, 0, 10080, 0, 0, 0, 500629, 300, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Arcane Catalyst + +# Rana the Fairy (1531031) +(1531031, 2000000, 100000, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Red Potion +(1531031, 2000001, 100000, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Orange Potion +(1531031, 2000002, 100000, 0, 0, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # White Potion +(1531031, 2000003, 100000, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Blue Potion +(1531031, 2000006, 100000, 0, 0, 181, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Mana Elixir +(1531031, 2002000, 100000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Dexterity Potion +(1531031, 2002001, 100000, 0, 0, 400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Speed Potion +(1531031, 2002002, 100000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Magic Potion +(1531031, 2002004, 100000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Warrior Potion +(1531031, 2002005, 100000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Sniper Potion +(1531031, 2010000, 100000, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Apple +(1531031, 2010002, 100000, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Egg +(1531031, 2010001, 100000, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Meat +(1531031, 2010003, 100000, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Orange +(1531031, 2010004, 100000, 0, 0, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Lemon +(1531031, 2120000, 1000000000, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9000), # Pet Food +(1531031, 2030000, 100000, 0, 0, 400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Return Scroll - Nearest Town +(1531031, 2030002, 100000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Return Scroll to Ellinia +(1531031, 2060000, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9999), # Arrow for Bow +(1531031, 2061000, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9999), # Arrow for Crossbow +(1531031, 2060000, 0, 0, 0, 1400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 2000, 0, 9999), # Arrow for Bow +(1531031, 2061000, 0, 0, 0, 1400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 2000, 0, 9999), # Arrow for Crossbow +(1531031, 2050000, 100000, 0, 0, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Antidote +(1531031, 2050001, 100000, 0, 0, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Eyedrop +(1531031, 2050002, 100000, 0, 0, 300, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Tonic +(1531031, 2050003, 100000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Holy Water + +# Ethos (1033001) +(1033001, 1522000, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Trusty & Faithful +(1033001, 1522001, 100000, 0, 0, 6000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blinding Light +(1033001, 1522002, 100000, 0, 0, 10000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Elven Diplomacy +(1033001, 1522003, 100000, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Songs of Nature +(1033001, 1522004, 100000, 0, 0, 40000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Twin Angels +(1033001, 1522005, 100000, 0, 0, 100000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Proud Blossoms +(1033001, 1522006, 100000, 0, 0, 225000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # The Argents +(1033001, 1352000, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Magic Arrows +(1033001, 1352001, 100000, 0, 0, 79000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Sharp Magic Arrows +(1033001, 1352002, 100000, 0, 0, 330000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Eternal Magic Arrows +(1033001, 1352003, 100000, 0, 0, 580000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Infinite Magic Arrows +(1033001, 1353100, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Fox Marble +(1033001, 1353101, 100000, 0, 0, 79000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Fox Marble +(1033001, 1353102, 100000, 0, 0, 330000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Fox Marble +(1033001, 1353103, 100000, 0, 0, 580000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Golden Fox Marble +(1033001, 1002008, 100000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Skullcap +(1033001, 1002033, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Old Wisconsin +(1033001, 1002012, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Baseball Cap +(1033001, 1002060, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Baseball Cap +(1033001, 1002061, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Yellow Baseball Cap +(1033001, 1002062, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Baseball Cap +(1033001, 1002063, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Baseball Cap +(1033001, 1002112, 100000, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Feather Hat +(1033001, 1002113, 100000, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Feather Hat +(1033001, 1002114, 100000, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Feather Hat +(1033001, 1002115, 100000, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Feather Hat +(1033001, 1002116, 100000, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Feather Hat +(1033001, 1002117, 100000, 0, 0, 12000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Robin Hat +(1033001, 1002118, 100000, 0, 0, 12000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Robin Hat +(1033001, 1002119, 100000, 0, 0, 12000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Robin Hat +(1033001, 1002120, 100000, 0, 0, 12000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Robin Hat +(1033001, 1002121, 100000, 0, 0, 12000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Robin Hat +(1033001, 1002010, 100000, 0, 0, 800, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Winter Hat +(1033001, 1002057, 100000, 0, 0, 800, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Winter Hat +(1033001, 1002156, 100000, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Hunter +(1033001, 1002157, 100000, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Hunter +(1033001, 1002158, 100000, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Hunter +(1033001, 1002159, 100000, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Hunter +(1033001, 1002160, 100000, 0, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Hunter +(1033001, 1002161, 100000, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Hawkeye +(1033001, 1002162, 100000, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Hawkeye +(1033001, 1002163, 100000, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Hawkeye +(1033001, 1002164, 100000, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Hawkeye +(1033001, 1002165, 100000, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Hawkeye +(1033001, 1032001, 100000, 0, 0, 7000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Single Earring +(1033001, 1032003, 100000, 0, 0, 7000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Amethyst Earrings +(1033001, 1040008, 100000, 0, 0, 3200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Archer Top +(1033001, 1040071, 100000, 0, 0, 3200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Archer Top +(1033001, 1040007, 100000, 0, 0, 5500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Leather Hoodwear +(1033001, 1040011, 100000, 0, 0, 5500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Silver Leather Hoodwear +(1033001, 1040003, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Hard Leather Top +(1033001, 1040022, 100000, 0, 0, 15000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Bennis Chainmail +(1033001, 1040023, 100000, 0, 0, 15000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Bennis Chainmail +(1033001, 1040024, 100000, 0, 0, 15000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Bennis Chainmail +(1033001, 1040025, 100000, 0, 0, 15000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Bennis Chainmail +(1033001, 1040067, 100000, 0, 0, 50000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Hunter's Armor +(1033001, 1040068, 100000, 0, 0, 50000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Hunter's Armor +(1033001, 1040069, 100000, 0, 0, 50000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Hunter's Armor +(1033001, 1040070, 100000, 0, 0, 50000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Hunter's Armor +(1033001, 1041007, 100000, 0, 0, 3200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Avelin +(1033001, 1041061, 100000, 0, 0, 3200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Yellow Avelin +(1033001, 1041008, 100000, 0, 0, 5500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Able Armor +(1033001, 1041062, 100000, 0, 0, 5500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Yellow Able Armor +(1033001, 1041063, 100000, 0, 0, 5500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Grey Able Armor +(1033001, 1041013, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Shivermail +(1033001, 1041027, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Shivermail +(1033001, 1041028, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Purple Shivermail +(1033001, 1041032, 100000, 0, 0, 15000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Bennis Chainmail +(1033001, 1041033, 100000, 0, 0, 15000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Bennis Chainmail +(1033001, 1041034, 100000, 0, 0, 15000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Bennis Chainmail +(1033001, 1041035, 100000, 0, 0, 15000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Yellow Bennis Chainmail +(1033001, 1041054, 100000, 0, 0, 50000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Huntress Armor +(1033001, 1041055, 100000, 0, 0, 50000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Huntress Armor +(1033001, 1041056, 100000, 0, 0, 50000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Huntress Armor +(1033001, 1060005, 100000, 0, 0, 14000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Warfare Pants +(1033001, 1060056, 100000, 0, 0, 44000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Hunter's Pants +(1033001, 1060057, 100000, 0, 0, 44000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Hunter's Pants +(1033001, 1060058, 100000, 0, 0, 44000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Hunter's Pants +(1033001, 1060059, 100000, 0, 0, 44000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Hunter's Pants +(1033001, 1061009, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Avelin Skirt +(1033001, 1061057, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Yellow Avelin Skirt +(1033001, 1061006, 100000, 0, 0, 5000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Able Armor Skirt +(1033001, 1061058, 100000, 0, 0, 5000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Able Skirt +(1033001, 1061059, 100000, 0, 0, 5000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Grey Able Skirt +(1033001, 1061024, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Shivermail Skirt +(1033001, 1061025, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Shivermail Skirt +(1033001, 1061026, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Purple Shivermail Skirt +(1033001, 1061050, 100000, 0, 0, 44000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Huntress Pants +(1033001, 1061051, 100000, 0, 0, 44000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Huntress Pants +(1033001, 1061052, 100000, 0, 0, 44000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Huntress Pants +(1033001, 1062004, 100000, 0, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Archer Pants +(1033001, 1062002, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Hard Leather Pants +(1033001, 1062006, 100000, 0, 0, 13000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bennis Chainpants +(1033001, 1072015, 100000, 0, 0, 1800, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Hard Leather Boots +(1033001, 1072059, 100000, 0, 0, 1800, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Hard Leather Boots +(1033001, 1072016, 100000, 0, 0, 4500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Woodsman Boots +(1033001, 1072060, 100000, 0, 0, 4500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Woodsman Boots +(1033001, 1072061, 100000, 0, 0, 4500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Woodsman Boots +(1033001, 1072025, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Deer Huntertop +(1033001, 1072026, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Rabbit Huntertop +(1033001, 1072067, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bear Huntertop +(1033001, 1072068, 100000, 0, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # LIon Huntertop +(1033001, 1072012, 100000, 0, 0, 15000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Whitebottom Shoes +(1033001, 1072054, 100000, 0, 0, 15000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Orange Whitebottom Boots +(1033001, 1072055, 100000, 0, 0, 15000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Pink Whitebottom Boots +(1033001, 1072056, 100000, 0, 0, 15000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Whitebottom Boots +(1033001, 1072018, 100000, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Sneakers +(1033001, 1072064, 100000, 0, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Sneakers + +# Erwin (1033002) +(1033002, 4170050, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 1000), # Andersen's Key +(1033002, 2000000, 100000, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Red Potion +(1033002, 2000001, 100000, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Orange Potion +(1033002, 2000002, 100000, 0, 0, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # White Potion +(1033002, 2000003, 100000, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Blue Potion +(1033002, 2000006, 100000, 0, 0, 186, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Mana Elixir +(1033002, 2002000, 100000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Dexterity Potion +(1033002, 2002001, 100000, 0, 0, 400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Speed Potion +(1033002, 2002002, 100000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Magic Potion +(1033002, 2002004, 100000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Warrior Potion +(1033002, 2002005, 100000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Sniper Potion +(1033002, 2010000, 100000, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Apple +(1033002, 2010002, 100000, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Egg +(1033002, 2010001, 100000, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Meat +(1033002, 2010003, 100000, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Orange +(1033002, 2010004, 100000, 0, 0, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Lemon +(1033002, 2020028, 100000, 0, 0, 2100, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Chocolate +(1033002, 4032977, 100000, 0, 0, 10000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Unicorn Special Meal +(1033002, 2030004, 100000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Return Scroll to Henesys +(1033002, 2030025, 100000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Elluel Return Scroll +(1033002, 2060000, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9999), # Arrow for Bow +(1033002, 2061000, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9999), # Arrow for Crossbow +(1033002, 2060000, 0, 0, 0, 1400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 2000, 0, 9999), # Arrow for Bow +(1033002, 2061000, 0, 0, 0, 1400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 2000, 0, 9999), # Arrow for Crossbow +(1033002, 2050000, 100000, 0, 0, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Antidote +(1033002, 2050001, 100000, 0, 0, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Eyedrop +(1033002, 2050002, 100000, 0, 0, 300, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Tonic +(1033002, 2432805, 1000000, 0, 0, 50000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1000), # Appearance Reset Coupon + +# Len the Fairy (1031100) +(1031100, 4036030, 1000000000, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Roswaal's Magic Crystal +(1031100, 4170050, 100000, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1000), # Andersen's Key +(1031100, 2000000, 100000, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Red Potion +(1031100, 2000001, 100000, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Orange Potion +(1031100, 2000002, 100000, 0, 0, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # White Potion +(1031100, 2000003, 100000, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Blue Potion +(1031100, 2000006, 100000, 0, 0, 181, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Mana Elixir +(1031100, 2002000, 100000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Dexterity Potion +(1031100, 2002001, 100000, 0, 0, 400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Speed Potion +(1031100, 2002002, 100000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Magic Potion +(1031100, 2002004, 100000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Warrior Potion +(1031100, 2002005, 100000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Sniper Potion +(1031100, 2010000, 100000, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Apple +(1031100, 2010002, 100000, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Egg +(1031100, 2010001, 100000, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Meat +(1031100, 2010003, 100000, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Orange +(1031100, 2010004, 100000, 0, 0, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Lemon +(1031100, 2120000, 1000000000, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9000), # Pet Food +(1031100, 2030000, 100000, 0, 0, 400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Return Scroll - Nearest Town +(1031100, 2030002, 100000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Return Scroll to Ellinia +(1031100, 2060000, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9999), # Arrow for Bow +(1031100, 2061000, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9999), # Arrow for Crossbow +(1031100, 2060000, 0, 0, 0, 1400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 2000, 0, 9999), # Arrow for Bow +(1031100, 2061000, 0, 0, 0, 1400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 2000, 0, 9999), # Arrow for Crossbow +(1031100, 2050000, 100000, 0, 0, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Antidote +(1031100, 2050001, 100000, 0, 0, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Eyedrop +(1031100, 2050002, 100000, 0, 0, 300, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Tonic +(1031100, 2050003, 100000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Holy Water +(1031100, 2432805, 1000000, 0, 0, 50000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1000), # Appearance Reset Coupon + +# Mason (1082001) +(1082001, 4170050, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 1000), # Andersen's Key +(1082001, 2000000, 100000, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Red Potion +(1082001, 2000001, 100000, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Orange Potion +(1082001, 2000002, 100000, 0, 0, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # White Potion +(1082001, 2000003, 100000, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Blue Potion +(1082001, 2000006, 100000, 0, 0, 186, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Mana Elixir +(1082001, 2002000, 100000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Dexterity Potion +(1082001, 2002001, 100000, 0, 0, 400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Speed Potion +(1082001, 2002002, 100000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Magic Potion +(1082001, 2002004, 100000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Warrior Potion +(1082001, 2002005, 100000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Sniper Potion +(1082001, 2010000, 1000, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Apple +(1082001, 2010002, 1000, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Egg +(1082001, 2010001, 1000, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Meat +(1082001, 2010003, 1000, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Orange +(1082001, 2010004, 100000, 0, 0, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Lemon +(1082001, 2030000, 100000, 0, 0, 400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Return Scroll - Nearest Town +(1082001, 2060000, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9999), # Arrow for Bow +(1082001, 2061000, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9999), # Arrow for Crossbow +(1082001, 2060000, 0, 0, 0, 1400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9999), # Arrow for Bow +(1082001, 2061000, 0, 0, 0, 1400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9999), # Arrow for Crossbow +(1082001, 2050000, 100000, 0, 0, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Antidote +(1082001, 2050001, 100000, 0, 0, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Eyedrop +(1082001, 2050002, 100000, 0, 0, 300, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Tonic + +# Renard (1501005) +(1501005, 2000000, 9999999, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Red Potion +(1501005, 2000001, 9999999, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Orange Potion +(1501005, 2000002, 9999999, 0, 0, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # White Potion +(1501005, 2000003, 9999999, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Blue Potion +(1501005, 2000006, 9999999, 0, 0, 186, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Mana Elixir +(1501005, 2002000, 9999999, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Dexterity Potion +(1501005, 2002001, 9999999, 0, 0, 400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Speed Potion +(1501005, 2002002, 9999999, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Magic Potion +(1501005, 2002004, 9999999, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Warrior Potion +(1501005, 2002005, 9999999, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Sniper Potion +(1501005, 2001000, 9999999, 0, 0, 3200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Watermelon +(1501005, 2001001, 9999999, 0, 0, 2300, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Ice Cream Pop +(1501005, 2001002, 9999999, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Very Special Sundae +(1501005, 2010000, 9999999, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Apple +(1501005, 2010002, 9999999, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Egg +(1501005, 2010001, 9999999, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Meat +(1501005, 2010003, 9999999, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Orange +(1501005, 2010004, 9999999, 0, 0, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Lemon +(1501005, 2020012, 9999999, 0, 0, 4500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Melting Cheese +(1501005, 2020013, 9999999, 0, 0, 5600, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Reindeer Milk +(1501005, 2020014, 9999999, 0, 0, 8100, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Sunrise Dew +(1501005, 2020015, 9999999, 0, 0, 10200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Sunset Dew +(1501005, 2030000, 100000, 0, 0, 400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Return Scroll - Nearest Town +(1501005, 2060000, 9999999, 0, 0, 1400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 2000, 0, 9999), # Arrow for Bow +(1501005, 2061000, 9999999, 0, 0, 1400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 2000, 0, 9999), # Arrow for Crossbow +(1501005, 2060001, 9999999, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9999), # Bronze Arrow for Bow +(1501005, 2061001, 9999999, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9999), # Bronze Arrow for Crossbow + +# 24 Hr Mobile Store (1061001) +(1061001, 4170050, 0, 0, 0, 158666200, 2, 158694748, 2, 158704424, 2, 0, 0, 0, 158698852, '', 2, 0, 0, 1000), # Andersen's Key +(1061001, 2020001, 100000, 0, 0, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Fried Chicken +(1061001, 2020005, 100000, 0, 0, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Hot Dog +(1061001, 2020003, 100000, 0, 0, 225, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Pizza +(1061001, 2020004, 100000, 0, 0, 225, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Hamburger +(1061001, 2020006, 100000, 0, 0, 265, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Hot Dog Supreme +(1061001, 2022003, 100000, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Unagi +(1061001, 2020000, 100000, 0, 0, 126, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Salad +(1061001, 2022000, 100000, 0, 0, 1155, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Pure Water +(1061001, 2020002, 100000, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Cake +(1061001, 2030000, 100000, 0, 0, 400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Return Scroll - Nearest Town +(1061001, 2060000, 10000000, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9999), # Arrow for Bow +(1061001, 2061000, 10000000, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9999), # Arrow for Crossbow +(1061001, 2060000, 10000000, 0, 0, 2800, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 2000, 0, 9999), # Arrow for Bow +(1061001, 2061000, 10000000, 0, 0, 2800, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 2000, 0, 9999), # Arrow for Crossbow + +# Melias (2060003) +(2060003, 1002084, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Oriental Helmet +(2060003, 1002243, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Seraphis +(2060003, 1002268, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Polyfeather Hat +(2060003, 1002247, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bronze Identity +(2060003, 1002634, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Purple Cast Linen +(2060003, 1002030, 100000, 0, 0, 158000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Silver Planet +(2060003, 1002254, 100000, 0, 0, 158000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Infinium Circlet +(2060003, 1002289, 100000, 0, 0, 158000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Patriot +(2060003, 1002285, 100000, 0, 0, 158000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blood Nightfox +(2060003, 1002637, 100000, 0, 0, 158000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Pirate's Bandana +(2060003, 1040090, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Orientican +(2060003, 1040091, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Orientican +(2060003, 1040092, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Orientican +(2060003, 1040093, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Orientican +(2060003, 1040098, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Light Scorpio +(2060003, 1040099, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Ocher Scorpio +(2060003, 1040100, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Scorpio +(2060003, 1041091, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Ice Queen +(2060003, 1041092, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Ice Queen +(2060003, 1041093, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Ice Queen +(2060003, 1041094, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Light Mantis +(2060003, 1041095, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bloody Mantis +(2060003, 1041096, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Umber Mantis +(2060003, 1060079, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Orientican Pants +(2060003, 1060080, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Orientican Pants +(2060003, 1060081, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Orientican Pants +(2060003, 1060082, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Orientican Pants +(2060003, 1060087, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Light Scorpio Pants +(2060003, 1060088, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Ocher Scorpio Pants +(2060003, 1060089, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Scorpio Pants +(2060003, 1061090, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Ice Queen Skirt +(2060003, 1061091, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Ice Queen Skirt +(2060003, 1061092, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Ice Queen Skirt +(2060003, 1061093, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Light Mantis Pants +(2060003, 1061094, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bloody Mantis Pants +(2060003, 1061095, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Umber Mantis Pants +(2060003, 1040102, 100000, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bronze Platine +(2060003, 1040103, 100000, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Mithril Platine +(2060003, 1040104, 100000, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Orihalcon Platine +(2060003, 1040105, 100000, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Studded Top +(2060003, 1040106, 100000, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Studded Top +(2060003, 1040107, 100000, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Studded Top +(2060003, 1041097, 100000, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Aqua Platina +(2060003, 1041098, 100000, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Violet Platina +(2060003, 1041099, 100000, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bloody Platina +(2060003, 1041100, 100000, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Purple Mystique +(2060003, 1041101, 100000, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Mystique +(2060003, 1041102, 100000, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Pink Mystique +(2060003, 1041103, 100000, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Mystique +(2060003, 1060091, 100000, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Mithril Platine Pants +(2060003, 1060092, 100000, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Orihalcon Platine Pants +(2060003, 1060093, 100000, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Studded Pants +(2060003, 1060094, 100000, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Studded Pants +(2060003, 1060095, 100000, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Studded Pants +(2060003, 1061096, 100000, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Aqua Platina Pants +(2060003, 1061097, 100000, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Violet Platina Pants +(2060003, 1061098, 100000, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bloody Platina Pants +(2060003, 1061099, 100000, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Purple Mystique Pants +(2060003, 1061100, 100000, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Mystique Pants +(2060003, 1061101, 100000, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Pink Mystique Pants +(2060003, 1061102, 100000, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Mystique Pants +(2060003, 1050053, 100000, 0, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Anakamoon +(2060003, 1050054, 100000, 0, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Anakamoon +(2060003, 1050055, 100000, 0, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # White Anakamoon +(2060003, 1050056, 100000, 0, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Anakamoon +(2060003, 1050058, 100000, 0, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Orange Tai +(2060003, 1050059, 100000, 0, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Tai +(2060003, 1050060, 100000, 0, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Tai +(2060003, 1051044, 100000, 0, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Anakarune +(2060003, 1051045, 100000, 0, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Anakarune +(2060003, 1051046, 100000, 0, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # White Anakarune +(2060003, 1051047, 100000, 0, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Anakarune +(2060003, 1051041, 100000, 0, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Choro +(2060003, 1051042, 100000, 0, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Choro +(2060003, 1051043, 100000, 0, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Choro +(2060003, 1052119, 100000, 0, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Royal Barone +(2060003, 1050067, 100000, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Requiem +(2060003, 1050068, 100000, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Requiem +(2060003, 1050069, 100000, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Requiem +(2060003, 1050070, 100000, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Requiem +(2060003, 1050061, 100000, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Linnex +(2060003, 1050062, 100000, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Beige Linnex +(2060003, 1050063, 100000, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Linnex +(2060003, 1050064, 100000, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Linnex +(2060003, 1051052, 100000, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Requierre +(2060003, 1051053, 100000, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Requierre +(2060003, 1051054, 100000, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Requierre +(2060003, 1051055, 100000, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Requierre +(2060003, 1051062, 100000, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Lineros +(2060003, 1051063, 100000, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Beige Lineros +(2060003, 1051064, 100000, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Lineros +(2060003, 1051065, 100000, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Lineros +(2060003, 1052122, 100000, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Viska +(2060003, 1072149, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blood Camel Boots +(2060003, 1072139, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Goldrunners +(2060003, 1072146, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Gore Boots +(2060003, 1072152, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Moss Boots +(2060003, 1072306, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Basile Boots +(2060003, 1072156, 100000, 0, 0, 158000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Carzen Boots +(2060003, 1072160, 100000, 0, 0, 158000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Gold Lapiz Sandals +(2060003, 1072167, 100000, 0, 0, 158000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Elf Shoes +(2060003, 1072163, 100000, 0, 0, 158000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Mystique Shoes +(2060003, 1072309, 100000, 0, 0, 158000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Voyson Shoes +(2060003, 1082061, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Clench +(2060003, 1082088, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Manute +(2060003, 1082091, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Garner +(2060003, 1082094, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Gold Pow +(2060003, 1082201, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Schult +(2060003, 1082105, 100000, 0, 0, 158000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Husk +(2060003, 1082100, 100000, 0, 0, 158000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Lorin +(2060003, 1082108, 100000, 0, 0, 158000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Eyes +(2060003, 1082097, 100000, 0, 0, 158000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Gold Rover +(2060003, 1082204, 100000, 0, 0, 158000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Bisk + +# Calypso (2060007) +(2060007, 1252004, 100, 0, 0, 230000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Panther Scepter +(2060007, 1252005, 100, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Grizzly Scepter +(2060007, 1542006, 10000, 0, 0, 380000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Helix +(2060007, 1542055, 10000, 0, 0, 380000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Helix +(2060007, 1552005, 10000, 0, 0, 320000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Melodic Fan +(2060007, 1552055, 10000, 0, 0, 380000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Unique Fan +(2060007, 1302011, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Neocora +(2060007, 1302012, 100000, 0, 0, 387000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Katana +(2060007, 1312009, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Hawkhead +(2060007, 1312010, 100000, 0, 0, 387000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Mikhail +(2060007, 1322018, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Tamus +(2060007, 1322019, 100000, 0, 0, 387000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # The Judgement +(2060007, 1332015, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Deadly Fin +(2060007, 1332017, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Serpent's Coil +(2060007, 1332018, 100000, 0, 0, 387000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Kandine +(2060007, 1332019, 100000, 0, 0, 387000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Golden River +(2060007, 1342004, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Ascalon Katara +(2060007, 1342005, 100000, 0, 0, 387000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Heavenly Katara +(2060007, 1362009, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bijou Canne +(2060007, 1362010, 100000, 0, 0, 387000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Regne +(2060007, 1372014, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Evil Tale +(2060007, 1372015, 100000, 0, 0, 387000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Angel Wings +(2060007, 1382006, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Thorns +(2060007, 1382007, 100000, 0, 0, 387000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Evil Wings +(2060007, 1402011, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Sparta +(2060007, 1402012, 100000, 0, 0, 387000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Doombringer +(2060007, 1412007, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # The Shining +(2060007, 1412008, 100000, 0, 0, 387000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Chrono +(2060007, 1422009, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # The Blessing +(2060007, 1422010, 100000, 0, 0, 387000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Gigantic Sledge +(2060007, 1432006, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Holy Spear +(2060007, 1432007, 100000, 0, 0, 387000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Redemption +(2060007, 1442010, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Skylar +(2060007, 1442008, 100000, 0, 0, 387000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # The Gold Dragon +(2060007, 1452004, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Asianic Bow +(2060007, 1452009, 100000, 0, 0, 387000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Hinkel +(2060007, 1462008, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Golden Crow +(2060007, 1462009, 100000, 0, 0, 387000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Gross Jaeger +(2060007, 1592003, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Avaris Ancient Bow +(2060007, 1592004, 100000, 0, 0, 387000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Magna Ancient Bow +(2060007, 1472025, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Gigantic +(2060007, 1472029, 100000, 0, 0, 387000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Scarab +(2060007, 1482008, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Seraphims +(2060007, 1482009, 100000, 0, 0, 387000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Beia Crash +(2060007, 1492008, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Burning Hell +(2060007, 1492009, 100000, 0, 0, 387000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Abyss Shooter +(2060007, 1522008, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Lunar Glory +(2060007, 1522009, 100000, 0, 0, 387000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Twin Zephyrs +(2060007, 1532008, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # The Bigshot +(2060007, 1532009, 100000, 0, 0, 387000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Infernalizer +(2060007, 1212004, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Vallentier +(2060007, 1212005, 100000, 0, 0, 387000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Sharp Slaver + +# Toly (2040051) +(2040051, 4170050, 0, 0, 0, 38619404, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 1000), # Andersen's Key +(2040051, 2002010, 1000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 600), # Speed Pill +(2040051, 2002006, 1000, 0, 0, 600, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 600), # Warrior Pill +(2040051, 2002007, 1000, 0, 0, 600, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 600), # Magic Pill +(2040051, 2002008, 1000, 0, 0, 600, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 600), # Sniper Pill +(2040051, 2002009, 1000, 0, 0, 600, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 600), # Dexterity Pill +(2040051, 2022003, 10000, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Unagi +(2040051, 2022000, 10000, 0, 0, 1155, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Pure Water +(2040051, 2001001, 10000, 0, 0, 2300, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Ice Cream Pop +(2040051, 2001002, 10000, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Very Special Sundae +(2040051, 2020012, 10000, 0, 0, 4680, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Melting Cheese +(2040051, 2020013, 1000, 0, 0, 5824, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Reindeer Milk +(2040051, 2020014, 1000, 0, 0, 8100, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Sunrise Dew +(2040051, 2020015, 1000, 0, 0, 10200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Sunset Dew +(2040051, 2000007, 1000, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Red Pill +(2040051, 2000000, 1000, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Red Potion +(2040051, 2000008, 1000, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Orange Pill +(2040051, 2000001, 1000, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Orange Potion +(2040051, 2000009, 1000, 0, 0, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # White Pill +(2040051, 2000002, 1000, 0, 0, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # White Potion +(2040051, 2000010, 1000, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Blue Pill +(2040051, 2000003, 1000, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Blue Potion +(2040051, 2000011, 1000, 0, 0, 186, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Mana Elixir Pill +(2040051, 2000006, 1000, 0, 0, 186, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Mana Elixir +(2040051, 2050000, 1000, 0, 0, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Antidote +(2040051, 2050001, 1000, 0, 0, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Eyedrop +(2040051, 2050002, 1000, 0, 0, 300, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Tonic +(2040051, 2050003, 1000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Holy Water +(2040051, 2060000, 9999999, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9999), # Arrow for Bow +(2040051, 2061000, 9999999, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9999), # Arrow for Crossbow +(2040051, 2060000, 9999999, 0, 0, 1400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 2000, 0, 9999), # Arrow for Bow +(2040051, 2061000, 9999999, 0, 0, 1400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 2000, 0, 9999), # Arrow for Crossbow +(2040051, 2060001, 9999999, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9999), # Bronze Arrow for Bow +(2040051, 2061001, 9999999, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9999), # Bronze Arrow for Crossbow +(2040051, 2030000, 1000, 0, 0, 400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Return Scroll - Nearest Town + +# Patricia (2041014) +(2041014, 2120000, 1000000000, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9000), # Pet Food +(2041014, 2260000, 1000000000, 0, 0, 1000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 200), # Revitalizer +(2041014, 2432512, 1000000000, 0, 0, 6000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 10), # Accelerator +(2041014, 4031993, 1000000000, 0, 0, 100000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Bartos's Favorite Juice + +# Misky (2041006) +(2041006, 4170050, -1205756656, -1205768888, 1, 0, 0, -1205761208, 1, -1205764696, 1, 0, 0, 0, 0, '', 0, 0, 0, 1000), # Andersen's Key +(2041006, 2000007, 50000, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Red Pill +(2041006, 2000000, 9999999, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Red Potion +(2041006, 2000008, 50000, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Orange Pill +(2041006, 2000001, 9999999, 0, 0, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Orange Potion +(2041006, 2000009, 50000, 0, 0, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # White Pill +(2041006, 2000002, 9999999, 0, 0, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # White Potion +(2041006, 2000010, 50000, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Blue Pill +(2041006, 2000003, 9999999, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Blue Potion +(2041006, 2000011, 50000, 0, 0, 186, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Mana Elixir Pill +(2041006, 2000006, 9999999, 0, 0, 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Mana Elixir +(2041006, 2001001, 9999999, 0, 0, 2185, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Ice Cream Pop +(2041006, 2001002, 9999999, 0, 0, 3800, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Very Special Sundae +(2041006, 2002006, 9999999, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 600), # Warrior Pill +(2041006, 2002007, 9999999, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 600), # Magic Pill +(2041006, 2002008, 9999999, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 600), # Sniper Pill +(2041006, 2002009, 9999999, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 600), # Dexterity Pill +(2041006, 2002010, 9999999, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 600), # Speed Pill +(2041006, 2010001, 9999999, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Meat +(2041006, 2010002, 9999999, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Egg +(2041006, 2020001, 9999999, 0, 0, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Fried Chicken +(2041006, 2020002, 9999999, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Cake +(2041006, 2020003, 9999999, 0, 0, 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Pizza +(2041006, 2020004, 9999999, 0, 0, 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Hamburger +(2041006, 2020005, 9999999, 0, 0, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Hot Dog +(2041006, 2020006, 9999999, 0, 0, 251, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Hot Dog Supreme +(2041006, 2020028, 9999999, 0, 0, 1994, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Chocolate +(2041006, 2030000, 100000, 0, 0, 400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Return Scroll - Nearest Town +(2041006, 2060000, 9999999, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9999), # Arrow for Bow +(2041006, 2061000, 9999999, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9999), # Arrow for Crossbow +(2041006, 2060000, 9999999, 0, 0, 1400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 2000, 0, 9999), # Arrow for Bow +(2041006, 2061000, 9999999, 0, 0, 1400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 2000, 0, 9999), # Arrow for Crossbow +(2041006, 2060001, 9999999, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9999), # Bronze Arrow for Bow +(2041006, 2061001, 9999999, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9999), # Bronze Arrow for Crossbow +(2041006, 2432805, 1000000, 0, 0, 50000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1000), # Appearance Reset Coupon + +# Miru (2041003) +(2041003, 1002028, 100000, 0, 0, 120000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Silver Crusader Helm +(2041003, 1002216, 100000, 0, 0, 120000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Aqua Golden Circlet +(2041003, 1002212, 100000, 0, 0, 120000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Maro +(2041003, 1002207, 100000, 0, 0, 120000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Sonata +(2041003, 1002631, 100000, 0, 0, 120000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Leather Ocean Hat +(2041003, 1002084, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Oriental Helmet +(2041003, 1002243, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Seraphis +(2041003, 1002268, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Polyfeather Hat +(2041003, 1002247, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bronze Identity +(2041003, 1002634, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Purple Cast Linen +(2041003, 1040087, 100000, 0, 0, 96000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Shouldermail +(2041003, 1040088, 100000, 0, 0, 96000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Ocher Shouldermail +(2041003, 1040089, 100000, 0, 0, 96000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Umber Shouldermail +(2041003, 1040094, 100000, 0, 0, 96000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red China +(2041003, 1040095, 100000, 0, 0, 96000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue China +(2041003, 1040096, 100000, 0, 0, 96000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown China +(2041003, 1040097, 100000, 0, 0, 96000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green China +(2041003, 1041087, 100000, 0, 0, 96000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Shouldermail +(2041003, 1041088, 100000, 0, 0, 96000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Ivory Shouldermail +(2041003, 1041089, 100000, 0, 0, 96000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Shouldermail +(2041003, 1041077, 100000, 0, 0, 96000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Maroon Moon +(2041003, 1041078, 100000, 0, 0, 96000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Moon +(2041003, 1041079, 100000, 0, 0, 96000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Moon +(2041003, 1041080, 100000, 0, 0, 96000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Moon +(2041003, 1060076, 100000, 0, 0, 96000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Shouldermail Pants +(2041003, 1060077, 100000, 0, 0, 96000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Ocher Shouldermail Pants +(2041003, 1060078, 100000, 0, 0, 96000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Umber Shouldermail Pants +(2041003, 1060083, 100000, 0, 0, 96000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red China Pants +(2041003, 1060084, 100000, 0, 0, 96000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue China Pants +(2041003, 1060085, 100000, 0, 0, 96000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown China Pants +(2041003, 1060086, 100000, 0, 0, 96000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green China Pants +(2041003, 1061086, 100000, 0, 0, 96000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Shouldermail Pants +(2041003, 1061087, 100000, 0, 0, 96000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Ivory Shouldermail Pants +(2041003, 1061088, 100000, 0, 0, 96000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Shouldermail Pants +(2041003, 1061076, 100000, 0, 0, 96000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Maroon Moon Pants +(2041003, 1061077, 100000, 0, 0, 96000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Moon Pants +(2041003, 1061078, 100000, 0, 0, 96000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Moon Pants +(2041003, 1061079, 100000, 0, 0, 96000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Moon Pants +(2041003, 1040090, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Orientican +(2041003, 1040091, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Orientican +(2041003, 1040092, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Orientican +(2041003, 1040093, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Orientican +(2041003, 1040098, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Light Scorpio +(2041003, 1040099, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Ocher Scorpio +(2041003, 1040100, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Scorpio +(2041003, 1041091, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Ice Queen +(2041003, 1041092, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Ice Queen +(2041003, 1041093, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Ice Queen +(2041003, 1041094, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Light Mantis +(2041003, 1041095, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bloody Mantis +(2041003, 1041096, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Umber Mantis +(2041003, 1060079, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Orientican Pants +(2041003, 1060080, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Orientican Pants +(2041003, 1060081, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Orientican Pants +(2041003, 1060082, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Orientican Pants +(2041003, 1060087, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Light Scorpio Pants +(2041003, 1060088, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Ocher Scorpio Pants +(2041003, 1060089, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Scorpio Pants +(2041003, 1061090, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Ice Queen Skirt +(2041003, 1061091, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Ice Queen Skirt +(2041003, 1061092, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Ice Queen Skirt +(2041003, 1061093, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Light Mantis Pants +(2041003, 1061094, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bloody Mantis Pants +(2041003, 1061095, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Umber Mantis Pants +(2041003, 1050045, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Calas +(2041003, 1050046, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Calas +(2041003, 1050047, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Orange Calas +(2041003, 1050049, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Calas +(2041003, 1050048, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # White Calas +(2041003, 1050051, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red-Lined Kismet +(2041003, 1050052, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue-Lined Kismet +(2041003, 1051030, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Calaf +(2041003, 1051031, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # White Calaf +(2041003, 1051032, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Calaf +(2041003, 1051033, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Calaf +(2041003, 1051034, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Orange Calaf +(2041003, 1051037, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Lumati +(2041003, 1051038, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Lumati +(2041003, 1051039, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Lumati +(2041003, 1052116, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Plasteer +(2041003, 1050053, 100000, 0, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Anakamoon +(2041003, 1050054, 100000, 0, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Anakamoon +(2041003, 1050055, 100000, 0, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # White Anakamoon +(2041003, 1050056, 100000, 0, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Anakamoon +(2041003, 1050058, 100000, 0, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Orange Tai +(2041003, 1050059, 100000, 0, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Tai +(2041003, 1050060, 100000, 0, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Tai +(2041003, 1051044, 100000, 0, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Anakarune +(2041003, 1051045, 100000, 0, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Anakarune +(2041003, 1051046, 100000, 0, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # White Anakarune +(2041003, 1051047, 100000, 0, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Anakarune +(2041003, 1051041, 100000, 0, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Choro +(2041003, 1051042, 100000, 0, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Choro +(2041003, 1051043, 100000, 0, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Choro +(2041003, 1052119, 100000, 0, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Royal Barone +(2041003, 1072135, 100000, 0, 0, 120000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Gold Hildon Boots +(2041003, 1072143, 100000, 0, 0, 120000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Goldenwind Shoes +(2041003, 1072125, 100000, 0, 0, 120000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Purple Steel-Tip Boots +(2041003, 1072129, 100000, 0, 0, 120000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Goni Shoes +(2041003, 1072303, 100000, 0, 0, 120000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Double Boots +(2041003, 1072149, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blood Camel Boots +(2041003, 1072139, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Goldrunners +(2041003, 1072146, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Gore Boots +(2041003, 1072152, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Moss Boots +(2041003, 1072306, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Basile Boots +(2041003, 1082011, 100000, 0, 0, 120000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Gold Brist +(2041003, 1082082, 100000, 0, 0, 120000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Pennance +(2041003, 1082085, 100000, 0, 0, 120000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Willow +(2041003, 1082067, 100000, 0, 0, 120000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Moon Gloves +(2041003, 1082198, 100000, 0, 0, 120000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Royce +(2041003, 1082061, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Clench +(2041003, 1082088, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Manute +(2041003, 1082091, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Garner +(2041003, 1082094, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Gold Pow +(2041003, 1082201, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Schult + +# Hid (2041002) +(2041002, 1252003, 100, 0, 0, 230000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Talon Scepter +(2041002, 1252004, 100, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Panther Scepter +(2041002, 1542053, 10000, 0, 0, 230000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Iron Savior +(2041002, 1542054, 10000, 0, 0, 320000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Death's Whisper +(2041002, 1552053, 10000, 0, 0, 230000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Fan of Enlightenment +(2041002, 1552054, 10000, 0, 0, 320000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Melodic Fan +(2041002, 1302010, 100000, 0, 0, 230000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Jeweled Katar +(2041002, 1302011, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Neocora +(2041002, 1312008, 100000, 0, 0, 230000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Buck +(2041002, 1312009, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Hawkhead +(2041002, 1322017, 100000, 0, 0, 230000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Knuckle Mace +(2041002, 1322018, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Tamus +(2041002, 1332003, 100000, 0, 0, 230000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Shinkita +(2041002, 1332016, 100000, 0, 0, 230000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Sai +(2041002, 1332015, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Deadly Fin +(2041002, 1332017, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Serpent's Coil +(2041002, 1342003, 100000, 0, 0, 230000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Majestic Katara +(2041002, 1342004, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Ascalon Katara +(2041002, 1362008, 100000, 0, 0, 230000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Oriental Royal Cane +(2041002, 1362009, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bijou Canne +(2041002, 1372007, 100000, 0, 0, 230000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Cromi +(2041002, 1372014, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Evil Tale +(2041002, 1382001, 100000, 0, 0, 230000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Arc Staff +(2041002, 1382006, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Thorns +(2041002, 1402003, 100000, 0, 0, 230000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Lion's Fang +(2041002, 1402011, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Sparta +(2041002, 1412003, 100000, 0, 0, 230000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # The Rising +(2041002, 1412007, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # The Shining +(2041002, 1422005, 100000, 0, 0, 230000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Golden Mole +(2041002, 1422009, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # The Blessing +(2041002, 1432004, 100000, 0, 0, 230000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Serpent's Tongue +(2041002, 1432006, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Holy Spear +(2041002, 1442005, 100000, 0, 0, 230000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # The Nine Dragons +(2041002, 1442010, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Skylar +(2041002, 1452008, 100000, 0, 0, 230000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Olympus +(2041002, 1452004, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Asianic Bow +(2041002, 1462007, 100000, 0, 0, 230000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Rower +(2041002, 1462008, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Golden Crow +(2041002, 1592003, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Avaris Ancient Bow +(2041002, 1592002, 100000, 0, 0, 230000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Uruk Ancient Bow +(2041002, 1472021, 100000, 0, 0, 230000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Slain +(2041002, 1472025, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Gigantic +(2041002, 1482007, 100000, 0, 0, 230000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Fury Claw +(2041002, 1482008, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Seraphims +(2041002, 1492007, 100000, 0, 0, 230000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Mr. Rasfelt +(2041002, 1492008, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Burning Hell +(2041002, 1522007, 100000, 0, 0, 230000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Judge & Jury +(2041002, 1522008, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Lunar Glory +(2041002, 1532007, 100000, 0, 0, 230000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dreadnought +(2041002, 1532008, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # The Bigshot +(2041002, 1212003, 100000, 0, 0, 230000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Decor +(2041002, 1212004, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Vallentier + +# Mayoren (2130000) +(2130000, 4170050, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 1000), # Andersen's Key +(2130000, 2000000, 1000000, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Red Potion +(2130000, 2000001, 1000000, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Orange Potion +(2130000, 2000002, 1000000, 0, 0, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # White Potion +(2130000, 2000003, 1000000, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Blue Potion +(2130000, 2000006, 1000000, 0, 0, 186, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Mana Elixir +(2130000, 2002000, 1000000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Dexterity Potion +(2130000, 2002001, 1000000, 0, 0, 400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Speed Potion +(2130000, 2002002, 1000000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Magic Potion +(2130000, 2002004, 1000000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Warrior Potion +(2130000, 2002005, 1000000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Sniper Potion +(2130000, 2010000, 1000000, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Apple +(2130000, 2010002, 1000000, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Egg +(2130000, 2010001, 1000000, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Meat +(2130000, 2010003, 1000000, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Orange +(2130000, 2010004, 1000000, 0, 0, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Lemon +(2130000, 2022003, 1000000, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Unagi +(2130000, 2022000, 1000000, 0, 0, 1155, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Pure Water +(2130000, 2001000, 1000000, 0, 0, 3200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Watermelon +(2130000, 2001001, 1000000, 0, 0, 2300, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Ice Cream Pop +(2130000, 2001002, 1000000, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Very Special Sundae +(2130000, 2020012, 1000000, 0, 0, 4500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Melting Cheese +(2130000, 2020013, 1000000, 0, 0, 5600, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Reindeer Milk +(2130000, 2020014, 1000000, 0, 0, 8100, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Sunrise Dew +(2130000, 2020015, 1000000, 0, 0, 10200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Sunset Dew +(2130000, 2050000, 100000, 0, 0, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Antidote +(2130000, 2050001, 100000, 0, 0, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Eyedrop +(2130000, 2050002, 100000, 0, 0, 300, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Tonic +(2130000, 2030000, 100000, 0, 0, 400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Return Scroll - Nearest Town +(2130000, 2060000, 9999999, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9999), # Arrow for Bow +(2130000, 2061000, 9999999, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9999), # Arrow for Crossbow +(2130000, 2060000, 9999999, 0, 0, 1400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 2000, 0, 9999), # Arrow for Bow +(2130000, 2061000, 9999999, 0, 0, 1400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 2000, 0, 9999), # Arrow for Crossbow + +# Halsted (2190002) +(2190002, 4170050, 0, -243992652, 0, 0, 0, -243992608, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 1000), # Andersen's Key +(2190002, 2022003, 1000000, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Unagi +(2190002, 2022000, 1000000, 0, 0, 1155, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Pure Water +(2190002, 2001000, 1000000, 0, 0, 3200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Watermelon +(2190002, 2001001, 1000000, 0, 0, 2300, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Ice Cream Pop +(2190002, 2001002, 1000000, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Very Special Sundae +(2190002, 2020012, 1000000, 0, 0, 4500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Melting Cheese +(2190002, 2020013, 1000000, 0, 0, 5600, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Reindeer Milk +(2190002, 2020014, 1000000, 0, 0, 8100, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Sunrise Dew +(2190002, 2020015, 1000000, 0, 0, 10200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Sunset Dew +(2190002, 2002000, 1000000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Dexterity Potion +(2190002, 2002001, 1000000, 0, 0, 400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Speed Potion +(2190002, 2002002, 1000000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Magic Potion +(2190002, 2002004, 1000000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Warrior Potion +(2190002, 2002005, 1000000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Sniper Potion +(2190002, 2050000, 100000, 0, 0, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Antidote +(2190002, 2050001, 100000, 0, 0, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Eyedrop +(2190002, 2050002, 100000, 0, 0, 300, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Tonic +(2190002, 2030000, 100000, 0, 0, 400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Return Scroll - Nearest Town +(2190002, 2060000, 9999999, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9999), # Arrow for Bow +(2190002, 2061000, 9999999, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9999), # Arrow for Crossbow +(2190002, 2060000, 9999999, 0, 0, 1400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 2000, 0, 9999), # Arrow for Bow +(2190002, 2061000, 9999999, 0, 0, 1400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 2000, 0, 9999), # Arrow for Crossbow + +# Puddin (1511000) +(1511000, 4170050, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 1000), # Andersen's Key +(1511000, 2000000, 9999999, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Red Potion +(1511000, 2000001, 9999999, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Orange Potion +(1511000, 2000002, 9999999, 0, 0, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # White Potion +(1511000, 2000003, 9999999, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Blue Potion +(1511000, 2000006, 9999999, 0, 0, 186, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Mana Elixir +(1511000, 2002000, 9999999, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Dexterity Potion +(1511000, 2002001, 9999999, 0, 0, 400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Speed Potion +(1511000, 2002002, 9999999, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Magic Potion +(1511000, 2002004, 9999999, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Warrior Potion +(1511000, 2002005, 9999999, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Sniper Potion +(1511000, 2001000, 9999999, 0, 0, 3200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Watermelon +(1511000, 2001001, 9999999, 0, 0, 2300, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Ice Cream Pop +(1511000, 2001002, 9999999, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Very Special Sundae +(1511000, 2010000, 9999999, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Apple +(1511000, 2010002, 9999999, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Egg +(1511000, 2010001, 9999999, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Meat +(1511000, 2010003, 9999999, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Orange +(1511000, 2010004, 9999999, 0, 0, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Lemon +(1511000, 2020012, 9999999, 0, 0, 4500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Melting Cheese +(1511000, 2020013, 9999999, 0, 0, 5600, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Reindeer Milk +(1511000, 2020014, 9999999, 0, 0, 8100, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Sunrise Dew +(1511000, 2020015, 9999999, 0, 0, 10200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Sunset Dew +(1511000, 2030000, 100000, 0, 0, 400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Return Scroll - Nearest Town +(1511000, 2060000, 9999999, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9999), # Arrow for Bow +(1511000, 2061000, 9999999, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9999), # Arrow for Crossbow +(1511000, 2060000, 9999999, 0, 0, 1400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 2000, 0, 9999), # Arrow for Bow +(1511000, 2061000, 9999999, 0, 0, 1400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 2000, 0, 9999), # Arrow for Crossbow +(1511000, 2060001, 9999999, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9999), # Bronze Arrow for Bow +(1511000, 2061001, 9999999, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9999), # Bronze Arrow for Crossbow + +# Johanna (2140004) +(2140004, 2001000, 10000000, 0, 0, 3200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Watermelon +(2140004, 2001001, 10000000, 0, 0, 2300, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Ice Cream Pop +(2140004, 2001002, 10000000, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Very Special Sundae +(2140004, 2020013, 1000000, 0, 0, 5600, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Reindeer Milk +(2140004, 2020014, 1000000, 0, 0, 8100, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Sunrise Dew +(2140004, 2020015, 1000000, 0, 0, 10200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Sunset Dew +(2140004, 2030000, 100000, 0, 0, 400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Return Scroll - Nearest Town +(2140004, 2120000, 1000000000, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9000), # Pet Food +(2140004, 2060000, 0, 0, 0, 1400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 2000, 0, 9999), # Arrow for Bow +(2140004, 2061000, 0, 0, 0, 1400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 2000, 0, 9999), # Arrow for Crossbow +(2140004, 2060001, 9999999, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9999), # Bronze Arrow for Bow +(2140004, 2061001, 9999999, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9999), # Bronze Arrow for Crossbow +(2140004, 2050004, 9999999, 0, 0, 8500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # All Cure Potion + +# Maya (2142000) +(2142000, 4170050, 0, 0, 0, 38660920, 2, 38646744, 2, 38653064, 2, 2, -9008, 2, 0, '', 0, 0, 0, 1000), # Andersen's Key +(2142000, 2002000, 9999999, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Dexterity Potion +(2142000, 2002001, 9999999, 0, 0, 400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Speed Potion +(2142000, 2002002, 9999999, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Magic Potion +(2142000, 2002004, 9999999, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Warrior Potion +(2142000, 2002005, 9999999, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Sniper Potion +(2142000, 2001000, 9999999, 0, 0, 3200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Watermelon +(2142000, 2001001, 9999999, 0, 0, 2300, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Ice Cream Pop +(2142000, 2001002, 9999999, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Very Special Sundae +(2142000, 2010000, 9999999, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Apple +(2142000, 2010002, 9999999, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Egg +(2142000, 2010001, 9999999, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Meat +(2142000, 2010003, 9999999, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Orange +(2142000, 2010004, 9999999, 0, 0, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Lemon +(2142000, 2020012, 9999999, 0, 0, 4500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Melting Cheese +(2142000, 2020013, 9999999, 0, 0, 5600, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Reindeer Milk +(2142000, 2020014, 9999999, 0, 0, 8100, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Sunrise Dew +(2142000, 2020015, 9999999, 0, 0, 10200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Sunset Dew +(2142000, 2030000, 100000, 0, 0, 400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Return Scroll - Nearest Town +(2142000, 2060000, 9999999, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9999), # Arrow for Bow +(2142000, 2061000, 9999999, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9999), # Arrow for Crossbow +(2142000, 2060000, 9999999, 0, 0, 1400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 2000, 0, 9999), # Arrow for Bow +(2142000, 2061000, 9999999, 0, 0, 1400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 2000, 0, 9999), # Arrow for Crossbow +(2142000, 2060001, 9999999, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9999), # Bronze Arrow for Bow +(2142000, 2061001, 9999999, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9999), # Bronze Arrow for Crossbow + +# Cobie (2142112) +(2142112, 4170050, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 1000), # Andersen's Key +(2142112, 2002000, 9999999, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Dexterity Potion +(2142112, 2002001, 9999999, 0, 0, 400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Speed Potion +(2142112, 2002002, 9999999, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Magic Potion +(2142112, 2002004, 9999999, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Warrior Potion +(2142112, 2002005, 9999999, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Sniper Potion +(2142112, 2001000, 9999999, 0, 0, 3200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Watermelon +(2142112, 2001001, 9999999, 0, 0, 2300, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Ice Cream Pop +(2142112, 2001002, 9999999, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Very Special Sundae +(2142112, 2010000, 9999999, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Apple +(2142112, 2010002, 9999999, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Egg +(2142112, 2010001, 9999999, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Meat +(2142112, 2010003, 9999999, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Orange +(2142112, 2010004, 9999999, 0, 0, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Lemon +(2142112, 2020012, 9999999, 0, 0, 4500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Melting Cheese +(2142112, 2020013, 9999999, 0, 0, 5600, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Reindeer Milk +(2142112, 2020014, 9999999, 0, 0, 8100, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Sunrise Dew +(2142112, 2020015, 9999999, 0, 0, 10200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Sunset Dew +(2142112, 2030000, 100000, 0, 0, 400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Return Scroll - Nearest Town +(2142112, 2060000, 9999999, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9999), # Arrow for Bow +(2142112, 2061000, 9999999, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9999), # Arrow for Crossbow +(2142112, 2060000, 9999999, 0, 0, 1400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 2000, 0, 9999), # Arrow for Bow +(2142112, 2061000, 9999999, 0, 0, 1400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 2000, 0, 9999), # Arrow for Crossbow +(2142112, 2060001, 9999999, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9999), # Bronze Arrow for Bow +(2142112, 2061001, 9999999, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9999), # Bronze Arrow for Crossbow + +# Moodie (2080004) +(2080004, 2120000, 1000000000, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9000), # Pet Food +(2080004, 2260000, 1000000000, 0, 0, 1000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 200), # Revitalizer +(2080004, 2432512, 1000000000, 0, 0, 6000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 10), # Accelerator + +# Max (2080002) +(2080002, 1002084, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Oriental Helmet +(2080002, 1002243, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Seraphis +(2080002, 1002268, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Polyfeather Hat +(2080002, 1002247, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bronze Identity +(2080002, 1002634, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Purple Cast Linen +(2080002, 1002030, 100000, 0, 0, 158000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Silver Planet +(2080002, 1002254, 100000, 0, 0, 158000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Infinium Circlet +(2080002, 1002289, 100000, 0, 0, 158000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Patriot +(2080002, 1002285, 100000, 0, 0, 158000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blood Nightfox +(2080002, 1002637, 100000, 0, 0, 158000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Pirate's Bandana +(2080002, 1040090, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Orientican +(2080002, 1040091, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Orientican +(2080002, 1040092, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Orientican +(2080002, 1040093, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Orientican +(2080002, 1040098, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Light Scorpio +(2080002, 1040099, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Ocher Scorpio +(2080002, 1040100, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Scorpio +(2080002, 1041091, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Ice Queen +(2080002, 1041092, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Ice Queen +(2080002, 1041093, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Ice Queen +(2080002, 1041094, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Light Mantis +(2080002, 1041095, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bloody Mantis +(2080002, 1041096, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Umber Mantis +(2080002, 1060079, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Orientican Pants +(2080002, 1060080, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Orientican Pants +(2080002, 1060081, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Orientican Pants +(2080002, 1060082, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Orientican Pants +(2080002, 1060087, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Light Scorpio Pants +(2080002, 1060088, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Ocher Scorpio Pants +(2080002, 1060089, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Scorpio Pants +(2080002, 1061090, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Ice Queen Skirt +(2080002, 1061091, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Ice Queen Skirt +(2080002, 1061092, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Ice Queen Skirt +(2080002, 1061093, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Light Mantis Pants +(2080002, 1061094, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bloody Mantis Pants +(2080002, 1061095, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Umber Mantis Pants +(2080002, 1040102, 100000, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bronze Platine +(2080002, 1040103, 100000, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Mithril Platine +(2080002, 1040104, 100000, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Orihalcon Platine +(2080002, 1040105, 100000, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Studded Top +(2080002, 1040106, 100000, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Studded Top +(2080002, 1040107, 100000, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Studded Top +(2080002, 1041097, 100000, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Aqua Platina +(2080002, 1041098, 100000, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Violet Platina +(2080002, 1041099, 100000, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bloody Platina +(2080002, 1041100, 100000, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Purple Mystique +(2080002, 1041101, 100000, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Mystique +(2080002, 1041102, 100000, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Pink Mystique +(2080002, 1041103, 100000, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Mystique +(2080002, 1060091, 100000, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Mithril Platine Pants +(2080002, 1060092, 100000, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Orihalcon Platine Pants +(2080002, 1060093, 100000, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Studded Pants +(2080002, 1060094, 100000, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Studded Pants +(2080002, 1060095, 100000, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Studded Pants +(2080002, 1061096, 100000, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Aqua Platina Pants +(2080002, 1061097, 100000, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Violet Platina Pants +(2080002, 1061098, 100000, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bloody Platina Pants +(2080002, 1061099, 100000, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Purple Mystique Pants +(2080002, 1061100, 100000, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Mystique Pants +(2080002, 1061101, 100000, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Pink Mystique Pants +(2080002, 1061102, 100000, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Mystique Pants +(2080002, 1050053, 100000, 0, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Anakamoon +(2080002, 1050054, 100000, 0, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Anakamoon +(2080002, 1050055, 100000, 0, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # White Anakamoon +(2080002, 1050056, 100000, 0, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Anakamoon +(2080002, 1050058, 100000, 0, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Orange Tai +(2080002, 1050059, 100000, 0, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Tai +(2080002, 1050060, 100000, 0, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Tai +(2080002, 1051044, 100000, 0, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Anakarune +(2080002, 1051045, 100000, 0, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Anakarune +(2080002, 1051046, 100000, 0, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # White Anakarune +(2080002, 1051047, 100000, 0, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Anakarune +(2080002, 1051041, 100000, 0, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Choro +(2080002, 1051042, 100000, 0, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Choro +(2080002, 1051043, 100000, 0, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Choro +(2080002, 1052119, 100000, 0, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Royal Barone +(2080002, 1050067, 100000, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Requiem +(2080002, 1050068, 100000, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Requiem +(2080002, 1050069, 100000, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Requiem +(2080002, 1050070, 100000, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Requiem +(2080002, 1050061, 100000, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Linnex +(2080002, 1050062, 100000, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Beige Linnex +(2080002, 1050063, 100000, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Linnex +(2080002, 1050064, 100000, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Linnex +(2080002, 1051052, 100000, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Requierre +(2080002, 1051053, 100000, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Requierre +(2080002, 1051054, 100000, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Requierre +(2080002, 1051055, 100000, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Requierre +(2080002, 1051062, 100000, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Lineros +(2080002, 1051063, 100000, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Beige Lineros +(2080002, 1051064, 100000, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Lineros +(2080002, 1051065, 100000, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Lineros +(2080002, 1052122, 100000, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Viska +(2080002, 1072149, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blood Camel Boots +(2080002, 1072139, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Goldrunners +(2080002, 1072146, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Gore Boots +(2080002, 1072152, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Moss Boots +(2080002, 1072306, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Basile Boots +(2080002, 1072156, 100000, 0, 0, 158000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Carzen Boots +(2080002, 1072160, 100000, 0, 0, 158000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Gold Lapiz Sandals +(2080002, 1072167, 100000, 0, 0, 158000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Elf Shoes +(2080002, 1072163, 100000, 0, 0, 158000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Mystique Shoes +(2080002, 1072309, 100000, 0, 0, 158000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Voyson Shoes +(2080002, 1082061, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Clench +(2080002, 1082088, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Manute +(2080002, 1082091, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Garner +(2080002, 1082094, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Gold Pow +(2080002, 1082201, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Schult +(2080002, 1082105, 100000, 0, 0, 158000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Husk +(2080002, 1082100, 100000, 0, 0, 158000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Lorin +(2080002, 1082108, 100000, 0, 0, 158000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Eyes +(2080002, 1082097, 100000, 0, 0, 158000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Gold Rover +(2080002, 1082204, 100000, 0, 0, 158000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Bisk + +# Illiad (2080008) +(2080008, 2431789, 100000, 0, 0, 3000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Mastery Book 20 +(2080008, 2431790, 100000, 0, 0, 5000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Mastery Book 30 +(2080008, 2431935, 100000, 0, 0, 300000, 0, 0, 0, 0, 0, 0, 999, 999, 0, '', 0, 1, 0, 5), # Mastery Book 20 +(2080008, 2431936, 100000, 0, 0, 500000, 0, 0, 0, 0, 0, 0, 999, 999, 0, '', 0, 1, 0, 5), # Mastery Book 30 + +# Gugu (2211000) +(2211000, 4170050, 0, 0, 0, 29247332, 0, 0, 0, 29231972, 2, 0, 0, 0, 0, '', 0, 0, 0, 1000), # Andersen's Key +(2211000, 2050004, 9999999, 0, 0, 8500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # All Cure Potion +(2211000, 2000000, 9999999, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Red Potion +(2211000, 2000001, 9999999, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Orange Potion +(2211000, 2000002, 9999999, 0, 0, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # White Potion +(2211000, 2000003, 9999999, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Blue Potion +(2211000, 2000006, 9999999, 0, 0, 186, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Mana Elixir +(2211000, 2002000, 9999999, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Dexterity Potion +(2211000, 2002001, 9999999, 0, 0, 400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Speed Potion +(2211000, 2002002, 9999999, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Magic Potion +(2211000, 2002004, 9999999, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Warrior Potion +(2211000, 2002005, 9999999, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Sniper Potion +(2211000, 2022089, 9999999, 0, 0, 3400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Baby Dragon Food +(2211000, 2001000, 9999999, 0, 0, 3200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Watermelon +(2211000, 2001001, 9999999, 0, 0, 2300, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Ice Cream Pop +(2211000, 2001002, 9999999, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Very Special Sundae +(2211000, 2010000, 9999999, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Apple +(2211000, 2010002, 9999999, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Egg +(2211000, 2010001, 9999999, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Meat +(2211000, 2010003, 9999999, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Orange +(2211000, 2010004, 9999999, 0, 0, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Lemon +(2211000, 2020012, 9999999, 0, 0, 4500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Melting Cheese +(2211000, 2020013, 9999999, 0, 0, 5600, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Reindeer Milk +(2211000, 2020014, 9999999, 0, 0, 8100, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Sunrise Dew +(2211000, 2020015, 9999999, 0, 0, 10200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Sunset Dew +(2211000, 2030000, 100000, 0, 0, 400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Return Scroll - Nearest Town +(2211000, 2060000, 9999999, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9999), # Arrow for Bow +(2211000, 2061000, 9999999, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9999), # Arrow for Crossbow +(2211000, 2060000, 9999999, 0, 0, 1400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 2000, 0, 9999), # Arrow for Bow +(2211000, 2061000, 9999999, 0, 0, 1400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 2000, 0, 9999), # Arrow for Crossbow +(2211000, 2060001, 9999999, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9999), # Bronze Arrow for Bow +(2211000, 2061001, 9999999, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9999), # Bronze Arrow for Crossbow + +# So Won (2093001) +(2093001, 1002084, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Oriental Helmet +(2093001, 1002243, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Seraphis +(2093001, 1002268, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Polyfeather Hat +(2093001, 1002247, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bronze Identity +(2093001, 1002634, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Purple Cast Linen +(2093001, 1002030, 100000, 0, 0, 158000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Silver Planet +(2093001, 1002254, 100000, 0, 0, 158000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Infinium Circlet +(2093001, 1002289, 100000, 0, 0, 158000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Patriot +(2093001, 1002285, 100000, 0, 0, 158000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blood Nightfox +(2093001, 1002637, 100000, 0, 0, 158000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Pirate's Bandana +(2093001, 1040090, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Orientican +(2093001, 1040091, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Orientican +(2093001, 1040092, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Orientican +(2093001, 1040093, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Orientican +(2093001, 1040098, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Light Scorpio +(2093001, 1040099, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Ocher Scorpio +(2093001, 1040100, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Scorpio +(2093001, 1041091, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Ice Queen +(2093001, 1041092, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Ice Queen +(2093001, 1041093, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Ice Queen +(2093001, 1041094, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Light Mantis +(2093001, 1041095, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bloody Mantis +(2093001, 1041096, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Umber Mantis +(2093001, 1060079, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Orientican Pants +(2093001, 1060080, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Orientican Pants +(2093001, 1060081, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Orientican Pants +(2093001, 1060082, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Orientican Pants +(2093001, 1060087, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Light Scorpio Pants +(2093001, 1060088, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Ocher Scorpio Pants +(2093001, 1060089, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Scorpio Pants +(2093001, 1061090, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Ice Queen Skirt +(2093001, 1061091, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Ice Queen Skirt +(2093001, 1061092, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Ice Queen Skirt +(2093001, 1061093, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Light Mantis Pants +(2093001, 1061094, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bloody Mantis Pants +(2093001, 1061095, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Umber Mantis Pants +(2093001, 1040102, 100000, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bronze Platine +(2093001, 1040103, 100000, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Mithril Platine +(2093001, 1040104, 100000, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Orihalcon Platine +(2093001, 1040105, 100000, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Studded Top +(2093001, 1040106, 100000, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Studded Top +(2093001, 1040107, 100000, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Studded Top +(2093001, 1041097, 100000, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Aqua Platina +(2093001, 1041098, 100000, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Violet Platina +(2093001, 1041099, 100000, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bloody Platina +(2093001, 1041100, 100000, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Purple Mystique +(2093001, 1041101, 100000, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Mystique +(2093001, 1041102, 100000, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Pink Mystique +(2093001, 1041103, 100000, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Mystique +(2093001, 1060091, 100000, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Mithril Platine Pants +(2093001, 1060092, 100000, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Orihalcon Platine Pants +(2093001, 1060093, 100000, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Studded Pants +(2093001, 1060094, 100000, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Studded Pants +(2093001, 1060095, 100000, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Studded Pants +(2093001, 1061096, 100000, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Aqua Platina Pants +(2093001, 1061097, 100000, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Violet Platina Pants +(2093001, 1061098, 100000, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bloody Platina Pants +(2093001, 1061099, 100000, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Purple Mystique Pants +(2093001, 1061100, 100000, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Mystique Pants +(2093001, 1061101, 100000, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Pink Mystique Pants +(2093001, 1061102, 100000, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Mystique Pants +(2093001, 1050053, 100000, 0, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Anakamoon +(2093001, 1050054, 100000, 0, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Anakamoon +(2093001, 1050055, 100000, 0, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # White Anakamoon +(2093001, 1050056, 100000, 0, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Anakamoon +(2093001, 1050058, 100000, 0, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Orange Tai +(2093001, 1050059, 100000, 0, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Tai +(2093001, 1050060, 100000, 0, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Tai +(2093001, 1051044, 100000, 0, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Anakarune +(2093001, 1051045, 100000, 0, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Anakarune +(2093001, 1051046, 100000, 0, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # White Anakarune +(2093001, 1051047, 100000, 0, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Anakarune +(2093001, 1051041, 100000, 0, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Choro +(2093001, 1051042, 100000, 0, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Choro +(2093001, 1051043, 100000, 0, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Choro +(2093001, 1052119, 100000, 0, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Royal Barone +(2093001, 1050067, 100000, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Requiem +(2093001, 1050068, 100000, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Requiem +(2093001, 1050069, 100000, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Requiem +(2093001, 1050070, 100000, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Requiem +(2093001, 1050061, 100000, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Linnex +(2093001, 1050062, 100000, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Beige Linnex +(2093001, 1050063, 100000, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Linnex +(2093001, 1050064, 100000, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Linnex +(2093001, 1051052, 100000, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Requierre +(2093001, 1051053, 100000, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Requierre +(2093001, 1051054, 100000, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Requierre +(2093001, 1051055, 100000, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Requierre +(2093001, 1051062, 100000, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Lineros +(2093001, 1051063, 100000, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Beige Lineros +(2093001, 1051064, 100000, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Lineros +(2093001, 1051065, 100000, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Lineros +(2093001, 1052122, 100000, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Viska +(2093001, 1072149, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blood Camel Boots +(2093001, 1072139, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Goldrunners +(2093001, 1072146, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Gore Boots +(2093001, 1072152, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Moss Boots +(2093001, 1072306, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Basile Boots +(2093001, 1072156, 100000, 0, 0, 158000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Carzen Boots +(2093001, 1072160, 100000, 0, 0, 158000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Gold Lapiz Sandals +(2093001, 1072167, 100000, 0, 0, 158000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Elf Shoes +(2093001, 1072163, 100000, 0, 0, 158000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Mystique Shoes +(2093001, 1072309, 100000, 0, 0, 158000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Voyson Shoes +(2093001, 1082061, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Clench +(2093001, 1082088, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Manute +(2093001, 1082091, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Garner +(2093001, 1082094, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Gold Pow +(2093001, 1082201, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Schult +(2093001, 1082105, 100000, 0, 0, 158000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Husk +(2093001, 1082100, 100000, 0, 0, 158000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Lorin +(2093001, 1082108, 100000, 0, 0, 158000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Eyes +(2093001, 1082097, 100000, 0, 0, 158000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Gold Rover +(2093001, 1082204, 100000, 0, 0, 158000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Bisk + +# Mu Tan (2093000) +(2093000, 1252004, 100, 0, 0, 230000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Panther Scepter +(2093000, 1252005, 100, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Grizzly Scepter +(2093000, 1542054, 10000, 0, 0, 320000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Death's Whisper +(2093000, 1542055, 10000, 0, 0, 380000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Helix +(2093000, 1552054, 10000, 0, 0, 320000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Melodic Fan +(2093000, 1552055, 10000, 0, 0, 380000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Unique Fan +(2093000, 1302011, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Neocora +(2093000, 1302012, 100000, 0, 0, 387000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Katana +(2093000, 1312009, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Hawkhead +(2093000, 1312010, 100000, 0, 0, 387000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Mikhail +(2093000, 1322018, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Tamus +(2093000, 1322019, 100000, 0, 0, 387000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # The Judgement +(2093000, 1332015, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Deadly Fin +(2093000, 1332017, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Serpent's Coil +(2093000, 1332018, 100000, 0, 0, 387000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Kandine +(2093000, 1332019, 100000, 0, 0, 387000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Golden River +(2093000, 1342004, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Ascalon Katara +(2093000, 1342005, 100000, 0, 0, 387000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Heavenly Katara +(2093000, 1362009, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bijou Canne +(2093000, 1362010, 100000, 0, 0, 387000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Regne +(2093000, 1372014, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Evil Tale +(2093000, 1372015, 100000, 0, 0, 387000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Angel Wings +(2093000, 1382006, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Thorns +(2093000, 1382007, 100000, 0, 0, 387000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Evil Wings +(2093000, 1402011, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Sparta +(2093000, 1402012, 100000, 0, 0, 387000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Doombringer +(2093000, 1412007, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # The Shining +(2093000, 1412008, 100000, 0, 0, 387000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Chrono +(2093000, 1422009, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # The Blessing +(2093000, 1422010, 100000, 0, 0, 387000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Gigantic Sledge +(2093000, 1432006, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Holy Spear +(2093000, 1432007, 100000, 0, 0, 387000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Redemption +(2093000, 1442010, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Skylar +(2093000, 1442008, 100000, 0, 0, 387000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # The Gold Dragon +(2093000, 1452004, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Asianic Bow +(2093000, 1452009, 100000, 0, 0, 387000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Hinkel +(2093000, 1462008, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Golden Crow +(2093000, 1462009, 100000, 0, 0, 387000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Gross Jaeger +(2093000, 1592003, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Avaris Ancient Bow +(2093000, 1592004, 100000, 0, 0, 387000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Magna Ancient Bow +(2093000, 1472025, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Gigantic +(2093000, 1472029, 100000, 0, 0, 387000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Scarab +(2093000, 1482008, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Seraphims +(2093000, 1482009, 100000, 0, 0, 387000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Beia Crash +(2093000, 1492008, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Burning Hell +(2093000, 1492009, 100000, 0, 0, 387000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Abyss Shooter +(2093000, 1522008, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Lunar Glory +(2093000, 1522009, 100000, 0, 0, 387000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Twin Zephyrs +(2093000, 1532008, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # The Bigshot +(2093000, 1532009, 100000, 0, 0, 387000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Infernalizer +(2093000, 1212004, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Vallentier +(2093000, 1212005, 100000, 0, 0, 387000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Sharp Slaver + +# Lan Ming (2093002) +(2093002, 2000000, 1000000, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Red Potion +(2093002, 2000001, 1000000, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Orange Potion +(2093002, 2000002, 1000000, 0, 0, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # White Potion +(2093002, 2000003, 1000000, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Blue Potion +(2093002, 2000006, 1000000, 0, 0, 186, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Mana Elixir +(2093002, 2002000, 1000000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Dexterity Potion +(2093002, 2002001, 1000000, 0, 0, 400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Speed Potion +(2093002, 2002002, 1000000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Magic Potion +(2093002, 2002004, 1000000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Warrior Potion +(2093002, 2002005, 1000000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Sniper Potion +(2093002, 2022003, 1000000, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Unagi +(2093002, 2022000, 1000000, 0, 0, 1155, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Pure Water +(2093002, 2001000, 1000000, 0, 0, 3200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Watermelon +(2093002, 2001001, 1000000, 0, 0, 2300, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Ice Cream Pop +(2093002, 2001002, 1000000, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Very Special Sundae +(2093002, 2010000, 1000000, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Apple +(2093002, 2010002, 1000000, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Egg +(2093002, 2010001, 1000000, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Meat +(2093002, 2010003, 1000000, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Orange +(2093002, 2010004, 1000000, 0, 0, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Lemon +(2093002, 2020028, 100000, 0, 0, 2100, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Chocolate +(2093002, 2050000, 100000, 0, 0, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Antidote +(2093002, 2050001, 100000, 0, 0, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Eyedrop +(2093002, 2050002, 100000, 0, 0, 300, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Tonic +(2093002, 2050003, 100000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Holy Water +(2093002, 2030000, 100000, 0, 0, 400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Return Scroll - Nearest Town +(2093002, 2060000, 9999999, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9999), # Arrow for Bow +(2093002, 2061000, 9999999, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9999), # Arrow for Crossbow +(2093002, 2060000, 9999999, 0, 0, 1400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 2000, 0, 9999), # Arrow for Bow +(2093002, 2061000, 9999999, 0, 0, 1400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 2000, 0, 9999), # Arrow for Crossbow +(2093002, 2432805, 1000000, 0, 0, 50000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1000), # Appearance Reset Coupon + +# Gong Gong (2090001) +(2090001, 1252004, 100, 0, 0, 230000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Panther Scepter +(2090001, 1252005, 100, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Grizzly Scepter +(2090001, 1542054, 10000, 0, 0, 320000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Death's Whisper +(2090001, 1542055, 10000, 0, 0, 380000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Helix +(2090001, 1552054, 10000, 0, 0, 320000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Melodic Fan +(2090001, 1552055, 10000, 0, 0, 380000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Unique Fan +(2090001, 1302011, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Neocora +(2090001, 1302012, 100000, 0, 0, 387000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Katana +(2090001, 1312009, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Hawkhead +(2090001, 1312010, 100000, 0, 0, 387000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Mikhail +(2090001, 1322018, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Tamus +(2090001, 1322019, 100000, 0, 0, 387000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # The Judgement +(2090001, 1332015, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Deadly Fin +(2090001, 1332017, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Serpent's Coil +(2090001, 1332018, 100000, 0, 0, 387000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Kandine +(2090001, 1332019, 100000, 0, 0, 387000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Golden River +(2090001, 1342004, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Ascalon Katara +(2090001, 1342005, 100000, 0, 0, 387000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Heavenly Katara +(2090001, 1362009, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bijou Canne +(2090001, 1362010, 100000, 0, 0, 387000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Regne +(2090001, 1372014, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Evil Tale +(2090001, 1372015, 100000, 0, 0, 387000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Angel Wings +(2090001, 1382006, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Thorns +(2090001, 1382007, 100000, 0, 0, 387000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Evil Wings +(2090001, 1402011, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Sparta +(2090001, 1402012, 100000, 0, 0, 387000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Doombringer +(2090001, 1412007, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # The Shining +(2090001, 1412008, 100000, 0, 0, 387000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Chrono +(2090001, 1422009, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # The Blessing +(2090001, 1422010, 100000, 0, 0, 387000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Gigantic Sledge +(2090001, 1432006, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Holy Spear +(2090001, 1432007, 100000, 0, 0, 387000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Redemption +(2090001, 1442010, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Skylar +(2090001, 1442008, 100000, 0, 0, 387000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # The Gold Dragon +(2090001, 1452004, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Asianic Bow +(2090001, 1452009, 100000, 0, 0, 387000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Hinkel +(2090001, 1592003, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Avaris Ancient Bow +(2090001, 1592004, 100000, 0, 0, 387000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Magna Ancient Bow +(2090001, 1462008, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Golden Crow +(2090001, 1462009, 100000, 0, 0, 387000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Gross Jaeger +(2090001, 1472025, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Gigantic +(2090001, 1472029, 100000, 0, 0, 387000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Scarab +(2090001, 1482008, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Seraphims +(2090001, 1482009, 100000, 0, 0, 387000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Beia Crash +(2090001, 1492008, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Burning Hell +(2090001, 1492009, 100000, 0, 0, 387000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Abyss Shooter +(2090001, 1522008, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Lunar Glory +(2090001, 1522009, 100000, 0, 0, 387000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Twin Zephyrs +(2090001, 1532008, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # The Bigshot +(2090001, 1532009, 100000, 0, 0, 387000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Infernalizer +(2090001, 1212004, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Vallentier +(2090001, 1212005, 100000, 0, 0, 387000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Sharp Slaver + +# Bidiwon (2090002) +(2090002, 1002084, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Oriental Helmet +(2090002, 1002243, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Seraphis +(2090002, 1002268, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Polyfeather Hat +(2090002, 1002247, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bronze Identity +(2090002, 1002634, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Purple Cast Linen +(2090002, 1002030, 100000, 0, 0, 158000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Silver Planet +(2090002, 1002254, 100000, 0, 0, 158000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Infinium Circlet +(2090002, 1002289, 100000, 0, 0, 158000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Patriot +(2090002, 1002285, 100000, 0, 0, 158000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blood Nightfox +(2090002, 1002637, 100000, 0, 0, 158000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Pirate's Bandana +(2090002, 1040090, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Orientican +(2090002, 1040091, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Orientican +(2090002, 1040092, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Orientican +(2090002, 1040093, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Orientican +(2090002, 1040098, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Light Scorpio +(2090002, 1040099, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Ocher Scorpio +(2090002, 1040100, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Scorpio +(2090002, 1041091, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Ice Queen +(2090002, 1041092, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Ice Queen +(2090002, 1041093, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Ice Queen +(2090002, 1041094, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Light Mantis +(2090002, 1041095, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bloody Mantis +(2090002, 1041096, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Umber Mantis +(2090002, 1060079, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Orientican Pants +(2090002, 1060080, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Orientican Pants +(2090002, 1060081, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Orientican Pants +(2090002, 1060082, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Orientican Pants +(2090002, 1060087, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Light Scorpio Pants +(2090002, 1060088, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Ocher Scorpio Pants +(2090002, 1060089, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Scorpio Pants +(2090002, 1061090, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Ice Queen Skirt +(2090002, 1061091, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Ice Queen Skirt +(2090002, 1061092, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Ice Queen Skirt +(2090002, 1061093, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Light Mantis Pants +(2090002, 1061094, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bloody Mantis Pants +(2090002, 1061095, 100000, 0, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Umber Mantis Pants +(2090002, 1040102, 100000, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bronze Platine +(2090002, 1040103, 100000, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Mithril Platine +(2090002, 1040104, 100000, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Orihalcon Platine +(2090002, 1040105, 100000, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Studded Top +(2090002, 1040106, 100000, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Studded Top +(2090002, 1040107, 100000, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Studded Top +(2090002, 1041097, 100000, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Aqua Platina +(2090002, 1041098, 100000, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Violet Platina +(2090002, 1041099, 100000, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bloody Platina +(2090002, 1041100, 100000, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Purple Mystique +(2090002, 1041101, 100000, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Mystique +(2090002, 1041102, 100000, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Pink Mystique +(2090002, 1041103, 100000, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Mystique +(2090002, 1060091, 100000, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Mithril Platine Pants +(2090002, 1060092, 100000, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Orihalcon Platine Pants +(2090002, 1060093, 100000, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Studded Pants +(2090002, 1060094, 100000, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Studded Pants +(2090002, 1060095, 100000, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Studded Pants +(2090002, 1061096, 100000, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Aqua Platina Pants +(2090002, 1061097, 100000, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Violet Platina Pants +(2090002, 1061098, 100000, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bloody Platina Pants +(2090002, 1061099, 100000, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Purple Mystique Pants +(2090002, 1061100, 100000, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Mystique Pants +(2090002, 1061101, 100000, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Pink Mystique Pants +(2090002, 1061102, 100000, 0, 0, 138000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Mystique Pants +(2090002, 1050053, 100000, 0, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Anakamoon +(2090002, 1050054, 100000, 0, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Anakamoon +(2090002, 1050055, 100000, 0, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # White Anakamoon +(2090002, 1050056, 100000, 0, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Anakamoon +(2090002, 1050058, 100000, 0, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Orange Tai +(2090002, 1050059, 100000, 0, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Tai +(2090002, 1050060, 100000, 0, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Tai +(2090002, 1051044, 100000, 0, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Anakarune +(2090002, 1051045, 100000, 0, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Anakarune +(2090002, 1051046, 100000, 0, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # White Anakarune +(2090002, 1051047, 100000, 0, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Anakarune +(2090002, 1051041, 100000, 0, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Choro +(2090002, 1051042, 100000, 0, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Choro +(2090002, 1051043, 100000, 0, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Choro +(2090002, 1052119, 100000, 0, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Royal Barone +(2090002, 1050067, 100000, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Requiem +(2090002, 1050068, 100000, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Requiem +(2090002, 1050069, 100000, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Requiem +(2090002, 1050070, 100000, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Requiem +(2090002, 1050061, 100000, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Linnex +(2090002, 1050062, 100000, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Beige Linnex +(2090002, 1050063, 100000, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Linnex +(2090002, 1050064, 100000, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Linnex +(2090002, 1051052, 100000, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Requierre +(2090002, 1051053, 100000, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Requierre +(2090002, 1051054, 100000, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Requierre +(2090002, 1051055, 100000, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Requierre +(2090002, 1051062, 100000, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Lineros +(2090002, 1051063, 100000, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Beige Lineros +(2090002, 1051064, 100000, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Lineros +(2090002, 1051065, 100000, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Lineros +(2090002, 1052122, 100000, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Viska +(2090002, 1072149, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blood Camel Boots +(2090002, 1072139, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Goldrunners +(2090002, 1072146, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Gore Boots +(2090002, 1072152, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Moss Boots +(2090002, 1072306, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Basile Boots +(2090002, 1072156, 100000, 0, 0, 158000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Carzen Boots +(2090002, 1072160, 100000, 0, 0, 158000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Gold Lapiz Sandals +(2090002, 1072167, 100000, 0, 0, 158000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Elf Shoes +(2090002, 1072163, 100000, 0, 0, 158000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Mystique Shoes +(2090002, 1072309, 100000, 0, 0, 158000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Voyson Shoes +(2090002, 1082061, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Clench +(2090002, 1082088, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Manute +(2090002, 1082091, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Garner +(2090002, 1082094, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Gold Pow +(2090002, 1082201, 100000, 0, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Schult +(2090002, 1082105, 100000, 0, 0, 158000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Husk +(2090002, 1082100, 100000, 0, 0, 158000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Lorin +(2090002, 1082108, 100000, 0, 0, 158000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Eyes +(2090002, 1082097, 100000, 0, 0, 158000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Gold Rover +(2090002, 1082204, 100000, 0, 0, 158000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Bisk + +# Laya (2090006) +(2090006, 2120000, 1000000000, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9000), # Pet Food +(2090006, 2260000, 1000000000, 0, 0, 1000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 200), # Revitalizer + +# Edel the Fairy (2012005) +(2012005, 4170050, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 1000), # Andersen's Key +(2012005, 2000000, 1000000, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Red Potion +(2012005, 2000001, 1000000, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Orange Potion +(2012005, 2000002, 1000000, 0, 0, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # White Potion +(2012005, 2000003, 1000000, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Blue Potion +(2012005, 2000006, 1000000, 0, 0, 186, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Mana Elixir +(2012005, 2002000, 1000000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Dexterity Potion +(2012005, 2002001, 1000000, 0, 0, 400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Speed Potion +(2012005, 2002002, 1000000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Magic Potion +(2012005, 2002004, 1000000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Warrior Potion +(2012005, 2002005, 1000000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Sniper Potion +(2012005, 2022003, 1000000, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Unagi +(2012005, 2022000, 1000000, 0, 0, 1155, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Pure Water +(2012005, 2001000, 1000000, 0, 0, 3200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Watermelon +(2012005, 2001001, 1000000, 0, 0, 2300, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Ice Cream Pop +(2012005, 2001002, 1000000, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Very Special Sundae +(2012005, 2010000, 1000000, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Apple +(2012005, 2010002, 1000000, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Egg +(2012005, 2010001, 1000000, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Meat +(2012005, 2010003, 1000000, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Orange +(2012005, 2010004, 1000000, 0, 0, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Lemon +(2012005, 2020028, 100000, 0, 0, 2100, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Chocolate +(2012005, 2050000, 100000, 0, 0, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Antidote +(2012005, 2050001, 100000, 0, 0, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Eyedrop +(2012005, 2050002, 100000, 0, 0, 300, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Tonic +(2012005, 2050003, 100000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Holy Water +(2012005, 2030000, 100000, 0, 0, 400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Return Scroll - Nearest Town +(2012005, 2060000, 9999999, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9999), # Arrow for Bow +(2012005, 2061000, 9999999, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9999), # Arrow for Crossbow +(2012005, 2060000, 9999999, 0, 0, 1400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 2000, 0, 9999), # Arrow for Bow +(2012005, 2061000, 9999999, 0, 0, 1400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 2000, 0, 9999), # Arrow for Crossbow +(2012005, 2432805, 1000000, 0, 0, 50000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1000), # Appearance Reset Coupon + +# Hana (2022001) +(2022001, 4170050, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 1000), # Andersen's Key +(2022001, 2022001, 1000000, 0, 0, 400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Red Bean Porridge +(2022001, 2022186, 1000000, 0, 0, 2400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Soft White Bun +(2022001, 2000000, 1000000, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Red Potion +(2022001, 2000001, 1000000, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Orange Potion +(2022001, 2000002, 1000000, 0, 0, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # White Potion +(2022001, 2000003, 1000000, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Blue Potion +(2022001, 2000006, 1000000, 0, 0, 186, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Mana Elixir +(2022001, 2002000, 1000000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Dexterity Potion +(2022001, 2002001, 1000000, 0, 0, 400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Speed Potion +(2022001, 2002002, 1000000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Magic Potion +(2022001, 2002004, 1000000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Warrior Potion +(2022001, 2002005, 1000000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Sniper Potion +(2022001, 2010000, 1000000, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Apple +(2022001, 2010002, 1000000, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Egg +(2022001, 2010001, 1000000, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Meat +(2022001, 2010003, 1000000, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Orange +(2022001, 2010004, 1000000, 0, 0, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Lemon +(2022001, 2022003, 1000000, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Unagi +(2022001, 2022000, 1000000, 0, 0, 1155, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Pure Water +(2022001, 2001000, 1000000, 0, 0, 3200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Watermelon +(2022001, 2001001, 1000000, 0, 0, 2300, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Ice Cream Pop +(2022001, 2001002, 1000000, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Very Special Sundae +(2022001, 2020012, 1000000, 0, 0, 4500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Melting Cheese +(2022001, 2020013, 1000000, 0, 0, 5600, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Reindeer Milk +(2022001, 2020014, 1000000, 0, 0, 8100, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Sunrise Dew +(2022001, 2020015, 1000000, 0, 0, 10200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Sunset Dew +(2022001, 2050000, 100000, 0, 0, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Antidote +(2022001, 2050001, 100000, 0, 0, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Eyedrop +(2022001, 2050002, 100000, 0, 0, 300, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Tonic +(2022001, 2030000, 100000, 0, 0, 400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Return Scroll - Nearest Town +(2022001, 2060000, 9999999, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9999), # Arrow for Bow +(2022001, 2061000, 9999999, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9999), # Arrow for Crossbow +(2022001, 2060000, 9999999, 0, 0, 1400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 2000, 0, 9999), # Arrow for Bow +(2022001, 2061000, 9999999, 0, 0, 1400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 2000, 0, 9999), # Arrow for Crossbow +(2022001, 2432805, 1000000, 0, 0, 50000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1000), # Appearance Reset Coupon + +# Rumi (2022000) +(2022000, 1002028, 100000, 1, 0, 120000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Silver Crusader Helm +(2022000, 1002216, 100000, 1, 0, 120000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Aqua Golden Circlet +(2022000, 1002212, 100000, 1, 0, 120000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Maro +(2022000, 1002207, 100000, 1, 0, 120000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Sonata +(2022000, 1002631, 100000, 1, 0, 120000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Leather Ocean Hat +(2022000, 1002084, 100000, 1, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Oriental Helmet +(2022000, 1002243, 100000, 1, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Seraphis +(2022000, 1002268, 100000, 1, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Polyfeather Hat +(2022000, 1002247, 100000, 1, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bronze Identity +(2022000, 1002634, 100000, 1, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Purple Cast Linen +(2022000, 1040087, 100000, 1, 0, 96000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Shouldermail +(2022000, 1040088, 100000, 1, 0, 96000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Ocher Shouldermail +(2022000, 1040089, 100000, 1, 0, 96000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Umber Shouldermail +(2022000, 1040094, 100000, 1, 0, 96000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red China +(2022000, 1040095, 100000, 1, 0, 96000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue China +(2022000, 1040096, 100000, 1, 0, 96000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown China +(2022000, 1040097, 100000, 1, 0, 96000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green China +(2022000, 1041087, 100000, 1, 0, 96000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Shouldermail +(2022000, 1041088, 100000, 1, 0, 96000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Ivory Shouldermail +(2022000, 1041089, 100000, 1, 0, 96000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Shouldermail +(2022000, 1041077, 100000, 1, 0, 96000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Maroon Moon +(2022000, 1041078, 100000, 1, 0, 96000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Moon +(2022000, 1041079, 100000, 1, 0, 96000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Moon +(2022000, 1041080, 100000, 1, 0, 96000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Moon +(2022000, 1060076, 100000, 1, 0, 96000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Shouldermail Pants +(2022000, 1060077, 100000, 1, 0, 96000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Ocher Shouldermail Pants +(2022000, 1060078, 100000, 1, 0, 96000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Umber Shouldermail Pants +(2022000, 1060083, 100000, 1, 0, 96000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red China Pants +(2022000, 1060084, 100000, 1, 0, 96000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue China Pants +(2022000, 1060085, 100000, 1, 0, 96000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown China Pants +(2022000, 1060086, 100000, 1, 0, 96000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green China Pants +(2022000, 1061086, 100000, 1, 0, 96000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Shouldermail Pants +(2022000, 1061087, 100000, 1, 0, 96000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Ivory Shouldermail Pants +(2022000, 1061088, 100000, 1, 0, 96000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Shouldermail Pants +(2022000, 1061076, 100000, 1, 0, 96000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Maroon Moon Pants +(2022000, 1061077, 100000, 1, 0, 96000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Moon Pants +(2022000, 1061078, 100000, 1, 0, 96000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Moon Pants +(2022000, 1061079, 100000, 1, 0, 96000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Moon Pants +(2022000, 1040090, 100000, 1, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Orientican +(2022000, 1040091, 100000, 1, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Orientican +(2022000, 1040092, 100000, 1, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Orientican +(2022000, 1040093, 100000, 1, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Orientican +(2022000, 1040098, 100000, 1, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Light Scorpio +(2022000, 1040099, 100000, 1, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Ocher Scorpio +(2022000, 1040100, 100000, 1, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Scorpio +(2022000, 1041091, 100000, 1, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Ice Queen +(2022000, 1041092, 100000, 1, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Ice Queen +(2022000, 1041093, 100000, 1, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Ice Queen +(2022000, 1041094, 100000, 1, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Light Mantis +(2022000, 1041095, 100000, 1, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bloody Mantis +(2022000, 1041096, 100000, 1, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Umber Mantis +(2022000, 1060079, 100000, 1, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Orientican Pants +(2022000, 1060080, 100000, 1, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Orientican Pants +(2022000, 1060081, 100000, 1, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Orientican Pants +(2022000, 1060082, 100000, 1, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Orientican Pants +(2022000, 1060087, 100000, 1, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Light Scorpio Pants +(2022000, 1060088, 100000, 1, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Ocher Scorpio Pants +(2022000, 1060089, 100000, 1, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Scorpio Pants +(2022000, 1061090, 100000, 1, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Ice Queen Skirt +(2022000, 1061091, 100000, 1, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Ice Queen Skirt +(2022000, 1061092, 100000, 1, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Ice Queen Skirt +(2022000, 1061093, 100000, 1, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Light Mantis Pants +(2022000, 1061094, 100000, 1, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bloody Mantis Pants +(2022000, 1061095, 100000, 1, 0, 115000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Umber Mantis Pants +(2022000, 1050045, 100000, 1, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Calas +(2022000, 1050046, 100000, 1, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Calas +(2022000, 1050047, 100000, 1, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Orange Calas +(2022000, 1050049, 100000, 1, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Calas +(2022000, 1050048, 100000, 1, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # White Calas +(2022000, 1050051, 100000, 1, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red-Lined Kismet +(2022000, 1050052, 100000, 1, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue-Lined Kismet +(2022000, 1051030, 100000, 1, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Calaf +(2022000, 1051031, 100000, 1, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # White Calaf +(2022000, 1051032, 100000, 1, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Calaf +(2022000, 1051033, 100000, 1, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Calaf +(2022000, 1051034, 100000, 1, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Orange Calaf +(2022000, 1051037, 100000, 1, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Lumati +(2022000, 1051038, 100000, 1, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Lumati +(2022000, 1051039, 100000, 1, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Lumati +(2022000, 1052116, 100000, 1, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Plasteer +(2022000, 1050053, 100000, 1, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Anakamoon +(2022000, 1050054, 100000, 1, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Anakamoon +(2022000, 1050055, 100000, 1, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # White Anakamoon +(2022000, 1050056, 100000, 1, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Anakamoon +(2022000, 1050058, 100000, 1, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Orange Tai +(2022000, 1050059, 100000, 1, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Tai +(2022000, 1050060, 100000, 1, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Tai +(2022000, 1051044, 100000, 1, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Anakarune +(2022000, 1051045, 100000, 1, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Anakarune +(2022000, 1051046, 100000, 1, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # White Anakarune +(2022000, 1051047, 100000, 1, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Anakarune +(2022000, 1051041, 100000, 1, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Choro +(2022000, 1051042, 100000, 1, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Choro +(2022000, 1051043, 100000, 1, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Choro +(2022000, 1052119, 100000, 1, 0, 173000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Royal Barone +(2022000, 1072135, 100000, 1, 0, 120000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Gold Hildon Boots +(2022000, 1072143, 100000, 1, 0, 120000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Goldenwind Shoes +(2022000, 1072125, 100000, 1, 0, 120000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Purple Steel-Tip Boots +(2022000, 1072129, 100000, 1, 0, 120000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Goni Shoes +(2022000, 1072303, 100000, 1, 0, 120000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Double Boots +(2022000, 1072149, 100000, 1, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blood Camel Boots +(2022000, 1072139, 100000, 1, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Goldrunners +(2022000, 1072146, 100000, 1, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Gore Boots +(2022000, 1072152, 100000, 1, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Moss Boots +(2022000, 1072306, 100000, 1, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Basile Boots +(2022000, 1082011, 100000, 1, 0, 120000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Gold Brist +(2022000, 1082082, 100000, 1, 0, 120000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Pennance +(2022000, 1082085, 100000, 1, 0, 120000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Willow +(2022000, 1082067, 100000, 1, 0, 120000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Moon Gloves +(2022000, 1082198, 100000, 1, 0, 120000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Royce +(2022000, 1082061, 100000, 1, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Clench +(2022000, 1082088, 100000, 1, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Manute +(2022000, 1082091, 100000, 1, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Garner +(2022000, 1082094, 100000, 1, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Gold Pow +(2022000, 1082201, 100000, 1, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Schult +(2022000, 1072168, 100000, 7, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Snowshoes +(2022000, 1072169, 100000, 7, 0, 28000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Snowshoes +(2022000, 1072170, 100000, 7, 0, 29000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Snowshoes +(2022000, 1072171, 100000, 7, 0, 29000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Snowshoes +(2022000, 1072338, 100000, 7, 0, 29000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Purple Snowshoes + +# Scott (2020001) +(2020001, 1252003, 100, 0, 0, 230000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Talon Scepter +(2020001, 1252004, 100, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Panther Scepter +(2020001, 1542053, 10000, 0, 0, 230000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Iron Savior +(2020001, 1542054, 10000, 0, 0, 320000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Death's Whisper +(2020001, 1552053, 10000, 0, 0, 230000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Fan of Enlightenment +(2020001, 1552054, 10000, 0, 0, 320000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Melodic Fan +(2020001, 1302010, 100000, 0, 0, 230000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Jeweled Katar +(2020001, 1302011, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Neocora +(2020001, 1312008, 100000, 0, 0, 230000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Buck +(2020001, 1312009, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Hawkhead +(2020001, 1322017, 100000, 0, 0, 230000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Knuckle Mace +(2020001, 1322018, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Tamus +(2020001, 1332003, 100000, 0, 0, 230000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Shinkita +(2020001, 1332016, 100000, 0, 0, 230000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Sai +(2020001, 1332015, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Deadly Fin +(2020001, 1332017, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Serpent's Coil +(2020001, 1342003, 100000, 0, 0, 230000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Majestic Katara +(2020001, 1342004, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Ascalon Katara +(2020001, 1362008, 100000, 0, 0, 230000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Oriental Royal Cane +(2020001, 1362009, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bijou Canne +(2020001, 1372007, 100000, 0, 0, 230000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Cromi +(2020001, 1372014, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Evil Tale +(2020001, 1382001, 100000, 0, 0, 230000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Arc Staff +(2020001, 1382006, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Thorns +(2020001, 1402003, 100000, 0, 0, 230000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Lion's Fang +(2020001, 1402011, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Sparta +(2020001, 1412003, 100000, 0, 0, 230000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # The Rising +(2020001, 1412007, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # The Shining +(2020001, 1422005, 100000, 0, 0, 230000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Golden Mole +(2020001, 1422009, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # The Blessing +(2020001, 1432004, 100000, 0, 0, 230000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Serpent's Tongue +(2020001, 1432006, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Holy Spear +(2020001, 1442005, 100000, 0, 0, 230000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # The Nine Dragons +(2020001, 1442010, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Skylar +(2020001, 1452008, 100000, 0, 0, 230000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Olympus +(2020001, 1452004, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Asianic Bow +(2020001, 1592002, 100000, 0, 0, 230000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Uruk Ancient Bow +(2020001, 1592003, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Avaris Ancient Bow +(2020001, 1462007, 100000, 0, 0, 230000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Rower +(2020001, 1462008, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Golden Crow +(2020001, 1472021, 100000, 0, 0, 230000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Slain +(2020001, 1472025, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Gigantic +(2020001, 1482007, 100000, 0, 0, 230000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Fury Claw +(2020001, 1482008, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Seraphims +(2020001, 1492007, 100000, 0, 0, 230000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Mr. Rasfelt +(2020001, 1492008, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Burning Hell +(2020001, 1522007, 100000, 0, 0, 230000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Judge & Jury +(2020001, 1522008, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Lunar Glory +(2020001, 1532007, 100000, 0, 0, 230000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dreadnought +(2020001, 1532008, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # The Bigshot +(2020001, 1212003, 100000, 0, 0, 230000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Decor +(2020001, 1212004, 100000, 0, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Vallentier + +# Glibber (2030009) +(2030009, 4170050, 81793028, 86500276, 2, 0, 0, 0, 0, 86495360, 2, 2, 0, 0, 86495580, '', 2, 0, 0, 1000), # Andersen's Key +(2030009, 2000001, 100000, 0, 0, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Orange Potion +(2030009, 2000002, 100000, 0, 0, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # White Potion +(2030009, 2000003, 100000, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Blue Potion +(2030009, 2000006, 100000, 0, 0, 193, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Mana Elixir +(2030009, 2002000, 100000, 0, 0, 520, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Dexterity Potion +(2030009, 2002001, 100000, 0, 0, 416, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Speed Potion +(2030009, 2002002, 100000, 0, 0, 520, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Magic Potion +(2030009, 2002004, 100000, 0, 0, 520, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Warrior Potion +(2030009, 2002005, 100000, 0, 0, 520, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Sniper Potion +(2030009, 2001000, 100000, 0, 0, 3328, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Watermelon +(2030009, 2001001, 100000, 0, 0, 2392, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Ice Cream Pop +(2030009, 2001002, 100000, 0, 0, 4160, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Very Special Sundae +(2030009, 2020005, 100000, 0, 0, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Hot Dog +(2030009, 2010004, 100000, 0, 0, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Lemon +(2030009, 2020001, 100000, 0, 0, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Fried Chicken +(2030009, 2020003, 100000, 0, 0, 234, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Pizza +(2030009, 2020004, 100000, 0, 0, 234, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Hamburger +(2030009, 2020006, 100000, 0, 0, 275, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Hot Dog Supreme +(2030009, 2022003, 100000, 0, 0, 800, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Unagi +(2030009, 2022000, 100000, 0, 0, 1201, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Pure Water +(2030009, 2020012, 100000, 0, 0, 4680, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Melting Cheese +(2030009, 2020013, 100000, 0, 0, 5824, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Reindeer Milk +(2030009, 2020014, 100000, 0, 0, 8424, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Sunrise Dew +(2030009, 2020015, 100000, 0, 0, 10608, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Sunset Dew +(2030009, 2030000, 100000, 0, 0, 400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Return Scroll - Nearest Town +(2030009, 2060000, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9999), # Arrow for Bow +(2030009, 2061000, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9999), # Arrow for Crossbow +(2030009, 2060000, 0, 0, 0, 1400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 2000, 0, 9999), # Arrow for Bow +(2030009, 2061000, 0, 0, 0, 1400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 2000, 0, 9999), # Arrow for Crossbow + +# Rento (3003100) +(3003100, 2120000, 1000000000, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9000), # Pet Food +(3003100, 2020012, 1000000, 0, 0, 4500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Melting Cheese +(3003100, 2020013, 1000000, 0, 0, 5600, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Reindeer Milk +(3003100, 2020014, 1000000, 0, 0, 8100, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Sunrise Dew +(3003100, 2020015, 1000000, 0, 0, 10200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Sunset Dew +(3003100, 2002000, 100000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Dexterity Potion +(3003100, 2002001, 100000, 0, 0, 400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Speed Potion +(3003100, 2002002, 100000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Magic Potion +(3003100, 2002004, 100000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Warrior Potion +(3003100, 2002005, 100000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Sniper Potion +(3003100, 2030000, 100000, 0, 0, 400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Return Scroll - Nearest Town +(3003100, 2060000, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9999), # Arrow for Bow +(3003100, 2061000, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9999), # Arrow for Crossbow +(3003100, 2060000, 0, 0, 0, 1400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 2000, 0, 9999), # Arrow for Bow +(3003100, 2061000, 0, 0, 0, 1400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 2000, 0, 9999), # Arrow for Crossbow +(3003100, 2050000, 100000, 0, 0, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Antidote +(3003100, 2050001, 100000, 0, 0, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Eyedrop +(3003100, 2050002, 100000, 0, 0, 300, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Tonic +(3003100, 2432805, 1000000, 0, 0, 50000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1000), # Appearance Reset Coupon + +# Zatsu (3001422) +(3001422, 2000000, 100000, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Red Potion +(3001422, 2000001, 100000, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Orange Potion +(3001422, 2000002, 100000, 0, 0, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # White Potion +(3001422, 2000003, 100000, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Blue Potion +(3001422, 2000006, 100000, 0, 0, 186, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Mana Elixir +(3001422, 2002000, 100000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Dexterity Potion +(3001422, 2002001, 100000, 0, 0, 400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Speed Potion +(3001422, 2002002, 100000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Magic Potion +(3001422, 2002004, 100000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Warrior Potion +(3001422, 2002005, 100000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Sniper Potion +(3001422, 2010000, 1000, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Apple +(3001422, 2010002, 1000, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Egg +(3001422, 2010001, 1000, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Meat +(3001422, 2010003, 1000, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Orange +(3001422, 2010004, 100000, 0, 0, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Lemon +(3001422, 2030000, 100000, 0, 0, 400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Return Scroll - Nearest Town +(3001422, 2060000, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9999), # Arrow for Bow +(3001422, 2061000, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9999), # Arrow for Crossbow +(3001422, 2060000, 0, 0, 0, 1400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 2000, 0, 9999), # Arrow for Bow +(3001422, 2061000, 0, 0, 0, 1400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 2000, 0, 9999), # Arrow for Crossbow +(3001422, 2050000, 100000, 0, 0, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Antidote +(3001422, 2050001, 100000, 0, 0, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Eyedrop +(3001422, 2050002, 100000, 0, 0, 300, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Tonic + +# Karin (3001019) +(3001019, 4170050, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 1000), # Andersen's Key +(3001019, 2000000, 100000, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Red Potion +(3001019, 2000001, 100000, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Orange Potion +(3001019, 2000002, 100000, 0, 0, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # White Potion +(3001019, 2000003, 100000, 0, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Blue Potion +(3001019, 2000006, 100000, 0, 0, 186, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Mana Elixir +(3001019, 2022003, 1000000, 0, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Unagi +(3001019, 2022000, 1000000, 0, 0, 1155, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Pure Water +(3001019, 2001000, 1000000, 0, 0, 3200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Watermelon +(3001019, 2001001, 1000000, 0, 0, 2300, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Ice Cream Pop +(3001019, 2001002, 1000000, 0, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Very Special Sundae +(3001019, 2020012, 1000000, 0, 0, 4500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Melting Cheese +(3001019, 2020013, 1000000, 0, 0, 5600, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Reindeer Milk +(3001019, 2020014, 1000000, 0, 0, 8100, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Sunrise Dew +(3001019, 2020015, 1000000, 0, 0, 10200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Sunset Dew +(3001019, 2002000, 100000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Dexterity Potion +(3001019, 2002001, 100000, 0, 0, 400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Speed Potion +(3001019, 2002002, 100000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Magic Potion +(3001019, 2002004, 100000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Warrior Potion +(3001019, 2002005, 100000, 0, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Sniper Potion +(3001019, 2010000, 10000, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Apple +(3001019, 2010002, 10000, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Egg +(3001019, 2010001, 10000, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Meat +(3001019, 2010003, 10000, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Orange +(3001019, 2010004, 100000, 0, 0, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Lemon +(3001019, 2120000, 1000000000, 0, 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9000), # Pet Food +(3001019, 2030000, 100000, 0, 0, 400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Return Scroll - Nearest Town +(3001019, 2060000, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9999), # Arrow for Bow +(3001019, 2061000, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9999), # Arrow for Crossbow +(3001019, 2060000, 0, 0, 0, 1400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 2000, 0, 9999), # Arrow for Bow +(3001019, 2061000, 0, 0, 0, 1400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 2000, 0, 9999), # Arrow for Crossbow +(3001019, 2050000, 100000, 0, 0, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Antidote +(3001019, 2050001, 100000, 0, 0, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Eyedrop +(3001019, 2050002, 100000, 0, 0, 300, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Tonic + +# Mayala (3001108) +(3001108, 1190000, 1000000, 1, 0, 580000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Lesser Dragon Emblem +(3001108, 1190001, 1000000, 1, 0, 1010000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dragon Emblem +(3001108, 1190100, 1000000, 1, 0, 580000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Lesser Angel Emblem +(3001108, 1190101, 1000000, 1, 0, 1010000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Angel Emblem +(3001108, 1402001, 100, 1, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Wooden Sword +(3001108, 1402000, 100, 1, 0, 10000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Two-Handed Sword +(3001108, 1402008, 100, 1, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Broadsword +(3001108, 1402002, 100, 1, 0, 40000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Scimitar +(3001108, 1402006, 100, 1, 0, 80000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Lionheart +(3001108, 1402007, 100, 1, 0, 144000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Zard +(3001108, 1222001, 100, 1, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Purple Haze +(3001108, 1222002, 100, 1, 0, 40000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Pink Haze +(3001108, 1222003, 100, 1, 0, 230000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Purple Hatchling +(3001108, 1222004, 100, 1, 0, 322000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Jade Hatchling +(3001108, 1222005, 100, 1, 0, 387000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Pink Wormhead +(3001108, 1002043, 100, 1, 0, 2400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bronze Coif +(3001108, 1002039, 100, 1, 0, 2700, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bronze Helmet +(3001108, 1002051, 100, 1, 0, 3500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bronze Full Helm +(3001108, 1002055, 100, 1, 0, 10000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bronze Football Helmet +(3001108, 1002059, 100, 1, 0, 10000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bronze Viking Helm +(3001108, 1002027, 100, 1, 0, 11500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Steel Sharp Helm +(3001108, 1002005, 100, 1, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Iron Burgernet Helm +(3001108, 1002023, 100, 1, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Jousting Helmet +(3001108, 1002048, 100, 1, 0, 66000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Great Blue Helmet +(3001108, 1002021, 100, 1, 0, 92000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Steel Nordic Helm +(3001108, 1040015, 100, 1, 0, 3200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Lolico Armor +(3001108, 1040038, 100, 1, 0, 3200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Lolico Armor +(3001108, 1040009, 100, 1, 0, 5500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Steel Corporal +(3001108, 1040037, 100, 1, 0, 5500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Corporal +(3001108, 1040012, 100, 1, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Sergeant +(3001108, 1040039, 100, 1, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Sergeant +(3001108, 1040040, 100, 1, 0, 16000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Silver Master Sergeant +(3001108, 1040016, 100, 1, 0, 16000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Orihalcon Master Sergeant +(3001108, 1040041, 100, 1, 0, 16000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Master Sergeant +(3001108, 1040021, 100, 1, 0, 45000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Hwarang Shirt +(3001108, 1040026, 100, 1, 0, 45000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Hwarang Shirt +(3001108, 1041014, 100, 1, 0, 3200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Orange Lolica Armor +(3001108, 1041064, 100, 1, 0, 3200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blueberry Lolica Armor +(3001108, 1041019, 100, 1, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Lamelle +(3001108, 1041020, 100, 1, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Lamelle +(3001108, 1041021, 100, 1, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Lamelle +(3001108, 1041022, 100, 1, 0, 16000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Shark +(3001108, 1041023, 100, 1, 0, 16000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Sky Shark +(3001108, 1041024, 100, 1, 0, 16000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Shark +(3001108, 1050005, 100, 1, 0, 15000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Kendo Robe +(3001108, 1050006, 100, 1, 0, 15000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Kendo Robe +(3001108, 1050007, 100, 1, 0, 15000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # White Kendo Robe +(3001108, 1050011, 100, 1, 0, 70000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Dragon Robe +(3001108, 1051000, 100, 1, 0, 8000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Steel Fitted Mail +(3001108, 1051010, 100, 1, 0, 60000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Engrit +(3001108, 1051011, 100, 1, 0, 60000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Engrit +(3001108, 1051012, 100, 1, 0, 60000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Engrit +(3001108, 1051013, 100, 1, 0, 60000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Yellow Engrit +(3001108, 1040000, 10000, 1, 0, 81000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Yellow Jangoon Armor +(3001108, 1040085, 10000, 1, 0, 81000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Maroon Jangoon Armor +(3001108, 1041084, 10000, 1, 0, 81000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Jangoon Armor +(3001108, 1041085, 10000, 1, 0, 81000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Jangoon Armor +(3001108, 1050000, 10000, 1, 0, 100000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # White Crusader Chainmail +(3001108, 1050021, 10000, 1, 0, 100000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Crusader Chainmail +(3001108, 1051001, 10000, 1, 0, 100000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Emerald Fitted Mail +(3001108, 1051014, 10000, 1, 0, 100000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Sapphire Fitted Mail +(3001108, 1060075, 10000, 1, 0, 81000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Jangoon Pants +(3001108, 1060074, 10000, 1, 0, 81000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # White Jangoon Pants +(3001108, 1061083, 10000, 1, 0, 81000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Jangoon Skirt +(3001108, 1061084, 10000, 1, 0, 81000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Jangoon Skirt +(3001108, 1060008, 100, 1, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Lolico Pants +(3001108, 1060028, 100, 1, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Lolico Pants +(3001108, 1060009, 100, 1, 0, 5000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Steel Corporal Pants +(3001108, 1060027, 100, 1, 0, 5000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Corporal Pants +(3001108, 1060010, 100, 1, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Steel Sergeant Kilt +(3001108, 1060029, 100, 1, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Sergeant Kilt +(3001108, 1060011, 100, 1, 0, 14000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Orihalcon Master Sergeant Kilt +(3001108, 1060030, 100, 1, 0, 14000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Master Sergeant Kilt +(3001108, 1060060, 100, 1, 0, 14000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Silver Master Sergeant Kilt +(3001108, 1060016, 100, 1, 0, 45000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Black Martial Arts Pants +(3001108, 1060017, 100, 1, 0, 45000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # White Martial Arts Pants +(3001108, 1060018, 100, 1, 0, 45000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Martial Arts Pants +(3001108, 1060019, 100, 1, 0, 45000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Martial Arts Pants +(3001108, 1061014, 100, 1, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Rookie Pants +(3001108, 1061023, 100, 1, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Sophia Pants +(3001108, 1061016, 100, 1, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Ramel Skirt +(3001108, 1061017, 100, 1, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Green Ramel Skirt +(3001108, 1061018, 100, 1, 0, 9000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown Ramel Skirt +(3001108, 1061015, 100, 1, 0, 14000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Shark Skirt +(3001108, 1061019, 100, 1, 0, 14000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Sky Shark Skirt +(3001108, 1061020, 100, 1, 0, 14000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Red Shark Skirt +(3001108, 1072009, 100, 1, 0, 5000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Steel Greaves +(3001108, 1072050, 100, 1, 0, 5000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Bronze Greaves +(3001108, 1072007, 100, 1, 0, 10000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Brown High Boots +(3001108, 1072046, 100, 1, 0, 10000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Orange High Boots +(3001108, 1072047, 100, 1, 0, 10000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue High Boots +(3001108, 1072011, 100, 1, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Mithril War Boots +(3001108, 1072051, 100, 1, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Silver War Boots +(3001108, 1072052, 100, 1, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark War Boots +(3001108, 1072053, 100, 1, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Gold War Boots +(3001108, 1072039, 100, 1, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Mithril Battle Greaves +(3001108, 1072040, 100, 1, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Silver Battle Greaves +(3001108, 1072041, 100, 1, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blood Battle Greaves +(3001108, 1072112, 100, 1, 0, 66000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Mithril Trigger +(3001108, 1072113, 100, 1, 0, 66000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Trigger +(3001108, 1072126, 100, 1, 0, 92000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Maroon Jangoon Shoes +(3001108, 1072127, 100, 1, 0, 92000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Blue Jangoon Shoes +(3001108, 1082003, 100, 1, 0, 3000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Juno +(3001108, 1082000, 100, 1, 0, 5000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Steel Fingerless Gloves +(3001108, 1082004, 100, 1, 0, 10000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Venon +(3001108, 1082001, 100, 1, 0, 20000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # White Fingerless Gloves +(3001108, 1082006, 100, 1, 0, 30000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Orihalcon Missel +(3001108, 1082036, 100, 1, 0, 66000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Briggon +(3001108, 1082025, 100, 1, 0, 92000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Dark Knuckle +(3001108, 1082688, 2000000000, 7, 0, 0, 4310059, 150, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Antique Root Gloves +(3001108, 1082688, 2000000000, 7, 0, 0, 4310058, 3, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Antique Root Gloves +(3001108, 1102471, 2000000000, 7, 0, 0, 4310059, 100, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Elite Heliseum Warrior Cape +(3001108, 1102472, 2000000000, 7, 0, 0, 4310059, 100, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Elite Heliseum Magician Cape +(3001108, 1102473, 2000000000, 7, 0, 0, 4310059, 100, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Elite Heliseum Bowman Cape +(3001108, 1102474, 2000000000, 7, 0, 0, 4310059, 100, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Elite Heliseum Thief Cape +(3001108, 1102475, 2000000000, 7, 0, 0, 4310059, 100, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Elite Heliseum Pirate Cape +(3001108, 1072732, 2000000000, 7, 0, 0, 4310059, 100, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Elite Heliseum Warrior Boots +(3001108, 1072733, 2000000000, 7, 0, 0, 4310059, 100, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Elite Heliseum Magician Boots +(3001108, 1072734, 2000000000, 7, 0, 0, 4310059, 100, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Elite Heliseum Bowman Boots +(3001108, 1072735, 2000000000, 7, 0, 0, 4310059, 100, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Elite Heliseum Thief Boots +(3001108, 1072736, 2000000000, 7, 0, 0, 4310059, 100, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Elite Heliseum Pirate Boots +(3001108, 1132164, 2000000000, 7, 0, 0, 4310059, 150, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Elite Heliseum Warrior Belt +(3001108, 1132165, 2000000000, 7, 0, 0, 4310059, 150, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Elite Heliseum Magician Belt +(3001108, 1132166, 2000000000, 7, 0, 0, 4310059, 150, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Elite Heliseum Bowman Belt +(3001108, 1132167, 2000000000, 7, 0, 0, 4310059, 150, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Elite Heliseum Thief Belt +(3001108, 1132168, 2000000000, 7, 0, 0, 4310059, 150, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Elite Heliseum Pirate Belt +(3001108, 1102476, 2000000000, 7, 0, 0, 4310059, 250, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Nova Hyades Cloak +(3001108, 1102477, 2000000000, 7, 0, 0, 4310059, 250, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Nova Hermes Cloak +(3001108, 1102478, 2000000000, 7, 0, 0, 4310059, 250, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Nova Charon Cloak +(3001108, 1102479, 2000000000, 7, 0, 0, 4310059, 250, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Nova Lycaon Cloak +(3001108, 1102480, 2000000000, 7, 0, 0, 4310059, 250, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Nova Altair Cloak +(3001108, 1072737, 2000000000, 7, 0, 0, 4310059, 250, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Nova Hyades Boots +(3001108, 1072738, 2000000000, 7, 0, 0, 4310059, 250, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Nova Hermes Boots +(3001108, 1072739, 2000000000, 7, 0, 0, 4310059, 250, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Nova Charon Boots +(3001108, 1072740, 2000000000, 7, 0, 0, 4310059, 250, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Nova Lycaon Boots +(3001108, 1072741, 2000000000, 7, 0, 0, 4310059, 250, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Nova Altair Boots +(3001108, 1102481, 2000000000, 7, 0, 0, 4310058, 70, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Tyrant Hyades Cloak +(3001108, 1102482, 2000000000, 7, 0, 0, 4310058, 70, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Tyrant Hermes Cloak +(3001108, 1102483, 2000000000, 7, 0, 0, 4310058, 70, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Tyrant Charon Cloak +(3001108, 1102484, 2000000000, 7, 0, 0, 4310058, 70, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Tyrant Lycaon Cloak +(3001108, 1102485, 2000000000, 7, 0, 0, 4310058, 70, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Tyrant Altair Cloak +(3001108, 1072743, 2000000000, 7, 0, 0, 4310058, 70, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Tyrant Hyades Boots +(3001108, 1072744, 2000000000, 7, 0, 0, 4310058, 70, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Tyrant Hermes Boots +(3001108, 1072745, 2000000000, 7, 0, 0, 4310058, 70, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Tyrant Charon Boots +(3001108, 1072746, 2000000000, 7, 0, 0, 4310058, 70, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Tyrant Lycaon Boots +(3001108, 1072747, 2000000000, 7, 0, 0, 4310058, 70, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Tyrant Altair Boots +(3001108, 1132174, 2000000000, 7, 0, 0, 4310058, 100, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Tyrant Hyades Belt +(3001108, 1132175, 2000000000, 7, 0, 0, 4310058, 100, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Tyrant Hermes Belt +(3001108, 1132176, 2000000000, 7, 0, 0, 4310058, 100, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Tyrant Charon Belt +(3001108, 1132177, 2000000000, 7, 0, 0, 4310058, 100, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Tyrant Lycaon Belt +(3001108, 1132178, 2000000000, 7, 0, 0, 4310058, 100, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Tyrant Altair Belt +(3001108, 2000000, 100000, 2, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Red Potion +(3001108, 2000001, 100000, 2, 0, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Orange Potion +(3001108, 2000002, 100000, 2, 0, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # White Potion +(3001108, 2000003, 100000, 2, 0, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Blue Potion +(3001108, 2000006, 100000, 2, 0, 186, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Mana Elixir +(3001108, 2022003, 1000000, 2, 0, 770, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Unagi +(3001108, 2022000, 1000000, 2, 0, 1155, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Pure Water +(3001108, 2001000, 1000000, 2, 0, 3200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Watermelon +(3001108, 2001001, 1000000, 2, 0, 2300, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Ice Cream Pop +(3001108, 2001002, 1000000, 2, 0, 4000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Very Special Sundae +(3001108, 2020012, 1000000, 2, 0, 4500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Melting Cheese +(3001108, 2020013, 1000000, 2, 0, 5600, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Reindeer Milk +(3001108, 2020014, 1000000, 2, 0, 8100, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Sunrise Dew +(3001108, 2020015, 1000000, 2, 0, 10200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 3000), # Sunset Dew +(3001108, 2002000, 100000, 2, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Dexterity Potion +(3001108, 2002001, 100000, 2, 0, 400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Speed Potion +(3001108, 2002002, 100000, 2, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Magic Potion +(3001108, 2002004, 100000, 2, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Warrior Potion +(3001108, 2002005, 100000, 2, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Sniper Potion +(3001108, 2010000, 10000, 2, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Apple +(3001108, 2010002, 10000, 2, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Egg +(3001108, 2010001, 10000, 2, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Meat +(3001108, 2010003, 10000, 2, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Orange +(3001108, 2010004, 100000, 2, 0, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 300), # Lemon +(3001108, 2120000, 1000000000, 2, 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9000), # Pet Food +(3001108, 2030000, 100000, 2, 0, 400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Return Scroll - Nearest Town +(3001108, 2060000, 0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9999), # Arrow for Bow +(3001108, 2061000, 0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9999), # Arrow for Crossbow +(3001108, 2060000, 0, 2, 0, 1400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 2000, 0, 9999), # Arrow for Bow +(3001108, 2061000, 0, 2, 0, 1400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 2000, 0, 9999), # Arrow for Crossbow +(3001108, 2050000, 100000, 2, 0, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Antidote +(3001108, 2050001, 100000, 2, 0, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Eyedrop +(3001108, 2050002, 100000, 2, 0, 300, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Tonic + +# Nack (9031007) +(9031007, 1672034, 9999999, 11, 20160, 1000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Electronic Heart S-Series +(9031007, 1672035, 9999999, 11, 20160, 1000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Electronic Heart I-Series +(9031007, 1672036, 9999999, 11, 20160, 1000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Electronic Heart D-Series +(9031007, 1672037, 9999999, 11, 20160, 1000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Electronic Heart L-Series +(9031007, 1672038, 9999999, 11, 20160, 1000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 1), # Electronic Heart G-Series +(9031007, 4340000, 9999999, 11, 0, 1000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Imp Disease Cure +(9031007, 4024004, 9999999, 11, 0, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9000), # Basic Mold +(9031007, 4024005, 9999999, 11, 0, 300, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9000), # Intermediate Mold +(9031007, 4024006, 9999999, 11, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9000), # Advanced Mold +(9031007, 4024007, 9999999, 11, 0, 1000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9000), # Superior Mold +(9031007, 4025000, 9999999, 11, 0, 1000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9000), # Basic Abrasive +(9031007, 4025001, 9999999, 11, 0, 5000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9000), # Intermediate Abrasive +(9031007, 4025002, 9999999, 11, 0, 10000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9000), # Advanced Abrasive +(9031007, 4025003, 9999999, 11, 0, 50000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9000), # Superior Abrasive +(9031007, 4024000, 9999999, 11, 0, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9000), # Basic Herb Oil Bottle +(9031007, 4024001, 9999999, 11, 0, 300, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9000), # Intermediate Herb Oil Bottle +(9031007, 4024002, 9999999, 11, 0, 500, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9000), # Advanced Herb Oil Bottle +(9031007, 4024003, 9999999, 11, 0, 1000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9000), # Superior Herb Oil Bottle +(9031007, 4025004, 9999999, 11, 0, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9000), # Basic Empty Bottle +(9031007, 4025005, 9999999, 11, 0, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9000), # Intermediate Empty Bottle +(9031007, 4025006, 9999999, 11, 0, 400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9000), # Advanced Empty Bottle +(9031007, 4025007, 9999999, 11, 0, 800, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9000), # Superior Empty Bottle +(9031007, 4025008, 9999999, 11, 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9000), # Basic Potion Coagulant +(9031007, 4025009, 9999999, 11, 0, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9000), # Intermediate Potion Coagulant +(9031007, 4025010, 9999999, 11, 0, 200, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9000), # Advanced Potion Coagulant +(9031007, 4025011, 9999999, 11, 0, 400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9000), # Superior Potion Coagulant +(9031007, 4021017, 9999999, 11, 0, 5000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9000), # Alchemist Stone +(9031007, 2060000, 0, 11, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9999), # Arrow for Bow +(9031007, 2061000, 0, 11, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 9999), # Arrow for Crossbow +(9031007, 2060000, 0, 11, 0, 1400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 2000, 0, 9999), # Arrow for Bow +(9031007, 2061000, 0, 11, 0, 1400, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 2000, 0, 9999), # Arrow for Crossbow + +# Angelica (9031015) +(9031015, 2512000, 9999999, 0, 0, 50000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Strength Potion III Recipe +(9031015, 2512001, 9999999, 0, 0, 100000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Strength Potion IV Recipe +(9031015, 2512002, 9999999, 0, 0, 150000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Strength Potion V Recipe +(9031015, 2512003, 9999999, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Strength Potion VI Recipe +(9031015, 2512004, 9999999, 0, 0, 250000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Strength Potion VII Recipe +(9031015, 2512005, 9999999, 0, 0, 300000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Strength Potion VIII Recipe +(9031015, 2512006, 9999999, 0, 0, 350000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Strength Potion IX Recipe +(9031015, 2512007, 9999999, 0, 0, 400000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Strength Potion X Recipe +(9031015, 2512008, 9999999, 0, 0, 50000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Dexterity Potion III Recipe +(9031015, 2512009, 9999999, 0, 0, 100000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Dexterity Potion IV Recipe +(9031015, 2512010, 9999999, 0, 0, 150000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Dexterity Potion V Recipe +(9031015, 2512011, 9999999, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Dexterity Potion VI Recipe +(9031015, 2512012, 9999999, 0, 0, 250000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Dexterity Potion VII Recipe +(9031015, 2512013, 9999999, 0, 0, 300000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Dexterity Potion VIII Recipe +(9031015, 2512014, 9999999, 0, 0, 350000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Dexterity Potion IX Recipe +(9031015, 2512015, 9999999, 0, 0, 400000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Dexterity Potion X Recipe +(9031015, 2512016, 9999999, 0, 0, 50000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Intelligence Potion III Recipe +(9031015, 2512017, 9999999, 0, 0, 100000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Intelligence Potion IV Recipe +(9031015, 2512018, 9999999, 0, 0, 150000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Intelligence Potion V Recipe +(9031015, 2512019, 9999999, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Intelligence Potion VI Recipe +(9031015, 2512020, 9999999, 0, 0, 250000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Intelligence Potion VII Recipe +(9031015, 2512021, 9999999, 0, 0, 300000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Intelligence Potion VIII Recipe +(9031015, 2512022, 9999999, 0, 0, 350000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Intelligence Potion IX Recipe +(9031015, 2512023, 9999999, 0, 0, 400000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Intelligence Potion X Recipe +(9031015, 2512024, 9999999, 0, 0, 50000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Luck Potion III Recipe +(9031015, 2512025, 9999999, 0, 0, 100000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Luck Potion IV Recipe +(9031015, 2512026, 9999999, 0, 0, 150000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Luck Potion V Recipe +(9031015, 2512027, 9999999, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Luck Potion VI Recipe +(9031015, 2512028, 9999999, 0, 0, 250000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Luck Potion VII Recipe +(9031015, 2512029, 9999999, 0, 0, 300000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Luck Potion VIII Recipe +(9031015, 2512030, 9999999, 0, 0, 350000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Luck Potion IX Recipe +(9031015, 2512031, 9999999, 0, 0, 400000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Luck Potion X Recipe +(9031015, 2512032, 9999999, 0, 0, 100000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Attack Potion I Recipe +(9031015, 2512033, 9999999, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Attack Potion II Recipe +(9031015, 2512034, 9999999, 0, 0, 300000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Attack Potion III Recipe +(9031015, 2512035, 9999999, 0, 0, 400000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Attack Potion IV Recipe +(9031015, 2512036, 9999999, 0, 0, 500000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Attack Potion V Recipe +(9031015, 2512037, 9999999, 0, 0, 100000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Magic Attack Potion I Recipe +(9031015, 2512038, 9999999, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Magic Attack Potion II Recipe +(9031015, 2512039, 9999999, 0, 0, 300000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Magic Attack Potion III Recipe +(9031015, 2512040, 9999999, 0, 0, 400000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Magic Attack Potion IV Recipe +(9031015, 2512041, 9999999, 0, 0, 500000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Magic Attack Potion V Recipe +(9031015, 2512069, 9999999, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Health Pill (1000) Recipe +(9031015, 2512070, 9999999, 0, 0, 300000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Health Pill (1500) Recipe +(9031015, 2512071, 9999999, 0, 0, 400000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Health Pill (2000) Recipe +(9031015, 2512072, 9999999, 0, 0, 500000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Health Pill (2500) Recipe +(9031015, 2512073, 9999999, 0, 0, 600000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Health Pill (3000) Recipe +(9031015, 2512074, 9999999, 0, 0, 700000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Health Pill (3500) Recipe +(9031015, 2512075, 9999999, 0, 0, 800000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Health Pill (4000) Recipe +(9031015, 2512076, 9999999, 0, 0, 900000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Health Pill (5000) Recipe +(9031015, 2512077, 9999999, 0, 0, 1000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Health Pill (6000) Recipe +(9031015, 2512078, 9999999, 0, 0, 1100000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Health Pill (7000) Recipe +(9031015, 2512079, 9999999, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Mana Pill (1000) Recipe +(9031015, 2512080, 9999999, 0, 0, 300000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Mana Pill (1500) Recipe +(9031015, 2512081, 9999999, 0, 0, 400000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Mana Pill (2000) Recipe +(9031015, 2512082, 9999999, 0, 0, 500000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Mana Pill (2500) Recipe +(9031015, 2512083, 9999999, 0, 0, 600000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Mana Pill (3000) Recipe +(9031015, 2512084, 9999999, 0, 0, 700000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Mana Pill (3500) Recipe +(9031015, 2512085, 9999999, 0, 0, 800000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Mana Pill (4000) Recipe +(9031015, 2512086, 9999999, 0, 0, 900000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Mana Pill (5000) Recipe +(9031015, 2512087, 9999999, 0, 0, 1000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Mana Pill (6000) Recipe +(9031015, 2512088, 9999999, 0, 0, 1100000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Mana Pill (7000) Recipe +(9031015, 2512139, 9999999, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Strength Pill I Recipe +(9031015, 2512140, 9999999, 0, 0, 300000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Strength Pill II Recipe +(9031015, 2512141, 9999999, 0, 0, 400000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Strength Pill III Recipe +(9031015, 2512142, 9999999, 0, 0, 500000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Strength Pill IV Recipe +(9031015, 2512143, 9999999, 0, 0, 600000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Strength Pill V Recipe +(9031015, 2512144, 9999999, 0, 0, 700000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Strength Pill VI Recipe +(9031015, 2512145, 9999999, 0, 0, 800000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Strength Pill VII Recipe +(9031015, 2512146, 9999999, 0, 0, 900000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Strength Pill VIII Recipe +(9031015, 2512147, 9999999, 0, 0, 1000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Strength Pill IX Recipe +(9031015, 2512148, 9999999, 0, 0, 1100000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Strength Pill X Recipe +(9031015, 2512159, 9999999, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Dexterity Pill I Recipe +(9031015, 2512160, 9999999, 0, 0, 300000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Dexterity Pill II Recipe +(9031015, 2512161, 9999999, 0, 0, 400000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Dexterity Pill III Recipe +(9031015, 2512162, 9999999, 0, 0, 500000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Dexterity Pill IV Recipe +(9031015, 2512163, 9999999, 0, 0, 600000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Dexterity Pill V Recipe +(9031015, 2512164, 9999999, 0, 0, 700000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Dexterity Pill VI Recipe +(9031015, 2512165, 9999999, 0, 0, 800000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Dexterity Pill VII Recipe +(9031015, 2512166, 9999999, 0, 0, 900000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Dexterity Pill VIII Recipe +(9031015, 2512167, 9999999, 0, 0, 1000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Dexterity Pill IX Recipe +(9031015, 2512168, 9999999, 0, 0, 1100000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Dexterity Pill X Recipe +(9031015, 2512179, 9999999, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Intelligence Pill I Recipe +(9031015, 2512180, 9999999, 0, 0, 300000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Intelligence Pill II Recipe +(9031015, 2512181, 9999999, 0, 0, 400000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Intelligence Pill III Recipe +(9031015, 2512182, 9999999, 0, 0, 500000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Intelligence Pill IV Recipe +(9031015, 2512183, 9999999, 0, 0, 600000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Intelligence Pill V Recipe +(9031015, 2512184, 9999999, 0, 0, 700000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Intelligence Pill VI Recipe +(9031015, 2512185, 9999999, 0, 0, 800000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Intelligence Pill VII Recipe +(9031015, 2512186, 9999999, 0, 0, 900000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Intelligence Pill VIII Recipe +(9031015, 2512187, 9999999, 0, 0, 1000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Intelligence Pill IX Recipe +(9031015, 2512188, 9999999, 0, 0, 1100000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Intelligence Pill X Recipe +(9031015, 2512199, 9999999, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Luck Pill I Recipe +(9031015, 2512200, 9999999, 0, 0, 300000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Luck Pill II Recipe +(9031015, 2512201, 9999999, 0, 0, 400000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Luck Pill III Recipe +(9031015, 2512202, 9999999, 0, 0, 500000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Luck Pill IV Recipe +(9031015, 2512203, 9999999, 0, 0, 600000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Luck Pill V Recipe +(9031015, 2512204, 9999999, 0, 0, 700000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Luck Pill VI Recipe +(9031015, 2512205, 9999999, 0, 0, 800000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Luck Pill VII Recipe +(9031015, 2512206, 9999999, 0, 0, 900000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Luck Pill VIII Recipe +(9031015, 2512207, 9999999, 0, 0, 1000000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Luck Pill IX Recipe +(9031015, 2512208, 9999999, 0, 0, 1100000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Luck Pill X Recipe +(9031015, 2512219, 9999999, 0, 0, 125000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Defense Pill I Recipe +(9031015, 2512220, 9999999, 0, 0, 150000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Defense Pill II Recipe +(9031015, 2512221, 9999999, 0, 0, 175000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Defense Pill III Recipe +(9031015, 2512222, 9999999, 0, 0, 200000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Defense Pill IV Recipe +(9031015, 2512223, 9999999, 0, 0, 250000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Defense Pill V Recipe +(9031015, 2512224, 9999999, 0, 0, 300000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Defense Pill VI Recipe +(9031015, 2512225, 9999999, 0, 0, 350000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Defense Pill VII Recipe +(9031015, 2512226, 9999999, 0, 0, 400000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Defense Pill VIII Recipe +(9031015, 2512227, 9999999, 0, 0, 450000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Defense Pill IX Recipe +(9031015, 2512228, 9999999, 0, 0, 500000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Defense Pill X Recipe +(9031015, 2512239, 9999999, 0, 0, 300000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Attack Pill I Recipe +(9031015, 2512240, 9999999, 0, 0, 500000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Attack Pill II Recipe +(9031015, 2512241, 9999999, 0, 0, 700000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Attack Pill III Recipe +(9031015, 2512242, 9999999, 0, 0, 900000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Attack Pill IV Recipe +(9031015, 2512243, 9999999, 0, 0, 1100000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Attack Pill V Recipe +(9031015, 2512249, 9999999, 0, 0, 300000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Magic Attack Pill I Recipe +(9031015, 2512250, 9999999, 0, 0, 500000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Magic Attack Pill II Recipe +(9031015, 2512251, 9999999, 0, 0, 700000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Magic Attack Pill III Recipe +(9031015, 2512252, 9999999, 0, 0, 900000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Magic Attack Pill IV Recipe +(9031015, 2512253, 9999999, 0, 0, 1100000, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 1, 0, 100), # Magic Attack Pill V Recipe +(9031015, 2512262, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 100), # Intermediate Extractor Recipe +(9031015, 2512263, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 100), # Advanced Extractor Recipe + + +(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 0); # Dummy diff --git a/sql/2 - InitTables_drops.sql b/sql/2 - InitTables_drops.sql new file mode 100755 index 0000000..41fc254 --- /dev/null +++ b/sql/2 - InitTables_drops.sql @@ -0,0 +1,9610 @@ +drop table if exists mob_drops; +create table mob_drops +( + id bigint not null auto_increment, + mobid int, + itemid int, + chance int, + minquant int default 1, + maxquant int default 1, + primary key (id) +); + +insert into `mob_drops` (`mobid`, `itemid`, `chance`, `minquant`, `maxquant`) +values + # -1 = global drops + (-1, 4001832, 500, 5, 40), # 5% for spell traces + + (8230009, 4009155, 100, 1, 1), + (8230009, 4021033, 100, 1, 1), + (8230009, 4021034, 100, 1, 1), + (8230009, 2001528, 100, 1, 1), + (8230009, 2434021, 100, 1, 1), + (8230009, 2000037, 100, 1, 1), + (8230009, 4021031, 100, 1, 1), + (8230009, 2590004, 100, 1, 1), + (8230009, 4021032, 100, 1, 1), + (8230009, 4021035, 100, 1, 1), + (8230008, 4021031, 100, 1, 1), + (8230008, 4021035, 100, 1, 1), + (8230008, 4021032, 100, 1, 1), + (8230008, 4021034, 100, 1, 1), + (8230008, 4009154, 100, 1, 1), + (8230008, 4021033, 100, 1, 1), + (8230005, 4033978, 100, 1, 1), + (8230005, 4021033, 100, 1, 1), + (8230005, 4021034, 100, 1, 1), + (8230005, 4009151, 100, 1, 1), + (8230005, 4021032, 100, 1, 1), + (8230005, 4021035, 100, 1, 1), + (8230004, 4021031, 100, 1, 1), + (8230004, 4021035, 100, 1, 1), + (8230004, 4021033, 100, 1, 1), + (8230004, 4009150, 100, 1, 1), + (8230004, 4021032, 100, 1, 1), + (8230004, 4021034, 100, 1, 1), + (8230004, 4033978, 100, 1, 1), + (8230007, 4009153, 100, 1, 1), + (8230007, 2590004, 100, 1, 1), + (8230007, 4021032, 100, 1, 1), + (8230007, 4021033, 100, 1, 1), + (8230007, 2000037, 100, 1, 1), + (8230007, 2001528, 100, 1, 1), + (8230007, 2434021, 100, 1, 1), + (8230007, 4021031, 100, 1, 1), + (8230007, 4021035, 100, 1, 1), + (8230007, 4021034, 100, 1, 1), + (6230100, 4000032, 100, 1, 1), + (8230006, 4021032, 100, 1, 1), + (8230006, 4021034, 100, 1, 1), + (8230006, 4021031, 100, 1, 1), + (8230006, 4021035, 100, 1, 1), + (8230006, 4009152, 100, 1, 1), + (8230006, 4021033, 100, 1, 1), + (8230006, 4033978, 100, 1, 1), + (8145008, 2431174, 100, 1, 1), + (8145008, 2000037, 100, 1, 1), + (8145008, 4021031, 100, 1, 1), + (8145008, 2590004, 100, 1, 1), + (8145008, 4021032, 100, 1, 1), + (8145008, 4021035, 100, 1, 1), + (8145008, 4000686, 100, 1, 1), + (8145008, 4021033, 100, 1, 1), + (8145008, 4021034, 100, 1, 1), + (8145008, 2001528, 100, 1, 1), + (8230003, 4021033, 100, 1, 1), + (8230003, 4021031, 100, 1, 1), + (8230003, 4033978, 100, 1, 1), + (8230003, 4021032, 100, 1, 1), + (8230003, 4009078, 100, 1, 1), + (8230003, 4021034, 100, 1, 1), + (8230003, 4021035, 100, 1, 1), + (8145004, 4021034, 100, 1, 1), + (8145004, 4033238, 100, 1, 1), + (8145004, 4021031, 100, 1, 1), + (8145004, 2000037, 100, 1, 1), + (8145004, 2001528, 100, 1, 1), + (8145004, 4021032, 100, 1, 1), + (8145004, 4021035, 100, 1, 1), + (8145004, 4021033, 100, 1, 1), + (8145004, 4000682, 100, 1, 1), + (8145005, 4000683, 100, 1, 1), + (8145005, 4021035, 100, 1, 1), + (8145005, 4033234, 100, 1, 1), + (8145005, 4021034, 100, 1, 1), + (8145005, 4021032, 100, 1, 1), + (8145005, 4021033, 100, 1, 1), + (8145005, 4021031, 100, 1, 1), + (8145006, 4000684, 100, 1, 1), + (8145006, 4021032, 100, 1, 1), + (8145006, 4021034, 100, 1, 1), + (8145006, 4021035, 100, 1, 1), + (8145006, 4033234, 100, 1, 1), + (8145006, 4021031, 100, 1, 1), + (8145006, 4021033, 100, 1, 1), + (8145007, 4021033, 100, 1, 1), + (8145007, 4021035, 100, 1, 1), + (8145007, 4000685, 100, 1, 1), + (8145007, 2001528, 100, 1, 1), + (8145007, 4021032, 100, 1, 1), + (8145007, 4021034, 100, 1, 1), + (8145007, 4021031, 100, 1, 1), + (8145007, 2000037, 100, 1, 1), + (8145000, 4021034, 100, 1, 1), + (8145000, 4021033, 100, 1, 1), + (8145000, 2001528, 100, 1, 1), + (8145000, 4021035, 100, 1, 1), + (8145000, 2000037, 100, 1, 1), + (8145000, 4000679, 100, 1, 1), + (8145000, 4021032, 100, 1, 1), + (8145000, 4021031, 100, 1, 1), + (9300121, 4001117, 1000, 1, 1), + (8145001, 2001528, 100, 1, 1), + (8145001, 4000680, 100, 1, 1), + (8145001, 2000037, 100, 1, 1), + (8145001, 4021033, 100, 1, 1), + (8145001, 4021031, 100, 1, 1), + (8145001, 4021035, 100, 1, 1), + (8145001, 4021032, 100, 1, 1), + (8145001, 4021034, 100, 1, 1), + (9300120, 4001117, 1000, 1, 1), + (8145002, 4021035, 100, 1, 1), + (8145002, 4021033, 100, 1, 1), + (8145002, 2001528, 100, 1, 1), + (8145002, 4021031, 100, 1, 1), + (8145002, 4021034, 100, 1, 1), + (8145002, 4021032, 100, 1, 1), + (8145002, 2000037, 100, 1, 1), + (8145003, 4033234, 100, 1, 1), + (8145003, 4000681, 100, 1, 1), + (8145003, 4021033, 100, 1, 1), + (8145003, 4021032, 100, 1, 1), + (8145003, 4021031, 100, 1, 1), + (8145003, 4021034, 100, 1, 1), + (8145003, 4021035, 100, 1, 1), + (8800401, 2001554, 100, 1, 1), + (8800401, 2590004, 100, 1, 1), + (8800401, 4033783, 100, 1, 1), + (8800401, 4021035, 100, 1, 1), + (8800401, 4021032, 100, 1, 1), + (8800401, 2434021, 100, 1, 1), + (8800401, 2000036, 100, 1, 1), + (8800401, 4021034, 100, 1, 1), + (8800401, 4000887, 100, 1, 1), + (8800401, 4021033, 100, 1, 1), + (8800401, 4021020, 100, 1, 1), + (8800401, 4021031, 100, 1, 1), + (9300122, 4001117, 1000, 1, 1), + (9300116, 4001121, 1000, 1, 1), + (9300116, 4001122, 1000, 1, 1), + (9300116, 4001120, 1000, 1, 1), + (9300115, 4001122, 1000, 1, 1), + (9300115, 4001120, 1000, 1, 1), + (9300115, 4001121, 1000, 1, 1), + (9300114, 4001121, 1000, 1, 1), + (9300114, 4001120, 1000, 1, 1), + (9300114, 4001122, 1000, 1, 1), + (1150001, 2870017, 100, 1, 1), + (1150001, 2040900, 100, 1, 1), + (1150001, 2060000, 100, 1, 1), + (1150001, 2000001, 100, 1, 1), + (1150001, 2061000, 100, 1, 1), + (1150001, 2040003, 100, 1, 1), + (1150001, 2000003, 100, 1, 1), + (1150001, 2000000, 100, 1, 1), + (1150001, 2000002, 100, 1, 1), + (1150001, 4000599, 100, 1, 1), + (1150001, 2040000, 100, 1, 1), + (4220000, 4000166, 100, 1, 1), + (4220000, 4000167, 100, 1, 1), + (4220000, 4032474, 100, 1, 1), + (1150000, 2040901, 100, 1, 1), + (1150000, 2040614, 100, 1, 1), + (1150000, 2870016, 100, 1, 1), + (1150000, 2000000, 100, 1, 1), + (1150000, 2000003, 100, 1, 1), + (1150000, 2000002, 100, 1, 1), + (1150000, 2060000, 100, 1, 1), + (1150000, 2061000, 100, 1, 1), + (1150000, 4000598, 100, 1, 1), + (1150000, 2000001, 100, 1, 1), + (1150000, 2048000, 100, 1, 1), + (4220001, 4000166, 100, 1, 1), + (4220001, 4032474, 100, 1, 1), + (4220001, 4000167, 100, 1, 1), + (1150002, 2043000, 100, 1, 1), + (1150002, 2040515, 100, 1, 1), + (1150002, 2870018, 100, 1, 1), + (1150002, 2000002, 100, 1, 1), + (1150002, 2000003, 100, 1, 1), + (1150002, 2000001, 100, 1, 1), + (1150002, 2000000, 100, 1, 1), + (1150002, 2044400, 100, 1, 1), + (1150002, 2061000, 100, 1, 1), + (1150002, 4000600, 100, 1, 1), + (1150002, 2060000, 100, 1, 1), + (8150100, 2590004, 100, 1, 1), + (8150100, 4031252, 100, 1, 1), + (8150100, 2001528, 100, 1, 1), + (8150100, 4021034, 100, 1, 1), + (8150100, 4031255, 100, 1, 1), + (8150100, 2870336, 100, 1, 1), + (8150100, 2000037, 100, 1, 1), + (8150100, 4021031, 100, 1, 1), + (8150100, 4021033, 100, 1, 1), + (8150100, 4021032, 100, 1, 1), + (8150100, 2434021, 100, 1, 1), + (8150100, 4000180, 100, 1, 1), + (8150100, 4021035, 100, 1, 1), + (8150101, 2590004, 100, 1, 1), + (8150101, 2870337, 100, 1, 1), + (8150101, 2001528, 100, 1, 1), + (8150101, 4021032, 100, 1, 1), + (8150101, 4021033, 100, 1, 1), + (8150101, 4021031, 100, 1, 1), + (8150101, 4021034, 100, 1, 1), + (8150101, 4000181, 100, 1, 1), + (8150101, 2000037, 100, 1, 1), + (8150101, 4021035, 100, 1, 1), + (8150101, 4031252, 100, 1, 1), + (8150101, 4031255, 100, 1, 1), + (8150101, 2434021, 100, 1, 1), + (5120100, 4021033, 100, 1, 1), + (5120100, 4021031, 100, 1, 1), + (5120100, 2434021, 100, 1, 1), + (5120100, 4021020, 100, 1, 1), + (5120100, 2590004, 100, 1, 1), + (5120100, 4021035, 100, 1, 1), + (5120100, 4021034, 100, 1, 1), + (5120100, 4021032, 100, 1, 1), + (5120100, 2001554, 100, 1, 1), + (5120100, 2870195, 100, 1, 1), + (5120100, 2000036, 100, 1, 1), + (9000100, 4031013, 9000, 1, 1), + (2700312, 2870226, 100, 1, 1), + (130101, 2022053, 100, 1, 1), + (130101, 2000003, 100, 1, 1), + (130101, 2000000, 100, 1, 1), + (130101, 2870004, 100, 1, 1), + (130101, 2870004, 100, 1, 1), + (130101, 4010004, 100, 1, 1), + (130101, 2010009, 100, 1, 1), + (130101, 4000016, 100, 1, 1), + (130101, 2022054, 100, 1, 1), + (130101, 2022055, 100, 1, 1), + (130101, 2061000, 100, 1, 1), + (130101, 2060000, 100, 1, 1), + (130101, 4020004, 100, 1, 1), + (7130200, 4000053, 100, 1, 1), + (7130200, 4021032, 100, 1, 1), + (7130200, 2049401, 100, 1, 1), + (7130200, 2060000, 100, 1, 1), + (7130200, 2001528, 100, 1, 1), + (7130200, 2041058, 100, 1, 1), + (7130200, 4021035, 100, 1, 1), + (7130200, 2870284, 100, 1, 1), + (7130200, 4021031, 100, 1, 1), + (7130200, 2001527, 100, 1, 1), + (7130200, 4021033, 100, 1, 1), + (7130200, 2430692, 100, 1, 1), + (7130200, 4006000, 100, 1, 1), + (7130200, 2330005, 100, 1, 1), + (7130200, 2590004, 100, 1, 1), + (7130200, 2001001, 100, 1, 1), + (7130200, 4021034, 100, 1, 1), + (7130200, 2434021, 100, 1, 1), + (130100, 2000000, 100, 1, 1), + (130100, 2000003, 100, 1, 1), + (130100, 4000003, 100, 1, 1), + (130100, 2870003, 100, 1, 1), + (130100, 2010009, 100, 1, 1), + (8910000, 4310064, 100, 1, 1), + (8910000, 4310065, 100, 1, 1), + (8910000, 4310029, 100, 1, 1), + (8910000, 2000005, 100, 1, 1), + (8910000, 4009096, 100, 1, 1), + (8910000, 3010512, 100, 1, 1), + (8910000, 2433103, 100, 1, 1), + (8910000, 2433515, 100, 1, 1), + (8147014, 4030017, 100, 1, 1), + (8147014, 4033784, 100, 1, 1), + (8147008, 4021020, 100, 1, 1), + (8147008, 4021034, 100, 1, 1), + (8147008, 2001554, 100, 1, 1), + (8147008, 4000891, 100, 1, 1), + (8147008, 4021033, 100, 1, 1), + (8147008, 2434021, 100, 1, 1), + (8147008, 2590004, 100, 1, 1), + (8147008, 2000036, 100, 1, 1), + (8147008, 4021032, 100, 1, 1), + (8147008, 4021031, 100, 1, 1), + (8147008, 4021035, 100, 1, 1), + (8147009, 4021035, 100, 1, 1), + (8147009, 4021033, 100, 1, 1), + (8147009, 4021020, 100, 1, 1), + (8147009, 4021034, 100, 1, 1), + (8147009, 2434021, 100, 1, 1), + (8147009, 4000892, 100, 1, 1), + (8147009, 2000036, 100, 1, 1), + (8147009, 4021032, 100, 1, 1), + (8147009, 4021031, 100, 1, 1), + (8147009, 2001554, 100, 1, 1), + (8147009, 2590004, 100, 1, 1), + (2700311, 2870089, 100, 1, 1), + (2700311, 4000026, 100, 1, 1), + (2700311, 4000029, 100, 1, 1), + (8147010, 4000891, 100, 1, 1), + (8147010, 4021035, 100, 1, 1), + (8147010, 4021032, 100, 1, 1), + (8147010, 2000036, 100, 1, 1), + (8147010, 4021020, 100, 1, 1), + (8147010, 2434021, 100, 1, 1), + (8147010, 4021034, 100, 1, 1), + (8147010, 4021033, 100, 1, 1), + (8147010, 4021031, 100, 1, 1), + (8147010, 2001554, 100, 1, 1), + (8147010, 2590004, 100, 1, 1), + (2700310, 4009221, 100, 1, 1), + (8147011, 4021020, 100, 1, 1), + (8147011, 2000036, 100, 1, 1), + (8147011, 4021031, 100, 1, 1), + (8147011, 4021034, 100, 1, 1), + (8147011, 4021033, 100, 1, 1), + (8147011, 4021032, 100, 1, 1), + (8147011, 2001554, 100, 1, 1), + (8147011, 4000894, 100, 1, 1), + (8147011, 4021035, 100, 1, 1), + (8147011, 2434021, 100, 1, 1), + (8147011, 2590004, 100, 1, 1), + (8147004, 2590004, 100, 1, 1), + (8147004, 4000883, 100, 1, 1), + (8147004, 2000036, 100, 1, 1), + (8147004, 4021032, 100, 1, 1), + (8147004, 4021031, 100, 1, 1), + (8147004, 2001554, 100, 1, 1), + (8147004, 4021035, 100, 1, 1), + (8147004, 4021034, 100, 1, 1), + (8147004, 2434021, 100, 1, 1), + (8147004, 4033781, 100, 1, 1), + (8147004, 4021020, 100, 1, 1), + (8147004, 4021033, 100, 1, 1), + (8147005, 4021035, 100, 1, 1), + (8147005, 2590004, 100, 1, 1), + (8147005, 4021033, 100, 1, 1), + (8147005, 4000885, 100, 1, 1), + (8147005, 4021020, 100, 1, 1), + (8147005, 4021032, 100, 1, 1), + (8147005, 4033782, 100, 1, 1), + (8147005, 2001554, 100, 1, 1), + (8147005, 2000036, 100, 1, 1), + (8147005, 2434021, 100, 1, 1), + (8147005, 4021034, 100, 1, 1), + (8147005, 4021031, 100, 1, 1), + (8147006, 4021031, 100, 1, 1), + (8147006, 2000036, 100, 1, 1), + (8147006, 2434021, 100, 1, 1), + (8147006, 4033783, 100, 1, 1), + (8147006, 4000887, 100, 1, 1), + (8147006, 2001554, 100, 1, 1), + (8147006, 4021033, 100, 1, 1), + (8147006, 4021035, 100, 1, 1), + (8147006, 4021032, 100, 1, 1), + (8147006, 4021034, 100, 1, 1), + (8147006, 2590004, 100, 1, 1), + (8147006, 4021020, 100, 1, 1), + (8147007, 4021034, 100, 1, 1), + (8147007, 4021031, 100, 1, 1), + (8147007, 2001554, 100, 1, 1), + (8147007, 4021020, 100, 1, 1), + (8147007, 2590004, 100, 1, 1), + (8147007, 2434021, 100, 1, 1), + (8147007, 4021035, 100, 1, 1), + (8147007, 4021032, 100, 1, 1), + (8147007, 2000036, 100, 1, 1), + (8147007, 4021033, 100, 1, 1), + (8147007, 4030017, 100, 1, 1), + (8147007, 4033784, 100, 1, 1), + (8147007, 4000889, 100, 1, 1), + (1110100, 2022055, 100, 1, 1), + (1110100, 2022054, 100, 1, 1), + (1110100, 2060000, 100, 1, 1), + (1110100, 2870009, 100, 1, 1), + (1110100, 2043102, 100, 1, 1), + (1110100, 4000012, 100, 1, 1), + (1110100, 4010004, 100, 1, 1), + (1110100, 2000000, 100, 1, 1), + (1110100, 4020003, 100, 1, 1), + (1110100, 4020002, 100, 1, 1), + (1110100, 2022053, 100, 1, 1), + (1110100, 2000003, 100, 1, 1), + (8147000, 4021032, 100, 1, 1), + (8147000, 4021033, 100, 1, 1), + (8147000, 2000036, 100, 1, 1), + (8147000, 4021034, 100, 1, 1), + (8147000, 4021035, 100, 1, 1), + (8147000, 2434021, 100, 1, 1), + (8147000, 4021020, 100, 1, 1), + (8147000, 4000878, 100, 1, 1), + (8147000, 2590004, 100, 1, 1), + (8147000, 4021031, 100, 1, 1), + (8147000, 2001554, 100, 1, 1), + (1110101, 4010001, 100, 1, 1), + (1110101, 2040802, 100, 1, 1), + (1110101, 2061000, 100, 1, 1), + (1110101, 4020000, 100, 1, 1), + (1110101, 2000000, 100, 1, 1), + (1110101, 2022054, 100, 1, 1), + (1110101, 2022053, 100, 1, 1), + (1110101, 4000005, 100, 1, 1), + (1110101, 2022055, 100, 1, 1), + (1110101, 2870010, 100, 1, 1), + (8147001, 4021032, 100, 1, 1), + (8147001, 4021034, 100, 1, 1), + (8147001, 2434021, 100, 1, 1), + (8147001, 4021031, 100, 1, 1), + (8147001, 4000879, 100, 1, 1), + (8147001, 2001554, 100, 1, 1), + (8147001, 2000036, 100, 1, 1), + (8147001, 4021033, 100, 1, 1), + (8147001, 2590004, 100, 1, 1), + (8147001, 4021035, 100, 1, 1), + (8147001, 4021020, 100, 1, 1), + (8147002, 2001554, 100, 1, 1), + (8147002, 2434021, 100, 1, 1), + (8147002, 2000036, 100, 1, 1), + (8147002, 4000880, 100, 1, 1), + (8147002, 4021020, 100, 1, 1), + (8147002, 4021035, 100, 1, 1), + (8147002, 2590004, 100, 1, 1), + (8147002, 4021032, 100, 1, 1), + (8147002, 4021031, 100, 1, 1), + (8147002, 4021034, 100, 1, 1), + (8147002, 4021033, 100, 1, 1), + (8147003, 4021020, 100, 1, 1), + (8147003, 2590004, 100, 1, 1), + (8147003, 4021035, 100, 1, 1), + (8147003, 4021034, 100, 1, 1), + (8147003, 4021031, 100, 1, 1), + (8147003, 2000036, 100, 1, 1), + (8147003, 4000881, 100, 1, 1), + (8147003, 4033780, 100, 1, 1), + (8147003, 4021032, 100, 1, 1), + (8147003, 2001554, 100, 1, 1), + (8147003, 2434021, 100, 1, 1), + (8147003, 4021033, 100, 1, 1), + (8240181, 4021031, 100, 1, 1), + (8240181, 4021035, 100, 1, 1), + (8240181, 4021032, 100, 1, 1), + (8240181, 2001554, 100, 1, 1), + (8240181, 4021034, 100, 1, 1), + (8240181, 2434021, 100, 1, 1), + (8240181, 4021020, 100, 1, 1), + (8240181, 2590004, 100, 1, 1), + (8240181, 2000036, 100, 1, 1), + (8240181, 4021033, 100, 1, 1), + (8240181, 4001868, 100, 1, 1), + (8240180, 4021035, 100, 1, 1), + (8240180, 4021020, 100, 1, 1), + (8240180, 2434021, 100, 1, 1), + (8240180, 2590004, 100, 1, 1), + (8240180, 4021033, 100, 1, 1), + (8240180, 4001868, 100, 1, 1), + (8240180, 4021032, 100, 1, 1), + (8240180, 2001554, 100, 1, 1), + (8240180, 4021034, 100, 1, 1), + (8240180, 4021031, 100, 1, 1), + (8240180, 2000036, 100, 1, 1), + (5120002, 4021032, 100, 1, 1), + (5120002, 4021034, 100, 1, 1), + (5120002, 4021035, 100, 1, 1), + (5120002, 4021033, 100, 1, 1), + (5120002, 4033145, 100, 1, 1), + (5120002, 2001002, 100, 1, 1), + (5120002, 2590004, 100, 1, 1), + (5120002, 2001001, 100, 1, 1), + (5120002, 2430692, 100, 1, 1), + (5120002, 4000071, 100, 1, 1), + (5120002, 2431174, 100, 1, 1), + (5120002, 2870193, 100, 1, 1), + (5120003, 4021033, 100, 1, 1), + (5120003, 4000072, 100, 1, 1), + (5120003, 4033145, 100, 1, 1), + (5120003, 4021034, 100, 1, 1), + (5120003, 2001001, 100, 1, 1), + (5120003, 2590004, 100, 1, 1), + (5120003, 2001002, 100, 1, 1), + (5120003, 2430692, 100, 1, 1), + (5120003, 2431174, 100, 1, 1), + (5120003, 4021032, 100, 1, 1), + (5120003, 2870194, 100, 1, 1), + (5120003, 4021035, 100, 1, 1), + (5120000, 2431174, 100, 1, 1), + (5120000, 2001002, 100, 1, 1), + (5120000, 4021034, 100, 1, 1), + (5120000, 4021035, 100, 1, 1), + (5120000, 2001001, 100, 1, 1), + (5120000, 2870191, 100, 1, 1), + (5120000, 2590004, 100, 1, 1), + (5120000, 4021032, 100, 1, 1), + (5120000, 4031309, 100, 1, 1), + (5120000, 2430692, 100, 1, 1), + (5120000, 4000061, 100, 1, 1), + (5120000, 4021033, 100, 1, 1), + (5120001, 4000070, 100, 1, 1), + (5120001, 2001001, 100, 1, 1), + (5120001, 2431174, 100, 1, 1), + (5120001, 2590004, 100, 1, 1), + (5120001, 4021034, 100, 1, 1), + (5120001, 4021035, 100, 1, 1), + (5120001, 4033145, 100, 1, 1), + (5120001, 4021033, 100, 1, 1), + (5120001, 2870192, 100, 1, 1), + (5120001, 2001002, 100, 1, 1), + (5120001, 2430692, 100, 1, 1), + (5120001, 4021032, 100, 1, 1), + (8148012, 4000905, 100, 1, 1), + (8610003, 2512137, 100, 1, 1), + (8610003, 4021031, 100, 1, 1), + (8610003, 2001554, 100, 1, 1), + (8610003, 4021033, 100, 1, 1), + (8610003, 2430692, 100, 1, 1), + (8610003, 2512285, 100, 1, 1), + (8610003, 2512266, 100, 1, 1), + (8610003, 2512099, 100, 1, 1), + (8610003, 2512128, 100, 1, 1), + (8610003, 2512154, 100, 1, 1), + (8610003, 2512287, 100, 1, 1), + (8610003, 4000663, 100, 1, 1), + (8610003, 2512175, 100, 1, 1), + (8610003, 4021020, 100, 1, 1), + (8610003, 2049401, 100, 1, 1), + (8610003, 4021032, 100, 1, 1), + (8610003, 2512271, 100, 1, 1), + (8610003, 4034983, 100, 1, 1), + (8610003, 2512270, 100, 1, 1), + (8610003, 4021034, 100, 1, 1), + (8610003, 2070004, 100, 1, 1), + (8610003, 2590004, 100, 1, 1), + (8610003, 2512283, 100, 1, 1), + (8610003, 4021035, 100, 1, 1), + (8610003, 2000036, 100, 1, 1), + (8610003, 2434021, 100, 1, 1), + (8870103, 4021033, 100, 1, 1), + (8870103, 4021032, 100, 1, 1), + (8870103, 4021035, 100, 1, 1), + (8870103, 4021031, 100, 1, 1), + (8870103, 4021034, 100, 1, 1), + (8610002, 4021031, 100, 1, 1), + (8610002, 2512175, 100, 1, 1), + (8610002, 2049401, 100, 1, 1), + (8610002, 2512271, 100, 1, 1), + (8610002, 4021034, 100, 1, 1), + (8610002, 4034983, 100, 1, 1), + (8610002, 4021033, 100, 1, 1), + (8610002, 2512099, 100, 1, 1), + (8610002, 2001554, 100, 1, 1), + (8610002, 2434021, 100, 1, 1), + (8610002, 2512287, 100, 1, 1), + (8610002, 2048004, 100, 1, 1), + (8610002, 2000036, 100, 1, 1), + (8610002, 2512266, 100, 1, 1), + (8610002, 4021035, 100, 1, 1), + (8610002, 2590004, 100, 1, 1), + (8610002, 2512137, 100, 1, 1), + (8610002, 2512283, 100, 1, 1), + (8610002, 2048001, 100, 1, 1), + (8610002, 4000662, 100, 1, 1), + (8610002, 4021020, 100, 1, 1), + (8610002, 4021032, 100, 1, 1), + (8610002, 2512128, 100, 1, 1), + (8610002, 2512154, 100, 1, 1), + (8610002, 2070003, 100, 1, 1), + (8610002, 2512285, 100, 1, 1), + (8610002, 2512270, 100, 1, 1), + (8870102, 4021031, 100, 1, 1), + (8870102, 4021032, 100, 1, 1), + (8870102, 4021035, 100, 1, 1), + (8870102, 4021033, 100, 1, 1), + (8870102, 4021034, 100, 1, 1), + (8610001, 2512154, 100, 1, 1), + (8610001, 2434021, 100, 1, 1), + (8610001, 2049401, 100, 1, 1), + (8610001, 2001554, 100, 1, 1), + (8610001, 2512128, 100, 1, 1), + (8610001, 2048005, 100, 1, 1), + (8610001, 2512270, 100, 1, 1), + (8610001, 2070005, 100, 1, 1), + (8610001, 2512285, 100, 1, 1), + (8610001, 4034983, 100, 1, 1), + (8610001, 2512137, 100, 1, 1), + (8610001, 2590004, 100, 1, 1), + (8610001, 4000661, 100, 1, 1), + (8610001, 2512175, 100, 1, 1), + (8610001, 2512271, 100, 1, 1), + (8610001, 2512099, 100, 1, 1), + (8610001, 2000036, 100, 1, 1), + (8610001, 2512266, 100, 1, 1), + (8610001, 4021032, 100, 1, 1), + (8610001, 4021031, 100, 1, 1), + (8610001, 2330005, 100, 1, 1), + (8610001, 4021033, 100, 1, 1), + (8610001, 2430692, 100, 1, 1), + (8610001, 2512283, 100, 1, 1), + (8610001, 4021020, 100, 1, 1), + (8610001, 4021034, 100, 1, 1), + (8610001, 4021035, 100, 1, 1), + (8610001, 2512287, 100, 1, 1), + (8870101, 4021032, 100, 1, 1), + (8870101, 4021034, 100, 1, 1), + (8870101, 4021035, 100, 1, 1), + (8870101, 4021033, 100, 1, 1), + (8870101, 4021031, 100, 1, 1), + (8610000, 2512137, 100, 1, 1), + (8610000, 2430692, 100, 1, 1), + (8610000, 2510255, 100, 1, 1), + (8610000, 2512285, 100, 1, 1), + (8610000, 4021034, 100, 1, 1), + (8610000, 2512175, 100, 1, 1), + (8610000, 2510258, 100, 1, 1), + (8610000, 4034983, 100, 1, 1), + (8610000, 4021020, 100, 1, 1), + (8610000, 2512266, 100, 1, 1), + (8610000, 2512283, 100, 1, 1), + (8610000, 2510256, 100, 1, 1), + (8610000, 2510259, 100, 1, 1), + (8610000, 2330004, 100, 1, 1), + (8610000, 2512099, 100, 1, 1), + (8610000, 2512154, 100, 1, 1), + (8610000, 2000036, 100, 1, 1), + (8610000, 2590004, 100, 1, 1), + (8610000, 2512270, 100, 1, 1), + (8610000, 2512128, 100, 1, 1), + (8610000, 2434021, 100, 1, 1), + (8610000, 4021032, 100, 1, 1), + (8610000, 4021033, 100, 1, 1), + (8610000, 2512287, 100, 1, 1), + (8610000, 2510257, 100, 1, 1), + (8610000, 4000660, 100, 1, 1), + (8610000, 4021031, 100, 1, 1), + (8610000, 2001554, 100, 1, 1), + (8610000, 2512271, 100, 1, 1), + (8610000, 4021035, 100, 1, 1), + (8148008, 4000901, 100, 1, 1), + (8148008, 2000036, 100, 1, 1), + (8148008, 4021033, 100, 1, 1), + (8148008, 4021034, 100, 1, 1), + (8148008, 2434021, 100, 1, 1), + (8148008, 4021032, 100, 1, 1), + (8148008, 2590004, 100, 1, 1), + (8148008, 2001554, 100, 1, 1), + (8148008, 4021031, 100, 1, 1), + (8148008, 4021035, 100, 1, 1), + (8610007, 4021031, 100, 1, 1), + (8610007, 4021032, 100, 1, 1), + (8610007, 2870466, 100, 1, 1), + (8610007, 4021034, 100, 1, 1), + (8610007, 2590004, 100, 1, 1), + (8610007, 2001554, 100, 1, 1), + (8610007, 4021033, 100, 1, 1), + (8610007, 4032926, 100, 1, 1), + (8610007, 4000651, 100, 1, 1), + (8610007, 2000036, 100, 1, 1), + (8610007, 2070004, 100, 1, 1), + (8610007, 2434021, 100, 1, 1), + (8610007, 4034983, 100, 1, 1), + (8610007, 4021035, 100, 1, 1), + (8610007, 4021020, 100, 1, 1), + (8148009, 4021034, 100, 1, 1), + (8148009, 2001554, 100, 1, 1), + (8148009, 4021031, 100, 1, 1), + (8148009, 2000036, 100, 1, 1), + (8148009, 4021035, 100, 1, 1), + (8148009, 2590004, 100, 1, 1), + (8148009, 2434021, 100, 1, 1), + (8148009, 4021033, 100, 1, 1), + (8148009, 4000902, 100, 1, 1), + (8148009, 4021032, 100, 1, 1), + (8610006, 4021033, 100, 1, 1), + (8610006, 4032941, 100, 1, 1), + (8610006, 4034983, 100, 1, 1), + (8610006, 2049401, 100, 1, 1), + (8610006, 2434021, 100, 1, 1), + (8610006, 2512271, 100, 1, 1), + (8610006, 4021035, 100, 1, 1), + (8610006, 4021032, 100, 1, 1), + (8610006, 2070009, 100, 1, 1), + (8610006, 2512287, 100, 1, 1), + (8610006, 2870465, 100, 1, 1), + (8610006, 2512128, 100, 1, 1), + (8610006, 4000650, 100, 1, 1), + (8610006, 4021020, 100, 1, 1), + (8610006, 2001554, 100, 1, 1), + (8610006, 2512175, 100, 1, 1), + (8610006, 2512154, 100, 1, 1), + (8610006, 2430692, 100, 1, 1), + (8610006, 2512099, 100, 1, 1), + (8610006, 2512270, 100, 1, 1), + (8610006, 2512285, 100, 1, 1), + (8610006, 2000036, 100, 1, 1), + (8610006, 2512266, 100, 1, 1), + (8610006, 4021031, 100, 1, 1), + (8610006, 2512283, 100, 1, 1), + (8610006, 2590004, 100, 1, 1), + (8610006, 2512137, 100, 1, 1), + (8610006, 4021034, 100, 1, 1), + (8148010, 4021035, 100, 1, 1), + (8148010, 4021031, 100, 1, 1), + (8148010, 4021034, 100, 1, 1), + (8148010, 2001554, 100, 1, 1), + (8148010, 2000036, 100, 1, 1), + (8148010, 2590004, 100, 1, 1), + (8148010, 4021033, 100, 1, 1), + (8148010, 2434021, 100, 1, 1), + (8148010, 4000903, 100, 1, 1), + (8148010, 4021032, 100, 1, 1), + (8610005, 2434021, 100, 1, 1), + (8610005, 4021035, 100, 1, 1), + (8610005, 2512099, 100, 1, 1), + (8610005, 2512154, 100, 1, 1), + (8610005, 4034983, 100, 1, 1), + (8610005, 2000036, 100, 1, 1), + (8610005, 2512128, 100, 1, 1), + (8610005, 2870464, 100, 1, 1), + (8610005, 2512266, 100, 1, 1), + (8610005, 4021020, 100, 1, 1), + (8610005, 2512175, 100, 1, 1), + (8610005, 2512285, 100, 1, 1), + (8610005, 2512271, 100, 1, 1), + (8610005, 4021034, 100, 1, 1), + (8610005, 2590004, 100, 1, 1), + (8610005, 4021033, 100, 1, 1), + (8610005, 2512137, 100, 1, 1), + (8610005, 2512287, 100, 1, 1), + (8610005, 2430692, 100, 1, 1), + (8610005, 4000649, 100, 1, 1), + (8610005, 2001554, 100, 1, 1), + (8610005, 4021031, 100, 1, 1), + (8610005, 2049401, 100, 1, 1), + (8610005, 2070007, 100, 1, 1), + (8610005, 2330002, 100, 1, 1), + (8610005, 4021032, 100, 1, 1), + (8610005, 2330003, 100, 1, 1), + (8610005, 2512270, 100, 1, 1), + (8610005, 2048003, 100, 1, 1), + (8610005, 2512283, 100, 1, 1), + (8148011, 4021034, 100, 1, 1), + (8148011, 4021035, 100, 1, 1), + (8148011, 2434021, 100, 1, 1), + (8148011, 4021032, 100, 1, 1), + (8148011, 4021033, 100, 1, 1), + (8148011, 4000904, 100, 1, 1), + (8148011, 2590004, 100, 1, 1), + (8148011, 4021031, 100, 1, 1), + (8148011, 2000036, 100, 1, 1), + (8148011, 2001554, 100, 1, 1), + (8610004, 2512285, 100, 1, 1), + (8610004, 2048003, 100, 1, 1), + (8610004, 4034983, 100, 1, 1), + (8610004, 2510169, 100, 1, 1), + (8610004, 2000036, 100, 1, 1), + (8610004, 2512271, 100, 1, 1), + (8610004, 2512128, 100, 1, 1), + (8610004, 2512283, 100, 1, 1), + (8610004, 4021020, 100, 1, 1), + (8610004, 4021032, 100, 1, 1), + (8610004, 2590004, 100, 1, 1), + (8610004, 2430692, 100, 1, 1), + (8610004, 2512137, 100, 1, 1), + (8610004, 2430200, 100, 1, 1), + (8610004, 4021035, 100, 1, 1), + (8610004, 2049401, 100, 1, 1), + (8610004, 2512154, 100, 1, 1), + (8610004, 4021033, 100, 1, 1), + (8610004, 2512287, 100, 1, 1), + (8610004, 2001554, 100, 1, 1), + (8610004, 2512270, 100, 1, 1), + (8610004, 2512175, 100, 1, 1), + (8610004, 2512266, 100, 1, 1), + (8610004, 2512099, 100, 1, 1), + (8610004, 4021031, 100, 1, 1), + (8610004, 4021034, 100, 1, 1), + (8610004, 2434021, 100, 1, 1), + (8610011, 4021020, 100, 1, 1), + (8610011, 4021035, 100, 1, 1), + (8610011, 2590004, 100, 1, 1), + (8610011, 4021034, 100, 1, 1), + (8610011, 4021032, 100, 1, 1), + (8610011, 4021031, 100, 1, 1), + (8610011, 2434021, 100, 1, 1), + (8610011, 4000655, 100, 1, 1), + (8610011, 2001554, 100, 1, 1), + (8610011, 4034983, 100, 1, 1), + (8610011, 2000036, 100, 1, 1), + (8610011, 4021033, 100, 1, 1), + (8610011, 2870470, 100, 1, 1), + (8148005, 4021032, 100, 1, 1), + (8148005, 4000898, 100, 1, 1), + (8148005, 4021033, 100, 1, 1), + (8148005, 2000037, 100, 1, 1), + (8148005, 4021031, 100, 1, 1), + (8148005, 4021035, 100, 1, 1), + (8148005, 2431174, 100, 1, 1), + (8148005, 2000036, 100, 1, 1), + (8148005, 4021034, 100, 1, 1), + (8148005, 2590004, 100, 1, 1), + (8610010, 4021020, 100, 1, 1), + (8610010, 2870469, 100, 1, 1), + (8610010, 4034983, 100, 1, 1), + (8610010, 4021034, 100, 1, 1), + (8610010, 2000036, 100, 1, 1), + (8610010, 2590004, 100, 1, 1), + (8610010, 2434021, 100, 1, 1), + (8610010, 4021033, 100, 1, 1), + (8610010, 4021031, 100, 1, 1), + (8610010, 4000654, 100, 1, 1), + (8610010, 4021035, 100, 1, 1), + (8610010, 2001554, 100, 1, 1), + (8610010, 4021032, 100, 1, 1), + (8148006, 4021033, 100, 1, 1), + (8148006, 4021035, 100, 1, 1), + (8148006, 4032010, 100, 1, 1), + (8148006, 4021031, 100, 1, 1), + (8148006, 4021034, 100, 1, 1), + (8148006, 4021032, 100, 1, 1), + (8148006, 4032011, 100, 1, 1), + (8610009, 2590004, 100, 1, 1), + (8610009, 4021034, 100, 1, 1), + (8610009, 4021032, 100, 1, 1), + (8610009, 2070005, 100, 1, 1), + (8610009, 2000036, 100, 1, 1), + (8610009, 2434021, 100, 1, 1), + (8610009, 4034983, 100, 1, 1), + (8610009, 2870468, 100, 1, 1), + (8610009, 4021031, 100, 1, 1), + (8610009, 4021033, 100, 1, 1), + (8610009, 4021035, 100, 1, 1), + (8610009, 4000653, 100, 1, 1), + (8610009, 4021020, 100, 1, 1), + (8610009, 2001554, 100, 1, 1), + (8148007, 4021032, 100, 1, 1), + (8148007, 2000036, 100, 1, 1), + (8148007, 2001554, 100, 1, 1), + (8148007, 4021035, 100, 1, 1), + (8148007, 4021033, 100, 1, 1), + (8148007, 4021031, 100, 1, 1), + (8148007, 2434021, 100, 1, 1), + (8148007, 2590004, 100, 1, 1), + (8148007, 4000900, 100, 1, 1), + (8148007, 4021034, 100, 1, 1), + (8610008, 2000036, 100, 1, 1), + (8610008, 4021031, 100, 1, 1), + (8610008, 4021032, 100, 1, 1), + (8610008, 4021034, 100, 1, 1), + (8610008, 2434021, 100, 1, 1), + (8610008, 4021020, 100, 1, 1), + (8610008, 2001554, 100, 1, 1), + (8610008, 2870467, 100, 1, 1), + (8610008, 2590004, 100, 1, 1), + (8610008, 4000652, 100, 1, 1), + (8610008, 4034983, 100, 1, 1), + (8610008, 4021035, 100, 1, 1), + (8610008, 4021033, 100, 1, 1), + (8148000, 4021031, 100, 1, 1), + (8148000, 4021034, 100, 1, 1), + (8148000, 4021032, 100, 1, 1), + (8148000, 4000895, 100, 1, 1), + (8148000, 4021035, 100, 1, 1), + (8148000, 4021033, 100, 1, 1), + (8148001, 4021035, 100, 1, 1), + (8148001, 2431174, 100, 1, 1), + (8148001, 2000037, 100, 1, 1), + (8148001, 4021034, 100, 1, 1), + (8148001, 2590004, 100, 1, 1), + (8148001, 4000896, 100, 1, 1), + (8148001, 2000036, 100, 1, 1), + (8148001, 4021031, 100, 1, 1), + (8148001, 4021033, 100, 1, 1), + (8148001, 4021032, 100, 1, 1), + (8610014, 4021020, 100, 1, 1), + (8610014, 4021034, 100, 1, 1), + (8610014, 2000036, 100, 1, 1), + (8610014, 4021033, 100, 1, 1), + (8610014, 4032927, 100, 1, 1), + (8610014, 2434021, 100, 1, 1), + (8610014, 4000658, 100, 1, 1), + (8610014, 2870473, 100, 1, 1), + (8610014, 4034983, 100, 1, 1), + (8610014, 4021031, 100, 1, 1), + (8610014, 4021035, 100, 1, 1), + (8610014, 4021032, 100, 1, 1), + (8610014, 2001554, 100, 1, 1), + (8610014, 2590004, 100, 1, 1), + (8610013, 2434021, 100, 1, 1), + (8610013, 4032928, 100, 1, 1), + (8610013, 4021031, 100, 1, 1), + (8610013, 2590004, 100, 1, 1), + (8610013, 4021020, 100, 1, 1), + (8610013, 4034983, 100, 1, 1), + (8610013, 4000657, 100, 1, 1), + (8610013, 2000036, 100, 1, 1), + (8610013, 4021035, 100, 1, 1), + (8610013, 4021033, 100, 1, 1), + (8610013, 4021032, 100, 1, 1), + (8610013, 2001554, 100, 1, 1), + (8610013, 2870472, 100, 1, 1), + (8610013, 4021034, 100, 1, 1), + (8610012, 4021031, 100, 1, 1), + (8610012, 2000036, 100, 1, 1), + (8610012, 4021035, 100, 1, 1), + (8610012, 2590004, 100, 1, 1), + (8610012, 4021020, 100, 1, 1), + (8610012, 4021034, 100, 1, 1), + (8610012, 2434021, 100, 1, 1), + (8610012, 4021033, 100, 1, 1), + (8610012, 4000656, 100, 1, 1), + (8610012, 4034983, 100, 1, 1), + (8610012, 2001554, 100, 1, 1), + (8610012, 4021032, 100, 1, 1), + (8610012, 2870471, 100, 1, 1), + (8870104, 4021032, 100, 1, 1), + (8870104, 4021033, 100, 1, 1), + (8870104, 4021031, 100, 1, 1), + (8870104, 4021034, 100, 1, 1), + (8870104, 4021035, 100, 1, 1), + (2600007, 2512256, 100, 1, 1), + (2600007, 2061000, 100, 1, 1), + (2600007, 2044112, 100, 1, 1), + (2600007, 2040802, 100, 1, 1), + (2600007, 2022057, 100, 1, 1), + (2600007, 2512274, 100, 1, 1), + (2600007, 2510037, 100, 1, 1), + (2600007, 4000243, 100, 1, 1), + (2600007, 2049100, 100, 1, 1), + (2600007, 2043114, 100, 1, 1), + (2600007, 2512040, 100, 1, 1), + (2600007, 2040516, 100, 1, 1), + (2600007, 2510427, 100, 1, 1), + (2600007, 2040902, 100, 1, 1), + (2600007, 2040002, 100, 1, 1), + (2600007, 2040621, 100, 1, 1), + (2600007, 2040901, 100, 1, 1), + (2600007, 2044801, 100, 1, 1), + (2600007, 2512272, 100, 1, 1), + (2600007, 2870346, 100, 1, 1), + (2600007, 4004002, 100, 1, 1), + (2600007, 2040532, 100, 1, 1), + (2600007, 2043214, 100, 1, 1), + (2600007, 2040925, 100, 1, 1), + (2600007, 2512283, 100, 1, 1), + (2600007, 2510272, 100, 1, 1), + (2600007, 2040602, 100, 1, 1), + (2600007, 2510294, 100, 1, 1), + (2600007, 4000244, 100, 1, 1), + (2600007, 2512280, 100, 1, 1), + (2600007, 40302, 100, 1, 1), + (2600007, 2510133, 100, 1, 1), + (2600007, 2040709, 100, 1, 1), + (2600007, 4000245, 100, 1, 1), + (2600007, 2001527, 100, 1, 1), + (2600007, 4004003, 100, 1, 1), + (2600007, 2040513, 100, 1, 1), + (2600007, 2512271, 100, 1, 1), + (2600007, 2000037, 100, 1, 1), + (2600007, 2040618, 100, 1, 1), + (2600007, 2040005, 100, 1, 1), + (2600007, 2511101, 100, 1, 1), + (2600007, 2043701, 100, 1, 1), + (2600007, 2512048, 100, 1, 1), + (2600007, 2040505, 100, 1, 1), + (2600007, 2512287, 100, 1, 1), + (2600007, 4004001, 100, 1, 1), + (2600007, 2040402, 100, 1, 1), + (2600007, 4004000, 100, 1, 1), + (2600007, 2512112, 100, 1, 1), + (2600007, 4001402, 100, 1, 1), + (2600007, 2001002, 100, 1, 1), + (2600007, 2040502, 100, 1, 1), + (2600007, 2510394, 100, 1, 1), + (2600007, 2511027, 100, 1, 1), + (2600007, 2510476, 100, 1, 1), + (2600007, 2511052, 100, 1, 1), + (2600006, 2510247, 100, 1, 1), + (2600006, 4007005, 100, 1, 1), + (2600006, 2510272, 100, 1, 1), + (2600006, 4000261, 100, 1, 1), + (2600006, 2512209, 100, 1, 1), + (2600006, 4004003, 100, 1, 1), + (2600006, 2040824, 100, 1, 1), + (2600006, 2060000, 100, 1, 1), + (2600006, 2510396, 100, 1, 1), + (2600006, 2001001, 100, 1, 1), + (2600006, 2510037, 100, 1, 1), + (2600006, 4020001, 100, 1, 1), + (2600006, 2512135, 100, 1, 1), + (2600006, 2512285, 100, 1, 1), + (2600006, 2040621, 100, 1, 1), + (2600006, 4006000, 100, 1, 1), + (2600006, 2512287, 100, 1, 1), + (2600006, 4007007, 100, 1, 1), + (2600006, 2330002, 100, 1, 1), + (2600006, 2001526, 100, 1, 1), + (2600006, 2870292, 100, 1, 1), + (2600006, 2044802, 100, 1, 1), + (2600006, 2512274, 100, 1, 1), + (2600006, 4020007, 100, 1, 1), + (2600006, 2044201, 100, 1, 1), + (2600006, 2000037, 100, 1, 1), + (2600006, 2512276, 100, 1, 1), + (2600006, 2061000, 100, 1, 1), + (2600006, 2510427, 100, 1, 1), + (2600006, 2044602, 100, 1, 1), + (6400000, 2590004, 100, 1, 1), + (6400000, 4021032, 100, 1, 1), + (6400000, 4021034, 100, 1, 1), + (6400000, 2001528, 100, 1, 1), + (6400000, 2434021, 100, 1, 1), + (6400000, 4021035, 100, 1, 1), + (6400000, 2000037, 100, 1, 1), + (6400000, 4000056, 100, 1, 1), + (6400000, 2870264, 100, 1, 1), + (6400000, 4021031, 100, 1, 1), + (6400000, 4021033, 100, 1, 1), + (2600005, 2512266, 100, 1, 1), + (2600005, 2512244, 100, 1, 1), + (2600005, 4000260, 100, 1, 1), + (2600005, 2044412, 100, 1, 1), + (2600005, 2000037, 100, 1, 1), + (2600005, 4010001, 100, 1, 1), + (2600005, 2512041, 100, 1, 1), + (2600005, 2512283, 100, 1, 1), + (2600005, 2043401, 100, 1, 1), + (2600005, 2512126, 100, 1, 1), + (2600005, 4007000, 100, 1, 1), + (2600005, 2000005, 100, 1, 1), + (2600005, 4007006, 100, 1, 1), + (2600005, 2512194, 100, 1, 1), + (2600005, 2061000, 100, 1, 1), + (2600005, 2044601, 100, 1, 1), + (2600005, 2870291, 100, 1, 1), + (2600005, 2000004, 100, 1, 1), + (2600005, 2022057, 100, 1, 1), + (2600005, 2512280, 100, 1, 1), + (2600005, 4010000, 100, 1, 1), + (2600005, 4004002, 100, 1, 1), + (2600005, 4006001, 100, 1, 1), + (2600005, 2512276, 100, 1, 1), + (6400003, 2870265, 100, 1, 1), + (2600004, 4001402, 100, 1, 1), + (2600004, 2870290, 100, 1, 1), + (2600004, 4004002, 100, 1, 1), + (2600004, 4000229, 100, 1, 1), + (2600004, 2043301, 100, 1, 1), + (2600004, 2001526, 100, 1, 1), + (2600004, 4020002, 100, 1, 1), + (2600004, 4010002, 100, 1, 1), + (2600004, 2512214, 100, 1, 1), + (2600004, 4007002, 100, 1, 1), + (2600004, 2511075, 100, 1, 1), + (2600004, 2510299, 100, 1, 1), + (2600004, 2512149, 100, 1, 1), + (2600004, 2512275, 100, 1, 1), + (2600004, 2060000, 100, 1, 1), + (2600004, 2000037, 100, 1, 1), + (2600004, 2022057, 100, 1, 1), + (2600004, 2512288, 100, 1, 1), + (2600004, 2001527, 100, 1, 1), + (2600004, 4007003, 100, 1, 1), + (2600004, 2512287, 100, 1, 1), + (2600004, 2512278, 100, 1, 1), + (2600004, 2000005, 100, 1, 1), + (2600004, 4006001, 100, 1, 1), + (2600004, 2043002, 100, 1, 1), + (2600004, 2001002, 100, 1, 1), + (2600003, 4010001, 100, 1, 1), + (2600003, 4004000, 100, 1, 1), + (2600003, 2043701, 100, 1, 1), + (2600003, 2040705, 100, 1, 1), + (2600003, 4020000, 100, 1, 1), + (2600003, 2511018, 100, 1, 1), + (2600003, 4006001, 100, 1, 1), + (2600003, 2000037, 100, 1, 1), + (2600003, 4000227, 100, 1, 1), + (2600003, 4007007, 100, 1, 1), + (2600003, 2060000, 100, 1, 1), + (2600003, 2048003, 100, 1, 1), + (2600003, 4000228, 100, 1, 1), + (2600003, 4007000, 100, 1, 1), + (2600003, 2000005, 100, 1, 1), + (2600003, 2870289, 100, 1, 1), + (2600003, 2044901, 100, 1, 1), + (2600003, 4000226, 100, 1, 1), + (2600003, 2001001, 100, 1, 1), + (2600003, 2022057, 100, 1, 1), + (2600003, 2001528, 100, 1, 1), + (2220100, 4000009, 100, 1, 1), + (2220100, 4010006, 100, 1, 1), + (2220100, 2044002, 100, 1, 1), + (2220100, 4131016, 100, 1, 1), + (2220100, 2060000, 100, 1, 1), + (2220100, 2000003, 100, 1, 1), + (2220100, 2870043, 100, 1, 1), + (2220100, 2022016, 100, 1, 1), + (2220100, 4020005, 100, 1, 1), + (2220100, 2061000, 100, 1, 1), + (2220100, 4020006, 100, 1, 1), + (2600002, 4010004, 100, 1, 1), + (2600002, 2044101, 100, 1, 1), + (2600002, 4004004, 100, 1, 1), + (2600002, 4007003, 100, 1, 1), + (2600002, 2001527, 100, 1, 1), + (2600002, 2510011, 100, 1, 1), + (2600002, 2001002, 100, 1, 1), + (2600002, 2044314, 100, 1, 1), + (2600002, 4020004, 100, 1, 1), + (2600002, 2870276, 100, 1, 1), + (2600002, 2049100, 100, 1, 1), + (2600002, 2070010, 100, 1, 1), + (2600002, 2510479, 100, 1, 1), + (2600002, 4006000, 100, 1, 1), + (2600002, 2512094, 100, 1, 1), + (2600002, 2510403, 100, 1, 1), + (2600002, 4000231, 100, 1, 1), + (2600002, 2044301, 100, 1, 1), + (2600002, 4007005, 100, 1, 1), + (2600002, 2512112, 100, 1, 1), + (2600002, 2048004, 100, 1, 1), + (2600002, 2000006, 100, 1, 1), + (2600002, 2510268, 100, 1, 1), + (2600002, 2512288, 100, 1, 1), + (2600002, 2512110, 100, 1, 1), + (2600002, 2061000, 100, 1, 1), + (2600002, 2512274, 100, 1, 1), + (6400004, 2870266, 100, 1, 1), + (2600001, 2060000, 100, 1, 1), + (2600001, 2512286, 100, 1, 1), + (2600001, 2510038, 100, 1, 1), + (2600001, 2870275, 100, 1, 1), + (2600001, 4007007, 100, 1, 1), + (2600001, 4001402, 100, 1, 1), + (2600001, 4004003, 100, 1, 1), + (2600001, 2512198, 100, 1, 1), + (2600001, 2044901, 100, 1, 1), + (2600001, 2000005, 100, 1, 1), + (2600001, 4007000, 100, 1, 1), + (2600001, 2044801, 100, 1, 1), + (2600001, 2022057, 100, 1, 1), + (2600001, 2001526, 100, 1, 1), + (2600001, 4020003, 100, 1, 1), + (2600001, 2044803, 100, 1, 1), + (2600001, 4006000, 100, 1, 1), + (2600001, 2000037, 100, 1, 1), + (2600001, 4000237, 100, 1, 1), + (2600001, 4010003, 100, 1, 1), + (2600001, 2061000, 100, 1, 1), + (2600001, 2510245, 100, 1, 1), + (2600001, 2044501, 100, 1, 1), + (2600001, 2510009, 100, 1, 1), + (2600001, 2510398, 100, 1, 1), + (6400007, 2870267, 100, 1, 1), + (2600000, 2330004, 100, 1, 1), + (2600000, 4007007, 100, 1, 1), + (2600000, 2001002, 100, 1, 1), + (2600000, 4004001, 100, 1, 1), + (2600000, 2870274, 100, 1, 1), + (2600000, 4000236, 100, 1, 1), + (2600000, 4010000, 100, 1, 1), + (2600000, 2061000, 100, 1, 1), + (2600000, 4007006, 100, 1, 1), + (2600000, 2048003, 100, 1, 1), + (2600000, 2022057, 100, 1, 1), + (2600000, 2043017, 100, 1, 1), + (2600000, 4020001, 100, 1, 1), + (2600000, 4001402, 100, 1, 1), + (2600000, 2510141, 100, 1, 1), + (2600000, 2000037, 100, 1, 1), + (2600000, 2000005, 100, 1, 1), + (2600000, 2044212, 100, 1, 1), + (2600000, 2330002, 100, 1, 1), + (2600000, 4006000, 100, 1, 1), + (2600000, 2044014, 100, 1, 1), + (2600015, 2000006, 100, 1, 1), + (2600015, 2871092, 100, 1, 1), + (2600015, 2070005, 100, 1, 1), + (2600015, 4020001, 100, 1, 1), + (2600015, 2000037, 100, 1, 1), + (2600015, 2070007, 100, 1, 1), + (2600015, 2330004, 100, 1, 1), + (2600015, 4020007, 100, 1, 1), + (2600015, 2070010, 100, 1, 1), + (2600015, 4010005, 100, 1, 1), + (2600015, 2001001, 100, 1, 1), + (2600015, 2330005, 100, 1, 1), + (2600015, 4000234, 100, 1, 1), + (2600015, 2001526, 100, 1, 1), + (2600015, 2330002, 100, 1, 1), + (2600015, 2330003, 100, 1, 1), + (2600015, 2000005, 100, 1, 1), + (2600015, 4000232, 100, 1, 1), + (2600015, 4020005, 100, 1, 1), + (2600015, 2070003, 100, 1, 1), + (2600015, 4000233, 100, 1, 1), + (2600015, 2070004, 100, 1, 1), + (2600015, 2001002, 100, 1, 1), + (2600015, 4020002, 100, 1, 1), + (2600014, 2870320, 100, 1, 1), + (2600014, 2070006, 100, 1, 1), + (2600014, 4010003, 100, 1, 1), + (2600014, 2040323, 100, 1, 1), + (2600014, 4007000, 100, 1, 1), + (2600014, 4020003, 100, 1, 1), + (2600014, 2040610, 100, 1, 1), + (2600014, 2001526, 100, 1, 1), + (2600014, 4000242, 100, 1, 1), + (2600014, 2022057, 100, 1, 1), + (2600014, 2000037, 100, 1, 1), + (2600014, 2043214, 100, 1, 1), + (2600014, 2043401, 100, 1, 1), + (2600014, 4007002, 100, 1, 1), + (2600014, 4004003, 100, 1, 1), + (2600014, 4006001, 100, 1, 1), + (2600014, 2048000, 100, 1, 1), + (2600014, 2040801, 100, 1, 1), + (2600013, 4020008, 100, 1, 1), + (2600013, 2044702, 100, 1, 1), + (2600013, 4000241, 100, 1, 1), + (2600013, 4004002, 100, 1, 1), + (2600013, 4006000, 100, 1, 1), + (2600013, 2044601, 100, 1, 1), + (2600013, 2043802, 100, 1, 1), + (2600013, 2040924, 100, 1, 1), + (2600013, 2061000, 100, 1, 1), + (2600013, 4010006, 100, 1, 1), + (2600013, 4007003, 100, 1, 1), + (2600013, 2022057, 100, 1, 1), + (2600013, 2000005, 100, 1, 1), + (2600013, 2870319, 100, 1, 1), + (2600013, 2000037, 100, 1, 1), + (2600013, 2044101, 100, 1, 1), + (2600013, 4007001, 100, 1, 1), + (2600012, 4007005, 100, 1, 1), + (2600012, 4006000, 100, 1, 1), + (2600012, 4010000, 100, 1, 1), + (2600012, 2000037, 100, 1, 1), + (2600012, 2000005, 100, 1, 1), + (2600012, 2000006, 100, 1, 1), + (2600012, 2044314, 100, 1, 1), + (2600012, 2061000, 100, 1, 1), + (2600012, 4161016, 100, 1, 1), + (2600012, 2870318, 100, 1, 1), + (2600012, 4020001, 100, 1, 1), + (2600012, 2022057, 100, 1, 1), + (2600012, 2001001, 100, 1, 1), + (2600012, 4007006, 100, 1, 1), + (2600012, 2001002, 100, 1, 1), + (2600012, 4000233, 100, 1, 1), + (2600012, 2044012, 100, 1, 1), + (2600012, 2043701, 100, 1, 1), + (2600012, 2041058, 100, 1, 1), + (2600012, 2040601, 100, 1, 1), + (2600012, 2332000, 100, 1, 1), + (2600012, 4004002, 100, 1, 1), + (2600011, 2022057, 100, 1, 1), + (2600011, 4004004, 100, 1, 1), + (2600011, 2870317, 100, 1, 1), + (2600011, 2330002, 100, 1, 1), + (2600011, 2043101, 100, 1, 1), + (2600011, 2044501, 100, 1, 1), + (2600011, 2060000, 100, 1, 1), + (2600011, 2001527, 100, 1, 1), + (2600011, 2040805, 100, 1, 1), + (2600011, 4161015, 100, 1, 1), + (2600011, 2001526, 100, 1, 1), + (2600011, 4006000, 100, 1, 1), + (2600011, 2331000, 100, 1, 1), + (2600011, 4000232, 100, 1, 1), + (2600011, 4020000, 100, 1, 1), + (2600011, 4007004, 100, 1, 1), + (2600011, 2001002, 100, 1, 1), + (2600011, 2070004, 100, 1, 1), + (2600011, 4007001, 100, 1, 1), + (2600011, 4010001, 100, 1, 1), + (2600011, 2040901, 100, 1, 1), + (2600010, 4004003, 100, 1, 1), + (2600010, 2040825, 100, 1, 1), + (2600010, 2001001, 100, 1, 1), + (2600010, 2022057, 100, 1, 1), + (2600010, 2060000, 100, 1, 1), + (2600010, 4007001, 100, 1, 1), + (2600010, 4000234, 100, 1, 1), + (2600010, 2000006, 100, 1, 1), + (2600010, 4010003, 100, 1, 1), + (2600010, 2870316, 100, 1, 1), + (2600010, 4020001, 100, 1, 1), + (2600010, 2040824, 100, 1, 1), + (2600010, 2330002, 100, 1, 1), + (2600010, 2048000, 100, 1, 1), + (2600010, 2043401, 100, 1, 1), + (2600010, 4007007, 100, 1, 1), + (2600010, 4006001, 100, 1, 1), + (2600010, 2070007, 100, 1, 1), + (2600010, 2000005, 100, 1, 1), + (2600009, 2044412, 100, 1, 1), + (2600009, 2870314, 100, 1, 1), + (2600009, 2001528, 100, 1, 1), + (2600009, 4007003, 100, 1, 1), + (2600009, 4007000, 100, 1, 1), + (2600009, 2049000, 100, 1, 1), + (2600009, 2060000, 100, 1, 1), + (2600009, 2000037, 100, 1, 1), + (2600009, 4000239, 100, 1, 1), + (2600009, 2001002, 100, 1, 1), + (2600009, 2022057, 100, 1, 1), + (2600009, 4020007, 100, 1, 1), + (2600009, 2070007, 100, 1, 1), + (2600009, 2040026, 100, 1, 1), + (2600009, 2001526, 100, 1, 1), + (2600009, 4004001, 100, 1, 1), + (2600009, 2043017, 100, 1, 1), + (2600009, 4000240, 100, 1, 1), + (2600009, 2040707, 100, 1, 1), + (2600009, 4010006, 100, 1, 1), + (2600009, 4006001, 100, 1, 1), + (2220110, 2044002, 100, 1, 1), + (2220110, 4020006, 100, 1, 1), + (2220110, 2070008, 100, 1, 1), + (2220110, 2000003, 100, 1, 1), + (2220110, 4010006, 100, 1, 1), + (2220110, 4000009, 100, 1, 1), + (2220110, 2040900, 100, 1, 1), + (2220110, 2870044, 100, 1, 1), + (2220110, 2040403, 100, 1, 1), + (2220110, 2000001, 100, 1, 1), + (2220110, 2000002, 100, 1, 1), + (2220110, 2048000, 100, 1, 1), + (2220110, 4020005, 100, 1, 1), + (2220110, 2022016, 100, 1, 1), + (2220110, 2060000, 100, 1, 1), + (2600008, 4020005, 100, 1, 1), + (2600008, 2000004, 100, 1, 1), + (2600008, 4007007, 100, 1, 1), + (2600008, 4004000, 100, 1, 1), + (2600008, 4000238, 100, 1, 1), + (2600008, 2870313, 100, 1, 1), + (2600008, 2000006, 100, 1, 1), + (2600008, 4006000, 100, 1, 1), + (2600008, 2044602, 100, 1, 1), + (2600008, 2001527, 100, 1, 1), + (2600008, 2048001, 100, 1, 1), + (2600008, 2001001, 100, 1, 1), + (2600008, 2060000, 100, 1, 1), + (2600008, 2044701, 100, 1, 1), + (2600008, 2040318, 100, 1, 1), + (2600008, 4010005, 100, 1, 1), + (2600008, 4007005, 100, 1, 1), + (2600008, 2043401, 100, 1, 1), + (2600023, 2001002, 100, 1, 1), + (2600023, 2870340, 100, 1, 1), + (2600023, 4004002, 100, 1, 1), + (2600023, 4020000, 100, 1, 1), + (2600023, 4006001, 100, 1, 1), + (2600023, 2043114, 100, 1, 1), + (2600023, 4007001, 100, 1, 1), + (2600023, 2048000, 100, 1, 1), + (2600023, 4000245, 100, 1, 1), + (2600023, 2001001, 100, 1, 1), + (2600023, 4001402, 100, 1, 1), + (2600023, 4007000, 100, 1, 1), + (2600023, 4001077, 100, 1, 1), + (2600023, 2070005, 100, 1, 1), + (2600023, 2000006, 100, 1, 1), + (2600023, 4000268, 100, 1, 1), + (2600023, 2043002, 100, 1, 1), + (2600023, 2060000, 100, 1, 1), + (2600023, 4000244, 100, 1, 1), + (2600023, 2070007, 100, 1, 1), + (2600023, 2043212, 100, 1, 1), + (2600023, 2044301, 100, 1, 1), + (2600023, 2022057, 100, 1, 1), + (2600023, 4010001, 100, 1, 1), + (2600022, 2044601, 100, 1, 1), + (2600022, 4001402, 100, 1, 1), + (2600022, 2044701, 100, 1, 1), + (2600022, 2044401, 100, 1, 1), + (2600022, 2044501, 100, 1, 1), + (2600022, 2045301, 100, 1, 1), + (2600022, 2043201, 100, 1, 1), + (2600022, 2045201, 100, 1, 1), + (2600022, 2044201, 100, 1, 1), + (2600022, 2044901, 100, 1, 1), + (2600022, 2043212, 100, 1, 1), + (2600022, 2000037, 100, 1, 1), + (2600022, 2044301, 100, 1, 1), + (2600022, 4000245, 100, 1, 1), + (2600022, 2042301, 100, 1, 1), + (2600022, 4000235, 100, 1, 1), + (2600022, 2040621, 100, 1, 1), + (2600022, 2043301, 100, 1, 1), + (2600022, 2043801, 100, 1, 1), + (2600022, 4004002, 100, 1, 1), + (2600022, 2040901, 100, 1, 1), + (2600022, 2043001, 100, 1, 1), + (2600022, 2044014, 100, 1, 1), + (2600022, 2043112, 100, 1, 1), + (2600022, 2044001, 100, 1, 1), + (2600022, 2044101, 100, 1, 1), + (2600022, 2040805, 100, 1, 1), + (2600022, 2870345, 100, 1, 1), + (2600022, 4004003, 100, 1, 1), + (2600022, 4000244, 100, 1, 1), + (2600022, 4004001, 100, 1, 1), + (2600022, 2044801, 100, 1, 1), + (2600022, 2022057, 100, 1, 1), + (2600022, 2001527, 100, 1, 1), + (2600022, 2040328, 100, 1, 1), + (2600022, 2043701, 100, 1, 1), + (2600022, 2040824, 100, 1, 1), + (2600022, 4001076, 100, 1, 1), + (2600022, 4004000, 100, 1, 1), + (2600022, 2043101, 100, 1, 1), + (2600022, 2049000, 100, 1, 1), + (2600022, 2000004, 100, 1, 1), + (2600021, 2001001, 100, 1, 1), + (2600021, 4006000, 100, 1, 1), + (2600021, 2040320, 100, 1, 1), + (2600021, 4000271, 100, 1, 1), + (2600021, 4004003, 100, 1, 1), + (2600021, 2001528, 100, 1, 1), + (2600021, 2870347, 100, 1, 1), + (2600021, 4000245, 100, 1, 1), + (2600021, 4021020, 100, 1, 1), + (2600021, 2044901, 100, 1, 1), + (2600021, 2044104, 100, 1, 1), + (2600021, 2000037, 100, 1, 1), + (2600021, 4007004, 100, 1, 1), + (2600021, 2043019, 100, 1, 1), + (2600021, 4001402, 100, 1, 1), + (2600021, 4020007, 100, 1, 1), + (2600021, 4010005, 100, 1, 1), + (2600021, 2044201, 100, 1, 1), + (2600021, 2040707, 100, 1, 1), + (2600021, 2061000, 100, 1, 1), + (2600021, 4000244, 100, 1, 1), + (2600021, 4006001, 100, 1, 1), + (2600020, 2000036, 100, 1, 1), + (2600020, 4000244, 100, 1, 1), + (2600020, 4006001, 100, 1, 1), + (2600020, 2049000, 100, 1, 1), + (2600020, 2001002, 100, 1, 1), + (2600020, 4010000, 100, 1, 1), + (2600020, 2044702, 100, 1, 1), + (2600020, 4007000, 100, 1, 1), + (2600020, 4020004, 100, 1, 1), + (2600020, 4000272, 100, 1, 1), + (2600020, 4000245, 100, 1, 1), + (2600020, 4001402, 100, 1, 1), + (2600020, 4021020, 100, 1, 1), + (2600020, 2061000, 100, 1, 1), + (2600020, 4007005, 100, 1, 1), + (2600020, 4004001, 100, 1, 1), + (2600020, 2022057, 100, 1, 1), + (2600020, 2001526, 100, 1, 1), + (2600020, 2040419, 100, 1, 1), + (2600020, 2000037, 100, 1, 1), + (2600020, 4006000, 100, 1, 1), + (2600020, 2048003, 100, 1, 1), + (2600019, 4004003, 100, 1, 1), + (2600019, 2001526, 100, 1, 1), + (2600019, 2043201, 100, 1, 1), + (2600019, 2040901, 100, 1, 1), + (2600019, 4000244, 100, 1, 1), + (2600019, 4007005, 100, 1, 1), + (2600019, 2000037, 100, 1, 1), + (2600019, 4020008, 100, 1, 1), + (2600019, 4000265, 100, 1, 1), + (2600019, 4020006, 100, 1, 1), + (2600019, 4000245, 100, 1, 1), + (2600019, 2000005, 100, 1, 1), + (2600019, 2870328, 100, 1, 1), + (2600019, 4001402, 100, 1, 1), + (2600019, 4007004, 100, 1, 1), + (2600019, 2044012, 100, 1, 1), + (2600019, 2022057, 100, 1, 1), + (2600019, 2001002, 100, 1, 1), + (2600018, 4000244, 100, 1, 1), + (2600018, 2870327, 100, 1, 1), + (2600018, 2061000, 100, 1, 1), + (2600018, 4007003, 100, 1, 1), + (2600018, 4004002, 100, 1, 1), + (2600018, 2000037, 100, 1, 1), + (2600018, 2044001, 100, 1, 1), + (2600018, 4000245, 100, 1, 1), + (2600018, 2043101, 100, 1, 1), + (2600018, 4020008, 100, 1, 1), + (2600018, 4000264, 100, 1, 1), + (2600018, 4020003, 100, 1, 1), + (2600018, 2043401, 100, 1, 1), + (2600018, 2045201, 100, 1, 1), + (2600018, 2022057, 100, 1, 1), + (2600018, 2000005, 100, 1, 1), + (2600018, 4007000, 100, 1, 1), + (2600018, 4001402, 100, 1, 1), + (2600017, 2000037, 100, 1, 1), + (2600017, 2043601, 100, 1, 1), + (2600017, 2040601, 100, 1, 1), + (2600017, 4010001, 100, 1, 1), + (2600017, 2070005, 100, 1, 1), + (2600017, 2060000, 100, 1, 1), + (2600017, 2061000, 100, 1, 1), + (2600017, 4000244, 100, 1, 1), + (2600017, 4020005, 100, 1, 1), + (2600017, 4000245, 100, 1, 1), + (2600017, 2001001, 100, 1, 1), + (2600017, 4000263, 100, 1, 1), + (2600017, 2001002, 100, 1, 1), + (2600017, 4007002, 100, 1, 1), + (2600017, 4004001, 100, 1, 1), + (2600017, 2043112, 100, 1, 1), + (2600017, 2870326, 100, 1, 1), + (2600017, 2044101, 100, 1, 1), + (2600017, 4007000, 100, 1, 1), + (2600017, 2022057, 100, 1, 1), + (2600017, 2001527, 100, 1, 1), + (2600017, 4001402, 100, 1, 1), + (2600016, 2048000, 100, 1, 1), + (2600016, 4020001, 100, 1, 1), + (2600016, 2000005, 100, 1, 1), + (2600016, 4004000, 100, 1, 1), + (2600016, 2870325, 100, 1, 1), + (2600016, 2001527, 100, 1, 1), + (2600016, 4007000, 100, 1, 1), + (2600016, 4007003, 100, 1, 1), + (2600016, 2043017, 100, 1, 1), + (2600016, 2001001, 100, 1, 1), + (2600016, 2022057, 100, 1, 1), + (2600016, 2000006, 100, 1, 1), + (2600016, 4001402, 100, 1, 1), + (2600016, 4000245, 100, 1, 1), + (2600016, 2044314, 100, 1, 1), + (2600016, 2044902, 100, 1, 1), + (2600016, 4000262, 100, 1, 1), + (2600016, 4020007, 100, 1, 1), + (2600016, 4000244, 100, 1, 1), + (4230200, 4031265, 100, 1, 1), + (4230200, 4000158, 100, 1, 1), + (4230200, 2870156, 100, 1, 1), + (2600030, 2870366, 100, 1, 1), + (2600030, 2040824, 100, 1, 1), + (2600030, 2060000, 100, 1, 1), + (2600030, 2001527, 100, 1, 1), + (2600030, 2044012, 100, 1, 1), + (2600030, 4006000, 100, 1, 1), + (2600030, 2040927, 100, 1, 1), + (2600030, 2001001, 100, 1, 1), + (2600030, 4000269, 100, 1, 1), + (2600030, 2040801, 100, 1, 1), + (2600030, 2048000, 100, 1, 1), + (2600030, 2070003, 100, 1, 1), + (2600030, 2044212, 100, 1, 1), + (2600030, 2001002, 100, 1, 1), + (2600030, 2000004, 100, 1, 1), + (2600030, 2000036, 100, 1, 1), + (2600030, 2044412, 100, 1, 1), + (2600030, 2048002, 100, 1, 1), + (2600030, 2044101, 100, 1, 1), + (2600030, 2044112, 100, 1, 1), + (2600030, 2061000, 100, 1, 1), + (2600030, 2001526, 100, 1, 1), + (2600030, 2001528, 100, 1, 1), + (2600030, 4000268, 100, 1, 1), + (2600030, 2049100, 100, 1, 1), + (2600030, 4000270, 100, 1, 1), + (2600030, 2044312, 100, 1, 1), + (2600030, 2000005, 100, 1, 1), + (2600030, 4006001, 100, 1, 1), + (4230201, 2870157, 100, 1, 1), + (4230201, 4000159, 100, 1, 1), + (8950001, 4001843, 100, 1, 1), + (8950001, 4310029, 100, 1, 1), + (8950001, 4001877, 100, 1, 1), + (8950001, 4310029, 100, 1, 1), + (8950001, 2433593, 100, 1, 1), + (8950001, 2000005, 100, 1, 1), + (8950001, 2433103, 100, 1, 1), + (2600029, 4004004, 100, 1, 1), + (2600029, 2000006, 100, 1, 1), + (2600029, 2043701, 100, 1, 1), + (2600029, 4020002, 100, 1, 1), + (2600029, 4000273, 100, 1, 1), + (2600029, 4006001, 100, 1, 1), + (2600029, 4021020, 100, 1, 1), + (2600029, 2070003, 100, 1, 1), + (2600029, 2061000, 100, 1, 1), + (2600029, 4020006, 100, 1, 1), + (2600029, 4007002, 100, 1, 1), + (2600029, 2060000, 100, 1, 1), + (2600029, 2048003, 100, 1, 1), + (2600029, 4000245, 100, 1, 1), + (2600029, 4001402, 100, 1, 1), + (2600029, 4007004, 100, 1, 1), + (2600029, 2001001, 100, 1, 1), + (2600029, 4000244, 100, 1, 1), + (2600029, 4006000, 100, 1, 1), + (2600029, 2022057, 100, 1, 1), + (2600029, 2044212, 100, 1, 1), + (2600029, 2870349, 100, 1, 1), + (2600029, 2044214, 100, 1, 1), + (8950002, 4001877, 100, 1, 1), + (8950002, 4310029, 100, 1, 1), + (8950002, 2433593, 100, 1, 1), + (8950002, 4001843, 100, 1, 1), + (8950002, 4310029, 100, 1, 1), + (8950002, 2433103, 100, 1, 1), + (8950002, 2000005, 100, 1, 1), + (2600028, 4021020, 100, 1, 1), + (2600028, 2044701, 100, 1, 1), + (2600028, 4006000, 100, 1, 1), + (2600028, 2044902, 100, 1, 1), + (2600028, 2044602, 100, 1, 1), + (2600028, 4007007, 100, 1, 1), + (2600028, 4000274, 100, 1, 1), + (2600028, 4006001, 100, 1, 1), + (2600028, 2070003, 100, 1, 1), + (2600028, 2022057, 100, 1, 1), + (2600028, 4000244, 100, 1, 1), + (2600028, 2040805, 100, 1, 1), + (2600028, 2000005, 100, 1, 1), + (2600028, 4001402, 100, 1, 1), + (2600028, 4010001, 100, 1, 1), + (2600028, 4020001, 100, 1, 1), + (2600028, 2001001, 100, 1, 1), + (2600028, 4000245, 100, 1, 1), + (2600028, 4007003, 100, 1, 1), + (2600028, 4004001, 100, 1, 1), + (2600028, 2001002, 100, 1, 1), + (2600028, 2000006, 100, 1, 1), + (2600028, 2870348, 100, 1, 1), + (2600028, 2049000, 100, 1, 1), + (2600027, 4001402, 100, 1, 1), + (2600027, 2049100, 100, 1, 1), + (2600027, 4001075, 100, 1, 1), + (2600027, 4007005, 100, 1, 1), + (2600027, 2870339, 100, 1, 1), + (2600027, 2000036, 100, 1, 1), + (2600027, 2044802, 100, 1, 1), + (2600027, 2000005, 100, 1, 1), + (2600027, 2000006, 100, 1, 1), + (2600027, 4007003, 100, 1, 1), + (2600027, 4004004, 100, 1, 1), + (2600027, 4000267, 100, 1, 1), + (2600027, 2044601, 100, 1, 1), + (2600027, 2040302, 100, 1, 1), + (2600027, 2040801, 100, 1, 1), + (2600027, 4021020, 100, 1, 1), + (2600027, 4010001, 100, 1, 1), + (2600027, 2000037, 100, 1, 1), + (2600027, 4000245, 100, 1, 1), + (2600027, 2001002, 100, 1, 1), + (2600027, 4000244, 100, 1, 1), + (2600027, 2001001, 100, 1, 1), + (2600027, 2044501, 100, 1, 1), + (2600027, 2022057, 100, 1, 1), + (2600027, 4020002, 100, 1, 1), + (2600026, 4000244, 100, 1, 1), + (2600026, 4001075, 100, 1, 1), + (2600026, 2001526, 100, 1, 1), + (2600026, 2048001, 100, 1, 1), + (2600026, 4007000, 100, 1, 1), + (2600026, 4007007, 100, 1, 1), + (2600026, 2044801, 100, 1, 1), + (2600026, 2000006, 100, 1, 1), + (2600026, 4001402, 100, 1, 1), + (2600026, 2043017, 100, 1, 1), + (2600026, 4010002, 100, 1, 1), + (2600026, 4004004, 100, 1, 1), + (2600026, 4010005, 100, 1, 1), + (2600026, 2870338, 100, 1, 1), + (2600026, 2000005, 100, 1, 1), + (2600026, 4000245, 100, 1, 1), + (2600026, 2022057, 100, 1, 1), + (2600026, 4000266, 100, 1, 1), + (2600025, 4010005, 100, 1, 1), + (2600025, 4001402, 100, 1, 1), + (2600025, 2000005, 100, 1, 1), + (2600025, 2040924, 100, 1, 1), + (2600025, 4020002, 100, 1, 1), + (2600025, 2045301, 100, 1, 1), + (2600025, 4007001, 100, 1, 1), + (2600025, 2044412, 100, 1, 1), + (2600025, 2000006, 100, 1, 1), + (2600025, 2044402, 100, 1, 1), + (2600025, 2060000, 100, 1, 1), + (2600025, 4000244, 100, 1, 1), + (2600025, 2001526, 100, 1, 1), + (2600025, 2040302, 100, 1, 1), + (2600025, 4000245, 100, 1, 1), + (2600025, 4007007, 100, 1, 1), + (2600025, 2870342, 100, 1, 1), + (2600025, 4000270, 100, 1, 1), + (2600025, 4001077, 100, 1, 1), + (2600025, 2022057, 100, 1, 1), + (2600025, 4021020, 100, 1, 1), + (2600025, 2000036, 100, 1, 1), + (2600025, 2330005, 100, 1, 1), + (2600025, 4004000, 100, 1, 1), + (2600025, 4006000, 100, 1, 1), + (2600025, 2044401, 100, 1, 1), + (2600025, 4006001, 100, 1, 1), + (2600025, 2061000, 100, 1, 1), + (2600024, 4010004, 100, 1, 1), + (2600024, 2001527, 100, 1, 1), + (2600024, 2044112, 100, 1, 1), + (2600024, 2022057, 100, 1, 1), + (2600024, 2000005, 100, 1, 1), + (2600024, 4004003, 100, 1, 1), + (2600024, 2000006, 100, 1, 1), + (2600024, 2070009, 100, 1, 1), + (2600024, 2870341, 100, 1, 1), + (2600024, 4001077, 100, 1, 1), + (2600024, 2070004, 100, 1, 1), + (2600024, 4000245, 100, 1, 1), + (2600024, 2043112, 100, 1, 1), + (2600024, 4000244, 100, 1, 1), + (2600024, 2001002, 100, 1, 1), + (2600024, 2000037, 100, 1, 1), + (2600024, 4007007, 100, 1, 1), + (2600024, 4001402, 100, 1, 1), + (2600024, 4007001, 100, 1, 1), + (2600024, 4020005, 100, 1, 1), + (2600024, 4006001, 100, 1, 1), + (2600024, 2043201, 100, 1, 1), + (2600024, 4000269, 100, 1, 1), + (2600103, 2870028, 100, 1, 1), + (2600103, 2512053, 100, 1, 1), + (2600103, 2001001, 100, 1, 1), + (2600103, 2070003, 100, 1, 1), + (2600103, 4000330, 100, 1, 1), + (2600103, 2045201, 100, 1, 1), + (2600103, 4020004, 100, 1, 1), + (2600103, 2044314, 100, 1, 1), + (2600103, 2048002, 100, 1, 1), + (2600103, 2044001, 100, 1, 1), + (2600103, 4010007, 100, 1, 1), + (2600103, 2022155, 100, 1, 1), + (2600103, 2001002, 100, 1, 1), + (2600103, 2043701, 100, 1, 1), + (2600103, 2070004, 100, 1, 1), + (2600103, 2061000, 100, 1, 1), + (2600103, 4010003, 100, 1, 1), + (2600103, 2001527, 100, 1, 1), + (2600103, 2001526, 100, 1, 1), + (2600102, 2001001, 100, 1, 1), + (2600102, 4000329, 100, 1, 1), + (2600102, 2870027, 100, 1, 1), + (2600102, 4010002, 100, 1, 1), + (2600102, 4010007, 100, 1, 1), + (2600102, 2044012, 100, 1, 1), + (2600102, 2000006, 100, 1, 1), + (2600102, 2044312, 100, 1, 1), + (2600102, 2061000, 100, 1, 1), + (2600102, 2048003, 100, 1, 1), + (2600102, 2040705, 100, 1, 1), + (2600102, 2070004, 100, 1, 1), + (2600102, 2022155, 100, 1, 1), + (2600102, 4020004, 100, 1, 1), + (2600102, 2044102, 100, 1, 1), + (2600102, 2001527, 100, 1, 1), + (7120110, 4021033, 100, 1, 1), + (7120110, 4021032, 100, 1, 1), + (7120110, 4021034, 100, 1, 1), + (7120110, 4021035, 100, 1, 1), + (7120110, 4021031, 100, 1, 1), + (7120110, 4001755, 100, 1, 1), + (7120111, 4021033, 100, 1, 1), + (7120111, 4021031, 100, 1, 1), + (7120111, 4021032, 100, 1, 1), + (7120111, 4021034, 100, 1, 1), + (7120111, 4021035, 100, 1, 1), + (7120111, 4001756, 100, 1, 1), + (2600105, 4000329, 100, 1, 1), + (2600105, 4010002, 100, 1, 1), + (2600105, 2040924, 100, 1, 1), + (2600105, 2001527, 100, 1, 1), + (2600105, 2040927, 100, 1, 1), + (2600105, 2040824, 100, 1, 1), + (2600105, 2045301, 100, 1, 1), + (2600105, 2040501, 100, 1, 1), + (2600105, 4000331, 100, 1, 1), + (2600105, 2022155, 100, 1, 1), + (2600105, 2044101, 100, 1, 1), + (2600105, 4010007, 100, 1, 1), + (2600105, 2040004, 100, 1, 1), + (2600105, 2040801, 100, 1, 1), + (2600105, 2041007, 100, 1, 1), + (2600105, 4000330, 100, 1, 1), + (2600105, 2040504, 100, 1, 1), + (2600105, 2043801, 100, 1, 1), + (2600105, 2045201, 100, 1, 1), + (2600105, 2044001, 100, 1, 1), + (2600105, 2048004, 100, 1, 1), + (2600105, 2044201, 100, 1, 1), + (2600105, 2870091, 100, 1, 1), + (2600105, 2048000, 100, 1, 1), + (2600105, 2043201, 100, 1, 1), + (2600105, 4020003, 100, 1, 1), + (2600105, 2044601, 100, 1, 1), + (2600105, 2044501, 100, 1, 1), + (2600105, 2000001, 100, 1, 1), + (2600105, 2000003, 100, 1, 1), + (2600105, 2043701, 100, 1, 1), + (2600104, 4020005, 100, 1, 1), + (2600104, 2044412, 100, 1, 1), + (2600104, 2001001, 100, 1, 1), + (2600104, 2043214, 100, 1, 1), + (2600104, 2512059, 100, 1, 1), + (2600104, 2043401, 100, 1, 1), + (2600104, 2044901, 100, 1, 1), + (2600104, 2000002, 100, 1, 1), + (2600104, 2001526, 100, 1, 1), + (2600104, 4000331, 100, 1, 1), + (2600104, 2870029, 100, 1, 1), + (2600104, 4004001, 100, 1, 1), + (2600104, 4010007, 100, 1, 1), + (2600104, 4020006, 100, 1, 1), + (2600104, 2022155, 100, 1, 1), + (2600104, 2000006, 100, 1, 1), + (2130100, 2000000, 100, 1, 1), + (2130100, 2040503, 100, 1, 1), + (2130100, 2060000, 100, 1, 1), + (2130100, 2000001, 100, 1, 1), + (2130100, 2040417, 100, 1, 1), + (2130100, 2044202, 100, 1, 1), + (2130100, 4010001, 100, 1, 1), + (2130100, 2040420, 100, 1, 1), + (2130100, 2870036, 100, 1, 1), + (2130100, 4020007, 100, 1, 1), + (2130100, 4000018, 100, 1, 1), + (2130100, 4006001, 100, 1, 1), + (2130103, 4020006, 100, 1, 1), + (2130103, 2000003, 100, 1, 1), + (2130103, 2040926, 100, 1, 1), + (2130103, 2040000, 100, 1, 1), + (2130103, 2070000, 100, 1, 1), + (2130103, 2000002, 100, 1, 1), + (2130103, 2870037, 100, 1, 1), + (2130103, 4000034, 100, 1, 1), + (2130103, 2040614, 100, 1, 1), + (2130103, 4010002, 100, 1, 1), + (8140000, 4006001, 100, 1, 1), + (8140000, 2870312, 100, 1, 1), + (8140000, 2512110, 100, 1, 1), + (8140000, 4021034, 100, 1, 1), + (8140000, 2512276, 100, 1, 1), + (8140000, 4021035, 100, 1, 1), + (8140000, 2000037, 100, 1, 1), + (8140000, 2710002, 100, 1, 1), + (8140000, 2001528, 100, 1, 1), + (8140000, 2940000, 100, 1, 1), + (8140000, 2512243, 100, 1, 1), + (8140000, 2431174, 100, 1, 1), + (8140000, 4003005, 100, 1, 1), + (8140000, 2512267, 100, 1, 1), + (8140000, 2511011, 100, 1, 1), + (8140000, 2040727, 100, 1, 1), + (8140000, 4000054, 100, 1, 1), + (8140000, 4021031, 100, 1, 1), + (8140000, 2512106, 100, 1, 1), + (8140000, 2049401, 100, 1, 1), + (8140000, 2512274, 100, 1, 1), + (8140000, 2430692, 100, 1, 1), + (8140000, 2070006, 100, 1, 1), + (8140000, 4021032, 100, 1, 1), + (8140000, 2512269, 100, 1, 1), + (8140000, 4021033, 100, 1, 1), + (8140000, 2590004, 100, 1, 1), + (8140000, 2512272, 100, 1, 1), + (8880167, 2433103, 100, 1, 1), + (8880167, 2000005, 100, 1, 1), + (8880167, 4001879, 100, 1, 1), + (8880167, 4310029, 100, 1, 1), + (8880167, 2436039, 100, 1, 1), + (9300013, 2430115, 100, 1, 1), + (4300000, 4000530, 100, 1, 1), + (4300000, 2870171, 100, 1, 1), + (8920106, 2000005, 100, 1, 1), + (8920106, 4310064, 100, 1, 1), + (8920106, 4310029, 100, 1, 1), + (8920106, 3010514, 100, 1, 1), + (8920106, 2433103, 100, 1, 1), + (8920106, 2433591, 100, 1, 1), + (4300002, 4000532, 100, 1, 1), + (4300002, 2870172, 100, 1, 1), + (9300014, 2430115, 100, 1, 1), + (9001005, 4031013, 9000, 1, 1), + (9300009, 2430115, 100, 1, 1), + (4300004, 4000534, 100, 1, 1), + (4300004, 2870173, 100, 1, 1), + (9300008, 2430115, 100, 1, 1), + (4300007, 4000526, 100, 1, 1), + (4300007, 2870175, 100, 1, 1), + (4300006, 4000525, 100, 1, 1), + (4300006, 2870174, 100, 1, 1), + (9001006, 4031013, 9000, 1, 1), + (9300010, 2430115, 100, 1, 1), + (4300009, 2870177, 100, 1, 1), + (4300009, 4000528, 100, 1, 1), + (9300005, 2430115, 100, 1, 1), + (4300008, 2870176, 100, 1, 1), + (4300008, 4000527, 100, 1, 1), + (4300011, 4000536, 100, 1, 1), + (4300011, 2870179, 100, 1, 1), + (9300007, 2430115, 100, 1, 1), + (4300010, 4000529, 100, 1, 1), + (4300010, 2870178, 100, 1, 1), + (9300006, 2430115, 100, 1, 1), + (4300013, 2870181, 100, 1, 1), + (4300013, 2431655, 100, 1, 1), + (4300012, 4000537, 100, 1, 1), + (4300012, 2870180, 100, 1, 1), + (4090000, 2870134, 100, 1, 1), + (4090000, 2431174, 100, 1, 1), + (4090000, 4000039, 100, 1, 1), + (4090000, 4033055, 100, 1, 1), + (8920103, 2000005, 100, 1, 1), + (8920103, 3010514, 100, 1, 1), + (8920103, 4310029, 100, 1, 1), + (8920103, 2433103, 100, 1, 1), + (8920103, 2433591, 100, 1, 1), + (8920103, 4310064, 100, 1, 1), + (9001021, 4000589, 100, 1, 1), + (9001020, 4000588, 100, 1, 1), + (8880177, 4001879, 100, 1, 1), + (8880177, 2433103, 100, 1, 1), + (8880177, 2000005, 100, 1, 1), + (8880177, 4310029, 100, 1, 1), + (8880177, 2436039, 100, 1, 1), + (9001023, 4000591, 100, 1, 1), + (210100, 2022053, 100, 1, 1), + (210100, 2061000, 100, 1, 1), + (210100, 4000010, 100, 1, 1), + (210100, 2022054, 100, 1, 1), + (210100, 2872038, 100, 1, 1), + (210100, 4020005, 100, 1, 1), + (210100, 4000004, 100, 1, 1), + (210100, 2000001, 100, 1, 1), + (210100, 2000003, 100, 1, 1), + (210100, 4010005, 100, 1, 1), + (210100, 2010009, 100, 1, 1), + (210100, 2022055, 100, 1, 1), + (9001022, 4000590, 100, 1, 1), + (9001009, 4032101, 100, 1, 1), + (6220000, 4000032, 100, 1, 1), + (6220000, 4000033, 100, 1, 1), + (9300018, 4033920, 100, 1, 1), + (9000001, 4031013, 9000, 1, 1), + (9001024, 2870390, 100, 1, 1), + (9001024, 4032326, 100, 1, 1), + (9001027, 4000593, 100, 1, 1), + (5200002, 2870216, 100, 1, 1), + (5200002, 4000085, 100, 1, 1), + (9001028, 4000594, 100, 1, 1), + (5200001, 2870215, 100, 1, 1), + (5200001, 4000084, 100, 1, 1), + (5200000, 4031802, 100, 1, 1), + (5200000, 2001002, 100, 1, 1), + (5200000, 2001001, 100, 1, 1), + (5200000, 2431174, 100, 1, 1), + (5200000, 4021034, 100, 1, 1), + (5200000, 4021032, 100, 1, 1), + (5200000, 2590004, 100, 1, 1), + (5200000, 2870214, 100, 1, 1), + (5200000, 4021033, 100, 1, 1), + (5200000, 4021035, 100, 1, 1), + (4230300, 4021032, 100, 1, 1), + (4230300, 2000037, 100, 1, 1), + (4230300, 2870158, 100, 1, 1), + (4230300, 4021031, 100, 1, 1), + (4230300, 2431174, 100, 1, 1), + (4230300, 2590004, 100, 1, 1), + (4230300, 4021034, 100, 1, 1), + (4230300, 4021035, 100, 1, 1), + (4230300, 4034629, 100, 1, 1), + (4230300, 4034633, 100, 1, 1), + (4230300, 4021033, 100, 1, 1), + (4230300, 2001528, 100, 1, 1), + (3210450, 4000153, 100, 1, 1), + (3210450, 2870088, 100, 1, 1), + (2300100, 4020000, 100, 1, 1), + (2300100, 2040024, 100, 1, 1), + (2300100, 2060000, 100, 1, 1), + (2300100, 4000042, 100, 1, 1), + (2300100, 2001535, 100, 1, 1), + (2300100, 2044110, 100, 1, 1), + (2300100, 4003004, 100, 1, 1), + (2300100, 2044010, 100, 1, 1), + (2300100, 2070000, 100, 1, 1), + (2300100, 2040800, 100, 1, 1), + (2300100, 2870060, 100, 1, 1), + (2300100, 4010001, 100, 1, 1), + (2300100, 2000000, 100, 1, 1), + (6230200, 2001002, 100, 1, 1), + (6230200, 4000057, 100, 1, 1), + (6230200, 2434021, 100, 1, 1), + (6230200, 2001001, 100, 1, 1), + (6230200, 2590004, 100, 1, 1), + (8870004, 4021035, 100, 1, 1), + (8870004, 4021034, 100, 1, 1), + (8870004, 4021033, 100, 1, 1), + (8870004, 4021032, 100, 1, 1), + (8870004, 4021031, 100, 1, 1), + (8144008, 4021032, 100, 1, 1), + (8144008, 4033176, 100, 1, 1), + (8144008, 4021031, 100, 1, 1), + (8144008, 4000678, 100, 1, 1), + (8144008, 4001687, 100, 1, 1), + (8144008, 4001686, 100, 1, 1), + (8144008, 4021035, 100, 1, 1), + (8144008, 4021034, 100, 1, 1), + (8144008, 4021033, 100, 1, 1), + (8144008, 4001685, 100, 1, 1), + (8870003, 4021035, 100, 1, 1), + (8870003, 4021032, 100, 1, 1), + (8870003, 4021033, 100, 1, 1), + (8870003, 4021031, 100, 1, 1), + (8870003, 4021034, 100, 1, 1), + (8870002, 4021032, 100, 1, 1), + (8870002, 4021035, 100, 1, 1), + (8870002, 4021031, 100, 1, 1), + (8870002, 4021033, 100, 1, 1), + (8870002, 4021034, 100, 1, 1), + (8870001, 4021031, 100, 1, 1), + (8870001, 4021032, 100, 1, 1), + (8870001, 4021034, 100, 1, 1), + (8870001, 4021033, 100, 1, 1), + (8870001, 4021035, 100, 1, 1), + (8144004, 4021031, 100, 1, 1), + (8144004, 4000564, 100, 1, 1), + (8144004, 4001687, 100, 1, 1), + (8144004, 4021034, 100, 1, 1), + (8144004, 4001686, 100, 1, 1), + (8144004, 4021033, 100, 1, 1), + (8144004, 4001685, 100, 1, 1), + (8144004, 4021032, 100, 1, 1), + (8144004, 4021035, 100, 1, 1), + (8144004, 4033176, 100, 1, 1), + (3110102, 2001002, 100, 1, 1), + (3110102, 4021032, 100, 1, 1), + (3110102, 2870070, 100, 1, 1), + (3110102, 2431174, 100, 1, 1), + (3110102, 4021035, 100, 1, 1), + (3110102, 4021033, 100, 1, 1), + (3110102, 4021034, 100, 1, 1), + (3110102, 2001001, 100, 1, 1), + (3110102, 4000095, 100, 1, 1), + (3110102, 2590004, 100, 1, 1), + (8144005, 4001686, 100, 1, 1), + (8144005, 4000563, 100, 1, 1), + (8144005, 4021033, 100, 1, 1), + (8144005, 4001687, 100, 1, 1), + (8144005, 4021034, 100, 1, 1), + (8144005, 4021035, 100, 1, 1), + (8144005, 4033176, 100, 1, 1), + (8144005, 4021031, 100, 1, 1), + (8144005, 4021032, 100, 1, 1), + (8144005, 4001685, 100, 1, 1), + (8144006, 4021032, 100, 1, 1), + (8144006, 4033176, 100, 1, 1), + (8144006, 4000565, 100, 1, 1), + (8144006, 4001686, 100, 1, 1), + (8144006, 4021035, 100, 1, 1), + (8144006, 4021033, 100, 1, 1), + (8144006, 4001685, 100, 1, 1), + (8144006, 4001687, 100, 1, 1), + (8144006, 4021031, 100, 1, 1), + (8144006, 4021034, 100, 1, 1), + (3110100, 2430692, 100, 1, 1), + (3110100, 4032463, 100, 1, 1), + (3110100, 2001527, 100, 1, 1), + (3110100, 2590004, 100, 1, 1), + (3110100, 2001526, 100, 1, 1), + (3110100, 4000032, 100, 1, 1), + (3110100, 2431174, 100, 1, 1), + (3110100, 2710002, 100, 1, 1), + (3110100, 2870068, 100, 1, 1), + (3110100, 4031164, 100, 1, 1), + (8144007, 4021035, 100, 1, 1), + (8144007, 4001685, 100, 1, 1), + (8144007, 4021032, 100, 1, 1), + (8144007, 4021033, 100, 1, 1), + (8144007, 4033176, 100, 1, 1), + (8144007, 4001687, 100, 1, 1), + (8144007, 4000677, 100, 1, 1), + (8144007, 4021034, 100, 1, 1), + (8144007, 4021031, 100, 1, 1), + (8144007, 4001686, 100, 1, 1), + (8144000, 4021031, 100, 1, 1), + (8144000, 4021034, 100, 1, 1), + (8144000, 4000561, 100, 1, 1), + (8144000, 4021035, 100, 1, 1), + (8144000, 4021032, 100, 1, 1), + (8144000, 4021033, 100, 1, 1), + (8144001, 4001686, 100, 1, 1), + (8144001, 4000562, 100, 1, 1), + (8144001, 4021033, 100, 1, 1), + (8144001, 4021035, 100, 1, 1), + (8144001, 4001687, 100, 1, 1), + (8144001, 4021034, 100, 1, 1), + (8144001, 4021031, 100, 1, 1), + (8144001, 4001685, 100, 1, 1), + (8144001, 4021032, 100, 1, 1), + (8144001, 4033177, 100, 1, 1), + (8144002, 4001686, 100, 1, 1), + (8144002, 4021032, 100, 1, 1), + (8144002, 4001685, 100, 1, 1), + (8144002, 4021031, 100, 1, 1), + (8144002, 4021033, 100, 1, 1), + (8144002, 4033175, 100, 1, 1), + (8144002, 4000559, 100, 1, 1), + (8144002, 4021034, 100, 1, 1), + (8144002, 4001687, 100, 1, 1), + (8144002, 4021035, 100, 1, 1), + (8144003, 4001686, 100, 1, 1), + (8144003, 4021031, 100, 1, 1), + (8144003, 4000560, 100, 1, 1), + (8144003, 4001687, 100, 1, 1), + (8144003, 4021032, 100, 1, 1), + (8144003, 4021033, 100, 1, 1), + (8144003, 4021035, 100, 1, 1), + (8144003, 4001685, 100, 1, 1), + (8144003, 4021034, 100, 1, 1), + (2600231, 2049000, 100, 1, 1), + (2600231, 4020008, 100, 1, 1), + (2600231, 2870311, 100, 1, 1), + (2600231, 2512054, 100, 1, 1), + (2600231, 2070007, 100, 1, 1), + (3401011, 4000764, 100, 1, 1), + (3401011, 4000763, 100, 1, 1), + (3401011, 4000762, 100, 1, 1), + (6300000, 4021032, 100, 1, 1), + (6300000, 2590004, 100, 1, 1), + (6300000, 4021034, 100, 1, 1), + (6300000, 4021031, 100, 1, 1), + (6300000, 4021033, 100, 1, 1), + (6300000, 2870259, 100, 1, 1), + (6300000, 4000049, 100, 1, 1), + (6300000, 2001528, 100, 1, 1), + (6300000, 2434021, 100, 1, 1), + (6300000, 4021035, 100, 1, 1), + (6300000, 2000037, 100, 1, 1), + (2600230, 4007001, 100, 1, 1), + (2600230, 4007004, 100, 1, 1), + (2600230, 4000046, 100, 1, 1), + (2600230, 2001001, 100, 1, 1), + (2600230, 4006001, 100, 1, 1), + (2600230, 2060000, 100, 1, 1), + (2600230, 2048001, 100, 1, 1), + (2600230, 4001112, 100, 1, 1), + (2600230, 2048000, 100, 1, 1), + (2600230, 2022057, 100, 1, 1), + (2600230, 2043212, 100, 1, 1), + (2600230, 4020008, 100, 1, 1), + (2600230, 2061000, 100, 1, 1), + (2600230, 4010003, 100, 1, 1), + (2600230, 2044114, 100, 1, 1), + (2600230, 2870280, 100, 1, 1), + (3401010, 4033627, 100, 1, 1), + (3401010, 4000763, 100, 1, 1), + (2600229, 2870279, 100, 1, 1), + (2600229, 2512058, 100, 1, 1), + (2600229, 2061000, 100, 1, 1), + (2600229, 4010006, 100, 1, 1), + (2600229, 4007004, 100, 1, 1), + (2600229, 4006000, 100, 1, 1), + (2600229, 2022057, 100, 1, 1), + (2600229, 4000028, 100, 1, 1), + (2600229, 2000006, 100, 1, 1), + (2600229, 2001527, 100, 1, 1), + (2600229, 2048002, 100, 1, 1), + (2600229, 2001526, 100, 1, 1), + (2600229, 4007003, 100, 1, 1), + (2600229, 2040801, 100, 1, 1), + (2600229, 2060000, 100, 1, 1), + (2600229, 2040421, 100, 1, 1), + (2600229, 2049000, 100, 1, 1), + (3401009, 4000762, 100, 1, 1), + (8820100, 4021032, 100, 1, 1), + (8820100, 4021033, 100, 1, 1), + (8820100, 4021034, 100, 1, 1), + (8820100, 4021031, 100, 1, 1), + (8820100, 2431661, 100, 1, 1), + (8820100, 4310029, 100, 1, 1), + (8820100, 2000005, 100, 1, 1), + (8820100, 2433103, 100, 1, 1), + (8820100, 4021020, 100, 1, 1), + (8820100, 4021035, 100, 1, 1), + (2600228, 2001526, 100, 1, 1), + (2600228, 2045201, 100, 1, 1), + (2600228, 4007007, 100, 1, 1), + (2600228, 4001077, 100, 1, 1), + (2600228, 2044001, 100, 1, 1), + (2600228, 4007003, 100, 1, 1), + (2600228, 4010003, 100, 1, 1), + (2600228, 2043301, 100, 1, 1), + (2600228, 2000002, 100, 1, 1), + (2600228, 4000186, 100, 1, 1), + (2600228, 2043110, 100, 1, 1), + (2600228, 2000006, 100, 1, 1), + (2600228, 4010005, 100, 1, 1), + (2600228, 2044801, 100, 1, 1), + (2600228, 2022057, 100, 1, 1), + (2600228, 2040024, 100, 1, 1), + (2600228, 4000030, 100, 1, 1), + (2600228, 2070005, 100, 1, 1), + (2600228, 2044501, 100, 1, 1), + (2600228, 4020007, 100, 1, 1), + (2600228, 2870257, 100, 1, 1), + (2600228, 4020008, 100, 1, 1), + (3401008, 4033622, 100, 1, 1), + (3401008, 4000761, 100, 1, 1), + (6300003, 2870260, 100, 1, 1), + (2600227, 2332000, 100, 1, 1), + (2600227, 2041014, 100, 1, 1), + (2600227, 2000006, 100, 1, 1), + (2600227, 2022057, 100, 1, 1), + (2600227, 4010004, 100, 1, 1), + (2600227, 2070003, 100, 1, 1), + (2600227, 4007000, 100, 1, 1), + (2600227, 4007004, 100, 1, 1), + (2600227, 4020007, 100, 1, 1), + (2600227, 2044414, 100, 1, 1), + (2600227, 2040328, 100, 1, 1), + (2600227, 2040301, 100, 1, 1), + (2600227, 4000030, 100, 1, 1), + (2600227, 4001077, 100, 1, 1), + (2600227, 2040002, 100, 1, 1), + (2600227, 2043015, 100, 1, 1), + (2600227, 2000002, 100, 1, 1), + (2600227, 2001527, 100, 1, 1), + (2600227, 2870256, 100, 1, 1), + (2600227, 4020005, 100, 1, 1), + (2600227, 4000185, 100, 1, 1), + (2600227, 4010006, 100, 1, 1), + (2600227, 2061000, 100, 1, 1), + (2600227, 4006000, 100, 1, 1), + (6300004, 2870261, 100, 1, 1), + (2600226, 4010006, 100, 1, 1), + (2600226, 2040927, 100, 1, 1), + (2600226, 2044801, 100, 1, 1), + (2600226, 2870249, 100, 1, 1), + (2600226, 2060000, 100, 1, 1), + (2600226, 4000027, 100, 1, 1), + (2600226, 2040414, 100, 1, 1), + (2600226, 4007001, 100, 1, 1), + (2600226, 2049100, 100, 1, 1), + (2600226, 2040824, 100, 1, 1), + (2600226, 2070005, 100, 1, 1), + (2600226, 2022057, 100, 1, 1), + (2600226, 2044809, 100, 1, 1), + (2600226, 4020008, 100, 1, 1), + (2600226, 4007005, 100, 1, 1), + (2600226, 2000006, 100, 1, 1), + (2600226, 2040323, 100, 1, 1), + (6300005, 2870262, 100, 1, 1), + (6300005, 2070006, 100, 1, 1), + (6300005, 4000176, 100, 1, 1), + (2600225, 2044212, 100, 1, 1), + (2600225, 4000030, 100, 1, 1), + (2600225, 4010005, 100, 1, 1), + (2600225, 4020007, 100, 1, 1), + (2600225, 4007000, 100, 1, 1), + (2600225, 2050099, 100, 1, 1), + (2600225, 4000014, 100, 1, 1), + (2600225, 2040612, 100, 1, 1), + (2600225, 2040501, 100, 1, 1), + (2600225, 2331000, 100, 1, 1), + (2600225, 2040901, 100, 1, 1), + (2600225, 4001077, 100, 1, 1), + (2600225, 2000002, 100, 1, 1), + (2600225, 2022057, 100, 1, 1), + (2600225, 2043210, 100, 1, 1), + (2600225, 4007002, 100, 1, 1), + (2600225, 2870235, 100, 1, 1), + (2600225, 2001526, 100, 1, 1), + (2600225, 2000006, 100, 1, 1), + (2600224, 4000014, 100, 1, 1), + (2600224, 2060000, 100, 1, 1), + (2600224, 2041017, 100, 1, 1), + (2600224, 4007000, 100, 1, 1), + (2600224, 2040928, 100, 1, 1), + (2600224, 4007002, 100, 1, 1), + (2600224, 4000030, 100, 1, 1), + (2600224, 2041022, 100, 1, 1), + (2600224, 2001526, 100, 1, 1), + (2600224, 2041007, 100, 1, 1), + (2600224, 2012003, 100, 1, 1), + (2600224, 2012000, 100, 1, 1), + (2600224, 2061000, 100, 1, 1), + (2600224, 4020007, 100, 1, 1), + (2600224, 2000002, 100, 1, 1), + (2600224, 2022057, 100, 1, 1), + (2600224, 2000006, 100, 1, 1), + (2600224, 2870203, 100, 1, 1), + (2600224, 4001077, 100, 1, 1), + (2600224, 4010006, 100, 1, 1), + (2600224, 2043212, 100, 1, 1), + (4130103, 2001002, 100, 1, 1), + (4130103, 2870129, 100, 1, 1), + (4130103, 4021035, 100, 1, 1), + (4130103, 4021032, 100, 1, 1), + (4130103, 4021033, 100, 1, 1), + (4130103, 2001001, 100, 1, 1), + (4130103, 2590004, 100, 1, 1), + (4130103, 2434021, 100, 1, 1), + (4130103, 4000124, 100, 1, 1), + (4130103, 4000616, 100, 1, 1), + (4130103, 4021034, 100, 1, 1), + (8220021, 4021034, 100, 1, 1), + (8220021, 4021033, 100, 1, 1), + (8220021, 4021032, 100, 1, 1), + (8220021, 4021040, 100, 1, 1), + (8220021, 2434021, 100, 1, 1), + (8220021, 4009114, 100, 1, 1), + (8220021, 4021035, 100, 1, 1), + (8220021, 4310085, 100, 1, 1), + (8220021, 2001554, 100, 1, 1), + (8220021, 2000036, 100, 1, 1), + (8220021, 4021031, 100, 1, 1), + (8220021, 2590004, 100, 1, 1), + (4130102, 4000062, 100, 1, 1), + (8220020, 2000036, 100, 1, 1), + (8220020, 4021033, 100, 1, 1), + (8220020, 4021031, 100, 1, 1), + (8220020, 4021035, 100, 1, 1), + (8220020, 4021032, 100, 1, 1), + (8220020, 4021020, 100, 1, 1), + (8220020, 4021034, 100, 1, 1), + (8220020, 2001554, 100, 1, 1), + (8220020, 2590004, 100, 1, 1), + (8220020, 2434021, 100, 1, 1), + (8220017, 4021032, 100, 1, 1), + (8220017, 4021033, 100, 1, 1), + (8220017, 4021034, 100, 1, 1), + (8220017, 4021031, 100, 1, 1), + (8220017, 4021035, 100, 1, 1), + (8220016, 4021031, 100, 1, 1), + (8220016, 4021032, 100, 1, 1), + (8220016, 4021034, 100, 1, 1), + (8220016, 4021033, 100, 1, 1), + (8220016, 4021035, 100, 1, 1), + (8220019, 4021034, 100, 1, 1), + (8220019, 4021033, 100, 1, 1), + (8220019, 4021035, 100, 1, 1), + (8220019, 4021032, 100, 1, 1), + (8220019, 4021031, 100, 1, 1), + (8220018, 4021035, 100, 1, 1), + (8220018, 4021033, 100, 1, 1), + (8220018, 4021034, 100, 1, 1), + (8220018, 4021031, 100, 1, 1), + (8220018, 4021032, 100, 1, 1), + (3401003, 4033626, 100, 1, 1), + (3401003, 4000756, 100, 1, 1), + (3401003, 4033631, 100, 1, 1), + (3401002, 4000755, 100, 1, 1), + (3401001, 4033623, 100, 1, 1), + (3401001, 4033624, 100, 1, 1), + (3401001, 4000754, 100, 1, 1), + (3401001, 4033622, 100, 1, 1), + (3401000, 4000753, 100, 1, 1), + (3401000, 4033622, 100, 1, 1), + (3401007, 4000760, 100, 1, 1), + (8220001, 4310029, 100, 1, 1), + (8220001, 4000049, 100, 1, 1), + (8220001, 4021033, 100, 1, 1), + (8220001, 4000257, 100, 1, 1), + (8220001, 4021032, 100, 1, 1), + (8220001, 4000048, 100, 1, 1), + (8220001, 4000051, 100, 1, 1), + (8220001, 4021035, 100, 1, 1), + (8220001, 4021034, 100, 1, 1), + (8220001, 4000021, 100, 1, 1), + (8220001, 4021031, 100, 1, 1), + (3401006, 4000759, 100, 1, 1), + (8220000, 4000074, 100, 1, 1), + (8220000, 4000073, 100, 1, 1), + (3401005, 4000758, 100, 1, 1), + (3401004, 4033630, 100, 1, 1), + (3401004, 4000757, 100, 1, 1), + (4230500, 2590004, 100, 1, 1), + (4230500, 2870160, 100, 1, 1), + (4230500, 4021034, 100, 1, 1), + (4230500, 4021031, 100, 1, 1), + (4230500, 2000037, 100, 1, 1), + (4230500, 2431174, 100, 1, 1), + (4230500, 2511106, 100, 1, 1), + (4230500, 2049401, 100, 1, 1), + (4230500, 4021035, 100, 1, 1), + (4230500, 4000276, 100, 1, 1), + (4230500, 2430692, 100, 1, 1), + (4230500, 4000021, 100, 1, 1), + (4230500, 4021033, 100, 1, 1), + (4230500, 2001528, 100, 1, 1), + (4230500, 4021032, 100, 1, 1), + (8900003, 2000005, 100, 1, 1), + (8900003, 2434585, 100, 1, 1), + (8900003, 2433103, 100, 1, 1), + (8900003, 4310064, 100, 1, 1), + (8900003, 3010513, 100, 1, 1), + (8900003, 2433446, 100, 1, 1), + (8900003, 4310029, 100, 1, 1), + (8900003, 4310065, 100, 1, 1), + (4230501, 4021035, 100, 1, 1), + (4230501, 2870161, 100, 1, 1), + (4230501, 2001526, 100, 1, 1), + (4230501, 2060000, 100, 1, 1), + (4230501, 2430692, 100, 1, 1), + (4230501, 2431174, 100, 1, 1), + (4230501, 4000277, 100, 1, 1), + (4230501, 4021034, 100, 1, 1), + (4230501, 2000002, 100, 1, 1), + (4230501, 4021033, 100, 1, 1), + (4230501, 4021032, 100, 1, 1), + (4230501, 2049000, 100, 1, 1), + (4230501, 2590004, 100, 1, 1), + (4230501, 2001527, 100, 1, 1), + (4230501, 2512056, 100, 1, 1), + (4230502, 2512057, 100, 1, 1), + (4230502, 4021032, 100, 1, 1), + (4230502, 2590004, 100, 1, 1), + (4230502, 2430692, 100, 1, 1), + (4230502, 2001527, 100, 1, 1), + (4230502, 2870162, 100, 1, 1), + (4230502, 2001001, 100, 1, 1), + (4230502, 4021034, 100, 1, 1), + (4230502, 4021033, 100, 1, 1), + (4230502, 2061000, 100, 1, 1), + (4230502, 4021035, 100, 1, 1), + (4230502, 2431174, 100, 1, 1), + (4230502, 2000002, 100, 1, 1), + (4230502, 2049401, 100, 1, 1), + (4230502, 2048001, 100, 1, 1), + (4230502, 4000278, 100, 1, 1), + (4230503, 4021033, 100, 1, 1), + (4230503, 2870163, 100, 1, 1), + (4230503, 4000280, 100, 1, 1), + (4230503, 4021032, 100, 1, 1), + (4230503, 2430692, 100, 1, 1), + (4230503, 2001527, 100, 1, 1), + (4230503, 2000006, 100, 1, 1), + (4230503, 2590004, 100, 1, 1), + (4230503, 2049401, 100, 1, 1), + (4230503, 2060000, 100, 1, 1), + (4230503, 2431174, 100, 1, 1), + (4230503, 2001001, 100, 1, 1), + (4230503, 2001002, 100, 1, 1), + (4230503, 4021034, 100, 1, 1), + (4230503, 2511106, 100, 1, 1), + (4230503, 4021035, 100, 1, 1), + (4230503, 4000281, 100, 1, 1), + (4230504, 2512067, 100, 1, 1), + (4230504, 4021032, 100, 1, 1), + (4230504, 2590004, 100, 1, 1), + (4230504, 4021033, 100, 1, 1), + (4230504, 2061000, 100, 1, 1), + (4230504, 4000281, 100, 1, 1), + (4230504, 2001526, 100, 1, 1), + (4230504, 2060000, 100, 1, 1), + (4230504, 2870164, 100, 1, 1), + (4230504, 2049401, 100, 1, 1), + (4230504, 4000279, 100, 1, 1), + (4230504, 4021035, 100, 1, 1), + (4230504, 4021034, 100, 1, 1), + (4230504, 2431174, 100, 1, 1), + (4230505, 2512287, 100, 1, 1), + (4230505, 2430692, 100, 1, 1), + (4230505, 2431174, 100, 1, 1), + (4230505, 2000037, 100, 1, 1), + (4230505, 2512273, 100, 1, 1), + (4230505, 4032908, 100, 1, 1), + (4230505, 4021035, 100, 1, 1), + (4230505, 4021033, 100, 1, 1), + (4230505, 2049401, 100, 1, 1), + (4230505, 2001528, 100, 1, 1), + (4230505, 4006001, 100, 1, 1), + (4230505, 2048002, 100, 1, 1), + (4230505, 4021032, 100, 1, 1), + (4230505, 4000291, 100, 1, 1), + (4230505, 2590004, 100, 1, 1), + (4230505, 4021031, 100, 1, 1), + (4230505, 2870165, 100, 1, 1), + (4230505, 4021034, 100, 1, 1), + (2600215, 4000753, 100, 1, 1), + (2600214, 4000967, 100, 1, 1), + (2600213, 4000966, 100, 1, 1), + (2600212, 4000965, 100, 1, 1), + (2600211, 2040901, 100, 1, 1), + (2600211, 4007002, 100, 1, 1), + (2600211, 4000177, 100, 1, 1), + (2600211, 2000000, 100, 1, 1), + (2600211, 4007003, 100, 1, 1), + (2600211, 4010006, 100, 1, 1), + (2600211, 2040923, 100, 1, 1), + (2600211, 2000001, 100, 1, 1), + (2600211, 2043000, 100, 1, 1), + (2600211, 2870212, 100, 1, 1), + (2600211, 2022057, 100, 1, 1), + (2600211, 2040926, 100, 1, 1), + (2600211, 2040319, 100, 1, 1), + (2600210, 2040512, 100, 1, 1), + (2600210, 4007002, 100, 1, 1), + (2600210, 2048000, 100, 1, 1), + (2600210, 2070009, 100, 1, 1), + (2600210, 2870205, 100, 1, 1), + (2600210, 2044310, 100, 1, 1), + (2600210, 4020008, 100, 1, 1), + (2600210, 2044802, 100, 1, 1), + (2600210, 4004004, 100, 1, 1), + (2600210, 2044400, 100, 1, 1), + (2600210, 4000025, 100, 1, 1), + (2600210, 2060000, 100, 1, 1), + (2600210, 2043105, 100, 1, 1), + (2600210, 2000003, 100, 1, 1), + (2600210, 2044800, 100, 1, 1), + (2600210, 4007001, 100, 1, 1), + (2600209, 2040900, 100, 1, 1), + (2600209, 4000022, 100, 1, 1), + (2600209, 4020008, 100, 1, 1), + (2600209, 2044500, 100, 1, 1), + (2600209, 2061000, 100, 1, 1), + (2600209, 4007001, 100, 1, 1), + (2600209, 2022057, 100, 1, 1), + (2600209, 2040403, 100, 1, 1), + (2600209, 2000002, 100, 1, 1), + (2600209, 4007006, 100, 1, 1), + (2600209, 2870204, 100, 1, 1), + (2600209, 2000001, 100, 1, 1), + (2600223, 2000001, 100, 1, 1), + (2600223, 4000030, 100, 1, 1), + (2600223, 2040002, 100, 1, 1), + (2600223, 4010005, 100, 1, 1), + (2600223, 4006001, 100, 1, 1), + (2600223, 2044014, 100, 1, 1), + (2600223, 4001077, 100, 1, 1), + (2600223, 4007004, 100, 1, 1), + (2600223, 2000002, 100, 1, 1), + (2600223, 4006000, 100, 1, 1), + (2600223, 4020008, 100, 1, 1), + (2600223, 2001527, 100, 1, 1), + (2600223, 4007001, 100, 1, 1), + (2600223, 2040824, 100, 1, 1), + (2600223, 2044012, 100, 1, 1), + (2600223, 2041021, 100, 1, 1), + (2600223, 2022057, 100, 1, 1), + (2600223, 2870127, 100, 1, 1), + (2600223, 2040025, 100, 1, 1), + (2600223, 2070009, 100, 1, 1), + (2600223, 4000014, 100, 1, 1), + (8643003, 4021034, 100, 1, 1), + (8643003, 4021035, 100, 1, 1), + (8643003, 2000036, 100, 1, 1), + (8643003, 4001878, 100, 1, 1), + (8643003, 4034983, 100, 1, 1), + (8643003, 4021033, 100, 1, 1), + (8643003, 2000037, 100, 1, 1), + (8643003, 4021032, 100, 1, 1), + (8643003, 2435902, 100, 1, 1), + (8643003, 4021020, 100, 1, 1), + (8643003, 4021031, 100, 1, 1), + (2600222, 4000764, 100, 1, 1), + (8643002, 4021034, 100, 1, 1), + (8643002, 4021035, 100, 1, 1), + (8643002, 4001878, 100, 1, 1), + (8643002, 4021020, 100, 1, 1), + (8643002, 2435902, 100, 1, 1), + (8643002, 4021031, 100, 1, 1), + (8643002, 2000036, 100, 1, 1), + (8643002, 4034983, 100, 1, 1), + (8643002, 2000037, 100, 1, 1), + (8643002, 4021032, 100, 1, 1), + (8643002, 4021033, 100, 1, 1), + (2600221, 4000763, 100, 1, 1), + (8643001, 4021034, 100, 1, 1), + (8643001, 4034983, 100, 1, 1), + (8643001, 4021031, 100, 1, 1), + (8643001, 4021032, 100, 1, 1), + (8643001, 4034979, 100, 1, 1), + (8643001, 4021020, 100, 1, 1), + (8643001, 4021033, 100, 1, 1), + (8643001, 2435902, 100, 1, 1), + (8643001, 4001878, 100, 1, 1), + (8643001, 2000037, 100, 1, 1), + (8643001, 2000036, 100, 1, 1), + (8643001, 4021035, 100, 1, 1), + (2600220, 4000762, 100, 1, 1), + (8643000, 4021031, 100, 1, 1), + (8643000, 2435902, 100, 1, 1), + (8643000, 4001878, 100, 1, 1), + (8643000, 2000036, 100, 1, 1), + (8643000, 2000037, 100, 1, 1), + (8643000, 4021035, 100, 1, 1), + (8643000, 4021034, 100, 1, 1), + (8643000, 4034983, 100, 1, 1), + (8643000, 4021020, 100, 1, 1), + (8643000, 4021033, 100, 1, 1), + (8643000, 4021032, 100, 1, 1), + (2600219, 4000761, 100, 1, 1), + (8643007, 4021035, 100, 1, 1), + (8643007, 4021020, 100, 1, 1), + (8643007, 4021034, 100, 1, 1), + (8643007, 4034983, 100, 1, 1), + (8643007, 4021032, 100, 1, 1), + (8643007, 2000036, 100, 1, 1), + (8643007, 2000037, 100, 1, 1), + (8643007, 2435902, 100, 1, 1), + (8643007, 4001878, 100, 1, 1), + (8643007, 4021031, 100, 1, 1), + (8643007, 4021033, 100, 1, 1), + (2600218, 4000760, 100, 1, 1), + (8643006, 2000037, 100, 1, 1), + (8643006, 4021034, 100, 1, 1), + (8643006, 4021033, 100, 1, 1), + (8643006, 4034983, 100, 1, 1), + (8643006, 4021035, 100, 1, 1), + (8643006, 4021032, 100, 1, 1), + (8643006, 4034982, 100, 1, 1), + (8643006, 2000036, 100, 1, 1), + (8643006, 4001878, 100, 1, 1), + (8643006, 4021031, 100, 1, 1), + (8643006, 2435902, 100, 1, 1), + (8643006, 4021020, 100, 1, 1), + (2600217, 4000759, 100, 1, 1), + (8643005, 2000036, 100, 1, 1), + (8643005, 4034983, 100, 1, 1), + (8643005, 4021032, 100, 1, 1), + (8643005, 4034981, 100, 1, 1), + (8643005, 4021035, 100, 1, 1), + (8643005, 4021031, 100, 1, 1), + (8643005, 2435902, 100, 1, 1), + (8643005, 4021034, 100, 1, 1), + (8643005, 2000037, 100, 1, 1), + (8643005, 4001878, 100, 1, 1), + (8643005, 4021033, 100, 1, 1), + (8643005, 4021020, 100, 1, 1), + (2600216, 4000756, 100, 1, 1), + (8643004, 4021035, 100, 1, 1), + (8643004, 4021031, 100, 1, 1), + (8643004, 4021033, 100, 1, 1), + (8643004, 2000036, 100, 1, 1), + (8643004, 4021020, 100, 1, 1), + (8643004, 4021032, 100, 1, 1), + (8643004, 2000037, 100, 1, 1), + (8643004, 4021034, 100, 1, 1), + (8643004, 4001878, 100, 1, 1), + (8643004, 4034983, 100, 1, 1), + (8643004, 2435902, 100, 1, 1), + (4230400, 2870159, 100, 1, 1), + (4230400, 2431174, 100, 1, 1), + (4230400, 4000178, 100, 1, 1), + (8600003, 2512280, 100, 1, 1), + (8600003, 2434021, 100, 1, 1), + (8600003, 4000645, 100, 1, 1), + (8600003, 2512012, 100, 1, 1), + (8600003, 4021020, 100, 1, 1), + (8600003, 4021032, 100, 1, 1), + (8600003, 4021035, 100, 1, 1), + (8600003, 2512284, 100, 1, 1), + (8600003, 2590004, 100, 1, 1), + (8600003, 2512278, 100, 1, 1), + (8600003, 2512286, 100, 1, 1), + (8600003, 2512272, 100, 1, 1), + (8600003, 2512282, 100, 1, 1), + (8600003, 2070010, 100, 1, 1), + (8600003, 2330005, 100, 1, 1), + (8600003, 2512247, 100, 1, 1), + (8600003, 2000036, 100, 1, 1), + (8600003, 2049401, 100, 1, 1), + (8600003, 2511098, 100, 1, 1), + (8600003, 4021034, 100, 1, 1), + (8600003, 2001554, 100, 1, 1), + (8600003, 2870455, 100, 1, 1), + (8600003, 2512279, 100, 1, 1), + (8600003, 2512270, 100, 1, 1), + (8600003, 2511099, 100, 1, 1), + (8600003, 4032940, 100, 1, 1), + (8600003, 2510261, 100, 1, 1), + (8600003, 4034983, 100, 1, 1), + (8600003, 2512107, 100, 1, 1), + (8600003, 4021033, 100, 1, 1), + (8600003, 4021031, 100, 1, 1), + (8600003, 2048002, 100, 1, 1), + (8600003, 2430692, 100, 1, 1), + (8643011, 2000036, 100, 1, 1), + (8643011, 4034983, 100, 1, 1), + (8643011, 2000037, 100, 1, 1), + (8643011, 2435902, 100, 1, 1), + (8643011, 4021033, 100, 1, 1), + (8643011, 4001878, 100, 1, 1), + (8643011, 4021035, 100, 1, 1), + (8643011, 4021032, 100, 1, 1), + (8643011, 4021031, 100, 1, 1), + (8643011, 4021020, 100, 1, 1), + (8643011, 4021034, 100, 1, 1), + (8600002, 2512276, 100, 1, 1), + (8600002, 2511035, 100, 1, 1), + (8600002, 4021020, 100, 1, 1), + (8600002, 2049401, 100, 1, 1), + (8600002, 2870454, 100, 1, 1), + (8600002, 2434021, 100, 1, 1), + (8600002, 2512269, 100, 1, 1), + (8600002, 2000036, 100, 1, 1), + (8600002, 2510243, 100, 1, 1), + (8600002, 2512286, 100, 1, 1), + (8600002, 4034983, 100, 1, 1), + (8600002, 4021034, 100, 1, 1), + (8600002, 2511075, 100, 1, 1), + (8600002, 2512279, 100, 1, 1), + (8600002, 4021031, 100, 1, 1), + (8600002, 2512267, 100, 1, 1), + (8600002, 2048001, 100, 1, 1), + (8600002, 2512271, 100, 1, 1), + (8600002, 4021035, 100, 1, 1), + (8600002, 2512195, 100, 1, 1), + (8600002, 2512023, 100, 1, 1), + (8600002, 4000644, 100, 1, 1), + (8600002, 2590004, 100, 1, 1), + (8600002, 4021033, 100, 1, 1), + (8600002, 2512274, 100, 1, 1), + (8600002, 2048005, 100, 1, 1), + (8600002, 4021032, 100, 1, 1), + (8600002, 2001554, 100, 1, 1), + (8600002, 2430692, 100, 1, 1), + (8600002, 2512126, 100, 1, 1), + (8643010, 2000037, 100, 1, 1), + (8643010, 4021031, 100, 1, 1), + (8643010, 4021032, 100, 1, 1), + (8643010, 4001878, 100, 1, 1), + (8643010, 2000036, 100, 1, 1), + (8643010, 4021034, 100, 1, 1), + (8643010, 4021035, 100, 1, 1), + (8643010, 4034983, 100, 1, 1), + (8643010, 4021020, 100, 1, 1), + (8643010, 2435902, 100, 1, 1), + (8643010, 4021033, 100, 1, 1), + (8600001, 4021034, 100, 1, 1), + (8600001, 2512212, 100, 1, 1), + (8600001, 2870453, 100, 1, 1), + (8600001, 2510267, 100, 1, 1), + (8600001, 4021020, 100, 1, 1), + (8600001, 2590004, 100, 1, 1), + (8600001, 2512287, 100, 1, 1), + (8600001, 4000643, 100, 1, 1), + (8600001, 2512272, 100, 1, 1), + (8600001, 4032930, 100, 1, 1), + (8600001, 2510430, 100, 1, 1), + (8600001, 2000036, 100, 1, 1), + (8600001, 4021035, 100, 1, 1), + (8600001, 2049401, 100, 1, 1), + (8600001, 2512282, 100, 1, 1), + (8600001, 2510271, 100, 1, 1), + (8600001, 2434021, 100, 1, 1), + (8600001, 4034983, 100, 1, 1), + (8600001, 2510261, 100, 1, 1), + (8600001, 4021032, 100, 1, 1), + (8600001, 2512279, 100, 1, 1), + (8600001, 2001554, 100, 1, 1), + (8600001, 2070005, 100, 1, 1), + (8600001, 2512156, 100, 1, 1), + (8600001, 2512179, 100, 1, 1), + (8600001, 2070004, 100, 1, 1), + (8600001, 2430692, 100, 1, 1), + (8600001, 4021031, 100, 1, 1), + (8600001, 2512092, 100, 1, 1), + (8600001, 4021033, 100, 1, 1), + (8643009, 4021034, 100, 1, 1), + (8643009, 4021033, 100, 1, 1), + (8643009, 4021035, 100, 1, 1), + (8643009, 2435902, 100, 1, 1), + (8643009, 2000037, 100, 1, 1), + (8643009, 4021032, 100, 1, 1), + (8643009, 4034983, 100, 1, 1), + (8643009, 4001878, 100, 1, 1), + (8643009, 2000036, 100, 1, 1), + (8643009, 4021031, 100, 1, 1), + (8643009, 4021020, 100, 1, 1), + (8600000, 2512269, 100, 1, 1), + (8600000, 2512096, 100, 1, 1), + (8600000, 2512216, 100, 1, 1), + (8600000, 4021035, 100, 1, 1), + (8600000, 2001554, 100, 1, 1), + (8600000, 2434021, 100, 1, 1), + (8600000, 2000036, 100, 1, 1), + (8600000, 2430692, 100, 1, 1), + (8600000, 4034983, 100, 1, 1), + (8600000, 2870452, 100, 1, 1), + (8600000, 4021032, 100, 1, 1), + (8600000, 2512283, 100, 1, 1), + (8600000, 2512271, 100, 1, 1), + (8600000, 2512284, 100, 1, 1), + (8600000, 2512270, 100, 1, 1), + (8600000, 2512090, 100, 1, 1), + (8600000, 2512102, 100, 1, 1), + (8600000, 2512275, 100, 1, 1), + (8600000, 4000642, 100, 1, 1), + (8600000, 4021033, 100, 1, 1), + (8600000, 2048003, 100, 1, 1), + (8600000, 2590004, 100, 1, 1), + (8600000, 2510249, 100, 1, 1), + (8600000, 4021020, 100, 1, 1), + (8600000, 2512112, 100, 1, 1), + (8600000, 4021031, 100, 1, 1), + (8600000, 4032921, 100, 1, 1), + (8600000, 2049401, 100, 1, 1), + (8600000, 4021034, 100, 1, 1), + (8643008, 2000037, 100, 1, 1), + (8643008, 4034983, 100, 1, 1), + (8643008, 4021035, 100, 1, 1), + (8643008, 2000036, 100, 1, 1), + (8643008, 4021031, 100, 1, 1), + (8643008, 4021020, 100, 1, 1), + (8643008, 4021033, 100, 1, 1), + (8643008, 4034980, 100, 1, 1), + (8643008, 2435902, 100, 1, 1), + (8643008, 4021034, 100, 1, 1), + (8643008, 4001878, 100, 1, 1), + (8643008, 4021032, 100, 1, 1), + (8600006, 2048003, 100, 1, 1), + (8600006, 2512285, 100, 1, 1), + (8600006, 2512276, 100, 1, 1), + (8600006, 2512284, 100, 1, 1), + (8600006, 4021034, 100, 1, 1), + (8600006, 2511049, 100, 1, 1), + (8600006, 2512109, 100, 1, 1), + (8600006, 4021035, 100, 1, 1), + (8600006, 2590004, 100, 1, 1), + (8600006, 2512267, 100, 1, 1), + (8600006, 4021033, 100, 1, 1), + (8600006, 2430692, 100, 1, 1), + (8600006, 4034983, 100, 1, 1), + (8600006, 4021020, 100, 1, 1), + (8600006, 2512130, 100, 1, 1), + (8600006, 2512029, 100, 1, 1), + (8600006, 2004095, 100, 1, 1), + (8600006, 2512283, 100, 1, 1), + (8600006, 2000036, 100, 1, 1), + (8600006, 2512286, 100, 1, 1), + (8600006, 4021032, 100, 1, 1), + (8600006, 2434021, 100, 1, 1), + (8600006, 2870458, 100, 1, 1), + (8600006, 4021031, 100, 1, 1), + (8600006, 2512281, 100, 1, 1), + (8600006, 2001554, 100, 1, 1), + (8600006, 4000648, 100, 1, 1), + (8600006, 2512272, 100, 1, 1), + (8600006, 2048000, 100, 1, 1), + (8600006, 2049401, 100, 1, 1), + (8600005, 2003544, 100, 1, 1), + (8600005, 2590004, 100, 1, 1), + (8600005, 2003541, 100, 1, 1), + (8600005, 2330004, 100, 1, 1), + (8600005, 4021031, 100, 1, 1), + (8600005, 4021020, 100, 1, 1), + (8600005, 2070010, 100, 1, 1), + (8600005, 4021034, 100, 1, 1), + (8600005, 2430692, 100, 1, 1), + (8600005, 2387093, 100, 1, 1), + (8600005, 4021032, 100, 1, 1), + (8600005, 2003543, 100, 1, 1), + (8600005, 2049401, 100, 1, 1), + (8600005, 4021035, 100, 1, 1), + (8600005, 2330002, 100, 1, 1), + (8600005, 2003532, 100, 1, 1), + (8600005, 2003534, 100, 1, 1), + (8600005, 4021033, 100, 1, 1), + (8600005, 2434021, 100, 1, 1), + (8600005, 2000036, 100, 1, 1), + (8600005, 4000647, 100, 1, 1), + (8600005, 4034983, 100, 1, 1), + (8600005, 2001554, 100, 1, 1), + (8600004, 4021031, 100, 1, 1), + (8600004, 2512013, 100, 1, 1), + (8600004, 2512288, 100, 1, 1), + (8600004, 2870456, 100, 1, 1), + (8600004, 4021020, 100, 1, 1), + (8600004, 4021032, 100, 1, 1), + (8600004, 2512271, 100, 1, 1), + (8600004, 4021035, 100, 1, 1), + (8600004, 2512268, 100, 1, 1), + (8600004, 2000036, 100, 1, 1), + (8600004, 4034983, 100, 1, 1), + (8600004, 2512172, 100, 1, 1), + (8600004, 2512229, 100, 1, 1), + (8600004, 2590004, 100, 1, 1), + (8600004, 2434021, 100, 1, 1), + (8600004, 2512136, 100, 1, 1), + (8600004, 2512283, 100, 1, 1), + (8600004, 2512274, 100, 1, 1), + (8600004, 4000646, 100, 1, 1), + (8600004, 4021033, 100, 1, 1), + (8600004, 2512134, 100, 1, 1), + (8600004, 2048000, 100, 1, 1), + (8600004, 2511035, 100, 1, 1), + (8600004, 4021034, 100, 1, 1), + (8600004, 2001554, 100, 1, 1), + (8600004, 2512091, 100, 1, 1), + (8600004, 2430692, 100, 1, 1), + (8600004, 2512191, 100, 1, 1), + (8600004, 2511101, 100, 1, 1), + (8643012, 4001878, 100, 1, 1), + (8643012, 2000037, 100, 1, 1), + (8643012, 2435902, 100, 1, 1), + (8643012, 4021020, 100, 1, 1), + (8643012, 4021034, 100, 1, 1), + (8643012, 4021031, 100, 1, 1), + (8643012, 2000036, 100, 1, 1), + (8643012, 4021035, 100, 1, 1), + (8643012, 4021033, 100, 1, 1), + (8643012, 4021032, 100, 1, 1), + (8643012, 4034983, 100, 1, 1), + (2600303, 2870245, 100, 1, 1), + (2600303, 2040901, 100, 1, 1), + (2600303, 4003005, 100, 1, 1), + (2600303, 2000037, 100, 1, 1), + (2600303, 2022057, 100, 1, 1), + (2600303, 2001527, 100, 1, 1), + (2600303, 2044701, 100, 1, 1), + (2600303, 2510479, 100, 1, 1), + (2600303, 4007001, 100, 1, 1), + (2600303, 2512287, 100, 1, 1), + (2600303, 2510076, 100, 1, 1), + (2600303, 4006000, 100, 1, 1), + (2600303, 4000289, 100, 1, 1), + (2600303, 2001001, 100, 1, 1), + (2600303, 2512269, 100, 1, 1), + (2600303, 4004003, 100, 1, 1), + (2600303, 4020004, 100, 1, 1), + (2600303, 2001526, 100, 1, 1), + (2600303, 4007000, 100, 1, 1), + (2600303, 2512272, 100, 1, 1), + (2600303, 2330003, 100, 1, 1), + (2600303, 4020002, 100, 1, 1), + (2600303, 2070003, 100, 1, 1), + (2600303, 4000021, 100, 1, 1), + (2600303, 2044312, 100, 1, 1), + (2600302, 2022057, 100, 1, 1), + (2600302, 2040601, 100, 1, 1), + (2600302, 2044412, 100, 1, 1), + (2600302, 2001001, 100, 1, 1), + (2600302, 4007002, 100, 1, 1), + (2600302, 4000299, 100, 1, 1), + (2600302, 2000005, 100, 1, 1), + (2600302, 2060000, 100, 1, 1), + (2600302, 4010006, 100, 1, 1), + (2600302, 2070003, 100, 1, 1), + (2600302, 2040825, 100, 1, 1), + (2600302, 2000006, 100, 1, 1), + (2600302, 4000298, 100, 1, 1), + (2600302, 4007007, 100, 1, 1), + (2600302, 2512055, 100, 1, 1), + (2600302, 4020008, 100, 1, 1), + (2600302, 2001526, 100, 1, 1), + (2600302, 2043017, 100, 1, 1), + (2600302, 2870202, 100, 1, 1), + (2600301, 4020002, 100, 1, 1), + (2600301, 4010006, 100, 1, 1), + (2600301, 2512066, 100, 1, 1), + (2600301, 4000287, 100, 1, 1), + (2600301, 2022057, 100, 1, 1), + (2600301, 2040621, 100, 1, 1), + (2600301, 2048004, 100, 1, 1), + (2600301, 2001526, 100, 1, 1), + (2600301, 2040825, 100, 1, 1), + (2600301, 2000006, 100, 1, 1), + (2600301, 4006001, 100, 1, 1), + (2600301, 4004000, 100, 1, 1), + (2600301, 2000005, 100, 1, 1), + (2600301, 2870200, 100, 1, 1), + (2600301, 2040619, 100, 1, 1), + (2600301, 2001001, 100, 1, 1), + (2600301, 4007006, 100, 1, 1), + (2600301, 4007004, 100, 1, 1), + (2600301, 2043301, 100, 1, 1), + (2600300, 2040026, 100, 1, 1), + (2600300, 2061000, 100, 1, 1), + (2600300, 2000005, 100, 1, 1), + (2600300, 4000286, 100, 1, 1), + (2600300, 2040801, 100, 1, 1), + (2600300, 2044301, 100, 1, 1), + (2600300, 2070010, 100, 1, 1), + (2600300, 2044602, 100, 1, 1), + (2600300, 4007004, 100, 1, 1), + (2600300, 4004002, 100, 1, 1), + (2600300, 2060000, 100, 1, 1), + (2600300, 2512067, 100, 1, 1), + (2600300, 2043401, 100, 1, 1), + (2600300, 2870199, 100, 1, 1), + (2600300, 4007000, 100, 1, 1), + (2600300, 2001526, 100, 1, 1), + (2600300, 4020005, 100, 1, 1), + (6090000, 2870228, 100, 1, 1), + (6090000, 4021034, 100, 1, 1), + (6090000, 4021031, 100, 1, 1), + (6090000, 4021033, 100, 1, 1), + (6090000, 4000336, 100, 1, 1), + (6090000, 4021035, 100, 1, 1), + (6090000, 4000633, 100, 1, 1), + (6090000, 4021032, 100, 1, 1), + (6090001, 4000415, 100, 1, 1), + (6090001, 2870229, 100, 1, 1), + (6090002, 4021034, 100, 1, 1), + (6090002, 4021033, 100, 1, 1), + (6090002, 4021031, 100, 1, 1), + (6090002, 4000414, 100, 1, 1), + (6090002, 4021032, 100, 1, 1), + (6090002, 4021035, 100, 1, 1), + (6090003, 4000416, 100, 1, 1), + (6090003, 2870231, 100, 1, 1), + (2600311, 2512153, 100, 1, 1), + (2600311, 2070004, 100, 1, 1), + (2600311, 2330003, 100, 1, 1), + (2600311, 4021031, 100, 1, 1), + (2600311, 2512236, 100, 1, 1), + (2600311, 2871088, 100, 1, 1), + (2600311, 2512051, 100, 1, 1), + (2600311, 2060000, 100, 1, 1), + (2600311, 2512270, 100, 1, 1), + (2600311, 2512258, 100, 1, 1), + (8642003, 4034945, 100, 1, 1), + (8642003, 4021020, 100, 1, 1), + (8642003, 2000037, 100, 1, 1), + (8642003, 2431174, 100, 1, 1), + (8642003, 4021031, 100, 1, 1), + (8642003, 4021035, 100, 1, 1), + (8642003, 2435902, 100, 1, 1), + (8642003, 2000036, 100, 1, 1), + (8642003, 2590004, 100, 1, 1), + (8642003, 4021034, 100, 1, 1), + (8642003, 4021032, 100, 1, 1), + (8642003, 4021033, 100, 1, 1), + (2600310, 4007004, 100, 1, 1), + (2600310, 2001526, 100, 1, 1), + (2600310, 2000005, 100, 1, 1), + (2600310, 2044212, 100, 1, 1), + (2600310, 2061000, 100, 1, 1), + (2600310, 4004000, 100, 1, 1), + (2600310, 2060000, 100, 1, 1), + (2600310, 4000281, 100, 1, 1), + (2600310, 2870164, 100, 1, 1), + (2600310, 4007003, 100, 1, 1), + (2600310, 2022057, 100, 1, 1), + (2600310, 4010002, 100, 1, 1), + (2600310, 2044801, 100, 1, 1), + (2600310, 4000279, 100, 1, 1), + (2600310, 2044901, 100, 1, 1), + (2600310, 2044002, 100, 1, 1), + (2600310, 4010004, 100, 1, 1), + (2600310, 2512067, 100, 1, 1), + (2600310, 2070004, 100, 1, 1), + (8642002, 4021020, 100, 1, 1), + (8642002, 4021033, 100, 1, 1), + (8642002, 2435902, 100, 1, 1), + (8642002, 4021031, 100, 1, 1), + (8642002, 4034944, 100, 1, 1), + (8642002, 4021034, 100, 1, 1), + (8642002, 2431174, 100, 1, 1), + (8642002, 2590004, 100, 1, 1), + (8642002, 2000036, 100, 1, 1), + (8642002, 2000037, 100, 1, 1), + (8642002, 4021032, 100, 1, 1), + (8642002, 4021035, 100, 1, 1), + (2600309, 4000280, 100, 1, 1), + (2600309, 2040705, 100, 1, 1), + (2600309, 2330002, 100, 1, 1), + (2600309, 4000281, 100, 1, 1), + (2600309, 4004001, 100, 1, 1), + (2600309, 2043301, 100, 1, 1), + (2600309, 2000006, 100, 1, 1), + (2600309, 4020005, 100, 1, 1), + (2600309, 4007007, 100, 1, 1), + (2600309, 2048002, 100, 1, 1), + (2600309, 2060000, 100, 1, 1), + (2600309, 2511106, 100, 1, 1), + (2600309, 4010004, 100, 1, 1), + (2600309, 2001001, 100, 1, 1), + (2600309, 2001527, 100, 1, 1), + (2600309, 2001002, 100, 1, 1), + (2600309, 4007005, 100, 1, 1), + (2600309, 2870163, 100, 1, 1), + (2600309, 2044501, 100, 1, 1), + (8642001, 4021031, 100, 1, 1), + (8642001, 4021020, 100, 1, 1), + (8642001, 2431174, 100, 1, 1), + (8642001, 4021033, 100, 1, 1), + (8642001, 2435902, 100, 1, 1), + (8642001, 4021032, 100, 1, 1), + (8642001, 4021035, 100, 1, 1), + (8642001, 2000037, 100, 1, 1), + (8642001, 4034943, 100, 1, 1), + (8642001, 4021034, 100, 1, 1), + (8642001, 2000036, 100, 1, 1), + (8642001, 2590004, 100, 1, 1), + (2600308, 4004003, 100, 1, 1), + (2600308, 2001527, 100, 1, 1), + (2600308, 4000278, 100, 1, 1), + (2600308, 2000002, 100, 1, 1), + (2600308, 2870162, 100, 1, 1), + (2600308, 2044201, 100, 1, 1), + (2600308, 4020004, 100, 1, 1), + (2600308, 2061000, 100, 1, 1), + (2600308, 2512057, 100, 1, 1), + (2600308, 4020008, 100, 1, 1), + (2600308, 2001001, 100, 1, 1), + (2600308, 4007002, 100, 1, 1), + (2600308, 2048001, 100, 1, 1), + (2600308, 4007007, 100, 1, 1), + (2600308, 2043114, 100, 1, 1), + (2600308, 2044601, 100, 1, 1), + (8642000, 2000037, 100, 1, 1), + (8642000, 4021035, 100, 1, 1), + (8642000, 4034942, 100, 1, 1), + (8642000, 2000036, 100, 1, 1), + (8642000, 2435902, 100, 1, 1), + (8642000, 2590004, 100, 1, 1), + (8642000, 4021031, 100, 1, 1), + (8642000, 2431174, 100, 1, 1), + (8642000, 4021020, 100, 1, 1), + (8642000, 4021032, 100, 1, 1), + (8642000, 4021033, 100, 1, 1), + (8642000, 4021034, 100, 1, 1), + (2600307, 2040621, 100, 1, 1), + (2600307, 2070007, 100, 1, 1), + (2600307, 2870161, 100, 1, 1), + (2600307, 2044601, 100, 1, 1), + (2600307, 4000277, 100, 1, 1), + (2600307, 2049000, 100, 1, 1), + (2600307, 2511106, 100, 1, 1), + (2600307, 2001001, 100, 1, 1), + (2600307, 2000002, 100, 1, 1), + (2600307, 2044801, 100, 1, 1), + (2600307, 2001002, 100, 1, 1), + (2600307, 4010001, 100, 1, 1), + (2600307, 2022057, 100, 1, 1), + (2600307, 4004002, 100, 1, 1), + (2600307, 2330002, 100, 1, 1), + (8642007, 4034949, 100, 1, 1), + (8642007, 4021031, 100, 1, 1), + (8642007, 4021034, 100, 1, 1), + (8642007, 4021033, 100, 1, 1), + (8642007, 4021032, 100, 1, 1), + (8642007, 2000037, 100, 1, 1), + (8642007, 2590004, 100, 1, 1), + (8642007, 2000036, 100, 1, 1), + (8642007, 2431174, 100, 1, 1), + (8642007, 4021020, 100, 1, 1), + (8642007, 2435902, 100, 1, 1), + (8642007, 4021035, 100, 1, 1), + (2600306, 2044601, 100, 1, 1), + (2600306, 4007006, 100, 1, 1), + (2600306, 2022057, 100, 1, 1), + (2600306, 2870160, 100, 1, 1), + (2600306, 2330002, 100, 1, 1), + (2600306, 2001527, 100, 1, 1), + (2600306, 2048005, 100, 1, 1), + (2600306, 4000021, 100, 1, 1), + (2600306, 2000002, 100, 1, 1), + (2600306, 2000006, 100, 1, 1), + (2600306, 2511106, 100, 1, 1), + (2600306, 4010006, 100, 1, 1), + (2600306, 2061000, 100, 1, 1), + (2600306, 2070007, 100, 1, 1), + (2600306, 2044801, 100, 1, 1), + (2600306, 4010001, 100, 1, 1), + (2600306, 2001001, 100, 1, 1), + (2600306, 4000276, 100, 1, 1), + (2600306, 4007005, 100, 1, 1), + (8642006, 4021034, 100, 1, 1), + (8642006, 4034948, 100, 1, 1), + (8642006, 4021020, 100, 1, 1), + (8642006, 4021033, 100, 1, 1), + (8642006, 2435902, 100, 1, 1), + (8642006, 2431174, 100, 1, 1), + (8642006, 4021035, 100, 1, 1), + (8642006, 4021032, 100, 1, 1), + (8642006, 2000036, 100, 1, 1), + (8642006, 4021031, 100, 1, 1), + (8642006, 2000037, 100, 1, 1), + (8642006, 2590004, 100, 1, 1), + (8642005, 4021034, 100, 1, 1), + (8642005, 2431174, 100, 1, 1), + (8642005, 2590004, 100, 1, 1), + (8642005, 4021020, 100, 1, 1), + (8642005, 2435902, 100, 1, 1), + (8642005, 4021031, 100, 1, 1), + (8642005, 2000037, 100, 1, 1), + (8642005, 4021032, 100, 1, 1), + (8642005, 4021033, 100, 1, 1), + (8642005, 4034947, 100, 1, 1), + (8642005, 4021035, 100, 1, 1), + (8642005, 2000036, 100, 1, 1), + (2600304, 2022149, 100, 1, 1), + (2600304, 2512055, 100, 1, 1), + (2600304, 2512153, 100, 1, 1), + (2600304, 2061001, 100, 1, 1), + (2600304, 2512115, 100, 1, 1), + (2600304, 2512236, 100, 1, 1), + (2600304, 2000003, 100, 1, 1), + (2600304, 4000298, 100, 1, 1), + (2600304, 4009003, 100, 1, 1), + (2600304, 4010005, 100, 1, 1), + (2600304, 4004004, 100, 1, 1), + (2600304, 2070007, 100, 1, 1), + (2600304, 2049000, 100, 1, 1), + (2600304, 4000412, 100, 1, 1), + (2600304, 2000002, 100, 1, 1), + (2600304, 2870302, 100, 1, 1), + (2600304, 4020008, 100, 1, 1), + (2600304, 2870183, 100, 1, 1), + (2600304, 2060001, 100, 1, 1), + (2600304, 2600305, 100, 1, 1), + (2600304, 2000005, 100, 1, 1), + (2600304, 2512028, 100, 1, 1), + (8642004, 2431174, 100, 1, 1), + (8642004, 4021031, 100, 1, 1), + (8642004, 4021035, 100, 1, 1), + (8642004, 4034946, 100, 1, 1), + (8642004, 2000036, 100, 1, 1), + (8642004, 2435902, 100, 1, 1), + (8642004, 4021020, 100, 1, 1), + (8642004, 4021034, 100, 1, 1), + (8642004, 4021033, 100, 1, 1), + (8642004, 2000037, 100, 1, 1), + (8642004, 4021032, 100, 1, 1), + (8642004, 2590004, 100, 1, 1), + (2600319, 4000293, 100, 1, 1), + (2600319, 2001001, 100, 1, 1), + (2600319, 2043017, 100, 1, 1), + (2600319, 2040801, 100, 1, 1), + (2600319, 4004003, 100, 1, 1), + (2600319, 2001526, 100, 1, 1), + (2600319, 2060000, 100, 1, 1), + (2600319, 2000037, 100, 1, 1), + (2600319, 2043201, 100, 1, 1), + (2600319, 4006000, 100, 1, 1), + (2600319, 2512281, 100, 1, 1), + (2600319, 2511019, 100, 1, 1), + (2600319, 2870197, 100, 1, 1), + (2600319, 4020005, 100, 1, 1), + (2600319, 2330002, 100, 1, 1), + (2600319, 2044903, 100, 1, 1), + (2600319, 2512273, 100, 1, 1), + (2600319, 2512275, 100, 1, 1), + (2600319, 4007004, 100, 1, 1), + (2600319, 2022057, 100, 1, 1), + (2600319, 4010001, 100, 1, 1), + (2600319, 4007003, 100, 1, 1), + (8642011, 2000037, 100, 1, 1), + (8642011, 2590004, 100, 1, 1), + (8642011, 4021020, 100, 1, 1), + (8642011, 4034953, 100, 1, 1), + (8642011, 4021033, 100, 1, 1), + (8642011, 4021031, 100, 1, 1), + (8642011, 2431174, 100, 1, 1), + (8642011, 4021034, 100, 1, 1), + (8642011, 2000036, 100, 1, 1), + (8642011, 2435902, 100, 1, 1), + (8642011, 4021032, 100, 1, 1), + (8642011, 4021035, 100, 1, 1), + (2600318, 2048005, 100, 1, 1), + (2600318, 2040601, 100, 1, 1), + (2600318, 2512273, 100, 1, 1), + (2600318, 2510053, 100, 1, 1), + (2600318, 2061000, 100, 1, 1), + (2600318, 2000037, 100, 1, 1), + (2600318, 2512269, 100, 1, 1), + (2600318, 4000292, 100, 1, 1), + (2600318, 2070009, 100, 1, 1), + (2600318, 4007002, 100, 1, 1), + (2600318, 2512281, 100, 1, 1), + (2600318, 4010001, 100, 1, 1), + (2600318, 2000005, 100, 1, 1), + (2600318, 2048001, 100, 1, 1), + (2600318, 2870166, 100, 1, 1), + (2600318, 4020000, 100, 1, 1), + (2600318, 2001526, 100, 1, 1), + (2600318, 2049100, 100, 1, 1), + (2600318, 4006001, 100, 1, 1), + (2600318, 2022057, 100, 1, 1), + (2600318, 4007004, 100, 1, 1), + (8642010, 4021034, 100, 1, 1), + (8642010, 4021020, 100, 1, 1), + (8642010, 4021033, 100, 1, 1), + (8642010, 2431174, 100, 1, 1), + (8642010, 4034952, 100, 1, 1), + (8642010, 2000037, 100, 1, 1), + (8642010, 2435902, 100, 1, 1), + (8642010, 4021032, 100, 1, 1), + (8642010, 4021031, 100, 1, 1), + (8642010, 2590004, 100, 1, 1), + (8642010, 2000036, 100, 1, 1), + (8642010, 4021035, 100, 1, 1), + (2600317, 4007004, 100, 1, 1), + (2600317, 2048001, 100, 1, 1), + (2600317, 4007001, 100, 1, 1), + (2600317, 2043401, 100, 1, 1), + (2600317, 2061000, 100, 1, 1), + (2600317, 2001001, 100, 1, 1), + (2600317, 2001002, 100, 1, 1), + (2600317, 2070003, 100, 1, 1), + (2600317, 2512287, 100, 1, 1), + (2600317, 4000291, 100, 1, 1), + (2600317, 4020000, 100, 1, 1), + (2600317, 2044102, 100, 1, 1), + (2600317, 2044412, 100, 1, 1), + (2600317, 2001527, 100, 1, 1), + (2600317, 2870165, 100, 1, 1), + (2600317, 2511026, 100, 1, 1), + (2600317, 4020006, 100, 1, 1), + (2600317, 2022057, 100, 1, 1), + (2600317, 2512273, 100, 1, 1), + (2600317, 4004002, 100, 1, 1), + (2600317, 4006001, 100, 1, 1), + (2600317, 2000005, 100, 1, 1), + (8642009, 4021035, 100, 1, 1), + (8642009, 4021032, 100, 1, 1), + (8642009, 4021034, 100, 1, 1), + (8642009, 2435902, 100, 1, 1), + (8642009, 2431174, 100, 1, 1), + (8642009, 4021020, 100, 1, 1), + (8642009, 4021033, 100, 1, 1), + (8642009, 2590004, 100, 1, 1), + (8642009, 4034951, 100, 1, 1), + (8642009, 4021031, 100, 1, 1), + (8642009, 2000036, 100, 1, 1), + (8642009, 2000037, 100, 1, 1), + (2600316, 4000284, 100, 1, 1), + (2600316, 2510260, 100, 1, 1), + (2600316, 2512058, 100, 1, 1), + (2600316, 2002011, 100, 1, 1), + (2600316, 2512056, 100, 1, 1), + (2600316, 2000005, 100, 1, 1), + (2600316, 2512266, 100, 1, 1), + (2600316, 2512281, 100, 1, 1), + (2600316, 2061001, 100, 1, 1), + (2600316, 4000021, 100, 1, 1), + (2600316, 4020006, 100, 1, 1), + (2600316, 2000002, 100, 1, 1), + (2600316, 2870300, 100, 1, 1), + (2600316, 4011007, 100, 1, 1), + (2600316, 2022142, 100, 1, 1), + (2600316, 4000285, 100, 1, 1), + (2600316, 4010001, 100, 1, 1), + (2600316, 2070004, 100, 1, 1), + (2600316, 4004000, 100, 1, 1), + (2600316, 2512053, 100, 1, 1), + (2600316, 4000283, 100, 1, 1), + (2600316, 2510172, 100, 1, 1), + (2600316, 2049100, 100, 1, 1), + (2600316, 2060001, 100, 1, 1), + (2600316, 2000003, 100, 1, 1), + (2600316, 4021009, 100, 1, 1), + (8642008, 2435902, 100, 1, 1), + (8642008, 2590004, 100, 1, 1), + (8642008, 2000037, 100, 1, 1), + (8642008, 2431174, 100, 1, 1), + (8642008, 4021035, 100, 1, 1), + (8642008, 2000036, 100, 1, 1), + (8642008, 4021031, 100, 1, 1), + (8642008, 4034950, 100, 1, 1), + (8642008, 4021034, 100, 1, 1), + (8642008, 4021020, 100, 1, 1), + (8642008, 4021032, 100, 1, 1), + (8642008, 4021033, 100, 1, 1), + (2600315, 4003005, 100, 1, 1), + (2600315, 2044014, 100, 1, 1), + (2600315, 2000006, 100, 1, 1), + (2600315, 2001002, 100, 1, 1), + (2600315, 2512057, 100, 1, 1), + (2600315, 2044601, 100, 1, 1), + (2600315, 2043401, 100, 1, 1), + (2600315, 2001527, 100, 1, 1), + (2600315, 2870241, 100, 1, 1), + (2600315, 4007007, 100, 1, 1), + (2600315, 4000283, 100, 1, 1), + (2600315, 2070005, 100, 1, 1), + (2600315, 4010005, 100, 1, 1), + (2600315, 4020007, 100, 1, 1), + (2600315, 4007003, 100, 1, 1), + (2600315, 2022057, 100, 1, 1), + (2600315, 2000005, 100, 1, 1), + (2600315, 2061000, 100, 1, 1), + (2600315, 2044301, 100, 1, 1), + (2600315, 4000285, 100, 1, 1), + (2600315, 4000021, 100, 1, 1), + (8642015, 2000037, 100, 1, 1), + (8642015, 4034957, 100, 1, 1), + (8642015, 4021032, 100, 1, 1), + (8642015, 2435902, 100, 1, 1), + (8642015, 2431174, 100, 1, 1), + (8642015, 4021020, 100, 1, 1), + (8642015, 4021031, 100, 1, 1), + (8642015, 4021034, 100, 1, 1), + (8642015, 4021035, 100, 1, 1), + (8642015, 4021033, 100, 1, 1), + (8642015, 2590004, 100, 1, 1), + (8642015, 2000036, 100, 1, 1), + (2600314, 2001527, 100, 1, 1), + (2600314, 2510479, 100, 1, 1), + (2600314, 4020004, 100, 1, 1), + (2600314, 2040901, 100, 1, 1), + (2600314, 2043401, 100, 1, 1), + (2600314, 2061000, 100, 1, 1), + (2600314, 2512281, 100, 1, 1), + (2600314, 2511044, 100, 1, 1), + (2600314, 2870243, 100, 1, 1), + (2600314, 4000021, 100, 1, 1), + (2600314, 2001528, 100, 1, 1), + (2600314, 4000282, 100, 1, 1), + (2600314, 2040328, 100, 1, 1), + (2600314, 2022057, 100, 1, 1), + (2600314, 2048000, 100, 1, 1), + (2600314, 4007006, 100, 1, 1), + (2600314, 2512272, 100, 1, 1), + (2600314, 4003005, 100, 1, 1), + (2600314, 2060000, 100, 1, 1), + (2600314, 4007007, 100, 1, 1), + (2600314, 2001001, 100, 1, 1), + (8642014, 4021031, 100, 1, 1), + (8642014, 2000036, 100, 1, 1), + (8642014, 2590004, 100, 1, 1), + (8642014, 4021032, 100, 1, 1), + (8642014, 4021033, 100, 1, 1), + (8642014, 2000037, 100, 1, 1), + (8642014, 2435902, 100, 1, 1), + (8642014, 4021020, 100, 1, 1), + (8642014, 4021035, 100, 1, 1), + (8642014, 4034956, 100, 1, 1), + (8642014, 2431174, 100, 1, 1), + (8642014, 4021034, 100, 1, 1), + (2600313, 2512067, 100, 1, 1), + (2600313, 2049000, 100, 1, 1), + (2600313, 4010006, 100, 1, 1), + (2600313, 4007005, 100, 1, 1), + (2600313, 2000005, 100, 1, 1), + (2600313, 2043801, 100, 1, 1), + (2600313, 2870201, 100, 1, 1), + (2600313, 2000006, 100, 1, 1), + (2600313, 2040621, 100, 1, 1), + (2600313, 2001526, 100, 1, 1), + (2600313, 4007007, 100, 1, 1), + (2600313, 4003005, 100, 1, 1), + (2600313, 2001002, 100, 1, 1), + (2600313, 4000021, 100, 1, 1), + (2600313, 2060000, 100, 1, 1), + (2600313, 2061000, 100, 1, 1), + (2600313, 2043017, 100, 1, 1), + (8642013, 4021034, 100, 1, 1), + (8642013, 2000037, 100, 1, 1), + (8642013, 2431174, 100, 1, 1), + (8642013, 4021033, 100, 1, 1), + (8642013, 4021031, 100, 1, 1), + (8642013, 2590004, 100, 1, 1), + (8642013, 4021035, 100, 1, 1), + (8642013, 4021020, 100, 1, 1), + (8642013, 2000036, 100, 1, 1), + (8642013, 4034955, 100, 1, 1), + (8642013, 2435902, 100, 1, 1), + (8642013, 4021032, 100, 1, 1), + (2600312, 4004004, 100, 1, 1), + (2600312, 2512058, 100, 1, 1), + (2600312, 2043001, 100, 1, 1), + (2600312, 4000283, 100, 1, 1), + (2600312, 4007002, 100, 1, 1), + (2600312, 4020004, 100, 1, 1), + (2600312, 2000005, 100, 1, 1), + (2600312, 2001001, 100, 1, 1), + (2600312, 2049100, 100, 1, 1), + (2600312, 2040601, 100, 1, 1), + (2600312, 2001526, 100, 1, 1), + (2600312, 4004002, 100, 1, 1), + (2600312, 4000284, 100, 1, 1), + (2600312, 2040031, 100, 1, 1), + (2600312, 2870196, 100, 1, 1), + (2600312, 4000021, 100, 1, 1), + (2600312, 4003005, 100, 1, 1), + (2600312, 4010005, 100, 1, 1), + (2600312, 2000006, 100, 1, 1), + (8642012, 2000037, 100, 1, 1), + (8642012, 4021020, 100, 1, 1), + (8642012, 4021031, 100, 1, 1), + (8642012, 2000036, 100, 1, 1), + (8642012, 2590004, 100, 1, 1), + (8642012, 4021035, 100, 1, 1), + (8642012, 4034954, 100, 1, 1), + (8642012, 2431174, 100, 1, 1), + (8642012, 4021032, 100, 1, 1), + (8642012, 2435902, 100, 1, 1), + (8642012, 4021033, 100, 1, 1), + (8642012, 4021034, 100, 1, 1), + (8642016, 4034958, 100, 1, 1), + (8142100, 4021035, 100, 1, 1), + (8142100, 4021034, 100, 1, 1), + (8142100, 2590004, 100, 1, 1), + (8142100, 4021033, 100, 1, 1), + (8142100, 2000037, 100, 1, 1), + (8142100, 4000184, 100, 1, 1), + (8142100, 4021032, 100, 1, 1), + (8142100, 2434021, 100, 1, 1), + (8142100, 2001528, 100, 1, 1), + (8142100, 4021031, 100, 1, 1), + (8142100, 2870333, 100, 1, 1), + (8641003, 4021034, 100, 1, 1), + (8641003, 4021035, 100, 1, 1), + (8641003, 4021032, 100, 1, 1), + (8641003, 4034925, 100, 1, 1), + (8641003, 4021031, 100, 1, 1), + (8641003, 4034917, 100, 1, 1), + (8641003, 4021033, 100, 1, 1), + (8641003, 2435902, 100, 1, 1), + (8641003, 2000037, 100, 1, 1), + (8641003, 4034934, 100, 1, 1), + (8641003, 4021020, 100, 1, 1), + (8641003, 2000036, 100, 1, 1), + (8641002, 4021032, 100, 1, 1), + (8641002, 2000037, 100, 1, 1), + (8641002, 4021031, 100, 1, 1), + (8641002, 2000036, 100, 1, 1), + (8641002, 4034924, 100, 1, 1), + (8641002, 4021034, 100, 1, 1), + (8641002, 4021020, 100, 1, 1), + (8641002, 2435902, 100, 1, 1), + (8641002, 4021033, 100, 1, 1), + (8641002, 4034934, 100, 1, 1), + (8641002, 4021035, 100, 1, 1), + (8641002, 4034916, 100, 1, 1), + (8641001, 4034934, 100, 1, 1), + (8641001, 4021020, 100, 1, 1), + (8641001, 4021035, 100, 1, 1), + (8641001, 4021032, 100, 1, 1), + (8641001, 4021031, 100, 1, 1), + (8641001, 4021034, 100, 1, 1), + (8641001, 4034915, 100, 1, 1), + (8641001, 4021033, 100, 1, 1), + (8641001, 2000036, 100, 1, 1), + (8641001, 2435902, 100, 1, 1), + (8641001, 4034923, 100, 1, 1), + (8641001, 2000037, 100, 1, 1), + (8641000, 4021035, 100, 1, 1), + (8641000, 2000037, 100, 1, 1), + (8641000, 4021034, 100, 1, 1), + (8641000, 4021020, 100, 1, 1), + (8641000, 4034934, 100, 1, 1), + (8641000, 4034914, 100, 1, 1), + (8641000, 2435902, 100, 1, 1), + (8641000, 4021031, 100, 1, 1), + (8641000, 4021033, 100, 1, 1), + (8641000, 4034922, 100, 1, 1), + (8641000, 4021032, 100, 1, 1), + (8641000, 2000036, 100, 1, 1), + (8641007, 4021020, 100, 1, 1), + (8641007, 4021032, 100, 1, 1), + (8641007, 4021031, 100, 1, 1), + (8641007, 4021033, 100, 1, 1), + (8641007, 4034921, 100, 1, 1), + (8641007, 4034929, 100, 1, 1), + (8641007, 2000037, 100, 1, 1), + (8641007, 2000036, 100, 1, 1), + (8641007, 4021034, 100, 1, 1), + (8641007, 2435902, 100, 1, 1), + (8641007, 4021035, 100, 1, 1), + (8641007, 4034936, 100, 1, 1), + (8641006, 4021032, 100, 1, 1), + (8641006, 4021035, 100, 1, 1), + (8641006, 4034920, 100, 1, 1), + (8641006, 2000037, 100, 1, 1), + (8641006, 4034935, 100, 1, 1), + (8641006, 4034928, 100, 1, 1), + (8641006, 2000036, 100, 1, 1), + (8641006, 4021033, 100, 1, 1), + (8641006, 4021031, 100, 1, 1), + (8641006, 4021034, 100, 1, 1), + (8641006, 2435902, 100, 1, 1), + (8641006, 4021020, 100, 1, 1), + (8641005, 4021035, 100, 1, 1), + (8641005, 4034935, 100, 1, 1), + (8641005, 4021032, 100, 1, 1), + (8641005, 4021033, 100, 1, 1), + (8641005, 4021031, 100, 1, 1), + (8641005, 4034919, 100, 1, 1), + (8641005, 2000036, 100, 1, 1), + (8641005, 2435902, 100, 1, 1), + (8641005, 4021020, 100, 1, 1), + (8641005, 2000037, 100, 1, 1), + (8641005, 4021034, 100, 1, 1), + (8641005, 4034927, 100, 1, 1), + (8641004, 4021031, 100, 1, 1), + (8641004, 4021033, 100, 1, 1), + (8641004, 4021020, 100, 1, 1), + (8641004, 4021032, 100, 1, 1), + (8641004, 4021035, 100, 1, 1), + (8641004, 2000037, 100, 1, 1), + (8641004, 4034918, 100, 1, 1), + (8641004, 4034935, 100, 1, 1), + (8641004, 4021034, 100, 1, 1), + (8641004, 2000036, 100, 1, 1), + (8641004, 2435902, 100, 1, 1), + (8641004, 4034926, 100, 1, 1), + (3400001, 4034452, 100, 1, 1), + (3400001, 4034451, 100, 1, 1), + (3400001, 3400002, 100, 1, 1), + (8641009, 4021020, 100, 1, 1), + (8641009, 4021034, 100, 1, 1), + (8641009, 4021035, 100, 1, 1), + (8641009, 2435902, 100, 1, 1), + (8641009, 4021033, 100, 1, 1), + (8641009, 2000036, 100, 1, 1), + (8641009, 4021031, 100, 1, 1), + (8641009, 2000037, 100, 1, 1), + (8641009, 4021032, 100, 1, 1), + (3400000, 4034450, 100, 1, 1), + (8641008, 4021032, 100, 1, 1), + (8641008, 4021031, 100, 1, 1), + (8641008, 2000037, 100, 1, 1), + (8641008, 4034930, 100, 1, 1), + (8641008, 4021033, 100, 1, 1), + (8641008, 2000036, 100, 1, 1), + (8641008, 4021020, 100, 1, 1), + (8641008, 4021035, 100, 1, 1), + (8641008, 2435902, 100, 1, 1), + (8641008, 4034921, 100, 1, 1), + (8641008, 4034936, 100, 1, 1), + (8641008, 4021034, 100, 1, 1), + (3400006, 4000543, 100, 1, 1), + (3400004, 4000257, 100, 1, 1), + (5150001, 2870213, 100, 1, 1), + (5150001, 4000206, 100, 1, 1), + (5150001, 2434021, 100, 1, 1), + (9000201, 4031013, 9000, 1, 1), + (4230600, 4000332, 100, 1, 1), + (4230600, 2870167, 100, 1, 1), + (8141300, 2070004, 100, 1, 1), + (8141300, 2434021, 100, 1, 1), + (8141300, 2590004, 100, 1, 1), + (8141300, 4021035, 100, 1, 1), + (8141300, 2001528, 100, 1, 1), + (8141300, 2000037, 100, 1, 1), + (8141300, 4021033, 100, 1, 1), + (8141300, 4000183, 100, 1, 1), + (8141300, 4021032, 100, 1, 1), + (8141300, 4021031, 100, 1, 1), + (8141300, 2870331, 100, 1, 1), + (8141300, 4021034, 100, 1, 1), + (5400000, 4000088, 100, 1, 1), + (5400000, 2870227, 100, 1, 1), + (8910100, 3010512, 100, 1, 1), + (8910100, 2000005, 100, 1, 1), + (8910100, 2433515, 100, 1, 1), + (8910100, 4310064, 100, 1, 1), + (8910100, 2433103, 100, 1, 1), + (8910100, 4310029, 100, 1, 1), + (1140100, 4010004, 100, 1, 1), + (1140100, 4000195, 100, 1, 1), + (1140100, 4020007, 100, 1, 1), + (1140100, 4010000, 100, 1, 1), + (1140100, 2040620, 100, 1, 1), + (1140100, 2043100, 100, 1, 1), + (1140100, 2040823, 100, 1, 1), + (1140100, 2044802, 100, 1, 1), + (1140100, 2870014, 100, 1, 1), + (1140100, 2000001, 100, 1, 1), + (1140100, 2060000, 100, 1, 1), + (8300006, 4001401, 100, 1, 1), + (8300007, 4001545, 100, 1, 1), + (8300007, 2431657, 100, 1, 1), + (2600326, 4021035, 100, 1, 1), + (2600326, 4021033, 100, 1, 1), + (2600326, 4021032, 100, 1, 1), + (2600326, 2000036, 100, 1, 1), + (2600326, 4021040, 100, 1, 1), + (2600326, 2001554, 100, 1, 1), + (2600326, 2434021, 100, 1, 1), + (2600326, 4021031, 100, 1, 1), + (2600326, 4009026, 100, 1, 1), + (2600326, 4021034, 100, 1, 1), + (2600326, 4310085, 100, 1, 1), + (2600326, 2590004, 100, 1, 1), + (2600325, 2000036, 100, 1, 1), + (2600325, 4021032, 100, 1, 1), + (2600325, 4310085, 100, 1, 1), + (2600325, 4009025, 100, 1, 1), + (2600325, 4021040, 100, 1, 1), + (2600325, 4021034, 100, 1, 1), + (2600325, 4021031, 100, 1, 1), + (2600325, 2434021, 100, 1, 1), + (2600325, 4021033, 100, 1, 1), + (2600325, 4021035, 100, 1, 1), + (2600325, 2001554, 100, 1, 1), + (2600325, 2590004, 100, 1, 1), + (2600324, 4021032, 100, 1, 1), + (2600324, 4021035, 100, 1, 1), + (2600324, 4021033, 100, 1, 1), + (2600324, 2001554, 100, 1, 1), + (2600324, 4021031, 100, 1, 1), + (2600324, 4021034, 100, 1, 1), + (2600324, 2870283, 100, 1, 1), + (2600324, 2000036, 100, 1, 1), + (2600324, 2590004, 100, 1, 1), + (2600324, 2434021, 100, 1, 1), + (2600324, 4000297, 100, 1, 1), + (2600323, 4021034, 100, 1, 1), + (2600323, 2000037, 100, 1, 1), + (2600323, 2049401, 100, 1, 1), + (2600323, 4000296, 100, 1, 1), + (2600323, 4021032, 100, 1, 1), + (2600323, 2590004, 100, 1, 1), + (2600323, 4021033, 100, 1, 1), + (2600323, 2434021, 100, 1, 1), + (2600323, 2430692, 100, 1, 1), + (2600323, 2001528, 100, 1, 1), + (2600323, 4021035, 100, 1, 1), + (2600323, 2870244, 100, 1, 1), + (2600323, 4021031, 100, 1, 1), + (3230101, 2870093, 100, 1, 1), + (3230101, 4000035, 100, 1, 1), + (2600322, 2430692, 100, 1, 1), + (2600322, 4003005, 100, 1, 1), + (2600322, 4021034, 100, 1, 1), + (2600322, 4021031, 100, 1, 1), + (2600322, 2512127, 100, 1, 1), + (2600322, 2512272, 100, 1, 1), + (2600322, 2434021, 100, 1, 1), + (2600322, 4021032, 100, 1, 1), + (2600322, 4021035, 100, 1, 1), + (2600322, 2049401, 100, 1, 1), + (2600322, 2000037, 100, 1, 1), + (2600322, 2870242, 100, 1, 1), + (2600322, 2049000, 100, 1, 1), + (2600322, 4021033, 100, 1, 1), + (2600322, 2512278, 100, 1, 1), + (2600322, 4000021, 100, 1, 1), + (2600322, 2590004, 100, 1, 1), + (2600322, 2001528, 100, 1, 1), + (2600322, 2048002, 100, 1, 1), + (2600322, 4000295, 100, 1, 1), + (3230100, 2870092, 100, 1, 1), + (3230100, 4000013, 100, 1, 1), + (2600321, 4310085, 100, 1, 1), + (2600321, 4021032, 100, 1, 1), + (2600321, 4021031, 100, 1, 1), + (2600321, 4021035, 100, 1, 1), + (2600321, 4021034, 100, 1, 1), + (2600321, 4021040, 100, 1, 1), + (2600321, 4021033, 100, 1, 1), + (3230103, 2870095, 100, 1, 1), + (3230103, 4000100, 100, 1, 1), + (8820000, 2433103, 100, 1, 1), + (8820000, 4021034, 100, 1, 1), + (8820000, 4021033, 100, 1, 1), + (8820000, 4021032, 100, 1, 1), + (8820000, 2431661, 100, 1, 1), + (8820000, 2000005, 100, 1, 1), + (8820000, 4310029, 100, 1, 1), + (8820000, 4021031, 100, 1, 1), + (8820000, 4021035, 100, 1, 1), + (8820000, 4021020, 100, 1, 1), + (3230102, 2870094, 100, 1, 1), + (3230102, 4000043, 100, 1, 1), + (5100005, 2000036, 100, 1, 1), + (5100005, 2001554, 100, 1, 1), + (5100005, 4021031, 100, 1, 1), + (5100005, 4021034, 100, 1, 1), + (5100005, 2870187, 100, 1, 1), + (5100005, 2434021, 100, 1, 1), + (5100005, 4021033, 100, 1, 1), + (5100005, 4021032, 100, 1, 1), + (5100005, 4034651, 100, 1, 1), + (5100005, 4034653, 100, 1, 1), + (5100005, 4021035, 100, 1, 1), + (5100005, 2590004, 100, 1, 1), + (3230104, 2870096, 100, 1, 1), + (3230104, 4000167, 100, 1, 1), + (5100004, 2870186, 100, 1, 1), + (5100004, 4000172, 100, 1, 1), + (5100004, 4000021, 100, 1, 1), + (5100000, 2590004, 100, 1, 1), + (5100000, 2431174, 100, 1, 1), + (5100000, 4021034, 100, 1, 1), + (5100000, 2870184, 100, 1, 1), + (5100000, 4021033, 100, 1, 1), + (5100000, 4021032, 100, 1, 1), + (5100000, 2001001, 100, 1, 1), + (5100000, 4021035, 100, 1, 1), + (5100000, 2001002, 100, 1, 1), + (5100000, 4000048, 100, 1, 1), + (5100003, 2000036, 100, 1, 1), + (5100003, 4021033, 100, 1, 1), + (5100003, 4021035, 100, 1, 1), + (5100003, 4021032, 100, 1, 1), + (5100003, 2870185, 100, 1, 1), + (5100003, 2000037, 100, 1, 1), + (5100003, 2431174, 100, 1, 1), + (5100003, 2590004, 100, 1, 1), + (5100003, 4021034, 100, 1, 1), + (5100002, 4000081, 100, 1, 1), + (3110301, 2870072, 100, 1, 1), + (3110301, 4000352, 100, 1, 1), + (1140130, 2043800, 100, 1, 1), + (1140130, 2000000, 100, 1, 1), + (1140130, 4000195, 100, 1, 1), + (1140130, 2870015, 100, 1, 1), + (1140130, 2044802, 100, 1, 1), + (1140130, 2044200, 100, 1, 1), + (1140130, 2044400, 100, 1, 1), + (1140130, 2060000, 100, 1, 1), + (5120502, 2590004, 100, 1, 1), + (5120502, 2512124, 100, 1, 1), + (5120502, 2001528, 100, 1, 1), + (5120502, 2512281, 100, 1, 1), + (5120502, 2048000, 100, 1, 1), + (5120502, 4006000, 100, 1, 1), + (5120502, 2431174, 100, 1, 1), + (5120502, 2000037, 100, 1, 1), + (5120502, 4021034, 100, 1, 1), + (5120502, 4021033, 100, 1, 1), + (5120502, 2430692, 100, 1, 1), + (5120502, 4009020, 100, 1, 1), + (5120502, 4021031, 100, 1, 1), + (5120502, 2870198, 100, 1, 1), + (5120502, 4021032, 100, 1, 1), + (5120502, 4021035, 100, 1, 1), + (5120502, 2049401, 100, 1, 1), + (5120500, 4003005, 100, 1, 1), + (5120500, 2049100, 100, 1, 1), + (5120500, 4000284, 100, 1, 1), + (5120500, 2590004, 100, 1, 1), + (5120500, 2001526, 100, 1, 1), + (5120500, 2512058, 100, 1, 1), + (5120500, 4021033, 100, 1, 1), + (5120500, 2870196, 100, 1, 1), + (5120500, 2000006, 100, 1, 1), + (5120500, 4021032, 100, 1, 1), + (5120500, 2001001, 100, 1, 1), + (5120500, 2430692, 100, 1, 1), + (5120500, 4021034, 100, 1, 1), + (5120500, 4021035, 100, 1, 1), + (5120500, 4000283, 100, 1, 1), + (5120500, 2431174, 100, 1, 1), + (5120500, 2001527, 100, 1, 1), + (5120500, 4000021, 100, 1, 1), + (2600423, 4000617, 100, 1, 1), + (2600423, 2870307, 100, 1, 1), + (2600422, 2001002, 100, 1, 1), + (2600422, 4021032, 100, 1, 1), + (2600422, 2590004, 100, 1, 1), + (2600422, 4000616, 100, 1, 1), + (2600422, 4021033, 100, 1, 1), + (2600422, 4021034, 100, 1, 1), + (2600422, 2434021, 100, 1, 1), + (2600422, 2001001, 100, 1, 1), + (2600422, 4021035, 100, 1, 1), + (2600421, 4021033, 100, 1, 1), + (2600421, 4021034, 100, 1, 1), + (2600421, 2001002, 100, 1, 1), + (2600421, 2434021, 100, 1, 1), + (2600421, 2001001, 100, 1, 1), + (2600421, 2590004, 100, 1, 1), + (2600421, 4021032, 100, 1, 1), + (2600421, 4021035, 100, 1, 1), + (2600421, 4000615, 100, 1, 1), + (8520000, 4000175, 100, 1, 1), + (8520000, 4021033, 100, 1, 1), + (8520000, 4021035, 100, 1, 1), + (8520000, 4001085, 100, 1, 1), + (8520000, 4021034, 100, 1, 1), + (8520000, 4021032, 100, 1, 1), + (8520000, 4031253, 100, 1, 1), + (8520000, 4021031, 100, 1, 1), + (8520000, 2431895, 100, 1, 1), + (2600420, 4000613, 100, 1, 1), + (2600419, 4009046, 100, 1, 1), + (2600418, 2870309, 100, 1, 1), + (2600418, 4032776, 100, 1, 1), + (2600418, 4000619, 100, 1, 1), + (2600417, 2870297, 100, 1, 1), + (2600417, 4032771, 100, 1, 1), + (2600417, 4000614, 100, 1, 1), + (2600416, 4032771, 100, 1, 1), + (2600416, 4021033, 100, 1, 1), + (2600416, 4021032, 100, 1, 1), + (2600416, 4021034, 100, 1, 1), + (2600416, 2870297, 100, 1, 1), + (2600416, 2434021, 100, 1, 1), + (2600416, 2001002, 100, 1, 1), + (2600416, 2001001, 100, 1, 1), + (2600416, 2590004, 100, 1, 1), + (2600416, 4034533, 100, 1, 1), + (2600416, 4021035, 100, 1, 1), + (3230200, 4000059, 100, 1, 1), + (3230200, 2430692, 100, 1, 1), + (3230200, 2870097, 100, 1, 1), + (3230200, 2431174, 100, 1, 1), + (3230200, 4021032, 100, 1, 1), + (3230200, 4021035, 100, 1, 1), + (3230200, 2001001, 100, 1, 1), + (3230200, 2001002, 100, 1, 1), + (3230200, 4021033, 100, 1, 1), + (3230200, 2590004, 100, 1, 1), + (3230200, 4031309, 100, 1, 1), + (3230200, 4021034, 100, 1, 1), + (2600424, 4000618, 100, 1, 1), + (2600424, 2870308, 100, 1, 1), + (4250000, 4033109, 500, 1, 1), + (4250000, 4000436, 100, 1, 1), + (4250000, 2870169, 100, 1, 1), + (4250001, 2870170, 100, 1, 1), + (4250001, 4033109, 500, 1, 1), + (4250001, 4000438, 100, 1, 1), + (6230401, 2870254, 100, 1, 1), + (8860002, 2002058, 100, 1, 1), + (9000300, 4031013, 9000, 1, 1), + (8860001, 2433103, 100, 1, 1), + (8860001, 4021033, 100, 1, 1), + (8860001, 4021035, 100, 1, 1), + (8860001, 4021032, 100, 1, 1), + (8860001, 2000005, 100, 1, 1), + (8860001, 4310029, 100, 1, 1), + (8860001, 4021031, 100, 1, 1), + (8860001, 4021034, 100, 1, 1), + (8860001, 2431753, 100, 1, 1), + (8860000, 4021033, 100, 1, 1), + (8860000, 4310029, 100, 1, 1), + (8860000, 4021031, 100, 1, 1), + (8860000, 2431753, 100, 1, 1), + (8860000, 4021032, 100, 1, 1), + (8860000, 2000004, 100, 1, 1), + (8860000, 4021034, 100, 1, 1), + (8860000, 2433103, 100, 1, 1), + (8860000, 4021035, 100, 1, 1), + (6130101, 4000040, 100, 1, 1), + (6130101, 2070006, 100, 1, 1), + (3100102, 2870067, 100, 1, 1), + (3100102, 4000335, 100, 1, 1), + (3100101, 2870066, 100, 1, 1), + (3100101, 4000334, 100, 1, 1), + (6130103, 2001002, 100, 1, 1), + (6130103, 2590004, 100, 1, 1), + (6130103, 2001001, 100, 1, 1), + (6130103, 2434021, 100, 1, 1), + (6130103, 4000050, 100, 1, 1), + (150002, 2060000, 100, 1, 1), + (150002, 4000597, 100, 1, 1), + (150002, 2870007, 100, 1, 1), + (150002, 4020006, 100, 1, 1), + (150002, 4011004, 100, 1, 1), + (150002, 2061000, 100, 1, 1), + (150002, 2000003, 100, 1, 1), + (150002, 2000000, 100, 1, 1), + (2600407, 2000003, 100, 1, 1), + (2600407, 2434021, 100, 1, 1), + (2600407, 2430692, 100, 1, 1), + (2600407, 2060000, 100, 1, 1), + (2600407, 4034341, 100, 1, 1), + (2600407, 2000002, 100, 1, 1), + (2600407, 2870017, 100, 1, 1), + (150000, 2000001, 100, 1, 1), + (150000, 2061000, 100, 1, 1), + (150000, 2000003, 100, 1, 1), + (150000, 2000000, 100, 1, 1), + (150000, 4020005, 100, 1, 1), + (150000, 4010004, 100, 1, 1), + (150000, 2870005, 100, 1, 1), + (150000, 2060000, 100, 1, 1), + (150000, 4000595, 100, 1, 1), + (2600405, 2434021, 100, 1, 1), + (2600405, 4000765, 100, 1, 1), + (2600405, 2000006, 100, 1, 1), + (2600405, 2430692, 100, 1, 1), + (150001, 4020000, 100, 1, 1), + (150001, 2870006, 100, 1, 1), + (150001, 4020005, 100, 1, 1), + (150001, 2000000, 100, 1, 1), + (150001, 4000596, 100, 1, 1), + (150001, 2060000, 100, 1, 1), + (150001, 2000003, 100, 1, 1), + (150001, 2000001, 100, 1, 1), + (150001, 4010003, 100, 1, 1), + (150001, 2061000, 100, 1, 1), + (2600404, 2000002, 100, 1, 1), + (2600404, 4000604, 100, 1, 1), + (2600404, 4033123, 100, 1, 1), + (2600404, 2000003, 100, 1, 1), + (2600404, 2434021, 100, 1, 1), + (2600404, 2430692, 100, 1, 1), + (2600404, 2870041, 100, 1, 1), + (2600403, 2000002, 100, 1, 1), + (2600403, 2000003, 100, 1, 1), + (2600403, 2434021, 100, 1, 1), + (2600403, 4000603, 100, 1, 1), + (2600403, 2870040, 100, 1, 1), + (2600403, 2430692, 100, 1, 1), + (2600402, 2000003, 100, 1, 1), + (2600402, 2870039, 100, 1, 1), + (2600402, 2430692, 100, 1, 1), + (2600402, 2000002, 100, 1, 1), + (2600402, 2434021, 100, 1, 1), + (2600402, 2060000, 100, 1, 1), + (2600402, 4000602, 100, 1, 1), + (2600401, 4000601, 100, 1, 1), + (2600401, 2000002, 100, 1, 1), + (2600401, 2870038, 100, 1, 1), + (2600401, 2061000, 100, 1, 1), + (2600401, 2000003, 100, 1, 1), + (2600401, 2434021, 100, 1, 1), + (2600401, 2430692, 100, 1, 1), + (2600400, 4000598, 100, 1, 1), + (2600400, 2000003, 100, 1, 1), + (2600400, 2870016, 100, 1, 1), + (2600400, 4033121, 100, 1, 1), + (2600400, 2060000, 100, 1, 1), + (2600400, 2000002, 100, 1, 1), + (2600400, 2434021, 100, 1, 1), + (2600400, 2430692, 100, 1, 1), + (2600415, 4032770, 100, 1, 1), + (2600415, 4000611, 100, 1, 1), + (2600415, 2434021, 100, 1, 1), + (2600415, 2870296, 100, 1, 1), + (2600415, 2430692, 100, 1, 1), + (8220037, 4021031, 100, 1, 1), + (8220037, 4021034, 100, 1, 1), + (8220037, 2434021, 100, 1, 1), + (8220037, 4021032, 100, 1, 1), + (8220037, 2590004, 100, 1, 1), + (8220037, 4021033, 100, 1, 1), + (8220037, 2000036, 100, 1, 1), + (8220037, 2001554, 100, 1, 1), + (8220037, 4021035, 100, 1, 1), + (2600414, 4034074, 100, 1, 1), + (2600414, 2430692, 100, 1, 1), + (2600414, 2870295, 100, 1, 1), + (2600414, 4000610, 100, 1, 1), + (2600414, 2434021, 100, 1, 1), + (2600413, 4000609, 100, 1, 1), + (2600413, 2870294, 100, 1, 1), + (2600413, 2430692, 100, 1, 1), + (2600413, 2434021, 100, 1, 1), + (2600412, 4009039, 100, 1, 1), + (2600412, 2430692, 100, 1, 1), + (2600412, 2434021, 100, 1, 1), + (2600411, 2000002, 100, 1, 1), + (2600411, 2000006, 100, 1, 1), + (2600411, 4000607, 100, 1, 1), + (2600411, 2430692, 100, 1, 1), + (2600411, 2382119, 100, 1, 1), + (2600411, 2434021, 100, 1, 1), + (2600410, 2434021, 100, 1, 1), + (2600410, 4000606, 100, 1, 1), + (2600410, 2000006, 100, 1, 1), + (2600410, 2382115, 100, 1, 1), + (2600410, 2000002, 100, 1, 1), + (2600410, 2430692, 100, 1, 1), + (2600409, 2000002, 100, 1, 1), + (2600409, 4000605, 100, 1, 1), + (2600409, 2434021, 100, 1, 1), + (2600409, 2000006, 100, 1, 1), + (2600409, 2382114, 100, 1, 1), + (2600409, 2430692, 100, 1, 1), + (2600408, 2000003, 100, 1, 1), + (2600408, 2430692, 100, 1, 1), + (2600408, 4033122, 100, 1, 1), + (2600408, 2434021, 100, 1, 1), + (2600408, 2870018, 100, 1, 1), + (2600408, 4000600, 100, 1, 1), + (2600408, 2000002, 100, 1, 1), + (5100109, 4021035, 100, 1, 1), + (5100109, 2434021, 100, 1, 1), + (5100109, 4021032, 100, 1, 1), + (5100109, 4021033, 100, 1, 1), + (5100109, 4021034, 100, 1, 1), + (5100109, 2000036, 100, 1, 1), + (5100109, 4021031, 100, 1, 1), + (5100109, 2590004, 100, 1, 1), + (5100109, 2001554, 100, 1, 1), + (8810118, 4310029, 100, 1, 1), + (8810118, 2435367, 100, 1, 1), + (8810118, 2000005, 100, 1, 1), + (8810118, 2433103, 100, 1, 1), + (8810118, 4001094, 100, 1, 1), + (5100108, 2434021, 100, 1, 1), + (5100108, 2000036, 100, 1, 1), + (5100108, 2590004, 100, 1, 1), + (5100108, 4021033, 100, 1, 1), + (5100108, 2001554, 100, 1, 1), + (5100108, 2870286, 100, 1, 1), + (5100108, 4021034, 100, 1, 1), + (5100108, 4021035, 100, 1, 1), + (5100108, 4021031, 100, 1, 1), + (5100108, 4021032, 100, 1, 1), + (5100104, 2001554, 100, 1, 1), + (5100104, 4021033, 100, 1, 1), + (5100104, 4021034, 100, 1, 1), + (5100104, 2434021, 100, 1, 1), + (5100104, 2590004, 100, 1, 1), + (5100104, 4021032, 100, 1, 1), + (5100104, 2000036, 100, 1, 1), + (5100104, 4021031, 100, 1, 1), + (5100104, 4021035, 100, 1, 1), + (5100107, 4021035, 100, 1, 1), + (5100107, 2001554, 100, 1, 1), + (5100107, 2000036, 100, 1, 1), + (5100107, 2590004, 100, 1, 1), + (5100107, 4021031, 100, 1, 1), + (5100107, 2434021, 100, 1, 1), + (5100107, 2870288, 100, 1, 1), + (5100107, 4021032, 100, 1, 1), + (5100107, 4021033, 100, 1, 1), + (5100107, 4021034, 100, 1, 1), + (5100106, 4021031, 100, 1, 1), + (5100106, 4021032, 100, 1, 1), + (5100106, 2001554, 100, 1, 1), + (5100106, 4021034, 100, 1, 1), + (5100106, 2434021, 100, 1, 1), + (5100106, 2590004, 100, 1, 1), + (5100106, 4021033, 100, 1, 1), + (5100106, 2000036, 100, 1, 1), + (5100106, 2870287, 100, 1, 1), + (5100106, 4021035, 100, 1, 1), + (2600503, 4021034, 100, 1, 1), + (2600503, 4021035, 100, 1, 1), + (2600503, 4021033, 100, 1, 1), + (2600503, 2870074, 100, 1, 1), + (2600503, 4034481, 100, 1, 1), + (2600503, 4021032, 100, 1, 1), + (3220001, 2044001, 100, 1, 1), + (3220001, 2048004, 100, 1, 1), + (3220001, 2022155, 100, 1, 1), + (3220001, 2045301, 100, 1, 1), + (3220001, 2000001, 100, 1, 1), + (3220001, 2000003, 100, 1, 1), + (3220001, 2040004, 100, 1, 1), + (3220001, 4010002, 100, 1, 1), + (3220001, 2040927, 100, 1, 1), + (3220001, 2040504, 100, 1, 1), + (3220001, 4020003, 100, 1, 1), + (3220001, 2040801, 100, 1, 1), + (3220001, 4000331, 100, 1, 1), + (3220001, 2044201, 100, 1, 1), + (3220001, 2043701, 100, 1, 1), + (3220001, 4010007, 100, 1, 1), + (3220001, 2041007, 100, 1, 1), + (3220001, 2044501, 100, 1, 1), + (3220001, 2044601, 100, 1, 1), + (3220001, 2040824, 100, 1, 1), + (3220001, 2045201, 100, 1, 1), + (3220001, 2048000, 100, 1, 1), + (3220001, 2001527, 100, 1, 1), + (3220001, 2040501, 100, 1, 1), + (3220001, 2043801, 100, 1, 1), + (3220001, 2040924, 100, 1, 1), + (3220001, 2044101, 100, 1, 1), + (3220001, 2043201, 100, 1, 1), + (3220001, 2870091, 100, 1, 1), + (3220001, 4000330, 100, 1, 1), + (3220001, 4000329, 100, 1, 1), + (2600502, 4021032, 100, 1, 1), + (2600502, 4021033, 100, 1, 1), + (2600502, 2870073, 100, 1, 1), + (2600502, 4034481, 100, 1, 1), + (2600502, 4021034, 100, 1, 1), + (2600502, 4021035, 100, 1, 1), + (3220000, 4000003, 100, 1, 1), + (3220000, 4000195, 100, 1, 1), + (3220000, 4000005, 100, 1, 1), + (3220000, 2870090, 100, 1, 1), + (3220000, 4000018, 100, 1, 1), + (2600501, 4021034, 100, 1, 1), + (2600501, 4021035, 100, 1, 1), + (2600501, 4009061, 100, 1, 1), + (2600501, 4021032, 100, 1, 1), + (2600501, 4021033, 100, 1, 1), + (2600500, 2001002, 100, 1, 1), + (2600500, 4021032, 100, 1, 1), + (2600500, 4021033, 100, 1, 1), + (2600500, 2870071, 100, 1, 1), + (2600500, 4021035, 100, 1, 1), + (2600500, 2590004, 100, 1, 1), + (2600500, 4021034, 100, 1, 1), + (2600500, 2001001, 100, 1, 1), + (2600500, 2434021, 100, 1, 1), + (2600500, 4000353, 100, 1, 1), + (6230602, 2434021, 100, 1, 1), + (6230602, 2870258, 100, 1, 1), + (6230602, 4000207, 100, 1, 1), + (2600511, 2870271, 100, 1, 1), + (2600511, 4021034, 100, 1, 1), + (2600511, 2001001, 100, 1, 1), + (2600511, 4021031, 100, 1, 1), + (2600511, 4000361, 100, 1, 1), + (2600511, 2590004, 100, 1, 1), + (2600511, 2434021, 100, 1, 1), + (2600511, 4021032, 100, 1, 1), + (2600511, 2001002, 100, 1, 1), + (2600511, 4021035, 100, 1, 1), + (2600511, 4021033, 100, 1, 1), + (2600510, 2001002, 100, 1, 1), + (2600510, 4021035, 100, 1, 1), + (2600510, 4021034, 100, 1, 1), + (2600510, 2870233, 100, 1, 1), + (2600510, 2434021, 100, 1, 1), + (2600510, 4021032, 100, 1, 1), + (2600510, 4021033, 100, 1, 1), + (2600510, 4034482, 100, 1, 1), + (2600510, 2590004, 100, 1, 1), + (2600510, 2001001, 100, 1, 1), + (2600509, 4021032, 100, 1, 1), + (2600509, 4021035, 100, 1, 1), + (2600509, 4000411, 100, 1, 1), + (2600509, 4021034, 100, 1, 1), + (2600509, 4021033, 100, 1, 1), + (2600508, 4021033, 100, 1, 1), + (2600508, 2590004, 100, 1, 1), + (2600508, 2001002, 100, 1, 1), + (2600508, 4021035, 100, 1, 1), + (2600508, 4021034, 100, 1, 1), + (2600508, 2870188, 100, 1, 1), + (2600508, 2001001, 100, 1, 1), + (2600508, 4000360, 100, 1, 1), + (2600508, 4021032, 100, 1, 1), + (2600508, 2434021, 100, 1, 1), + (2600507, 4021033, 100, 1, 1), + (2600507, 2001002, 100, 1, 1), + (2600507, 2434021, 100, 1, 1), + (2600507, 4021032, 100, 1, 1), + (2600507, 4021035, 100, 1, 1), + (2600507, 4000359, 100, 1, 1), + (2600507, 2001001, 100, 1, 1), + (2600507, 2870126, 100, 1, 1), + (2600507, 4021034, 100, 1, 1), + (2600507, 2590004, 100, 1, 1), + (2600506, 4021032, 100, 1, 1), + (2600506, 2590004, 100, 1, 1), + (2600506, 4000358, 100, 1, 1), + (2600506, 4021034, 100, 1, 1), + (2600506, 4021035, 100, 1, 1), + (2600506, 2434021, 100, 1, 1), + (2600506, 2001002, 100, 1, 1), + (2600506, 2001001, 100, 1, 1), + (2600506, 4021033, 100, 1, 1), + (2600506, 2870125, 100, 1, 1), + (2600504, 4021032, 100, 1, 1), + (2600504, 4021034, 100, 1, 1), + (2600504, 4021033, 100, 1, 1), + (2600504, 4021035, 100, 1, 1), + (2600504, 4034505, 100, 1, 1), + (8210013, 2431656, 100, 1, 1), + (8210005, 4032838, 100, 1, 1), + (8210005, 4021031, 100, 1, 1), + (8210005, 2001528, 100, 1, 1), + (8210005, 4021033, 100, 1, 1), + (8210005, 2512031, 100, 1, 1), + (8210005, 2000037, 100, 1, 1), + (8210005, 4033113, 100, 1, 1), + (8210005, 2434021, 100, 1, 1), + (8210005, 4021034, 100, 1, 1), + (8210005, 2512007, 100, 1, 1), + (8210005, 2512176, 100, 1, 1), + (8210005, 2512275, 100, 1, 1), + (8210005, 2590004, 100, 1, 1), + (8210005, 4032835, 100, 1, 1), + (8210005, 2512170, 100, 1, 1), + (8210005, 2512278, 100, 1, 1), + (8210005, 4021032, 100, 1, 1), + (8210005, 4000629, 100, 1, 1), + (8210005, 2430692, 100, 1, 1), + (8210005, 4000630, 100, 1, 1), + (8210005, 2511049, 100, 1, 1), + (8210005, 2870448, 100, 1, 1), + (8210005, 4021035, 100, 1, 1), + (8210004, 2512266, 100, 1, 1), + (8210004, 2512275, 100, 1, 1), + (8210004, 4000627, 100, 1, 1), + (8210004, 4021032, 100, 1, 1), + (8210004, 2870447, 100, 1, 1), + (8210004, 4021035, 100, 1, 1), + (8210004, 2430692, 100, 1, 1), + (8210004, 2512284, 100, 1, 1), + (8210004, 4021031, 100, 1, 1), + (8210004, 4021033, 100, 1, 1), + (8210004, 2434021, 100, 1, 1), + (8210004, 2001528, 100, 1, 1), + (8210004, 4033113, 100, 1, 1), + (8210004, 2049401, 100, 1, 1), + (8210004, 2000037, 100, 1, 1), + (8210004, 4021034, 100, 1, 1), + (8210004, 2590004, 100, 1, 1), + (8210004, 4000630, 100, 1, 1), + (8210004, 4000628, 100, 1, 1), + (8210001, 4033113, 100, 1, 1), + (8210001, 2512176, 100, 1, 1), + (8210001, 4021034, 100, 1, 1), + (8210001, 2512117, 100, 1, 1), + (8210001, 2511049, 100, 1, 1), + (8210001, 2512269, 100, 1, 1), + (8210001, 2512284, 100, 1, 1), + (8210001, 4021035, 100, 1, 1), + (8210001, 2430692, 100, 1, 1), + (8210001, 4021033, 100, 1, 1), + (8210001, 2048004, 100, 1, 1), + (8210001, 2512248, 100, 1, 1), + (8210001, 2590004, 100, 1, 1), + (8210001, 2070005, 100, 1, 1), + (8210001, 2048000, 100, 1, 1), + (8210001, 4021032, 100, 1, 1), + (8210001, 4000626, 100, 1, 1), + (8210001, 2512283, 100, 1, 1), + (8210001, 2070003, 100, 1, 1), + (8210001, 2001528, 100, 1, 1), + (8210001, 2870444, 100, 1, 1), + (8210001, 2049401, 100, 1, 1), + (8210001, 2512245, 100, 1, 1), + (8210001, 4021031, 100, 1, 1), + (8210001, 4000630, 100, 1, 1), + (8210001, 2512273, 100, 1, 1), + (8210001, 2000037, 100, 1, 1), + (8210001, 2434021, 100, 1, 1), + (8210001, 2512133, 100, 1, 1), + (8210000, 2070005, 100, 1, 1), + (8210000, 4033113, 100, 1, 1), + (8210000, 4021035, 100, 1, 1), + (8210000, 4021033, 100, 1, 1), + (8210000, 4000630, 100, 1, 1), + (8210000, 4021032, 100, 1, 1), + (8210000, 2434021, 100, 1, 1), + (8210000, 2870443, 100, 1, 1), + (8210000, 4021034, 100, 1, 1), + (8210000, 4021031, 100, 1, 1), + (8210000, 4000625, 100, 1, 1), + (8210000, 2001528, 100, 1, 1), + (8210000, 2000037, 100, 1, 1), + (8210003, 4000627, 100, 1, 1), + (8210003, 4021032, 100, 1, 1), + (8210003, 4021031, 100, 1, 1), + (8210003, 2434021, 100, 1, 1), + (8210003, 2001528, 100, 1, 1), + (8210003, 4021033, 100, 1, 1), + (8210003, 4033113, 100, 1, 1), + (8210003, 4021035, 100, 1, 1), + (8210003, 2000037, 100, 1, 1), + (8210003, 2870446, 100, 1, 1), + (8210003, 2070010, 100, 1, 1), + (8210003, 2512270, 100, 1, 1), + (8210003, 2590004, 100, 1, 1), + (8210003, 4000630, 100, 1, 1), + (8210003, 2512006, 100, 1, 1), + (8210003, 2048004, 100, 1, 1), + (8210003, 2049401, 100, 1, 1), + (8210003, 2330004, 100, 1, 1), + (8210003, 2512279, 100, 1, 1), + (8210003, 4021034, 100, 1, 1), + (8210002, 2590004, 100, 1, 1), + (8210002, 4021033, 100, 1, 1), + (8210002, 2870445, 100, 1, 1), + (8210002, 4033113, 100, 1, 1), + (8210002, 4000626, 100, 1, 1), + (8210002, 4021032, 100, 1, 1), + (8210002, 4021035, 100, 1, 1), + (8210002, 2000037, 100, 1, 1), + (8210002, 4021031, 100, 1, 1), + (8210002, 2434021, 100, 1, 1), + (8210002, 4021034, 100, 1, 1), + (8210002, 2001528, 100, 1, 1), + (8210002, 4000630, 100, 1, 1), + (8211004, 4021033, 100, 1, 1), + (8211004, 4021035, 100, 1, 1), + (8211004, 4000630, 100, 1, 1), + (8211004, 4021032, 100, 1, 1), + (8211004, 4009173, 100, 1, 1), + (8211004, 4021031, 100, 1, 1), + (8211004, 4021034, 100, 1, 1), + (8211004, 4033113, 100, 1, 1), + (8211001, 2001528, 100, 1, 1), + (8211001, 2590004, 100, 1, 1), + (8211001, 4021031, 100, 1, 1), + (8211001, 4009170, 100, 1, 1), + (8211001, 4021035, 100, 1, 1), + (8211001, 4030032, 100, 1, 1), + (8211001, 4021032, 100, 1, 1), + (8211001, 2000037, 100, 1, 1), + (8211001, 4033113, 100, 1, 1), + (8211001, 4021034, 100, 1, 1), + (8211001, 2434021, 100, 1, 1), + (8211001, 4021033, 100, 1, 1), + (8211001, 4000630, 100, 1, 1), + (8211000, 4000630, 100, 1, 1), + (8211000, 2434021, 100, 1, 1), + (8211000, 2000037, 100, 1, 1), + (8211000, 4033113, 100, 1, 1), + (8211000, 4021033, 100, 1, 1), + (8211000, 4021035, 100, 1, 1), + (8211000, 4009169, 100, 1, 1), + (8211000, 4021031, 100, 1, 1), + (8211000, 4021032, 100, 1, 1), + (8211000, 4021034, 100, 1, 1), + (8211000, 2590004, 100, 1, 1), + (8211000, 4030036, 100, 1, 1), + (8211000, 2001528, 100, 1, 1), + (8211003, 4009172, 100, 1, 1), + (8211003, 4021033, 100, 1, 1), + (8211003, 4021031, 100, 1, 1), + (8211003, 4021032, 100, 1, 1), + (8211003, 4021034, 100, 1, 1), + (8211003, 4000630, 100, 1, 1), + (8211003, 4033113, 100, 1, 1), + (8211003, 4021035, 100, 1, 1), + (8211002, 4033113, 100, 1, 1), + (8211002, 4009171, 100, 1, 1), + (8211002, 2434021, 100, 1, 1), + (8211002, 4021032, 100, 1, 1), + (8211002, 4021031, 100, 1, 1), + (8211002, 4021033, 100, 1, 1), + (8211002, 4021034, 100, 1, 1), + (8211002, 4021035, 100, 1, 1), + (8211002, 4000630, 100, 1, 1), + (8211002, 2001528, 100, 1, 1), + (8211002, 2590004, 100, 1, 1), + (8211002, 2000037, 100, 1, 1), + (2150000, 2043000, 100, 1, 1), + (2150000, 2061000, 100, 1, 1), + (2150000, 2043700, 100, 1, 1), + (2150000, 2044000, 100, 1, 1), + (2150000, 2000003, 100, 1, 1), + (2150000, 4010002, 100, 1, 1), + (2150000, 2000002, 100, 1, 1), + (2150000, 4020004, 100, 1, 1), + (2150000, 2000003, 100, 1, 1), + (2150000, 2000000, 100, 1, 1), + (2150000, 2870039, 100, 1, 1), + (2150000, 4000601, 100, 1, 1), + (2150000, 2000000, 100, 1, 1), + (2150000, 2000002, 100, 1, 1), + (2150000, 2000006, 100, 1, 1), + (2150000, 4010006, 100, 1, 1), + (2150000, 2043200, 100, 1, 1), + (2150000, 4020002, 100, 1, 1), + (2150000, 2000001, 100, 1, 1), + (2150000, 2000001, 100, 1, 1), + (2150000, 4000602, 100, 1, 1), + (2150000, 2061000, 100, 1, 1), + (2150000, 2870038, 100, 1, 1), + (2150000, 2060000, 100, 1, 1), + (2150000, 2044600, 100, 1, 1), + (2150000, 2060000, 100, 1, 1), + (2150000, 2150001, 100, 1, 1), + (2150000, 2043800, 100, 1, 1), + (3230304, 2870101, 100, 1, 1), + (3230304, 4000105, 100, 1, 1), + (2150002, 2060000, 100, 1, 1), + (2150002, 2870040, 100, 1, 1), + (2150002, 4010006, 100, 1, 1), + (2150002, 2040709, 100, 1, 1), + (2150002, 2000000, 100, 1, 1), + (2150002, 2061000, 100, 1, 1), + (2150002, 2040417, 100, 1, 1), + (2150002, 2000006, 100, 1, 1), + (2150002, 2000002, 100, 1, 1), + (2150002, 4010001, 100, 1, 1), + (2150002, 2040926, 100, 1, 1), + (2150002, 4000603, 100, 1, 1), + (2150002, 2000001, 100, 1, 1), + (3230307, 2870104, 100, 1, 1), + (3230307, 4000123, 100, 1, 1), + (2150003, 2870041, 100, 1, 1), + (2150003, 4000604, 100, 1, 1), + (2150003, 4010001, 100, 1, 1), + (2150003, 4010006, 100, 1, 1), + (2150003, 2000001, 100, 1, 1), + (2150003, 2044805, 100, 1, 1), + (2150003, 2040901, 100, 1, 1), + (2150003, 2040515, 100, 1, 1), + (2150003, 2060000, 100, 1, 1), + (2150003, 2000000, 100, 1, 1), + (2150003, 2061000, 100, 1, 1), + (2150003, 2000006, 100, 1, 1), + (2150003, 2000003, 100, 1, 1), + (8930000, 4310065, 100, 1, 1), + (8930000, 2000005, 100, 1, 1), + (8930000, 4310029, 100, 1, 1), + (8930000, 4310064, 100, 1, 1), + (8930000, 2433103, 100, 1, 1), + (8930000, 2433592, 100, 1, 1), + (8810214, 2000004, 100, 1, 1), + (8810214, 4310029, 100, 1, 1), + (8810214, 4001094, 100, 1, 1), + (8810214, 2433103, 100, 1, 1), + (2600518, 4000418, 100, 1, 1), + (2600518, 4310029, 100, 1, 1), + (2600517, 4000362, 100, 1, 1), + (2600517, 2870270, 100, 1, 1), + (2600516, 2590004, 100, 1, 1), + (2600516, 2001001, 100, 1, 1), + (2600516, 2001002, 100, 1, 1), + (2600516, 2434021, 100, 1, 1), + (2600516, 2870190, 100, 1, 1), + (2600515, 4000364, 100, 1, 1), + (2600515, 2870189, 100, 1, 1), + (1130100, 2044000, 100, 1, 1), + (1130100, 4010005, 100, 1, 1), + (1130100, 4020004, 100, 1, 1), + (1130100, 4000018, 100, 1, 1), + (1130100, 2040512, 100, 1, 1), + (1130100, 2043202, 100, 1, 1), + (1130100, 2000002, 100, 1, 1), + (1130100, 2000003, 100, 1, 1), + (1130100, 2048003, 100, 1, 1), + (1130100, 2870013, 100, 1, 1), + (2600514, 4000356, 100, 1, 1), + (2600514, 4000364, 100, 1, 1), + (2600514, 4000365, 100, 1, 1), + (2600514, 4310029, 100, 1, 1), + (2600514, 4021032, 100, 1, 1), + (1000041, 4031013, 9000, 1, 1), + (2600513, 2386043, 100, 1, 1), + (2600513, 2001001, 100, 1, 1), + (2600513, 2001002, 100, 1, 1), + (2600513, 4021033, 100, 1, 1), + (2600513, 2590004, 100, 1, 1), + (2600513, 2434021, 100, 1, 1), + (2600513, 4021032, 100, 1, 1), + (2600513, 4000363, 100, 1, 1), + (2600513, 4021034, 100, 1, 1), + (2600513, 4021035, 100, 1, 1), + (2600512, 4021035, 100, 1, 1), + (2600512, 2870310, 100, 1, 1), + (2600512, 4033637, 100, 1, 1), + (2600512, 4021032, 100, 1, 1), + (2600512, 4021034, 100, 1, 1), + (2600512, 4000355, 100, 1, 1), + (2600512, 4021033, 100, 1, 1), + (3230301, 2590004, 100, 1, 1), + (3230301, 2710002, 100, 1, 1), + (3230301, 4000067, 100, 1, 1), + (3230301, 2430692, 100, 1, 1), + (3230301, 2000002, 100, 1, 1), + (3230301, 2000006, 100, 1, 1), + (3230301, 2870098, 100, 1, 1), + (8170000, 4021031, 100, 1, 1), + (8170000, 2001528, 100, 1, 1), + (8170000, 4021033, 100, 1, 1), + (8170000, 4021034, 100, 1, 1), + (8170000, 2000037, 100, 1, 1), + (8170000, 2434021, 100, 1, 1), + (8170000, 4021032, 100, 1, 1), + (8170000, 4034181, 100, 1, 1), + (8170000, 4021035, 100, 1, 1), + (8170000, 4031172, 100, 1, 1), + (8170000, 2870344, 100, 1, 1), + (8170000, 2590004, 100, 1, 1), + (3230300, 2870098, 100, 1, 1), + (3230300, 2710002, 100, 1, 1), + (3230300, 4000067, 100, 1, 1), + (3230300, 2000006, 100, 1, 1), + (3230300, 2430692, 100, 1, 1), + (3230300, 2000002, 100, 1, 1), + (3230300, 2590004, 100, 1, 1), + (3230303, 2870100, 100, 1, 1), + (3230303, 4000104, 100, 1, 1), + (5140000, 4032644, 100, 1, 1), + (5140000, 4021034, 100, 1, 1), + (5140000, 4032643, 100, 1, 1), + (5140000, 2870211, 100, 1, 1), + (5140000, 4031218, 100, 1, 1), + (5140000, 2001001, 100, 1, 1), + (5140000, 4021035, 100, 1, 1), + (5140000, 4032642, 100, 1, 1), + (5140000, 2001002, 100, 1, 1), + (5140000, 2434021, 100, 1, 1), + (5140000, 4021032, 100, 1, 1), + (5140000, 4021033, 100, 1, 1), + (5140000, 4031054, 100, 1, 1), + (5140000, 2590004, 100, 1, 1), + (5140000, 4032645, 100, 1, 1), + (5140000, 4000052, 100, 1, 1), + (5140000, 4032646, 100, 1, 1), + (3230302, 4031089, 100, 1, 1), + (3230302, 2870099, 100, 1, 1), + (3230302, 4000099, 100, 1, 1), + (9100024, 4032603, 100, 1, 1), + (8630007, 4021035, 100, 1, 1), + (8630007, 4033930, 100, 1, 1), + (8630007, 4009139, 100, 1, 1), + (8630007, 4021033, 100, 1, 1), + (8630007, 2000036, 100, 1, 1), + (8630007, 4021031, 100, 1, 1), + (8630007, 4021034, 100, 1, 1), + (8630007, 2431174, 100, 1, 1), + (8630007, 4021032, 100, 1, 1), + (8630007, 4021020, 100, 1, 1), + (8630007, 2590004, 100, 1, 1), + (8630007, 2000037, 100, 1, 1), + (8630006, 2590004, 100, 1, 1), + (8630006, 4021031, 100, 1, 1), + (8630006, 4021034, 100, 1, 1), + (8630006, 4021032, 100, 1, 1), + (8630006, 2000036, 100, 1, 1), + (8630006, 2431174, 100, 1, 1), + (8630006, 4033930, 100, 1, 1), + (8630006, 4021035, 100, 1, 1), + (8630006, 4021020, 100, 1, 1), + (8630006, 4021033, 100, 1, 1), + (8630006, 2000037, 100, 1, 1), + (8630006, 4009138, 100, 1, 1), + (8630005, 2431174, 100, 1, 1), + (8630005, 4009137, 100, 1, 1), + (8630005, 2000036, 100, 1, 1), + (8630005, 2000037, 100, 1, 1), + (8630005, 2590004, 100, 1, 1), + (8630005, 4021020, 100, 1, 1), + (8630005, 4021032, 100, 1, 1), + (8630005, 4021034, 100, 1, 1), + (8630005, 4033930, 100, 1, 1), + (8630005, 4021035, 100, 1, 1), + (8630005, 4021033, 100, 1, 1), + (8630005, 4021031, 100, 1, 1), + (8630011, 4021035, 100, 1, 1), + (8630011, 2590004, 100, 1, 1), + (8630011, 2431174, 100, 1, 1), + (8630011, 2000037, 100, 1, 1), + (8630011, 4021033, 100, 1, 1), + (8630011, 4009143, 100, 1, 1), + (8630011, 2000036, 100, 1, 1), + (8630011, 4021031, 100, 1, 1), + (8630011, 4033933, 100, 1, 1), + (8630011, 4021020, 100, 1, 1), + (8630011, 4021032, 100, 1, 1), + (8630011, 4021034, 100, 1, 1), + (8630010, 2000036, 100, 1, 1), + (8630010, 2000037, 100, 1, 1), + (8630010, 4021032, 100, 1, 1), + (8630010, 4021033, 100, 1, 1), + (8630010, 4021031, 100, 1, 1), + (8630010, 2431174, 100, 1, 1), + (8630010, 4021020, 100, 1, 1), + (8630010, 4021034, 100, 1, 1), + (8630010, 4033933, 100, 1, 1), + (8630010, 4021035, 100, 1, 1), + (8630010, 2590004, 100, 1, 1), + (8630010, 4009142, 100, 1, 1), + (8630009, 2590004, 100, 1, 1), + (8630009, 4021020, 100, 1, 1), + (8630009, 4021034, 100, 1, 1), + (8630009, 4021033, 100, 1, 1), + (8630009, 2000037, 100, 1, 1), + (8630009, 4009141, 100, 1, 1), + (8630009, 2431174, 100, 1, 1), + (8630009, 4033930, 100, 1, 1), + (8630009, 4021031, 100, 1, 1), + (8630009, 2000036, 100, 1, 1), + (8630009, 4021032, 100, 1, 1), + (8630009, 4021035, 100, 1, 1), + (8630008, 4021034, 100, 1, 1), + (8630008, 4021031, 100, 1, 1), + (8630008, 4021035, 100, 1, 1), + (8630008, 4033930, 100, 1, 1), + (8630008, 2590004, 100, 1, 1), + (8630008, 4009140, 100, 1, 1), + (8630008, 2000037, 100, 1, 1), + (8630008, 4021033, 100, 1, 1), + (8630008, 2000036, 100, 1, 1), + (8630008, 4021032, 100, 1, 1), + (8630008, 2431174, 100, 1, 1), + (8630008, 4021020, 100, 1, 1), + (8630015, 2590004, 100, 1, 1), + (8630015, 4021035, 100, 1, 1), + (8630015, 4021020, 100, 1, 1), + (8630015, 4021031, 100, 1, 1), + (8630015, 2431174, 100, 1, 1), + (8630015, 4021032, 100, 1, 1), + (8630015, 2000037, 100, 1, 1), + (8630015, 4009147, 100, 1, 1), + (8630015, 2000036, 100, 1, 1), + (8630015, 4021033, 100, 1, 1), + (8630015, 4021034, 100, 1, 1), + (8630014, 2000037, 100, 1, 1), + (8630014, 4009146, 100, 1, 1), + (8630014, 4021020, 100, 1, 1), + (8630014, 4021033, 100, 1, 1), + (8630014, 4021032, 100, 1, 1), + (8630014, 2431174, 100, 1, 1), + (8630014, 2590004, 100, 1, 1), + (8630014, 4021035, 100, 1, 1), + (8630014, 4021031, 100, 1, 1), + (8630014, 4033933, 100, 1, 1), + (8630014, 2000036, 100, 1, 1), + (8630014, 4021034, 100, 1, 1), + (8630013, 4021033, 100, 1, 1), + (8630013, 2000036, 100, 1, 1), + (8630013, 4021020, 100, 1, 1), + (8630013, 2000037, 100, 1, 1), + (8630013, 4021034, 100, 1, 1), + (8630013, 2590004, 100, 1, 1), + (8630013, 4033933, 100, 1, 1), + (8630013, 4021031, 100, 1, 1), + (8630013, 4021035, 100, 1, 1), + (8630013, 4021032, 100, 1, 1), + (8630013, 2431174, 100, 1, 1), + (8630013, 4009145, 100, 1, 1), + (8630012, 4021032, 100, 1, 1), + (8630012, 4021033, 100, 1, 1), + (8630012, 4021031, 100, 1, 1), + (8630012, 4021034, 100, 1, 1), + (8630012, 4021035, 100, 1, 1), + (8630012, 4021020, 100, 1, 1), + (8630012, 4009144, 100, 1, 1), + (8630012, 2000036, 100, 1, 1), + (8630012, 2000037, 100, 1, 1), + (8630012, 4033933, 100, 1, 1), + (8630012, 2590004, 100, 1, 1), + (8630012, 2431174, 100, 1, 1), + (2600615, 4021034, 100, 1, 1), + (2600615, 2001528, 100, 1, 1), + (2600615, 4021031, 100, 1, 1), + (2600615, 4021033, 100, 1, 1), + (2600615, 4000148, 100, 1, 1), + (2600615, 2434021, 100, 1, 1), + (2600615, 2000037, 100, 1, 1), + (2600615, 2590004, 100, 1, 1), + (2600615, 4021035, 100, 1, 1), + (2600615, 4034181, 100, 1, 1), + (2600615, 2870285, 100, 1, 1), + (2600615, 4021032, 100, 1, 1), + (8900103, 3010513, 100, 1, 1), + (8900103, 4310064, 100, 1, 1), + (8900103, 2433446, 100, 1, 1), + (8900103, 2000005, 100, 1, 1), + (8900103, 4310029, 100, 1, 1), + (8900103, 2433103, 100, 1, 1), + (2600614, 4000147, 100, 1, 1), + (2600614, 4034181, 100, 1, 1), + (2600614, 4021032, 100, 1, 1), + (2600614, 2870277, 100, 1, 1), + (2600614, 2590004, 100, 1, 1), + (2600614, 4021034, 100, 1, 1), + (2600614, 4021035, 100, 1, 1), + (2600614, 2434021, 100, 1, 1), + (2600614, 4021033, 100, 1, 1), + (2600614, 2000037, 100, 1, 1), + (2600614, 4021031, 100, 1, 1), + (2600614, 2001528, 100, 1, 1), + (2600613, 4000113, 100, 1, 1), + (2600613, 4021035, 100, 1, 1), + (2600613, 4000114, 100, 1, 1), + (2600613, 4021033, 100, 1, 1), + (2600613, 4021032, 100, 1, 1), + (2600613, 4000115, 100, 1, 1), + (2600613, 4021034, 100, 1, 1), + (2600612, 2870145, 100, 1, 1), + (2600612, 2434021, 100, 1, 1), + (2600612, 2590004, 100, 1, 1), + (2600612, 4034343, 100, 1, 1), + (2600612, 2000037, 100, 1, 1), + (2600612, 4021034, 100, 1, 1), + (2600612, 4021035, 100, 1, 1), + (2600612, 4021032, 100, 1, 1), + (2600612, 2001528, 100, 1, 1), + (2600612, 4021033, 100, 1, 1), + (2600612, 4021031, 100, 1, 1), + (2600611, 4021031, 100, 1, 1), + (2600611, 4021034, 100, 1, 1), + (2600611, 2001528, 100, 1, 1), + (2600611, 2590004, 100, 1, 1), + (2600611, 4021035, 100, 1, 1), + (2600611, 2000037, 100, 1, 1), + (2600611, 2434021, 100, 1, 1), + (2600611, 4021033, 100, 1, 1), + (2600611, 2870144, 100, 1, 1), + (2600611, 4021032, 100, 1, 1), + (2600611, 4034343, 100, 1, 1), + (2600610, 2434021, 100, 1, 1), + (2600610, 4021033, 100, 1, 1), + (2600610, 2870103, 100, 1, 1), + (2600610, 2000037, 100, 1, 1), + (2600610, 4034343, 100, 1, 1), + (2600610, 2590004, 100, 1, 1), + (2600610, 4021032, 100, 1, 1), + (2600610, 2001528, 100, 1, 1), + (2600610, 4021034, 100, 1, 1), + (2600610, 4021035, 100, 1, 1), + (2600609, 4009087, 100, 1, 1), + (2600609, 4021032, 100, 1, 1), + (2600609, 2870143, 100, 1, 1), + (2600609, 4021033, 100, 1, 1), + (2600609, 4021034, 100, 1, 1), + (2600609, 4021035, 100, 1, 1), + (2600609, 4031098, 100, 1, 1), + (2600608, 4021033, 100, 1, 1), + (2600608, 4021034, 100, 1, 1), + (2600608, 2870086, 100, 1, 1), + (2600608, 4021035, 100, 1, 1), + (2600608, 4021032, 100, 1, 1), + (2600608, 4001532, 100, 1, 1), + (2600623, 4021034, 100, 1, 1), + (2600623, 2434021, 100, 1, 1), + (2600623, 4021031, 100, 1, 1), + (2600623, 2001528, 100, 1, 1), + (2600623, 4000132, 100, 1, 1), + (2600623, 4021033, 100, 1, 1), + (2600623, 4034181, 100, 1, 1), + (2600623, 2000037, 100, 1, 1), + (2600623, 4021032, 100, 1, 1), + (2600623, 2590004, 100, 1, 1), + (2600623, 4021035, 100, 1, 1), + (2600623, 2870293, 100, 1, 1), + (2600622, 4001023, 100, 1, 1), + (2600621, 2001528, 100, 1, 1), + (2600621, 2434021, 100, 1, 1), + (2600621, 2000037, 100, 1, 1), + (2600621, 4021033, 100, 1, 1), + (2600621, 4000129, 100, 1, 1), + (2600621, 4021035, 100, 1, 1), + (2600621, 4021031, 100, 1, 1), + (2600621, 4021032, 100, 1, 1), + (2600621, 2870252, 100, 1, 1), + (2600621, 4034181, 100, 1, 1), + (2600621, 2590004, 100, 1, 1), + (2600621, 4021034, 100, 1, 1), + (2600621, 4031189, 100, 1, 1), + (2600620, 4021031, 100, 1, 1), + (2600620, 2870239, 100, 1, 1), + (2600620, 4000128, 100, 1, 1), + (2600620, 4021035, 100, 1, 1), + (2600620, 2590004, 100, 1, 1), + (2600620, 4021032, 100, 1, 1), + (2600620, 2001528, 100, 1, 1), + (2600620, 4034181, 100, 1, 1), + (2600620, 2000037, 100, 1, 1), + (2600620, 2434021, 100, 1, 1), + (2600620, 4021033, 100, 1, 1), + (2600620, 4021034, 100, 1, 1), + (2600619, 2001528, 100, 1, 1), + (2600619, 2434021, 100, 1, 1), + (2600619, 4000131, 100, 1, 1), + (2600619, 4021033, 100, 1, 1), + (2600619, 2590004, 100, 1, 1), + (2600619, 4021034, 100, 1, 1), + (2600619, 2000037, 100, 1, 1), + (2600619, 4021031, 100, 1, 1), + (2600619, 4034181, 100, 1, 1), + (2600619, 2870268, 100, 1, 1), + (2600619, 4021035, 100, 1, 1), + (2600619, 4021032, 100, 1, 1), + (2600618, 4021033, 100, 1, 1), + (2600618, 4021032, 100, 1, 1), + (2600618, 4021031, 100, 1, 1), + (2600618, 2000037, 100, 1, 1), + (2600618, 2590004, 100, 1, 1), + (2600618, 4021034, 100, 1, 1), + (2600618, 4034181, 100, 1, 1), + (2600618, 2001528, 100, 1, 1), + (2600618, 4021035, 100, 1, 1), + (2600618, 2870263, 100, 1, 1), + (2600618, 4000130, 100, 1, 1), + (2600618, 2434021, 100, 1, 1), + (2600617, 4021034, 100, 1, 1), + (2600617, 4021031, 100, 1, 1), + (2600617, 2001528, 100, 1, 1), + (2600617, 4021035, 100, 1, 1), + (2600617, 2434021, 100, 1, 1), + (2600617, 2590004, 100, 1, 1), + (2600617, 4021032, 100, 1, 1), + (2600617, 4000144, 100, 1, 1), + (2600617, 2870255, 100, 1, 1), + (2600617, 4021033, 100, 1, 1), + (2600617, 4034181, 100, 1, 1), + (2600617, 2000037, 100, 1, 1), + (2600616, 4021031, 100, 1, 1), + (2600616, 2870253, 100, 1, 1), + (2600616, 4021032, 100, 1, 1), + (2600616, 2590004, 100, 1, 1), + (2600616, 2434021, 100, 1, 1), + (2600616, 4021033, 100, 1, 1), + (2600616, 2001528, 100, 1, 1), + (2600616, 4034181, 100, 1, 1), + (2600616, 4021034, 100, 1, 1), + (2600616, 2000037, 100, 1, 1), + (2600616, 4021035, 100, 1, 1), + (2600616, 4000143, 100, 1, 1), + (2600631, 2000005, 100, 1, 1), + (2600631, 4310029, 100, 1, 1), + (2600631, 2433103, 100, 1, 1), + (2600631, 4031196, 100, 1, 1), + (2600630, 4006001, 100, 1, 1), + (2600630, 2434021, 100, 1, 1), + (2600630, 2870334, 100, 1, 1), + (2600630, 2001528, 100, 1, 1), + (2600630, 4021033, 100, 1, 1), + (2600630, 2430692, 100, 1, 1), + (2600630, 4034181, 100, 1, 1), + (2600630, 4021031, 100, 1, 1), + (2600630, 4021034, 100, 1, 1), + (2600630, 2000037, 100, 1, 1), + (2600630, 2590004, 100, 1, 1), + (2600630, 4021035, 100, 1, 1), + (2600630, 4000150, 100, 1, 1), + (2600630, 4021032, 100, 1, 1), + (2600629, 2870332, 100, 1, 1), + (2600629, 4000149, 100, 1, 1), + (2600629, 2001528, 100, 1, 1), + (2600629, 4021031, 100, 1, 1), + (2600629, 4021032, 100, 1, 1), + (2600629, 4021034, 100, 1, 1), + (2600629, 4021033, 100, 1, 1), + (2600629, 2434021, 100, 1, 1), + (2600629, 2000037, 100, 1, 1), + (2600629, 2590004, 100, 1, 1), + (2600629, 4034181, 100, 1, 1), + (2600629, 4021035, 100, 1, 1), + (2600628, 2870330, 100, 1, 1), + (2600628, 2001528, 100, 1, 1), + (2600628, 4021031, 100, 1, 1), + (2600628, 4021032, 100, 1, 1), + (2600628, 2590004, 100, 1, 1), + (2600628, 4021034, 100, 1, 1), + (2600628, 4021033, 100, 1, 1), + (2600628, 2434021, 100, 1, 1), + (2600628, 4000135, 100, 1, 1), + (2600628, 2000037, 100, 1, 1), + (2600628, 4021035, 100, 1, 1), + (2600628, 4034181, 100, 1, 1), + (2600627, 2000037, 100, 1, 1), + (2600627, 2590004, 100, 1, 1), + (2600627, 4000134, 100, 1, 1), + (2600627, 4021031, 100, 1, 1), + (2600627, 4034181, 100, 1, 1), + (2600627, 2870329, 100, 1, 1), + (2600627, 4021032, 100, 1, 1), + (2600627, 4021033, 100, 1, 1), + (2600627, 4021034, 100, 1, 1), + (2600627, 2434021, 100, 1, 1), + (2600627, 4021035, 100, 1, 1), + (2600627, 2001528, 100, 1, 1), + (2600626, 4021034, 100, 1, 1), + (2600626, 4021033, 100, 1, 1), + (2600626, 4000146, 100, 1, 1), + (2600626, 4021031, 100, 1, 1), + (2600626, 2000037, 100, 1, 1), + (2600626, 2001528, 100, 1, 1), + (2600626, 2870322, 100, 1, 1), + (2600626, 4021032, 100, 1, 1), + (2600626, 2590004, 100, 1, 1), + (2600626, 2434021, 100, 1, 1), + (2600626, 4021035, 100, 1, 1), + (2600626, 4034181, 100, 1, 1), + (2600625, 2001528, 100, 1, 1), + (2600625, 4021031, 100, 1, 1), + (2600625, 4034181, 100, 1, 1), + (2600625, 4000145, 100, 1, 1), + (2600625, 4021033, 100, 1, 1), + (2600625, 2870321, 100, 1, 1), + (2600625, 2434021, 100, 1, 1), + (2600625, 2000037, 100, 1, 1), + (2600625, 4021034, 100, 1, 1), + (2600625, 4021032, 100, 1, 1), + (2600625, 4021035, 100, 1, 1), + (2600625, 2590004, 100, 1, 1), + (2600624, 4000133, 100, 1, 1), + (2600624, 2000037, 100, 1, 1), + (2600624, 4021034, 100, 1, 1), + (2600624, 4021032, 100, 1, 1), + (2600624, 2001528, 100, 1, 1), + (2600624, 4034181, 100, 1, 1), + (2600624, 4021031, 100, 1, 1), + (2600624, 4021035, 100, 1, 1), + (2600624, 2590004, 100, 1, 1), + (2600624, 2434021, 100, 1, 1), + (2600624, 2870299, 100, 1, 1), + (2600624, 4021033, 100, 1, 1), + (5090001, 4021032, 100, 1, 1), + (5090001, 4000412, 100, 1, 1), + (5090001, 4310029, 100, 1, 1), + (5090001, 2870183, 100, 1, 1), + (5090001, 4021035, 100, 1, 1), + (5090001, 4021034, 100, 1, 1), + (5090001, 4021033, 100, 1, 1), + (5090000, 4033041, 100, 1, 1), + (5090000, 4033040, 100, 1, 1), + (5090000, 2870182, 100, 1, 1), + (100001, 2010009, 100, 1, 1), + (100001, 4000000, 100, 1, 1), + (100001, 2000003, 100, 1, 1), + (100001, 2061000, 100, 1, 1), + (100001, 2870001, 100, 1, 1), + (100000, 2870000, 100, 1, 1), + (100000, 2060000, 100, 1, 1), + (100000, 2000000, 100, 1, 1), + (100000, 4000019, 100, 1, 1), + (100000, 2010009, 100, 1, 1), + (100003, 2061000, 100, 1, 1), + (100003, 4000011, 100, 1, 1), + (100003, 2870002, 100, 1, 1), + (100003, 2010009, 100, 1, 1), + (100003, 2000000, 100, 1, 1), + (100002, 2022055, 100, 1, 1), + (100002, 2022054, 100, 1, 1), + (100002, 2022053, 100, 1, 1), + (100002, 4020004, 100, 1, 1), + (100002, 2010009, 100, 1, 1), + (100002, 2060000, 100, 1, 1), + (100002, 2000000, 100, 1, 1), + (100002, 2000003, 100, 1, 1), + (100002, 2870004, 100, 1, 1), + (100002, 4010004, 100, 1, 1), + (100002, 4000016, 100, 1, 1), + (100002, 2870004, 100, 1, 1), + (100002, 2061000, 100, 1, 1), + (100005, 2000003, 100, 1, 1), + (100005, 2010009, 100, 1, 1), + (100005, 4000003, 100, 1, 1), + (100005, 2870003, 100, 1, 1), + (100005, 2000000, 100, 1, 1), + (8810018, 4310029, 100, 1, 1), + (8810018, 2000004, 100, 1, 1), + (8810018, 2433103, 100, 1, 1), + (8810018, 4001094, 100, 1, 1), + (100004, 4000001, 100, 1, 1), + (100004, 2000001, 100, 1, 1), + (100004, 4020007, 100, 1, 1), + (100004, 2022055, 100, 1, 1), + (100004, 2870021, 100, 1, 1), + (100004, 2060000, 100, 1, 1), + (100004, 2040705, 100, 1, 1), + (100004, 2022053, 100, 1, 1), + (100004, 2022054, 100, 1, 1), + (100004, 4010000, 100, 1, 1), + (100007, 4000017, 100, 1, 1), + (100007, 2000003, 100, 1, 1), + (100007, 2010009, 100, 1, 1), + (100007, 2060000, 100, 1, 1), + (100007, 4000021, 100, 1, 1), + (100007, 4010006, 100, 1, 1), + (100007, 4020006, 100, 1, 1), + (100007, 2022055, 100, 1, 1), + (100007, 2022054, 100, 1, 1), + (100007, 2022053, 100, 1, 1), + (100007, 2870019, 100, 1, 1), + (100007, 4000017, 100, 1, 1), + (100006, 4020005, 100, 1, 1), + (100006, 2010009, 100, 1, 1), + (100006, 2000001, 100, 1, 1), + (100006, 2022053, 100, 1, 1), + (100006, 4000004, 100, 1, 1), + (100006, 2022054, 100, 1, 1), + (100006, 4000010, 100, 1, 1), + (100006, 2872038, 100, 1, 1), + (100006, 2022055, 100, 1, 1), + (100006, 2000003, 100, 1, 1), + (100006, 2061000, 100, 1, 1), + (100006, 4010005, 100, 1, 1), + (8140500, 4021033, 100, 1, 1), + (8140500, 2590004, 100, 1, 1), + (8140500, 2434021, 100, 1, 1), + (8140500, 4021031, 100, 1, 1), + (8140500, 2000036, 100, 1, 1), + (8140500, 4000080, 100, 1, 1), + (8140500, 4021035, 100, 1, 1), + (8140500, 4021032, 100, 1, 1), + (8140500, 4021034, 100, 1, 1), + (8140500, 2001554, 100, 1, 1), + (8140500, 2870323, 100, 1, 1), + (8510000, 4021035, 100, 1, 1), + (8510000, 4000175, 100, 1, 1), + (8510000, 4001085, 100, 1, 1), + (8510000, 4021031, 100, 1, 1), + (8510000, 4021034, 100, 1, 1), + (8510000, 2431895, 100, 1, 1), + (8510000, 4021032, 100, 1, 1), + (8510000, 4021033, 100, 1, 1), + (8510000, 4031253, 100, 1, 1), + (2600607, 4021032, 100, 1, 1), + (2600607, 4310085, 100, 1, 1), + (2600607, 4021034, 100, 1, 1), + (2600607, 4000687, 100, 1, 1), + (2600607, 4021033, 100, 1, 1), + (2600607, 4021040, 100, 1, 1), + (2600607, 4021031, 100, 1, 1), + (2600607, 4021035, 100, 1, 1), + (2600606, 4021034, 100, 1, 1), + (2600606, 4000112, 100, 1, 1), + (2600606, 4031130, 100, 1, 1), + (2600606, 4021032, 100, 1, 1), + (2600606, 4021035, 100, 1, 1), + (2600606, 4021033, 100, 1, 1), + (2600606, 2870142, 100, 1, 1), + (2600605, 2870141, 100, 1, 1), + (2600605, 2590004, 100, 1, 1), + (2600605, 4021033, 100, 1, 1), + (2600605, 2001528, 100, 1, 1), + (2600605, 4021031, 100, 1, 1), + (2600605, 2000037, 100, 1, 1), + (2600605, 4021035, 100, 1, 1), + (2600605, 4021032, 100, 1, 1), + (2600605, 4000111, 100, 1, 1), + (2600605, 2434021, 100, 1, 1), + (2600605, 4021034, 100, 1, 1), + (2600604, 4000110, 100, 1, 1), + (2600604, 4021032, 100, 1, 1), + (2600604, 4021034, 100, 1, 1), + (2600604, 4021033, 100, 1, 1), + (2600604, 4021035, 100, 1, 1), + (2600603, 2870083, 100, 1, 1), + (2600603, 4021034, 100, 1, 1), + (2600603, 4021031, 100, 1, 1), + (2600603, 4021032, 100, 1, 1), + (2600603, 4021033, 100, 1, 1), + (2600603, 4021035, 100, 1, 1), + (2600602, 4021034, 100, 1, 1), + (2600602, 4021035, 100, 1, 1), + (2600602, 2870082, 100, 1, 1), + (2600602, 4009080, 100, 1, 1), + (2600602, 4021033, 100, 1, 1), + (2600602, 4021032, 100, 1, 1), + (2600601, 4021035, 100, 1, 1), + (2600601, 4021031, 100, 1, 1), + (2600601, 4021034, 100, 1, 1), + (2600601, 4021032, 100, 1, 1), + (2600601, 2870069, 100, 1, 1), + (2600601, 4000107, 100, 1, 1), + (2600601, 4021033, 100, 1, 1), + (2600600, 4021034, 100, 1, 1), + (2600600, 2870063, 100, 1, 1), + (2600600, 4000106, 100, 1, 1), + (2600600, 4021032, 100, 1, 1), + (2600600, 4021033, 100, 1, 1), + (2600600, 2434021, 100, 1, 1), + (2600600, 4021035, 100, 1, 1), + (2600600, 2001528, 100, 1, 1), + (2600600, 2000037, 100, 1, 1), + (2600600, 2590004, 100, 1, 1), + (4240000, 4000125, 100, 1, 1), + (4240000, 2870168, 100, 1, 1), + (8250028, 4021035, 100, 1, 1), + (8250028, 2000036, 100, 1, 1), + (8250028, 4034302, 100, 1, 1), + (8250028, 4001842, 100, 1, 1), + (8250028, 4021034, 100, 1, 1), + (8250028, 4021032, 100, 1, 1), + (8250028, 4021020, 100, 1, 1), + (8250028, 2434021, 100, 1, 1), + (8250028, 4021033, 100, 1, 1), + (8250028, 2001554, 100, 1, 1), + (8250028, 2590004, 100, 1, 1), + (8250028, 4021031, 100, 1, 1), + (2700029, 2431964, 100, 1, 1), + (2700029, 4021035, 100, 1, 1), + (2700029, 4021033, 100, 1, 1), + (2700029, 2000005, 100, 1, 1), + (2700029, 2433103, 100, 1, 1), + (2700029, 4310059, 100, 1, 1), + (2700029, 4021034, 100, 1, 1), + (2700029, 4021032, 100, 1, 1), + (8250024, 4034300, 100, 1, 1), + (8250024, 4001842, 100, 1, 1), + (8250024, 2590004, 100, 1, 1), + (8250024, 2434021, 100, 1, 1), + (8250024, 2000036, 100, 1, 1), + (8250024, 4021035, 100, 1, 1), + (8250024, 2001554, 100, 1, 1), + (8250024, 4021031, 100, 1, 1), + (8250024, 4021034, 100, 1, 1), + (8250024, 4021033, 100, 1, 1), + (8250024, 4021020, 100, 1, 1), + (8250024, 4021032, 100, 1, 1), + (8250026, 4021020, 100, 1, 1), + (8250026, 4021032, 100, 1, 1), + (8250026, 4021035, 100, 1, 1), + (8250026, 4034301, 100, 1, 1), + (8250026, 2001554, 100, 1, 1), + (8250026, 2000036, 100, 1, 1), + (8250026, 4001842, 100, 1, 1), + (8250026, 4021033, 100, 1, 1), + (8250026, 2434021, 100, 1, 1), + (8250026, 2590004, 100, 1, 1), + (8250026, 4021031, 100, 1, 1), + (8250026, 4021034, 100, 1, 1), + (2110200, 4020006, 100, 1, 1), + (2110200, 2040929, 100, 1, 1), + (2110200, 2043214, 100, 1, 1), + (2110200, 2040600, 100, 1, 1), + (2110200, 2000001, 100, 1, 1), + (2110200, 2044300, 100, 1, 1), + (2110200, 2060000, 100, 1, 1), + (2110200, 2044102, 100, 1, 1), + (2110200, 4000015, 100, 1, 1), + (2110200, 4010000, 100, 1, 1), + (2110200, 2870034, 100, 1, 1), + (2600703, 2512155, 100, 1, 1), + (2600703, 4021032, 100, 1, 1), + (2600703, 2511035, 100, 1, 1), + (2600703, 2512215, 100, 1, 1), + (2600703, 4021035, 100, 1, 1), + (2600703, 2000036, 100, 1, 1), + (2600703, 2512123, 100, 1, 1), + (2600703, 4021034, 100, 1, 1), + (2600703, 2430692, 100, 1, 1), + (2600703, 2512152, 100, 1, 1), + (2600703, 4021020, 100, 1, 1), + (2600703, 4000459, 100, 1, 1), + (2600703, 4021033, 100, 1, 1), + (2600703, 4000447, 100, 1, 1), + (2600703, 2000037, 100, 1, 1), + (2600703, 2512283, 100, 1, 1), + (2600703, 2512278, 100, 1, 1), + (2600703, 2330002, 100, 1, 1), + (2600703, 2431174, 100, 1, 1), + (2600703, 2512036, 100, 1, 1), + (2600703, 2511057, 100, 1, 1), + (2600703, 2049401, 100, 1, 1), + (2600703, 2590004, 100, 1, 1), + (2600703, 4021031, 100, 1, 1), + (2600703, 4009096, 100, 1, 1), + (2600703, 2870353, 100, 1, 1), + (2600702, 2590004, 100, 1, 1), + (2600702, 4021020, 100, 1, 1), + (2600702, 4021031, 100, 1, 1), + (2600702, 2000036, 100, 1, 1), + (2600702, 2048004, 100, 1, 1), + (2600702, 2512112, 100, 1, 1), + (2600702, 4021033, 100, 1, 1), + (2600702, 2870352, 100, 1, 1), + (2600702, 2512284, 100, 1, 1), + (2600702, 4021034, 100, 1, 1), + (2600702, 2000037, 100, 1, 1), + (2600702, 2431174, 100, 1, 1), + (2600702, 2430692, 100, 1, 1), + (2600702, 2049401, 100, 1, 1), + (2600702, 4000446, 100, 1, 1), + (2600702, 4021035, 100, 1, 1), + (2600702, 2510170, 100, 1, 1), + (2600702, 2510244, 100, 1, 1), + (2600702, 2512274, 100, 1, 1), + (2600702, 4021032, 100, 1, 1), + (2600702, 4000445, 100, 1, 1), + (2600702, 2512268, 100, 1, 1), + (2600702, 2512276, 100, 1, 1), + (2600702, 4009096, 100, 1, 1), + (8250020, 4021034, 100, 1, 1), + (8250020, 4034298, 100, 1, 1), + (8250020, 4001842, 100, 1, 1), + (8250020, 2590004, 100, 1, 1), + (8250020, 2000036, 100, 1, 1), + (8250020, 4021035, 100, 1, 1), + (8250020, 2001554, 100, 1, 1), + (8250020, 2434021, 100, 1, 1), + (8250020, 4021020, 100, 1, 1), + (8250020, 4021031, 100, 1, 1), + (8250020, 4021032, 100, 1, 1), + (8250020, 4021033, 100, 1, 1), + (2600701, 2870351, 100, 1, 1), + (2600701, 2430692, 100, 1, 1), + (2600701, 4021033, 100, 1, 1), + (2600701, 4033171, 100, 1, 1), + (2600701, 2512266, 100, 1, 1), + (2600701, 2512274, 100, 1, 1), + (2600701, 4009096, 100, 1, 1), + (2600701, 4021032, 100, 1, 1), + (2600701, 4021031, 100, 1, 1), + (2600701, 2000037, 100, 1, 1), + (2600701, 2512092, 100, 1, 1), + (2600701, 4000444, 100, 1, 1), + (2600701, 4021034, 100, 1, 1), + (2600701, 2330003, 100, 1, 1), + (2600701, 2431174, 100, 1, 1), + (2600701, 2510310, 100, 1, 1), + (2600701, 2049401, 100, 1, 1), + (2600701, 2590004, 100, 1, 1), + (2600701, 4021020, 100, 1, 1), + (2600701, 2512273, 100, 1, 1), + (2600701, 2512271, 100, 1, 1), + (2600701, 2512095, 100, 1, 1), + (2600701, 4021035, 100, 1, 1), + (2600701, 2512286, 100, 1, 1), + (2600701, 2511031, 100, 1, 1), + (2600701, 2510307, 100, 1, 1), + (2600701, 4000446, 100, 1, 1), + (2600701, 2000036, 100, 1, 1), + (2600700, 2000036, 100, 1, 1), + (2600700, 4021034, 100, 1, 1), + (2600700, 4021033, 100, 1, 1), + (2600700, 4009096, 100, 1, 1), + (2600700, 4021035, 100, 1, 1), + (2600700, 4032972, 100, 1, 1), + (2600700, 4021020, 100, 1, 1), + (2600700, 4021032, 100, 1, 1), + (2600700, 4021031, 100, 1, 1), + (8250022, 4021035, 100, 1, 1), + (8250022, 4021032, 100, 1, 1), + (8250022, 4034299, 100, 1, 1), + (8250022, 4021020, 100, 1, 1), + (8250022, 2001554, 100, 1, 1), + (8250022, 2434021, 100, 1, 1), + (8250022, 4001842, 100, 1, 1), + (8250022, 2590004, 100, 1, 1), + (8250022, 4021034, 100, 1, 1), + (8250022, 4021033, 100, 1, 1), + (8250022, 2000036, 100, 1, 1), + (8250022, 4021031, 100, 1, 1), + (8850012, 4021032, 100, 1, 1), + (8850012, 2431711, 100, 1, 1), + (8850012, 2000005, 100, 1, 1), + (8850012, 4021033, 100, 1, 1), + (8850012, 4000659, 100, 1, 1), + (8850012, 2434589, 100, 1, 1), + (8850012, 2434588, 100, 1, 1), + (8850012, 4021020, 100, 1, 1), + (8850012, 4021035, 100, 1, 1), + (8850012, 4021034, 100, 1, 1), + (8850012, 2433103, 100, 1, 1), + (8850012, 4310029, 100, 1, 1), + (8850012, 4021031, 100, 1, 1), + (8850011, 2433103, 100, 1, 1), + (8850011, 2434589, 100, 1, 1), + (8850011, 4310029, 100, 1, 1), + (8850011, 4021032, 100, 1, 1), + (8850011, 4021033, 100, 1, 1), + (8850011, 4021035, 100, 1, 1), + (8850011, 4021031, 100, 1, 1), + (8850011, 2431711, 100, 1, 1), + (8850011, 2000005, 100, 1, 1), + (8850011, 2434588, 100, 1, 1), + (8850011, 4021034, 100, 1, 1), + (8850011, 4021020, 100, 1, 1), + (8250016, 4021031, 100, 1, 1), + (8250016, 4021020, 100, 1, 1), + (8250016, 4021034, 100, 1, 1), + (8250016, 2434021, 100, 1, 1), + (8250016, 2590004, 100, 1, 1), + (8250016, 2000036, 100, 1, 1), + (8250016, 2001554, 100, 1, 1), + (8250016, 4021035, 100, 1, 1), + (8250016, 4021033, 100, 1, 1), + (8250016, 4034296, 100, 1, 1), + (8250016, 4001842, 100, 1, 1), + (8250016, 4021032, 100, 1, 1), + (6160003, 2431709, 100, 1, 1), + (8250018, 4021020, 100, 1, 1), + (8250018, 4021031, 100, 1, 1), + (8250018, 4021033, 100, 1, 1), + (8250018, 2001554, 100, 1, 1), + (8250018, 2000036, 100, 1, 1), + (8250018, 4021035, 100, 1, 1), + (8250018, 4001842, 100, 1, 1), + (8250018, 2434021, 100, 1, 1), + (8250018, 4021034, 100, 1, 1), + (8250018, 2590004, 100, 1, 1), + (8250018, 4034297, 100, 1, 1), + (8250018, 4021032, 100, 1, 1), + (8250013, 4001842, 100, 1, 1), + (8250013, 2434021, 100, 1, 1), + (8250013, 2590004, 100, 1, 1), + (8250013, 4021033, 100, 1, 1), + (8250013, 2001554, 100, 1, 1), + (8250013, 4021031, 100, 1, 1), + (8250013, 4034294, 100, 1, 1), + (8250013, 2000036, 100, 1, 1), + (8250013, 4021035, 100, 1, 1), + (8250013, 4021032, 100, 1, 1), + (8250013, 4021034, 100, 1, 1), + (8250013, 4021020, 100, 1, 1), + (8250014, 2000036, 100, 1, 1), + (8250014, 4021031, 100, 1, 1), + (8250014, 4021033, 100, 1, 1), + (8250014, 4034295, 100, 1, 1), + (8250014, 4021032, 100, 1, 1), + (8250014, 4001842, 100, 1, 1), + (8250014, 4021020, 100, 1, 1), + (8250014, 2434021, 100, 1, 1), + (8250014, 4021035, 100, 1, 1), + (8250014, 2590004, 100, 1, 1), + (8250014, 4021034, 100, 1, 1), + (8250014, 2001554, 100, 1, 1), + (1210102, 4020007, 100, 1, 1), + (1210102, 2022055, 100, 1, 1), + (1210102, 2000001, 100, 1, 1), + (1210102, 2022053, 100, 1, 1), + (1210102, 2870021, 100, 1, 1), + (1210102, 2040705, 100, 1, 1), + (1210102, 4010000, 100, 1, 1), + (1210102, 2022054, 100, 1, 1), + (1210102, 2060000, 100, 1, 1), + (1210102, 4000001, 100, 1, 1), + (8250009, 4021020, 100, 1, 1), + (8250009, 4021034, 100, 1, 1), + (8250009, 4021033, 100, 1, 1), + (8250009, 2434021, 100, 1, 1), + (8250009, 4021035, 100, 1, 1), + (8250009, 4021031, 100, 1, 1), + (8250009, 2590004, 100, 1, 1), + (8250009, 4001842, 100, 1, 1), + (8250009, 2000036, 100, 1, 1), + (8250009, 2001554, 100, 1, 1), + (8250009, 4034290, 100, 1, 1), + (8250009, 4021032, 100, 1, 1), + (1210103, 4020005, 100, 1, 1), + (1210103, 2000003, 100, 1, 1), + (1210103, 2043302, 100, 1, 1), + (1210103, 2870022, 100, 1, 1), + (1210103, 2000000, 100, 1, 1), + (1210103, 4000037, 100, 1, 1), + (1210103, 4006000, 100, 1, 1), + (1210103, 4010002, 100, 1, 1), + (8250008, 2590004, 100, 1, 1), + (8250008, 4021035, 100, 1, 1), + (8250008, 4034289, 100, 1, 1), + (8250008, 4021031, 100, 1, 1), + (8250008, 2434021, 100, 1, 1), + (8250008, 4021033, 100, 1, 1), + (8250008, 4001842, 100, 1, 1), + (8250008, 4021034, 100, 1, 1), + (8250008, 2000036, 100, 1, 1), + (8250008, 4021032, 100, 1, 1), + (8250008, 2001554, 100, 1, 1), + (8250008, 4021020, 100, 1, 1), + (1210100, 2010009, 100, 1, 1), + (1210100, 2022054, 100, 1, 1), + (1210100, 2870019, 100, 1, 1), + (1210100, 4000017, 100, 1, 1), + (1210100, 2022055, 100, 1, 1), + (1210100, 2000003, 100, 1, 1), + (1210100, 4000017, 100, 1, 1), + (1210100, 4000021, 100, 1, 1), + (1210100, 2060000, 100, 1, 1), + (1210100, 4010006, 100, 1, 1), + (1210100, 4020006, 100, 1, 1), + (1210100, 2022053, 100, 1, 1), + (8250011, 4021032, 100, 1, 1), + (8250011, 4021031, 100, 1, 1), + (8250011, 2434021, 100, 1, 1), + (8250011, 2590004, 100, 1, 1), + (8250011, 2000036, 100, 1, 1), + (8250011, 4021020, 100, 1, 1), + (8250011, 4021033, 100, 1, 1), + (8250011, 2001554, 100, 1, 1), + (8250011, 4021035, 100, 1, 1), + (8250011, 4021034, 100, 1, 1), + (8250011, 4001842, 100, 1, 1), + (8250011, 4034292, 100, 1, 1), + (1210101, 4000002, 100, 1, 1), + (1210101, 2060000, 100, 1, 1), + (1210101, 4010002, 100, 1, 1), + (1210101, 4000021, 100, 1, 1), + (1210101, 4003004, 100, 1, 1), + (1210101, 4020001, 100, 1, 1), + (1210101, 2000003, 100, 1, 1), + (1210101, 2872039, 100, 1, 1), + (1210101, 2000001, 100, 1, 1), + (1210101, 4000017, 100, 1, 1), + (8250010, 2590004, 100, 1, 1), + (8250010, 2000036, 100, 1, 1), + (8250010, 4021031, 100, 1, 1), + (8250010, 2001554, 100, 1, 1), + (8250010, 4021035, 100, 1, 1), + (8250010, 4021020, 100, 1, 1), + (8250010, 4021032, 100, 1, 1), + (8250010, 4001842, 100, 1, 1), + (8250010, 4021033, 100, 1, 1), + (8250010, 4034291, 100, 1, 1), + (8250010, 2434021, 100, 1, 1), + (8250010, 4021034, 100, 1, 1), + (8250005, 2590004, 100, 1, 1), + (8250005, 4034286, 100, 1, 1), + (8250005, 2000036, 100, 1, 1), + (8250005, 4001842, 100, 1, 1), + (8250005, 4021031, 100, 1, 1), + (8250005, 4021035, 100, 1, 1), + (8250005, 2434021, 100, 1, 1), + (8250005, 2001554, 100, 1, 1), + (8250005, 4021033, 100, 1, 1), + (8250005, 4021020, 100, 1, 1), + (8250005, 4021032, 100, 1, 1), + (8250005, 4021034, 100, 1, 1), + (8250004, 4021035, 100, 1, 1), + (8250004, 4021020, 100, 1, 1), + (8250004, 2001554, 100, 1, 1), + (8250004, 4021034, 100, 1, 1), + (8250004, 4021032, 100, 1, 1), + (8250004, 2434021, 100, 1, 1), + (8250004, 4001842, 100, 1, 1), + (8250004, 4034285, 100, 1, 1), + (8250004, 4021031, 100, 1, 1), + (8250004, 2590004, 100, 1, 1), + (8250004, 2000036, 100, 1, 1), + (8250004, 4021033, 100, 1, 1), + (1210104, 2870023, 100, 1, 1), + (1210104, 4000622, 100, 1, 1), + (1210104, 2060000, 100, 1, 1), + (1210104, 2043200, 100, 1, 1), + (1210104, 4000017, 100, 1, 1), + (1210104, 2000001, 100, 1, 1), + (1210104, 2061000, 100, 1, 1), + (1210104, 2040901, 100, 1, 1), + (1210104, 2000003, 100, 1, 1), + (3000007, 2870065, 100, 1, 1), + (3000007, 4000620, 100, 1, 1), + (8250007, 4021033, 100, 1, 1), + (8250007, 2590004, 100, 1, 1), + (8250007, 2000036, 100, 1, 1), + (8250007, 2434021, 100, 1, 1), + (8250007, 4021032, 100, 1, 1), + (8250007, 2001554, 100, 1, 1), + (8250007, 4021034, 100, 1, 1), + (8250007, 4034288, 100, 1, 1), + (8250007, 4021031, 100, 1, 1), + (8250007, 4021020, 100, 1, 1), + (8250007, 4021035, 100, 1, 1), + (8250007, 4001842, 100, 1, 1), + (3000006, 2870064, 100, 1, 1), + (3000006, 4000166, 100, 1, 1), + (8250006, 4021032, 100, 1, 1), + (8250006, 4021031, 100, 1, 1), + (8250006, 2001554, 100, 1, 1), + (8250006, 4001842, 100, 1, 1), + (8250006, 2000036, 100, 1, 1), + (8250006, 4021033, 100, 1, 1), + (8250006, 2434021, 100, 1, 1), + (8250006, 4021020, 100, 1, 1), + (8250006, 4021035, 100, 1, 1), + (8250006, 2590004, 100, 1, 1), + (8250006, 4034287, 100, 1, 1), + (8250006, 4021034, 100, 1, 1), + (3000001, 4000068, 100, 1, 1), + (8250001, 2434021, 100, 1, 1), + (8250001, 2590004, 100, 1, 1), + (8250001, 2000036, 100, 1, 1), + (8250001, 4034282, 100, 1, 1), + (8250001, 4021033, 100, 1, 1), + (8250001, 4001842, 100, 1, 1), + (8250001, 4021034, 100, 1, 1), + (8250001, 4021031, 100, 1, 1), + (8250001, 4021020, 100, 1, 1), + (8250001, 4021032, 100, 1, 1), + (8250001, 2001554, 100, 1, 1), + (8250001, 4021035, 100, 1, 1), + (3000000, 2870061, 100, 1, 1), + (3000000, 4000063, 100, 1, 1), + (5220002, 2870218, 100, 1, 1), + (8250000, 2001554, 100, 1, 1), + (8250000, 4021033, 100, 1, 1), + (8250000, 2434021, 100, 1, 1), + (8250000, 2000036, 100, 1, 1), + (8250000, 4021031, 100, 1, 1), + (8250000, 2590004, 100, 1, 1), + (8250000, 4021032, 100, 1, 1), + (8250000, 4021034, 100, 1, 1), + (8250000, 4021035, 100, 1, 1), + (8250000, 4001842, 100, 1, 1), + (8250000, 4021020, 100, 1, 1), + (8250000, 4034281, 100, 1, 1), + (8250003, 4034284, 100, 1, 1), + (8250003, 4021032, 100, 1, 1), + (8250003, 2001554, 100, 1, 1), + (8250003, 2434021, 100, 1, 1), + (8250003, 4021034, 100, 1, 1), + (8250003, 4001842, 100, 1, 1), + (8250003, 4021033, 100, 1, 1), + (8250003, 4021035, 100, 1, 1), + (8250003, 4021031, 100, 1, 1), + (8250003, 2590004, 100, 1, 1), + (8250003, 2000036, 100, 1, 1), + (8250003, 4021020, 100, 1, 1), + (5220000, 2870217, 100, 1, 1), + (8250002, 4034283, 100, 1, 1), + (8250002, 2001554, 100, 1, 1), + (8250002, 4021031, 100, 1, 1), + (8250002, 2590004, 100, 1, 1), + (8250002, 4021034, 100, 1, 1), + (8250002, 2434021, 100, 1, 1), + (8250002, 4021020, 100, 1, 1), + (8250002, 4021033, 100, 1, 1), + (8250002, 2000036, 100, 1, 1), + (8250002, 4001842, 100, 1, 1), + (8250002, 4021035, 100, 1, 1), + (8250002, 4021032, 100, 1, 1), + (3230400, 4000127, 100, 1, 1), + (3230400, 2870106, 100, 1, 1), + (3230405, 2870107, 100, 1, 1), + (3230405, 4000154, 100, 1, 1), + (100101, 4000000, 100, 1, 1), + (100101, 2010009, 100, 1, 1), + (100101, 2870001, 100, 1, 1), + (100101, 2061000, 100, 1, 1), + (100101, 2000003, 100, 1, 1), + (100100, 2010009, 100, 1, 1), + (100100, 4000019, 100, 1, 1), + (100100, 2060000, 100, 1, 1), + (100100, 2000000, 100, 1, 1), + (100100, 2870000, 100, 1, 1), + (2600711, 4021031, 100, 1, 1), + (2600711, 4021033, 100, 1, 1), + (2600711, 4009096, 100, 1, 1), + (2600711, 4033171, 100, 1, 1), + (2600711, 2000037, 100, 1, 1), + (2600711, 2049401, 100, 1, 1), + (2600711, 2512233, 100, 1, 1), + (2600711, 4021020, 100, 1, 1), + (2600711, 2430692, 100, 1, 1), + (2600711, 2510244, 100, 1, 1), + (2600711, 2512257, 100, 1, 1), + (2600711, 2512237, 100, 1, 1), + (2600711, 2512288, 100, 1, 1), + (2600711, 4000454, 100, 1, 1), + (2600711, 2512151, 100, 1, 1), + (2600711, 2590004, 100, 1, 1), + (2600711, 2870359, 100, 1, 1), + (2600711, 4021035, 100, 1, 1), + (2600711, 4000456, 100, 1, 1), + (2600711, 2512279, 100, 1, 1), + (2600711, 2000036, 100, 1, 1), + (2600711, 2431174, 100, 1, 1), + (2600711, 2512245, 100, 1, 1), + (2600711, 4021034, 100, 1, 1), + (2600711, 4021032, 100, 1, 1), + (2600710, 4009096, 100, 1, 1), + (2600710, 4021020, 100, 1, 1), + (2600710, 4021034, 100, 1, 1), + (2600710, 4021033, 100, 1, 1), + (2600710, 4021035, 100, 1, 1), + (2600710, 4021031, 100, 1, 1), + (2600710, 4021032, 100, 1, 1), + (2600710, 4000461, 100, 1, 1), + (100131, 4010006, 100, 1, 1), + (100131, 2010009, 100, 1, 1), + (100131, 2060000, 100, 1, 1), + (100131, 4020006, 100, 1, 1), + (100131, 2000003, 100, 1, 1), + (100131, 4000494, 100, 1, 1), + (2600709, 2049401, 100, 1, 1), + (2600709, 2870358, 100, 1, 1), + (2600709, 2431174, 100, 1, 1), + (2600709, 2512271, 100, 1, 1), + (2600709, 2512278, 100, 1, 1), + (2600709, 4021033, 100, 1, 1), + (2600709, 2000037, 100, 1, 1), + (2600709, 4000459, 100, 1, 1), + (2600709, 2430692, 100, 1, 1), + (2600709, 4021020, 100, 1, 1), + (2600709, 2000036, 100, 1, 1), + (2600709, 2511053, 100, 1, 1), + (2600709, 2512142, 100, 1, 1), + (2600709, 4031090, 100, 1, 1), + (2600709, 4000453, 100, 1, 1), + (2600709, 4009096, 100, 1, 1), + (2600709, 2512272, 100, 1, 1), + (2600709, 4021035, 100, 1, 1), + (2600709, 2590004, 100, 1, 1), + (2600709, 2512236, 100, 1, 1), + (2600709, 4021031, 100, 1, 1), + (2600709, 4021032, 100, 1, 1), + (2600709, 2512028, 100, 1, 1), + (2600709, 4021034, 100, 1, 1), + (2600709, 2512286, 100, 1, 1), + (2600709, 2512197, 100, 1, 1), + (100130, 2060000, 100, 1, 1), + (100130, 2000003, 100, 1, 1), + (100130, 2000001, 100, 1, 1), + (100130, 4000493, 100, 1, 1), + (100130, 2010009, 100, 1, 1), + (100130, 2001532, 100, 1, 1), + (100130, 4020005, 100, 1, 1), + (100130, 4010005, 100, 1, 1), + (2600708, 4021033, 100, 1, 1), + (2600708, 4021035, 100, 1, 1), + (2600708, 2512100, 100, 1, 1), + (2600708, 4009096, 100, 1, 1), + (2600708, 2512287, 100, 1, 1), + (2600708, 2512270, 100, 1, 1), + (2600708, 4021031, 100, 1, 1), + (2600708, 2048005, 100, 1, 1), + (2600708, 2512273, 100, 1, 1), + (2600708, 4021034, 100, 1, 1), + (2600708, 2431174, 100, 1, 1), + (2600708, 2512124, 100, 1, 1), + (2600708, 2512174, 100, 1, 1), + (2600708, 2512274, 100, 1, 1), + (2600708, 4000452, 100, 1, 1), + (2600708, 2512280, 100, 1, 1), + (2600708, 4021032, 100, 1, 1), + (2600708, 4021020, 100, 1, 1), + (2600708, 2870357, 100, 1, 1), + (2600708, 2000036, 100, 1, 1), + (2600708, 4031090, 100, 1, 1), + (2600708, 2512090, 100, 1, 1), + (2600708, 2510310, 100, 1, 1), + (2600708, 2000037, 100, 1, 1), + (2600708, 4000459, 100, 1, 1), + (2600708, 2430692, 100, 1, 1), + (2600708, 2510240, 100, 1, 1), + (2600708, 2590004, 100, 1, 1), + (100133, 4000496, 100, 1, 1), + (100133, 4010001, 100, 1, 1), + (100133, 4020003, 100, 1, 1), + (100133, 2000000, 100, 1, 1), + (100133, 2060000, 100, 1, 1), + (100133, 2010009, 100, 1, 1), + (2600707, 2512279, 100, 1, 1), + (2600707, 4000450, 100, 1, 1), + (2600707, 4021035, 100, 1, 1), + (2600707, 2430692, 100, 1, 1), + (2600707, 2512280, 100, 1, 1), + (2600707, 2510310, 100, 1, 1), + (2600707, 4000451, 100, 1, 1), + (2600707, 2000036, 100, 1, 1), + (2600707, 2590004, 100, 1, 1), + (2600707, 2512273, 100, 1, 1), + (2600707, 4021034, 100, 1, 1), + (2600707, 2512197, 100, 1, 1), + (2600707, 2512248, 100, 1, 1), + (2600707, 2000037, 100, 1, 1), + (2600707, 4021031, 100, 1, 1), + (2600707, 2511078, 100, 1, 1), + (2600707, 2512287, 100, 1, 1), + (2600707, 4021032, 100, 1, 1), + (2600707, 2431174, 100, 1, 1), + (2600707, 4033171, 100, 1, 1), + (2600707, 2512217, 100, 1, 1), + (2600707, 2512176, 100, 1, 1), + (2600707, 4021033, 100, 1, 1), + (2600707, 4009096, 100, 1, 1), + (2600707, 2870356, 100, 1, 1), + (2600707, 4021020, 100, 1, 1), + (100132, 2000003, 100, 1, 1), + (100132, 4000495, 100, 1, 1), + (100132, 2010009, 100, 1, 1), + (100132, 4010000, 100, 1, 1), + (100132, 2061000, 100, 1, 1), + (100132, 4020007, 100, 1, 1), + (2600706, 2512269, 100, 1, 1), + (2600706, 4021020, 100, 1, 1), + (2600706, 4021031, 100, 1, 1), + (2600706, 4021035, 100, 1, 1), + (2600706, 2512268, 100, 1, 1), + (2600706, 2512280, 100, 1, 1), + (2600706, 4021034, 100, 1, 1), + (2600706, 4021033, 100, 1, 1), + (2600706, 2590004, 100, 1, 1), + (2600706, 2870355, 100, 1, 1), + (2600706, 4000451, 100, 1, 1), + (2600706, 2000036, 100, 1, 1), + (2600706, 2512274, 100, 1, 1), + (2600706, 4009096, 100, 1, 1), + (2600706, 4000449, 100, 1, 1), + (2600706, 4021032, 100, 1, 1), + (2600706, 2431174, 100, 1, 1), + (2600706, 2004008, 100, 1, 1), + (2600706, 4033171, 100, 1, 1), + (2600706, 2049401, 100, 1, 1), + (2600706, 2000037, 100, 1, 1), + (2600706, 2430692, 100, 1, 1), + (2600706, 2512277, 100, 1, 1), + (2600705, 4021033, 100, 1, 1), + (2600705, 4021032, 100, 1, 1), + (2600705, 4000460, 100, 1, 1), + (2600705, 4021020, 100, 1, 1), + (2600705, 4009096, 100, 1, 1), + (2600705, 4021031, 100, 1, 1), + (2600705, 4021035, 100, 1, 1), + (2600705, 4021034, 100, 1, 1), + (100134, 4000497, 100, 1, 1), + (100134, 2010009, 100, 1, 1), + (100134, 2000001, 100, 1, 1), + (100134, 4010002, 100, 1, 1), + (100134, 2060000, 100, 1, 1), + (100134, 2000000, 100, 1, 1), + (100134, 4020002, 100, 1, 1), + (2600704, 4000459, 100, 1, 1), + (2600704, 2870354, 100, 1, 1), + (2600704, 4021020, 100, 1, 1), + (2600704, 2070009, 100, 1, 1), + (2600704, 2000036, 100, 1, 1), + (2600704, 2049401, 100, 1, 1), + (2600704, 4009096, 100, 1, 1), + (2600704, 2000037, 100, 1, 1), + (2600704, 2512279, 100, 1, 1), + (2600704, 4000448, 100, 1, 1), + (2600704, 2512286, 100, 1, 1), + (2600704, 2512241, 100, 1, 1), + (2600704, 4021034, 100, 1, 1), + (2600704, 2430692, 100, 1, 1), + (2600704, 4021032, 100, 1, 1), + (2600704, 4021035, 100, 1, 1), + (2600704, 2590004, 100, 1, 1), + (2600704, 2431174, 100, 1, 1), + (2600704, 4021033, 100, 1, 1), + (2600704, 4021031, 100, 1, 1), + (2600715, 4021020, 100, 1, 1), + (2600715, 4310029, 100, 1, 1), + (2600715, 4021031, 100, 1, 1), + (2600715, 4000462, 100, 1, 1), + (2600715, 4021035, 100, 1, 1), + (2600715, 4021033, 100, 1, 1), + (2600715, 4021034, 100, 1, 1), + (2600715, 4021032, 100, 1, 1), + (2600715, 4009096, 100, 1, 1), + (2600714, 4021032, 100, 1, 1), + (2600714, 4021035, 100, 1, 1), + (2600714, 2512280, 100, 1, 1), + (2600714, 4021020, 100, 1, 1), + (2600714, 2512246, 100, 1, 1), + (2600714, 2512274, 100, 1, 1), + (2600714, 2512273, 100, 1, 1), + (2600714, 2431174, 100, 1, 1), + (2600714, 2511077, 100, 1, 1), + (2600714, 2430692, 100, 1, 1), + (2600714, 2512288, 100, 1, 1), + (2600714, 2870362, 100, 1, 1), + (2600714, 4021033, 100, 1, 1), + (2600714, 2511015, 100, 1, 1), + (2600714, 4021031, 100, 1, 1), + (2600714, 4009096, 100, 1, 1), + (2600714, 2000037, 100, 1, 1), + (2600714, 2049401, 100, 1, 1), + (2600714, 2590004, 100, 1, 1), + (2600714, 2512235, 100, 1, 1), + (2600714, 2512036, 100, 1, 1), + (2600714, 2000036, 100, 1, 1), + (2600714, 2512286, 100, 1, 1), + (2600714, 2512198, 100, 1, 1), + (2600714, 4021034, 100, 1, 1), + (2600714, 4000459, 100, 1, 1), + (2600714, 4000458, 100, 1, 1), + (6150000, 2870246, 100, 1, 1), + (6150000, 4000608, 100, 1, 1), + (2600713, 4021031, 100, 1, 1), + (2600713, 4021033, 100, 1, 1), + (2600713, 2590004, 100, 1, 1), + (2600713, 2049401, 100, 1, 1), + (2600713, 2000036, 100, 1, 1), + (2600713, 4009096, 100, 1, 1), + (2600713, 2512035, 100, 1, 1), + (2600713, 2512214, 100, 1, 1), + (2600713, 2512283, 100, 1, 1), + (2600713, 4021020, 100, 1, 1), + (2600713, 2512278, 100, 1, 1), + (2600713, 4021034, 100, 1, 1), + (2600713, 2512020, 100, 1, 1), + (2600713, 2048005, 100, 1, 1), + (2600713, 4021032, 100, 1, 1), + (2600713, 2512268, 100, 1, 1), + (2600713, 2512281, 100, 1, 1), + (2600713, 2512105, 100, 1, 1), + (2600713, 4021035, 100, 1, 1), + (2600713, 2512176, 100, 1, 1), + (2600713, 2430692, 100, 1, 1), + (2600713, 4000457, 100, 1, 1), + (2600713, 2512113, 100, 1, 1), + (2600713, 2870361, 100, 1, 1), + (2600713, 4000459, 100, 1, 1), + (2600713, 2431174, 100, 1, 1), + (2600713, 2000037, 100, 1, 1), + (2600712, 2590004, 100, 1, 1), + (2600712, 4021035, 100, 1, 1), + (2600712, 2000036, 100, 1, 1), + (2600712, 2048003, 100, 1, 1), + (2600712, 2510310, 100, 1, 1), + (2600712, 4021031, 100, 1, 1), + (2600712, 2510168, 100, 1, 1), + (2600712, 4000455, 100, 1, 1), + (2600712, 4000456, 100, 1, 1), + (2600712, 2049401, 100, 1, 1), + (2600712, 4021032, 100, 1, 1), + (2600712, 2431174, 100, 1, 1), + (2600712, 4021020, 100, 1, 1), + (2600712, 2512283, 100, 1, 1), + (2600712, 2512267, 100, 1, 1), + (2600712, 2512288, 100, 1, 1), + (2600712, 4009096, 100, 1, 1), + (2600712, 2000037, 100, 1, 1), + (2600712, 2512281, 100, 1, 1), + (2600712, 2430692, 100, 1, 1), + (2600712, 2870360, 100, 1, 1), + (2600712, 4021033, 100, 1, 1), + (2600712, 4021034, 100, 1, 1), + (2600712, 2070009, 100, 1, 1), + (2600712, 2512270, 100, 1, 1), + (5130108, 4021033, 100, 1, 1), + (5130108, 2512193, 100, 1, 1), + (5130108, 4000069, 100, 1, 1), + (5130108, 4021032, 100, 1, 1), + (5130108, 2512115, 100, 1, 1), + (5130108, 2512269, 100, 1, 1), + (5130108, 2001528, 100, 1, 1), + (5130108, 2431174, 100, 1, 1), + (5130108, 2512198, 100, 1, 1), + (5130108, 2000037, 100, 1, 1), + (5130108, 2512154, 100, 1, 1), + (5130108, 4021031, 100, 1, 1), + (5130108, 2512286, 100, 1, 1), + (5130108, 2870210, 100, 1, 1), + (5130108, 2512041, 100, 1, 1), + (5130108, 2512132, 100, 1, 1), + (5130108, 2590004, 100, 1, 1), + (5130108, 4034183, 100, 1, 1), + (5130108, 2512271, 100, 1, 1), + (5130108, 2512276, 100, 1, 1), + (5130108, 4021034, 100, 1, 1), + (5130108, 2430692, 100, 1, 1), + (5130108, 4000082, 100, 1, 1), + (5130108, 4021035, 100, 1, 1), + (5130107, 4000069, 100, 1, 1), + (5130107, 4021031, 100, 1, 1), + (5130107, 4021032, 100, 1, 1), + (5130107, 4021034, 100, 1, 1), + (5130107, 4021033, 100, 1, 1), + (5130107, 4021035, 100, 1, 1), + (5130104, 4032646, 100, 1, 1), + (5130104, 2870207, 100, 1, 1), + (5130104, 4031054, 100, 1, 1), + (5130104, 4031218, 100, 1, 1), + (5130104, 4000051, 100, 1, 1), + (5130104, 4032643, 100, 1, 1), + (5130104, 4032645, 100, 1, 1), + (5130104, 4032644, 100, 1, 1), + (5130104, 4032642, 100, 1, 1), + (5130105, 2870208, 100, 1, 1), + (5130105, 4000055, 100, 1, 1), + (5130103, 2870206, 100, 1, 1), + (5130103, 4000033, 100, 1, 1), + (3300104, 4034110, 100, 1, 1), + (2230114, 2000001, 100, 1, 1), + (2230114, 2040614, 100, 1, 1), + (2230114, 2000003, 100, 1, 1), + (2230114, 2870057, 100, 1, 1), + (2230114, 2060000, 100, 1, 1), + (2230114, 2000006, 100, 1, 1), + (2230114, 2048003, 100, 1, 1), + (2230114, 4000623, 100, 1, 1), + (2230114, 2043600, 100, 1, 1), + (2230114, 2043300, 100, 1, 1), + (2230114, 2000002, 100, 1, 1), + (2230114, 2040900, 100, 1, 1), + (2230112, 2000000, 100, 1, 1), + (2230112, 2000002, 100, 1, 1), + (2230112, 2040417, 100, 1, 1), + (2230112, 2000003, 100, 1, 1), + (2230112, 2043200, 100, 1, 1), + (2230112, 2044700, 100, 1, 1), + (2230112, 4020004, 100, 1, 1), + (2230112, 4010003, 100, 1, 1), + (2230112, 2870055, 100, 1, 1), + (2230112, 4000020, 100, 1, 1), + (2230112, 4003004, 100, 1, 1), + (2230113, 2870056, 100, 1, 1), + (2230113, 2000001, 100, 1, 1), + (2230113, 2044200, 100, 1, 1), + (2230113, 2060000, 100, 1, 1), + (2230113, 2000006, 100, 1, 1), + (2230113, 2044210, 100, 1, 1), + (2230113, 2061000, 100, 1, 1), + (2230113, 2040926, 100, 1, 1), + (2230113, 2070010, 100, 1, 1), + (2230113, 2330000, 100, 1, 1), + (2230113, 2000002, 100, 1, 1), + (2230113, 4000621, 100, 1, 1), + (2230113, 2040929, 100, 1, 1), + (3210100, 2431174, 100, 1, 1), + (3210100, 2870078, 100, 1, 1), + (3210100, 2001527, 100, 1, 1), + (3210100, 2001526, 100, 1, 1), + (3210100, 4000024, 100, 1, 1), + (8140600, 2870324, 100, 1, 1), + (8140600, 4021034, 100, 1, 1), + (8140600, 2434021, 100, 1, 1), + (8140600, 2000037, 100, 1, 1), + (8140600, 4021032, 100, 1, 1), + (8140600, 4000182, 100, 1, 1), + (8140600, 2590004, 100, 1, 1), + (8140600, 4021035, 100, 1, 1), + (8140600, 4031256, 100, 1, 1), + (8140600, 4021033, 100, 1, 1), + (8140600, 2001528, 100, 1, 1), + (8140600, 4021031, 100, 1, 1), + (8920003, 4310065, 100, 1, 1), + (8920003, 4310029, 100, 1, 1), + (8920003, 4310064, 100, 1, 1), + (8920003, 2434586, 100, 1, 1), + (8920003, 2000005, 100, 1, 1), + (8920003, 2433103, 100, 1, 1), + (8920003, 2433591, 100, 1, 1), + (8920003, 3010514, 100, 1, 1), + (8800202, 4001685, 100, 1, 1), + (8800202, 4021031, 100, 1, 1), + (8800202, 4021035, 100, 1, 1), + (8800202, 4021034, 100, 1, 1), + (8800202, 4001687, 100, 1, 1), + (8800202, 4000563, 100, 1, 1), + (8800202, 4021033, 100, 1, 1), + (8800202, 4021032, 100, 1, 1), + (8800202, 4033176, 100, 1, 1), + (8800202, 4001686, 100, 1, 1), + (8290099, 4001877, 100, 1, 1), + (8290099, 4310029, 100, 1, 1), + (8800203, 4001686, 100, 1, 1), + (8800203, 4021032, 100, 1, 1), + (8800203, 4021034, 100, 1, 1), + (8800203, 4021033, 100, 1, 1), + (8800203, 4033176, 100, 1, 1), + (8800203, 4000565, 100, 1, 1), + (8800203, 4001685, 100, 1, 1), + (8800203, 4001687, 100, 1, 1), + (8800203, 4021035, 100, 1, 1), + (8800203, 4021031, 100, 1, 1), + (8800201, 4021035, 100, 1, 1), + (8800201, 4000564, 100, 1, 1), + (8800201, 4001685, 100, 1, 1), + (8800201, 4021034, 100, 1, 1), + (8800201, 4001686, 100, 1, 1), + (8800201, 4021032, 100, 1, 1), + (8800201, 4001687, 100, 1, 1), + (8800201, 4021031, 100, 1, 1), + (8800201, 4021033, 100, 1, 1), + (8800201, 4033176, 100, 1, 1), + (2230131, 4010003, 100, 1, 1), + (2230131, 2000000, 100, 1, 1), + (2230131, 4020003, 100, 1, 1), + (2230131, 2045302, 100, 1, 1), + (2230131, 2040538, 100, 1, 1), + (2230131, 2044302, 100, 1, 1), + (2230131, 4010002, 100, 1, 1), + (2230131, 2049100, 100, 1, 1), + (2230131, 2040530, 100, 1, 1), + (2230131, 4000047, 100, 1, 1), + (2230131, 2870058, 100, 1, 1), + (2230131, 2000001, 100, 1, 1), + (2230131, 4000008, 100, 1, 1), + (8620003, 4021034, 100, 1, 1), + (8620003, 4021033, 100, 1, 1), + (8620003, 4021035, 100, 1, 1), + (8620003, 4033750, 100, 1, 1), + (8620003, 2590004, 100, 1, 1), + (8620003, 4033733, 100, 1, 1), + (8620003, 2000036, 100, 1, 1), + (8620003, 4033727, 100, 1, 1), + (8620003, 4021020, 100, 1, 1), + (8620003, 4000829, 100, 1, 1), + (8620003, 4021032, 100, 1, 1), + (8620003, 4021031, 100, 1, 1), + (8620003, 2434021, 100, 1, 1), + (8620003, 4033732, 100, 1, 1), + (8620003, 2001554, 100, 1, 1), + (8620002, 4000826, 100, 1, 1), + (8620002, 4021034, 100, 1, 1), + (8620002, 4021031, 100, 1, 1), + (8620002, 4033733, 100, 1, 1), + (8620002, 2590004, 100, 1, 1), + (8620002, 2001554, 100, 1, 1), + (8620002, 4021020, 100, 1, 1), + (8620002, 2000036, 100, 1, 1), + (8620002, 4021033, 100, 1, 1), + (8620002, 2434021, 100, 1, 1), + (8620002, 4021032, 100, 1, 1), + (8620002, 4021035, 100, 1, 1), + (8620002, 4033726, 100, 1, 1), + (8620002, 4033732, 100, 1, 1), + (8620001, 2590004, 100, 1, 1), + (8620001, 4021034, 100, 1, 1), + (8620001, 2001554, 100, 1, 1), + (8620001, 4000827, 100, 1, 1), + (8620001, 2000036, 100, 1, 1), + (8620001, 4021032, 100, 1, 1), + (8620001, 4033732, 100, 1, 1), + (8620001, 4021035, 100, 1, 1), + (8620001, 4021033, 100, 1, 1), + (8620001, 4033733, 100, 1, 1), + (8620001, 4021020, 100, 1, 1), + (8620001, 4033726, 100, 1, 1), + (8620001, 2434021, 100, 1, 1), + (8620001, 4021031, 100, 1, 1), + (8880101, 4310029, 100, 1, 1), + (8880101, 2000005, 100, 1, 1), + (8880101, 2435369, 100, 1, 1), + (8880101, 2433103, 100, 1, 1), + (8880101, 4001869, 100, 1, 1), + (8620000, 4021033, 100, 1, 1), + (8620000, 4021031, 100, 1, 1), + (8620000, 2590004, 100, 1, 1), + (8620000, 4000826, 100, 1, 1), + (8620000, 4021034, 100, 1, 1), + (8620000, 4021032, 100, 1, 1), + (8620000, 4021035, 100, 1, 1), + (8620000, 4021020, 100, 1, 1), + (8620000, 4033732, 100, 1, 1), + (8620000, 2001554, 100, 1, 1), + (8620000, 4033726, 100, 1, 1), + (8620000, 4033733, 100, 1, 1), + (8620000, 2434021, 100, 1, 1), + (8620000, 2000036, 100, 1, 1), + (8620000, 4034983, 100, 1, 1), + (8620007, 2001554, 100, 1, 1), + (8620007, 4000833, 100, 1, 1), + (8620007, 4033733, 100, 1, 1), + (8620007, 4033732, 100, 1, 1), + (8620007, 4021032, 100, 1, 1), + (8620007, 2590004, 100, 1, 1), + (8620007, 2000036, 100, 1, 1), + (8620007, 4021031, 100, 1, 1), + (8620007, 4021034, 100, 1, 1), + (8620007, 4021035, 100, 1, 1), + (8620007, 4021033, 100, 1, 1), + (8620007, 4033730, 100, 1, 1), + (8620007, 4021020, 100, 1, 1), + (8620007, 2434021, 100, 1, 1), + (8620006, 4033732, 100, 1, 1), + (8620006, 4033733, 100, 1, 1), + (8620006, 4021020, 100, 1, 1), + (8620006, 4021032, 100, 1, 1), + (8620006, 4033730, 100, 1, 1), + (8620006, 2590004, 100, 1, 1), + (8620006, 4021034, 100, 1, 1), + (8620006, 2434021, 100, 1, 1), + (8620006, 4021033, 100, 1, 1), + (8620006, 4021035, 100, 1, 1), + (8620006, 2001554, 100, 1, 1), + (8620006, 2000036, 100, 1, 1), + (8620006, 4000832, 100, 1, 1), + (8620006, 4021031, 100, 1, 1), + (8620005, 2001554, 100, 1, 1), + (8620005, 2434021, 100, 1, 1), + (8620005, 4021033, 100, 1, 1), + (8620005, 4021034, 100, 1, 1), + (8620005, 4033727, 100, 1, 1), + (8620005, 4021031, 100, 1, 1), + (8620005, 4033733, 100, 1, 1), + (8620005, 2000036, 100, 1, 1), + (8620005, 4021035, 100, 1, 1), + (8620005, 2590004, 100, 1, 1), + (8620005, 4021020, 100, 1, 1), + (8620005, 4033732, 100, 1, 1), + (8620005, 4000831, 100, 1, 1), + (8620005, 4021032, 100, 1, 1), + (8620004, 2001554, 100, 1, 1), + (8620004, 4021032, 100, 1, 1), + (8620004, 4021034, 100, 1, 1), + (8620004, 4021031, 100, 1, 1), + (8620004, 2000036, 100, 1, 1), + (8620004, 4033732, 100, 1, 1), + (8620004, 4033727, 100, 1, 1), + (8620004, 2434021, 100, 1, 1), + (8620004, 4021033, 100, 1, 1), + (8620004, 4000830, 100, 1, 1), + (8620004, 4033733, 100, 1, 1), + (8620004, 4021035, 100, 1, 1), + (8620004, 4021020, 100, 1, 1), + (8620004, 4033753, 100, 1, 1), + (8620004, 2590004, 100, 1, 1), + (8620011, 4000835, 100, 1, 1), + (8620011, 2434021, 100, 1, 1), + (8620011, 2000036, 100, 1, 1), + (8620011, 2001554, 100, 1, 1), + (8620011, 4021033, 100, 1, 1), + (8620011, 4033733, 100, 1, 1), + (8620011, 4000836, 100, 1, 1), + (8620011, 4033731, 100, 1, 1), + (8620011, 4033732, 100, 1, 1), + (8620011, 4021035, 100, 1, 1), + (8620011, 4021034, 100, 1, 1), + (8620011, 4021032, 100, 1, 1), + (8620011, 4021031, 100, 1, 1), + (8620011, 2590004, 100, 1, 1), + (8620011, 4021020, 100, 1, 1), + (8620010, 4021033, 100, 1, 1), + (8620010, 4021035, 100, 1, 1), + (8620010, 2590004, 100, 1, 1), + (8620010, 4033752, 100, 1, 1), + (8620010, 2001554, 100, 1, 1), + (8620010, 4033731, 100, 1, 1), + (8620010, 4033733, 100, 1, 1), + (8620010, 4021020, 100, 1, 1), + (8620010, 4021031, 100, 1, 1), + (8620010, 4033732, 100, 1, 1), + (8620010, 2000036, 100, 1, 1), + (8620010, 4000836, 100, 1, 1), + (8620010, 4021032, 100, 1, 1), + (8620010, 2434021, 100, 1, 1), + (8620010, 4021034, 100, 1, 1), + (8880110, 4001869, 100, 1, 1), + (8880110, 2000005, 100, 1, 1), + (8880110, 2435369, 100, 1, 1), + (8880110, 4310029, 100, 1, 1), + (8880110, 2433103, 100, 1, 1), + (8620009, 2000036, 100, 1, 1), + (8620009, 4033731, 100, 1, 1), + (8620009, 4000835, 100, 1, 1), + (8620009, 4021035, 100, 1, 1), + (8620009, 4021031, 100, 1, 1), + (8620009, 4021033, 100, 1, 1), + (8620009, 4033751, 100, 1, 1), + (8620009, 4021034, 100, 1, 1), + (8620009, 4033733, 100, 1, 1), + (8620009, 4033732, 100, 1, 1), + (8620009, 4021032, 100, 1, 1), + (8620009, 2001554, 100, 1, 1), + (8620009, 2590004, 100, 1, 1), + (8620009, 4021020, 100, 1, 1), + (8620009, 2434021, 100, 1, 1), + (8620008, 4021020, 100, 1, 1), + (8620008, 4033732, 100, 1, 1), + (8620008, 2590004, 100, 1, 1), + (8620008, 4021034, 100, 1, 1), + (8620008, 2000036, 100, 1, 1), + (8620008, 2434021, 100, 1, 1), + (8620008, 4021033, 100, 1, 1), + (8620008, 2001554, 100, 1, 1), + (8620008, 4021035, 100, 1, 1), + (8620008, 4000834, 100, 1, 1), + (8620008, 4021031, 100, 1, 1), + (8620008, 4021032, 100, 1, 1), + (8620008, 4033754, 100, 1, 1), + (8620008, 4033733, 100, 1, 1), + (8620015, 2870466, 100, 1, 1), + (8620015, 2590004, 100, 1, 1), + (8620015, 2070004, 100, 1, 1), + (8620015, 2000036, 100, 1, 1), + (8620015, 2001554, 100, 1, 1), + (8620015, 2434021, 100, 1, 1), + (8620015, 4021035, 100, 1, 1), + (8620015, 4021020, 100, 1, 1), + (8620015, 4021034, 100, 1, 1), + (8620015, 4034983, 100, 1, 1), + (8620015, 4032926, 100, 1, 1), + (8620015, 4021032, 100, 1, 1), + (8620015, 4021033, 100, 1, 1), + (8620015, 4000651, 100, 1, 1), + (8620015, 4021031, 100, 1, 1), + (8620014, 4021034, 100, 1, 1), + (8620014, 4021032, 100, 1, 1), + (8620014, 2512266, 100, 1, 1), + (8620014, 2512270, 100, 1, 1), + (8620014, 4021035, 100, 1, 1), + (8620014, 2512175, 100, 1, 1), + (8620014, 2049401, 100, 1, 1), + (8620014, 2000036, 100, 1, 1), + (8620014, 2512154, 100, 1, 1), + (8620014, 4021020, 100, 1, 1), + (8620014, 2512128, 100, 1, 1), + (8620014, 2512285, 100, 1, 1), + (8620014, 2512283, 100, 1, 1), + (8620014, 4021031, 100, 1, 1), + (8620014, 2001554, 100, 1, 1), + (8620014, 4000650, 100, 1, 1), + (8620014, 4021033, 100, 1, 1), + (8620014, 2434021, 100, 1, 1), + (8620014, 2590004, 100, 1, 1), + (8620014, 2512271, 100, 1, 1), + (8620014, 2512287, 100, 1, 1), + (8620014, 2430692, 100, 1, 1), + (8620014, 2512099, 100, 1, 1), + (8620014, 2070009, 100, 1, 1), + (8620014, 2870465, 100, 1, 1), + (8620014, 4032941, 100, 1, 1), + (8620014, 2512137, 100, 1, 1), + (8620014, 4034983, 100, 1, 1), + (8620013, 4021034, 100, 1, 1), + (8620013, 4021032, 100, 1, 1), + (8620013, 2512154, 100, 1, 1), + (8620013, 2512137, 100, 1, 1), + (8620013, 2512266, 100, 1, 1), + (8620013, 2512285, 100, 1, 1), + (8620013, 4021020, 100, 1, 1), + (8620013, 2049401, 100, 1, 1), + (8620013, 2330003, 100, 1, 1), + (8620013, 2590004, 100, 1, 1), + (8620013, 2512287, 100, 1, 1), + (8620013, 2512128, 100, 1, 1), + (8620013, 2000036, 100, 1, 1), + (8620013, 4034983, 100, 1, 1), + (8620013, 2330002, 100, 1, 1), + (8620013, 2512271, 100, 1, 1), + (8620013, 2434021, 100, 1, 1), + (8620013, 2048003, 100, 1, 1), + (8620013, 2070007, 100, 1, 1), + (8620013, 4021033, 100, 1, 1), + (8620013, 2870464, 100, 1, 1), + (8620013, 4021031, 100, 1, 1), + (8620013, 4021035, 100, 1, 1), + (8620013, 2512099, 100, 1, 1), + (8620013, 4000649, 100, 1, 1), + (8620013, 2512175, 100, 1, 1), + (8620013, 2430692, 100, 1, 1), + (8620013, 2512270, 100, 1, 1), + (8620013, 2001554, 100, 1, 1), + (8620013, 2512283, 100, 1, 1), + (8620012, 4033732, 100, 1, 1), + (8620012, 2001554, 100, 1, 1), + (8620012, 4021020, 100, 1, 1), + (8620012, 2000036, 100, 1, 1), + (8620012, 4021031, 100, 1, 1), + (8620012, 4021032, 100, 1, 1), + (8620012, 4021034, 100, 1, 1), + (8620012, 4033729, 100, 1, 1), + (8620012, 4033733, 100, 1, 1), + (8620012, 2434021, 100, 1, 1), + (8620012, 4000826, 100, 1, 1), + (8620012, 4021035, 100, 1, 1), + (8620012, 4000827, 100, 1, 1), + (8620012, 2590004, 100, 1, 1), + (8620012, 4021033, 100, 1, 1), + (8620012, 4000828, 100, 1, 1), + (5300000, 2870224, 100, 1, 1), + (5300000, 4000086, 100, 1, 1), + (5300001, 2870225, 100, 1, 1), + (5300001, 4000087, 100, 1, 1), + (8620017, 2870468, 100, 1, 1), + (8620017, 4034983, 100, 1, 1), + (8620017, 2590004, 100, 1, 1), + (8620017, 4021034, 100, 1, 1), + (8620017, 4021035, 100, 1, 1), + (8620017, 4021020, 100, 1, 1), + (8620017, 2001554, 100, 1, 1), + (8620017, 4000653, 100, 1, 1), + (8620017, 4021032, 100, 1, 1), + (8620017, 4021031, 100, 1, 1), + (8620017, 2434021, 100, 1, 1), + (8620017, 4021033, 100, 1, 1), + (8620017, 2000036, 100, 1, 1), + (8620017, 2070005, 100, 1, 1), + (8620016, 4000652, 100, 1, 1), + (8620016, 4034983, 100, 1, 1), + (8620016, 2001554, 100, 1, 1), + (8620016, 4021034, 100, 1, 1), + (8620016, 4021020, 100, 1, 1), + (8620016, 2870467, 100, 1, 1), + (8620016, 4021035, 100, 1, 1), + (8620016, 4021031, 100, 1, 1), + (8620016, 2434021, 100, 1, 1), + (8620016, 4021032, 100, 1, 1), + (8620016, 4021033, 100, 1, 1), + (8620016, 2000036, 100, 1, 1), + (8620016, 2590004, 100, 1, 1), + (2230102, 2060000, 100, 1, 1), + (2230102, 2870047, 100, 1, 1), + (2230102, 2000000, 100, 1, 1), + (2230102, 2044310, 100, 1, 1), + (2230102, 2040500, 100, 1, 1), + (2230102, 2044700, 100, 1, 1), + (2230102, 4003004, 100, 1, 1), + (2230102, 4010003, 100, 1, 1), + (2230102, 4000021, 100, 1, 1), + (2230102, 2000002, 100, 1, 1), + (2230102, 4020004, 100, 1, 1), + (2230102, 4000020, 100, 1, 1), + (1120100, 2022054, 100, 1, 1), + (1120100, 2043002, 100, 1, 1), + (1120100, 2022053, 100, 1, 1), + (1120100, 2022014, 100, 1, 1), + (1120100, 4020002, 100, 1, 1), + (1120100, 4010003, 100, 1, 1), + (1120100, 2000003, 100, 1, 1), + (1120100, 2870012, 100, 1, 1), + (1120100, 2022055, 100, 1, 1), + (1120100, 2000002, 100, 1, 1), + (2230103, 2040417, 100, 1, 1), + (2230103, 4130023, 100, 1, 1), + (2230103, 2070008, 100, 1, 1), + (2230103, 2044112, 100, 1, 1), + (2230103, 2044802, 100, 1, 1), + (2230103, 2000001, 100, 1, 1), + (2230103, 4000097, 100, 1, 1), + (2230103, 4004003, 100, 1, 1), + (2230103, 2040002, 100, 1, 1), + (2230103, 2001521, 100, 1, 1), + (2230103, 2000006, 100, 1, 1), + (2230103, 2043201, 100, 1, 1), + (2230103, 4010003, 100, 1, 1), + (2230103, 2043601, 100, 1, 1), + (2230103, 2044114, 100, 1, 1), + (2230103, 4131000, 100, 1, 1), + (2230103, 2061000, 100, 1, 1), + (2230100, 2044800, 100, 1, 1), + (2230100, 2070001, 100, 1, 1), + (2230100, 2040515, 100, 1, 1), + (2230100, 4020005, 100, 1, 1), + (2230100, 4010004, 100, 1, 1), + (2230100, 2870045, 100, 1, 1), + (2230100, 2044402, 100, 1, 1), + (2230100, 2048000, 100, 1, 1), + (2230100, 2000001, 100, 1, 1), + (2230100, 4000007, 100, 1, 1), + (2230100, 2061000, 100, 1, 1), + (2230101, 4020003, 100, 1, 1), + (2230101, 4010002, 100, 1, 1), + (2230101, 2040003, 100, 1, 1), + (2230101, 2000003, 100, 1, 1), + (2230101, 2044210, 100, 1, 1), + (2230101, 2044700, 100, 1, 1), + (2230101, 4000008, 100, 1, 1), + (2230101, 2044302, 100, 1, 1), + (2230101, 2872040, 100, 1, 1), + (2230101, 2061000, 100, 1, 1), + (2230101, 2045302, 100, 1, 1), + (2230106, 2000002, 100, 1, 1), + (2230106, 2040004, 100, 1, 1), + (2230106, 4000163, 100, 1, 1), + (2230106, 2044412, 100, 1, 1), + (2230106, 2000004, 100, 1, 1), + (2230106, 2001527, 100, 1, 1), + (2230106, 2001526, 100, 1, 1), + (2230106, 2048004, 100, 1, 1), + (2230106, 2040514, 100, 1, 1), + (2230106, 2040602, 100, 1, 1), + (2230106, 2060000, 100, 1, 1), + (2230106, 2870049, 100, 1, 1), + (2230107, 2070008, 100, 1, 1), + (2230107, 4020005, 100, 1, 1), + (2230107, 4010002, 100, 1, 1), + (2230107, 2044010, 100, 1, 1), + (2230107, 2040613, 100, 1, 1), + (2230107, 2045302, 100, 1, 1), + (2230107, 2044302, 100, 1, 1), + (2230107, 2040902, 100, 1, 1), + (2230107, 2040326, 100, 1, 1), + (2230107, 2040321, 100, 1, 1), + (2230107, 2001527, 100, 1, 1), + (2230107, 2060000, 100, 1, 1), + (2230107, 2870050, 100, 1, 1), + (2230107, 2000002, 100, 1, 1), + (2230107, 4000162, 100, 1, 1), + (2230104, 2040924, 100, 1, 1), + (2230104, 2041009, 100, 1, 1), + (2230104, 2001527, 100, 1, 1), + (2230104, 4000098, 100, 1, 1), + (2230104, 4131010, 100, 1, 1), + (2230104, 4010002, 100, 1, 1), + (2230104, 4010001, 100, 1, 1), + (2230104, 4004002, 100, 1, 1), + (2230104, 2044112, 100, 1, 1), + (2230104, 2040516, 100, 1, 1), + (2230104, 2001522, 100, 1, 1), + (2230105, 2040620, 100, 1, 1), + (2230105, 2070001, 100, 1, 1), + (2230105, 2040824, 100, 1, 1), + (2230105, 4004003, 100, 1, 1), + (2230105, 2001526, 100, 1, 1), + (2230105, 2870048, 100, 1, 1), + (2230105, 4000161, 100, 1, 1), + (2230105, 2040505, 100, 1, 1), + (2230105, 2041010, 100, 1, 1), + (2230105, 2044601, 100, 1, 1), + (2230105, 2070009, 100, 1, 1), + (2230105, 2000002, 100, 1, 1), + (2230105, 4010001, 100, 1, 1), + (2230105, 2001527, 100, 1, 1), + (2230105, 2060000, 100, 1, 1), + (2230105, 2061000, 100, 1, 1), + (2230105, 4131000, 100, 1, 1), + (2110300, 4020007, 100, 1, 1), + (2110300, 4130023, 100, 1, 1), + (2110300, 2000004, 100, 1, 1), + (2110300, 4020000, 100, 1, 1), + (2110300, 4010007, 100, 1, 1), + (2110300, 2043214, 100, 1, 1), + (2110300, 2040924, 100, 1, 1), + (2110300, 2070003, 100, 1, 1), + (2110300, 4000350, 100, 1, 1), + (2110300, 2001527, 100, 1, 1), + (2110300, 2048000, 100, 1, 1), + (2110300, 2000002, 100, 1, 1), + (2110300, 2000006, 100, 1, 1), + (2230110, 4020001, 100, 1, 1), + (2230110, 2040420, 100, 1, 1), + (2230110, 2044805, 100, 1, 1), + (2230110, 2000001, 100, 1, 1), + (2230110, 4010000, 100, 1, 1), + (2230110, 2870053, 100, 1, 1), + (2230110, 4020002, 100, 1, 1), + (2230110, 2040316, 100, 1, 1), + (2230110, 2061000, 100, 1, 1), + (2230110, 2044010, 100, 1, 1), + (2230110, 4000196, 100, 1, 1), + (2230110, 2040530, 100, 1, 1), + (2230110, 2000006, 100, 1, 1), + (8160000, 2000037, 100, 1, 1), + (8160000, 2434021, 100, 1, 1), + (8160000, 2870343, 100, 1, 1), + (8160000, 2430692, 100, 1, 1), + (8160000, 4034181, 100, 1, 1), + (8160000, 4021031, 100, 1, 1), + (8160000, 4021032, 100, 1, 1), + (8160000, 4000151, 100, 1, 1), + (8160000, 2590004, 100, 1, 1), + (8160000, 4021034, 100, 1, 1), + (8160000, 4031172, 100, 1, 1), + (8160000, 4021033, 100, 1, 1), + (8160000, 4021035, 100, 1, 1), + (8160000, 2001528, 100, 1, 1), + (2110301, 2048002, 100, 1, 1), + (2110301, 2001002, 100, 1, 1), + (2110301, 4010001, 100, 1, 1), + (2110301, 2044901, 100, 1, 1), + (2110301, 2512055, 100, 1, 1), + (2110301, 2043002, 100, 1, 1), + (2110301, 4010002, 100, 1, 1), + (2110301, 2043114, 100, 1, 1), + (2110301, 2001526, 100, 1, 1), + (2110301, 4000351, 100, 1, 1), + (2110301, 2060000, 100, 1, 1), + (2110301, 4010007, 100, 1, 1), + (2110301, 2000005, 100, 1, 1), + (2110301, 4004002, 100, 1, 1), + (2110301, 2001001, 100, 1, 1), + (2110301, 2061000, 100, 1, 1), + (2110301, 2870035, 100, 1, 1), + (2110301, 2048004, 100, 1, 1), + (2230111, 2000006, 100, 1, 1), + (2230111, 2000000, 100, 1, 1), + (2230111, 4010001, 100, 1, 1), + (2230111, 2044210, 100, 1, 1), + (2230111, 2070008, 100, 1, 1), + (2230111, 2044110, 100, 1, 1), + (2230111, 4020003, 100, 1, 1), + (2230111, 2040534, 100, 1, 1), + (2230111, 2870054, 100, 1, 1), + (2230111, 2060000, 100, 1, 1), + (2230111, 4000197, 100, 1, 1), + (2230111, 2049000, 100, 1, 1), + (2230111, 2043800, 100, 1, 1), + (2230111, 4010005, 100, 1, 1), + (2230108, 2043017, 100, 1, 1), + (2230108, 2043201, 100, 1, 1), + (2230108, 2001527, 100, 1, 1), + (2230108, 2870051, 100, 1, 1), + (2230108, 4000160, 100, 1, 1), + (2230108, 4010000, 100, 1, 1), + (2230108, 2040620, 100, 1, 1), + (2230108, 4006001, 100, 1, 1), + (2230108, 2044807, 100, 1, 1), + (2230108, 2044202, 100, 1, 1), + (2230108, 2044012, 100, 1, 1), + (2230108, 2000002, 100, 1, 1), + (2230108, 4020007, 100, 1, 1), + (2230109, 4020003, 100, 1, 1), + (2230109, 2070002, 100, 1, 1), + (2230109, 2000002, 100, 1, 1), + (2230109, 4010004, 100, 1, 1), + (2230109, 4131010, 100, 1, 1), + (2230109, 2000006, 100, 1, 1), + (2230109, 2001526, 100, 1, 1), + (2230109, 2040534, 100, 1, 1), + (2230109, 2060000, 100, 1, 1), + (2230109, 2040513, 100, 1, 1), + (2230109, 2049210, 100, 1, 1), + (2230109, 4000164, 100, 1, 1), + (2230109, 2040925, 100, 1, 1), + (2230109, 4004002, 100, 1, 1), + (2230109, 2870052, 100, 1, 1), + (2230109, 2040902, 100, 1, 1), + (3502005, 4001806, 100, 1, 1), + (3502005, 2431174, 100, 1, 1), + (3502005, 4030025, 100, 1, 1), + (5250000, 4033109, 500, 1, 1), + (5250000, 2870221, 100, 1, 1), + (5250000, 4000437, 100, 1, 1), + (3502004, 4001805, 100, 1, 1), + (3502004, 2431174, 100, 1, 1), + (5250001, 2870222, 100, 1, 1), + (5250001, 4000439, 100, 1, 1), + (5250001, 4033109, 500, 1, 1), + (3502007, 2431174, 100, 1, 1), + (3502007, 4030030, 100, 1, 1), + (3502007, 4001808, 100, 1, 1), + (5250002, 2001001, 100, 1, 1), + (5250002, 2590004, 100, 1, 1), + (5250002, 2870223, 100, 1, 1), + (5250002, 2434021, 100, 1, 1), + (5250002, 4033109, 500, 1, 1), + (5250002, 4000440, 100, 1, 1), + (5250002, 4021034, 100, 1, 1), + (5250002, 4021031, 100, 1, 1), + (5250002, 2001002, 100, 1, 1), + (5250002, 4021033, 100, 1, 1), + (5250002, 4021035, 100, 1, 1), + (5250002, 4021032, 100, 1, 1), + (8630017, 4021035, 100, 1, 1), + (8630017, 4021034, 100, 1, 1), + (8630017, 4021020, 100, 1, 1), + (8630017, 4021031, 100, 1, 1), + (8630017, 4021033, 100, 1, 1), + (8630017, 2431174, 100, 1, 1), + (8630017, 2590004, 100, 1, 1), + (8630017, 2000036, 100, 1, 1), + (8630017, 4021032, 100, 1, 1), + (8630017, 4009149, 100, 1, 1), + (8630017, 2000037, 100, 1, 1), + (3502006, 2431174, 100, 1, 1), + (3502006, 4001807, 100, 1, 1), + (8630016, 4021020, 100, 1, 1), + (8630016, 4021034, 100, 1, 1), + (8630016, 4021035, 100, 1, 1), + (8630016, 4021033, 100, 1, 1), + (8630016, 2000037, 100, 1, 1), + (8630016, 4021032, 100, 1, 1), + (8630016, 2000036, 100, 1, 1), + (8630016, 2431174, 100, 1, 1), + (8630016, 2590004, 100, 1, 1), + (8630016, 4009148, 100, 1, 1), + (8630016, 4021031, 100, 1, 1), + (3502001, 4001802, 100, 1, 1), + (3502001, 2431174, 100, 1, 1), + (5250004, 4000674, 100, 1, 1), + (5250004, 4033109, 500, 1, 1), + (8800002, 4001083, 100, 1, 1), + (8800002, 2431710, 100, 1, 1), + (8800002, 2000004, 100, 1, 1), + (8800002, 4310029, 100, 1, 1), + (8800002, 2433103, 100, 1, 1), + (3502000, 4001801, 100, 1, 1), + (3502000, 2431174, 100, 1, 1), + (5250005, 4033109, 500, 1, 1), + (5250005, 4000675, 100, 1, 1), + (3502003, 2431174, 100, 1, 1), + (3502003, 4001804, 100, 1, 1), + (5250006, 4033109, 500, 1, 1), + (5250006, 4000676, 100, 1, 1), + (3502002, 4001803, 100, 1, 1), + (3502002, 2431174, 100, 1, 1), + (5250007, 2431752, 100, 1, 1), + (5250007, 4033109, 500, 1, 1), + (3502008, 4034229, 100, 1, 1), + (3502008, 2431174, 100, 1, 1), + (8800022, 2433103, 100, 1, 1), + (8800022, 2431710, 100, 1, 1), + (8800022, 2000004, 100, 1, 1), + (3503009, 4021032, 100, 1, 1), + (3503009, 4001868, 100, 1, 1), + (3503009, 2590004, 100, 1, 1), + (3503009, 2000036, 100, 1, 1), + (3503009, 2000037, 100, 1, 1), + (3503009, 4021034, 100, 1, 1), + (3503009, 4021033, 100, 1, 1), + (3503009, 4021020, 100, 1, 1), + (3503009, 4034878, 100, 1, 1), + (3503009, 4021031, 100, 1, 1), + (3503009, 2431174, 100, 1, 1), + (3503009, 4021035, 100, 1, 1), + (4230100, 4000023, 100, 1, 1), + (4230100, 4034068, 100, 1, 1), + (4230100, 2870131, 100, 1, 1), + (3503008, 2431174, 100, 1, 1), + (3503008, 2000036, 100, 1, 1), + (3503008, 4021034, 100, 1, 1), + (3503008, 4001868, 100, 1, 1), + (3503008, 4021031, 100, 1, 1), + (3503008, 4021035, 100, 1, 1), + (3503008, 4034878, 100, 1, 1), + (3503008, 2590004, 100, 1, 1), + (3503008, 4021032, 100, 1, 1), + (3503008, 4021033, 100, 1, 1), + (3503008, 2000037, 100, 1, 1), + (3503008, 4021020, 100, 1, 1), + (4230101, 4031013, 9000, 1, 1), + (4230101, 4031013, 9000, 1, 1), + (4230102, 2870133, 100, 1, 1), + (4230102, 4031155, 100, 1, 1), + (4230102, 4000036, 100, 1, 1), + (4230103, 4033055, 100, 1, 1), + (4230103, 2870134, 100, 1, 1), + (4230103, 4000039, 100, 1, 1), + (4230103, 2431174, 100, 1, 1), + (4230105, 4031200, 100, 1, 1), + (4230105, 2590004, 100, 1, 1), + (4230105, 2434021, 100, 1, 1), + (4230105, 2001002, 100, 1, 1), + (4230105, 2022039, 100, 1, 1), + (4230105, 2001001, 100, 1, 1), + (4230105, 4000058, 100, 1, 1), + (2230200, 4004000, 100, 1, 1), + (2230200, 4010006, 100, 1, 1), + (2230200, 2070002, 100, 1, 1), + (2230200, 2040621, 100, 1, 1), + (2230200, 4000165, 100, 1, 1), + (2230200, 2060000, 100, 1, 1), + (2230200, 2512059, 100, 1, 1), + (2230200, 2048001, 100, 1, 1), + (2230200, 2001001, 100, 1, 1), + (2230200, 2000004, 100, 1, 1), + (2230200, 2070005, 100, 1, 1), + (2230200, 2043212, 100, 1, 1), + (2230200, 2001527, 100, 1, 1), + (2230200, 2870059, 100, 1, 1), + (2230200, 2001526, 100, 1, 1), + (2230200, 4020002, 100, 1, 1), + (4230106, 2434021, 100, 1, 1), + (4230106, 4021035, 100, 1, 1), + (4230106, 4031309, 100, 1, 1), + (4230106, 4021033, 100, 1, 1), + (4230106, 2001002, 100, 1, 1), + (4230106, 4000060, 100, 1, 1), + (4230106, 4021032, 100, 1, 1), + (4230106, 2590004, 100, 1, 1), + (4230106, 2870136, 100, 1, 1), + (4230106, 2001001, 100, 1, 1), + (4230106, 4021034, 100, 1, 1), + (4230107, 4021034, 100, 1, 1), + (4230107, 2431174, 100, 1, 1), + (4230107, 2430692, 100, 1, 1), + (4230107, 2870137, 100, 1, 1), + (4230107, 4021032, 100, 1, 1), + (4230107, 4031309, 100, 1, 1), + (4230107, 4021035, 100, 1, 1), + (4230107, 2000037, 100, 1, 1), + (4230107, 2001528, 100, 1, 1), + (4230107, 2590004, 100, 1, 1), + (4230107, 4021033, 100, 1, 1), + (4230107, 4000076, 100, 1, 1), + (7130103, 2870282, 100, 1, 1), + (7130103, 2434021, 100, 1, 1), + (7130103, 4000208, 100, 1, 1), + (4230108, 4000078, 100, 1, 1), + (4230108, 2590004, 100, 1, 1), + (4230108, 4021035, 100, 1, 1), + (4230108, 4021033, 100, 1, 1), + (4230108, 2870138, 100, 1, 1), + (4230108, 2431174, 100, 1, 1), + (4230108, 4021032, 100, 1, 1), + (4230108, 4021034, 100, 1, 1), + (4230108, 4021031, 100, 1, 1), + (4230108, 2000036, 100, 1, 1), + (4230108, 2000037, 100, 1, 1), + (4230109, 4000101, 100, 1, 1), + (4230109, 2001002, 100, 1, 1), + (4230109, 4021035, 100, 1, 1), + (4230109, 4021033, 100, 1, 1), + (4230109, 4021032, 100, 1, 1), + (4230109, 2590004, 100, 1, 1), + (4230109, 4021034, 100, 1, 1), + (4230109, 2870139, 100, 1, 1), + (4230109, 2434021, 100, 1, 1), + (4230109, 2001001, 100, 1, 1), + (4230110, 2870140, 100, 1, 1), + (4230110, 4000102, 100, 1, 1), + (4230110, 2870140, 100, 1, 1), + (8240098, 4310029, 100, 1, 1), + (8240098, 4001843, 100, 1, 1), + (8240098, 2000005, 100, 1, 1), + (8240098, 2433103, 100, 1, 1), + (8240098, 2433593, 100, 1, 1), + (8500002, 2433103, 100, 1, 1), + (8500002, 2000004, 100, 1, 1), + (8500002, 4001084, 100, 1, 1), + (8500002, 4031196, 100, 1, 1), + (2100100, 2000006, 100, 1, 1), + (2100100, 4000324, 100, 1, 1), + (2100100, 2044601, 100, 1, 1), + (2100100, 4003004, 100, 1, 1), + (2100100, 4020006, 100, 1, 1), + (2100100, 2001001, 100, 1, 1), + (2100100, 2512055, 100, 1, 1), + (2100100, 2043112, 100, 1, 1), + (2100100, 2870025, 100, 1, 1), + (2100100, 2044801, 100, 1, 1), + (2100100, 2001002, 100, 1, 1), + (2100100, 2001527, 100, 1, 1), + (2100100, 4010007, 100, 1, 1), + (2100100, 2049000, 100, 1, 1), + (2100100, 2061000, 100, 1, 1), + (2100100, 4010001, 100, 1, 1), + (4230116, 2431174, 100, 1, 1), + (4230116, 2000037, 100, 1, 1), + (4230116, 4021033, 100, 1, 1), + (4230116, 2512154, 100, 1, 1), + (4230116, 4021032, 100, 1, 1), + (4230116, 4021034, 100, 1, 1), + (4230116, 4021031, 100, 1, 1), + (4230116, 2000036, 100, 1, 1), + (4230116, 2870146, 100, 1, 1), + (4230116, 2590004, 100, 1, 1), + (4230116, 4021020, 100, 1, 1), + (4230116, 4021035, 100, 1, 1), + (4230116, 4000117, 100, 1, 1), + (2100101, 2061000, 100, 1, 1), + (2100101, 4020001, 100, 1, 1), + (2100101, 2512054, 100, 1, 1), + (2100101, 2049000, 100, 1, 1), + (2100101, 2044312, 100, 1, 1), + (2100101, 2000002, 100, 1, 1), + (2100101, 2040621, 100, 1, 1), + (2100101, 2044602, 100, 1, 1), + (2100101, 2048004, 100, 1, 1), + (2100101, 2001001, 100, 1, 1), + (2100101, 2870026, 100, 1, 1), + (2100101, 4000325, 100, 1, 1), + (2100101, 2001002, 100, 1, 1), + (2100101, 4003004, 100, 1, 1), + (2100101, 4010006, 100, 1, 1), + (2100101, 4010007, 100, 1, 1), + (4230117, 2000036, 100, 1, 1), + (4230117, 2870147, 100, 1, 1), + (4230117, 2590004, 100, 1, 1), + (4230117, 4021033, 100, 1, 1), + (4230117, 2431174, 100, 1, 1), + (4230117, 4021034, 100, 1, 1), + (4230117, 4021032, 100, 1, 1), + (4230117, 4021035, 100, 1, 1), + (4230117, 4021031, 100, 1, 1), + (4230117, 2000037, 100, 1, 1), + (4230117, 4021020, 100, 1, 1), + (2100102, 4010002, 100, 1, 1), + (2100102, 2044012, 100, 1, 1), + (2100102, 2048003, 100, 1, 1), + (2100102, 2040705, 100, 1, 1), + (2100102, 2000006, 100, 1, 1), + (2100102, 2001527, 100, 1, 1), + (2100102, 4000329, 100, 1, 1), + (2100102, 2022155, 100, 1, 1), + (2100102, 2061000, 100, 1, 1), + (2100102, 4020004, 100, 1, 1), + (2100102, 4010007, 100, 1, 1), + (2100102, 2001001, 100, 1, 1), + (2100102, 2044312, 100, 1, 1), + (2100102, 2870027, 100, 1, 1), + (2100102, 2070004, 100, 1, 1), + (2100102, 2044102, 100, 1, 1), + (4230118, 4021035, 100, 1, 1), + (4230118, 4021033, 100, 1, 1), + (4230118, 2431174, 100, 1, 1), + (4230118, 4021032, 100, 1, 1), + (4230118, 2000036, 100, 1, 1), + (4230118, 4021031, 100, 1, 1), + (4230118, 2870148, 100, 1, 1), + (4230118, 4021034, 100, 1, 1), + (4230118, 4021020, 100, 1, 1), + (4230118, 2590004, 100, 1, 1), + (4230118, 2000037, 100, 1, 1), + (2100103, 4000330, 100, 1, 1), + (2100103, 2044001, 100, 1, 1), + (2100103, 2022155, 100, 1, 1), + (2100103, 2048002, 100, 1, 1), + (2100103, 2061000, 100, 1, 1), + (2100103, 2001526, 100, 1, 1), + (2100103, 2512053, 100, 1, 1), + (2100103, 4010003, 100, 1, 1), + (2100103, 2045201, 100, 1, 1), + (2100103, 2001527, 100, 1, 1), + (2100103, 4010007, 100, 1, 1), + (2100103, 2870028, 100, 1, 1), + (2100103, 2044314, 100, 1, 1), + (2100103, 2070004, 100, 1, 1), + (2100103, 2001001, 100, 1, 1), + (2100103, 4020004, 100, 1, 1), + (2100103, 2070003, 100, 1, 1), + (2100103, 2001002, 100, 1, 1), + (2100103, 2043701, 100, 1, 1), + (4230119, 4021035, 100, 1, 1), + (4230119, 2431174, 100, 1, 1), + (4230119, 2870149, 100, 1, 1), + (4230119, 2590004, 100, 1, 1), + (4230119, 4021031, 100, 1, 1), + (4230119, 2000036, 100, 1, 1), + (4230119, 4021032, 100, 1, 1), + (4230119, 4021020, 100, 1, 1), + (4230119, 4000120, 100, 1, 1), + (4230119, 4021033, 100, 1, 1), + (4230119, 4021034, 100, 1, 1), + (4230119, 2000037, 100, 1, 1), + (2100104, 2001001, 100, 1, 1), + (2100104, 2870029, 100, 1, 1), + (2100104, 2043214, 100, 1, 1), + (2100104, 2044412, 100, 1, 1), + (2100104, 2512059, 100, 1, 1), + (2100104, 2000002, 100, 1, 1), + (2100104, 4020005, 100, 1, 1), + (2100104, 2044901, 100, 1, 1), + (2100104, 4004001, 100, 1, 1), + (2100104, 2001526, 100, 1, 1), + (2100104, 4020006, 100, 1, 1), + (2100104, 2022155, 100, 1, 1), + (2100104, 4000331, 100, 1, 1), + (2100104, 2000006, 100, 1, 1), + (2100104, 4010007, 100, 1, 1), + (2100104, 2043401, 100, 1, 1), + (3503005, 4021020, 100, 1, 1), + (3503005, 4021035, 100, 1, 1), + (3503005, 4001868, 100, 1, 1), + (3503005, 4021033, 100, 1, 1), + (3503005, 4034876, 100, 1, 1), + (3503005, 2000037, 100, 1, 1), + (3503005, 4021034, 100, 1, 1), + (3503005, 4021031, 100, 1, 1), + (3503005, 2431174, 100, 1, 1), + (3503005, 4021032, 100, 1, 1), + (3503005, 2000036, 100, 1, 1), + (3503005, 2590004, 100, 1, 1), + (4230120, 4021034, 100, 1, 1), + (4230120, 4021032, 100, 1, 1), + (4230120, 2000036, 100, 1, 1), + (4230120, 4021020, 100, 1, 1), + (4230120, 2000037, 100, 1, 1), + (4230120, 4021031, 100, 1, 1), + (4230120, 2590004, 100, 1, 1), + (4230120, 2870150, 100, 1, 1), + (4230120, 2431174, 100, 1, 1), + (4230120, 4021035, 100, 1, 1), + (4230120, 4000121, 100, 1, 1), + (4230120, 4021033, 100, 1, 1), + (2100105, 4000328, 100, 1, 1), + (2100105, 2043212, 100, 1, 1), + (2100105, 4006001, 100, 1, 1), + (2100105, 2043114, 100, 1, 1), + (2100105, 2000006, 100, 1, 1), + (2100105, 2001001, 100, 1, 1), + (2100105, 2001002, 100, 1, 1), + (2100105, 2044201, 100, 1, 1), + (2100105, 2870030, 100, 1, 1), + (2100105, 4010004, 100, 1, 1), + (2100105, 2001527, 100, 1, 1), + (2100105, 2044002, 100, 1, 1), + (2100105, 2001526, 100, 1, 1), + (3503004, 2431174, 100, 1, 1), + (3503004, 4034876, 100, 1, 1), + (3503004, 2590004, 100, 1, 1), + (3503004, 4021035, 100, 1, 1), + (3503004, 4021034, 100, 1, 1), + (3503004, 4021033, 100, 1, 1), + (3503004, 4021020, 100, 1, 1), + (3503004, 2000037, 100, 1, 1), + (3503004, 4021032, 100, 1, 1), + (3503004, 4001868, 100, 1, 1), + (3503004, 2000036, 100, 1, 1), + (3503004, 4021031, 100, 1, 1), + (4230121, 4021033, 100, 1, 1), + (4230121, 4021034, 100, 1, 1), + (4230121, 2512158, 100, 1, 1), + (4230121, 4021035, 100, 1, 1), + (4230121, 2000036, 100, 1, 1), + (4230121, 2431174, 100, 1, 1), + (4230121, 2000037, 100, 1, 1), + (4230121, 4021020, 100, 1, 1), + (4230121, 4021031, 100, 1, 1), + (4230121, 4021032, 100, 1, 1), + (4230121, 4000122, 100, 1, 1), + (4230121, 2590004, 100, 1, 1), + (4230121, 2870151, 100, 1, 1), + (2100106, 4020007, 100, 1, 1), + (2100106, 2048005, 100, 1, 1), + (2100106, 4000326, 100, 1, 1), + (2100106, 2870031, 100, 1, 1), + (2100106, 2000006, 100, 1, 1), + (2100106, 2512057, 100, 1, 1), + (2100106, 2000004, 100, 1, 1), + (2100106, 4010007, 100, 1, 1), + (2100106, 2044101, 100, 1, 1), + (2100106, 2001527, 100, 1, 1), + (2100106, 4020000, 100, 1, 1), + (2100106, 2061000, 100, 1, 1), + (2100106, 2048004, 100, 1, 1), + (2100106, 4131016, 100, 1, 1), + (3503007, 4021020, 100, 1, 1), + (3503007, 4021033, 100, 1, 1), + (3503007, 4021031, 100, 1, 1), + (3503007, 4001868, 100, 1, 1), + (3503007, 2431174, 100, 1, 1), + (3503007, 2590004, 100, 1, 1), + (3503007, 4021032, 100, 1, 1), + (3503007, 4034877, 100, 1, 1), + (3503007, 2000036, 100, 1, 1), + (3503007, 2000037, 100, 1, 1), + (3503007, 4021034, 100, 1, 1), + (3503007, 4021035, 100, 1, 1), + (2100107, 2001001, 100, 1, 1), + (2100107, 4010007, 100, 1, 1), + (2100107, 2070002, 100, 1, 1), + (2100107, 4020003, 100, 1, 1), + (2100107, 4000327, 100, 1, 1), + (2100107, 2001002, 100, 1, 1), + (2100107, 2870032, 100, 1, 1), + (2100107, 2043001, 100, 1, 1), + (2100107, 2001527, 100, 1, 1), + (2100107, 2043112, 100, 1, 1), + (2100107, 2061000, 100, 1, 1), + (2100107, 2048002, 100, 1, 1), + (2100107, 2001526, 100, 1, 1), + (2100107, 4020002, 100, 1, 1), + (3503006, 4034877, 100, 1, 1), + (3503006, 2431174, 100, 1, 1), + (3503006, 4021032, 100, 1, 1), + (3503006, 4021033, 100, 1, 1), + (3503006, 4001868, 100, 1, 1), + (3503006, 2000037, 100, 1, 1), + (3503006, 4021020, 100, 1, 1), + (3503006, 4021035, 100, 1, 1), + (3503006, 4021034, 100, 1, 1), + (3503006, 2590004, 100, 1, 1), + (3503006, 2000036, 100, 1, 1), + (3503006, 4021031, 100, 1, 1), + (4230123, 2870152, 100, 1, 1), + (4230123, 4031266, 100, 1, 1), + (4230123, 4000156, 100, 1, 1), + (4230123, 4000157, 100, 1, 1), + (2100108, 4010007, 100, 1, 1), + (2100108, 4010001, 100, 1, 1), + (2100108, 2040801, 100, 1, 1), + (2100108, 4003004, 100, 1, 1), + (2100108, 2044214, 100, 1, 1), + (2100108, 2060000, 100, 1, 1), + (2100108, 4010002, 100, 1, 1), + (2100108, 4004002, 100, 1, 1), + (2100108, 2001002, 100, 1, 1), + (2100108, 4000333, 100, 1, 1), + (2100108, 2000002, 100, 1, 1), + (2100108, 2512260, 100, 1, 1), + (2100108, 2043002, 100, 1, 1), + (2100108, 2044014, 100, 1, 1), + (2100108, 2330003, 100, 1, 1), + (2100108, 2044212, 100, 1, 1), + (2100108, 2001526, 100, 1, 1), + (2100108, 2048004, 100, 1, 1), + (2100108, 2870033, 100, 1, 1), + (3503001, 4021033, 100, 1, 1), + (3503001, 2000037, 100, 1, 1), + (3503001, 4021034, 100, 1, 1), + (3503001, 4021031, 100, 1, 1), + (3503001, 4021035, 100, 1, 1), + (3503001, 2590004, 100, 1, 1), + (3503001, 2431174, 100, 1, 1), + (3503001, 4021032, 100, 1, 1), + (3503001, 4001868, 100, 1, 1), + (3503001, 2000036, 100, 1, 1), + (3503001, 4021020, 100, 1, 1), + (4230124, 4031267, 100, 1, 1), + (4230124, 2870153, 100, 1, 1), + (4230124, 4000157, 100, 1, 1), + (4230124, 4000156, 100, 1, 1), + (3503000, 4021035, 100, 1, 1), + (3503000, 2431174, 100, 1, 1), + (3503000, 2590004, 100, 1, 1), + (3503000, 2000037, 100, 1, 1), + (3503000, 4021020, 100, 1, 1), + (3503000, 4021031, 100, 1, 1), + (3503000, 4001868, 100, 1, 1), + (3503000, 2000036, 100, 1, 1), + (3503000, 4021033, 100, 1, 1), + (3503000, 4021032, 100, 1, 1), + (3503000, 4021034, 100, 1, 1), + (4230125, 2870154, 100, 1, 1), + (4230125, 4000204, 100, 1, 1), + (4230125, 2431174, 100, 1, 1), + (3503003, 4034875, 100, 1, 1), + (3503003, 2431174, 100, 1, 1), + (3503003, 4021033, 100, 1, 1), + (3503003, 4001868, 100, 1, 1), + (3503003, 2590004, 100, 1, 1), + (3503003, 4021034, 100, 1, 1), + (3503003, 4021031, 100, 1, 1), + (3503003, 4021032, 100, 1, 1), + (3503003, 4021035, 100, 1, 1), + (3503003, 4021020, 100, 1, 1), + (3503003, 2000036, 100, 1, 1), + (3503003, 2000037, 100, 1, 1), + (4230126, 2001002, 100, 1, 1), + (4230126, 4000205, 100, 1, 1), + (4230126, 2001001, 100, 1, 1), + (4230126, 2870155, 100, 1, 1), + (4230126, 2431174, 100, 1, 1), + (4230126, 2590004, 100, 1, 1), + (3503002, 4021031, 100, 1, 1), + (3503002, 4021035, 100, 1, 1), + (3503002, 2431174, 100, 1, 1), + (3503002, 2000036, 100, 1, 1), + (3503002, 2590004, 100, 1, 1), + (3503002, 4001868, 100, 1, 1), + (3503002, 4034875, 100, 1, 1), + (3503002, 4021020, 100, 1, 1), + (3503002, 4021032, 100, 1, 1), + (3503002, 4021034, 100, 1, 1), + (3503002, 2000037, 100, 1, 1), + (3503002, 4021033, 100, 1, 1), + (8930100, 2433103, 100, 1, 1), + (8930100, 2433592, 100, 1, 1), + (8930100, 4310029, 100, 1, 1), + (8930100, 2000005, 100, 1, 1), + (8930100, 4310064, 100, 1, 1), + (8840006, 4310010, 100, 1, 1), + (8840006, 4021032, 100, 1, 1), + (8840006, 2512264, 100, 1, 1), + (8840006, 2431662, 100, 1, 1), + (8840006, 4021033, 100, 1, 1), + (8840006, 2000005, 100, 1, 1), + (8840006, 2433103, 100, 1, 1), + (8840006, 4021034, 100, 1, 1), + (8840006, 4021035, 100, 1, 1), + (8840006, 4021031, 100, 1, 1), + (8840006, 2070005, 100, 1, 1), + (8840007, 2000005, 100, 1, 1), + (8840007, 4021034, 100, 1, 1), + (8840007, 4021032, 100, 1, 1), + (8840007, 2433103, 100, 1, 1), + (8840007, 4021031, 100, 1, 1), + (8840007, 4021020, 100, 1, 1), + (8840007, 4021035, 100, 1, 1), + (8840007, 2512264, 100, 1, 1), + (8840007, 2431662, 100, 1, 1), + (8840007, 4021033, 100, 1, 1), + (8840000, 4021033, 100, 1, 1), + (8840000, 2433103, 100, 1, 1), + (8840000, 4021035, 100, 1, 1), + (8840000, 4021031, 100, 1, 1), + (8840000, 2000004, 100, 1, 1), + (8840000, 2431662, 100, 1, 1), + (8840000, 4021034, 100, 1, 1), + (8840000, 4310010, 100, 1, 1), + (8840000, 4021032, 100, 1, 1), + (8840000, 2512264, 100, 1, 1), + (7130020, 4021033, 100, 1, 1), + (7130020, 4021032, 100, 1, 1), + (7130020, 4021034, 100, 1, 1), + (7130020, 4021031, 100, 1, 1), + (7130020, 4000179, 100, 1, 1), + (7130020, 4021035, 100, 1, 1), + (3210208, 4000095, 100, 1, 1), + (3210208, 2870087, 100, 1, 1), + (2600903, 2590004, 100, 1, 1), + (2600903, 2590004, 100, 1, 1), + (2600903, 4021032, 100, 1, 1), + (2600903, 2431174, 100, 1, 1), + (2600903, 4021020, 100, 1, 1), + (2600903, 4009136, 100, 1, 1), + (2600903, 4021035, 100, 1, 1), + (2600903, 4021032, 100, 1, 1), + (2600903, 4021033, 100, 1, 1), + (2600903, 4021034, 100, 1, 1), + (2600903, 4021020, 100, 1, 1), + (2600903, 4033927, 100, 1, 1), + (2600903, 2000036, 100, 1, 1), + (2600903, 4033927, 100, 1, 1), + (2600903, 2000037, 100, 1, 1), + (2600903, 4009136, 100, 1, 1), + (2600903, 4021031, 100, 1, 1), + (2600903, 2000036, 100, 1, 1), + (2600903, 4021033, 100, 1, 1), + (2600903, 2431174, 100, 1, 1), + (2600903, 4021035, 100, 1, 1), + (2600903, 4021031, 100, 1, 1), + (2600903, 2000037, 100, 1, 1), + (2600903, 4021034, 100, 1, 1), + (8800102, 2000005, 100, 1, 1), + (8800102, 4310029, 100, 1, 1), + (8800102, 2433103, 100, 1, 1), + (8800102, 4001083, 100, 1, 1), + (8800102, 2431710, 100, 1, 1), + (2600902, 4021031, 100, 1, 1), + (2600902, 4021035, 100, 1, 1), + (2600902, 2431174, 100, 1, 1), + (2600902, 4021033, 100, 1, 1), + (2600902, 4021020, 100, 1, 1), + (2600902, 4021020, 100, 1, 1), + (2600902, 4009135, 100, 1, 1), + (2600902, 2000036, 100, 1, 1), + (2600902, 4021032, 100, 1, 1), + (2600902, 4021033, 100, 1, 1), + (2600902, 2590004, 100, 1, 1), + (2600902, 4021035, 100, 1, 1), + (2600902, 2000037, 100, 1, 1), + (2600902, 4009135, 100, 1, 1), + (2600902, 4021034, 100, 1, 1), + (2600902, 4021032, 100, 1, 1), + (2600902, 2590004, 100, 1, 1), + (2600902, 2431174, 100, 1, 1), + (2600902, 2000036, 100, 1, 1), + (2600902, 2000037, 100, 1, 1), + (2600902, 4033927, 100, 1, 1), + (2600902, 4021031, 100, 1, 1), + (2600902, 4021034, 100, 1, 1), + (2600902, 4033927, 100, 1, 1), + (4034527, 4021035, 100, 1, 1), + (4034527, 4021032, 100, 1, 1), + (4034527, 4021034, 100, 1, 1), + (4034527, 4021033, 100, 1, 1), + (2600901, 2590004, 100, 1, 1), + (2600901, 4021034, 100, 1, 1), + (2600901, 2000037, 100, 1, 1), + (2600901, 4021035, 100, 1, 1), + (2600901, 4021031, 100, 1, 1), + (2600901, 4009134, 100, 1, 1), + (2600901, 4021031, 100, 1, 1), + (2600901, 4021033, 100, 1, 1), + (2600901, 2431174, 100, 1, 1), + (2600901, 2431174, 100, 1, 1), + (2600901, 4033927, 100, 1, 1), + (2600901, 2590004, 100, 1, 1), + (2600901, 4021020, 100, 1, 1), + (2600901, 4021020, 100, 1, 1), + (2600901, 4021034, 100, 1, 1), + (2600901, 4021035, 100, 1, 1), + (2600901, 2000036, 100, 1, 1), + (2600901, 2000036, 100, 1, 1), + (2600901, 2000037, 100, 1, 1), + (2600901, 4021033, 100, 1, 1), + (2600901, 4033927, 100, 1, 1), + (2600901, 4021032, 100, 1, 1), + (2600901, 4009134, 100, 1, 1), + (2600901, 4021032, 100, 1, 1), + (2600900, 2590004, 100, 1, 1), + (2600900, 4021034, 100, 1, 1), + (2600900, 4033927, 100, 1, 1), + (2600900, 4021035, 100, 1, 1), + (2600900, 4021020, 100, 1, 1), + (2600900, 4021033, 100, 1, 1), + (2600900, 4021031, 100, 1, 1), + (2600900, 2000037, 100, 1, 1), + (2600900, 2431174, 100, 1, 1), + (2600900, 4009133, 100, 1, 1), + (2600900, 4021032, 100, 1, 1), + (2600900, 2000036, 100, 1, 1), + (3501008, 4000997, 100, 1, 1), + (3501008, 4000998, 100, 1, 1), + (3501008, 4000992, 100, 1, 1), + (3501008, 4000993, 100, 1, 1), + (3501008, 4000995, 100, 1, 1), + (3501008, 4034562, 100, 1, 1), + (3501008, 4000991, 100, 1, 1), + (3501008, 4000996, 100, 1, 1), + (3501008, 4000990, 100, 1, 1), + (3210200, 2870079, 100, 1, 1), + (3210200, 4000073, 100, 1, 1), + (3210201, 2870080, 100, 1, 1), + (3210201, 4000073, 100, 1, 1), + (3210202, 2870081, 100, 1, 1), + (3210202, 4000073, 100, 1, 1), + (3210205, 4000096, 100, 1, 1), + (3210205, 4021033, 100, 1, 1), + (3210205, 2001002, 100, 1, 1), + (3210205, 4021034, 100, 1, 1), + (3210205, 4031093, 100, 1, 1), + (3210205, 2431174, 100, 1, 1), + (3210205, 2870084, 100, 1, 1), + (3210205, 2001001, 100, 1, 1), + (3210205, 4021032, 100, 1, 1), + (3210205, 2590004, 100, 1, 1), + (3210205, 4021035, 100, 1, 1), + (3210205, 4032734, 100, 1, 1), + (2600905, 4021034, 100, 1, 1), + (2600905, 2000036, 100, 1, 1), + (2600905, 2431174, 100, 1, 1), + (2600905, 4021035, 100, 1, 1), + (2600905, 4021032, 100, 1, 1), + (2600905, 2000037, 100, 1, 1), + (2600905, 4009133, 100, 1, 1), + (2600905, 4021031, 100, 1, 1), + (2600905, 4021020, 100, 1, 1), + (2600905, 4021033, 100, 1, 1), + (2600905, 4033927, 100, 1, 1), + (2600905, 2590004, 100, 1, 1), + (3210206, 2870085, 100, 1, 1), + (3210206, 4000103, 100, 1, 1), + (2600904, 4009132, 100, 1, 1), + (2600904, 4021031, 100, 1, 1), + (2600904, 2000037, 100, 1, 1), + (2600904, 4021020, 100, 1, 1), + (2600904, 2431174, 100, 1, 1), + (2600904, 4021034, 100, 1, 1), + (2600904, 2590004, 100, 1, 1), + (2600904, 4021034, 100, 1, 1), + (2600904, 4033927, 100, 1, 1), + (2600904, 2000036, 100, 1, 1), + (2600904, 4021033, 100, 1, 1), + (2600904, 4021032, 100, 1, 1), + (2600904, 4021035, 100, 1, 1), + (2600904, 4021032, 100, 1, 1), + (2600904, 4021031, 100, 1, 1), + (2600904, 2590004, 100, 1, 1), + (2600904, 2431174, 100, 1, 1), + (2600904, 2000036, 100, 1, 1), + (2600904, 4021035, 100, 1, 1), + (2600904, 2000037, 100, 1, 1), + (2600904, 4021020, 100, 1, 1), + (2600904, 4009132, 100, 1, 1), + (2600904, 4033927, 100, 1, 1), + (2600904, 4021033, 100, 1, 1), + (3501005, 4000995, 100, 1, 1), + (3501005, 2431769, 100, 1, 1), + (3501004, 2431768, 100, 1, 1), + (3501004, 2000002, 100, 1, 1), + (3501004, 2000006, 100, 1, 1), + (3501004, 4034562, 100, 1, 1), + (3501007, 4000997, 100, 1, 1), + (3501006, 4000996, 100, 1, 1), + (3501001, 4000991, 100, 1, 1), + (3501001, 4033825, 100, 1, 1), + (7130000, 2870272, 100, 1, 1), + (7130000, 4000074, 100, 1, 1), + (3501000, 4033824, 100, 1, 1), + (3501000, 4000990, 100, 1, 1), + (7130001, 4021035, 100, 1, 1), + (7130001, 2434021, 100, 1, 1), + (7130001, 4021032, 100, 1, 1), + (7130001, 4021031, 100, 1, 1), + (7130001, 4000079, 100, 1, 1), + (7130001, 2590004, 100, 1, 1), + (7130001, 4021033, 100, 1, 1), + (7130001, 4021034, 100, 1, 1), + (7130001, 2000036, 100, 1, 1), + (7130001, 2001554, 100, 1, 1), + (7130001, 2870273, 100, 1, 1), + (3501003, 2000002, 100, 1, 1), + (3501003, 2000003, 100, 1, 1), + (3501003, 4033826, 100, 1, 1), + (3501003, 4000992, 100, 1, 1), + (3501002, 4000992, 100, 1, 1), + (3501002, 2000002, 100, 1, 1), + (3501002, 2000003, 100, 1, 1), + (3501002, 4033826, 100, 1, 1), + (3501002, 4033827, 100, 1, 1), + (1110100, 4033021, 100, 1, 1), + (2110200, 4033026, 100, 1, 1), + (2110200, 4033025, 100, 1, 1), + (2110200, 4033024, 100, 1, 1), + (2220100, 4033029, 100, 1, 1), + (5130101, 4033031, 100, 1, 1), + (5130102, 4000025, 100, 1, 1), + (5150000, 4000177, 100, 1, 1), + (5150002, 4000671, 100, 1, 1), + (5150003, 4000672, 100, 1, 1), + (9600015, 4034635, 100, 1, 1), + (9600016, 4034635, 100, 1, 1), + (9600017, 4034636, 100, 1, 1), + (9600024, 4034724, 100, 1, 1), + (9600022, 4034724, 100, 1, 1), + (3401001, 4033625, 100, 1, 1), + (9390008, 4000870, 100, 1, 1), + (9390008, 4000869, 100, 1, 1), + (9390007, 4000870, 100, 1, 1), + (9390007, 4000869, 100, 1, 1), + (9390014, 4000870, 100, 1, 1), + (9390014, 4000869, 100, 1, 1), + (9390015, 4000870, 100, 1, 1), + (9390015, 4000869, 100, 1, 1), + (9390009, 4000870, 100, 1, 1), + (9390009, 4000869, 100, 1, 1), + (9390010, 4000870, 100, 1, 1), + (9390010, 4000869, 100, 1, 1), + (2400200, 4009219, 2000, 1, 1), + (2400201, 4009220, 2000, 1, 1), + (2400202, 4009221, 2000, 1, 1), + (2400203, 4009222, 2000, 1, 1), + (2400204, 4009223, 2000, 1, 1), + (2400205, 4009224, 2000, 1, 1), + (2400206, 4009225, 2000, 1, 1), + (2400207, 4009226, 2000, 1, 1), + (2400208, 4009227, 2000, 1, 1), + (2400209, 4009228, 2000, 1, 1), + (100200, 4033072, 2000, 1, 1), + (9001012, 4032311, 10000, 1, 1), + (9001013, 4032339, 10000, 1, 1), + (8641000, 4034914, 5000, 1, 1), + (8641001, 4034915, 5000, 1, 1), + (8641002, 4034916, 5000, 1, 1), + (8641003, 4034917, 5000, 1, 1), + (8641013, 4034917, 5000, 1, 1), + (8641004, 4034918, 5000, 1, 1), + (8641005, 4034919, 5000, 1, 1), + (8641006, 4034920, 5000, 1, 1), + (8641014, 4034920, 8000, 1, 1), + (8641008, 4034921, 8000, 1, 1), + (8641007, 4034921, 8000, 1, 1), + (8641008, 4034937, 8000, 1, 1), + (8641007, 4034937, 8000, 1, 1), + (8641008, 4034938, 8000, 1, 1), + (8641007, 4034938, 8000, 1, 1), + (9001012, 4032311, 9000, 1, 1), + (9001013, 4032339, 10000, 1, 1), + (2230113, 4000621, 10000, 1, 1), + (150000, 4000595, 10000, 1, 1), + (150002, 4000597, 10000, 1, 1), + (9001017, 4031013, 10000, 1, 1), + (9001003, 4031059, 10000, 1, 1), + (9300730, 4000489, 10000, 1, 1), + (9300731, 4000489, 10000, 1, 1), + (9001000, 4031059, 10000, 1, 1), + (9001001, 4031059, 10000, 1, 1), + (9001002, 4031059, 10000, 1, 1), + (9001003, 4031059, 10000, 1, 1), + (9001004, 4031059, 10000, 1, 1), + + (9001031, 4032737, 10000, 1, 1), + (9001031, 4032738, 10000, 1, 1), + (9001031, 4032739, 10000, 1, 1), + (9001031, 4034787, 10000, 1, 1), + + (9001043, 4031343, 10000, 1, 1), + (9001043, 4031514, 10000, 1, 1), + (9001043, 4031511, 10000, 1, 1), + (9001043, 4031517, 10000, 1, 1), + (9001043, 4031860, 10000, 1, 1), + + (9001044, 4031344, 10000, 1, 1), + (9001044, 4031515, 10000, 1, 1), + (9001044, 4031512, 10000, 1, 1), + (9001044, 4031518, 10000, 1, 1), + (9001044, 4031861, 10000, 1, 1), + + # Ark questline drops + (2400350, 4036344, 10000, 1, 1), + (2400351, 4036345, 10000, 1, 1), + (2400352, 4036346, 10000, 1, 1), + (2400353, 4036347, 10000, 1, 1), + (2400354, 4036348, 10000, 1, 1), + (2400355, 4036349, 10000, 1, 1), + + # Illium questline drops + (2400413, 4036162, 10000, 1, 1), + + (100200, 4033072, 2000, 1, 1), + + + # Easy Magnus + (8880010, 2431964, 10000, 1, 1), + (8880010, 2431964, 6000, 2, 3), + (8880010, 2048700, 2500, 1, 1), + (8880010, 1152170, 2500, 1, 1), + (8880010, 1182087, 2500, 1, 1), + (8880010, 4310058, 10000, 5, 15), + + + # Normal Magnus + (8880002, 1072732, 400, 1, 1), + (8880002, 1072733, 400, 1, 1), + (8880002, 1072734, 400, 1, 1), + (8880002, 1072735, 400, 1, 1), + (8880002, 1072736, 400, 1, 1), + + (8880002, 1102471, 400, 1, 1), + (8880002, 1102472, 400, 1, 1), + (8880002, 1102473, 400, 1, 1), + (8880002, 1102474, 400, 1, 1), + (8880002, 1102475, 400, 1, 1), + + (8880002, 1132164, 400, 1, 1), + (8880002, 1132165, 400, 1, 1), + (8880002, 1132166, 400, 1, 1), + (8880002, 1132167, 400, 1, 1), + (8880002, 1132168, 400, 1, 1), + + (8880002, 2048703, 2500, 1, 1), + (8880002, 4310058, 10000, 15, 35), + + + # Hard Magnus + (8880001, 1072743, 250, 1, 1), + (8880001, 1072744, 250, 1, 1), + (8880001, 1072745, 250, 1, 1), + (8880001, 1072746, 250, 1, 1), + (8880001, 1072747, 250, 1, 1), + + (8880001, 1082543, 250, 1, 1), + (8880001, 1082544, 250, 1, 1), + (8880001, 1082545, 250, 1, 1), + (8880001, 1082546, 250, 1, 1), + (8880001, 1082547, 250, 1, 1), + + (8880001, 1102481, 250, 1, 1), + (8880001, 1102482, 250, 1, 1), + (8880001, 1102483, 250, 1, 1), + (8880001, 1102484, 250, 1, 1), + (8880001, 1102485, 250, 1, 1), + + (8880001, 1132175, 250, 1, 1), + (8880001, 1132176, 250, 1, 1), + (8880001, 1132177, 250, 1, 1), + (8880001, 1132178, 250, 1, 1), + (8880001, 1132179, 250, 1, 1), + (8880001, 2048703, 2500, 1, 1), + + (8880001, 2048716, 1500, 1, 1), + (8880001, 2048717, 500, 1, 1), + + + # Normal Hilla + (8870000, 4310029, 8000, 10, 15), + (8870000, 2433103, 100, 1, 1), + (8870000, 2431896, 5000, 1, 3), + (8870000, 2430690, 100, 1, 1), + (8870000, 1032136, 500, 1, 1), + (8870000, 1162009, 2000, 1, 1), + + + # Hard Hilla + (8870100, 4310029, 8000, 10, 15), + (8870100, 2433103, 100, 1, 1), + (8870100, 2431896, 5000, 3, 5), + (8870100, 2430690, 100, 1, 1), + (8870100, 1032136, 1000, 1, 1), + (8870100, 1162009, 3000, 1, 1), + (8870100, 1112952, 50, 1, 1), + + # Normal/Easy Cygnus - ID = 8850111 + + (8850111, 2022176, 10000, 10, 10), # Power Elixir (Tradeable) + (8850111, 2020013, 10000, 10, 25), # Reindeer Milk (Tradeable) + (8850111, 2000004, 10000, 10, 25), # Elixir (Tradeable) + (8850111, 2022176, 10000, 10, 10), # Power Elixir (Tradeable) + (8850111, 2020013, 10000, 10, 25), # Reindeer Milk (Tradeable) + (8850111, 2000004, 10000, 10, 25), # Elixir (Tradeable) + (8850111, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8850111, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8850111, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8850111, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8850111, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8850111, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8850111, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8850111, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8850111, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8850111, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8850111, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8850111, 4310018, 6000, 2, 2), # Crusader Coin + (8850111, 4310018, 6000, 2, 2), # Crusader Coin + (8850111, 4310018, 6000, 2, 2), # Crusader Coin + (8850111, 4310018, 6000, 2, 2), # Crusader Coin + (8850111, 4310018, 6000, 2, 2), # Crusader Coin + (8850111, 2048701, 5000, 1, 1), # Rebirth Flame Lv. 120 + (8850111, 1942001, 2500, 1, 1), # Gold Mask + (8850111, 1952001, 2500, 1, 1), # Gold Pendant + (8850111, 1962001, 2500, 1, 1), # Gold Wings + (8850111, 1972001, 2500, 1, 1), # Gold Tail + (8850111, 4001886, 10000, 1, 1), # Intense Power Crystal + (8850111, 1612004, 2500, 1, 1), # Pure Gold Engine + (8850111, 1622004, 2500, 1, 1), # Pure Gold Machine Arm + (8850111, 1632003, 2500, 1, 1), # Pure Gold Machine Leg + (8850111, 1642002, 2500, 1, 1), # Pure Gold Body Frame + (8850111, 1652004, 2500, 1, 1), # Pure Gold Transistor + (8850111, 4021035, 10000, 5, 15), # Grand Spell Essence + (8850111, 4021034, 10000, 5, 15), # Fine Spell Essence + (8850111, 4021033, 10000, 5, 15), # Basic Spell Essence + (8850111, 4021032, 10000, 5, 15), # Mana Crystal + (8850111, 4021031, 10000, 5, 15), # Twisted Time + (8850111, 4021020, 10000, 5, 15), # Confusion Fragment + (8850111, 4000659, 10000, 1, 1), # Cygnus Circlet + (8850111, 4000659, 10000, 1, 1), # Cygnus Circlet + (8850111, 4000659, 10000, 1, 1), # Cygnus Circlet + (8850111, 3010406, 3500, 1, 1), # Mini Shinsoo Chair + (8850111, 2431711, 7000, 1, 1), # Cygnus Soul Shard + (8850111, 2431711, 3500, 1, 1), # Cygnus Soul Shard + (8850111, 2431711, 1500, 1, 1), # Cygnus Soul Shard + (8850111, 2434588, 3500, 1, 1), # Piece of Ruin for lionheard wep + (8850111, 2434588, 3500, 1, 1), # Piece of Ruin for lionheard wep + (8850111, 2434588, 3500, 1, 1), # Piece of Ruin for lionheard wep + (8850111, 2434588, 3500, 1, 1), # Piece of Ruin for lionheard wep + (8850111, 2434588, 3500, 1, 1), # Piece of Ruin for lionheard wep + (8850111, 2434588, 3500, 1, 1), # Piece of Ruin for lionheard wep + (8850111, 2434588, 3500, 1, 1), # Piece of Ruin for lionheard wep + (8850111, 2434588, 3500, 1, 1), # Piece of Ruin for lionheard wep + (8850111, 2434588, 3500, 1, 1), # Piece of Ruin for lionheard wep + (8850111, 2434588, 3500, 1, 1), # Piece of Ruin for lionheard wep + (8850111, 2434588, 3500, 1, 1), # Piece of Ruin for lionheard wep + (8850111, 2434588, 3500, 1, 1), # Piece of Ruin for lionheard wep + (8850111, 2434588, 3500, 1, 1), # Piece of Ruin for lionheard wep + (8850111, 2434588, 3500, 1, 1), # Piece of Ruin for lionheard wep + (8850111, 2434588, 3500, 1, 1), # Piece of Ruin for lionheard wep + (8850111, 2434589, 3500, 1, 1), # Piece of Darkness for lionheard armor + (8850111, 2434589, 3500, 1, 1), # Piece of Darkness for lionheard armor + (8850111, 2434589, 3500, 1, 1), # Piece of Darkness for lionheard armor + (8850111, 2434589, 3500, 1, 1), # Piece of Darkness for lionheard armor + (8850111, 2434589, 3500, 1, 1), # Piece of Darkness for lionheard armor + (8850111, 2434589, 3500, 1, 1), # Piece of Darkness for lionheard armor + (8850111, 2434589, 3500, 1, 1), # Piece of Darkness for lionheard armor + (8850111, 2434589, 3500, 1, 1), # Piece of Darkness for lionheard armor + (8850111, 2434589, 3500, 1, 1), # Piece of Darkness for lionheard armor + (8850111, 2434589, 3500, 1, 1), # Piece of Darkness for lionheard armor + + # Easy Arkarium - ID = 8860005 + + (8860005, 2046374, 5000, 1, 1), # Fragment of Distorted Time + (8860005, 2046374, 5000, 1, 1), # Fragment of Distorted Time + (8860005, 2511126, 1500, 1, 1), # Guardian Eternal Ring Recipe + (8860005, 2511127, 1500, 1, 1), # Berserker Eternal Ring Recipe + (8860005, 2511128, 1500, 1, 1), # High Lord Eternal Ring Recipe + (8860005, 2511129, 1500, 1, 1), # Oracle Eternal Ring Recipe + (8860005, 2511130, 1000, 1, 1), # Dominator Pendant Recipe + (8860005, 1122254, 1000, 1, 1), # Mechanator Pendant + (8860005, 2431753, 7000, 1, 1), # Arkarium Soul Shard + (8860005, 2431753, 3500, 1, 1), # Arkarium Soul Shard + (8860005, 2022176, 10000, 20, 20), # Power Elixir (Tradeable) + (8860005, 2020013, 10000, 10, 25), # Reindeer Milk (Tradeable) + (8860005, 2000004, 10000, 10, 25), # Elixir (Tradeable) + (8860005, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8860005, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8860005, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8860005, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8860005, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8860005, 4310018, 6000, 2, 2), # Crusader Coin + (8860005, 4310018, 6000, 2, 2), # Crusader Coin + (8860005, 4310018, 6000, 2, 2), # Crusader Coin + (8860005, 4310018, 6000, 2, 2), # Crusader Coin + (8860005, 4310018, 6000, 2, 2), # Crusader Coin + (8860005, 2048702, 5000, 1, 1), # Rebirth Flame Lv. 130 + (8860005, 1942001, 2500, 1, 1), # Gold Mask + (8860005, 1952001, 2500, 1, 1), # Gold Pendant + (8860005, 1962001, 2500, 1, 1), # Gold Wings + (8860005, 1972001, 2500, 1, 1), # Gold Tail + (8860005, 4001886, 10000, 1, 1), # Intense Power Crystal + (8860005, 1612004, 2500, 1, 1), # Pure Gold Engine + (8860005, 1622004, 2500, 1, 1), # Pure Gold Machine Arm + (8860005, 1632003, 2500, 1, 1), # Pure Gold Machine Leg + (8860005, 1642002, 2500, 1, 1), # Pure Gold Body Frame + (8860005, 1652004, 2500, 1, 1), # Pure Gold Transistor + (8860005, 4021035, 10000, 5, 15), # Grand Spell Essence + (8860005, 4021034, 10000, 5, 15), # Fine Spell Essence + (8860005, 4021033, 10000, 5, 15), # Basic Spell Essence + (8860005, 4021032, 10000, 5, 15), # Mana Crystal + (8860005, 4021031, 10000, 5, 15), # Twisted Time + (8860005, 4021020, 10000, 5, 15), # Confusion Fragment + (8860005, 4001832, 10000, 20, 60), # Spell Trace + (8860005, 4001832, 10000, 20, 60), # Spell Trace + (8860005, 4001832, 10000, 20, 60), # Spell Trace + (8860005, 3010321, 2000, 1, 1), # Arkarium Storytime Chair + + # Normal Arkarium - ID = 8860000 + + (8860000, 1122150, 1500, 1, 1), # Dominator Pendant + (8860000, 1122150, 1500, 1, 1), # Dominator Pendant + (8860000, 2046374, 6000, 1, 1), # Fragment of Distorted Time + (8860000, 2046374, 6000, 1, 1), # Fragment of Distorted Time + (8860000, 2046374, 6000, 1, 1), # Fragment of Distorted Time + (8860000, 2046374, 6000, 1, 1), # Fragment of Distorted Time + (8860000, 2511126, 2000, 1, 1), # Guardian Eternal Ring Recipe + (8860000, 2511127, 2000, 1, 1), # Berserker Eternal Ring Recipe + (8860000, 2511128, 2000, 1, 1), # High Lord Eternal Ring Recipe + (8860000, 2511129, 2000, 1, 1), # Oracle Eternal Ring Recipe + (8860000, 2511130, 2000, 1, 1), # Dominator Pendant Recipe + (8860000, 1122254, 1500, 1, 1), # Mechanator Pendant + (8860000, 1122254, 1500, 1, 1), # Mechanator Pendant + (8860000, 2431753, 8000, 1, 1), # Arkarium Soul Shard + (8860000, 2431753, 4000, 1, 1), # Arkarium Soul Shard + (8860000, 2431753, 2000, 1, 1), # Arkarium Soul Shard + (8860000, 2022176, 10000, 20, 20), # Power Elixir (Tradeable) + (8860000, 2020013, 10000, 10, 25), # Reindeer Milk (Tradeable) + (8860000, 2000004, 10000, 10, 25), # Elixir (Tradeable) + (8860000, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8860000, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8860000, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8860000, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8860000, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8860000, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8860000, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8860000, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8860000, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8860000, 4310018, 6000, 2, 2), # Crusader Coin + (8860000, 4310018, 6000, 2, 2), # Crusader Coin + (8860000, 4310018, 6000, 2, 2), # Crusader Coin + (8860000, 4310018, 6000, 2, 2), # Crusader Coin + (8860000, 4310018, 6000, 2, 2), # Crusader Coin + (8860000, 2048702, 5000, 1, 1), # Rebirth Flame Lv. 130 + (8860000, 1942001, 2500, 1, 1), # Gold Mask + (8860000, 1952001, 2500, 1, 1), # Gold Pendant + (8860000, 1962001, 2500, 1, 1), # Gold Wings + (8860000, 1972001, 2500, 1, 1), # Gold Tail + (8860000, 4001886, 10000, 1, 1), # Intense Power Crystal + (8860000, 1612004, 2500, 1, 1), # Pure Gold Engine + (8860000, 1622004, 2500, 1, 1), # Pure Gold Machine Arm + (8860000, 1632003, 2500, 1, 1), # Pure Gold Machine Leg + (8860000, 1642002, 2500, 1, 1), # Pure Gold Body Frame + (8860000, 1652004, 2500, 1, 1), # Pure Gold Transistor + (8860000, 4021035, 10000, 5, 15), # Grand Spell Essence + (8860000, 4021034, 10000, 5, 15), # Fine Spell Essence + (8860000, 4021033, 10000, 5, 15), # Basic Spell Essence + (8860000, 4021032, 10000, 5, 15), # Mana Crystal + (8860000, 4021031, 10000, 5, 15), # Twisted Time + (8860000, 4021020, 10000, 5, 15), # Confusion Fragment + (8860000, 4001832, 10000, 20, 60), # Spell Trace + (8860000, 4001832, 10000, 20, 60), # Spell Trace + (8860000, 4001832, 10000, 20, 60), # Spell Trace + (8860000, 3010321, 2000, 1, 1), # Arkarium Storytime Chair + + # Cra and Ra Drops + + # Crimson Queen Normal Box ID = 8920106 + + (8920106, 4310064, 10000, 1, 1), # Yggdrasil Rune + (8920106, 1003717, 7000, 1, 1), # Queens Tiara + (8920106, 3010514, 750, 1, 1), # Crimson Queens Throne´ + (8920106, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8920106, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8920106, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8920106, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8920106, 4001886, 10000, 1, 1), # Intense Power Crystal + (8920106, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8920106, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8920106, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8920106, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8920106, 4310018, 6000, 2, 2), # Crusader Coin + (8920106, 4310018, 6000, 2, 2), # Crusader Coin + (8920106, 4310018, 6000, 2, 2), # Crusader Coin + (8920106, 4310018, 6000, 2, 2), # Crusader Coin + (8920106, 4310018, 6000, 2, 2), # Crusader Coin + (8920106, 2433591, 7000, 1, 1), # Crimson Queen Soul Shard + (8920106, 2433591, 3500, 1, 1), # Crimson Queen Soul Shard + (8920106, 2022176, 10000, 10, 10), # Power Elixir (Tradeable) + (8920106, 2020013, 10000, 10, 25), # Reindeer Milk (Tradeable) + (8920106, 2000004, 10000, 10, 25), # Elixir (Tradeable) + + # Crimson Queen Chaos Box ID = 8920006 + + (8920006, 4310064, 10000, 1, 1), # Yggdrasil Rune + (8920006, 4310065, 10000, 1, 1), # Chaos Yggdrasil Rune + (8920006, 1003717, 7000, 1, 1), # Queens Tiara + (8920006, 1003721, 5000, 1, 1), # Chaos Queen Tiara + (8920006, 3010514, 1000, 1, 1), # Crimson Queens Throne´ + (8920006, 2048708, 5000, 1, 1), # Rebirth Flame Lv. 150 + (8920006, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8920006, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8920006, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8920006, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8920006, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8920006, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8920006, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8920006, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8920006, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8920006, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8920006, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8920006, 4001886, 10000, 1, 1), # Intense Power Crystal + (8920006, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8920006, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8920006, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8920006, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8920006, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8920006, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8920006, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8920006, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8920006, 4310018, 6000, 2, 2), # Crusader Coin + (8920006, 4310018, 6000, 2, 2), # Crusader Coin + (8920006, 4310018, 6000, 2, 2), # Crusader Coin + (8920006, 4310018, 6000, 2, 2), # Crusader Coin + (8920006, 4310018, 6000, 2, 2), # Crusader Coin + (8920006, 4310018, 6000, 2, 2), # Crusader Coin + (8920006, 4310018, 6000, 2, 2), # Crusader Coin + (8920006, 4310018, 6000, 2, 2), # Crusader Coin + (8920006, 2022176, 10000, 50, 50), # Power Elixir (Tradeable) + (8920006, 2020013, 10000, 10, 25), # Reindeer Milk (Tradeable) + (8920006, 2000004, 10000, 10, 25), # Elixir (Tradeable) + (8920006, 2433591, 8000, 1, 1), # Crimson Queen Soul Shard + (8920006, 2433591, 4000, 1, 1), # Crimson Queen Soul Shard + (8920006, 2433591, 2000, 1, 1), # Crimson Queen Soul Shard + (8920006, 2434586, 3500, 1, 1), # Piece of Anguish + (8920006, 2434586, 3500, 1, 1), # Piece of Anguish + (8920006, 2434586, 3500, 1, 1), # Piece of Anguish + (8920006, 2434586, 3500, 1, 1), # Piece of Anguish + (8920006, 2434586, 3500, 1, 1), # Piece of Anguish + (8920006, 2434586, 3500, 1, 1), # Piece of Anguish + (8920006, 2434586, 3500, 1, 1), # Piece of Anguish + (8920006, 2434586, 3500, 1, 1), # Piece of Anguish + (8920006, 2434586, 3500, 1, 1), # Piece of Anguish + (8920006, 2434586, 3500, 1, 1), # Piece of Anguish + (8920006, 2434586, 3500, 1, 1), # Piece of Anguish + (8920006, 2434586, 3500, 1, 1), # Piece of Anguish + + # Normal Von Bon ID = 8910100 + + (8910100, 4310064, 10000, 1, 1), # Yggdrasil Rune + (8910100, 1003716, 7000, 1, 1), # Von Bon Helmet + (8910100, 3010512, 750, 1, 1), # Von Bon Von Chair + (8910100, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8910100, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8910100, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8910100, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8910100, 4001886, 10000, 1, 1), # Intense Power Crystal + (8910100, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8910100, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8910100, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8910100, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8910100, 4310018, 6000, 2, 2), # Crusader Coin + (8910100, 4310018, 6000, 2, 2), # Crusader Coin + (8910100, 4310018, 6000, 2, 2), # Crusader Coin + (8910100, 4310018, 6000, 2, 2), # Crusader Coin + (8910100, 4310018, 6000, 2, 2), # Crusader Coin + (8910100, 2433515, 7000, 1, 1), # Von Bon Soul Shard + (8910100, 2433515, 3500, 1, 1), # Von Bon Soul Shard + (8910100, 2022176, 10000, 10, 10), # Power Elixir (Tradeable) + (8910100, 2020013, 10000, 10, 25), # Reindeer Milk (Tradeable) + (8910100, 2000004, 10000, 10, 25), # Elixir (Tradeable) + + + # Chaos Von Bon ID = 8910000 + + (8910000, 4310064, 10000, 1, 1), # Yggdrasil Rune + (8910000, 4310065, 10000, 1, 1), # Chaos Yggdrasil Rune + (8910000, 1003716, 7000, 1, 1), # Von Bon Helmet + (8910000, 1003720, 5000, 1, 1), # Chaos Von Bon Helmet + (8910000, 3010512, 1000, 1, 1), # Von Bon Von Chair + (8910000, 2048708, 5000, 1, 1), # Rebirth Flame Lv. 150 + (8910000, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8910000, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8910000, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8910000, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8910000, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8910000, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8910000, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8910000, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8910000, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8910000, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8910000, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8910000, 4001886, 10000, 1, 1), # Intense Power Crystal + (8910000, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8910000, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8910000, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8910000, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8910000, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8910000, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8910000, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8910000, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8910000, 4310018, 6000, 2, 2), # Crusader Coin + (8910000, 4310018, 6000, 2, 2), # Crusader Coin + (8910000, 4310018, 6000, 2, 2), # Crusader Coin + (8910000, 4310018, 6000, 2, 2), # Crusader Coin + (8910000, 4310018, 6000, 2, 2), # Crusader Coin + (8910000, 4310018, 6000, 2, 2), # Crusader Coin + (8910000, 4310018, 6000, 2, 2), # Crusader Coin + (8910000, 4310018, 6000, 2, 2), # Crusader Coin + (8910000, 2433515, 8000, 1, 1), # Von Bon Soul Shard + (8910000, 2433515, 4000, 1, 1), # Von Bon Soul Shard + (8910000, 2433515, 2000, 1, 1), # Von Bon Soul Shard + (8910000, 2022176, 10000, 50, 50), # Power Elixir (Tradeable) + (8910000, 2020013, 10000, 10, 25), # Reindeer Milk (Tradeable) + (8910000, 2000004, 10000, 10, 25), # Elixir (Tradeable) + (8910000, 2434584, 3500, 1, 1), # Piece of Time + (8910000, 2434584, 3500, 1, 1), # Piece of Time + (8910000, 2434584, 3500, 1, 1), # Piece of Time + (8910000, 2434584, 3500, 1, 1), # Piece of Time + (8910000, 2434584, 3500, 1, 1), # Piece of Time + (8910000, 2434584, 3500, 1, 1), # Piece of Time + (8910000, 2434584, 3500, 1, 1), # Piece of Time + (8910000, 2434584, 3500, 1, 1), # Piece of Time + (8910000, 2434584, 3500, 1, 1), # Piece of Time + (8910000, 2434584, 3500, 1, 1), # Piece of Time + (8910000, 2434584, 3500, 1, 1), # Piece of Time + (8910000, 2434584, 3500, 1, 1), # Piece of Time + + # Normal Pierre Box ID = 8900103 + + (8900103, 4310064, 10000, 1, 1), # Yggdrasil Rune + (8900103, 1003715, 7000, 1, 1), # Pierre Hat + (8900103, 3010513, 750, 1, 1), # Happy Pierre Chair + (8900103, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8900103, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8900103, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8900103, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8900103, 4001886, 10000, 1, 1), # Intense Power Crystal + (8900103, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8900103, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8900103, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8900103, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8900103, 4310018, 6000, 2, 2), # Crusader Coin + (8900103, 4310018, 6000, 2, 2), # Crusader Coin + (8900103, 4310018, 6000, 2, 2), # Crusader Coin + (8900103, 4310018, 6000, 2, 2), # Crusader Coin + (8900103, 4310018, 6000, 2, 2), # Crusader Coin + (8900103, 2433446, 7000, 1, 1), # Pierre Soul Shard + (8900103, 2433446, 3500, 1, 1), # Pierre Soul Shard + (8900103, 2022176, 10000, 10, 10), # Power Elixir (Tradeable) + (8900103, 2020013, 10000, 10, 25), # Reindeer Milk (Tradeable) + (8900103, 2000004, 10000, 10, 25), # Elixir (Tradeable) + + # Choas Pierre Box ID = 8900003 + + (8900003, 4310064, 10000, 1, 1), # Yggdrasil Rune + (8900003, 4310065, 10000, 1, 1), # Chaos Yggdrasil Rune + (8900003, 1003715, 7000, 1, 1), # Pierre Hat + (8900003, 1003719, 5000, 1, 1), # Chaos Pierre Hat + (8900003, 3010513, 1000, 1, 1), # Happy Pierre Chair + (8900003, 2048708, 5000, 1, 1), # Rebirth Flame Lv. 150 + (8900003, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8900003, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8900003, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8900003, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8900003, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8900003, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8900003, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8900003, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8900003, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8900003, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8900003, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8900003, 4001886, 10000, 1, 1), # Intense Power Crystal + (8900003, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8900003, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8900003, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8900003, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8900003, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8900003, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8900003, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8900003, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8900003, 4310018, 6000, 2, 2), # Crusader Coin + (8900003, 4310018, 6000, 2, 2), # Crusader Coin + (8900003, 4310018, 6000, 2, 2), # Crusader Coin + (8900003, 4310018, 6000, 2, 2), # Crusader Coin + (8900003, 4310018, 6000, 2, 2), # Crusader Coin + (8900003, 4310018, 6000, 2, 2), # Crusader Coin + (8900003, 4310018, 6000, 2, 2), # Crusader Coin + (8900003, 4310018, 6000, 2, 2), # Crusader Coin + (8900003, 2433446, 8000, 1, 1), # Pierre Soul Shard + (8900003, 2433446, 4000, 1, 1), # Pierre Soul Shard + (8900003, 2433446, 2000, 1, 1), # Pierre Soul Shard + (8900003, 2022176, 10000, 50, 50), # Power Elixir (Tradeable) + (8900003, 2020013, 10000, 10, 25), # Reindeer Milk (Tradeable) + (8900003, 2000004, 10000, 10, 25), # Elixir (Tradeable) + (8900003, 2434585, 3500, 1, 1), # Piece of Mockery + (8900003, 2434585, 3500, 1, 1), # Piece of Mockery + (8900003, 2434585, 3500, 1, 1), # Piece of Mockery + (8900003, 2434585, 3500, 1, 1), # Piece of Mockery + (8900003, 2434585, 3500, 1, 1), # Piece of Mockery + (8900003, 2434585, 3500, 1, 1), # Piece of Mockery + (8900003, 2434585, 3500, 1, 1), # Piece of Mockery + (8900003, 2434585, 3500, 1, 1), # Piece of Mockery + (8900003, 2434585, 3500, 1, 1), # Piece of Mockery + (8900003, 2434585, 3500, 1, 1), # Piece of Mockery + (8900003, 2434585, 3500, 1, 1), # Piece of Mockery + (8900003, 2434585, 3500, 1, 1), # Piece of Mockery + + # Normal Vellum ID = 8930100 + + (8930100, 4310064, 10000, 1, 1), # Yggdrasil Rune + (8930100, 1003718, 7000, 1, 1), # Vellum Helm + (8930100, 3010515, 750, 1, 1), # Vellum Rock Chair + (8930100, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8930100, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8930100, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8930100, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8930100, 4001886, 10000, 1, 1), # Intense Power Crystal + (8930100, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8930100, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8930100, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8930100, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8930100, 4310018, 6000, 2, 2), # Crusader Coin + (8930100, 4310018, 6000, 2, 2), # Crusader Coin + (8930100, 4310018, 6000, 2, 2), # Crusader Coin + (8930100, 4310018, 6000, 2, 2), # Crusader Coin + (8930100, 4310018, 6000, 2, 2), # Crusader Coin + (8930100, 2433592, 7000, 1, 1), # Vellum Soul Shard + (8930100, 2433592, 3500, 1, 1), # Vellum Soul Shard + (8930100, 2022176, 10000, 10, 10), # Power Elixir (Tradeable) + (8930100, 2020013, 10000, 10, 25), # Reindeer Milk (Tradeable) + (8930100, 2000004, 10000, 10, 25), # Elixir (Tradeable) + + # Chaos Vellum ID = 8930000 + + (8930000, 4310064, 10000, 1, 1), # Yggdrasil Rune + (8930000, 4310065, 10000, 1, 1), # Chaos Yggdrasil Rune + (8930000, 1003718, 7000, 1, 1), # Vellum Helm + (8930000, 1003722, 5000, 1, 1), # Chaos Vellum Helm + (8930000, 3010515, 1000, 1, 1), # Vellum Rock Chair + (8930000, 2048708, 5000, 1, 1), # Rebirth Flame Lv. 150 + (8930000, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8930000, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8930000, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8930000, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8930000, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8930000, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8930000, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8930000, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8930000, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8930000, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8930000, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8930000, 4001886, 10000, 1, 1), # Intense Power Crystal + (8930000, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8930000, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8930000, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8930000, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8930000, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8930000, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8930000, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8930000, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8930000, 4310018, 6000, 2, 2), # Crusader Coin + (8930000, 4310018, 6000, 2, 2), # Crusader Coin + (8930000, 4310018, 6000, 2, 2), # Crusader Coin + (8930000, 4310018, 6000, 2, 2), # Crusader Coin + (8930000, 4310018, 6000, 2, 2), # Crusader Coin + (8930000, 4310018, 6000, 2, 2), # Crusader Coin + (8930000, 4310018, 6000, 2, 2), # Crusader Coin + (8930000, 4310018, 6000, 2, 2), # Crusader Coin + (8930000, 2433592, 8000, 1, 1), # Vellum Soul Shard + (8930000, 2433592, 4000, 1, 1), # Vellum Soul Shard + (8930000, 2433592, 2000, 1, 1), # Vellum Soul Shard + (8930000, 2022176, 10000, 50, 50), # Power Elixir (Tradeable) + (8930000, 2020013, 10000, 10, 25), # Reindeer Milk (Tradeable) + (8930000, 2000004, 10000, 10, 25), # Elixir (Tradeable) + (8930000, 2432295, 500, 1, 1), # Permanent Vellum Mount + (8930000, 2434587, 3500, 1, 1), # Piece of Destruction + (8930000, 2434587, 3500, 1, 1), # Piece of Destruction + (8930000, 2434587, 3500, 1, 1), # Piece of Destruction + (8930000, 2434587, 3500, 1, 1), # Piece of Destruction + (8930000, 2434587, 3500, 1, 1), # Piece of Destruction + (8930000, 2434587, 3500, 1, 1), # Piece of Destruction + (8930000, 2434587, 3500, 1, 1), # Piece of Destruction + (8930000, 2434587, 3500, 1, 1), # Piece of Destruction + (8930000, 2434587, 3500, 1, 1), # Piece of Destruction + (8930000, 2434587, 3500, 1, 1), # Piece of Destruction + (8930000, 2434587, 3500, 1, 1), # Piece of Destruction + (8930000, 2434587, 3500, 1, 1), # Piece of Destruction + (8930000, 2434587, 3500, 1, 1), # Piece of Destruction + (8930000, 2434587, 3500, 1, 1), # Piece of Destruction + (8930000, 2434587, 3500, 1, 1), # Piece of Destruction + (8930000, 2434587, 3500, 1, 1), # Piece of Destruction + (8930000, 2434587, 3500, 1, 1), # Piece of Destruction + (8930000, 2434587, 3500, 1, 1), # Piece of Destruction + (8930000, 2434587, 3500, 1, 1), # Piece of Destruction + (8930000, 2434587, 3500, 1, 1), # Piece of Destruction + + + # 9421589 - RANMARU chaos + # Terminus Weapons + + (9421589, 1092113, 125, 1, 1), # Terminus Defender + (9421589, 1212080, 125, 1, 1), # Terminus Illuminator + (9421589, 1222075, 125, 1, 1), # Terminus Firebreather + (9421589, 1232075, 125, 1, 1), # Terminus Vanquisher + (9421589, 1242081, 125, 1, 1), # Terminus Jaeger + (9421589, 1252066, 125, 1, 1), # Terminus Scepter + (9421589, 1262030, 125, 1, 1), # Terminus Psy-limiter + (9421589, 1272029, 125, 1, 1), # Terminus Chain + (9421589, 1282029, 125, 1, 1), # Terminus Lucent Gauntlet + (9421589, 1302290, 125, 1, 1), # Terminus Divider + (9421589, 1312166, 125, 1, 1), # Terminus Chopper + (9421589, 1322216, 125, 1, 1), # Terminus Crusher + (9421589, 1332239, 125, 1, 1), # Terminus Prowler + (9421589, 1342086, 125, 1, 1), # Terminus Silencer + (9421589, 1362102, 125, 1, 1), # Terminus Orchestrator + (9421589, 1372189, 125, 1, 1), # Terminus Enchanter + (9421589, 1382223, 125, 1, 1), # Terminus Mesmerizer + (9421589, 1402211, 125, 1, 1), # Terminus Dominator + (9421589, 1412148, 125, 1, 1), # Terminus Devastator + (9421589, 1422153, 125, 1, 1), # Terminus Demolisher + (9421589, 1432179, 125, 1, 1), # Terminus Impaler + (9421589, 1442235, 125, 1, 1), # Terminus Warmonger + (9421589, 1452217, 125, 1, 1), # Terminus Stormchaser + (9421589, 1462205, 125, 1, 1), # Terminus Bolter + (9421589, 1472227, 125, 1, 1), # Terminus Executioner + (9421589, 1482180, 125, 1, 1), # Terminus Striker + (9421589, 1492191, 125, 1, 1), # Terminus Raider + (9421589, 1522106, 125, 1, 1), # Terminus Raptor + (9421589, 1532110, 125, 1, 1), # Terminus Scorcher + (9421589, 1542068, 125, 1, 1), # Terminus Grand Master + (9421589, 1552068, 125, 1, 1), # Terminus Summoner + (9421589, 1582026, 125, 1, 1), # Terminus Gauntlet + + + # Japan Weapons ID + + (9421589, 1232072, 300, 1, 1), # Amaterasu Death Bringer + (9421589, 1302229, 300, 1, 1), # Amaterasu Nimbus Sword + (9421589, 1312118, 300, 1, 1), # Amaterasu Axe of a Thousand Blades + (9421589, 1322164, 300, 1, 1), # Amaterasu Golden Slice + (9421589, 1402153, 300, 1, 1), # Amaterasu Weeping Spirit Sword + (9421589, 1412106, 300, 1, 1), # Amaterasu Smoldering Spirit Axe + (9421589, 1422109, 300, 1, 1), # Amaterasu Mace of Ruin + (9421589, 1432140, 300, 1, 1), # Amaterasu Final Wind + (9421589, 1442184, 300, 1, 1), # Amaterasu Pelting Rain + (9421589, 1542045, 300, 1, 1), # Amaterasu Muramasa + (9421589, 1452172, 300, 1, 1), # Oyamatsumi Fire Spirit Bow + (9421589, 1462161, 300, 1, 1), # Oyamatsumi Mind Expansion Bow + (9421589, 1522073, 300, 1, 1), # Oyamatsumi Dragon Bow + (9421589, 1212057, 300, 1, 1), # Ame-no-Uzume Shining Rod + (9421589, 1282027, 300, 1, 1), # Ame-no-Uzumes Lucent Gauntlet + (9421589, 1252056, 300, 1, 1), # Ame-no-Uzume spirit Pole + (9421589, 1372141, 300, 1, 1), # Ame-no-Uzume Crooked Soul Staff + (9421589, 1382170, 300, 1, 1), # Ame-no-Uzume Sinister Spirit Hand + (9421589, 1552045, 300, 1, 1), # Ame-no-Uzume Red Flower + (9421589, 1222052, 300, 1, 1), # Susano-o Rainbow Shooter + (9421589, 1482142, 300, 1, 1), # Susano-o Bloodstained Sword + (9421589, 1492154, 300, 1, 1), # Susano-o Baleful Blaster + (9421589, 1532076, 300, 1, 1), # Susano-o Solar Cannon + (9421589, 1242077, 300, 1, 1), # Tsukuyomi Energy Chain THIEF + (9421589, 1242078, 300, 1, 1), # Tsukuyomi Energy Chain PIRATE + (9421589, 1272027, 300, 1, 1), # Tsukuyomi Chain + (9421589, 1332195, 300, 1, 1), # Tsukuyomi Execution Sword + (9421589, 1342071, 300, 1, 1), # Tsukuyomi Sword of Sorrow + (9421589, 1362069, 300, 1, 1), # Tsukuyomi Wraith Hand + (9421589, 1472181, 300, 1, 1), # Tsukuyomi Fist of Malice + (9421589, 1262028, 300, 1, 1), # Sengoku Era Psy-limiter + (9421589, 1582022, 300, 1, 1), # Meister Titan + + + # Common items EQP - USE - ETC - SETUP + + (9421589, 4310018, 6000, 2, 2), # Crusader Coin + (9421589, 4310018, 6000, 2, 2), # Crusader Coin + (9421589, 4310018, 6000, 2, 2), # Crusader Coin + (9421589, 4310018, 6000, 2, 2), # Crusader Coin + (9421589, 4310018, 6000, 2, 2), # Crusader Coin + (9421589, 4310018, 6000, 2, 2), # Crusader Coin + (9421589, 4310018, 6000, 2, 2), # Crusader Coin + (9421589, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (9421589, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (9421589, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (9421589, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (9421589, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (9421589, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (9421589, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (9421589, 2433103, 10000, 1, 1), # Boss Medal of Honor + (9421589, 2433103, 10000, 1, 1), # Boss Medal of Honor + (9421589, 2433103, 10000, 1, 1), # Boss Medal of Honor + (9421589, 2433103, 10000, 1, 1), # Boss Medal of Honor + (9421589, 2433103, 10000, 1, 1), # Boss Medal of Honor + (9421589, 4021029, 10000, 10, 25), # Condensed Spirit + (9421589, 4021030, 10000, 1, 1), # Spirit Stone of the Sixth Sky + (9421589, 2048716, 4000, 1, 1), # Powerful Rebirth Flame + (9421589, 2048708, 2000, 1, 1), # Rebirth Flame Lv. 150 + (9421589, 4021031, 10000, 125, 250), # Twisted Time + (9421589, 3015195, 700, 1, 1), # Ghost Fox Chair + (9421589, 4001832, 10000, 20, 60), # Spell Trace + (9421589, 4001832, 10000, 20, 60), # Spell Trace + (9421589, 4001832, 10000, 20, 60), # Spell Trace + (9421589, 1113173, 500, 1, 1), # Lightning God Ring + (9421589, 2870528, 5000, 1, 1), # Ranmaru Familiar + + # Normal Ranmaru ID = 9421584 + + (9421584, 4001832, 10000, 20, 60), # Spell Trace + (9421584, 4001832, 10000, 20, 60), # Spell Trace + (9421584, 4001832, 10000, 20, 60), # Spell Trace + (9421584, 2433103, 10000, 1, 1), # Boss Medal of Honor + (9421584, 2433103, 10000, 1, 1), # Boss Medal of Honor + (9421584, 2433103, 10000, 1, 1), # Boss Medal of Honor + (9421584, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (9421584, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (9421584, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (9421584, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (9421584, 4310018, 6000, 2, 2), # Crusader Coin + (9421584, 4310018, 6000, 2, 2), # Crusader Coin + (9421584, 2870528, 5000, 1, 1), # Ranmaru Familia + (9421584, 4021029, 10000, 10, 25), # Condensed Spirit + (9421584, 3015195, 100, 1, 1), # Ghost Fox Chair + + # Hard Damien Drops ID = 8880111 + + (8880111, 1082636, 200, 1, 1), # AbsoLab Knight Gloves + (8880111, 1082637, 200, 1, 1), # AbsoLab Mage Gloves + (8880111, 1082638, 200, 1, 1), # AbsoLab Archer Gloves + (8880111, 1082639, 200, 1, 1), # AbsoLab Bandit Gloves + (8880111, 1082640, 200, 1, 1), # AbsoLab Pirate Gloves + (8880111, 1102775, 200, 1, 1), # AbsoLab Knight Cape + (8880111, 1102794, 200, 1, 1), # AbsoLab Mage Cape + (8880111, 1102795, 200, 1, 1), # AbsoLab Archer Cape + (8880111, 1102796, 200, 1, 1), # AbsoLab Bandit Cape + (8880111, 1102797, 200, 1, 1), # AbsoLab Pirate Cape + (8880111, 1662088, 750, 1, 1), # Damienroid + (8880111, 1099015, 2000, 1, 1), # Ruin Force Shield + (8880111, 1022278, 100, 1, 1), # Magic Eyepatch + (8880111, 1212115, 125, 1, 1), # AbsoLab Shining Rod + (8880111, 1222109, 125, 1, 1), # AbsoLab Soul Shooter + (8880111, 1232109, 125, 1, 1), # AbsoLab Desperado + (8880111, 1242116, 125, 1, 1), # AbsoLab Whip Blade + (8880111, 1252093, 125, 1, 1), # AbsoLab Scepter + (8880111, 1262017, 125, 1, 1), # AbsoLab Psy-limiter + (8880111, 1272016, 125, 1, 1), # AbsoLab Chain + (8880111, 1282016, 125, 1, 1), # AbsoLab Lucent Gauntlet + (8880111, 1302333, 125, 1, 1), # AbsoLab Saber + (8880111, 1312199, 125, 1, 1), # AbsoLab Axe + (8880111, 1322250, 125, 1, 1), # AbsoLab Bit Hammer + (8880111, 1332274, 125, 1, 1), # AbsoLab Blade Lord + (8880111, 1342101, 125, 1, 1), # AbsoLab Katara + (8880111, 1362135, 125, 1, 1), # AbsoLab Forked Cane + (8880111, 1372222, 125, 1, 1), # AbsoLab Spellsong Wand + (8880111, 1382259, 125, 1, 1), # AbsoLab Spellsong Staff + (8880111, 1402251, 125, 1, 1), # AbsoLab Broad Saber + (8880111, 1412177, 125, 1, 1), # AbsoLab Broad Axe + (8880111, 1422184, 125, 1, 1), # AbsoLab Broad Hammer + (8880111, 1432214, 125, 1, 1), # AbsoLab Piercing Spear + (8880111, 1442268, 125, 1, 1), # AbsoLab Hellslayer + (8880111, 1452252, 125, 1, 1), # AbsoLab Sureshot Bow + (8880111, 1462239, 125, 1, 1), # AbsoLab Crossbow + (8880111, 1472261, 125, 1, 1), # AbsoLab Revenge Guard + (8880111, 1482216, 125, 1, 1), # Absolute Labs Blast Knuckle + (8880111, 1492231, 125, 1, 1), # AbsoLab Point Gun + (8880111, 1522138, 125, 1, 1), # AbsoLab Dual Bowguns + (8880111, 1532144, 125, 1, 1), # AbsoLab Blast Cannon + (8880111, 1542108, 125, 1, 1), # AbsoLab Katana + (8880111, 1552110, 125, 1, 1), # AbsoLab Summoner + (8880111, 1582017, 125, 1, 1), # AbsoLab Pile God + (8880111, 4310018, 6000, 2, 2), # Crusader Coin + (8880111, 4310018, 6000, 2, 2), # Crusader Coin + (8880111, 4310018, 6000, 2, 2), # Crusader Coin + (8880111, 4310018, 6000, 2, 2), # Crusader Coin + (8880111, 4310018, 6000, 2, 2), # Crusader Coin + (8880111, 4310018, 6000, 2, 2), # Crusader Coin + (8880111, 4310018, 6000, 2, 2), # Crusader Coin + (8880111, 4310018, 6000, 2, 2), # Crusader Coin + (8880111, 4310018, 6000, 2, 2), # Crusader Coin + (8880111, 4310018, 6000, 2, 2), # Crusader Coin + (8880111, 4310018, 6000, 2, 2), # Crusader Coin + (8880111, 2048708, 5000, 1, 1), # Rebirth Flame Lv. 150 + (8880111, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8880111, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8880111, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8880111, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8880111, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8880111, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8880111, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8880111, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8880111, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8880111, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8880111, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8880111, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8880111, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8880111, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8880111, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8880111, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8880111, 4001886, 10000, 1, 1), # Intense Power Crystal + (8880111, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8880111, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8880111, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8880111, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8880111, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8880111, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8880111, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8880111, 2022176, 10000, 50, 50), # Power Elixir (Tradeable) + (8880111, 2020013, 10000, 10, 25), # Reindeer Milk (Tradeable) + (8880111, 2000004, 10000, 10, 25), # Elixir (Tradeable) + (8880111, 2000004, 10000, 10, 25), # Elixir (Tradeable) + (8880111, 2435369, 8000, 1, 1), # Damien Soul Shard + (8880111, 2435369, 6000, 1, 1), # Damien Soul Shard + (8880111, 2435369, 4000, 1, 1), # Damien Soul Shard + (8880111, 4001869, 10000, 1, 1), # Twisted Stigma Spirit Stone 100% + (8880111, 4001869, 5000, 1, 1), # Twisted Stigma Spirit Stone 50% + (8880111, 4001869, 2500, 1, 1), # Twisted Stigma Spirit Stone 25% + (8880111, 4001869, 1000, 1, 1), # Twisted Stigma Spirit Stone 10% + (8880111, 4001869, 500, 1, 1), # Twisted Stigma Spirit Stone 5% + (8880111, 2434157, 100, 1, 1), # Damien Band Damage Skin + + # Normal Damien - ID = 8880101 + + (8880101, 1099015, 2000, 1, 1), # Ruin Force Shield + (8880101, 4310018, 6000, 2, 2), # Crusader Coin + (8880101, 4310018, 6000, 2, 2), # Crusader Coin + (8880101, 4310018, 6000, 2, 2), # Crusader Coin + (8880101, 4310018, 6000, 2, 2), # Crusader Coin + (8880101, 4310018, 6000, 2, 2), # Crusader Coin + (8880101, 4310018, 6000, 2, 2), # Crusader Coin + (8880101, 4310018, 6000, 2, 2), # Crusader Coin + (8880101, 4310018, 6000, 2, 2), # Crusader Coin + (8880101, 4310018, 6000, 2, 2), # Crusader Coin + (8880101, 4310018, 6000, 2, 2), # Crusader Coin + (8880101, 4310018, 6000, 2, 2), # Crusader Coin + (8880101, 2048708, 5000, 1, 1), # Rebirth Flame Lv. 150 + (8880101, 2048716, 4000, 1, 1), # Powerful Rebirth Flame + (8880101, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8880101, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8880101, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8880101, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8880101, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8880101, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8880101, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8880101, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8880101, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8880101, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8880101, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8880101, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8880101, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8880101, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8880101, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8880101, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8880101, 4001886, 10000, 1, 1), # Intense Power Crystal + (8880101, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8880101, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8880101, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8880101, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8880101, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8880101, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8880101, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8880101, 4001869, 6000, 1, 1), # Twisted Stigma Spirit Stone 60% + (8880101, 4001869, 3000, 1, 1), # Twisted Stigma Spirit Stone 30% + (8880101, 4001869, 1000, 1, 1), # Twisted Stigma Spirit Stone 10% + (8880101, 2022176, 10000, 50, 50), # Power Elixir (Tradeable) + (8880101, 2020013, 10000, 10, 25), # Reindeer Milk (Tradeable) + (8880101, 2000004, 10000, 10, 25), # Elixir (Tradeable) + (8880101, 2000004, 10000, 10, 25), # Elixir (Tradeable) + + # Chaos Horntail Drops ID - 8810118 + + (8810118, 1122076, 10000, 1, 1), # Chaos Horntail Necklace + (8810118, 1122076, 8000, 1, 1), # Chaos Horntail Necklace + (8810118, 1122076, 6000, 1, 1), # Chaos Horntail Necklace + (8810118, 1122076, 4000, 1, 1), # Chaos Horntail Necklace + (8810118, 1113149, 5000, 1, 1), # Silver Blossom Ring + (8810118, 1032241, 5000, 1, 1), # Dea Sidus Earring + (8810118, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8810118, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8810118, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8810118, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8810118, 4001094, 5000, 1, 1), # Nine Spirit Egg + (8810118, 4001094, 2500, 1, 1), # Nine Spirit Egg + (8810118, 4310018, 6000, 2, 2), # Crusader Coin + (8810118, 4310018, 6000, 2, 2), # Crusader Coin + (8810118, 4310018, 6000, 2, 2), # Crusader Coin + (8810118, 4310018, 6000, 2, 2), # Crusader Coin + (8810118, 4310018, 6000, 2, 2), # Crusader Coin + (8810118, 4310018, 6000, 2, 2), # Crusader Coin + (8810118, 4310018, 6000, 2, 2), # Crusader Coin + (8810118, 4310018, 6000, 2, 2), # Crusader Coin + (8810118, 4310018, 6000, 2, 2), # Crusader Coin + (8810118, 4310018, 6000, 2, 2), # Crusader Coin + (8810118, 4310018, 6000, 2, 2), # Crusader Coin + (8810118, 4310018, 6000, 2, 2), # Crusader Coin + (8810118, 2022176, 10000, 10, 25), # Power Elixir (Tradeable) + (8810118, 2022176, 10000, 10, 25), # Power Elixir (Tradeable) + (8810118, 2020013, 10000, 10, 25), # Reindeer Milk (Tradeable) + (8810118, 2020013, 10000, 10, 25), # Reindeer Milk (Tradeable) + (8810118, 2000004, 10000, 10, 25), # Elixir (Tradeable) + (8810118, 2000004, 10000, 10, 25), # Elixir (Tradeable) + (8810118, 3010128, 2000, 1, 1), # Horntail Chair + (8810118, 1042243, 5000, 1, 1), # Horntail Ab T-Shirt + (8810118, 2020015, 10000, 10, 25), # Sunset Dew (Tradeable) + (8810118, 2020015, 10000, 10, 25), # Sunset Dew (Tradeable) + (8810118, 1942001, 2500, 1, 1), # Gold Mask + (8810118, 1952001, 2500, 1, 1), # Gold Pendant + (8810118, 1962001, 2500, 1, 1), # Gold Wings + (8810118, 1972001, 2500, 1, 1), # Gold Tail + (8810118, 4001886, 10000, 1, 1), # Intense Power Crystal + (8810118, 1612004, 2500, 1, 1), # Pure Gold Engine + (8810118, 1622004, 2500, 1, 1), # Pure Gold Machine Arm + (8810118, 1632003, 2500, 1, 1), # Pure Gold Machine Leg + (8810118, 1642002, 2500, 1, 1), # Pure Gold Body Frame + (8810118, 1652004, 2500, 1, 1), # Pure Gold Transistor + (8810118, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8810118, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8810118, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8810118, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8810118, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8810118, 2048705, 5000, 1, 1), # Rebirth Flame Lv. 120 (Tradeable) + + + # Normal Horntail Drops ID - 8810018 + + (8810018, 1122000, 10000, 1, 1), # Horntail Necklace + (8810018, 1122000, 8000, 1, 1), # Horntail Necklace + (8810018, 1122000, 4000, 1, 1), # Horntail Necklace + (8810018, 1113149, 3000, 1, 1), # Silver Blossom Ring + (8810018, 1032241, 3000, 1, 1), # Dea Sidus Earring + (8810018, 4310018, 6000, 2, 2), # Crusader Coin + (8810018, 4310018, 6000, 2, 2), # Crusader Coin + (8810018, 4310018, 6000, 2, 2), # Crusader Coin + (8810018, 4310018, 6000, 2, 2),# Crusader Coin + (8810018, 4310018, 6000, 2, 2), # Crusader Coin + (8810018, 4310018, 6000, 2, 2), # Crusader Coin + (8810018, 4310018, 6000, 2, 2), # Crusader Coin + (8810018, 2022176, 10000, 10, 25), # Power Elixir (Tradeable) + (8810018, 2022176, 10000, 10, 25), # Power Elixir (Tradeable) + (8810018, 2020013, 10000, 10, 25), # Reindeer Milk (Tradeable) + (8810018, 2020013, 10000, 10, 25), # Reindeer Milk (Tradeable) + (8810018, 2000004, 10000, 10, 25), # Elixir (Tradeable) + (8810018, 2000004, 10000, 10, 25), # Elixir (Tradeable) + (8810018, 3010128, 2000, 1, 1), # Horntail Chair + (8810018, 1042243, 5000, 1, 1), # Horntail Ab T-Shirt + (8810018, 2020015, 10000, 10, 25), # Sunset Dew (Tradeable) + (8810018, 2020015, 10000, 10, 25), # Sunset Dew (Tradeable) + (8810018, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8810018, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8810018, 4001094, 5000, 1, 1), # Nine Spirit Egg + (8810018, 4001094, 2500, 1, 1), # Nine Spirit Egg + (8810018, 1942001, 2500, 1, 1), # Gold Mask + (8810018, 1952001, 2500, 1, 1), # Gold Pendant + (8810018, 1962001, 2500, 1, 1), # Gold Wings + (8810018, 1972001, 2500, 1, 1), # Gold Tail + (8810018, 4001886, 10000, 1, 1), # Intense Power Crystal + (8810018, 1612004, 2500, 1, 1), # Pure Gold Engine + (8810018, 1622004, 2500, 1, 1), # Pure Gold Machine Arm + (8810018, 1632003, 2500, 1, 1), # Pure Gold Machine Leg + (8810018, 1642002, 2500, 1, 1), # Pure Gold Body Frame + (8810018, 1652004, 2500, 1, 1), # Pure Gold Transistor + (8810018, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8810018, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8810018, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8810018, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8810018, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8810018, 2048705, 5000, 1, 1), # Rebirth Flame Lv. 120 (Tradeable) + + # Easy Horntail Drops ID - 8810214 + + (8810214, 1942001, 2500, 1, 1), # Gold Mask + (8810214, 1952001, 2500, 1, 1), # Gold Pendant + (8810214, 1962001, 2500, 1, 1), # Gold Wings + (8810214, 1972001, 2500, 1, 1), # Gold Tail + (8810214, 4001886, 10000, 1, 1), # Intense Power Crystal + (8810214, 1612004, 2500, 1, 1), # Pure Gold Engine + (8810214, 1622004, 2500, 1, 1), # Pure Gold Machine Arm + (8810214, 1632003, 2500, 1, 1), # Pure Gold Machine Leg + (8810214, 1642002, 2500, 1, 1), # Pure Gold Body Frame + (8810214, 1652004, 2500, 1, 1), # Pure Gold Transistor + (8810214, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8810214, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8810214, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8810214, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8810214, 2000004, 10000, 10, 25), # Elixir (Tradeable) + (8810214, 2020013, 10000, 10, 25), # Reindeer Milk (Tradeable) + (8810214, 2022176, 10000, 10, 25), # Power Elixir (Tradeable) + (8810214, 2020015, 10000, 10, 25), # Sunset Dew (Tradeable) + (8810214, 4310018, 6000, 2, 2), # Crusader Coin + (8810214, 4310018, 6000, 2, 2), # Crusader Coin + (8810214, 4310018, 6000, 2, 2), # Crusader Coin + (8810214, 4310018, 6000, 2, 2), # Crusader Coin + (8810214, 2433103, 10000, 1, 1), # Boss Medal of Honor + + # Verus Hilla ID = 8880410 + + (8880410, 1122430, 125, 1, 1), # Source of Suffering + (8880410, 4001894, 10000, 1, 1), # Shadow of Annihilation + (8880410, 4001894, 5000, 1, 1), # Shadow of Annihilation + (8880410, 4001894, 2500, 1, 1), # Shadow of Annihilation + (8880410, 2439567, 10000, 1, 1), # Verus Hilla Soul Shard + (8880410, 2439567, 5000, 1, 1), # Verus Hilla Soul Shard + (8880410, 2439567, 2500, 1, 1), # Verus Hilla Soul Shard + (8880410, 2022176, 10000, 50, 50), # Power Elixir (Tradeable) + (8880410, 2020013, 10000, 10, 25), # Reindeer Milk (Tradeable) + (8880410, 2000004, 10000, 10, 25), # Elixir (Tradeable) + (8880410, 2022176, 10000, 50, 50), # Power Elixir (Tradeable) + (8880410, 2020013, 10000, 10, 25), # Reindeer Milk (Tradeable) + (8880410, 2000004, 10000, 10, 25), # Elixir (Tradeable) + (8880410, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8880410, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8880410, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8880410, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8880410, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8880410, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8880410, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8880410, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8880410, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8880410, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8880410, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8880410, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8880410, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8880410, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8880410, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8880410, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8880410, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8880410, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8880410, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8880410, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8880410, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8880410, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8880410, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8880410, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8880410, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8880410, 4310018, 6000, 2, 2), # Crusader Coin + (8880410, 4310018, 6000, 2, 2), # Crusader Coin + (8880410, 4310018, 6000, 2, 2), # Crusader Coin + (8880410, 4310018, 6000, 2, 2), # Crusader Coin + (8880410, 4310018, 6000, 2, 2), # Crusader Coin + (8880410, 4310018, 6000, 2, 2), # Crusader Coin + (8880410, 4310018, 6000, 2, 2), # Crusader Coin + (8880410, 4310018, 6000, 2, 2), # Crusader Coin + (8880410, 4310018, 6000, 2, 2), # Crusader Coin + (8880410, 2048708, 5000, 1, 1), # Rebirth Flame Lv. 150 + (8880410, 2048716, 5000, 1, 1), # Powerfull Rebirth Flame + (8880410, 4001886, 10000, 1, 1), # Intense Power Crystal + + # Hard Lotus Drops ID = 8950002 + + (8950002, 4001877, 250, 1, 1), # Damaged Black Heart + (8950002, 1004422, 200, 1, 1), # AbsoLab Knight Helm + (8950002, 1004423, 200, 1, 1), # AbsoLab Mage Crown + (8950002, 1004424, 200, 1, 1), # AbsoLab Archer Hood + (8950002, 1004425, 200, 1, 1), # AbsoLab Bandit Cap + (8950002, 1004426, 200, 1, 1), # AbsoLab Bandit Cap + (8950002, 1052882, 200, 1, 1), # AbsoLab Knight Suit + (8950002, 1052887, 200, 1, 1), # AbsoLab Mage Suit + (8950002, 1052888, 200, 1, 1), # AbsoLab Archer Suit + (8950002, 1052889, 200, 1, 1), # AbsoLab Bandit Suit + (8950002, 1052890, 200, 1, 1), # AbsoLab Pirate Suit + (8950002, 1073030, 200, 1, 1), # AbsoLab Knight Shoes + (8950002, 1073032, 200, 1, 1), # AbsoLab Mage Shoes + (8950002, 1073033, 200, 1, 1), # AbsoLab Archer Shoes + (8950002, 1073034, 200, 1, 1), # AbsoLab Bandit Shoes + (8950002, 1073035, 200, 1, 1), # AbsoLab Pirate Shoes + (8950002, 1152174, 200, 1, 1), # AbsoLab Knight Shoulder + (8950002, 1152176, 200, 1, 1), # AbsoLab Mage Shoulder + (8950002, 1152177, 200, 1, 1), # AbsoLab Archer Shoulder + (8950002, 1152178, 200, 1, 1), # AbsoLab Thief Shoulder + (8950002, 1152179, 200, 1, 1), # AbsoLab Pirate Shoulder + (8950002, 4001843, 9000, 1, 1), # Extraordinary Energy Core 90% + (8950002, 4001843, 8000, 1, 1), # Extraordinary Energy Core 80% + (8950002, 4001843, 6000, 1, 1), # Extraordinary Energy Core 60% + (8950002, 4001843, 1000, 1, 1), # Extraordinary Energy Core 10% + (8950002, 4001843, 500, 1, 1), # Extraordinary Energy Core 5% + (8950002, 4001843, 250, 1, 1), # Extraordinary Energy Core 2,5% + (8950002, 4001886, 10000, 1, 1), # Intense Power Crystal + (8950002, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8950002, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8950002, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8950002, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8950002, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8950002, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8950002, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8950002, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8950002, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8950002, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8950002, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8950002, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8950002, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8950002, 2434795, 300, 1, 1), # Lotus Damage Skin + (8950002, 2434794, 300, 1, 1), # Orchid Damage Skin + (8950002, 2434796, 100, 1, 1), # Black Heaven Damage Skin + (8950002, 2433593, 7000, 1, 1), # Lotus Soul Shard + (8950002, 2433593, 4000, 1, 1), # Lotus Soul Shard + (8950002, 2433593, 2000, 1, 1), # Lotus Soul Shard + (8950002, 1012632, 500, 1, 1), # Berserked + (8950002, 2049517, 5000, 1, 1), # Gold Potential Stamp + (8950002, 2048708, 5000, 1, 1), # Rebirth Flame Lv. 150 + (8950002, 2048716, 5000, 1, 1), # Powerful Rebirth Flame + (8950002, 4310018, 6000, 2, 2), # Crusader Coin + (8950002, 4310018, 6000, 2, 2), # Crusader Coin + (8950002, 4310018, 6000, 2, 2), # Crusader Coin + (8950002, 4310018, 6000, 2, 2), # Crusader Coin + (8950002, 4310018, 6000, 2, 2), # Crusader Coin + (8950002, 4310018, 6000, 2, 2), # Crusader Coin + (8950002, 4310018, 6000, 2, 2), # Crusader Coin + (8950002, 4310018, 6000, 2, 2), # Crusader Coin + (8950002, 4310018, 6000, 2, 2), # Crusader Coin + (8950002, 4310018, 6000, 2, 2), # Crusader Coin + (8950002, 3015514, 750, 1, 1), # Blazing Lotus Chair + (8950002, 3015003, 750, 1, 1), # Forever Lotus Pillow Chair + (8950002, 2711000, 4500, 1, 1), # Occult Cube (Tradeable) + (8950002, 2711000, 4500, 1, 1), # Occult Cube (Tradeable) + (8950002, 2711000, 4500, 1, 1), # Occult Cube (Tradeable) + (8950002, 2711000, 4500, 1, 1), # Occult Cube (Tradeable) + (8950002, 2711000, 4500, 1, 1), # Occult Cube (Tradeable) + (8950002, 2022176, 10000, 50, 50), # Power Elixir (Tradeable) + + # Normal Lotus Drops ID = 8950102 + + (8950102, 4310018, 6000, 2, 2), # Crusader Coin + (8950102, 4310018, 6000, 2, 2), # Crusader Coin + (8950102, 4310018, 6000, 2, 2), # Crusader Coin + (8950102, 4310018, 6000, 2, 2), # Crusader Coin + (8950102, 4310018, 6000, 2, 2), # Crusader Coin + (8950102, 4310018, 6000, 2, 2), # Crusader Coin + (8950102, 4310018, 6000, 2, 2), # Crusader Coin + (8950102, 4310018, 6000, 2, 2), # Crusader Coin + (8950102, 4310018, 6000, 2, 2), # Crusader Coin + (8950102, 4310018, 6000, 2, 2), # Crusader Coin + (8950102, 2433593, 5000, 1, 1), # Lotus Soul Shard + (8950102, 2433593, 2500, 1, 1), # Lotus Soul Shard + (8950102, 2434795, 100, 1, 1), # Lotus Damage Skin + (8950102, 2048708, 5000, 1, 1), # Rebirth Flame Lv. 150 + (8950102, 2048716, 4000, 1, 1), # Powerful Rebirth Flame + (8950102, 4001843, 10000, 1, 1), # Extraordinary Energy Core 100% + (8950102, 4001843, 3000, 1, 1), # Extraordinary Energy Core 30% + (8950102, 4001843, 500, 1, 1), # Extraordinary Energy Core 5% + (8950102, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8950102, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8950102, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8950102, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8950102, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8950102, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8950102, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8950102, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8950102, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8950102, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8950102, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8950102, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8950102, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8950102, 4001886, 10000, 1, 1), # Intense Power Crystal + (8950102, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8950102, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8950102, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8950102, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8950102, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8950102, 2022176, 10000, 50, 50), # Power Elixir (Tradeable) + + # Hard Lucid - ID of Box = 8880177 + + (8880177, 1132308, 250, 1, 1), # Dreamy Belt + (8880177, 1152196, 200, 1, 1), # Arcane Umbra Knight Shoulder + (8880177, 1152197, 200, 1, 1), # Arcane Umbra Mage Shoulder + (8880177, 1152198, 200, 1, 1), # Arcane Umbra Archer Shoulder + (8880177, 1152199, 200, 1, 1), # Arcane Umbra Thief Shoulder + (8880177, 1152200, 200, 1, 1), # Arcane Umbra Pirate Shoulder + (8880177, 1004808, 200, 1, 1), # Arcane Umbra Knight Hat + (8880177, 1004809, 200, 1, 1), # Arcane Umbra Mage Hat + (8880177, 1004810, 200, 1, 1), # Arcane Umbra Archer Hat + (8880177, 1004811, 200, 1, 1), # Arcane Umbra Thief Hat + (8880177, 1004812, 200, 1, 1), # Arcane Umbra Pirate Hat + (8880177, 1053063, 200, 1, 1), # Arcane Umbra Knight Suit + (8880177, 1053064, 200, 1, 1), # Arcane Umbra Mage Suit + (8880177, 1053065, 200, 1, 1), # Arcane Umbra Archer Suit + (8880177, 1053066, 200, 1, 1), # Arcane Umbra Thief Suit + (8880177, 1053067, 200, 1, 1), # Arcane Umbra Pirate Suit + (8880177, 1073158, 200, 1, 1), # Arcane Umbra Knight Shoes + (8880177, 1073159, 200, 1, 1), # Arcane Umbra Mage Shoes + (8880177, 1073160, 200, 1, 1), # Arcane Umbra Archer Shoes + (8880177, 1073161, 200, 1, 1), # Arcane Umbra Thief Shoes + (8880177, 1073162, 200, 1, 1), # Arcane Umbra Pirate Shoes + (8880177, 4001879, 9000, 1, 1), # Butterfly Droplet Stone 90% + (8880177, 4001879, 8000, 1, 1), # Butterfly Droplet Stone 80% + (8880177, 4001879, 7000, 1, 1), # Butterfly Droplet Stone 70% + (8880177, 4001879, 750, 1, 1), # Butterfly Droplet Stone 7,5% + (8880177, 4001879, 300, 1, 1), # Butterfly Droplet Stone 3% + (8880177, 2436039, 10000, 1, 1), # Lucid Soul Shard + (8880177, 2436039, 5000, 1, 1), # Lucid Soul Shard + (8880177, 2436039, 2500, 1, 1), # Lucid Soul Shard + (8880177, 1662111, 1000, 1, 1), # Lucidroid + (8880177, 4310018, 6000, 2, 2), # Crusader Coin + (8880177, 4310018, 6000, 2, 2), # Crusader Coin + (8880177, 4310018, 6000, 2, 2), # Crusader Coin + (8880177, 4310018, 6000, 2, 2), # Crusader Coin + (8880177, 4310018, 6000, 2, 2), # Crusader Coin + (8880177, 4310018, 6000, 2, 2), # Crusader Coin + (8880177, 4310018, 6000, 2, 2), # Crusader Coin + (8880177, 4310018, 6000, 2, 2), # Crusader Coin + (8880177, 4310018, 6000, 2, 2), # Crusader Coin + (8880177, 4310018, 6000, 2, 2), # Crusader Coin + (8880177, 4310018, 6000, 2, 2), # Crusader Coin + (8880177, 2048708, 5000, 1, 1), # Rebirth Flame Lv. 150 + (8880177, 2048716, 4000, 1, 1), # Powerful Rebirth Flame + (8880177, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8880177, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8880177, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8880177, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8880177, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8880177, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8880177, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8880177, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8880177, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8880177, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8880177, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8880177, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8880177, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8880177, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8880177, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8880177, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8880177, 4001886, 10000, 1, 1), # Intense Power Crystal + (8880177, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8880177, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8880177, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8880177, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8880177, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8880177, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8880177, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8880177, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8880177, 2435902, 3500, 1, 1), # Nodestone + (8880177, 2435902, 3500, 1, 1), # Nodestone + (8880177, 2435902, 3500, 1, 1), # Nodestone + (8880177, 2435902, 3500, 1, 1), # Nodestone + (8880177, 2435902, 3500, 1, 1), # Nodestone + (8880177, 2435902, 3500, 1, 1), # Nodestone + (8880177, 2435902, 3500, 1, 1), # Nodestone + (8880177, 2435902, 3500, 1, 1), # Nodestone + (8880177, 2435902, 3500, 1, 1), # Nodestone + (8880177, 2435902, 3500, 1, 1), # Nodestone + (8880177, 2022176, 10000, 50, 50), # Power Elixir (Tradeable) + (8880177, 2020013, 10000, 10, 25), # Reindeer Milk (Tradeable) + (8880177, 2000004, 10000, 10, 25), # Elixir (Tradeable) + (8880177, 2000004, 10000, 10, 25), # Elixir (Tradeable) + (8880177, 2022176, 10000, 50, 50), # Power Elixir (Tradeable) + (8880177, 2020013, 10000, 10, 25), # Reindeer Milk (Tradeable) + (8880177, 2000004, 10000, 10, 25), # Elixir (Tradeable) + (8880177, 2000004, 10000, 10, 25), # Elixir (Tradeable) + (8880177, 2436228, 100, 1, 1), # Lucid Butterfly Damage Skin + (8880177, 2870698, 1000, 1, 1), # Dreaming Lucid Familiar + (8880177, 2870861, 1000, 1, 1), # Lucid Familiar + (8880177, 3015712, 3500, 1, 1), # Lucid Nightmare Bed + (8880177, 3015637, 3000, 1, 1), # Bloom of Lucid + + # Normal Lucid- ID of Box = 8880166 + + (8880166, 4001879, 6000, 1, 1), # Butterfly Droplet Stone 60% + (8880166, 4001879, 3000, 1, 1), # Butterfly Droplet Stone 30% + (8880166, 4001879, 1000, 1, 1), # Butterfly Droplet Stone 10% + (8880166, 2436039, 10000, 1, 1), # Lucid Soul Shard + (8880166, 2436039, 5000, 1, 1), # Lucid Soul Shard + (8880166, 4310018, 6000, 2, 2), # Crusader Coin + (8880166, 4310018, 6000, 2, 2), # Crusader Coin + (8880166, 4310018, 6000, 2, 2), # Crusader Coin + (8880166, 4310018, 6000, 2, 2), # Crusader Coin + (8880166, 4310018, 6000, 2, 2), # Crusader Coin + (8880166, 4310018, 6000, 2, 2), # Crusader Coin + (8880166, 4310018, 6000, 2, 2), # Crusader Coin + (8880166, 4310018, 6000, 2, 2), # Crusader Coin + (8880166, 4310018, 6000, 2, 2), # Crusader Coin + (8880166, 4310018, 6000, 2, 2), # Crusader Coin + (8880166, 4310018, 6000, 2, 2), # Crusader Coin + (8880166, 2048708, 5000, 1, 1), # Rebirth Flame Lv. 150 + (8880166, 2048716, 4000, 1, 1), # Powerful Rebirth Flame + (8880166, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8880166, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8880166, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8880166, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8880166, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8880166, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8880166, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8880166, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8880166, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8880166, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8880166, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8880166, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8880166, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8880166, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8880166, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8880166, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8880166, 4001886, 10000, 1, 1), # Intense Power Crystal + (8880166, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8880166, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8880166, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8880166, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8880166, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8880166, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8880166, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8880166, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8880166, 2435902, 3500, 1, 1), # Nodestone + (8880166, 2435902, 3500, 1, 1), # Nodestone + (8880166, 2435902, 3500, 1, 1), # Nodestone + (8880166, 2435902, 3500, 1, 1), # Nodestone + (8880166, 2435902, 3500, 1, 1), # Nodestone + (8880166, 2435902, 3500, 1, 1), # Nodestone + (8880166, 2435902, 3500, 1, 1), # Nodestone + (8880166, 2435902, 3500, 1, 1), # Nodestone + (8880166, 2435902, 3500, 1, 1), # Nodestone + (8880166, 2435902, 3500, 1, 1), # Nodestone + (8880166, 2022176, 10000, 50, 50), # Power Elixir (Tradeable) + (8880166, 2020013, 10000, 10, 25), # Reindeer Milk (Tradeable) + (8880166, 2000004, 10000, 10, 25), # Elixir (Tradeable) + (8880166, 2000004, 10000, 10, 25), # Elixir (Tradeable) + (8880166, 2022176, 10000, 50, 50), # Power Elixir (Tradeable) + (8880166, 2020013, 10000, 10, 25), # Reindeer Milk (Tradeable) + (8880166, 2000004, 10000, 10, 25), # Elixir (Tradeable) + (8880166, 2000004, 10000, 10, 25), # Elixir (Tradeable) + (8880166, 2870861, 1000, 1, 1), # Lucid Familiar + (8880166, 3015712, 2000, 1, 1), # Lucid Nightmare Bed + (8880166, 3015637, 1500, 1, 1), # Bloom of Lucid + + + # Easy Papulatus - ID = 8500002 + + (8500002, 2437478, 5000, 1, 1), # Papulatus Soul Shard + (8500002, 1942001, 3500, 1, 1), # Gold Mask + (8500002, 1952001, 3500, 1, 1), # Gold Pendant + (8500002, 1962001, 3500, 1, 1), # Gold Wings + (8500002, 1972001, 3500, 1, 1), # Gold Tail + (8500002, 4001886, 10000, 1, 1), # Intense Power Crystal + (8500002, 1612004, 3500, 1, 1), # Pure Gold Engine + (8500002, 1622004, 3500, 1, 1), # Pure Gold Machine Arm + (8500002, 1632003, 3500, 1, 1), # Pure Gold Machine Leg + (8500002, 1642002, 3500, 1, 1), # Pure Gold Body Frame + (8500002, 1652004, 3500, 1, 1), # Pure Gold Transistor + (8500002, 2022176, 10000, 10, 10), # Power Elixir (Tradeable) + (8500002, 2020013, 10000, 10, 25), # Reindeer Milk (Tradeable) + (8500002, 2000004, 10000, 10, 25), # Elixir (Tradeable) + (8500002, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8500002, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8500002, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8500002, 4031196, 6000, 2, 2), # Dark Tachion + (8500002, 4031196, 6000, 2, 2), # Dark Tachion + (8500002, 4031196, 6000, 2, 2), # Dark Tachion + (8500002, 4031196, 6000, 2, 2), # Dark Tachion + (8500002, 4031196, 6000, 2, 2), # Dark Tachion + (8500002, 4031196, 6000, 2, 2), # Dark Tachion + + # Normal Papulatus - ID = 8500012 + + (8500012, 3016206, 1000, 1, 1), # Papulatus Clock Chair + (8500012, 2437478, 8000, 1, 1), # Papulatus Soul Shard + (8500012, 2437478, 4000, 1, 1), # Papulatus Soul Shard + (8500012, 1942001, 2500, 1, 1), # Gold Mask + (8500012, 1952001, 2500, 1, 1), # Gold Pendant + (8500012, 1962001, 2500, 1, 1), # Gold Wings + (8500012, 1972001, 2500, 1, 1), # Gold Tail + (8500012, 2048700, 5000, 1, 1), # Rebirth Flame Lv. 110 + (8500012, 4001886, 10000, 1, 1), # Intense Power Crystal + (8500012, 1612004, 2500, 1, 1), # Pure Gold Engine + (8500012, 1622004, 2500, 1, 1), # Pure Gold Machine Arm + (8500012, 1632003, 2500, 1, 1), # Pure Gold Machine Leg + (8500012, 1642002, 2500, 1, 1), # Pure Gold Body Frame + (8500012, 1652004, 2500, 1, 1), # Pure Gold Transistor + (8500012, 2022176, 10000, 10, 10), # Power Elixir (Tradeable) + (8500012, 2020013, 10000, 10, 25), # Reindeer Milk (Tradeable) + (8500012, 2000004, 10000, 10, 25), # Elixir (Tradeable) + (8500012, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8500012, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8500012, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8500012, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8500012, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8500012, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8500012, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8500012, 4310018, 6000, 2, 2), # Crusader Coin + (8500012, 4310018, 6000, 2, 2), # Crusader Coin + (8500012, 4310018, 6000, 2, 2), # Crusader Coin + (8500012, 4310018, 6000, 2, 2), # Crusader Coin + (8500012, 4031196, 6000, 2, 2), # Dark Tachion + (8500012, 4031196, 6000, 2, 2), # Dark Tachion + (8500012, 4031196, 6000, 2, 2), # Dark Tachion + (8500012, 4031196, 6000, 2, 2), # Dark Tachion + (8500012, 4031196, 6000, 2, 2), # Dark Tachion + (8500012, 4031196, 6000, 2, 2), # Dark Tachion + + # Chaos Papulatus - ID = 8500022 + + (8500022, 1022277, 300, 1, 1), # Papulatus Mark + (8500022, 3016206, 2000, 1, 1), # Papulatus Clock Chair + (8500022, 2437478, 8000, 1, 1), # Papulatus Soul Shard + (8500022, 2437478, 4000, 1, 1), # Papulatus Soul Shard + (8500022, 2437478, 2000, 1, 1), # Papulatus Soul Shard + (8500022, 1942001, 2500, 1, 1), # Gold Mask + (8500022, 1952001, 2500, 1, 1), # Gold Pendant + (8500022, 1962001, 2500, 1, 1), # Gold Wings + (8500022, 1972001, 2500, 1, 1), # Gold Tail + (8500022, 2048700, 5000, 1, 1), # Rebirth Flame Lv. 110 + (8500022, 4001886, 10000, 1, 1), # Intense Power Crystal + (8500022, 1612004, 2500, 1, 1), # Pure Gold Engine + (8500022, 1622004, 2500, 1, 1), # Pure Gold Machine Arm + (8500022, 1632003, 2500, 1, 1), # Pure Gold Machine Leg + (8500022, 1642002, 2500, 1, 1), # Pure Gold Body Frame + (8500022, 1652004, 2500, 1, 1), # Pure Gold Transistor + (8500022, 2048700, 7000, 1, 1), # Rebirth Flame Lv. 110 + (8500022, 2048708, 5000, 1, 1), # Rebirth Flame Lv. 150 + (8500022, 2022176, 10000, 30, 30), # Power Elixir (Tradeable) + (8500022, 2020013, 10000, 10, 25), # Reindeer Milk (Tradeable) + (8500022, 2000004, 10000, 10, 25), # Elixir (Tradeable) + (8500022, 2022176, 10000, 30, 30), # Power Elixir (Tradeable) + (8500022, 2020013, 10000, 10, 25), # Reindeer Milk (Tradeable) + (8500022, 2000004, 10000, 10, 25), # Elixir (Tradeable) + (8500022, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8500022, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8500022, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8500022, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8500022, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8500022, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8500022, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8500022, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8500022, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8500022, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8500022, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8500022, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8500022, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8500022, 4310018, 6000, 2, 2), # Crusader Coin + (8500022, 4310018, 6000, 2, 2), # Crusader Coin + (8500022, 4310018, 6000, 2, 2), # Crusader Coin + (8500022, 4310018, 6000, 2, 2), # Crusader Coin + (8500022, 4310018, 6000, 2, 2), # Crusader Coin + (8500022, 4310018, 6000, 2, 2), # Crusader Coin + (8500022, 4310018, 6000, 2, 2), # Crusader Coin + (8500022, 4310018, 6000, 2, 2), # Crusader Coin + (8500022, 4031196, 6000, 2, 2), # Dark Tachion + (8500022, 4031196, 6000, 2, 2), # Dark Tachion + (8500022, 4031196, 6000, 2, 2), # Dark Tachion + (8500022, 4031196, 6000, 2, 2), # Dark Tachion + (8500022, 4031196, 6000, 2, 2), # Dark Tachion + (8500022, 4031196, 6000, 2, 2), # Dark Tachion + (8500022, 4031196, 6000, 2, 2), # Dark Tachion + + # Normal Pinkbean ID = 8820014 + + (8820014, 1162025, 4000, 1, 1), # Pink Holy Cup + (8820014, 1132272, 4000, 1, 1), # Golden Clover Belt + (8820014, 1212012, 2000, 1, 1), # Reverse Dead End + (8820014, 1222012, 2000, 1, 1), # Reverse Purple Dragon + (8820014, 1232012, 2000, 1, 1), # Reverse Grim Seeker + (8820014, 1242012, 2000, 1, 1), # Reverse Hefty Head + (8820014, 1252012, 2000, 1, 1), # Reverse Kitty Pride Scepter + (8820014, 1302086, 2000, 1, 1), # Reverse Executioner + (8820014, 1312038, 2000, 1, 1), # Reverse Bardiche + (8820014, 1322061, 2000, 1, 1), # Reverse Allargando + (8820014, 1332075, 2000, 1, 1), # Reverse Pescas + (8820014, 1332076, 2000, 1, 1), # Reverse Killic + (8820014, 1342012, 2000, 1, 1), # Reverse Katara + (8820014, 1362017, 2000, 1, 1), # Reverse Persona + (8820014, 1372045, 2000, 1, 1), # Reverse Enlil Tear + (8820014, 1382059, 2000, 1, 1), # Reverse Aeas Hand + (8820014, 1402047, 2000, 1, 1), # Reverse Nibleheim + (8820014, 1412034, 2000, 1, 1), # Reverse Tabarzin + (8820014, 1422038, 2000, 1, 1), # Reverse Bellocce + (8820014, 1432049, 2000, 1, 1), # Reverse Alchupiz + (8820014, 1442067, 2000, 1, 1), # Reverse Diesra + (8820014, 1452059, 2000, 1, 1), # Reverse Engaw + (8820014, 1462051, 2000, 1, 1), # Reverse Black Beauty + (8820014, 1472071, 2000, 1, 1), # Reverse Lampion + (8820014, 1482024, 2000, 1, 1), # Reverse Equinox + (8820014, 1492025, 2000, 1, 1), # Reverse Blindness + (8820014, 1522016, 2000, 1, 1), # Reverse Blooms + (8820014, 1532016, 2000, 1, 1), # Reverse Eradicator + (8820014, 1542012, 2000, 1, 1), # Reverse Great Sword of Creation + (8820014, 1552012, 2000, 1, 1), # Reverse Fan of Altruism + (8820014, 2022176, 10000, 10, 10), # Power Elixir (Tradeable) + (8820014, 2020013, 10000, 10, 25), # Reindeer Milk (Tradeable) + (8820014, 2000004, 10000, 10, 25), # Elixir (Tradeable) + (8820014, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8820014, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8820014, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8820014, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8820014, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8820014, 4310018, 6000, 2, 2), # Crusader Coin + (8820014, 4310018, 6000, 2, 2), # Crusader Coin + (8820014, 4310018, 6000, 2, 2), # Crusader Coin + (8820014, 4310018, 6000, 2, 2), # Crusader Coin + (8820014, 4310018, 6000, 2, 2), # Crusader Coin + (8820014, 2048701, 5000, 1, 1), # Rebirth Flame Lv. 120 + (8820014, 1942001, 2500, 1, 1), # Gold Mask + (8820014, 1952001, 2500, 1, 1), # Gold Pendant + (8820014, 1962001, 2500, 1, 1), # Gold Wings + (8820014, 1972001, 2500, 1, 1), # Gold Tail + (8820014, 4001886, 10000, 1, 1), # Intense Power Crystal + (8820014, 1612004, 2500, 1, 1), # Pure Gold Engine + (8820014, 1622004, 2500, 1, 1), # Pure Gold Machine Arm + (8820014, 1632003, 2500, 1, 1), # Pure Gold Machine Leg + (8820014, 1642002, 2500, 1, 1), # Pure Gold Body Frame + (8820014, 1652004, 2500, 1, 1), # Pure Gold Transistor + (8820014, 4021035, 10000, 5, 15), # Grand Spell Essence + (8820014, 4021034, 10000, 5, 15), # Fine Spell Essence + (8820014, 4021033, 10000, 5, 15), # Basic Spell Essence + (8820014, 4021032, 10000, 5, 15), # Mana Crystal + (8820014, 4021031, 10000, 5, 15), # Twisted Time + (8820014, 4021020, 10000, 5, 15), # Confusion Fragment + (8820014, 2431661, 7000, 1, 1), # Pink Bean Soul Shard + (8820014, 2431661, 3500, 1, 1), # Pink Bean Soul Shard + (8820014, 3010323, 1000, 1, 1), # Pink Bean Chair + + # Chaos Pinkbean ID = 8820212 + + (8820212, 1003621, 2000, 1, 1), # Chaos Pink Bean Hat + (8820212, 1003622, 2000, 1, 1), # Black Bean Hat + (8820212, 1052526, 2000, 1, 1), # Chaos Pink Bean Suit + (8820212, 1052527, 2000, 1, 1), # Black Bean Suit + (8820212, 1022232, 3500, 1, 1), # Black Bean Mark + (8820212, 1162025, 6000, 1, 1), # Pink Holy Cup + (8820212, 1132272, 6000, 1, 1), # Golden Clover Belt + (8820212, 1212012, 2000, 1, 1), # Reverse Dead End + (8820212, 1222012, 2000, 1, 1), # Reverse Purple Dragon + (8820212, 1232012, 2000, 1, 1), # Reverse Grim Seeker + (8820212, 1242012, 2000, 1, 1), # Reverse Hefty Head + (8820212, 1252012, 2000, 1, 1), # Reverse Kitty Pride Scepter + (8820212, 1302086, 2000, 1, 1), # Reverse Executioner + (8820212, 1312038, 2000, 1, 1), # Reverse Bardiche + (8820212, 1322061, 2000, 1, 1), # Reverse Allargando + (8820212, 1332075, 2000, 1, 1), # Reverse Pescas + (8820212, 1332076, 2000, 1, 1), # Reverse Killic + (8820212, 1342012, 2000, 1, 1), # Reverse Katara + (8820212, 1362017, 2000, 1, 1), # Reverse Persona + (8820212, 1372045, 2000, 1, 1), # Reverse Enlil Tear + (8820212, 1382059, 2000, 1, 1), # Reverse Aeas Hand + (8820212, 1402047, 2000, 1, 1), # Reverse Nibleheim + (8820212, 1412034, 2000, 1, 1), # Reverse Tabarzin + (8820212, 1422038, 2000, 1, 1), # Reverse Bellocce + (8820212, 1432049, 2000, 1, 1), # Reverse Alchupiz + (8820212, 1442067, 2000, 1, 1), # Reverse Diesra + (8820212, 1452059, 2000, 1, 1), # Reverse Engaw + (8820212, 1462051, 2000, 1, 1), # Reverse Black Beauty + (8820212, 1472071, 2000, 1, 1), # Reverse Lampion + (8820212, 1482024, 2000, 1, 1), # Reverse Equinox + (8820212, 1492025, 2000, 1, 1), # Reverse Blindness + (8820212, 1522016, 2000, 1, 1), # Reverse Blooms + (8820212, 1532016, 2000, 1, 1), # Reverse Eradicator + (8820212, 1542012, 2000, 1, 1), # Reverse Great Sword of Creation + (8820212, 1552012, 2000, 1, 1), # Reverse Fan of Altruism + (8820212, 2022176, 10000, 40, 40), # Power Elixir (Tradeable) + (8820212, 2020013, 10000, 10, 25), # Reindeer Milk (Tradeable) + (8820212, 2000004, 10000, 10, 25), # Elixir (Tradeable) + (8820212, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8820212, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8820212, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8820212, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8820212, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8820212, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8820212, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8820212, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8820212, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8820212, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8820212, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8820212, 4310018, 6000, 2, 2), # Crusader Coin + (8820212, 4310018, 6000, 2, 2), # Crusader Coin + (8820212, 4310018, 6000, 2, 2), # Crusader Coin + (8820212, 4310018, 6000, 2, 2), # Crusader Coin + (8820212, 4310018, 6000, 2, 2), # Crusader Coin + (8820212, 2048702, 5000, 1, 1), # Rebirth Flame Lv. 130 + (8820212, 1942001, 2500, 1, 1), # Gold Mask + (8820212, 1952001, 2500, 1, 1), # Gold Pendant + (8820212, 1962001, 2500, 1, 1), # Gold Wings + (8820212, 1972001, 2500, 1, 1), # Gold Tail + (8820212, 4001886, 10000, 1, 1), # Intense Power Crystal + (8820212, 1612004, 2500, 1, 1), # Pure Gold Engine + (8820212, 1622004, 2500, 1, 1), # Pure Gold Machine Arm + (8820212, 1632003, 2500, 1, 1), # Pure Gold Machine Leg + (8820212, 1642002, 2500, 1, 1), # Pure Gold Body Frame + (8820212, 1652004, 2500, 1, 1), # Pure Gold Transistor + (8820212, 4021035, 10000, 5, 15), # Grand Spell Essence + (8820212, 4021034, 10000, 5, 15), # Fine Spell Essence + (8820212, 4021033, 10000, 5, 15), # Basic Spell Essence + (8820212, 4021032, 10000, 5, 15), # Mana Crystal + (8820212, 4021031, 10000, 5, 15), # Twisted Time + (8820212, 4021020, 10000, 5, 15), # Confusion Fragment + (8820212, 2431661, 8000, 1, 1), # Pink Bean Soul Shard + (8820212, 2431661, 4000, 1, 1), # Pink Bean Soul Shard + (8820212, 2431661, 2000, 1, 1), # Pink Bean Soul Shard + (8820212, 3010323, 2000, 1, 1), # Pink Bean Chair + (8820212, 2433981, 200, 1, 1), # Pink Bean Damage Skin (Tradeable) + + # Easy VonLeon - ID = 8840007 + + (8840007, 2048701, 5000, 1, 1), # Rebirth Flame Lv. 120 + (8840007, 1942001, 2500, 1, 1), # Gold Mask + (8840007, 1952001, 2500, 1, 1), # Gold Pendant + (8840007, 1962001, 2500, 1, 1), # Gold Wings + (8840007, 1972001, 2500, 1, 1), # Gold Tail + (8840007, 4001886, 10000, 1, 1), # Intense Power Crystal + (8840007, 1612004, 2500, 1, 1), # Pure Gold Engine + (8840007, 1622004, 2500, 1, 1), # Pure Gold Machine Arm + (8840007, 1632003, 2500, 1, 1), # Pure Gold Machine Leg + (8840007, 1642002, 2500, 1, 1), # Pure Gold Body Frame + (8840007, 1652004, 2500, 1, 1), # Pure Gold Transistor + (8840007, 4021035, 10000, 5, 15), # Grand Spell Essence + (8840007, 4021034, 10000, 5, 15), # Fine Spell Essence + (8840007, 4021033, 10000, 5, 15), # Basic Spell Essence + (8840007, 4021032, 10000, 5, 15), # Mana Crystal + (8840007, 4021031, 10000, 5, 15), # Twisted Time + (8840007, 4021020, 10000, 5, 15), # Confusion Fragment + (8840007, 4310010, 8000, 1, 1), # Royal Lion King Medal + (8840007, 4310010, 8000, 1, 1), # Royal Lion King Medal + (8840007, 2512264, 2500, 1, 1), # Special Von Leon Transform Potion Recipe + (8840007, 4001832, 10000, 20, 60), # Spell Trace + (8840007, 4001832, 10000, 20, 60), # Spell Trace + (8840007, 4001832, 10000, 20, 60), # Spell Trace + (8840007, 2022176, 10000, 10, 10), # Power Elixir (Tradeable) + (8840007, 2020013, 10000, 10, 25), # Reindeer Milk (Tradeable) + (8840007, 2000004, 10000, 10, 25), # Elixir (Tradeable) + (8840007, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8840007, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8840007, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8840007, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8840007, 4310018, 6000, 2, 2), # Crusader Coin + (8840007, 4310018, 6000, 2, 2), # Crusader Coin + (8840007, 4310018, 6000, 2, 2), # Crusader Coin + (8840007, 3010188, 1000, 1, 1), # Von Leon Chair + (8840007, 2431662, 6000, 1, 1), # Von Leon Soul Shard + (8840007, 2431662, 3000, 1, 1), # Von Leon Soul Shard + + # Normal/Hard VonLeon - ID = 8840000 + + (8840000, 1004234, 1000, 1, 1), # Royal Von Leon Warrior Helm + (8840000, 1004235, 1000, 1, 1), # Royal Von Leon Magician Helm + (8840000, 1004236, 1000, 1, 1), # Royal Von Leon Sentinel Helm + (8840000, 1004237, 1000, 1, 1), # Royal Von Leon Chaser Helm + (8840000, 1004238, 1000, 1, 1), # Royal Von Leon Skipper Helm + (8840000, 1102713, 1000, 1, 1), # Royal Von Leon Warrior Cape + (8840000, 1102714, 1000, 1, 1), # Royal Von Leon Mage Cape + (8840000, 1102715, 1000, 1, 1), # Royal Von Leon Sentinel Cape + (8840000, 1102716, 1000, 1, 1), # Royal Von Leon Chaser Cape + (8840000, 1102717, 1000, 1, 1), # Royal Von Leon Skipper Cape + (8840000, 1082613, 1000, 1, 1), # Royal Von Leon Warrior Hands + (8840000, 1082614, 1000, 1, 1), # Royal Von Leon Mage Hands + (8840000, 1082615, 1000, 1, 1), # Royal Von Leon Sentinel Hands + (8840000, 1082616, 1000, 1, 1), # Royal Von Leon Chaser Hands + (8840000, 1082617, 1000, 1, 1), # Royal Von Leon Skipper Hands + (8840000, 1052804, 1000, 1, 1), # Royal Von Leon Warrior Suit + (8840000, 1052805, 1000, 1, 1), # Royal Von Leon Mage Suit + (8840000, 1052806, 1000, 1, 1), # Royal Von Leon Sentinel Suit + (8840000, 1052807, 1000, 1, 1), # Royal Von Leon Chaser Suit + (8840000, 1052808, 1000, 1, 1), # Royal Von Leon Skipper Suit + (8840000, 1072972, 1000, 1, 1), # Royal Von Leon Warrior Boots + (8840000, 1072973, 1000, 1, 1), # Royal Von Leon Mage Boots + (8840000, 1072974, 1000, 1, 1), # Royal Von Leon Sentinel Boots + (8840000, 1072975, 1000, 1, 1), # Royal Von Leon Chaser Boots + (8840000, 1072976, 1000, 1, 1), # Royal Von Leon Skipper Boots + (8840000, 1212102, 1000, 1, 1), # Royal Von Leon Glorier + (8840000, 1222096, 1000, 1, 1), # Royal Von Leon White Worm + (8840000, 1232096, 1000, 1, 1), # Royal Von Leon Blood Fury + (8840000, 1242103, 1000, 1, 1), # Royal Von Leon Energy Chain + (8840000, 1252087, 1000, 1, 1), # Royal Von Leon Stick + (8840000, 1262014, 1000, 1, 1), # Royal Von Leon Psy-limiter + (8840000, 1272012, 1000, 1, 1), # Royal Von Leon Chain + (8840000, 1282012, 1000, 1, 1), # Royal Von Leon Lucent Gauntlet + (8840000, 1302316, 1000, 1, 1), # Royal Von Leon Saber + (8840000, 1312186, 1000, 1, 1), # Royal Von Leon Axe + (8840000, 1322237, 1000, 1, 1), # Royal Von Leon Hammer + (8840000, 1332261, 1000, 1, 1), # Royal Von Leon Dagger + (8840000, 1362122, 1000, 1, 1), # Royal Von Leon Cane + (8840000, 1372208, 1000, 1, 1), # Royal Von Leon Wand + (8840000, 1382246, 1000, 1, 1), # Royal Von Leon Staff + (8840000, 1402237, 1000, 1, 1), # Royal Von Leon Sword + (8840000, 1412179, 1000, 1, 1), # Royal Von Leon Two-Handed Axe + (8840000, 1422186, 1000, 1, 1), # Royal Von Leon Two-Handed Hammer + (8840000, 1432201, 1000, 1, 1), # Royal Von Leon Spear + (8840000, 1442255, 1000, 1, 1), # Royal Von Leon Hellslayer + (8840000, 1452239, 1000, 1, 1), # Royal Von Leon Bow + (8840000, 1462226, 1000, 1, 1), # Royal Von Leon Crossbow + (8840000, 1472248, 1000, 1, 1), # Royal Von Leon Guards + (8840000, 1482203, 1000, 1, 1), # Royal Von Leon Claw + (8840000, 1492213, 1000, 1, 1), # Royal Von Leon Pistol + (8840000, 1522125, 1000, 1, 1), # Royal Von Leon Dual Bowguns + (8840000, 1532131, 1000, 1, 1), # Royal Von Leon Siege Gun + (8840000, 1542102, 1000, 1, 1), # Royal Von Leon Katana + (8840000, 1552103, 1000, 1, 1), # Royal Von Leon Fan + (8840000, 1582014, 1000, 1, 1), # Royal Von Leon Ymir + (8840000, 1032227, 3000, 1, 1), # Ifia Earrings + (8840000, 1113089, 3000, 1, 1), # Ifia Ring + (8840000, 1122274, 3000, 1, 1), # Ifia Necklace + (8840000, 2048706, 5000, 1, 1), # Rebirth Flame Lv. 130 + (8840000, 1942001, 2500, 1, 1), # Gold Mask + (8840000, 1952001, 2500, 1, 1), # Gold Pendant + (8840000, 1962001, 2500, 1, 1), # Gold Wings + (8840000, 1972001, 2500, 1, 1), # Gold Tail + (8840000, 4001886, 10000, 1, 1), # Intense Power Crystal + (8840000, 1612004, 2500, 1, 1), # Pure Gold Engine + (8840000, 1622004, 2500, 1, 1), # Pure Gold Machine Arm + (8840000, 1632003, 2500, 1, 1), # Pure Gold Machine Leg + (8840000, 1642002, 2500, 1, 1), # Pure Gold Body Frame + (8840000, 1652004, 2500, 1, 1), # Pure Gold Transistor + (8840000, 4021035, 10000, 5, 15), # Grand Spell Essence + (8840000, 4021034, 10000, 5, 15), # Fine Spell Essence + (8840000, 4021033, 10000, 5, 15), # Basic Spell Essence + (8840000, 4021032, 10000, 5, 15), # Mana Crystal + (8840000, 4021031, 10000, 5, 15), # Twisted Time + (8840000, 4021020, 10000, 5, 15), # Confusion Fragment + (8840000, 4310010, 8000, 1, 1), # Royal Lion King Medal + (8840000, 4310010, 8000, 1, 1), # Royal Lion King Medal + (8840000, 4310010, 8000, 1, 1), # Royal Lion King Medal + (8840000, 4310010, 8000, 1, 1), # Royal Lion King Medal + (8840000, 4310010, 8000, 1, 1), # Royal Lion King Medal + (8840000, 2512264, 3500, 1, 1), # Special Von Leon Transform Potion Recipe + (8840000, 4001832, 10000, 20, 60), # Spell Trace + (8840000, 4001832, 10000, 20, 60), # Spell Trace + (8840000, 4001832, 10000, 20, 60), # Spell Trace + (8840000, 2022176, 10000, 10, 10), # Power Elixir (Tradeable) + (8840000, 2020013, 10000, 10, 25), # Reindeer Milk (Tradeable) + (8840000, 2000004, 10000, 10, 25), # Elixir (Tradeable) + (8840000, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8840000, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8840000, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8840000, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8840000, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8840000, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8840000, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8840000, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8840000, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8840000, 4310018, 6000, 2, 2), # Crusader Coin + (8840000, 4310018, 6000, 2, 2), # Crusader Coin + (8840000, 4310018, 6000, 2, 2), # Crusader Coin + (8840000, 4310018, 6000, 2, 2), # Crusader Coin + (8840000, 4310018, 6000, 2, 2), # Crusader Coin + (8840000, 3010188, 2000, 1, 1), # Von Leon Chair + (8840000, 2431662, 7000, 1, 1), # Von Leon Soul Shard + (8840000, 2431662, 4000, 1, 1), # Von Leon Soul Shard + (8840000, 2431662, 2000, 1, 1), # Von Leon Soul Shard + + # Easy Zakum ID = 8800022 + + (8800022, 1372049, 10000, 1, 1), # Zakum Tree Branch + (8800022, 1002357, 10000, 1, 1), # Zakum Helmet + (8800022, 2431710, 5000, 1, 1), # Zakum Soul Shard + (8800022, 2022176, 10000, 10, 10), # Power Elixir (Tradeable) + (8800022, 2020013, 10000, 10, 25), # Reindeer Milk (Tradeable) + (8800022, 2000004, 10000, 10, 25), # Elixir (Tradeable) + (8800022, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8800022, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8800022, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8800022, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8800022, 4310018, 6000, 2, 2), # Crusader Coin + (8800022, 4310018, 6000, 2, 2), # Crusader Coin + (8800022, 4001083, 10000, 1, 1), # Zakum Certificate + + # Normal Zakum ID = 8800002 + + (8800002, 1372049, 10000, 1, 1), # Zakum Tree Branch + (8800002, 1002357, 10000, 1, 1), # Zakum Helmet + (8800002, 1002357, 8000, 1, 1), # Zakum Helmet + (8800002, 1002357, 6000, 1, 1), # Zakum Helmet + (8800002, 1022231, 4000, 1, 1), # Aquatic Letter Eye Accessory + (8800002, 1012478, 4000, 1, 1), # Condensed Power Crystal + (8800002, 1212098, 1000, 1, 1), # Zakum Poisonic Shining Rod + (8800002, 1222092, 1000, 1, 1), # Zakum Poisonic Soul Shooter + (8800002, 1232092, 1000, 1, 1), # Zakum Poisonic Desperado + (8800002, 1242099, 1000, 1, 1), # Zakum Poisonic Whip Blade + (8800002, 1252083, 1000, 1, 1), # Zakum Poisonic Shining Stick + (8800002, 1262012, 1000, 1, 1), # Zakum Poisonic Psy-limiter + (8800002, 1272020, 1000, 1, 1), # Zakum Poisonic Chain + (8800002, 1282020, 1000, 1, 1), # Zakum Poisonic Lucent Gauntlet + (8800002, 1302312, 1000, 1, 1), # Zakum Poisonic Sword + (8800002, 1312182, 1000, 1, 1), # Zakum Poisonic Axe + (8800002, 1322233, 1000, 1, 1), # Zakum Poisonic Hammer + (8800002, 1332257, 1000, 1, 1), # Zakum Poisonic Dagger + (8800002, 1342097, 1000, 1, 1), # Zakum Poisonic Katara + (8800002, 1362118, 1000, 1, 1), # Zakum Poisonic Cane + (8800002, 1372204, 1000, 1, 1), # Zakum Poisonic Wand + (8800002, 1382242, 1000, 1, 1), # Zakum Poisonic Staff + (8800002, 1402233, 1000, 1, 1), # Zakum Poisonic Two-handed Sword + (8800002, 1412161, 1000, 1, 1), # Zakum Poisonic Two-handed Axe + (8800002, 1422168, 1000, 1, 1), # Zakum Poisonic Sledgehammer + (8800002, 1432197, 1000, 1, 1), # Zakum Poisonic Spear + (8800002, 1442251, 1000, 1, 1), # Zakum Poisonic Polearm + (8800002, 1452235, 1000, 1, 1), # Zakum Poisonic Bow + (8800002, 1462222, 1000, 1, 1), # Zakum Poisonic Crossbow + (8800002, 1472244, 1000, 1, 1), # Zakum Poisonic Guards + (8800002, 1482199, 1000, 1, 1), # Zakum Poisonic Knuckle + (8800002, 1492209, 1000, 1, 1), # Zakum Poisonic Gun + (8800002, 1522121, 1000, 1, 1), # Zakum Poisonic Dual Bowguns + (8800002, 1532127, 1000, 1, 1), # Zakum Poisonic Hand Cannon + (8800002, 1542098, 1000, 1, 1), # Zakum Poisonic Katana + (8800002, 1552099, 1000, 1, 1), # Zakum Poisonic Fan + (8800002, 1582012, 1000, 1, 1), # Zakum Poisonic Arm Cannon + (8800002, 3010333, 2500, 1, 1), # Zakum Chair + (8800002, 2048700, 5000, 1, 1), # Rebirth Flame Lv. 110 + (8800002, 2431710, 8000, 1, 1), # Zakum Soul Shard + (8800002, 2431710, 4000, 1, 1), # Zakum Soul Shard + (8800002, 1942001, 2500, 1, 1), # Gold Mask + (8800002, 1952001, 2500, 1, 1), # Gold Pendant + (8800002, 1962001, 2500, 1, 1), # Gold Wings + (8800002, 1972001, 2500, 1, 1), # Gold Tail + (8800002, 4001886, 10000, 1, 1), # Intense Power Crystal + (8800002, 1612004, 2500, 1, 1), # Pure Gold Engine + (8800002, 1622004, 2500, 1, 1), # Pure Gold Machine Arm + (8800002, 1632003, 2500, 1, 1), # Pure Gold Machine Leg + (8800002, 1642002, 2500, 1, 1), # Pure Gold Body Frame + (8800002, 1652004, 2500, 1, 1), # Pure Gold Transistor + (8800002, 2022176, 10000, 10, 10), # Power Elixir (Tradeable) + (8800002, 2020013, 10000, 10, 25), # Reindeer Milk (Tradeable) + (8800002, 2000004, 10000, 10, 25), # Elixir (Tradeable) + (8800002, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8800002, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8800002, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8800002, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8800002, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8800002, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8800002, 4310018, 6000, 2, 2), # Crusader Coin + (8800002, 4310018, 6000, 2, 2), # Crusader Coin + (8800002, 4310018, 6000, 2, 2), # Crusader Coin + (8800002, 4310018, 6000, 2, 2), # Crusader Coin + (8800002, 4001083, 10000, 1, 1), # Zakum Certificate + + # Chaos Zakum ID = 8800102 + + (8800102, 1372073, 10000, 1, 1), # Chaos Zakum Tree Branch + (8800102, 1003112, 10000, 1, 1), # Chaos Zakum Helmet + (8800102, 1003112, 8000, 1, 1), # Chaos Zakum Helmet + (8800102, 1003112, 6000, 1, 1), # Chaos Zakum Helmet + (8800102, 1004637, 500, 1, 1), # Enraged Zakum Helmet + (8800102, 1102871, 500, 1, 1), # Enraged Zakum Cape + (8800102, 1132296, 500, 1, 1), # Enraged Zakum Belt + (8800102, 1022231, 5000, 1, 1), # Aquatic Letter Eye Accessory + (8800102, 1012478, 5000, 1, 1), # Condensed Power Crystal + (8800102, 1212098, 1500, 1, 1), # Zakum Poisonic Shining Rod + (8800102, 1222092, 1500, 1, 1), # Zakum Poisonic Soul Shooter + (8800102, 1232092, 1500, 1, 1), # Zakum Poisonic Desperado + (8800102, 1242099, 1500, 1, 1), # Zakum Poisonic Whip Blade + (8800102, 1252083, 1500, 1, 1), # Zakum Poisonic Shining Stick + (8800102, 1262012, 1500, 1, 1), # Zakum Poisonic Psy-limiter + (8800102, 1272020, 1500, 1, 1), # Zakum Poisonic Chain + (8800102, 1282020, 1500, 1, 1), # Zakum Poisonic Lucent Gauntlet + (8800102, 1302312, 1500, 1, 1), # Zakum Poisonic Sword + (8800102, 1312182, 1500, 1, 1), # Zakum Poisonic Axe + (8800102, 1322233, 1500, 1, 1), # Zakum Poisonic Hammer + (8800102, 1332257, 1500, 1, 1), # Zakum Poisonic Dagger + (8800102, 1342097, 1500, 1, 1), # Zakum Poisonic Katara + (8800102, 1362118, 1500, 1, 1), # Zakum Poisonic Cane + (8800102, 1372204, 1500, 1, 1), # Zakum Poisonic Wand + (8800102, 1382242, 1500, 1, 1), # Zakum Poisonic Staff + (8800102, 1402233, 1500, 1, 1), # Zakum Poisonic Two-handed Sword + (8800102, 1412161, 1500, 1, 1), # Zakum Poisonic Two-handed Axe + (8800102, 1422168, 1500, 1, 1), # Zakum Poisonic Sledgehammer + (8800102, 1432197, 1500, 1, 1), # Zakum Poisonic Spear + (8800102, 1442251, 1500, 1, 1), # Zakum Poisonic Polearm + (8800102, 1452235, 1500, 1, 1), # Zakum Poisonic Bow + (8800102, 1462222, 1500, 1, 1), # Zakum Poisonic Crossbow + (8800102, 1472244, 1500, 1, 1), # Zakum Poisonic Guards + (8800102, 1482199, 1500, 1, 1), # Zakum Poisonic Knuckle + (8800102, 1492209, 1500, 1, 1), # Zakum Poisonic Gun + (8800102, 1522121, 1500, 1, 1), # Zakum Poisonic Dual Bowguns + (8800102, 1532127, 1500, 1, 1), # Zakum Poisonic Hand Cannon + (8800102, 1542098, 1500, 1, 1), # Zakum Poisonic Katana + (8800102, 1552099, 1500, 1, 1), # Zakum Poisonic Fan + (8800102, 1582012, 1500, 1, 1), # Zakum Poisonic Arm Cannon + (8800102, 3010333, 3500, 1, 1), # Zakum Chair + (8800102, 2048700, 5000, 1, 1), # Rebirth Flame Lv. 110 + (8800102, 2431710, 8000, 1, 1), # Zakum Soul Shard + (8800102, 2431710, 4000, 1, 1), # Zakum Soul Shard + (8800102, 2431710, 2000, 1, 1), # Zakum Soul Shard + (8800102, 1942001, 2500, 1, 1), # Gold Mask + (8800102, 1952001, 2500, 1, 1), # Gold Pendant + (8800102, 1962001, 2500, 1, 1), # Gold Wings + (8800102, 1972001, 2500, 1, 1), # Gold Tail + (8800102, 4001886, 10000, 1, 1), # Intense Power Crystal + (8800102, 1612004, 2500, 1, 1), # Pure Gold Engine + (8800102, 1622004, 2500, 1, 1), # Pure Gold Machine Arm + (8800102, 1632003, 2500, 1, 1), # Pure Gold Machine Leg + (8800102, 1642002, 2500, 1, 1), # Pure Gold Body Frame + (8800102, 1652004, 2500, 1, 1), # Pure Gold Transistor + (8800102, 2022176, 10000, 30, 30), # Power Elixir (Tradeable) + (8800102, 2020013, 10000, 10, 25), # Reindeer Milk (Tradeable) + (8800102, 2000004, 10000, 10, 25), # Elixir (Tradeable) + (8800102, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8800102, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8800102, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8800102, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8800102, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8800102, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8800102, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8800102, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8800102, 4310018, 6000, 2, 2), # Crusader Coin + (8800102, 4310018, 6000, 2, 2), # Crusader Coin + (8800102, 4310018, 6000, 2, 2), # Crusader Coin + (8800102, 4310018, 6000, 2, 2), # Crusader Coin + (8800102, 4310018, 6000, 2, 2), # Crusader Coin + (8800102, 4310018, 6000, 2, 2), # Crusader Coin + (8800102, 4001083, 10000, 1, 1), # Zakum Certificate + + # Princess No Drop ID = 9450022 + + (9450022, 2432755, 8000, 1, 1), # Princess No Gold Jewel Box + (9450022, 2432755, 4000, 1, 1), # Princess No Gold Jewel Box + (9450022, 2432755, 2000, 1, 1), # Princess No Gold Jewel Box + (9450022, 2432754, 10000, 1, 1), # Princess No Silver Jewel Box + (9450022, 2432754, 5000, 1, 1), # Princess No Silver Jewel Box + (9450022, 2432754, 2500, 1, 1), # Princess No Silver Jewel Box + (9450022, 2433103, 10000, 1, 1), # Boss Medal of Honor + (9450022, 2433103, 10000, 1, 1), # Boss Medal of Honor + (9450022, 2433103, 10000, 1, 1), # Boss Medal of Honor + (9450022, 2433103, 10000, 1, 1), # Boss Medal of Honor + (9450022, 2433103, 10000, 1, 1), # Boss Medal of Honor + (9450022, 2433103, 10000, 1, 1), # Boss Medal of Honor + (9450022, 2711000, 10000, 1, 1), # Occult Cube (Tradeable) + (9450022, 2711000, 10000, 1, 1), # Occult Cube (Tradeable) + (9450022, 2711000, 10000, 1, 1), # Occult Cube (Tradeable) + (9450022, 2711000, 10000, 1, 1), # Occult Cube (Tradeable) + (9450022, 2711000, 10000, 1, 1), # Occult Cube (Tradeable) + (9450022, 2711000, 10000, 1, 1), # Occult Cube (Tradeable) + (9450022, 4001832, 10000, 20, 40), # Spell Trace + (9450022, 4001832, 10000, 20, 40), # Spell Trace + (9450022, 4001832, 10000, 20, 40), # Spell Trace + + # Pianus Left = 8520000 + + (8520000, 1942001, 2500, 1, 1), # Gold Mask + (8520000, 1952001, 2500, 1, 1), # Gold Pendant + (8520000, 1962001, 2500, 1, 1), # Gold Wings + (8520000, 1972001, 2500, 1, 1), # Gold Tail + (8520000, 1612004, 2500, 1, 1), # Pure Gold Engine + (8520000, 1622004, 2500, 1, 1), # Pure Gold Machine Arm + (8520000, 1632003, 2500, 1, 1), # Pure Gold Machine Leg + (8520000, 1642002, 2500, 1, 1), # Pure Gold Body Frame + (8520000, 1652004, 2500, 1, 1), # Pure Gold Transistor + (8520000, 4021035, 10000, 5, 15), # Grand Spell Essence + (8520000, 4021034, 10000, 5, 15), # Fine Spell Essence + (8520000, 4021033, 10000, 5, 15), # Basic Spell Essence + (8520000, 4021032, 10000, 5, 15), # Mana Crystal + (8520000, 4001832, 10000, 2, 10), # Spell Trace + (8520000, 4001085, 2500, 1, 1), # Pianus Certificate + (8520000, 2431895, 8000, 1, 1), # Pianus Soul Shard + + # Pianus Right = 8510000 + + (8510000, 1942001, 2500, 1, 1), # Gold Mask + (8510000, 1952001, 2500, 1, 1), # Gold Pendant + (8510000, 1962001, 2500, 1, 1), # Gold Wings + (8510000, 1972001, 2500, 1, 1), # Gold Tail + (8510000, 1612004, 2500, 1, 1), # Pure Gold Engine + (8510000, 1622004, 2500, 1, 1), # Pure Gold Machine Arm + (8510000, 1632003, 2500, 1, 1), # Pure Gold Machine Leg + (8510000, 1642002, 2500, 1, 1), # Pure Gold Body Frame + (8510000, 1652004, 2500, 1, 1), # Pure Gold Transistor + (8510000, 4021035, 10000, 5, 15), # Grand Spell Essence + (8510000, 4021034, 10000, 5, 15), # Fine Spell Essence + (8510000, 4021033, 10000, 5, 15), # Basic Spell Essence + (8510000, 4021032, 10000, 5, 15), # Mana Crystal + (8510000, 4001832, 10000, 2, 10), # Spell Trace + (8510000, 4001085, 2500, 1, 1), # Pianus Certificate + (8510000, 2431895, 7000, 1, 1), # Pianus Soul Shard + + # Ephenia = 5250007 + + (5250007, 2431752, 10000, 1, 1), # Ephenia Soul Shard + (5250007, 1112683, 5000, 1, 1), # Ephenia Ring + (5250007, 2022176, 10000, 10, 10), # Power Elixir (Tradeable) + (5250007, 2020013, 10000, 10, 25), # Reindeer Milk (Tradeable) + (5250007, 2000004, 10000, 10, 25), # Elixir (Tradeable) + + # Black Knight = 8220022 + + (8220022, 2433834, 10000, 1, 1), # Rare Treasure Chest + (8220022, 2433834, 7000, 1, 1), # Rare Treasure Chest + (8220022, 2433834, 3500, 1, 1), # Rare Treasure Chest + (8220022, 2433834, 1500, 1, 1), # Rare Treasure Chest + + # Mad Mage = 8220023 + + (8220023, 2433834, 10000, 1, 1), # Rare Treasure Chest + (8220023, 2433834, 7000, 1, 1), # Rare Treasure Chest + (8220023, 2433834, 3500, 1, 1), # Rare Treasure Chest + (8220023, 2433834, 1500, 1, 1), # Rare Treasure Chest + + # Rampant Cyborg = 8220024 + + (8220024, 2433834, 10000, 1, 1), # Rare Treasure Chest + (8220024, 2433834, 7000, 1, 1), # Rare Treasure Chest + (8220024, 2433834, 3500, 1, 1), # Rare Treasure Chest + (8220024, 2433834, 1500, 1, 1), # Rare Treasure Chest + + # Rampant Cyborg = 8220025 + + (8220025, 2433834, 10000, 1, 1), # Rare Treasure Chest + (8220025, 2433834, 7000, 1, 1), # Rare Treasure Chest + (8220025, 2433834, 3500, 1, 1), # Rare Treasure Chest + (8220025, 2433834, 1500, 1, 1), # Rare Treasure Chest + + # Bad Brawler = 8220026 + + (8220026, 2433834, 10000, 1, 1), # Rare Treasure Chest + (8220026, 2433834, 7000, 1, 1), # Rare Treasure Chest + (8220026, 2433834, 3500, 1, 1), # Rare Treasure Chest + (8220026, 2433834, 1500, 1, 1), # Rare Treasure Chest + + # Gollux Mobs + + (9390624, 4310098, 5000, 1, 1), # Gollux Penny + (9390624, 2432091, 250, 1, 1), # Gollux Head Teleport Rock + (9390624, 2432092, 250, 1, 1), # Gollux Left Shoulder Teleport Rock + (9390624, 2432093, 250, 1, 1), # Gollux Right Shoulder Teleport Rock + (9390625, 4310098, 5000, 1, 1), # Gollux Penny + (9390625, 2432091, 250, 1, 1), # Gollux Head Teleport Rock + (9390625, 2432092, 250, 1, 1), # Gollux Left Shoulder Teleport Rock + (9390625, 2432093, 250, 1, 1), # Gollux Right Shoulder Teleport Rock + (9390634, 4310098, 5000, 1, 1), # Gollux Penny + (9390634, 2432091, 250, 1, 1), # Gollux Head Teleport Rock + (9390634, 2432092, 250, 1, 1), # Gollux Left Shoulder Teleport Rock + (9390634, 2432093, 250, 1, 1), # Gollux Right Shoulder Teleport Rock + (9390637, 4310098, 5000, 1, 1), # Gollux Penny + (9390637, 2432091, 250, 1, 1), # Gollux Head Teleport Rock + (9390637, 2432092, 250, 1, 1), # Gollux Left Shoulder Teleport Rock + (9390637, 2432093, 250, 1, 1), # Gollux Right Shoulder Teleport Rock + (9390643, 4310098, 5000, 1, 1), # Gollux Penny + (9390643, 2432091, 250, 1, 1), # Gollux Head Teleport Rock + (9390643, 2432092, 250, 1, 1), # Gollux Left Shoulder Teleport Rock + (9390643, 2432093, 250, 1, 1), # Gollux Right Shoulder Teleport Rock + (9390640, 4310098, 5000, 1, 1), # Gollux Penny + (9390640, 2432091, 250, 1, 1), # Gollux Head Teleport Rock + (9390640, 2432092, 250, 1, 1), # Gollux Left Shoulder Teleport Rock + (9390640, 2432093, 250, 1, 1), # Gollux Right Shoulder Teleport Rock + + # Gollux Right Shoulder = 9390610 + + (9390612, 4310097, 10000, 1, 1), # Gollux Coin + (9390610, 4310098, 10000, 1, 1), # Gollux Penny + (9390610, 4310098, 10000, 1, 1), # Gollux Penny + (9390610, 4310098, 10000, 1, 1), # Gollux Penny + (9390610, 4310098, 10000, 1, 1), # Gollux Penny + (9390610, 4310098, 10000, 1, 1), # Gollux Penny + (9390610, 4310098, 10000, 1, 1), # Gollux Penny + (9390610, 4001832, 10000, 10, 30), # Spell Trace + (9390610, 2022176, 10000, 10, 20), # Power Elixir (Tradeable) + (9390610, 2022176, 10000, 10, 20), # Power Elixir (Tradeable) + (9390610, 2022176, 10000, 10, 20), # Power Elixir (Tradeable) + (9390610, 2432091, 250, 1, 1), # Gollux Head Teleport Rock + (9390610, 2432092, 250, 1, 1), # Gollux Left Shoulder Teleport Rock + (9390610, 2432093, 250, 1, 1), # Gollux Right Shoulder Teleport Rock + + # Gollux Left Shoulder = 9390611 + + (9390612, 4310097, 10000, 1, 1), # Gollux Coin + (9390611, 4310098, 10000, 1, 1), # Gollux Penny + (9390611, 4310098, 10000, 1, 1), # Gollux Penny + (9390611, 4310098, 10000, 1, 1), # Gollux Penny + (9390611, 4310098, 10000, 1, 1), # Gollux Penny + (9390611, 4310098, 10000, 1, 1), # Gollux Penny + (9390611, 4310098, 10000, 1, 1), # Gollux Penny + (9390611, 4001832, 10000, 10, 30), # Spell Trace + (9390611, 2022176, 10000, 10, 20), # Power Elixir (Tradeable) + (9390611, 2022176, 10000, 10, 20), # Power Elixir (Tradeable) + (9390611, 2022176, 10000, 10, 20), # Power Elixir (Tradeable) + (9390611, 2432091, 250, 1, 1), # Gollux Head Teleport Rock + (9390611, 2432092, 250, 1, 1), # Gollux Left Shoulder Teleport Rock + (9390611, 2432093, 250, 1, 1), # Gollux Right Shoulder Teleport Rock + + # Gollux Abdomen = 9390612 + + (9390612, 4310097, 10000, 1, 1), # Gollux Coin + (9390612, 4310098, 10000, 1, 1), # Gollux Penny + (9390612, 4310098, 10000, 1, 1), # Gollux Penny + (9390612, 4310098, 10000, 1, 1), # Gollux Penny + (9390612, 4310098, 10000, 1, 1), # Gollux Penny + (9390612, 4310098, 10000, 1, 1), # Gollux Penny + (9390612, 4310098, 10000, 1, 1), # Gollux Penny + (9390612, 4001832, 10000, 10, 30), # Spell Trace + (9390612, 2022176, 10000, 10, 20), # Power Elixir (Tradeable) + (9390612, 2022176, 10000, 10, 20), # Power Elixir (Tradeable) + (9390612, 2022176, 10000, 10, 20), # Power Elixir (Tradeable) + (9390612, 2432091, 250, 1, 1), # Gollux Head Teleport Rock + (9390612, 2432092, 250, 1, 1), # Gollux Left Shoulder Teleport Rock + (9390612, 2432093, 250, 1, 1), # Gollux Right Shoulder Teleport Rock + + # Giant Monster Gloom = 8644650 + + (8644650, 4001893, 10000, 10, 20), # Spark of Determination + (8644650, 2048708, 5000, 1, 1), # Rebirth Flame Lv. 150 + (8644650, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8644650, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8644650, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8644650, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8644650, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8644650, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8644650, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8644650, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8644650, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8644650, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8644650, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8644650, 4001886, 10000, 1, 1), # Intense Power Crystal + (8644650, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8644650, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8644650, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8644650, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8644650, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8644650, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8644650, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8644650, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8644650, 4310018, 6000, 2, 2), # Crusader Coin + (8644650, 4310018, 6000, 2, 2), # Crusader Coin + (8644650, 4310018, 6000, 2, 2), # Crusader Coin + (8644650, 4310018, 6000, 2, 2), # Crusader Coin + (8644650, 4310018, 6000, 2, 2), # Crusader Coin + (8644650, 4310018, 6000, 2, 2), # Crusader Coin + (8644650, 4310018, 6000, 2, 2), # Crusader Coin + (8644650, 4310018, 6000, 2, 2), # Crusader Coin + (8644650, 4021031, 10000, 125, 250), # Twisted Time + (8644650, 2022176, 10000, 50, 50), # Power Elixir (Tradeable) + (8644650, 2020013, 10000, 10, 25), # Reindeer Milk (Tradeable) + (8644650, 2000004, 10000, 10, 25), # Elixir (Tradeable) + + # Darknell = 8645009 + + (8645009, 4001893, 10000, 10, 20), # Spark of Determination + (8645009, 2048708, 5000, 1, 1), # Rebirth Flame Lv. 150 + (8645009, 2439568, 8000, 1, 1), # Darknell Soul Shard + (8645009, 2439568, 6000, 1, 1), # Darknell Soul Shard + (8645009, 2439568, 4000, 1, 1), # Darknell Soul Shard + (8645009, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8645009, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8645009, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8645009, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8645009, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8645009, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8645009, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8645009, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8645009, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8645009, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8645009, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8645009, 4001886, 10000, 1, 1), # Intense Power Crystal + (8645009, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8645009, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8645009, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8645009, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8645009, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8645009, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8645009, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8645009, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8645009, 4310018, 6000, 2, 2), # Crusader Coin + (8645009, 4310018, 6000, 2, 2), # Crusader Coin + (8645009, 4310018, 6000, 2, 2), # Crusader Coin + (8645009, 4310018, 6000, 2, 2), # Crusader Coin + (8645009, 4310018, 6000, 2, 2), # Crusader Coin + (8645009, 4310018, 6000, 2, 2), # Crusader Coin + (8645009, 4310018, 6000, 2, 2), # Crusader Coin + (8645009, 4310018, 6000, 2, 2), # Crusader Coin + (8645009, 4021031, 10000, 125, 250), # Twisted Time + (8645009, 2022176, 10000, 50, 50), # Power Elixir (Tradeable) + (8645009, 2020013, 10000, 10, 25), # Reindeer Milk (Tradeable) + (8645009, 2000004, 10000, 10, 25), # Elixir (Tradeable) + + # Julieta drop box = 9402282 + + (8645009, 2048708, 5000, 1, 1), # Rebirth Flame Lv. 150 + (8645009, 2048702, 5000, 1, 1), # Rebirth Flame Lv. 130 + (8645009, 2048701, 5000, 1, 1), # Rebirth Flame Lv. 120 + (8645009, 2048700, 5000, 1, 1), # Rebirth Flame Lv. 110 + (8645009, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8645009, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8645009, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8645009, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8645009, 2433103, 10000, 1, 1), # Boss Medal of Honor + (8645009, 4001886, 10000, 1, 1), # Intense Power Crystal + (8645009, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8645009, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8645009, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8645009, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8645009, 2711000, 3500, 1, 1), # Occult Cube (Tradeable) + (8645009, 4310018, 6000, 2, 2), # Crusader Coin + (8645009, 4310018, 6000, 2, 2), # Crusader Coin + (8645009, 4310018, 6000, 2, 2), # Crusader Coin + (8645009, 4310018, 6000, 2, 2), # Crusader Coin + (8645009, 4310018, 6000, 2, 2), # Crusader Coin + (8645009, 4021031, 10000, 125, 250), # Twisted Time + (8645009, 2022176, 10000, 50, 50), # Power Elixir (Tradeable) + (8645009, 2020013, 10000, 10, 25), # Reindeer Milk (Tradeable) + (8645009, 2000004, 10000, 10, 25), # Elixir (Tradeable) + (8645009, 2512062, 2500, 1, 1), # Advanced Blessing Potion Recipe + (8645009, 2512066, 2500, 1, 1), # Advanced Luck Boost Potion Recipe + (8645009, 2512291, 2500, 1, 1), # Invincibility Potion Recipe + (8645009, 2512292, 2500, 1, 1), # EXP Accumulation Potion Recipe + (8645009, 2439500, 3500, 1, 1), # Eyeful Armor Coupon (Special) + (8645009, 2439500, 3500, 1, 1), # Eyeful Armor Coupon (Special) + (8645009, 2439500, 3500, 1, 1), # Eyeful Armor Coupon (Special) + (8645009, 2439500, 3500, 1, 1), # Eyeful Armor Coupon (Special) + (8645009, 2439500, 3500, 1, 1), # Eyeful Armor Coupon (Special) + (8645009, 2439500, 3500, 1, 1), # Eyeful Armor Coupon (Special) + (8645009, 2439500, 3500, 1, 1), # Eyeful Armor Coupon (Special) + (8645009, 2439500, 3500, 1, 1), # Eyeful Armor Coupon (Special) + (8645009, 2439500, 3500, 1, 1), # Eyeful Armor Coupon (Special) + (8645009, 2439500, 3500, 1, 1), # Eyeful Armor Coupon (Special) + + # Pathfinder intro + (2300200, 4036523, 5000, 1, 1), + + + # Dummy + (0, 0, 0, 0, 0); + + + + + + diff --git a/sql/3 - InitTables_cashshop.sql b/sql/3 - InitTables_cashshop.sql new file mode 100755 index 0000000..3e8102c --- /dev/null +++ b/sql/3 - InitTables_cashshop.sql @@ -0,0 +1,9182 @@ +drop table if exists cs_categories; +drop table if exists cs_items; + +create table cs_categories ( + id int not null auto_increment, + idx int, + name varchar(255), + flag int, + parentIdx int, + stock int, + primary key (id) +); + +create table cs_items ( + id int not null auto_increment, + itemID int not null, + stock int default 1, + shopItemFlag int default 0, + idk1 int default 0, + idk2 int default 0, + oldPrice int default 0, + newPrice int default 0, + idkTime1 datetime, + idkTime2 datetime, + idkTime3 datetime, + idkTime4 datetime, + idk3 int default 0, + bundleQuantity int default 0, + availableDays int default 0, + buyableWithMaplePoints smallint default 1, + buyableWithCredit smallint default 1, + buyableWithPrepaid smallint default 1, + likable smallint default 1, + meso smallint default 0, + favoritable smallint default 1, + gender int default 2, + likes int default 0, + requiredLevel int default 0, + idk10 varchar(255), + idk11 int default 0, + idk13 int default 0, + idk14 int default 0, + category varchar(255), + primary key (id) +); + +insert into `cs_categories` (`idx`, `name`, `parentIdx`, `stock`) values ('2000000', 'Favourite', '0', '100'), + + +('1010000', 'Special Promotions', '0', '100'), +('1010100', 'New Arrivals', '0', '100'), +('1010200', 'Discounted', '0', '100'), +('1010300', 'Limited Time', '0', '100'), +('1010400', 'Limited Quantity', '0', '100'), +('1010500', 'Daily Deals', '0', '100'), +('1010600', 'Maple Rewards Shop', '0', '100'), + + +('1020000', 'Time Savers', '0', '100'), +('1020100', 'Teleport Rocks', '0', '100'), +('1020200', 'Item Stores', '0', '100'), +('1020300', 'Quest Helpers', '0', '100'), +('1020400', 'Dungeon Passes', '0', '100'), + + +('1030000', 'Random Rewards', '0', '100'), +('1030100', 'Gachapon Tickets', '0', '100'), +('1030200', 'Surprise Boxes', '0', '100'), +('1030300', 'Special Items', '0', '100'), +('1030400', 'Meso Sacks', '0', '100'), + + +('1040000', 'Equipment Modifications', '0', '100'), +('1040100', 'Miracle Cubes', '0', '100'), +('1040200', 'Scrolls', '0', '100'), +('1040300', 'Upgrade Slots', '0', '100'), +('1040400', 'Trade', '0', '100'), +('1040500', 'Other', '0', '100'), +('1040501', 'Item Tag', '0', '100'), +('1040502', 'Item Guards', '0', '100'), +('1040600', 'Duration', '0', '100'), +('1040700', 'Bypass Keys', '0', '100'), +('1040800', 'Fusion Anvils', '0', '100'), + + +('1050000', 'Character Modifications', '0', '100'), +('1050100', 'SP/AP modifications', '0', '100'), +('1050200', 'EXP Coupons', '0', '100'), +('1050300', 'Drop Coupons', '0', '100'), +('1050400', 'Inventory slots', '0', '100'), +('1050500', 'Skill Modifications', '0', '100'), +('1050600', 'Protection', '0', '100'), +('1050700', 'Wedding', '0', '100'), +('1050800', 'Other', '0', '100'), +('1050900', 'Mount', '0', '100'), + + +('1060000', 'Equipment', '0', '100'), +('1060100', 'Weapon', '0', '100'), +('1060200', 'Weapon 2', '0', '100'), +('1060300', 'Weapon 3', '0', '100'), +('1060400', 'Weapon 4', '0', '100'), +('1060500', 'Hat', '0', '100'), +('1060600', 'Hat 2', '0', '100'), +('1060700', 'Hat 3', '0', '100'), +('1060800', 'Hat 4', '0', '100'), +('1060900', 'Hat 5', '0', '100'), +('1061000', 'Hat 6', '0', '100'), +('1061100', 'Hat 7', '0', '100'), +('1061200', 'Hat 8', '0', '100'), +('1061300', 'Face', '0', '100'), +('1061400', 'Eye', '0', '100'), +('1061500', 'Accessory', '0', '100'), +('1061600', 'Earrings', '0', '100'), +('1061700', 'Overall', '0', '100'), +('1061800', 'Overall 2', '0', '100'), +('1061900', 'Overall 3', '0', '100'), +('1062000', 'Overall 4', '0', '100'), +('1062100', 'Overall 5', '0', '100'), +('1062200', 'Overall 6', '0', '100'), +('1062300', 'Top', '0', '100'), +('1062400', 'Top 2', '0', '100'), +('1062500', 'Bottom', '0', '100'), +('1062600', 'Bottom 2', '0', '100'), +('1062700', 'Shoes', '0', '100'), +('1062800', 'Shoes 2', '0', '100'), +('1062900', 'Shoes 3', '0', '100'), +('1063000', 'Glove', '0', '100'), +('1063100', 'Ring', '0', '100'), +('1063200', 'Ring 2', '0', '100'), +('1063300', 'Cape', '0', '100'), +('1063400', 'Cape 2', '0', '100'), +('1063500', 'Cape 3', '0', '100'), + + +('1064000', 'Transparent', '0', '100'), + + +('1070000', 'Appearance', '0', '100'), +('1070100', 'Beauty Parlor', '0', '100'), +('1070101', 'Hair', '0', '100'), +('1070102', 'Face', '0', '100'), +('1070103', 'Skin', '0', '100'), +('1070200', 'Facial Expressions', '0', '100'), +('1070300', 'Effect', '0', '100'), +('1070400', 'Transformations', '0', '100'), +('1070500', 'Special', '0', '100'), + + +('1080000', 'Pet', '0', '100'), +('1080100', 'Pets', '0', '100'), +('1080200', 'Pets 2', '0', '100'), +('1080300', 'Pet Appearance', '0', '100'), +('1080400', 'Pet Appearance 2', '0', '100'), +('1080500', 'Pet Use', '0', '100'), +('1080600', 'Pet Food', '0', '100'), +('1080700', 'Pet Skills', '0', '100'), + + +('1090000', 'Messenger and Social', '0', '100'), +('1090100', 'Megaphones', '0', '100'), +('1090200', 'Messengers', '0', '100'), +('1090300', 'Weather Effects', '0', '100'), +('1090301', 'Stats', '0', '100'), +('1090302', 'Non-Stat', '0', '100'), +('1090400', 'Other', '0', '100'); + + + + + +/* TIME SAVERS */ + +/*Page 1*/ +insert into `cs_items` (`itemID`, `newPrice`, `category`) values ('5040004', '9900', 'Teleport Rocks'), /*Hyper Teleport Rock*/ + + + +/*Page 1*/ +('5450004', '1000', 'Item Stores'), /*Traveling Merchant (30-day)*/ +('5450005', '1000', 'Item Stores'), /*Portable Storage (30-day)*/ +('5450006', '400', 'Item Stores'), /*Traveling Merchant (1-day)*/ +('5450008', '400', 'Item Stores'), /*Portable Storage (1-day)*/ + + + +/*Page 1*/ +('5252030', '300', 'Dungeon Passes'); /*Monster Park Additional Entry Ticket*/ + + + + + +/* RANDOM REWARDS */ + +/*Page 1*/ +insert into `cs_items` (`itemID`, `newPrice`, `category`) values ('5680021', '2500', 'Gachapon Tickets'); /*Chair Gachapon Ticket*/ +insert into `cs_items` (`itemID`, `newPrice`, `category`, `bundleQuantity`) values ('5680021', '25000', 'Gachapon Tickets', '11'); /*Chair Gachapon Ticket (11)*/ +insert into `cs_items` (`itemID`, `newPrice`, `category`) values ('5451000', '1050', 'Gachapon Tickets'); /*Remote Gachapon Ticket*/ +insert into `cs_items` (`itemID`, `newPrice`, `category`, `bundleQuantity`) values ('5451000', '10500', 'Gachapon Tickets', '11'); /*Remote Gachapon Ticket (11)*/ +insert into `cs_items` (`itemID`, `newPrice`, `category`, `bundleQuantity`) values ('5220000', '10000', 'Gachapon Tickets', '11'); /*Gachapon Ticket (11)*/ +insert into `cs_items` (`itemID`, `newPrice`, `category`) values ('5220000', '1000', 'Gachapon Tickets'), /*Gachapon Ticket*/ + + + +/*Page 1*/ +('5222060', '3400', 'Surprise Boxes'); /*Premium Surprise Style Box*/ +insert into `cs_items` (`itemID`, `newPrice`, `category`, `bundleQuantity`) values ('5222060', '34000', 'Surprise Boxes', '11'); /*Premium Surprise Style Box (11)*/ +insert into `cs_items` (`itemID`, `newPrice`, `category`) values ('5222006', '2100', 'Surprise Boxes'); /*Surprise Style Box*/ +insert into `cs_items` (`itemID`, `newPrice`, `category`, `bundleQuantity`) values ('5222006', '21000', 'Surprise Boxes', '11'); /*Surprise Style Box (11)*/ + + + +/*Page 1*/ +insert into `cs_items` (`itemID`, `newPrice`, `category`) values ('5202000', '1000', 'Meso Sacks'), /*Rare Meso Sack*/ +('5202001', '3000', 'Meso Sacks'), /*Unique Meso Sack*/ +('5202002', '2000', 'Meso Sacks'), /*Epic Meso Sack*/ + + + + + +/* EQUIPMENT MODIFICATIONS */ + + +/* CUBES */ + +/*Page 1*/ +('5062009', '1000', 'Miracle Cubes'), # Red Cube +('5062010', '3000', 'Miracle Cubes'), # Black Cube +('5062024', '10000', 'Miracle Cubes'), # Violet Cube +('5062500', '5000', 'Miracle Cubes'), # Bonus Potential Cube + +# Scrolls + +# Upgrade Slots + +# Trade + +# Other + +/*Page 1*/ +('5700000', '1200', 'Other'), /*Android Naming Coupon*/ +('5060000', '1800', 'Other'), /*Item Tag*/ + +# Other -> Item Tag + +/*Page 1*/ +('5700000', '1200', 'Item Tag'), /*Android Naming Coupon*/ +('5060000', '1800', 'Item Tag'), /*Item Tag*/ + +# Other -> Item Guards + +# Duration + +# Bypass Keys + +# Fusion Anvils + + +/* CHARACTER MODIFICATIONS */ + +/*Page 1*/ +('5430000', '6900', 'Inventory slots'), /*Extra Character Slot Coupon*/ +('9110000', '5000', 'Inventory slots'), /*Add Storage Slots*/ +('9111000', '5000', 'Inventory slots'), /*Add Equip Slots*/ +('9112000', '5000', 'Inventory slots'), /*Add Use Slots*/ +('9114000', '5000', 'Inventory slots'), /*Add ETC Slots*/ +('9113000', '5000', 'Inventory slots'), /*Add Set-up Slots*/ + + + + + +/* EQUIPMENT */ + +/* Weapon */ +/*Page 1*/ +('1701000', '7600', 'Weapon'), /*Elizabeth Fan*/ +('1702009', '5600', 'Weapon'), /*Tiger Paw*/ +('1702008', '6400', 'Weapon'), /*Santa Sack*/ +('1702011', '5200', 'Weapon'), /*Pink Toy Hammer*/ +('1702010', '3600', 'Weapon'), /*Orange Toy Hammer*/ +('1702013', '5200', 'Weapon'), /*Teddy Bear*/ +('1702012', '4700', 'Weapon'), /*Yellow Spatula*/ +('1702015', '5000', 'Weapon'), /*Bug Net*/ +('1702014', '6400', 'Weapon'), /*Toy RIfle*/ +/*Page 2*/ +('1702001', '7100', 'Weapon'), /*Bouquet*/ +('1702000', '3400', 'Weapon'), /*Dual Plasma Blade*/ +('1702003', '4000', 'Weapon'), /*Plastic Slingshot*/ +('1702002', '8800', 'Weapon'), /*Wooden Slingshot*/ +('1702005', '6300', 'Weapon'), /*Yellow Candy Cane*/ +('1702004', '6400', 'Weapon'), /*Angel Wand*/ +('1702007', '6300', 'Weapon'), /*Green Candy Cane*/ +('1702006', '4900', 'Weapon'), /*Red Candy Cane*/ +('1702041', '6400', 'Weapon'), /*Horoscope Sword*/ +/*Page 3*/ +('1702040', '5600', 'Weapon'), /*Horoscope Bow*/ +('1702043', '6000', 'Weapon'), /*Poo Stick*/ +('1702042', '4900', 'Weapon'), /*Microphone*/ +('1702045', '6300', 'Weapon'), /*Sunflower Stalk*/ +('1702044', '3200', 'Weapon'), /*Toy Machine Gun*/ +('1702047', '3600', 'Weapon'), /*Snowflake Staff*/ +('1702046', '3800', 'Weapon'), /*Horoscope Crossbow*/ +('1702033', '4700', 'Weapon'), /*Sun Quan Staff*/ +('1702032', '7400', 'Weapon'), /*Zhu-Ge-Liang Wand*/ +/*Page 4*/ +('1702035', '5600', 'Weapon'), /*Cao Cao Bow*/ +('1702034', '3200', 'Weapon'), /*Guan Yu Spear*/ +('1702037', '7100', 'Weapon'), /*Coffee Pot*/ +('1702036', '3200', 'Weapon'), /*Witch's Broomstick*/ +('1702039', '7100', 'Weapon'), /*Horoscope Net*/ +('1702038', '8800', 'Weapon'), /*Horoscope Claw*/ +('1702025', '7600', 'Weapon'), /*Cherub's Bow*/ +('1702024', '3400', 'Weapon'), /*Cupid's Bow*/ +('1702027', '4900', 'Weapon'), /*Blazing Sword*/ +/*Page 5*/ +('1702026', '5200', 'Weapon'), /*Cupid's Crossbow*/ +('1702029', '4900', 'Weapon'), /*White Rabbit's Foot*/ +('1702028', '3200', 'Weapon'), /*Donut*/ +('1702031', '3200', 'Weapon'), /*Liu Bei Sword*/ +('1702030', '6300', 'Weapon'), /*Diao Chan Sword*/ +('1702017', '4700', 'Weapon'), /*Pink Rabbit Puppet*/ +('1702016', '3600', 'Weapon'), /*Picnic Basket*/ +('1702019', '7600', 'Weapon'), /*Pillow*/ +('1702018', '4700', 'Weapon'), /*Vanilla Ice Cream*/ +/*Page 6*/ +('1702021', '7400', 'Weapon'), /*Black Electric Guitar*/ +('1702020', '3200', 'Weapon'), /*Lollipop*/ +('1702023', '7600', 'Weapon'), /*Green Electric Guitar*/ +('1702022', '5600', 'Weapon'), /*Brown Electric Guitar*/ +('1702073', '4900', 'Weapon'), /*Blue Shiner Crossbow*/ +('1702072', '5600', 'Weapon'), /*Laser Sword*/ +('1702075', '7100', 'Weapon'), /*USA Cheer Towel*/ +('1702074', '3200', 'Weapon'), /*Pink Shiner Crossbow*/ +('1702077', '3200', 'Weapon'), /*Australia Cheer Towel*/ +/*Page 7*/ +('1702076', '5200', 'Weapon'), /*Mexico Cheer Towel*/ +('1702079', '6400', 'Weapon'), /*Blue Blazing Sword*/ +('1702078', '3400', 'Weapon'), /*Fairy Fan*/ +('1702065', '4700', 'Weapon'), /*Paper Stick*/ +('1702064', '4900', 'Weapon'), /*Rock Stick*/ +('1702067', '6000', 'Weapon'), /*England Cheer Towel*/ +('1702066', '4900', 'Weapon'), /*Canvas Tote Bag*/ +('1702069', '3200', 'Weapon'), /*Brazil Cheer Towel*/ +('1702068', '3400', 'Weapon'), /*France Cheer Towel*/ +/*Page 8*/ +('1702071', '3600', 'Weapon'), /*Japan Cheer Towel*/ +('1702070', '3200', 'Weapon'), /*Sporty Band*/ +('1702057', '8800', 'Weapon'), /*Blue Guitar*/ +('1702056', '4900', 'Weapon'), /*Guitar*/ +('1702059', '8800', 'Weapon'), /*Cactus*/ +('1702058', '4900', 'Weapon'), /*Big Hand*/ +('1702061', '4900', 'Weapon'), /*Red Fist of Fury*/ +('1702060', '5000', 'Weapon'), /*Shiner*/ +('1702063', '7400', 'Weapon'), /*Scissor Stick*/ +/*Page 9*/ +('1702062', '8800', 'Weapon'), /*Blue Fist of Fury*/ +('1702049', '4900', 'Weapon'), /*Snowman Claw*/ +('1702048', '5600', 'Weapon'), /*Green Wash Cloth*/ +('1702051', '8800', 'Weapon'), /*Hong Bao*/ +('1702050', '8800', 'Weapon'), /*Cellphone*/ +('1702053', '4000', 'Weapon'), /*In-Hand FB Helmet(Away)*/ +('1702052', '3600', 'Weapon'), /*In-Hand FB Helmet(Home)*/ +('1702055', '4700', 'Weapon'), /*Ancient Korean Bow*/ +('1702054', '3400', 'Weapon'), /*Football Claw*/ +/*Page 10*/ +('1702105', '6000', 'Weapon'), /*Heart Key*/ +('1702104', '3200', 'Weapon'), /*Deluxe Cone*/ +('1702107', '4000', 'Weapon'), /*Chocolate*/ +('1702106', '5200', 'Weapon'), /*Melting Chocolate*/ +('1702108', '4000', 'Weapon'), /*Giant Lollipop*/ +('1702097', '4900', 'Weapon'), /*Fire Katana*/ +('1702096', '8800', 'Weapon'), /*Pizza Pan*/ +('1702099', '7400', 'Weapon'), /*Transparent Claw*/ +('1702098', '7100', 'Weapon'), /*Violin*/ +/*Page 11*/ +('1702101', '4700', 'Weapon'), /*Meso Gunner*/ +('1702100', '4900', 'Weapon'), /*Christmas Bell*/ +('1702103', '3200', 'Weapon'), /*Pink Ribbon Umbrella*/ +('1702102', '7400', 'Weapon'), /*Stellar Staff*/ +('1702089', '5000', 'Weapon'), /*Candy Hammer*/ +('1702088', '4000', 'Weapon'), /*Super Scrubber*/ +('1702091', '3600', 'Weapon'), /*Tennis Racquet*/ +('1702090', '3200', 'Weapon'), /*Feather Scimitar*/ +('1702093', '6400', 'Weapon'), /*Okie Donkie*/ +/*Page 12*/ +('1702092', '4000', 'Weapon'), /*Glowing Pumpkin Basket*/ +('1702095', '3800', 'Weapon'), /*Frog Glove*/ +('1702094', '6300', 'Weapon'), /*Mad Cow*/ +('1702081', '7600', 'Weapon'), /*Purple Blazing Sword*/ +('1702080', '4900', 'Weapon'), /*Green Blazing Sword*/ +('1702083', '6000', 'Weapon'), /*Foam Hand*/ +('1702082', '5200', 'Weapon'), /*Harp*/ +('1702085', '3200', 'Weapon'), /*Frog Claw*/ +('1702084', '3600', 'Weapon'), /*Toy Pinwheel*/ +/*Page 13*/ +('1702087', '6000', 'Weapon'), /*Red Pencil*/ +('1702086', '4700', 'Weapon'), /*Chicken Smackaroo*/ +('1702136', '7100', 'Weapon'), /*Ice Flower*/ +('1702139', '4900', 'Weapon'), /*Hook Hand*/ +('1702138', '8800', 'Weapon'), /*Spanish Ham*/ +('1702141', '3800', 'Weapon'), /*My Buddy Max*/ +('1702140', '5200', 'Weapon'), /*Giant Orchid*/ +('1702143', '4900', 'Weapon'), /*Combat Syringe*/ +('1702142', '5200', 'Weapon'), /*Pink Angel Stick*/ +/*Page 14*/ +('1702129', '4900', 'Weapon'), /*Purple Shiner*/ +('1702128', '3200', 'Weapon'), /*Green Shiner*/ +('1702131', '4700', 'Weapon'), /*Pepe Beak*/ +('1702130', '5000', 'Weapon'), /*Red Shiner*/ +('1702133', '7600', 'Weapon'), /*Smackdown Fist */ +('1702132', '3400', 'Weapon'), /*Slime Stick*/ +('1702135', '6300', 'Weapon'), /*Vengence Claw*/ +('1702134', '5000', 'Weapon'), /*Serpent Staff */ +('1702121', '6000', 'Weapon'), /*Seal Pillow*/ +/*Page 15*/ +('1702120', '7400', 'Weapon'), /*Veamoth Sword*/ +('1702123', '6000', 'Weapon'), /*Forked Pork*/ +('1702122', '7600', 'Weapon'), /*Dragon's Fury*/ +('1702125', '3400', 'Weapon'), /*Heart Cane*/ +('1702124', '4000', 'Weapon'), /*Kitty*/ +('1702127', '5600', 'Weapon'), /*Water Gun*/ +('1702126', '6300', 'Weapon'), /*Blue Shiner */ +('1702113', '3200', 'Weapon'), /*Maoster Pole Arm*/ +('1702112', '3200', 'Weapon'), /*Celestial Wand*/ +/*Page 16*/ +('1702115', '5600', 'Weapon'), /*Red Rose*/ +('1702114', '8800', 'Weapon'), /*Wonky's Leaf*/ +('1702117', '5000', 'Weapon'), /*Jie 2*/ +('1702116', '5200', 'Weapon'), /*Jie 1*/ +('1702119', '7600', 'Weapon'), /*Sachiel Sword*/ +('1702118', '6300', 'Weapon'), /*Janus Sword*/ +('1702169', '6000', 'Weapon'), /*My Buddy Tina*/ +('1702168', '7600', 'Weapon'), /*Holiday Tree Ring*/ +('1702171', '4700', 'Weapon'), /*Party Popper*/ +/*Page 17*/ +('1702170', '3600', 'Weapon'), /*Electric Knuckle*/ +('1702173', '5000', 'Weapon'), /*Hessonite Saber*/ +('1702172', '5600', 'Weapon'), /*Bluebird*/ +('1702175', '6300', 'Weapon'), /*Hot Dog Link*/ +('1702174', '6400', 'Weapon'), /*Butterfly Staff*/ +('1702161', '7600', 'Weapon'), /*Dogged Out*/ +('1702160', '4700', 'Weapon'), /*Tiger Paw Knuckle*/ +('1702163', '4000', 'Weapon'), /*Hot Dog Fork*/ +('1702162', '4900', 'Weapon'), /*Koala Doll*/ +/*Page 18*/ +('1702165', '4000', 'Weapon'), /*My Buddy DJ*/ +('1702164', '3600', 'Weapon'), /*Bunny Nunchucks*/ +('1702167', '6000', 'Weapon'), /*Glow Fingers*/ +('1702166', '7400', 'Weapon'), /*Holiday Candy Cane*/ +('1702153', '3600', 'Weapon'), /*Crissagrim Blade*/ +('1702152', '8800', 'Weapon'), /*Flame Tongue*/ +('1702155', '3800', 'Weapon'), /*Shooting Star*/ +('1702154', '5600', 'Weapon'), /*Plasma Saber*/ +('1702157', '6300', 'Weapon'), /*Burning Marshmellow*/ +/*Page 19*/ +('1702156', '6000', 'Weapon'), /*Forked Turkey*/ +('1702159', '3400', 'Weapon'), /*Blackbeard's Knuckle*/ +('1702158', '4000', 'Weapon'), /*The Jackal*/ +('1702145', '3800', 'Weapon'), /*Bionic Claw*/ +('1702144', '5600', 'Weapon'), /*Broken Sword*/ +('1702147', '5600', 'Weapon'), /*Skull Axe*/ +('1702146', '3800', 'Weapon'), /*Skull Staff*/ +('1702149', '7400', 'Weapon'), /*Tania Sword*/ +('1702148', '8800', 'Weapon'), /*Moon Baton*/ +/*Page 20*/ +('1702151', '7100', 'Weapon'), /*Royal Oaken Staff*/ +('1702150', '5200', 'Weapon'), /*Mercury Sword*/ +('1702201', '5200', 'Weapon'), /*Bone Weapon*/ +('1702200', '6400', 'Weapon'), /*Plastic umbrella*/ +('1702203', '5000', 'Weapon'), /*Halloween Teddy*/ +('1702202', '3800', 'Weapon'), /*Baby Ellie*/ +('1702204', '8800', 'Weapon'), /*Japanese War Fan*/ +('1702207', '6300', 'Weapon'), /*Musical Violin*/ +('1702193', '7600', 'Weapon'), /*Towel Whip*/ +/*Page 21*/ +('1702195', '7100', 'Weapon'), /*MapleGirl Wand*/ +('1702197', '3600', 'Weapon'), /*Tsunami Wave*/ +('1702196', '4000', 'Weapon'), /*Fly Blue Bird*/ +('1702198', '3800', 'Weapon'), /*Bullseye Board*/ +('1702185', '8800', 'Weapon'), /*White & Yellow Seraphim*/ +('1702184', '3400', 'Weapon'), /*Aqua Seraphim*/ +('1702187', '6300', 'Weapon'), /*Patriot Seraphim*/ +('1702186', '4700', 'Weapon'), /*3rd Anniversary Weapon*/ +('1702189', '7400', 'Weapon'), /*Crabby*/ +/*Page 22*/ +('1702188', '6000', 'Weapon'), /*Pink Seraphim*/ +('1702191', '7600', 'Weapon'), /*Rainbow Sabre*/ +('1702190', '7100', 'Weapon'), /*Transparent Knuckle*/ +('1702177', '4700', 'Weapon'), /*Power Pesticide*/ +('1702179', '3400', 'Weapon'), /*Cloud 9 Pillow*/ +('1702178', '6300', 'Weapon'), /*MDAS Weapon*/ +('1702181', '6300', 'Weapon'), /*Picky Ducky*/ +('1702180', '7600', 'Weapon'), /*Dark Seraphim*/ +('1702183', '4900', 'Weapon'), /*Sunset Seraphim*/ +/*Page 23*/ +('1702182', '3600', 'Weapon'), /*Giant Pop with a Swirl*/ +('1702233', '4000', 'Weapon'), /*Rainbow Brush*/ +('1702232', '5200', 'Weapon'), /*My friend Gold Bulldog*/ +('1702235', '7100', 'Weapon'), /*Metallic Arm*/ +('1702234', '3400', 'Weapon'), /*Pluto Legend Hall*/ +('1702237', '4900', 'Weapon'), /*Inari the White Fox*/ +('1702236', '7600', 'Weapon'), /*Death Note*/ +('1702239', '8800', 'Weapon'), /*Holy Mystics*/ +('1702238', '3600', 'Weapon'), /*Soft Plush Dolphin*/ +/*Page 24*/ +('1702224', '3600', 'Weapon'), /*Transparent Weapon*/ +('1702226', '3800', 'Weapon'), /*My Buddy Whale*/ +('1702229', '7400', 'Weapon'), /*Demon Sickle*/ +('1702228', '8800', 'Weapon'), /*Choco Banana*/ +('1702231', '8800', 'Weapon'), /*We Care! Weapon*/ +('1702230', '6000', 'Weapon'), /*Popsicle Sword*/ +('1702217', '3800', 'Weapon'), /*Ducky Tube*/ +('1702216', '5200', 'Weapon'), /*Magic Heart Stick*/ +('1702219', '7100', 'Weapon'), /*Knockout Boxing Gloves*/ +/*Page 25*/ +('1702218', '6300', 'Weapon'), /*Dumbell Weapon*/ +('1702221', '3400', 'Weapon'), /*Mini Bean Propeller*/ +('1702220', '4700', 'Weapon'), /*Transparent Wand*/ +('1702223', '7600', 'Weapon'), /*Sparkler*/ +('1702222', '5200', 'Weapon'), /*Fanfare Firecracker*/ +('1702209', '3600', 'Weapon'), /*Rudolph Stick*/ +('1702208', '4000', 'Weapon'), /*Alligator Tube*/ +('1702211', '3600', 'Weapon'), /*Blizzard Stick*/ +('1702210', '3200', 'Weapon'), /*Santa Buddy*/ +/*Page 26*/ +('1702213', '6300', 'Weapon'), /*Heartbreak Sword*/ +('1702212', '6400', 'Weapon'), /*Galactic Legend*/ +('1702215', '5200', 'Weapon'), /*Boleadoras*/ +('1702214', '7600', 'Weapon'), /*Whip*/ +('1702264', '6300', 'Weapon'), /*Strawberry Basket*/ +('1702266', '5600', 'Weapon'), /*Sunshine Pan*/ +('1702269', '8800', 'Weapon'), /*Mini Dawn Warrior*/ +('1702268', '5600', 'Weapon'), /*Evan Wand*/ +('1702271', '7100', 'Weapon'), /*Mini Wind Archer*/ +/*Page 27*/ +('1702270', '6400', 'Weapon'), /*Mini Blaze Wizard*/ +('1702257', '4900', 'Weapon'), /*Mini Dawn Warrior*/ +('1702256', '6000', 'Weapon'), /*Mini Wind Archer*/ +('1702259', '3400', 'Weapon'), /*Mini Thunder Breaker*/ +('1702258', '7100', 'Weapon'), /*Mini Blaze Wizard*/ +('1702261', '3600', 'Weapon'), /*Cherry Blossom Weapon*/ +('1702260', '7100', 'Weapon'), /*Mini Night Walker*/ +('1702263', '3400', 'Weapon'), /*Kitty Spirit Weapon*/ +('1702262', '6300', 'Weapon'), /*Green Leaf Guards*/ +/*Page 28*/ +('1702249', '3400', 'Weapon'), /*Gosling Cushion*/ +('1702248', '5000', 'Weapon'), /*Rudolph*/ +('1702251', '8800', 'Weapon'), /*Saw Machine Gun*/ +('1702250', '3400', 'Weapon'), /*Steel Briefcase*/ +('1702253', '5000', 'Weapon'), /*Bunny Umbrella*/ +('1702252', '3400', 'Weapon'), /*Hunting Hawk*/ +('1702254', '3400', 'Weapon'), /*Rudolph*/ +('1702240', '5000', 'Weapon'), /*Holy Mystics*/ +('1702246', '3800', 'Weapon'), /*Ghost Weapon*/ +/*Page 29*/ +('1702296', '5600', 'Weapon'), /*Yo Yo*/ +('1702299', '4700', 'Weapon'), /*Chocolate Dipped Stick*/ +('1702301', '5000', 'Weapon'), /*Rabbit Weapon*/ + + + +/*Page 1*/ +('1702303', '3400', 'Weapon 2'), /*Baby Bottle*/ +('1702302', '5600', 'Weapon 2'), /*Alien Mug*/ +('1702289', '5000', 'Weapon 2'), /*Royal Marine Flag*/ +('1702288', '7600', 'Weapon 2'), /*Wild Hunter Crossbow*/ +('1702291', '7400', 'Weapon 2'), /*Elizabeth Fan*/ +('1702293', '4900', 'Weapon 2'), /*Suitcase*/ +('1702295', '6300', 'Weapon 2'), /*Playing Cards*/ +('1702281', '4000', 'Weapon 2'), /*Shining Feather Lord*/ +('1702280', '6400', 'Weapon 2'), /*Shining Feather Slayer*/ +/*Page 2*/ +('1702283', '4700', 'Weapon 2'), /*Shining Feather Knuckle*/ +('1702282', '6000', 'Weapon 2'), /*Shining Feather Bow*/ +('1702285', '4900', 'Weapon 2'), /*Handbag (Blue)*/ +('1702284', '4000', 'Weapon 2'), /*Handbag (Pink)*/ +('1702287', '7600', 'Weapon 2'), /*Battle Mage Staff*/ +('1702286', '6400', 'Weapon 2'), /*Marchosias*/ +('1702273', '5600', 'Weapon 2'), /*Mini Thunder Breaker*/ +('1702272', '4700', 'Weapon 2'), /*Mini Night Walker*/ +('1702275', '3200', 'Weapon 2'), /*Rainbow Umbrella*/ +/*Page 3*/ +('1702274', '8800', 'Weapon 2'), /*Dragon Lord Gloves*/ +('1702277', '3600', 'Weapon 2'), /*Test Pen*/ +('1702276', '5600', 'Weapon 2'), /*Rainbow Bow*/ +('1702279', '6000', 'Weapon 2'), /*Shining Feather Sword*/ +('1702278', '7400', 'Weapon 2'), /*King Crow Fan*/ +('1702329', '7400', 'Weapon 2'), /*Strawberry Delight*/ +('1702328', '5200', 'Weapon 2'), /*Pink Angel Syringe*/ +('1702330', '6300', 'Weapon 2'), /*Milky Way*/ +('1702333', '5000', 'Weapon 2'), /*Strawberry Sword*/ +/*Page 4*/ +('1702335', '4000', 'Weapon 2'), /*Alchemist Potion Weapon*/ +('1702334', '7100', 'Weapon 2'), /*Crystal Fantasia Wand*/ +('1702321', '5600', 'Weapon 2'), /*Dark Magenta Sabre*/ +('1702320', '4900', 'Weapon 2'), /*Slate Thunder Sabre*/ +('1702323', '5000', 'Weapon 2'), /*Ombra & Luce Sabre*/ +('1702322', '3600', 'Weapon 2'), /*Soild Black Sabre*/ +('1702324', '3200', 'Weapon 2'), /*Shock Wave*/ +('1702313', '3600', 'Weapon 2'), /*Orange Seraphim*/ +('1702315', '6400', 'Weapon 2'), /*Stellar Seraphim*/ +/*Page 5*/ +('1702314', '6400', 'Weapon 2'), /*Heaven's Seraphim*/ +('1702317', '7100', 'Weapon 2'), /*Bloody Ruby Sabre*/ +('1702316', '3800', 'Weapon 2'), /*Dynamic Seraphim*/ +('1702319', '3800', 'Weapon 2'), /*Evergreen Sabre*/ +('1702318', '4000', 'Weapon 2'), /*Twilight Sabre*/ +('1702305', '3200', 'Weapon 2'), /*Carrot*/ +('1702304', '7600', 'Weapon 2'), /*Funny Punch Yo-yo*/ +('1702306', '7100', 'Weapon 2'), /*Burning Breeze Fan*/ +('1702309', '3400', 'Weapon 2'), /*Rainbow Sparkle*/ +/*Page 6*/ +('1702308', '3400', 'Weapon 2'), /*Spring Blossoms*/ +('1702311', '3200', 'Weapon 2'), /*MSE 4 Years & Unstoppable Star*/ +('1702310', '3200', 'Weapon 2'), /*6th Anniversary Party Wand*/ +('1702361', '6400', 'Weapon 2'), /*Hunter Hawk*/ +('1702360', '3600', 'Weapon 2'), /*Coin Sword*/ +('1702363', '7600', 'Weapon 2'), /*Crystalline Sheen*/ +('1702362', '7400', 'Weapon 2'), /*Pink Bean Buddy*/ +('1702365', '3800', 'Weapon 2'), /*Tedimus Beartaculous*/ +('1702364', '7400', 'Weapon 2'), /*Dragon Familiar*/ +/*Page 7*/ +('1702367', '5200', 'Weapon 2'), /*Rose Butterwand*/ +('1702366', '5600', 'Weapon 2'), /*Shark-sicle*/ +('1702352', '4700', 'Weapon 2'), /*Magic Herb Teaspoon*/ +('1702355', '4700', 'Weapon 2'), /*Lucky Weapon*/ +('1702357', '6300', 'Weapon 2'), /*Starfall Magic Square*/ +('1702356', '3800', 'Weapon 2'), /*Legendary Weapon*/ +('1702359', '7400', 'Weapon 2'), /*Blue Angel Syringe*/ +('1702358', '4700', 'Weapon 2'), /*Pink Bean Buddy*/ +('1702345', '6400', 'Weapon 2'), /*Fierce Cat*/ +/*Page 8*/ +('1702344', '5200', 'Weapon 2'), /*Boom Box*/ +('1702347', '4700', 'Weapon 2'), /*Fortune Flash*/ +('1702346', '4700', 'Weapon 2'), /*Lucky Pouch Weapon*/ +('1702348', '4700', 'Weapon 2'), /*Snowflake Rod*/ +('1702351', '7400', 'Weapon 2'), /*Tedtacular Bearingtons*/ +('1702350', '7100', 'Weapon 2'), /*Chocolatier Stick*/ +('1702337', '4900', 'Weapon 2'), /*Lightning Soul*/ +('1702336', '4900', 'Weapon 2'), /*Lord Tempest*/ +('1702341', '4000', 'Weapon 2'), /*Sweet Lollipop*/ +/*Page 9*/ +('1702340', '4900', 'Weapon 2'), /*Rabbit in a Hat*/ +('1702342', '8800', 'Weapon 2'), /*Orchid's Bunny Doll*/ +('1702393', '4700', 'Weapon 2'), /*Slither Style Snake Sword*/ +('1702392', '7100', 'Weapon 2'), /*Dark Devil Weapon*/ +('1702395', '5200', 'Weapon 2'), /*Baller Cane*/ +('1702394', '5200', 'Weapon 2'), /*Golden Holy Cup*/ +('1702397', '5200', 'Weapon 2'), /*Twinkle Sparkle*/ +('1702399', '7600', 'Weapon 2'), /*Neo Light Sword*/ +('1702398', '3600', 'Weapon 2'), /*Fairy Lamp*/ +/*Page 10*/ +('1702385', '4000', 'Weapon 2'), /*[MS Special] Hunting Hawk*/ +('1702387', '7600', 'Weapon 2'), /*[MS Special] Dragon Familiar*/ +('1702386', '5600', 'Weapon 2'), /*[MS Special] Crystalline Sheen*/ +('1702389', '4000', 'Weapon 2'), /*[MS Special] Fly Blue Bird*/ +('1702388', '7400', 'Weapon 2'), /*[MS Special] Tedimus Beartaculous*/ +('1702390', '5600', 'Weapon 2'), /*Halloween Leopard Umbrella*/ +('1702377', '5000', 'Weapon 2'), /*Strawberry Delight*/ +('1702376', '3800', 'Weapon 2'), /*Onmyouji Fan*/ +('1702379', '4000', 'Weapon 2'), /*Arabian Magic Lamp*/ +/*Page 11*/ +('1702381', '7600', 'Weapon 2'), /*Twin Crescent Blade*/ +('1702380', '3400', 'Weapon 2'), /*Azure Crystal Crusher*/ +('1702382', '3200', 'Weapon 2'), /*Persimmon Branch*/ +('1702368', '7600', 'Weapon 2'), /*Iris Butterwand*/ +('1702371', '6300', 'Weapon 2'), /*Pimp Stick*/ +('1702372', '6300', 'Weapon 2'), /*Pimp Chalice*/ +('1702375', '6400', 'Weapon 2'), /*Atlantis*/ +('1702374', '3600', 'Weapon 2'), /*Bladed Falcon's Katana*/ +('1702424', '7400', 'Weapon 2'), /*Stylish Iron*/ +/*Page 12*/ +('1702427', '7400', 'Weapon 2'), /*Ombra & Luce Sabre*/ +('1702426', '3800', 'Weapon 2'), /*Lord Tempest*/ +('1702429', '6000', 'Weapon 2'), /*Heaven's Seraphim*/ +('1702428', '5000', 'Weapon 2'), /*Bloody Ruby Sabre*/ +('1702431', '7100', 'Weapon 2'), /*GM Nori's Syringe*/ +('1702430', '7400', 'Weapon 2'), /*Dynamic Seraphim*/ +('1702417', '6300', 'Weapon 2'), /*Blue Rose Parasol*/ +('1702416', '7400', 'Weapon 2'), /*Lord of the Carrots*/ +('1702419', '3800', 'Weapon 2'), /*Pink Bean Buddy*/ +/*Page 13*/ +('1702418', '6300', 'Weapon 2'), /*Hunter Hawk*/ +('1702421', '5000', 'Weapon 2'), /*Dragon Familiar*/ +('1702420', '6300', 'Weapon 2'), /*Crystalline Sheen*/ +('1702423', '5000', 'Weapon 2'), /*Goblin Fire*/ + +('1702409', '4700', 'Weapon 2'), /*Hilla Weapon*/ +('1702408', '8800', 'Weapon 2'), /*Francis's Puppet*/ +('1702411', '3800', 'Weapon 2'), /*Mini Blaze Wizard*/ +('1702410', '4700', 'Weapon 2'), /*Mini Dawn Warrior*/ +/*Page 14*/ +('1702413', '3200', 'Weapon 2'), /*Mini Night Walker*/ +('1702412', '7600', 'Weapon 2'), /*Mini Wind Archer*/ +('1702415', '8800', 'Weapon 2'), /*Dreamy Candy Pillow*/ +('1702414', '6400', 'Weapon 2'), /*Mini Thunder Breaker*/ +('1702401', '3800', 'Weapon 2'), /*Rabbit with Carrot*/ +('1702400', '6000', 'Weapon 2'), /*Lotus's Bunny Doll*/ +('1702403', '4000', 'Weapon 2'), /*Sherlock's Magnifier*/ +('1702402', '3800', 'Weapon 2'), /*Stylish Iron*/ +('1702405', '4000', 'Weapon 2'), /*Starlight Heart Scepter*/ +/*Page 15*/ +('1702404', '5600', 'Weapon 2'), /*Muffin*/ +('1702407', '8800', 'Weapon 2'), /*Dandelion Seed Weapon*/ +('1702406', '7400', 'Weapon 2'), /*Starfall Magic Square*/ +('1702457', '4900', 'Weapon 2'), /*Fantastic Ice Pop*/ +('1702456', '3600', 'Weapon 2'), /*Fairy Pico*/ +('1702459', '3200', 'Weapon 2'), /*Cotton Candy*/ +('1702458', '3400', 'Weapon 2'), /*Fireworks Fan*/ +('1702461', '3800', 'Weapon 2'), /*Chicky-Chicky Boom*/ +('1702460', '3200', 'Weapon 2'), /*Star Weapon*/ +/*Page 16*/ +('1702462', '3800', 'Weapon 2'), /*Fantasy Butterfly Flower*/ +('1702449', '8800', 'Weapon 2'), /*Strawberry Delight*/ +('1702448', '5600', 'Weapon 2'), /*Funny Punch Yo-yo*/ +('1702451', '6400', 'Weapon 2'), /*Superstar Microphone*/ +('1702450', '4000', 'Weapon 2'), /*Tedimus Beartaculous*/ +('1702453', '6400', 'Weapon 2'), /*Astral Bolt*/ +('1702455', '7100', 'Weapon 2'), /*RED Paint Bucket*/ +('1702454', '5200', 'Weapon 2'), /*Seal Wave Snuggler*/ +('1702443', '4000', 'Weapon 2'), /*Puppeteer's Promise*/ +/*Page 17*/ +('1702442', '7100', 'Weapon 2'), /*Baseball Bat*/ +('1702445', '4700', 'Weapon 2'), /*Detective Glass*/ +('1702444', '3400', 'Weapon 2'), /*Fermata*/ +('1702446', '7100', 'Weapon 2'), /*Sea Otter Slammer*/ +('1702433', '8800', 'Weapon 2'), /*Salamander*/ +('1702437', '4900', 'Weapon 2'), /*Spring Blossoms*/ +('1702436', '3600', 'Weapon 2'), /*Galactic Legend*/ +('1702439', '6400', 'Weapon 2'), /*Evergreen Sabre*/ +('1702438', '6400', 'Weapon 2'), /*Stellar Seraphim*/ +/*Page 18*/ +('1702489', '5000', 'Weapon 2'), /*Sweet Chocolate Fondue Stick*/ +('1702488', '6400', 'Weapon 2'), /*Pony's Carrot*/ +('1702491', '3600', 'Weapon 2'), /*Bubble Cleaner*/ +('1702492', '3400', 'Weapon 2'), /*Red Lantern*/ +('1702480', '5200', 'Weapon 2'), /*Celena*/ +('1702485', '4900', 'Weapon 2'), /*Goodie Bundle*/ +('1702487', '4900', 'Weapon 2'), /*Red Flower*/ +('1702486', '3200', 'Weapon 2'), /*Fluttering Camellia Flower*/ +('1702473', '7600', 'Weapon 2'), /*Shadow Executor*/ +/*Page 19*/ +('1702472', '7400', 'Weapon 2'), /*Vampire Phantom's Fate*/ +('1702475', '3400', 'Weapon 2'), /*Maha*/ +('1702474', '5200', 'Weapon 2'), /*Evan Wand*/ +('1702477', '3200', 'Weapon 2'), /*Evil Skull*/ +('1702476', '4700', 'Weapon 2'), /*Sweet Snake*/ +('1702479', '3600', 'Weapon 2'), /*バットソード*/ +('1702478', '8800', 'Weapon 2'), /*Cat Soul*/ +('1702464', '3200', 'Weapon 2'), /*Sparkling Buddy*/ +('1702467', '4900', 'Weapon 2'), /*Cotton Candy Cloud*/ +/*Page 20*/ +('1702466', '7100', 'Weapon 2'), /*Mint Chocolatier Stick*/ +('1702469', '5000', 'Weapon 2'), /*Arachne*/ +('1702468', '6300', 'Weapon 2'), /*Soft Chocolate Fondue Scepter*/ +('1702471', '6300', 'Weapon 2'), /*Dark Devil Weapon*/ +('1702470', '6400', 'Weapon 2'), /*Free Spirit*/ +('1702521', '3200', 'Weapon 2'), /*Blue Swallow*/ +('1702523', '4700', 'Weapon 2'), /*Sunny Day Rainbow*/ +('1702522', '5200', 'Weapon 2'), /*Viking Sword for Transformation*/ +('1702525', '4700', 'Weapon 2'), /*Final Ingredient*/ +/*Page 21*/ +('1702524', '3400', 'Weapon 2'), /*Plump Tomato*/ +('1702526', '3200', 'Weapon 2'), /*Rifle Blade*/ +('1702512', '4000', 'Weapon 2'), /*Crown Rod*/ +('1702519', '8800', 'Weapon 2'), /*Pink Antique Parasol*/ +('1702505', '5600', 'Weapon 2'), /*Breezy Bamboo*/ +('1702504', '5600', 'Weapon 2'), /*Frozen Heart*/ +('1702507', '3200', 'Weapon 2'), /*Contemporary Chic Fan*/ +('1702506', '6000', 'Weapon 2'), /*Perfect Cooking */ +('1702509', '8800', 'Weapon 2'), /*Sunny Rainbow */ +/*Page 22*/ +('1702510', '5200', 'Weapon 2'), /*Rabbit and Bear Flashlight*/ +('1702497', '6400', 'Weapon 2'), /*Sparkling Luck Sack*/ +('1702499', '4700', 'Weapon 2'), /*Guardian Scepter*/ +('1702501', '7400', 'Weapon 2'), /*Flower Dance*/ +('1702503', '6400', 'Weapon 2'), /*Bubbling Shot*/ +('1702502', '6400', 'Weapon 2'), /*Cane From the Stars*/ +('1702553', '3200', 'Weapon 2'), /*Dangerous Medicine Bottle*/ +('1702555', '3400', 'Weapon 2'), /*Noble Lady's Black Fan*/ +('1702554', '3600', 'Weapon 2'), /*Scary Huge Hand*/ +/*Page 23*/ +('1702557', '6400', 'Weapon 2'), /*Duster*/ +('1702556', '3800', 'Weapon 2'), /*Blade*/ +('1702559', '3600', 'Weapon 2'), /*Puppy Pal Weapon (White)*/ +('1702547', '3800', 'Weapon 2'), /*Sweet Persimmon*/ +('1702549', '7400', 'Weapon 2'), /*Pom-pom Power*/ +('1702551', '7400', 'Weapon 2'), /*Korean Thanksgiving Persimmon Branch*/ +('1702550', '7600', 'Weapon 2'), /*Peach Trio*/ +('1702538', '7400', 'Weapon 2'), /*Dewdrop Lantern*/ +('1702541', '6000', 'Weapon 2'), /*Perfect Baby*/ +/*Page 24*/ +('1702540', '6000', 'Weapon 2'), /*Here's the Flashlight!*/ +('1702529', '5000', 'Weapon 2'), /*Shadow Lamp*/ +('1702528', '3400', 'Weapon 2'), /*Xylophone Melody*/ +('1702530', '6400', 'Weapon 2'), /*Sweet Summer Hammer*/ +('1702533', '7600', 'Weapon 2'), /*Photo-op*/ +('1702535', '3600', 'Weapon 2'), /*Hula Hula Penglyn*/ +('1702534', '4000', 'Weapon 2'), /*Baby Paci*/ +('1702585', '5200', 'Weapon 2'), /*Universal Transparent Weapon*/ +('1702584', '4700', 'Weapon 2'), /*Cutie Puppy*/ +/*Page 25*/ +('1702587', '6300', 'Weapon 2'), /*Rockin' Guitar*/ +('1702586', '4900', 'Weapon 2'), /*Dreaming Dandelion*/ +('1702589', '6000', 'Weapon 2'), /*Fairy Blossom*/ +('1702588', '8800', 'Weapon 2'), /*Black Cat Plush*/ +('1702591', '4900', 'Weapon 2'), /*Grand Romance*/ +('1702590', '3800', 'Weapon 2'), /*자이언트 돼지바*/ +('1702577', '7100', 'Weapon 2'), /*Lalala Goldfish Fishing Net*/ +('1702576', '8800', 'Weapon 2'), /*Ground Pounder*/ +('1702579', '3600', 'Weapon 2'), /*Crystal Cat Weapon*/ +/*Page 26*/ +('1702581', '4000', 'Weapon 2'), /*Sweetie Bros*/ +('1702583', '7400', 'Weapon 2'), /*Kitty Pringles*/ +('1702571', '3600', 'Weapon 2'), /*Top Snow Shovel*/ +('1702570', '7100', 'Weapon 2'), /*Fluffy Snow Bunny*/ +('1702572', '3200', 'Weapon 2'), /*Red Rose Umbrella*/ +('1702575', '6400', 'Weapon 2'), /*Lovely Chocolate Basket*/ +('1702574', '8800', 'Weapon 2'), /*Beast Trainer*/ +('1702561', '6000', 'Weapon 2'), /*Sweet Fork Cake*/ +('1702560', '3400', 'Weapon 2'), /*Puppy Pal Weapon (Brown)*/ +/*Page 27*/ +('1702562', '4000', 'Weapon 2'), /*Winter Snowman*/ +('1702565', '4700', 'Weapon 2'), /*Death's Scythe*/ +('1702564', '3800', 'Weapon 2'), /*Funny Punch Yo-yo*/ +('1702567', '4700', 'Weapon 2'), /*Rawrin' Tiger Weapon*/ +('1702566', '5200', 'Weapon 2'), /*Rammy Scepter*/ +('1702617', '5000', 'Weapon 2'), /*Lotus Fantasy*/ +('1702616', '5000', 'Weapon 2'), /*Ducky Candy Bar*/ +('1702619', '6000', 'Weapon 2'), /*Musical Green Onion*/ +('1702621', '8800', 'Weapon 2'), /*Mystery Dice*/ +/*Page 28*/ +('1702620', '3800', 'Weapon 2'), /*Mystery Dice*/ +('1702623', '6000', 'Weapon 2'), /*Today Jay*/ +('1702608', '5200', 'Weapon 2'), /*Marine Stripe Umbrella*/ +('1702611', '3600', 'Weapon 2'), /*Duckling Cross Bag Weapon*/ +('1702613', '6300', 'Weapon 2'), /*Crown Rod*/ +('1702612', '7400', 'Weapon 2'), /*Fairy Pico*/ +('1702614', '5000', 'Weapon 2'), /*Baseball Bat*/ +('1702601', '5200', 'Weapon 2'), /*Bacon*/ +('1702600', '3200', 'Weapon 2'), /*Pasta*/ +/*Page 29*/ +('1702603', '3400', 'Weapon 2'), /*Rib Steak*/ +('1702602', '7100', 'Weapon 2'), /*Hamburger*/ +('1702605', '8800', 'Weapon 2'), /*Donut*/ + + + +/*Page 1*/ +('1702604', '6400', 'Weapon 3'), /*Parfait*/ +('1702607', '8800', 'Weapon 3'), /*Cheese 'n' Carrots Stick*/ +('1702606', '4900', 'Weapon 3'), /*Squid*/ +('1702593', '4000', 'Weapon 3'), /*Winding Sky Bamboo*/ +('1702595', '6400', 'Weapon 3'), /*Mint Kitty Tea Time*/ +('1702594', '5000', 'Weapon 3'), /*Sweepy Orchid*/ +('1702597', '7100', 'Weapon 3'), /*Rainbow Seashell*/ +('1702599', '3600', 'Weapon 3'), /*Hoya Roar*/ +('1702649', '4900', 'Weapon 3'), /*Shining Rod of Equilibrium*/ +/*Page 2*/ +('1702648', '6300', 'Weapon 3'), /*Maha the Polearm*/ +('1702651', '3400', 'Weapon 3'), /*Forgotten Hero's Knuckle*/ +('1702650', '7600', 'Weapon 3'), /*Shining Rod of Equilibrium*/ +('1702653', '8800', 'Weapon 3'), /*Transparent Arm Cannon*/ +('1702652', '6000', 'Weapon 3'), /*Forgotten Hero's Knuckle*/ +('1702655', '5200', 'Weapon 3'), /*Lil Mercedes*/ +('1702654', '6300', 'Weapon 3'), /*Mr. Hot Spring Kitty*/ +('1702641', '5200', 'Weapon 3'), /*Dragon Master's Wand*/ +('1702640', '4700', 'Weapon 3'), /*Bunny Snowman Attacker*/ +/*Page 3*/ +('1702643', '5000', 'Weapon 3'), /*Elven Monarch's Dual Bowguns*/ +('1702642', '6300', 'Weapon 3'), /*Dragon Master's Wand*/ +('1702645', '3800', 'Weapon 3'), /*Phantom's Cane*/ +('1702644', '5600', 'Weapon 3'), /*Elven Monarch's Dual Bowguns*/ +('1702647', '4700', 'Weapon 3'), /*Maha the Polearm*/ +('1702646', '8800', 'Weapon 3'), /*Phantom's Cane*/ +('1702633', '4900', 'Weapon 3'), /*Banana Monkey Attacker*/ +('1702632', '4000', 'Weapon 3'), /*Zakum Arms*/ +('1702635', '7600', 'Weapon 3'), /*Mr. Orlov Coin Sword*/ +/*Page 4*/ +('1702634', '6400', 'Weapon 3'), /*Maple Zombies*/ +('1702637', '7100', 'Weapon 3'), /*Hard Carrier Suitcase*/ +('1702636', '7400', 'Weapon 3'), /*Arctic Narwhal Pillow*/ +('1702639', '6400', 'Weapon 3'), /*Kitty Bangle*/ +('1702638', '3800', 'Weapon 3'), /*Blue Marine Thirst For Knowledge*/ +('1702625', '6300', 'Weapon 3'), /*Sparking Bluebird*/ +('1702624', '6000', 'Weapon 3'), /*Master Time*/ +('1702627', '5000', 'Weapon 3'), /*Sakura Sword*/ +('1702626', '5200', 'Weapon 3'), /*British Handbag Weapon*/ +/*Page 5*/ +('1702629', '5200', 'Weapon 3'), /*Vintage Cellphone*/ +('1702628', '7100', 'Weapon 3'), /*Farmer's Glorious Egg Stick*/ +('1702631', '3200', 'Weapon 3'), /*Bloody Fairytale*/ +('1702630', '5200', 'Weapon 3'), /*Striking Lantern*/ +('1702681', '3800', 'Weapon 3'), /*Flask of Life*/ +('1702680', '3200', 'Weapon 3'), /*Camellia's Sword*/ +('1702682', '3800', 'Weapon 3'), /*Triple Fish Skewer*/ +('1702685', '7600', 'Weapon 3'), /*Red Phoenix Weapon*/ +('1702684', '4900', 'Weapon 3'), /*Blue Phoenix Weapon*/ +/*Page 6*/ +('1702687', '7400', 'Weapon 3'), /*Strawberry Bon Bon*/ +('1702686', '8800', 'Weapon 3'), /*Sweet Pig Weapon*/ +('1702673', '3400', 'Weapon 3'), /*Monkey Banana*/ +('1702672', '7400', 'Weapon 3'), /*Duckling Cross Bag*/ +('1702675', '5600', 'Weapon 3'), /*Smile Seed Weapon*/ +('1702677', '3200', 'Weapon 3'), /*Lil Damien*/ +('1702676', '4700', 'Weapon 3'), /*Muse Crystal*/ +('1702679', '6400', 'Weapon 3'), /*Playful Black Nyanya*/ +('1702678', '7600', 'Weapon 3'), /*Lil Alicia*/ +/*Page 7*/ +('1702665', '3400', 'Weapon 3'), /*Lil Evan*/ +('1702667', '6000', 'Weapon 3'), /*Lil Phantom*/ +('1702666', '3600', 'Weapon 3'), /*Lil Aran*/ +('1702668', '3400', 'Weapon 3'), /*Winter Deer Tambourine*/ +('1702671', '3400', 'Weapon 3'), /*Magic Tome Weapon*/ +('1702657', '3600', 'Weapon 3'), /*Lil Shade*/ +('1702656', '7400', 'Weapon 3'), /*Lil Luminous*/ +('1702659', '3400', 'Weapon 3'), /*Timemaster*/ +('1702658', '4700', 'Weapon 3'), /*Holiday Tree Ring*/ +/*Page 8*/ +('1702660', '7600', 'Weapon 3'), /*Snowman Weapon*/ +('1702713', '4000', 'Weapon 3'), /*Bichon Paw Weapon*/ +('1702712', '4000', 'Weapon 3'), /*Moon Bunny Bell Weapon*/ +('1702715', '6000', 'Weapon 3'), /*Lachelein Fantasia*/ +('1702714', '3200', 'Weapon 3'), /*Witch's Staff*/ +('1702717', '7400', 'Weapon 3'), /*Glow Stick of Love*/ +('1702716', '8800', 'Weapon 3'), /*Dew Parasol*/ +('1702719', '4900', 'Weapon 3'), /*Flutter Flower Doll Weapon*/ +('1702718', '3800', 'Weapon 3'), /*Shadow Warrior's Sword*/ +/*Page 9*/ +('1702705', '3400', 'Weapon 3'), /*Teddy Tube Wave*/ +('1702704', '7400', 'Weapon 3'), /*Blue Marine Knowledge*/ +('1702707', '7400', 'Weapon 3'), /*Pony's Carrot*/ +('1702706', '4900', 'Weapon 3'), /*Ice Cream Scream*/ +('1702709', '3800', 'Weapon 3'), /*High-five Neon V*/ +('1702708', '3600', 'Weapon 3'), /*Heaven's Seraphim*/ +('1702711', '4000', 'Weapon 3'), /*Owl Spellbook*/ +('1702710', '3200', 'Weapon 3'), /*Kamaitachi's Sickle*/ +('1702697', '7100', 'Weapon 3'), /*Cup Cat Weapon*/ +/*Page 10*/ +('1702696', '8800', 'Weapon 3'), /*Silver Wolf*/ +('1702699', '6000', 'Weapon 3'), /*Colorful Beach Ball*/ +('1702698', '6000', 'Weapon 3'), /*Blaster Weapon*/ +('1702701', '3200', 'Weapon 3'), /*Dragonmare Ninth Sword*/ + +('1702703', '3200', 'Weapon 3'), /*Natural Ink Painting*/ +('1702702', '6300', 'Weapon 3'), /*Porong Fan*/ +('1702689', '6300', 'Weapon 3'), /*Fairy Flora*/ +('1702688', '7400', 'Weapon 3'), /*Superstar M*/ +/*Page 11*/ +('1702691', '4900', 'Weapon 3'), /*Fairy Flora*/ +('1702690', '5600', 'Weapon 3'), /*Noble Maple Rod*/ +('1702693', '7600', 'Weapon 3'), /*Bubble Leaf Weapon*/ +('1702692', '6300', 'Weapon 3'), /*Chicken Cutie Weapon*/ +('1702695', '5000', 'Weapon 3'), /*Overly Cute Puppy*/ +('1702694', '5000', 'Weapon 3'), /*Pastel Rose*/ +('1702745', '7100', 'Weapon 3'), /*Spring Fairy Flower*/ +('1702744', '3800', 'Weapon 3'), /*Starlight Lantern*/ +('1702747', '5000', 'Weapon 3'), /*Baby Magpie Buddy*/ +/*Page 12*/ +('1702746', '3600', 'Weapon 3'), /*Dinofrog*/ +('1702749', '3800', 'Weapon 3'), /*Love Letter Book Bag*/ +('1702748', '4900', 'Weapon 3'), /*Guinea Pig Weapon*/ +('1702750', '5600', 'Weapon 3'), /*Strawberry Fitness Jump Rope*/ +('1702737', '4700', 'Weapon 3'), /*Frost Staff*/ +('1702736', '3400', 'Weapon 3'), /*Frost Staff*/ +('1702740', '6400', 'Weapon 3'), /*Go Yellow Chicks!*/ +('1702742', '7600', 'Weapon 3'), /*Nova Enchanter Staff*/ +('1702729', '5600', 'Weapon 3'), /*Deep-fried Drumstick*/ +/*Page 13*/ +('1702728', '6000', 'Weapon 3'), /*Sweet Jelly Paw*/ +('1702731', '3400', 'Weapon 3'), /*Snowrabbit*/ +('1702733', '4000', 'Weapon 3'), /*Monk Drum*/ +('1702732', '3800', 'Weapon 3'), /*Rabbit in a Hat*/ +('1702735', '3600', 'Weapon 3'), /*Rose Constellation*/ +('1702734', '6000', 'Weapon 3'), /*Maple 5000-Day Flag*/ +('1702721', '7100', 'Weapon 3'), /*죽음의 키읔*/ +('1702720', '7600', 'Weapon 3'), /*Maple M Playphone*/ +('1702723', '4700', 'Weapon 3'), /*Power Porker Trio*/ +/*Page 14*/ +('1702722', '3400', 'Weapon 3'), /*Winter Bunny*/ +('1702725', '8800', 'Weapon 3'), /*Necromancer*/ +('1702724', '3400', 'Weapon 3'), /*Undead Teddy*/ +('1702727', '3600', 'Weapon 3'), /*Rabbit Soap Shooter*/ +('1702726', '3600', 'Weapon 3'), /*Pumpkin Star*/ +('1702777', '5000', 'Weapon 3'), /*Refreshing Lemon Weapon*/ +('1702776', '3800', 'Weapon 3'), /*Water Granos and Weapon*/ +('1702779', '8800', 'Weapon 3'), /*Fluffy Teddy Candy*/ +('1702778', '5000', 'Weapon 3'), /*Summer Flower Fairy Weapon*/ +/*Page 15*/ +('1702781', '4000', 'Weapon 3'), /*Fish on a Stick*/ +('1702780', '8800', 'Weapon 3'), /*Bitten Donut Ring*/ +('1702783', '4900', 'Weapon 3'), /*Rabble Rouser Weapon*/ +('1702782', '5000', 'Weapon 3'), /*Surf's Up*/ +('1702769', '5200', 'Weapon 3'), /*Maple Galaxy Laser Gun*/ +('1702768', '8800', 'Weapon 3'), /*Mallow Fluff on a Stick*/ +('1702771', '4900', 'Weapon 3'), /*Banana Shake*/ +('1702770', '8800', 'Weapon 3'), /*Fancy Feather Quill*/ +('1702773', '8800', 'Weapon 3'), /*Eagle Weapon*/ +/*Page 16*/ +('1702772', '3400', 'Weapon 3'), /*Carrot Cake Shake*/ +('1702775', '3400', 'Weapon 3'), /*Watermelon Slice*/ +('1702774', '4900', 'Weapon 3'), /*Ocean Hydrangea*/ +('1702761', '4000', 'Weapon 3'), /*Sproutbrella*/ +('1702760', '6300', 'Weapon 3'), /*Hamster Devotion!*/ +('1702765', '3800', 'Weapon 3'), /*Soda Pop Weapon*/ +('1702764', '3400', 'Weapon 3'), /*Iron Mace Uniform Weapon*/ +('1702767', '7600', 'Weapon 3'), /*Mustachio on a Stick*/ +('1702766', '7600', 'Weapon 3'), /*Diamond Brilliance*/ +/*Page 17*/ +('1702753', '3800', 'Weapon 3'), /*Pandora Weapon*/ +('1702752', '3600', 'Weapon 3'), /*Silver Flower Child Weapon*/ +('1702755', '5600', 'Weapon 3'), /*Sweet Baguette*/ +('1702757', '5200', 'Weapon 3'), /*Cygnus's Guard*/ +('1702756', '3400', 'Weapon 3'), /*Starlit Dreamweaver*/ +('1702759', '4700', 'Weapon 3'), /*Charming Cherry Pop*/ +('1702758', '5200', 'Weapon 3'), /*Pop Star Mic Skin*/ +('1702809', '3200', 'Weapon 3'), /*Bunny Marker*/ +('1702808', '7600', 'Weapon 3'), /*Iron Mace*/ +/*Page 18*/ +('1702811', '7600', 'Weapon 3'), /*Luminous Sea*/ +('1702810', '7600', 'Weapon 3'), /*Soft Snow*/ +('1702813', '4000', 'Weapon 3'), /*Royal Guard Weapon*/ +('1702812', '7100', 'Weapon 3'), /*Lunar New Year VIP Weapon*/ +('1702815', '4700', 'Weapon 3'), /*Plum Blossom*/ +('1702814', '6300', 'Weapon 3'), /*Rainbow Dreamcloud Weapon*/ +('1702801', '3600', 'Weapon 3'), /*Busy Penguin Bubble*/ +('1702800', '5600', 'Weapon 3'), /*Strawberry Fitness Jump Rope*/ +('1702803', '3400', 'Weapon 3'), /*Fish Bubbles Weapon*/ +/*Page 19*/ +('1702802', '4900', 'Weapon 3'), /*Cadena Vendetta Chain*/ +('1702805', '8800', 'Weapon 3'), /*Party Scepter*/ +('1702804', '3800', 'Weapon 3'), /*Take Me Too!*/ +('1702807', '6300', 'Weapon 3'), /*Steamed Sweet*/ +('1702806', '8800', 'Weapon 3'), /*Glowing Pumpkin Basket*/ +('1702793', '7400', 'Weapon 3'), /*Eggplant of Doom*/ +('1702792', '6300', 'Weapon 3'), /*Blood Oath Weapon*/ +('1702795', '5000', 'Weapon 3'), /*Enchanting Flute*/ +('1702794', '4900', 'Weapon 3'), /*Cattail Cutlass*/ +/*Page 20*/ +('1702797', '4000', 'Weapon 3'), /*Meow Weapon*/ +('1702796', '6300', 'Weapon 3'), /*Organic Rice*/ +('1702799', '4700', 'Weapon 3'), /*Small Formosan Deer Weapon*/ +('1702798', '6000', 'Weapon 3'), /*Christmas Bunny Weapon*/ +('1702785', '3200', 'Weapon 3'), /*Cursed Bat Weapon*/ +('1702784', '6400', 'Weapon 3'), /*Feather Messenger Weapon*/ +('1702787', '4700', 'Weapon 3'), /*Shadow Tactician Weapon*/ +('1702786', '3200', 'Weapon 3'), /*Blood Oath Weapon*/ +('1702789', '7600', 'Weapon 3'), /*Pupmallow Pop Weapon*/ +/*Page 21*/ +('1702788', '3800', 'Weapon 3'), /*Cat Cafe Weapon*/ +('1702791', '5200', 'Weapon 3'), /*Master of Hearts*/ +('1702790', '7100', 'Weapon 3'), /*Golden Eventides*/ +('1702841', '6000', 'Weapon 3'), /*Erda Weapon*/ +('1702840', '4000', 'Weapon 3'), /*Happy Ghost Weapon*/ +('1702842', '3600', 'Weapon 3'), /*Navy Telescope Weapon*/ +('1702845', '6300', 'Weapon 3'), /*Your Good Side*/ +('1702844', '6000', 'Weapon 3'), /*Antoine Pocket Watch*/ +('1702847', '3400', 'Weapon 3'), /*Cloudy Paper Plane Weapon*/ +/*Page 22*/ +('1702846', '6300', 'Weapon 3'), /*Summer Story Weapon*/ +('1702833', '5000', 'Weapon 3'), /*Oceanic Requiem Weapon*/ +('1702832', '4900', 'Weapon 3'), /*Spring Flower Deer*/ +('1702835', '4900', 'Weapon 3'), /*Uglee*/ +('1702834', '4700', 'Weapon 3'), /*Electric Weapon*/ +('1702837', '3800', 'Weapon 3'), /*Candy Angel*/ +('1702836', '8800', 'Weapon 3'), /*Maple Gumshoe's Tablet*/ +('1702839', '5000', 'Weapon 3'), /*Bichon Bam*/ +('1702838', '3200', 'Weapon 3'), /*Jailbreak Spoon*/ +/*Page 23*/ +('1702825', '7600', 'Weapon 3'), /*Homeless Cat Weapon*/ +('1702824', '3400', 'Weapon 3'), /*Golden Mochi*/ +('1702827', '3200', 'Weapon 3'), /*Rainbow Bubbles*/ +('1702826', '6400', 'Weapon 3'), /*Kiddy Crayon*/ +('1702829', '4000', 'Weapon 3'), /*Little Darling*/ +('1702828', '5600', 'Weapon 3'), /*Carbon Wings*/ +('1702831', '3400', 'Weapon 3'), /*Tennis Racket*/ +('1702830', '7100', 'Weapon 3'), /*Spring Rain Parasol*/ +('1702817', '3600', 'Weapon 3'), /*Invincible Blade*/ +/*Page 24*/ +('1702816', '5600', 'Weapon 3'), /*Flurry Bear*/ +('1702819', '5000', 'Weapon 3'), /*Tennis Weapon*/ +('1702818', '3800', 'Weapon 3'), /*World of Pink Weapon*/ +('1702821', '4000', 'Weapon 3'), /*Picnic Basket Weapon*/ +('1702820', '4000', 'Weapon 3'), /*Butterfly Weapon*/ +('1702823', '3200', 'Weapon 3'), /*Maple Blitzer Strategist Deck*/ +('1702822', '6300', 'Weapon 3'), /*Pink Puzzle Weapon*/ +('1702873', '7100', 'Weapon 3'), /*Tri-color Bag Weapon*/ +('1702872', '6400', 'Weapon 3'), /*Cluck, Cluck, Bean*/ +/*Page 25*/ +('1702875', '7600', 'Weapon 3'), /*Frostblade Weapon*/ +('1702874', '7100', 'Weapon 3'), /*Little Star Cocoon Weapon*/ +('1702877', '7600', 'Weapon 3'), /*Mu Young's Sword*/ +('1702876', '5000', 'Weapon 3'), /*Necrotic Whip*/ +('1702879', '5600', 'Weapon 3'), /*Dreamland Unicorn*/ +('1702878', '4700', 'Weapon 3'), /*Regal Romance Parasol*/ +('1702865', '3800', 'Weapon 3'), /*Reflection of Truth*/ +('1702867', '6300', 'Weapon 3'), /*Fairy in a Gilded Cage*/ +('1702866', '5000', 'Weapon 3'), /*Firefly Firelight Lantern*/ +/*Page 26*/ +('1702869', '7100', 'Weapon 3'), /*Autumn Lantern Weapon*/ +('1702868', '5000', 'Weapon 3'), /*Heavenly Prayer Weapon*/ +('1702871', '8800', 'Weapon 3'), /*Heart Diary*/ +('1702870', '5200', 'Weapon 3'), /*Imperial Honor*/ +('1702857', '8800', 'Weapon 3'), /*Infinite Star Cluster*/ +('1702856', '3400', 'Weapon 3'), /*Infinite Star Cluster*/ +('1702859', '6000', 'Weapon 3'), /*Lotus's Lovey Doll*/ +('1702858', '3800', 'Weapon 3'), /*Seafoam Coral Blade*/ +('1702861', '4900', 'Weapon 3'), /*One-Eyed Grim Reaper Weapon*/ +/*Page 27*/ +('1702860', '3600', 'Weapon 3'), /*Starry Summer Night Weapon*/ +('1702863', '4900', 'Weapon 3'), /*Alliance Commander Wing Sword*/ +('1702862', '3600', 'Weapon 3'), /*Night Procession Spirit Lamp Weapon*/ +('1702849', '7400', 'Weapon 3'), /*Crispy Carrot Skateboard*/ +('1702848', '5000', 'Weapon 3'), /*Retro Scalene Rapier*/ +('1702851', '4700', 'Weapon 3'), /*Catkerchief Packed Lunch*/ +('1702850', '4000', 'Weapon 3'), /*Spring Green Foxtail*/ +('1702853', '5200', 'Weapon 3'), /*Traditional Thai Attire Weapon*/ +('1702855', '3600', 'Weapon 3'), /*White Ducky Inner Tube*/ +/*Page 28*/ +('1702854', '4900', 'Weapon 3'), /*Maple Alliance Flag*/ +('1702905', '6000', 'Weapon 3'), /*Wish Fulfiller Crossbody Tote*/ +('1702904', '3200', 'Weapon 3'), /*Midnight Magician Weapon*/ +('1702906', '4900', 'Weapon 3'), /*Cursed Bow*/ +('1702909', '6000', 'Weapon 3'), /*Gorgon Baston*/ +('1702911', '4900', 'Weapon 3'), /*Drowsy Rabbit*/ +('1702910', '4700', 'Weapon 3'), /*Bushmaster Sword*/ +('1702897', '3800', 'Weapon 3'), /*SALLY's Skateboard*/ +('1702896', '7100', 'Weapon 3'), /*LEONARD's Leafy Greens*/ +/*Page 29*/ +('1702899', '4000', 'Weapon 3'), /*Valiant EDWARD*/ +('1702898', '5600', 'Weapon 3'), /*Gamboling CONY*/ +('1702901', '4000', 'Weapon 3'), /*Crystalline Wand*/ + + + +/*Page 1*/ +('1702900', '4900', 'Weapon 4'), /*Azure Sunset Sword*/ +('1702903', '6000', 'Weapon 4'), /*Sunny Songbird Weapon*/ +('1702902', '5000', 'Weapon 4'), /*Celestial Staff*/ +('1702889', '5600', 'Weapon 4'), /*Hunny Bun Bear Bell*/ +('1702888', '5600', 'Weapon 4'), /*Drowsy Bunny*/ +('1702891', '8800', 'Weapon 4'), /*Scribble Bloom*/ +('1702890', '5600', 'Weapon 4'), /*Rainbow Duster*/ +('1702893', '5600', 'Weapon 4'), /*Green Leaf Goobie*/ +('1702892', '3800', 'Weapon 4'), /*Sugarsweet Candy Spear*/ +/*Page 2*/ +('1702895', '6000', 'Weapon 4'), /*Golden Attack Pig*/ +('1702894', '5200', 'Weapon 4'), /*Ice Cream CONY*/ +('1702881', '4700', 'Weapon 4'), /*Chrome Dumbbell*/ +('1702880', '8800', 'Weapon 4'), /*Reaper's Wing*/ +('1702883', '5600', 'Weapon 4'), /*Pajama Party*/ +('1702882', '4700', 'Weapon 4'), /*Snowflake Sugarpop*/ +('1702885', '3800', 'Weapon 4'), /*Lunar New Year Pudgy Piggy*/ +('1702884', '6000', 'Weapon 4'), /*Cobalt Filigree*/ +('1702887', '5200', 'Weapon 4'), /*Camelia Tea Time*/ +/*Page 3*/ +('1702886', '6400', 'Weapon 4'), /*Sweet Beary Chocolate*/ +('1702927', '6400', 'Weapon 4'), /*Red Lotus Spirit Walker's Fan*/ +('1702913', '8800', 'Weapon 4'), /*Starry Light Weapon*/ +('1702912', '8800', 'Weapon 4'), /*Demonic Sword*/ +('1702915', '6000', 'Weapon 4'), /*Fox Fire Familiar*/ +('1702917', '4700', 'Weapon 4'), /*Blue Flame Whip*/ +('1702916', '6300', 'Weapon 4'), /*Springtime Sprout Greenery*/ + + + + + +/* Hat */ +/*Page 1*/ +('1000015', '7100', 'Hat'), /*Blue Crown*/ +('1000014', '7400', 'Hat'), /*Green Crown*/ +('1000013', '7100', 'Hat'), /*Yellow Crown*/ +('1000012', '6000', 'Hat'), /*Black M-Forcer Helmet*/ +('1000011', '5000', 'Hat'), /*Green M-Forcer Helmet*/ +('1000010', '6300', 'Hat'), /*Blue M-Forcer Helmet*/ +('1000009', '7100', 'Hat'), /*Red M-Forcer Helmet*/ +('1000008', '3800', 'Hat'), /*Detective Hat*/ +('1000007', '5200', 'Hat'), /*Hat of Death*/ +/*Page 2*/ +('1000006', '4000', 'Hat'), /*Samurai Hair-do*/ +('1000005', '3800', 'Hat'), /*Men's Ninja Hat*/ +('1000004', '8800', 'Hat'), /*Old School Uniform Hat*/ +('1000003', '7600', 'Hat'), /*Ghost Mask*/ +('1000002', '7400', 'Hat'), /*Fine Blue Hanbok Hat*/ +('1000001', '5600', 'Hat'), /*Fine Black Hanbok Hat*/ +('1000000', '3400', 'Hat'), /*Blue Beanie*/ +('1000031', '5600', 'Hat'), /*Veamoth Wig (M)*/ +('1000030', '4700', 'Hat'), /*Sachiel Wig (M)*/ +/*Page 3*/ +('1000029', '3800', 'Hat'), /*Wedding veil*/ +('1000028', '4700', 'Hat'), /*Korean Official Hat*/ +('1000027', '3400', 'Hat'), /*Lunar Festivities Cap*/ +('1000026', '5600', 'Hat'), /*Santa Boy Hat*/ +('1000024', '3600', 'Hat'), /*Oriental Bridegroom Hat*/ +('1000023', '5200', 'Hat'), /*Race Ace Cap*/ +('1000022', '7400', 'Hat'), /*General's Wig*/ +('1000021', '3800', 'Hat'), /*General's Wig*/ +('1000020', '3200', 'Hat'), /*Chief Hat*/ +/*Page 4*/ +('1000019', '3600', 'Hat'), /*Green Goya Hat*/ +('1000018', '8800', 'Hat'), /*Kuniragi Hat*/ +('1000017', '7600', 'Hat'), /*Van Hat*/ +('1000016', '5600', 'Hat'), /*Red Crown*/ +('1000046', '3400', 'Hat'), /*Elven Spirit Band (M)*/ +('1000045', '3800', 'Hat'), /*Dark Force Horns (M) */ +('1000044', '5000', 'Hat'), /*Twinkling Boy Hat*/ +('1000043', '8800', 'Hat'), /*Santa Hat*/ +('1000042', '7400', 'Hat'), /*Napoleon Hat*/ +/*Page 5*/ +('1000041', '5200', 'Hat'), /*Napoleon Hat*/ +('1000035', '8800', 'Hat'), /*White Floral Hat*/ +('1000032', '7400', 'Hat'), /*Janus Wig (M)*/ +('1000062', '7400', 'Hat'), /*Cool Carrot Hat*/ +('1000061', '6400', 'Hat'), /*Alps Boy Hat*/ +('1000060', '3600', 'Hat'), /*Dark Force Horns*/ +('1000059', '7100', 'Hat'), /*[MS Custom] Black M-Forcer Helmet*/ +('1000058', '6400', 'Hat'), /*Evergreen Magistrate Hat*/ +('1000051', '7100', 'Hat'), /*Aerial Elven Spirit Band*/ +/*Page 6*/ +('1000050', '5200', 'Hat'), /*Mint Snow Cap*/ +('1000079', '4900', 'Hat'), /*Mad Doctor Bolt*/ +('1000077', '6300', 'Hat'), /*Dylan's Silk Hat*/ +('1000076', '5600', 'Hat'), /*Red Dusk*/ +('1000074', '7100', 'Hat'), /*Yellow Picnic Beret*/ +('1000072', '6000', 'Hat'), /*Jumpy Blue*/ +('1000071', '5200', 'Hat'), /*Blue Pedora*/ +('1000070', '3200', 'Hat'), /*Bon-Bon Pony Hat*/ +('1000069', '6300', 'Hat'), /*Moonlight Floral Hat*/ +/*Page 7*/ +('1000095', '3800', 'Hat'), /*Floral Bandana*/ +('1000094', '3600', 'Hat'), /*Bon-Bon Pony Hair*/ +('1000092', '4000', 'Hat'), /*Nutcracker Hat*/ +('1000091', '7100', 'Hat'), /*Bloody Guardian Hood*/ +('1000090', '7400', 'Hat'), /*Penguin Hood*/ +('1000089', '7600', 'Hat'), /*Kinesis Wig*/ +('1000088', '4900', 'Hat'), /*Kinesis Wig*/ +('1000087', '7400', 'Hat'), /*Ribbon Headband*/ +('1000086', '7100', 'Hat'), /*Team Wig*/ +/*Page 8*/ +('1000085', '6300', 'Hat'), /*Aquamarine Gem*/ +('1000084', '7100', 'Hat'), /*Little Wing Cap*/ +('1000083', '5600', 'Hat'), /*Maple Festival Wig*/ +('1000082', '4700', 'Hat'), /*Fashionista Wig (M)*/ + +('1000080', '6400', 'Hat'), /*Santa Boy Hat*/ +('1000101', '5600', 'Hat'), /*Santa Boy Hat*/ +('1000100', '6000', 'Hat'), /*Movie Protagonist Wig*/ +('1000099', '5600', 'Hat'), /*New Year Photo Protagonist Wig*/ +/*Page 9*/ +('1000097', '4900', 'Hat'), /*Night Ciel*/ +('1000096', '5000', 'Hat'), /*Moonlit Night Hair*/ +('1001007', '3600', 'Hat'), /*Miko Wig*/ +('1001006', '5200', 'Hat'), /*SF Ninja Hat*/ +('1001005', '4700', 'Hat'), /*Women's Ninja Hat*/ +('1001004', '3800', 'Hat'), /*White Nurse Hat*/ +('1001003', '6400', 'Hat'), /*Pink Nurse Hat*/ +('1001002', '5600', 'Hat'), /*Witch Hat*/ +('1001001', '7600', 'Hat'), /*Hanbok Jobawi*/ +/*Page 10*/ +('1001000', '4000', 'Hat'), /*Orange Beanie*/ +('1001023', '5200', 'Hat'), /*Picnic Hat*/ +('1001022', '6000', 'Hat'), /*Van Hat with Heart*/ +('1001021', '3400', 'Hat'), /*The Gabera Hat*/ +('1001020', '5600', 'Hat'), /*Lady Yellow*/ +('1001019', '3200', 'Hat'), /*Lady Pink*/ +('1001018', '6000', 'Hat'), /*Lady Blue*/ +('1001017', '8800', 'Hat'), /*Princess Tiara*/ +('1001016', '4900', 'Hat'), /*Black M-Forcer Helmet*/ +/*Page 11*/ +('1001015', '4900', 'Hat'), /*Yellow M-Forcer Helmet*/ +('1001014', '5000', 'Hat'), /*Pink M-Forcer Helmet*/ +('1001013', '3800', 'Hat'), /*Beret*/ +('1001012', '4900', 'Hat'), /*Tiara*/ +('1001011', '7100', 'Hat'), /*Strawberry Headgear*/ +('1001010', '3400', 'Hat'), /*Teddy Bear Hat*/ +('1001009', '6300', 'Hat'), /*Ribbon*/ +('1001008', '3800', 'Hat'), /*A Ladylike Hat*/ +('1001039', '3200', 'Hat'), /*Lunar Festivities Ornament*/ +/*Page 12*/ +('1001038', '4900', 'Hat'), /*Korean Dress Wig*/ +('1001037', '3800', 'Hat'), /*Leopard Print Hat*/ +('1001036', '4700', 'Hat'), /*Santa Girl Hat*/ +('1001034', '5200', 'Hat'), /*Oriental Princess Hat*/ +('1001033', '3800', 'Hat'), /*Maid Hat*/ +('1001032', '7400', 'Hat'), /*Black Cat Ears*/ +('1001031', '3800', 'Hat'), /*White Cat Ears*/ +('1001030', '6000', 'Hat'), /*Diao Chan Headpiece*/ +('1001029', '3600', 'Hat'), /*Yellow Bride's Veil*/ +/*Page 13*/ +('1001028', '7400', 'Hat'), /*Jami Wig*/ +('1001027', '7400', 'Hat'), /*Blue-Feathered Bandana*/ +('1001026', '7100', 'Hat'), /*Red-Feathered Bandana*/ +('1001025', '4000', 'Hat'), /*Ruby Tiara*/ +('1001024', '5000', 'Hat'), /*Diamond Tiara*/ +('1001055', '5000', 'Hat'), /*Strawberry Milk Frill Bonnet*/ +('1001049', '5200', 'Hat'), /*Gothic Headband*/ +('1001048', '4900', 'Hat'), /*Gothic Mini Hat*/ +('1001047', '4900', 'Hat'), /*Janus Wig (F)*/ +/*Page 14*/ +('1001046', '3200', 'Hat'), /*Veamoth Wig (F)*/ +('1001045', '8800', 'Hat'), /*Sachiel Wig (F)*/ +('1001044', '3400', 'Hat'), /*Green Bride's Veil*/ +('1001043', '6000', 'Hat'), /*Royal Tiara*/ +('1001042', '6000', 'Hat'), /*Purple Bride's Veil*/ +('1001041', '6300', 'Hat'), /*Royal Nurse Hat*/ +('1001040', '7100', 'Hat'), /*Royal Maid Hat*/ +('1001071', '3800', 'Hat'), /*Silver Angora Gatsby*/ +('1001070', '4000', 'Hat'), /*Gold Angora Gatsby*/ +/*Page 15*/ +('1001069', '3400', 'Hat'), /*Elven Spirit Band (F) */ +('1001068', '7400', 'Hat'), /*Dark Force Horns (F) */ +('1001066', '5000', 'Hat'), /*Red Hood Bandana*/ +('1001065', '3200', 'Hat'), /*Pink Angel Wing Cap*/ +('1001064', '4900', 'Hat'), /*Twinkling Girl Hat*/ +('1001063', '6400', 'Hat'), /*Dear Christmas*/ +('1001062', '5200', 'Hat'), /*Elizabeth Hat*/ +('1001061', '5000', 'Hat'), /*Elizabeth Hat*/ +('1001058', '7100', 'Hat'), /*Native American Chief Hat*/ +/*Page 16*/ +('1001087', '7600', 'Hat'), /*Dark Force Horns*/ +('1001085', '4000', 'Hat'), /*Pinky Butterfly Hair Pin*/ +('1001084', '5000', 'Hat'), /*Angelic Navy Cap*/ +('1001083', '3200', 'Hat'), /*Angelic Ribbon*/ +('1001082', '4700', 'Hat'), /*Red Hood Bandana*/ +('1001077', '4900', 'Hat'), /*Aerial Elven Spirit Band*/ +('1001076', '5600', 'Hat'), /*Cherry Snow Cap*/ +('1001075', '3200', 'Hat'), /*Star of Ereve*/ +('1001103', '3600', 'Hat'), /*Fashionista Wig (F)*/ +/*Page 17*/ +('1001101', '7400', 'Hat'), /*Santa Girl Hat*/ +('1001100', '4900', 'Hat'), /*Ribbon Angel Cap*/ +('1001099', '6000', 'Hat'), /*Rosalia's Rose*/ +('1001098', '7400', 'Hat'), /*Blue Twilight*/ +('1001097', '5000', 'Hat'), /*White Picnic Beret*/ +('1001095', '5600', 'Hat'), /*Jumpy Pink*/ +('1001094', '4000', 'Hat'), /*Lace Cap*/ +('1001093', '5600', 'Hat'), /*Bon-Bon Pony Cap*/ +('1001092', '4900', 'Hat'), /*Moonlight Floral Hairpin*/ +/*Page 18*/ +('1001091', '3600', 'Hat'), /*Dumpling Head Wig*/ +('1001090', '4900', 'Hat'), /*Fluffy Cat Hood*/ +('1001089', '3400', 'Hat'), /*Warm Carrot Hat*/ +('1001088', '6300', 'Hat'), /*Alps Girl Hat*/ +('1001119', '7600', 'Hat'), /*Snowy Night Hair*/ +('1001118', '3400', 'Hat'), /*Floral Ayam*/ +('1001117', '5200', 'Hat'), /*Lucid's Hat*/ +('1001116', '7600', 'Hat'), /*Pon-Pon Pony Hat*/ +('1001113', '7600', 'Hat'), /*Bloody Veil*/ +/*Page 19*/ +('1001112', '4900', 'Hat'), /*Penguin Hood*/ +('1001111', '4000', 'Hat'), /*Kinesis Wig*/ +('1001110', '6300', 'Hat'), /*Kinesis Wig*/ +('1001109', '6400', 'Hat'), /*Odette Tiara*/ +('1001108', '5000', 'Hat'), /*Ribbon Headband*/ +('1001107', '4700', 'Hat'), /*Momo Wig*/ +('1001106', '5600', 'Hat'), /*Pink Diamond Gem*/ +('1001105', '4700', 'Hat'), /*Little Wing Fedora*/ +('1001104', '5000', 'Hat'), /*Maple Festival Wig*/ +/*Page 20*/ +('1001124', '5200', 'Hat'), /*Santa Girl Hat*/ +('1001123', '6300', 'Hat'), /*Movie Protagonist Wig*/ +('1001122', '5200', 'Hat'), /*New Year Photo Protagonist Wig*/ +('1001120', '4900', 'Hat'), /*Night Elodie*/ +('1002015', '7600', 'Hat'), /*Red Swimming Goggle*/ +('1002000', '5200', 'Hat'), /*Brown Flight Headgear*/ +('1002031', '6000', 'Hat'), /*Cat Hat*/ +('1002018', '4000', 'Hat'), /*Green Camping Hat*/ +('1002032', '4900', 'Hat'), /*Puffy Brown Hat*/ +/*Page 21*/ +('1002079', '5000', 'Hat'), /*Pink Camping Hat*/ +('1002078', '3200', 'Hat'), /*Sky Blue Camping Hat*/ +('1002077', '3400', 'Hat'), /*Blue Flight Headgear*/ +('1002076', '3600', 'Hat'), /*Red Flight Headgear*/ +('1002071', '7400', 'Hat'), /*Blue Swimming Goggle*/ +('1002070', '7600', 'Hat'), /*Green Swimming Goggle*/ +('1002191', '5600', 'Hat'), /*Red Pre-School Hat*/ +('1002190', '6300', 'Hat'), /*Blue Pre-School Hat*/ +('1002189', '5200', 'Hat'), /*Dark Cowboy Hat*/ +/*Page 22*/ +('1002188', '7100', 'Hat'), /*Red Cowboy Hat*/ +('1002187', '5600', 'Hat'), /*Blue Cowboy Hat*/ +('1002186', '7100', 'Hat'), /*Transparent Hat*/ +('1002206', '7400', 'Hat'), /*Green Rain Cap*/ +('1002205', '3200', 'Hat'), /*Sky Blue Rain Cap*/ +('1002204', '7400', 'Hat'), /*Red Rain Cap*/ +('1002203', '6300', 'Hat'), /*Yellow Rain Cap*/ +('1002202', '7100', 'Hat'), /*Orange Visor*/ +('1002201', '5600', 'Hat'), /*Sky Blue Visor*/ +/*Page 23*/ +('1002200', '5600', 'Hat'), /*Green Visor*/ +('1002199', '4900', 'Hat'), /*Black Baseball Helmet*/ +('1002198', '4700', 'Hat'), /*Indigo Baseball Helmet*/ +('1002197', '4000', 'Hat'), /*Red Baseball Helmet*/ +('1002196', '8800', 'Hat'), /*Blue Baseball Helmet*/ +('1002195', '7600', 'Hat'), /*Flowery Swimming Cap*/ +('1002194', '7100', 'Hat'), /*Rosy Swimming Cap*/ +('1002193', '3200', 'Hat'), /*Maroon Chinese Undead Hat*/ +('1002192', '3200', 'Hat'), /*Blue Chinese Undead Hat*/ +/*Page 24*/ +('1002223', '5600', 'Hat'), /*Blue Upside-Down Visor*/ +('1002222', '5200', 'Hat'), /*Red Upside-Down Visor*/ +('1002221', '3800', 'Hat'), /*Purple Slanted Visor*/ +('1002220', '7400', 'Hat'), /*Black Slanted Visor*/ +('1002219', '4900', 'Hat'), /*Destreza Hat*/ +('1002239', '3400', 'Hat'), /*The Legendary Gold Poop Hat*/ +('1002238', '6400', 'Hat'), /*Construction Hardhat*/ +('1002237', '3400', 'Hat'), /*Blue Cap*/ +('1002236', '7100', 'Hat'), /*Khaki Goggled Beanie*/ +/*Page 25*/ +('1002235', '5200', 'Hat'), /*Sky Blue Goggled Beanie*/ +('1002234', '7400', 'Hat'), /*Starry Sky Blue Beanie*/ +('1002233', '5600', 'Hat'), /*Starry Pink Beanie*/ +('1002232', '4700', 'Hat'), /*Starry Red Beanie*/ +('1002231', '4700', 'Hat'), /*Goggled Blue Cap*/ +('1002230', '7400', 'Hat'), /*Goggled Black Cap*/ +('1002229', '3400', 'Hat'), /*Goggled Red Cap*/ +('1002228', '7600', 'Hat'), /*Cabbie*/ +('1002227', '6400', 'Hat'), /*Blue Fisherman Hat*/ +/*Page 26*/ +('1002226', '3200', 'Hat'), /*Fashionable Hat*/ +('1002225', '8800', 'Hat'), /*Santa Hat*/ +('1002224', '5000', 'Hat'), /*Tiger Mask*/ +('1002255', '5000', 'Hat'), /*Circus Cowboy Hat*/ +('1002251', '8800', 'Hat'), /*The Graduation Hat*/ +('1002250', '4000', 'Hat'), /*Headphone Bandana*/ +('1002241', '3800', 'Hat'), /*Techwin Wig*/ +('1002240', '4700', 'Hat'), /*Hajimaki*/ +('1002266', '7400', 'Hat'), /*Basic Earmuff*/ +/*Page 27*/ +('1002265', '5600', 'Hat'), /*Elf's Ear*/ +('1002264', '5200', 'Hat'), /*Hardhat*/ +('1002263', '5600', 'Hat'), /*Green Trucker Hat*/ +('1002262', '7400', 'Hat'), /*Red Trucker Hat*/ +('1002261', '6300', 'Hat'), /*Blue Trucker Hat*/ +('1002260', '4700', 'Hat'), /*Yellow Trucker Hat*/ +('1002259', '3400', 'Hat'), /*Black Top Hat*/ +('1002258', '7600', 'Hat'), /*Blue Diamondy Bandana*/ +('1002257', '5600', 'Hat'), /*Blue Mushroom Hat*/ +/*Page 28*/ +('1002256', '5600', 'Hat'), /*Orange Mushroom Hat*/ +('1002280', '6300', 'Hat'), /*Ducky Hat*/ +('1002279', '6400', 'Hat'), /*Bunny Hat*/ +('1002303', '4000', 'Hat'), /*Blue Picnic Hat*/ +('1002302', '3200', 'Hat'), /*Pink Picnic Hat*/ +('1002301', '6300', 'Hat'), /*Yellow Picnic Hat*/ +('1002300', '4000', 'Hat'), /*Green Picnic Hat*/ +('1002299', '7100', 'Hat'), /*Cubic Newsie Hat*/ +('1002298', '3800', 'Hat'), /*Blue Bucket Hat*/ +/*Page 29*/ +('1002297', '6400', 'Hat'), /*Brown Bucket Hat*/ +('1002296', '7600', 'Hat'), /*Slime Hat*/ +('1002295', '7100', 'Hat'), /*Chef's Hat*/ + + + +/*Page 1*/ +('1002294', '8800', 'Hat 2'), /*Red Frill Pajama Hat*/ +('1002293', '4700', 'Hat 2'), /*Blue Pajama Hat*/ +('1002292', '6300', 'Hat 2'), /*Pink Frill Pajama Hat*/ +('1002291', '3600', 'Hat 2'), /*Starred Hunting Hat*/ +('1002290', '6400', 'Hat 2'), /*Camouflaged Helmet*/ +('1002319', '7600', 'Hat 2'), /*Whale Hat*/ +('1002318', '4000', 'Hat 2'), /*Red Headband*/ +('1002317', '3800', 'Hat 2'), /*Grey Headband*/ +('1002316', '7400', 'Hat 2'), /*Blue Straw Hat*/ +/*Page 2*/ +('1002315', '5600', 'Hat 2'), /*Red Straw Hat*/ +('1002314', '3400', 'Hat 2'), /*Zombie Mushroom Hat*/ +('1002313', '3400', 'Hat 2'), /*Palm Tree Hat*/ +('1002312', '3600', 'Hat 2'), /*Evil Watermelon Hat*/ +('1002311', '7400', 'Hat 2'), /*Traveler's Hat*/ +('1002310', '8800', 'Hat 2'), /*Flower Crown*/ +('1002309', '6400', 'Hat 2'), /*Watermelon Hat*/ +('1002308', '7100', 'Hat 2'), /*Orange B-Ball Headband*/ +('1002307', '3200', 'Hat 2'), /*Blue B-Ball Headband*/ +/*Page 3*/ +('1002306', '7600', 'Hat 2'), /*Brown Headband*/ +('1002305', '5600', 'Hat 2'), /*Blue Headband*/ +('1002304', '8800', 'Hat 2'), /*Silver Chain Hat*/ +('1002335', '5600', 'Hat 2'), /*Triangular Hat*/ +('1002334', '7400', 'Hat 2'), /*Raccoon Hat*/ +('1002333', '5600', 'Hat 2'), /*Big Halo*/ +('1002332', '7400', 'Hat 2'), /*Cloud Goblin*/ +('1002331', '7100', 'Hat 2'), /*Wind Goblin*/ +('1002322', '4700', 'Hat 2'), /*Lobster Hat*/ +/*Page 4*/ +('1002321', '6000', 'Hat 2'), /*Crow Hat*/ +('1002320', '7100', 'Hat 2'), /*Fuji Hat*/ +('1002351', '7100', 'Hat 2'), /*Yellow Cowboy Hat*/ +('1002350', '7100', 'Hat 2'), /*Red Cowboy Hat*/ +('1002349', '8800', 'Hat 2'), /*Black Cowboy Hat*/ +('1002348', '5600', 'Hat 2'), /*Bamboo Hat*/ +('1002347', '4000', 'Hat 2'), /*Brown Corporal Hat*/ +('1002346', '7600', 'Hat 2'), /*Blue Corporal Hat*/ +('1002345', '7400', 'Hat 2'), /*Party Hat*/ +/*Page 5*/ +('1002344', '6000', 'Hat 2'), /*Woodsman Hat*/ +('1002343', '3800', 'Hat 2'), /*White Beanie*/ +('1002342', '3400', 'Hat 2'), /*Olive Beanie*/ +('1002341', '5200', 'Hat 2'), /*Starry Olive Beanie*/ +('1002337', '7600', 'Hat 2'), /*Laurel Crown*/ +('1002336', '6300', 'Hat 2'), /*Noble Moca*/ +('1002367', '8800', 'Hat 2'), /*Angel Halo*/ +('1002362', '6400', 'Hat 2'), /*White Festive Gumball*/ +('1002361', '7600', 'Hat 2'), /*Red Festive Gumball*/ +/*Page 6*/ +('1002360', '7100', 'Hat 2'), /*Pink Knitted Gumball*/ +('1002359', '6400', 'Hat 2'), /*Blue Knitted Gumball*/ +('1002358', '6300', 'Hat 2'), /*Green Knitted Gumball*/ +('1002356', '5200', 'Hat 2'), /*Yellow Kitty Beanie*/ +('1002355', '7100', 'Hat 2'), /*Blue Kitty Beanie*/ +('1002354', '3200', 'Hat 2'), /*Yellow Knitted Hat*/ +('1002353', '5000', 'Hat 2'), /*Purple Knitted Hat*/ +('1002352', '4900', 'Hat 2'), /*Red Knitted Hat*/ +('1002376', '7400', 'Hat 2'), /*Pink Beret*/ +/*Page 7*/ +('1002375', '7600', 'Hat 2'), /*Yellow Beret*/ +('1002374', '8800', 'Hat 2'), /*Red Beret*/ +('1002373', '5600', 'Hat 2'), /*Cloth Wrapper*/ +('1002372', '3400', 'Hat 2'), /*Feathered Bandana with Hearts*/ +('1002371', '7100', 'Hat 2'), /*Red-Dotted Feathered Bandana*/ +('1002370', '3200', 'Hat 2'), /*Black-Striped Feathered Bandana*/ +('1002369', '8800', 'Hat 2'), /*Antenna Hairband*/ +('1002368', '6000', 'Hat 2'), /*Reindeer Hat*/ +('1002397', '7400', 'Hat 2'), /*Sunflower Petal*/ +/*Page 8*/ +('1002396', '7100', 'Hat 2'), /*Hawaiian Flower*/ +('1002389', '6300', 'Hat 2'), /*Devilish Horns*/ +('1002388', '5000', 'Hat 2'), /*Peter Pan Hat*/ +('1002387', '3600', 'Hat 2'), /*Green Eskimo Hat*/ +('1002386', '3400', 'Hat 2'), /*Brown Eskimo Hat*/ +('1002385', '3800', 'Hat 2'), /*Red Eskimo Hat*/ +('1002384', '7600', 'Hat 2'), /*Casual Cowboy Hat*/ +('1002415', '4700', 'Hat 2'), /*Zombie Mushroom Hat*/ +('1002414', '8800', 'Hat 2'), /*Orange Mushroom Hat*/ +/*Page 9*/ +('1002413', '7600', 'Hat 2'), /*Octopus Hat*/ +('1002412', '5200', 'Hat 2'), /*Skyblue Turban*/ +('1002411', '3200', 'Hat 2'), /*Yellow Turban*/ +('1002410', '3600', 'Hat 2'), /*Pink Turban*/ +('1002409', '6400', 'Hat 2'), /*Tin Bucket*/ +('1002431', '3400', 'Hat 2'), /*Bull's Horn*/ +('1002429', '3600', 'Hat 2'), /*Meshcap*/ +('1002428', '6300', 'Hat 2'), /*Beige Checkered Hat*/ +('1002427', '7400', 'Hat 2'), /*Green Goya Beret*/ +/*Page 10*/ +('1002426', '7100', 'Hat 2'), /*Beige Goya Beret*/ +('1002423', '7400', 'Hat 2'), /*Yellow Knitted Beanie*/ +('1002422', '7600', 'Hat 2'), /*Blue Knitted Beanie*/ +('1002421', '5000', 'Hat 2'), /*Pink Knitted Beanie*/ +('1002420', '7100', 'Hat 2'), /*Biker Bandana*/ +('1002417', '3400', 'Hat 2'), /*Drake Hat*/ +('1002416', '3600', 'Hat 2'), /*Slime Hat*/ +('1002447', '3800', 'Hat 2'), /*Rolled Towel*/ +('1002446', '3400', 'Hat 2'), /*Sun Quan Headpiece*/ +/*Page 11*/ +('1002445', '4900', 'Hat 2'), /*Cao Cao Headpiece*/ +('1002444', '4000', 'Hat 2'), /*Liu Bei Headpiece*/ +('1002443', '3400', 'Hat 2'), /*Patissier Hat*/ +('1002442', '3400', 'Hat 2'), /*Rainbow Afro Wig*/ +('1002440', '7400', 'Hat 2'), /*Pink Jelly Cap*/ +('1002439', '3400', 'Hat 2'), /*Blue Jelly Cap*/ +('1002438', '3600', 'Hat 2'), /*Zhu-Ge-Liang Hat*/ +('1002437', '6400', 'Hat 2'), /*Guan Yu Headpiece*/ +('1002435', '7600', 'Hat 2'), /*Korean Flower Petal*/ +/*Page 12*/ +('1002434', '4900', 'Hat 2'), /*Autumn Hat*/ +('1002433', '3600', 'Hat 2'), /*Summer Hat*/ +('1002432', '6000', 'Hat 2'), /*Spring Hat*/ +('1002463', '8800', 'Hat 2'), /*Horoscope Hat (Virgo)*/ +('1002462', '4900', 'Hat 2'), /*Horoscope Hat (Leo)*/ +('1002461', '8800', 'Hat 2'), /*Horoscope Hat (Cancer)*/ +('1002460', '5200', 'Hat 2'), /*Horoscope Hat (Gemini)*/ +('1002459', '3600', 'Hat 2'), /*Horoscope Hat (Taurus)*/ +('1002458', '3200', 'Hat 2'), /*Horoscope Hat (Aries)*/ +/*Page 13*/ +('1002457', '7400', 'Hat 2'), /*Horoscope Hat (Pisces)*/ +('1002456', '3600', 'Hat 2'), /*Horoscope Hat (Aquarius)*/ +('1002451', '4700', 'Hat 2'), /*Starfish*/ +('1002450', '7400', 'Hat 2'), /*Conch Cap*/ +('1002449', '3200', 'Hat 2'), /*Winged Cap*/ +('1002479', '5600', 'Hat 2'), /*Snowman Mask*/ +('1002478', '3800', 'Hat 2'), /*Mushroom Hair Pin*/ +('1002477', '5600', 'Hat 2'), /*Slime Hair Pin*/ +('1002476', '7400', 'Hat 2'), /*Rough Hat*/ +/*Page 14*/ +('1002472', '6400', 'Hat 2'), /*Cabbage Patch Hat*/ +('1002470', '4900', 'Hat 2'), /*Welding Mask*/ +('1002469', '3600', 'Hat 2'), /*Jester Hat*/ +('1002468', '3200', 'Hat 2'), /*Golden Bulldog Hat*/ +('1002467', '8800', 'Hat 2'), /*Horoscope Hat (Capricorn)*/ +('1002466', '8800', 'Hat 2'), /*Horoscope Hat (Sagittarius)*/ +('1002465', '6400', 'Hat 2'), /*Horoscope Hat (Scorpius)*/ +('1002464', '4700', 'Hat 2'), /*Horoscope Hat (Libra)*/ +('1002495', '6300', 'Hat 2'), /*Angora Hat*/ +/*Page 15*/ +('1002493', '7100', 'Hat 2'), /*Teddy Bear Headgear*/ +('1002491', '3200', 'Hat 2'), /*Musashi Hat*/ +('1002490', '3800', 'Hat 2'), /*Football Helmet (Away)*/ +('1002489', '3800', 'Hat 2'), /*Football Helmet (Home)*/ +('1002488', '3800', 'Hat 2'), /*Military Fur Hat*/ +('1002487', '6300', 'Hat 2'), /*Rainbow Visor Beanie*/ +('1002486', '7100', 'Hat 2'), /*Green Visor Beanie*/ +('1002485', '3800', 'Hat 2'), /*Grey Visor Beanie*/ +('1002484', '5200', 'Hat 2'), /*Polar Bear Hat*/ +/*Page 16*/ +('1002482', '3800', 'Hat 2'), /*Red Snowboard Helmet*/ +('1002481', '7600', 'Hat 2'), /*Black Snowboard Helmet*/ +('1002480', '6400', 'Hat 2'), /*White Wig Hat*/ +('1002507', '7400', 'Hat 2'), /*Soccer Ball Hat*/ +('1002506', '3200', 'Hat 2'), /*Flower Crown*/ +('1002505', '4700', 'Hat 2'), /*Sergeant Hat*/ +('1002504', '4000', 'Hat 2'), /*Old Fisherman Hat*/ +('1002503', '6300', 'Hat 2'), /*Vintage Pink Hat*/ +('1002502', '3400', 'Hat 2'), /*Vintage Denim Hat*/ +/*Page 17*/ +('1002501', '5600', 'Hat 2'), /*Reggae Hat*/ +('1002500', '7100', 'Hat 2'), /*Korean Flag Bandana*/ +('1002499', '4900', 'Hat 2'), /*White Tiger Hat*/ +('1002498', '4700', 'Hat 2'), /*Bald Wig*/ +('1002497', '6400', 'Hat 2'), /*Hunting Cap*/ +('1002496', '3600', 'Hat 2'), /*Black Skull Bandana*/ +('1002526', '6000', 'Hat 2'), /*Skull Hat*/ +('1002525', '5200', 'Hat 2'), /*Mummy Hat*/ +('1002524', '3600', 'Hat 2'), /*Coke Hat*/ +/*Page 18*/ +('1002523', '3600', 'Hat 2'), /*Paper Boat Hat*/ +('1002522', '4900', 'Hat 2'), /*Pink-Dotted Hairband*/ +('1002521', '3400', 'Hat 2'), /*White Hairband*/ +('1002520', '7400', 'Hat 2'), /*Red Rose*/ +('1002519', '3600', 'Hat 2'), /*White Felt Hat*/ +('1002513', '5600', 'Hat 2'), /*Maple Party Hat*/ +('1002512', '3600', 'Hat 2'), /*Red Spirit Bandana*/ +('1002543', '8800', 'Hat 2'), /*Acorn Helmet*/ +('1002542', '6300', 'Hat 2'), /*Acorn Headgear*/ +/*Page 19*/ +('1002536', '6400', 'Hat 2'), /*Paper Bag*/ +('1002534', '6400', 'Hat 2'), /*White Puppy Hat*/ +('1002559', '3800', 'Hat 2'), /*Nordic Knitted Beanie*/ +('1002558', '4900', 'Hat 2'), /*Werebeast*/ +('1002557', '6300', 'Hat 2'), /*Jr. Lioner Hat*/ +('1002556', '6000', 'Hat 2'), /*Maple-Stein Head*/ +('1002555', '3200', 'Hat 2'), /*Demon Goblin*/ +('1002552', '3200', 'Hat 2'), /*Moon Bunny Headgear*/ +('1002549', '3400', 'Hat 2'), /*Black Cat Hat*/ +/*Page 20*/ +('1002548', '5600', 'Hat 2'), /*White Rabbit Hat*/ +('1002545', '5600', 'Hat 2'), /*Yellow Slime Hat*/ +('1002544', '6300', 'Hat 2'), /*Pumpkin Headgear*/ +('1002575', '4900', 'Hat 2'), /*Angel Headband*/ +('1002570', '7100', 'Hat 2'), /*Pastel Cap*/ +('1002569', '3200', 'Hat 2'), /*Candlelight hat*/ +('1002568', '3200', 'Hat 2'), /*Tweed Headband*/ +('1002567', '7100', 'Hat 2'), /*Elf Hat*/ +('1002566', '4900', 'Hat 2'), /*Skull Beanie*/ +/*Page 21*/ +('1002565', '6300', 'Hat 2'), /*Fur Hat*/ +('1002560', '7100', 'Hat 2'), /*Striped Knitted Beanie*/ +('1002591', '4900', 'Hat 2'), /*Leatty Hat*/ +('1002590', '8800', 'Hat 2'), /*Star Baseball Cap*/ +('1002583', '6300', 'Hat 2'), /*Wrestling Mask*/ +('1002582', '4900', 'Hat 2'), /*Maximus Galea*/ +('1002576', '5000', 'Hat 2'), /*Fallen Angel Headband*/ +('1002607', '5200', 'Hat 2'), /*Zhu Ba Jie Hat*/ +('1002605', '3600', 'Hat 2'), /*Jet Black Head Scarf*/ +/*Page 22*/ +('1002599', '3200', 'Hat 2'), /*Golden Trench Helmet*/ +('1002598', '7100', 'Hat 2'), /*Rabbit Ear*/ +('1002597', '4700', 'Hat 2'), /*Husky Hat*/ +('1002596', '7100', 'Hat 2'), /*Bulldog Cap*/ +('1002594', '6400', 'Hat 2'), /*Goggled Smiley Headgear*/ +('1002593', '6300', 'Hat 2'), /*Smiley Headgear*/ +('1002592', '6400', 'Hat 2'), /*Sun Wu Kong Hat*/ +('1002609', '8800', 'Hat 2'), /*Crazy Bunny Hat*/ +('1002608', '3200', 'Hat 2'), /*Superstar Cap*/ +/*Page 23*/ +('1002654', '3400', 'Hat 2'), /*Orange Mushroom Hat*/ +('1002653', '4000', 'Hat 2'), /*Stack of Books*/ +('1002650', '7400', 'Hat 2'), /*Vintage Grey Cap*/ +('1002667', '3800', 'Hat 2'), /*Star Hair Pin*/ +('1002666', '7600', 'Hat 2'), /*White Basic Cap*/ +('1002665', '5200', 'Hat 2'), /*Tomato Hat*/ +('1002661', '4900', 'Hat 2'), /*Bird Nest*/ +('1002660', '4900', 'Hat 2'), /*Orange Cap with Shades*/ +('1002679', '4000', 'Hat 2'), /*Eye Poppers*/ +/*Page 24*/ +('1002678', '6000', 'Hat 2'), /*Old Hockey Mask*/ +('1002674', '5000', 'Hat 2'), /*Helm of the Bronze Monk*/ +('1002673', '3200', 'Hat 2'), /*Helm of the Silver Monk*/ +('1002672', '7100', 'Hat 2'), /*Helm of the Golden Monk*/ +('1002703', '3400', 'Hat 2'), /*Big Blue Eye - Bluesy*/ +('1002701', '7600', 'Hat 2'), /*Huge Green Lips*/ +('1002700', '8800', 'Hat 2'), /*Big Green Eye*/ +('1002698', '8800', 'Hat 2'), /*Vintage Khaki Cap*/ +('1002697', '7600', 'Hat 2'), /*Devilfish Headgear*/ +/*Page 25*/ +('1002696', '4000', 'Hat 2'), /*Stoplight Hat*/ +('1002695', '3200', 'Hat 2'), /*Soul Teddy Hat*/ +('1002694', '5000', 'Hat 2'), /*Centaurus Horns (Light)*/ +('1002693', '3800', 'Hat 2'), /*Centaurus Horns (Green)*/ +('1002692', '8800', 'Hat 2'), /*Centaurus Horns (Ghost)*/ +('1002691', '5600', 'Hat 2'), /*Centaurus Horns*/ +('1002715', '5600', 'Hat 2'), /*Military Beanie*/ +('1002714', '3400', 'Hat 2'), /*Christmas Tree Hat*/ +('1002713', '7600', 'Hat 2'), /*Black Bubble Beanie*/ +/*Page 26*/ +('1002712', '7100', 'Hat 2'), /*Black Kitty Ears*/ +('1002711', '4000', 'Hat 2'), /*White Kitty Ears*/ +('1002710', '3400', 'Hat 2'), /*Pink Kitty Hat*/ +('1002709', '7100', 'Hat 2'), /*Snowy Knitted Hat*/ +('1002708', '3800', 'Hat 2'), /*Red Vintage Bandana*/ +('1002706', '4000', 'Hat 2'), /*Huge Red Lips*/ +('1002705', '3200', 'Hat 2'), /*Huge Blue Lips*/ +('1002704', '6300', 'Hat 2'), /*Big Blue Eye - Bright*/ +('1002735', '3600', 'Hat 2'), /*Glowy Smile Cap*/ +/*Page 27*/ +('1002734', '6000', 'Hat 2'), /*Chinese Lion Headgear*/ +('1002727', '7100', 'Hat 2'), /*Huge Pink Ribbon*/ +('1002726', '5200', 'Hat 2'), /*Umbrella Hat*/ +('1002725', '5000', 'Hat 2'), /*Pierced Apple*/ +('1002724', '7100', 'Hat 2'), /*Cat Hat*/ +('1002722', '5200', 'Hat 2'), /*Teddy Earmuffs*/ +('1002721', '8800', 'Hat 2'), /*Raccoon Earmuffs*/ +('1002720', '4000', 'Hat 2'), /*Lovely Christmas*/ +('1002748', '6300', 'Hat 2'), /*Apple-Green Hood*/ +/*Page 28*/ +('1002747', '6000', 'Hat 2'), /*Superstar Headphones*/ +('1002746', '3600', 'Hat 2'), /*Sleepy Turkey*/ +('1002745', '8800', 'Hat 2'), /*Baby Gold Dragon*/ +('1002742', '7600', 'Hat 2'), /*Baby Turkey Hat*/ +('1002741', '7100', 'Hat 2'), /*Yellow Baby Dragon Hat*/ +('1002738', '8800', 'Hat 2'), /*Bunny Earmuffs*/ +('1002736', '6300', 'Hat 2'), /*Glowy Patterned Cap*/ +('1002761', '5200', 'Hat 2'), /*Maple Leaf eye mask*/ +('1002760', '8800', 'Hat 2'), /*Globe Cap*/ +/*Page 29*/ +('1002759', '6400', 'Hat 2'), /*Maple Hood Hat*/ +('1002756', '5000', 'Hat 2'), /*Hero's Casket*/ +('1002755', '3800', 'Hat 2'), /*Hero's Beret*/ + + + +/*Page 1*/ +('1002754', '7100', 'Hat 3'), /*Orange Mushroom Scholar*/ +('1002753', '3800', 'Hat 3'), /*Stylish Pink Cotton Cap*/ +('1002752', '5600', 'Hat 3'), /*Celestial Crown*/ +('1002775', '5000', 'Hat 3'), /*3rd Anniversary Hat*/ +('1002774', '6300', 'Hat 3'), /*Victory Hairpin*/ +('1002771', '4900', 'Hat 3'), /*Tiger Cub Hat*/ +('1002770', '5000', 'Hat 3'), /*Cone Ears*/ +('1002796', '6300', 'Hat 3'), /*Cutie Birk Hat*/ +('1002785', '7400', 'Hat 3'), /*Prismatic Sun Cap*/ +/*Page 2*/ +('1002784', '5000', 'Hat 3'), /*"A" Cap*/ +('1002811', '6000', 'Hat 3'), /*Striped Bandana*/ +('1002804', '3800', 'Hat 3'), /*Brown Felt Hat*/ +('1002803', '7100', 'Hat 3'), /*Mrs. Octopus*/ +('1002831', '7400', 'Hat 3'), /*Leo Hairpin*/ +('1002824', '7100', 'Hat 3'), /*Noob Hat*/ +('1002823', '3200', 'Hat 3'), /*Scarface Mask*/ +('1002822', '5200', 'Hat 3'), /*Bird Nest*/ +('1002821', '3800', 'Hat 3'), /*Violet Heart Beanie*/ +/*Page 3*/ +('1002820', '4900', 'Hat 3'), /*Inferno Horns*/ +('1002847', '3200', 'Hat 3'), /*Frog Hat*/ +('1002846', '7100', 'Hat 3'), /*Blue Bow Beret*/ +('1002845', '4900', 'Hat 3'), /*Pink Bunny Cap*/ +('1002844', '7600', 'Hat 3'), /*Chipmunk Ears*/ +('1002843', '7400', 'Hat 3'), /*Silver Fox Ears*/ +('1002842', '4000', 'Hat 3'), /*Golden Fox Ears*/ +('1002840', '5200', 'Hat 3'), /*Hatched Bird Cap*/ +('1002839', '3600', 'Hat 3'), /*Pumpkin Hat*/ +/*Page 4*/ +('1002837', '6000', 'Hat 3'), /*Tengu Mask*/ +('1002836', '5000', 'Hat 3'), /*Capricorn Hair Clip*/ +('1002835', '6000', 'Hat 3'), /*Sagittarius Hair Clip*/ +('1002834', '4000', 'Hat 3'), /*Scorpius Hairpin*/ +('1002863', '3600', 'Hat 3'), /*Bear Tassel Hat*/ +('1002849', '3600', 'Hat 3'), /*Panda Hat*/ +('1002878', '3600', 'Hat 3'), /*Snow Flake Hat*/ +('1002877', '5200', 'Hat 3'), /*Cow Mask*/ +('1002876', '3600', 'Hat 3'), /*Holly Hair Clip*/ +/*Page 5*/ +('1002870', '4900', 'Hat 3'), /*Moon Bunny Hat*/ +('1002891', '6400', 'Hat 3'), /*Green Ribbon Hairband*/ +('1002890', '3200', 'Hat 3'), /*Blue Ribbon Hairband*/ +('1002889', '6300', 'Hat 3'), /*Purple Ribbon Hairband*/ +('1002888', '5000', 'Hat 3'), /*Red Ribbon Hairband*/ +('1002887', '6000', 'Hat 3'), /*Pink Ribbon Hairband*/ +('1002886', '3600', 'Hat 3'), /*Strawberry Hairband*/ +('1002885', '7100', 'Hat 3'), /*Pink Bow*/ +('1002884', '3200', 'Hat 3'), /*Red Panda Cap*/ +/*Page 6*/ +('1002882', '6400', 'Hat 3'), /*Owl Hat*/ +('1002907', '5200', 'Hat 3'), /*Checkered Fedora*/ +('1002903', '7600', 'Hat 3'), /*Pink Bandana*/ +('1002923', '5000', 'Hat 3'), /*Treacherous Wolf Hat*/ +('1002922', '7400', 'Hat 3'), /*Navy Hoodie Cap*/ +('1002921', '3800', 'Hat 3'), /*Blue Mini Hat*/ +('1002920', '6300', 'Hat 3'), /*Pink Mini Hat*/ +('1002919', '4000', 'Hat 3'), /*Courageous Little Lamb Hat*/ +('1002913', '5600', 'Hat 3'), /*Miranda Ribbon*/ +/*Page 7*/ +('1002912', '3600', 'Hat 3'), /*Iljimae Mask*/ +('1002943', '3400', 'Hat 3'), /*Sailor Hat*/ +('1002942', '4000', 'Hat 3'), /*Green Mushroom Hat*/ +('1002941', '5000', 'Hat 3'), /*Moon Bloom Hair Pin*/ +('1002937', '4900', 'Hat 3'), /*Felt Hat*/ +('1002930', '7100', 'Hat 3'), /*6th Anniversary Cone Hat*/ +('1002929', '5000', 'Hat 3'), /*Colorful Striped Beanie*/ +('1002928', '4700', 'Hat 3'), /*Pink Star Beanie*/ +('1002957', '6400', 'Hat 3'), /*Pink Bean Hat*/ +/*Page 8*/ +('1002956', '5200', 'Hat 3'), /*Blue Mushroom Hat*/ +('1002955', '6000', 'Hat 3'), /*Brave Musashi Helmet*/ +('1002954', '3200', 'Hat 3'), /*Aran Helmet*/ +('1002953', '3800', 'Hat 3'), /*Fluttering Sunhat*/ +('1002952', '7400', 'Hat 3'), /*Purple Flower Headwrap*/ +('1002951', '7400', 'Hat 3'), /*Yellow Flower Headwrap*/ +('1002950', '7400', 'Hat 3'), /*Pink Flower Headwrap*/ +('1002945', '6000', 'Hat 3'), /*Heart Hairband*/ +('1002944', '5200', 'Hat 3'), /*Honey Bee Hat*/ +/*Page 9*/ +('1002975', '4700', 'Hat 3'), /*Aviator Pilot Goggles*/ +('1002974', '4700', 'Hat 3'), /*Jr. Lucida Hat*/ +('1002973', '5200', 'Hat 3'), /*Mysterious Mask*/ +('1002970', '5600', 'Hat 3'), /*Moon Bunny Hat*/ +('1002969', '4900', 'Hat 3'), /*Brown Puppy Ears*/ +('1002968', '6300', 'Hat 3'), /*Pancake Hat*/ +('1002967', '6300', 'Hat 3'), /*Teru Teru Hairband*/ +('1002962', '7600', 'Hat 3'), /*Peony Flower Accessory*/ +('1002961', '5200', 'Hat 3'), /*Gray Mask*/ +/*Page 10*/ +('1002960', '7400', 'Hat 3'), /*Black Crown*/ +('1002987', '3600', 'Hat 3'), /*Cursed Golden trench helmet*/ +('1002985', '7100', 'Hat 3'), /*Pachinko Marble-box Hat*/ +('1002984', '6000', 'Hat 3'), /*Spiegelmann's Hat*/ +('1002983', '4000', 'Hat 3'), /*We Care! Hat*/ +('1002979', '4000', 'Hat 3'), /*Marbum Headgear*/ +('1002978', '7600', 'Hat 3'), /*Cute Mouse Ears*/ +('1002976', '4900', 'Hat 3'), /*Maid Headband*/ +('1003006', '7400', 'Hat 3'), /*Kitty Camping Hat*/ +/*Page 11*/ +('1003005', '5000', 'Hat 3'), /*Maple Racing Helmet*/ +('1003001', '7600', 'Hat 3'), /*Chaos Metallic Helmet*/ +('1003000', '3600', 'Hat 3'), /*Cherry Blossom Hair*/ +('1002999', '3200', 'Hat 3'), /*Fire Shadow Hair*/ +('1002998', '8800', 'Hat 3'), /*Edwin Wig*/ +('1002995', '5200', 'Hat 3'), /*Royal Navy Hat*/ +('1003022', '4000', 'Hat 3'), /*Devil Horns*/ +('1003015', '7400', 'Hat 3'), /*Blue Scooter Helmet*/ +('1003014', '8800', 'Hat 3'), /*Pink Scooter Helmet*/ +/*Page 12*/ +('1003013', '3200', 'Hat 3'), /*Red Loose-Fit Beanie*/ +('1003010', '7100', 'Hat 3'), /*Dancing Blue Butterfly*/ +('1003009', '7400', 'Hat 3'), /*Christmas Light Hairband*/ +('1003008', '3400', 'Hat 3'), /*Pharaoh Crown*/ +('1003038', '6000', 'Hat 3'), /*Doll Face Hat*/ +('1003030', '5200', 'Hat 3'), /*Former Hero Male Face*/ +('1003029', '3800', 'Hat 3'), /*Former Hero Female Face*/ +('1003054', '4700', 'Hat 3'), /*White Fur Hat*/ +('1003053', '4000', 'Hat 3'), /*Pink Fur Hat*/ +/*Page 13*/ +('1003052', '8800', 'Hat 3'), /*Tilted Fedora*/ +('1003051', '4700', 'Hat 3'), /*Desert Fox*/ +('1003050', '7600', 'Hat 3'), /*Bunny Ears*/ +('1003049', '3400', 'Hat 3'), /*Giant Bear Cap*/ +('1003048', '6400', 'Hat 3'), /*Christmas Wreath*/ +('1003047', '3600', 'Hat 3'), /*Bear Hat*/ +('1003044', '5600', 'Hat 3'), /*Clown Hat*/ +('1003043', '3200', 'Hat 3'), /*Christmas Bell*/ +('1003071', '8800', 'Hat 3'), /*Pinky Bow*/ +/*Page 14*/ +('1003070', '3200', 'Hat 3'), /*Tiger-Print Cap*/ +('1003060', '5600', 'Hat 3'), /*Silver Coronet*/ +('1003059', '3400', 'Hat 3'), /*Qi-pao Hair*/ +('1003058', '5200', 'Hat 3'), /*Christmas Hairpin*/ +('1003057', '4000', 'Hat 3'), /*Mini Crown*/ +('1003084', '3600', 'Hat 3'), /*Royal Crown*/ +('1003083', '4700', 'Hat 3'), /*Sprout Hat*/ +('1003082', '7600', 'Hat 3'), /*Wolf Hat*/ +('1003080', '8800', 'Hat 3'), /*Cat Set Hat*/ +/*Page 15*/ +('1003079', '8800', 'Hat 3'), /*Green Leaf Hat*/ +('1003078', '4900', 'Hat 3'), /*Sparkling Butterfly*/ +('1003077', '3600', 'Hat 3'), /*Knitted Corsage Hat*/ +('1003074', '6000', 'Hat 3'), /*Strawberry Hat*/ +('1003072', '5600', 'Hat 3'), /*Black-Lace Ribbon*/ +('1003103', '3200', 'Hat 3'), /*6th Anniversary Top Hat*/ +('1003101', '7600', 'Hat 3'), /*Dunas Hat*/ +('1003092', '3200', 'Hat 3'), /*Hawkeye Captain Hat*/ +('1003089', '4700', 'Hat 3'), /*Evan Wing Headband*/ +/*Page 16*/ +('1003109', '6400', 'Hat 3'), /*Royal Rainbow Hood*/ +('1003135', '5000', 'Hat 3'), /*Wild Hunter's Hat*/ +('1003133', '6400', 'Hat 3'), /*White Bow*/ +('1003132', '3200', 'Hat 3'), /*Red Bow*/ +('1003131', '6000', 'Hat 3'), /*Black Dressy Ribbon*/ +('1003130', '3200', 'Hat 3'), /*Shining Feather*/ +('1003123', '4900', 'Hat 3'), /*Black Petite Scarf*/ +('1003122', '3200', 'Hat 3'), /*Yellow Petite Scarf*/ +('1003121', '3400', 'Hat 3'), /*Evan Headband*/ +/*Page 17*/ +('1003120', '5600', 'Hat 3'), /*Oz Magic Hat*/ +('1003149', '8800', 'Hat 3'), /*Rabbit Ear Hood*/ +('1003148', '8800', 'Hat 3'), /*Pilot Cap*/ +('1003147', '5600', 'Hat 3'), /*Maid Headband (Blue)*/ +('1003146', '6000', 'Hat 3'), /*Lace Ribbon (Pink)*/ +('1003145', '5000', 'Hat 3'), /*Dragon Hat*/ +('1003144', '6000', 'Hat 3'), /*King Crow Hat*/ +('1003141', '6400', 'Hat 3'), /*Straw Sun Hat*/ +('1003136', '4700', 'Hat 3'), /*Battle Mage Goggles*/ +/*Page 18*/ +('1003163', '3200', 'Hat 3'), /*Brown Hunting Cap*/ +('1003161', '5200', 'Hat 3'), /*Sanctus Combat Veil*/ +('1003182', '6400', 'Hat 3'), /*Paypal Cap*/ +('1003171', '7600', 'Hat 3'), /*Leather Cap*/ +('1003170', '8800', 'Hat 3'), /*Star Head Wrap*/ +('1003196', '5600', 'Hat 3'), /*Rudolph Santa Hat*/ +('1003194', '4700', 'Hat 3'), /*Rookie Bobble Heart Band*/ +('1003193', '5000', 'Hat 3'), /*Red Pre-School Uniform Hat*/ +('1003192', '4900', 'Hat 3'), /*Blue Pre-School Uniform Hat*/ +/*Page 19*/ +('1003187', '3200', 'Hat 3'), /*Gray Cat Hood*/ +('1003186', '3400', 'Hat 3'), /*Pink Cat Hood*/ +('1003185', '7600', 'Hat 3'), /*Rabbit hat*/ +('1003215', '3200', 'Hat 3'), /*Pink Snowdrop Cunning Hat*/ +('1003214', '4700', 'Hat 3'), /*Blue Snowdrop Cunning Hat*/ +('1003211', '6300', 'Hat 3'), /*Winter 2010 Moon Bunny Hat*/ +('1003210', '3600', 'Hat 3'), /*Earmuffs and Pom Pom Beanie*/ +('1003208', '8800', 'Hat 3'), /*Magic Hat*/ +('1003207', '3800', 'Hat 3'), /*Curly Rabbit Poof*/ +/*Page 20*/ +('1003204', '6000', 'Hat 3'), /*Courageous Bunny Hat*/ +('1003203', '5000', 'Hat 3'), /*Red Riding Hood*/ +('1003202', '3200', 'Hat 3'), /*Golden Beetle*/ +('1003226', '6000', 'Hat 3'), /*Rookie Hatchling Hat*/ +('1003223', '8800', 'Hat 3'), /*Lost Baby Chick*/ +('1003222', '7400', 'Hat 3'), /*Blue Polka Dot Bow*/ +('1003221', '3600', 'Hat 3'), /*Pink Polka Dot Bow*/ +('1003220', '8800', 'Hat 3'), /*Knit Flower Hairband*/ +('1003218', '4000', 'Hat 3'), /*Flower Heiress Band*/ +/*Page 21*/ +('1003217', '3200', 'Hat 3'), /*Flower Heir Cap*/ +('1003216', '6300', 'Hat 3'), /*Pirate Captain's Hat*/ +('1003247', '3600', 'Hat 3'), /*Mad Hatter's Hat*/ +('1003241', '4000', 'Hat 3'), /*6th Anniversary Party Hat*/ +('1003240', '6300', 'Hat 3'), /*Blueberry Candy Hoodie*/ +('1003239', '5000', 'Hat 3'), /*Raspberry Candy Hoodie*/ +('1003238', '5200', 'Hat 3'), /*Gray Puppy Ears*/ +('1003237', '3600', 'Hat 3'), /*Lion Head*/ +('1003235', '6000', 'Hat 3'), /*Blue Jeweled Chaplain Hat*/ +/*Page 22*/ +('1003234', '6000', 'Hat 3'), /*Pink Jeweled Chaplain Hat*/ +('1003233', '3600', 'Hat 3'), /*Honey Rabbit */ +('1003232', '3600', 'Hat 3'), /*Pretty Teddy*/ +('1003263', '4000', 'Hat 3'), /*MSE 4 Years & Unstoppable Hat*/ +('1003256', '5600', 'Hat 3'), /*Emerald Musical Note*/ +('1003255', '8800', 'Hat 3'), /*Quartz Musical Note*/ +('1003254', '8800', 'Hat 3'), /*Sapphire Musical Note*/ +('1003253', '3800', 'Hat 3'), /*Amber Musical Note*/ +('1003252', '7100', 'Hat 3'), /*Amethyst Musical Note*/ +/*Page 23*/ +('1003251', '3600', 'Hat 3'), /*Citrine Musical Note*/ +('1003250', '7400', 'Hat 3'), /*Ruby Musical Note*/ +('1003249', '6400', 'Hat 3'), /*Topaz Musical Note*/ +('1003279', '3200', 'Hat 3'), /*Chain Crusher Cap*/ +('1003278', '3600', 'Hat 3'), /*Mermaid Shell*/ +('1003277', '6400', 'Hat 3'), /*Grass Spirit*/ +('1003276', '6300', 'Hat 3'), /*Blue Heart Transparent Hat*/ +('1003272', '4900', 'Hat 3'), /*Bastille Hat*/ +('1003271', '6000', 'Hat 3'), /*Pink Heart Transparent Hat*/ +/*Page 24*/ +('1003269', '5000', 'Hat 3'), /*Button-a-holic Toy Cap*/ +('1003268', '8800', 'Hat 3'), /*Button-a-holic Sugar Cap*/ +('1003265', '5000', 'Hat 3'), /*Marine Tinia Shades*/ +('1003264', '3400', 'Hat 3'), /*Rose Tinia Shades*/ +('1003295', '8800', 'Hat 3'), /*Lazy Chicken Headband*/ +('1003358', '7100', 'Hat 3'), /*Sweet Purple Sun Cap*/ +('1003357', '7100', 'Hat 3'), /*Night Navy Sun Cap*/ +('1003356', '7100', 'Hat 3'), /*Crystal Blue Sun Cap*/ +('1003355', '6400', 'Hat 3'), /*Lime Green Sun Cap*/ +/*Page 25*/ +('1003354', '6400', 'Hat 3'), /*Fresh Lemon Sun Cap*/ +('1003353', '4900', 'Hat 3'), /*Dear Orange Sun Cap*/ +('1003352', '6300', 'Hat 3'), /*Tic Toc Red Sun Cap*/ +('1003368', '8800', 'Hat 3'), /*Western Cowboy Hat*/ +('1003367', '6400', 'Hat 3'), /*Crown of Flowers*/ +('1003362', '7100', 'Hat 3'), /*Rosy Pink Twin Ribbons*/ +('1003390', '4700', 'Hat 3'), /*Orchid's Black Wing Hat*/ +('1003387', '7400', 'Hat 3'), /*Beanie Headphone*/ +('1003386', '5000', 'Hat 3'), /*Bat Costume Hood*/ +/*Page 26*/ +('1003377', '6400', 'Hat 3'), /*Alchemist Hat*/ +('1003376', '3200', 'Hat 3'), /*Memorial Angel*/ +('1003404', '4000', 'Hat 3'), /*Imp Hat*/ +('1003403', '6000', 'Hat 3'), /*Dark Cygnus's Hairband*/ +('1003402', '3400', 'Hat 3'), /*Dark Hawkeye*/ +('1003401', '3800', 'Hat 3'), /*Dark Eckhart*/ +('1003400', '7600', 'Hat 3'), /*Dark Irena*/ +('1003399', '7100', 'Hat 3'), /*Dark Oz*/ +('1003398', '6400', 'Hat 3'), /*Dark Mihile*/ +/*Page 27*/ +('1003393', '7400', 'Hat 3'), /*Imperial Duke Crown*/ +('1003392', '3400', 'Hat 3'), /*Honeybee Antenna Hairband*/ +('1003422', '7400', 'Hat 3'), /*Garnet Raven Persona*/ +('1003421', '3400', 'Hat 3'), /*Noblesse Gold Hood*/ +('1003417', '6300', 'Hat 3'), /*Dino Cap*/ +('1003416', '3400', 'Hat 3'), /*Christmas Hairpin*/ +('1003463', '6000', 'Hat 3'), /*Pixiemom Hat*/ +('1003462', '3800', 'Hat 3'), /*Kitty Cap*/ +('1003461', '4700', 'Hat 3'), /*Lania's Flower Crown*/ +/*Page 28*/ +('1003460', '3200', 'Hat 3'), /*Milk Chocolate Cone*/ +('1003459', '5600', 'Hat 3'), /*Lucia Hat*/ +('1003487', '3200', 'Hat 3'), /*White Zodiac Dragon Cake*/ +('1003486', '5000', 'Hat 3'), /*Yellow Zodiac Dragon Cake*/ +('1003485', '6300', 'Hat 3'), /*Green Zodiac Dragon Cake*/ +('1003484', '6300', 'Hat 3'), /*White Zodiac Dragon Hat*/ +('1003483', '5600', 'Hat 3'), /*Pink Zodiac Dragon Hat*/ +('1003482', '4900', 'Hat 3'), /*Green Zodiac Dragon Hat*/ +('1003503', '5200', 'Hat 3'), /*Alice's Teacup*/ +/*Page 29*/ +('1003496', '3200', 'Hat 3'), /*Cute Shrimp Nigiri*/ +('1003495', '6300', 'Hat 3'), /*Tangy Fish Egg Nigiri*/ +('1003494', '3800', 'Hat 3'), /*Chewy Octopus Nigiri*/ + + + +/*Page 1*/ +('1003493', '3600', 'Hat 4'), /*Fresh Salmon Nigiri*/ +('1003492', '6000', 'Hat 4'), /*Crisp Egg Nigiri*/ +('1003490', '6400', 'Hat 4'), /*Maid Band*/ +('1003489', '3200', 'Hat 4'), /*Gas Mask and Helmet*/ +('1003519', '4700', 'Hat 4'), /*Sunset-colored Straw Hat*/ +('1003518', '3200', 'Hat 4'), /*Small Black Devil Hat*/ +('1003517', '3800', 'Hat 4'), /*Ebony Pimpernel Hat*/ +('1003516', '7400', 'Hat 4'), /*Honeybee Antenna Hairband*/ +('1003510', '3800', 'Hat 4'), /*Alice Rabbit Hat*/ +/*Page 2*/ +('1003509', '7100', 'Hat 4'), /*Sausage Hat*/ + +('1003506', '4000', 'Hat 4'), /*Intergalactic Hat*/ +('1003505', '8800', 'Hat 4'), /*Red Dragon Horn*/ +('1003504', '5600', 'Hat 4'), /*Blue Dragon Horn\r\n*/ +('1003533', '3200', 'Hat 4'), /*Legendary Hat*/ +('1003532', '7100', 'Hat 4'), /*Lucky Hat*/ +('1003531', '3400', 'Hat 4'), /*Dainty Hat*/ +('1003520', '7100', 'Hat 4'), /*Wire Headband*/ +/*Page 3*/ +('1003549', '6000', 'Hat 4'), /*Aerial Mystic Black Silk Ribbon*/ +('1003548', '3200', 'Hat 4'), /*Aerial Mystic Black Silk Hat*/ +('1003547', '3600', 'Hat 4'), /*Parfait Cupcake Hairpin*/ +('1003546', '4700', 'Hat 4'), /*Chocolate Cupcake Hairpin*/ +('1003545', '4700', 'Hat 4'), /*Melon Cupcake Hairpin*/ +('1003544', '5600', 'Hat 4'), /*Strawberry Cupcake Hairpin*/ +('1003543', '5600', 'Hat 4'), /*Macaroon Hairpin*/ +('1003542', '6000', 'Hat 4'), /*Strawberry Macaroon Hairpin*/ +('1003541', '6000', 'Hat 4'), /*Country Rabbit Hat*/ +/*Page 4*/ +('1003539', '5600', 'Hat 4'), /*GM Nori's Wing Cap*/ +('1003538', '3600', 'Hat 4'), /*Button-A-Holic Toy Cap*/ +('1003536', '6000', 'Hat 4'), /*Lucia Hat*/ +('1003560', '7100', 'Hat 4'), /*Yellow Cat Hood*/ +('1003559', '7600', 'Hat 4'), /*Blue Cat Hood*/ +('1003597', '3200', 'Hat 4'), /*Metal Crown Nuera*/ +('1003596', '6000', 'Hat 4'), /*Metal Pink Baseball Cap*/ +('1003595', '5000', 'Hat 4'), /*Curly Rabbit Poof*/ +('1003594', '3400', 'Hat 4'), /*Cool Summer Snorkeling*/ +/*Page 5*/ +('1003588', '6000', 'Hat 4'), /*Pink Teddy Hat*/ +('1003587', '4900', 'Hat 4'), /*Pink Ribbon Marine Cap*/ +('1003586', '3600', 'Hat 4'), /*Mint Star Marine Cap*/ +('1003626', '4700', 'Hat 4'), /*Jett's Hat*/ +('1003643', '6400', 'Hat 4'), /*Yin-Yang Hairpin*/ +('1003642', '5000', 'Hat 4'), /*Cheering Gold*/ +('1003641', '3800', 'Hat 4'), /*Cheering Green*/ +('1003640', '6000', 'Hat 4'), /*Cheering Blue*/ +('1003639', '3400', 'Hat 4'), /*Cheering Pink*/ +/*Page 6*/ +('1003636', '4700', 'Hat 4'), /*Aqua Shell*/ +('1003658', '5000', 'Hat 4'), /*Muneshige's Helm*/ +('1003657', '3800', 'Hat 4'), /*Shingen's Helm*/ +('1003656', '7400', 'Hat 4'), /*Hideyoshi's Helm*/ +('1003655', '7100', 'Hat 4'), /*Kanetsuku's Helm*/ +('1003654', '7400', 'Hat 4'), /*Yukimura's Helm*/ +('1003673', '7400', 'Hat 4'), /*Maple Green Beret*/ +('1003672', '3200', 'Hat 4'), /*Maple Black Beret*/ +('1003671', '7100', 'Hat 4'), /*Maple Blue Beret*/ +/*Page 7*/ +('1003670', '3600', 'Hat 4'), /*Maple Red Beret*/ +('1003669', '6300', 'Hat 4'), /*Hyper Honeybee Antenna Hairband*/ +('1003668', '7600', 'Hat 4'), /*Hyper Lost Baby Chick*/ +('1003667', '3600', 'Hat 4'), /*Red Arabian Hat*/ +('1003666', '3800', 'Hat 4'), /*Blue Arabian Hat*/ +('1003688', '7600', 'Hat 4'), /*Hyper Cat Hat*/ +('1003687', '6400', 'Hat 4'), /*Hyper Teddy Earmuffs*/ +('1003686', '4900', 'Hat 4'), /*Paper Bag*/ +('1003685', '4000', 'Hat 4'), /*Angel Halo*/ +/*Page 8*/ +('1003684', '7100', 'Hat 4'), /*Tiger Cub Hat*/ +('1003683', '4900', 'Hat 4'), /*Cow Mask*/ +('1003682', '4000', 'Hat 4'), /*Jiangshi Hat*/ +('1003681', '6300', 'Hat 4'), /*Ghost Mask*/ +('1003711', '8800', 'Hat 4'), /*[MS Custom] Doll Face Hat*/ +('1003710', '4700', 'Hat 4'), /*[MS Custom] Maple-Stein*/ +('1003709', '6300', 'Hat 4'), /*[MS Custom] Werebeast*/ +('1003708', '7400', 'Hat 4'), /*[MS Custom] The Chinese Undead's Hat (Maroon)*/ +('1003707', '6300', 'Hat 4'), /*[MS Custom] Black Snowboard Helmet*/ +/*Page 9*/ +('1003706', '5000', 'Hat 4'), /*[MS Custom] Zombie Mushroom Hat*/ +('1003705', '8800', 'Hat 4'), /*[MS Custom] Green Picnic Hat*/ +('1003704', '6300', 'Hat 4'), /*[MS Custom] Red Red Rain Cap*/ +('1003703', '8800', 'Hat 4'), /*[MS Custom] Patissier Hat*/ +('1003702', '7600', 'Hat 4'), /*[MS Custom] Sky Blue Rain Cap*/ +('1003701', '7600', 'Hat 4'), /*[MS Custom] Yellow Rain Cap*/ +('1003700', '5000', 'Hat 4'), /*[MS Custom] Red Festive Gumball*/ +('1003699', '8800', 'Hat 4'), /*Hidden Street Red Husky Hat*/ +('1003727', '4900', 'Hat 4'), /*Red Pierre Hat*/ +/*Page 10*/ +('1003714', '3400', 'Hat 4'), /*Halloween Leopard Ears*/ +('1003713', '7100', 'Hat 4'), /*Seal Hat*/ +('1003712', '4700', 'Hat 4'), /*[MS Discount] Chain Crusher Cap*/ +('1003743', '5000', 'Hat 4'), /*Slither Style Cap*/ +('1003742', '4000', 'Hat 4'), /*Dark Devil Hat*/ +('1003739', '3600', 'Hat 4'), /*Decked Out Santa Hat*/ +('1003738', '3400', 'Hat 4'), /*Santa Hat*/ +('1003737', '6000', 'Hat 4'), /*Snowman*/ +('1003736', '6300', 'Hat 4'), /*Reindeer Hat*/ +/*Page 11*/ +('1003735', '3200', 'Hat 4'), /*Scarlion Boss Hat*/ +('1003730', '5600', 'Hat 4'), /*Cat Lolita Hat*/ +('1003729', '3600', 'Hat 4'), /*Hyper Bunny Earmuffs*/ +('1003728', '5200', 'Hat 4'), /*Blue Pierre Hat*/ +('1003759', '4900', 'Hat 4'), /*Blue Point Kitty Hat*/ +('1003756', '3400', 'Hat 4'), /*Polar Bear Hat*/ +('1003750', '6400', 'Hat 4'), /*Ribbon Kitty Ears*/ +('1003749', '4900', 'Hat 4'), /*Zodiac Snake Cake*/ +('1003775', '6300', 'Hat 4'), /*GM Hat*/ +/*Page 12*/ +('1003763', '5600', 'Hat 4'), /*Black Wing Master's Hat*/ +('1003761', '4700', 'Hat 4'), /*Featherly Angel Hat*/ +('1003760', '4900', 'Hat 4'), /*Kitty Headphones*/ +('1003790', '5000', 'Hat 4'), /*Visor*/ +('1003789', '6000', 'Hat 4'), /*Zombie Hunter Hat*/ +('1003779', '6400', 'Hat 4'), /*White Rabbit Hat*/ +('1003778', '5000', 'Hat 4'), /*Fluffy Cat Hood*/ +('1003777', '7100', 'Hat 4'), /*Goth Cat Hood*/ +('1003776', '4700', 'Hat 4'), /*Harp Seal Mask*/ +/*Page 13*/ +('1003807', '3600', 'Hat 4'), /*Heart Sunglasses*/ +('1003804', '6000', 'Hat 4'), /*Ducky Hat*/ +('1003803', '4700', 'Hat 4'), /*Purple Dinosaur Hat*/ +('1003802', '5600', 'Hat 4'), /*Green Dinosaur Hat*/ +('1003792', '3800', 'Hat 4'), /*Inkwell Hat*/ +('1003820', '5000', 'Hat 4'), /*Dark Hawkeye*/ +('1003819', '4700', 'Hat 4'), /*Dark Eckhart*/ +('1003818', '6300', 'Hat 4'), /*Dark Irena*/ +('1003817', '6400', 'Hat 4'), /*Dark Oz*/ +/*Page 14*/ +('1003816', '3800', 'Hat 4'), /*Dark Mihile*/ +('1003815', '3800', 'Hat 4'), /*Hilla's Hairpin*/ +('1003809', '6000', 'Hat 4'), /*Mystic Black Silk Ribbon*/ +('1003808', '3400', 'Hat 4'), /*Mystic Black Silk Hat*/ +('1003839', '4900', 'Hat 4'), /*Goin' Nuclear Wig*/ +('1003838', '3200', 'Hat 4'), /*Wacky Olympus Wig*/ +('1003837', '5200', 'Hat 4'), /*Colorstream Wig*/ +('1003836', '3400', 'Hat 4'), /*Wild Spike Wig*/ +('1003831', '7400', 'Hat 4'), /*Ramling Hair Pin*/ +/*Page 15*/ +('1003830', '3400', 'Hat 4'), /*Blue Love Bonnet*/ +('1003829', '5600', 'Hat 4'), /*Bunny Top Hat*/ +('1003827', '3600', 'Hat 4'), /*Miko Wig*/ +('1003826', '5000', 'Hat 4'), /*Samurai Hair-do*/ +('1003825', '3200', 'Hat 4'), /*The Bladed Falcon's Helm*/ +('1003855', '5000', 'Hat 4'), /*Leaf Hat*/ +('1003853', '5600', 'Hat 4'), /*Blavy Angel Wing*/ +('1003852', '7600', 'Hat 4'), /*Cute Shrimp Nigiri*/ +('1003851', '7600', 'Hat 4'), /*Tangy Fish Egg Nigiri*/ +/*Page 16*/ +('1003850', '8800', 'Hat 4'), /*Chewy Octopus Nigiri*/ +('1003849', '7600', 'Hat 4'), /*Fresh Salmon Nigiri*/ +('1003848', '3400', 'Hat 4'), /*Crisp Egg Nigiri*/ +('1003847', '8800', 'Hat 4'), /*Slayer Wig*/ +('1003846', '5200', 'Hat 4'), /*Danjin Hat*/ +('1003845', '4000', 'Hat 4'), /*Lorna and Pan Hat*/ +('1003844', '8800', 'Hat 4'), /*Nao Hat*/ +('1003843', '5600', 'Hat 4'), /*Bizarre Fox Mask*/ +('1003842', '3600', 'Hat 4'), /*Succubus Hat*/ +/*Page 17*/ +('1003867', '6300', 'Hat 4'), /*Nice Shot Visor*/ +('1003865', '6400', 'Hat 4'), /*Starlight Wings*/ +('1003862', '3200', 'Hat 4'), /*Teddy Ribbon*/ +('1003861', '7400', 'Hat 4'), /*Funky Mini Crown*/ +('1003860', '4000', 'Hat 4'), /*Seria Wig*/ +('1003859', '3600', 'Hat 4'), /*Iris Psyche*/ +('1003884', '4900', 'Hat 4'), /*Cute Wire Hair Band*/ +('1003883', '7600', 'Hat 4'), /*Blue Bow Beret*/ +('1003882', '7400', 'Hat 4'), /*Giant Bear Cap*/ +/*Page 18*/ +('1003881', '7600', 'Hat 4'), /*Paper Boat Hat*/ +('1003878', '7400', 'Hat 4'), /*Pepe Hat*/ +('1003877', '5200', 'Hat 4'), /*Yeti Hat*/ +('1003876', '8800', 'Hat 4'), /*Lupin Hat*/ +('1003875', '5000', 'Hat 4'), /*Jr. Cellion Hat*/ +('1003874', '7600', 'Hat 4'), /*Blue Mossy Mom Hat*/ +('1003873', '5600', 'Hat 4'), /*Water Thief Hat*/ +('1003903', '6000', 'Hat 4'), /*Angelic Navy Cap*/ +('1003902', '4700', 'Hat 4'), /*Pretty Teddy*/ +/*Page 19*/ +('1003901', '7100', 'Hat 4'), /*Courageous Bunny Hat*/ +('1003900', '8800', 'Hat 4'), /*Blue Heart Transparent Hat*/ +('1003899', '6000', 'Hat 4'), /*Pirate Captain's Hat*/ +('1003897', '6300', 'Hat 4'), /*Indian Chief Hat*/ +('1003892', '5000', 'Hat 4'), /*Leaf Diamond*/ +('1003890', '7400', 'Hat 4'), /*GM Sori's Fedora*/ +('1003889', '5200', 'Hat 4'), /*I'm Controlled!*/ +('1003919', '8800', 'Hat 4'), /*Plait-Knitted Hat*/ +('1003918', '4700', 'Hat 4'), /*Winged Cap*/ +/*Page 20*/ +('1003917', '3200', 'Hat 4'), /*Pink Sunglasses Hat*/ +('1003915', '3200', 'Hat 4'), /*Pancake Hat*/ +('1003914', '4900', 'Hat 4'), /*Marine Tinia Shades*/ +('1003913', '3600', 'Hat 4'), /*Red Bow*/ +('1003912', '6000', 'Hat 4'), /*Puppy Ears*/ +('1003910', '4700', 'Hat 4'), /*Petite Diablo*/ +('1003909', '4700', 'Hat 4'), /*Pink Soda Cap*/ +('1003907', '8800', 'Hat 4'), /*Tenacious Zakum Helmet*/ +('1003906', '6400', 'Hat 4'), /*Triumphant Zakum Hat*/ +/*Page 21*/ +('1003905', '6400', 'Hat 4'), /*Tenacious Ribbon Pig Hat*/ +('1003904', '3800', 'Hat 4'), /*Triumphant Ribbon Pig Hat*/ +('1003935', '3200', 'Hat 4'), /*Anima Ears*/ +('1003934', '8800', 'Hat 4'), /*Shadow Hood*/ +('1003920', '3800', 'Hat 4'), /*Hawaiian Sunhat*/ +('1003951', '6300', 'Hat 4'), /*Odette Tiara*/ +('1003950', '7400', 'Hat 4'), /*Plump Bear Hood*/ +('1003949', '5600', 'Hat 4'), /*フューチャーロイドヘッドセンサー*/ +('1003948', '3400', 'Hat 4'), /*フューチャーロイドヘッドセンサー*/ +/*Page 22*/ +('1003945', '7100', 'Hat 4'), /*Superstar Crown*/ +('1003944', '7400', 'Hat 4'), /*Blue Polka Dot Bow*/ +('1003943', '5000', 'Hat 4'), /*Sleepy Turkey*/ +('1003942', '5600', 'Hat 4'), /*Blue Cheer*/ +('1003941', '3400', 'Hat 4'), /*Pink Cheer*/ +('1003940', '6300', 'Hat 4'), /*Curly Rabbit Poof*/ +('1003937', '3800', 'Hat 4'), /*Romantic Bamboo Hat*/ +('1003936', '3600', 'Hat 4'), /*Azalea Hair Pin*/ +('1003967', '6300', 'Hat 4'), /*Chocoram Doll Hat*/ +/*Page 23*/ +('1003966', '4900', 'Hat 4'), /*Camellia Hairpin*/ +('1003965', '6300', 'Hat 4'), /*Chicken Hataroo*/ +('1003964', '4900', 'Hat 4'), /*Star Checkered Cap*/ +('1003963', '5200', 'Hat 4'), /*PSY Hat*/ +('1003962', '4900', 'Hat 4'), /*Checkered Bonnet*/ +('1003958', '4700', 'Hat 4'), /*Pink Mochi Ice*/ +('1003957', '4700', 'Hat 4'), /*Mint Mochi Ice*/ +('1003955', '5600', 'Hat 4'), /*Romance Rose*/ +('1003954', '5000', 'Hat 4'), /*Head Cooler*/ +/*Page 24*/ +('1003953', '4000', 'Hat 4'), /*Rhinne Luster*/ +('1003952', '6000', 'Hat 4'), /*Odile Tiara*/ +('1003975', '6300', 'Hat 4'), /*Princess of Time Veil*/ +('1003972', '6400', 'Hat 4'), /*Powder Lace Band*/ +('1003971', '4700', 'Hat 4'), /*Powder Fedora*/ +('1003968', '3600', 'Hat 4'), /*Puffram Hat*/ +('1003998', '7400', 'Hat 4'), /*White Choco Bunny*/ +('1004015', '6300', 'Hat 4'), /*Freud's Face(M)*/ +('1004014', '3600', 'Hat 4'), /*Grab N' Pull*/ +/*Page 25*/ +('1004004', '5200', 'Hat 4'), /*Grey Nero Hoodie*/ +('1004003', '7600', 'Hat 4'), /*Pink Nero Hoodie*/ +('1004002', '7600', 'Hat 4'), /*Shadow Hood*/ +('1004001', '6400', 'Hat 4'), /*Vampire Phantom Hat*/ +('1004000', '6400', 'Hat 4'), /*Dark Devil Hat*/ +('1004029', '7100', 'Hat 4'), /*Snow Bear Beanie*/ +('1004028', '3600', 'Hat 4'), /*Orange Cat Beanie*/ +('1004027', '7600', 'Hat 4'), /*Sky Blue Cat Beanie*/ +('1004026', '6000', 'Hat 4'), /*Black Cat Beanie*/ +/*Page 26*/ +('1004024', '4900', 'Hat 4'), /*Cheese Hat*/ +('1004018', '3400', 'Hat 4'), /*Brave Aran's Helmet*/ +('1004017', '5000', 'Hat 4'), /*Aran's Helmet*/ +('1004016', '5600', 'Hat 4'), /*Freud's Face(F)*/ +('1004047', '7100', 'Hat 4'), /*Beast Tamer Animal Ears 8*/ +('1004046', '6000', 'Hat 4'), /*Beast Tamer Animal Ears 7*/ +('1004045', '5000', 'Hat 4'), /*Beast Tamer Animal Ears 6*/ +('1004044', '3800', 'Hat 4'), /*Bear Ears*/ +('1004043', '3400', 'Hat 4'), /*Puppy Ears*/ +/*Page 27*/ +('1004042', '6400', 'Hat 4'), /*Deluxe Rabbit Ears*/ +('1004041', '5000', 'Hat 4'), /*Chipmunk Ears*/ +('1004040', '3800', 'Hat 4'), /*Red Panda Ears*/ +('1004039', '3800', 'Hat 4'), /*Eunwol Fox Ears*/ +('1004038', '5600', 'Hat 4'), /*Ice Hat*/ +('1004036', '8800', 'Hat 4'), /*Mr. K's Cat Hat*/ +('1004035', '4900', 'Hat 4'), /*Snake Snapback Hat*/ +('1004034', '6400', 'Hat 4'), /*Study Break*/ + +/*Page 28*/ +('1004048', '5600', 'Hat 4'), /*Rudi's Hat*/ +('1004074', '7400', 'Hat 4'), /*Year of Horse Hat (Blue)*/ +('1004073', '3200', 'Hat 4'), /*Year of Horse Hat (Peach)*/ +('1004094', '3600', 'Hat 4'), /*White Choco Bunny*/ +('1004093', '5600', 'Hat 4'), /*Yellow Knitted Beanie*/ +('1004092', '6400', 'Hat 4'), /*Cutie Horse Hat*/ +('1004091', '7100', 'Hat 4'), /*Deer Headband*/ +('1004090', '7600', 'Hat 4'), /*Explorer Cap*/ + +/*Page 29*/ + +('1004081', '6300', 'Hat 4'), /*Dawn Bear Hoodie*/ +('1004111', '6000', 'Hat 4'), /*Red Ribbon Hairband*/ + + + +/*Page 1*/ +('1004110', '4000', 'Hat 5'), /*Blue Ribbon Hairband*/ +('1004109', '4000', 'Hat 5'), /*Transparent Hat*/ +('1004108', '6300', 'Hat 5'), /*Fancy Magician Hat*/ +('1004106', '3600', 'Hat 5'), /*Guardian Head Band*/ +('1004099', '6000', 'Hat 5'), /*Christmas Antlers*/ +('1004126', '7600', 'Hat 5'), /*Rainbow Hat*/ +('1004125', '4900', 'Hat 5'), /*Pineapple Hat*/ +('1004124', '7100', 'Hat 5'), /*Strawberry Headgear*/ +('1004123', '7600', 'Hat 5'), /*Contemporary Chic Hat*/ +/*Page 2*/ +('1004122', '5200', 'Hat 5'), /*Chef Hat*/ +('1004120', '3200', 'Hat 5'), /*Strawberry Fairy*/ +('1004117', '4700', 'Hat 5'), /*Candy Candy*/ +('1004113', '7600', 'Hat 5'), /*Ghost Bride's Antique Wedding Veil*/ +('1004143', '4900', 'Hat 5'), /*Commander Magnus Mask*/ +('1004142', '4000', 'Hat 5'), /*Commander Lucid Mask*/ +('1004141', '6000', 'Hat 5'), /*Commander Damien Mask*/ +('1004140', '5600', 'Hat 5'), /*Commander Lotus Mask*/ +('1004139', '8800', 'Hat 5'), /*Pink Panda Hat*/ +/*Page 3*/ +('1004137', '6400', 'Hat 5'), /*Rabbit and Bear Hat*/ +('1004136', '4900', 'Hat 5'), /*Nurse Cap*/ +('1004158', '7100', 'Hat 5'), /*LED Mouse Band*/ +('1004157', '5000', 'Hat 5'), /*Heart Headset*/ +('1004156', '3200', 'Hat 5'), /*Starry Earmuff*/ +('1004148', '3400', 'Hat 5'), /*Commander Hilla Mask*/ +('1004147', '7100', 'Hat 5'), /*Commander Will Mask*/ +('1004146', '3200', 'Hat 5'), /*Commander Orchid Mask*/ +('1004145', '7100', 'Hat 5'), /*Commander Arkarium Mask*/ +/*Page 4*/ +('1004144', '6400', 'Hat 5'), /*Commander Von Leon Mask*/ +('1004175', '5200', 'Hat 5'), /*Angelic Melody*/ +('1004171', '3600', 'Hat 5'), /*Dancing Carousel*/ +('1004170', '8800', 'Hat 5'), /*Colorful Marble Parfait*/ +('1004169', '5200', 'Hat 5'), /*Fried Egg Head*/ +('1004168', '5600', 'Hat 5'), /*Cat Hat*/ +('1004167', '6000', 'Hat 5'), /*Dinosaur Snapback*/ +('1004166', '3400', 'Hat 5'), /*Black Butterfly Ribbon Headband*/ +('1004165', '5000', 'Hat 5'), /*Spring Rose*/ +/*Page 5*/ +('1004164', '7400', 'Hat 5'), /*Targa Silk Hat*/ +('1004191', '5200', 'Hat 5'), /*粉红天使翅膀帽*/ +('1004190', '4700', 'Hat 5'), /*Island Travel Headphones*/ +('1004181', '3600', 'Hat 5'), /*Candy Party Ribbon Hairpin*/ +('1004180', '3200', 'Hat 5'), /*Disease Control STAR*/ +('1004179', '4700', 'Hat 5'), /*Red Elf Hat*/ +('1004178', '6000', 'Hat 5'), /*Slab*/ +('1004177', '5200', 'Hat 5'), /*Dark Cygnus*/ +('1004176', '3400', 'Hat 5'), /*Rabbit Mask*/ +/*Page 6*/ +('1004205', '4000', 'Hat 5'), /*Red Pony Hat*/ +('1004204', '4700', 'Hat 5'), /*Blue Pony Hat*/ +('1004203', '5200', 'Hat 5'), /*Kitty Kitty Hat*/ +('1004202', '5200', 'Hat 5'), /*隐武士战盔*/ +('1004201', '3800', 'Hat 5'), /*暗夜精灵战盔*/ +('1004200', '3200', 'Hat 5'), /*Sweet Summer Cap*/ +('1004199', '6400', 'Hat 5'), /*Ayame's Hairpin*/ +('1004198', '7100', 'Hat 5'), /*태극 머리띠*/ +('1004197', '6300', 'Hat 5'), /*Stop It Mr. Shark*/ +/*Page 7*/ +('1004195', '5200', 'Hat 5'), /*축구공 머리띠*/ +('1004194', '4900', 'Hat 5'), /*Prim Ribbon Beret*/ +('1004193', '7600', 'Hat 5'), /*Sparkling Goggles Cap*/ +('1004192', '6000', 'Hat 5'), /*Do-re-mi Headphone*/ +('1004213', '3200', 'Hat 5'), /*Hula Feather Decoration*/ +('1004212', '5200', 'Hat 5'), /*[[FROZEN CONTENT]] Frozen Dressy Ribbon*/ +('1004211', '6400', 'Hat 5'), /*Baby Earmuffs*/ +('1004209', '5600', 'Hat 5'), /*Peach Camellia Hairpin*/ +('1004239', '5200', 'Hat 5'), /*Peach Fairy*/ +/*Page 8*/ +('1004254', '5000', 'Hat 5'), /*Master-o-Bingo Hat*/ +('1004253', '7100', 'Hat 5'), /*Old School Uniform Hat*/ +('1004252', '6000', 'Hat 5'), /*Dark Devil Horns*/ +('1004251', '5000', 'Hat 5'), /*Bright Angel's Halo*/ +('1004250', '3400', 'Hat 5'), /*Star Candy Popsicle*/ +('1004269', '3200', 'Hat 5'), /*Apple Stalk Puffy Hat*/ +('1004268', '3800', 'Hat 5'), /*Flower of Life*/ +('1004285', '3200', 'Hat 5'), /*Pink Mustache Cap*/ +('1004284', '3200', 'Hat 5'), /*Orange Mustache Cap*/ +/*Page 9*/ +('1004283', '5200', 'Hat 5'), /*Aqua Mustache Cap*/ +('1004282', '5600', 'Hat 5'), /*Polka-Dot Red Ribbon*/ +('1004281', '4900', 'Hat 5'), /*Propeller Cap*/ +('1004279', '6400', 'Hat 5'), /*Squirrel Fedora*/ +('1004276', '4900', 'Hat 5'), /*Kemdi Mask*/ +('1004275', '4900', 'Hat 5'), /*Lucky Lucky Hat*/ +('1004303', '4000', 'Hat 5'), /*Slab*/ +('1004302', '6400', 'Hat 5'), /*Neville, the Legend*/ +('1004301', '7100', 'Hat 5'), /*Disease Control STAR*/ +/*Page 10*/ +('1004299', '3400', 'Hat 5'), /*Brown Puppy Hat*/ +('1004298', '7400', 'Hat 5'), /*White Puppy Hat*/ +('1004296', '8800', 'Hat 5'), /*Lovey Chick Hat*/ +('1004295', '3200', 'Hat 5'), /*Singing Chick Hat*/ +('1004294', '3800', 'Hat 5'), /*Sweet Persimmon Hat*/ +('1004319', '5200', 'Hat 5'), /*Commander Orchid Mask*/ +('1004318', '5200', 'Hat 5'), /*Commander Arkarium Mask*/ +('1004317', '4000', 'Hat 5'), /*Commander Von Leon Mask*/ +('1004316', '4000', 'Hat 5'), /*Commander Magnus Mask*/ +/*Page 11*/ +('1004315', '6000', 'Hat 5'), /*Commander Lucid Mask*/ +('1004314', '4900', 'Hat 5'), /*Commander Damien Mask*/ +('1004313', '7100', 'Hat 5'), /*Commander Lotus Mask*/ +('1004312', '3600', 'Hat 5'), /*Werebeast*/ +('1004311', '7600', 'Hat 5'), /*Old Hockey Mask*/ +('1004310', '7400', 'Hat 5'), /*Scarface Mask*/ +('1004309', '4900', 'Hat 5'), /*Slab*/ +('1004308', '3600', 'Hat 5'), /*Neville, the Legend*/ +('1004307', '8800', 'Hat 5'), /*Disease Control STAR*/ +/*Page 12*/ +('1004306', '4900', 'Hat 5'), /*Werebeast*/ +('1004305', '6400', 'Hat 5'), /*Old Hockey Mask*/ +('1004304', '6000', 'Hat 5'), /*Scarface Mask*/ +('1004332', '3800', 'Hat 5'), /*Brown Puppy Hat*/ +('1004329', '4900', 'Hat 5'), /*Blue Baseball Cap*/ +('1004328', '3800', 'Hat 5'), /*Pink Baseball Cap*/ +('1004327', '5000', 'Hat 5'), /*Starry Headband*/ +('1004326', '3200', 'Hat 5'), /*Neville, the Legend*/ +('1004325', '3800', 'Hat 5'), /*Disease Control STAR*/ +/*Page 13*/ +('1004324', '4900', 'Hat 5'), /*Gas Mask*/ +('1004323', '4700', 'Hat 5'), /*Slab*/ +('1004322', '3800', 'Hat 5'), /*Rose Hat*/ +('1004321', '7600', 'Hat 5'), /*Commander Hilla Mask*/ +('1004320', '3800', 'Hat 5'), /*Commander Will Mask*/ +('1004343', '5600', 'Hat 5'), /*Skull Hat*/ +('1004342', '4700', 'Hat 5'), /*Witch Hat*/ +('1004341', '3400', 'Hat 5'), /*Messy Wig*/ +('1004340', '3400', 'Hat 5'), /*Worn Skull Hat*/ +/*Page 14*/ +('1004339', '7400', 'Hat 5'), /*Worn Witch Hat*/ +('1004338', '4700', 'Hat 5'), /*Worn Messy Wig*/ +('1004337', '6400', 'Hat 5'), /*Ill Orchid Wig*/ +('1004336', '3800', 'Hat 5'), /*Raging Lotus Wig*/ +('1004399', '3400', 'Hat 5'), /*Sitting Mikasa*/ +('1004398', '4700', 'Hat 5'), /*Sitting Eren*/ +('1004397', '4000', 'Hat 5'), /*Cleaning Bandanna*/ +('1004396', '4700', 'Hat 5'), /*Levi Face*/ +('1004395', '3800', 'Hat 5'), /*Armin Face*/ +/*Page 15*/ +('1004394', '6400', 'Hat 5'), /*Mikasa Face*/ +('1004393', '7100', 'Hat 5'), /*Eren Face*/ +('1004386', '3600', 'Hat 5'), /*Reindeer Fawn Hat*/ +('1004385', '6000', 'Hat 5'), /*Pumpkin Cake Hat*/ +('1004384', '3600', 'Hat 5'), /*Dinofrog Hat*/ +('1004414', '3600', 'Hat 5'), /*Warm Bao*/ +('1004413', '4700', 'Hat 5'), /*Red Rudolph Horns*/ +('1004411', '7400', 'Hat 5'), /*Whipping Strawberry*/ +('1004408', '3800', 'Hat 5'), /*Icy Hat*/ +/*Page 16*/ +('1004407', '7600', 'Hat 5'), /*Ear Muffs and Pom Pom Beanie*/ +('1004406', '7600', 'Hat 5'), /*Humanity's Strongest Face*/ +('1004405', '3400', 'Hat 5'), /*Rawrin' Tiger Hat*/ +('1004403', '7600', 'Hat 5'), /*Cutie Bunny Hat*/ +('1004402', '7600', 'Hat 5'), /*Sitting Colossal Titan*/ +('1004401', '7400', 'Hat 5'), /*Sitting Levi*/ +('1004400', '6400', 'Hat 5'), /*Sitting Armin*/ +('1004431', '3200', 'Hat 5'), /*GS25 Jeonju Bibimbap*/ +('1004430', '3800', 'Hat 5'), /*GS25 Hot Fire Chicken*/ +/*Page 17*/ +('1004429', '4700', 'Hat 5'), /*GS25 Tuna Mayo*/ +('1004428', '6400', 'Hat 5'), /*Blue Bird Hat*/ +('1004419', '5000', 'Hat 5'), /*Aether Snow*/ +('1004418', '4000', 'Hat 5'), /*Unleashed Snow*/ +('1004417', '7400', 'Hat 5'), /*Pinnacle Snow*/ +('1004416', '8800', 'Hat 5'), /*Cutie Birk Hat*/ +('1004447', '6000', 'Hat 5'), /*Friendly Hat*/ +('1004446', '3400', 'Hat 5'), /*Loyal Hat*/ +('1004445', '5200', 'Hat 5'), /*Aurora Hat*/ +/*Page 18*/ +('1004443', '3200', 'Hat 5'), /*Snowman Mask*/ +('1004442', '4000', 'Hat 5'), /*Loyal Hat*/ +('1004441', '3400', 'Hat 5'), /*Friendly Hat*/ +('1004440', '7100', 'Hat 5'), /*Zodiac Ram Cake*/ +('1004439', '6300', 'Hat 5'), /*Silver Wolf Ears*/ +('1004438', '8800', 'Hat 5'), /*Fluffy Ram Earmuff*/ +('1004434', '7100', 'Hat 5'), /*GS25 Jeonju Bibimbap*/ +('1004433', '6300', 'Hat 5'), /*GS25 Hot Fire Chicken*/ +('1004432', '8800', 'Hat 5'), /*GS25 Tuna Mayo*/ +/*Page 19*/ +('1004463', '8800', 'Hat 5'), /*Star Planet Mascot Hat*/ +('1004462', '3400', 'Hat 5'), /*Pink Ram Horn Hat*/ +('1004461', '6000', 'Hat 5'), /*Blue Ram Horn Hat*/ +('1004460', '7400', 'Hat 5'), /*네네 오리엔탈파닭*/ +('1004459', '6000', 'Hat 5'), /*네네 쇼킹핫양념치킨*/ +('1004458', '6400', 'Hat 5'), /*네네 스노윙 치킨*/ +('1004456', '3400', 'Hat 5'), /*Lovely Princess Bonnet*/ +('1004455', '7400', 'Hat 5'), /*Cottontail Rabbit Hat*/ +('1004454', '8800', 'Hat 5'), /*Snow Raccoon Hat*/ +/*Page 20*/ +('1004453', '7600', 'Hat 5'), /*Snow Bunny Beret*/ +('1004450', '7100', 'Hat 5'), /*Cross Wing Hair Pin*/ +('1004448', '4900', 'Hat 5'), /*Happy Mouse Hat*/ +('1004479', '6300', 'Hat 5'), /*Hoi Poi Hat*/ +('1004478', '8800', 'Hat 5'), /*BOY Hat*/ +('1004472', '6000', 'Hat 5'), /*Devil Wolf Seduction*/ +('1004471', '7400', 'Hat 5'), /*Crystal Cat Ribbon*/ +('1004470', '7600', 'Hat 5'), /*Fluffy Trapper Hat*/ +('1004469', '7100', 'Hat 5'), /*Love Message*/ +/*Page 21*/ +('1004468', '3600', 'Hat 5'), /*Bubblecone Hat*/ +('1004467', '4700', 'Hat 5'), /*Giant Floppy Heart Hat*/ +('1004490', '6000', 'Hat 5'), /*Spike Headphone*/ +('1004489', '5200', 'Hat 5'), /*Skull Hairpin*/ +('1004488', '3400', 'Hat 5'), /*Healing Ribbon*/ +('1004487', '5000', 'Hat 5'), /*Starlight Hoodie*/ +('1004486', '4900', 'Hat 5'), /*Spring Crown*/ +('1004483', '6300', 'Hat 5'), /*Akatsuki's Hair-Tie*/ +('1004482', '8800', 'Hat 5'), /*Akarin's Butterfly Hairpin*/ +/*Page 22*/ +('1004480', '3200', 'Hat 5'), /*Naughty Boy Hat*/ +('1004511', '4000', 'Hat 5'), /*Orange Mushroom Cap Hat*/ +('1004510', '4900', 'Hat 5'), /*Bold Slime Hat*/ +('1004508', '3400', 'Hat 5'), /*The Kingdom Crown of Queen*/ +('1004506', '5600', 'Hat 5'), /*Cottontail Rabbit Hairband*/ +('1004505', '6000', 'Hat 5'), /*Pink Blossom Ribbon*/ +('1004504', '6400', 'Hat 5'), /*Noble Blossom Casquette*/ +('1004503', '7600', 'Hat 5'), /*Cat Hood*/ +('1004502', '4000', 'Hat 5'), /*Moonbeam Fox Ears*/ +/*Page 23*/ +('1004501', '3600', 'Hat 5'), /*The Kindom Crown of King*/ +('1004500', '3200', 'Hat 5'), /*Puffy Red Carp Hat*/ +('1004499', '6300', 'Hat 5'), /*Puffy Blue Carp Hat*/ +('1004527', '5200', 'Hat 5'), /*Soaring Goggles*/ +('1004526', '4700', 'Hat 5'), /*(Boiling)*/ +('1004525', '3800', 'Hat 5'), /*Hair Roll*/ +('1004524', '7400', 'Hat 5'), /*한입 덥썩 돼지바*/ +('1004515', '5000', 'Hat 5'), /*Candy Party Ribbon Hairpin*/ +('1004513', '4900', 'Hat 5'), /*Clingy Pepe Hat*/ +/*Page 24*/ +('1004512', '3200', 'Hat 5'), /*Happy Pink Bean Hat*/ +('1004543', '5600', 'Hat 5'), /*Polka-Dot Ribbon*/ +('1004541', '8800', 'Hat 5'), /*Tea Party Ribbon*/ +('1004540', '5200', 'Hat 5'), /*Evening Orchid Hoodie*/ +('1004539', '7400', 'Hat 5'), /*Tenacious Ribbon Pig Hat*/ +('1004538', '6400', 'Hat 5'), /*Triumphant Ribbon Pig Hat*/ +('1004537', '5200', 'Hat 5'), /*Tenacious Zakum Helmet*/ +('1004536', '5000', 'Hat 5'), /*Triumphant Zakum Hat*/ +('1004535', '7600', 'Hat 5'), /*Schwarzer Beret*/ +/*Page 25*/ +('1004534', '6000', 'Hat 5'), /*Modern Farm Straw Hat*/ +('1004533', '3200', 'Hat 5'), /*Gaming Moonbeam*/ +('1004532', '7400', 'Hat 5'), /*The Empress is Watching*/ +('1004530', '3800', 'Hat 5'), /*Blue Panda Doll Hat*/ +('1004528', '7600', 'Hat 5'), /*Silver Lotus Wig*/ +('1004559', '8800', 'Hat 5'), /*Beginner Chef Hat*/ +('1004558', '4000', 'Hat 5'), /*Hoya Hat*/ +('1004557', '6400', 'Hat 5'), /*Twinkling Star Helmet*/ +('1004548', '6300', 'Hat 5'), /*Crown Hat Tiger*/ +/*Page 26*/ +('1004547', '7400', 'Hat 5'), /*Red Ribbon Panda Hat*/ +('1004546', '4000', 'Hat 5'), /*Gentleman Bunny Hat*/ +('1004545', '4700', 'Hat 5'), /*Pink Ribbon Sheep Hat*/ +('1004544', '6000', 'Hat 5'), /*Fedora Hat Cat*/ +('1004575', '3400', 'Hat 5'), /*Romantic Rose*/ +('1004574', '5600', 'Hat 5'), /*Reboot Hat*/ +('1004571', '7600', 'Hat 5'), /*Black Sailor Ribbon Hat*/ +('1004570', '7100', 'Hat 5'), /*Black Sailor Hat*/ +('1004569', '6000', 'Hat 5'), /*Rainbow Flower Pin*/ +/*Page 27*/ +('1004568', '3800', 'Hat 5'), /*Mousy Bunny Hat*/ +('1004566', '4700', 'Hat 5'), /*Strawberry Shaved Ice Hat*/ +('1004565', '6400', 'Hat 5'), /*Mango Shaved Ice Hat*/ +('1004564', '7600', 'Hat 5'), /*Melon Shaved Ice Hat*/ +('1004563', '5000', 'Hat 5'), /*Chef Hat*/ +('1004562', '3800', 'Hat 5'), /*Sous-Chef Hat*/ +('1004561', '7600', 'Hat 5'), /*Advanced Chef Hat*/ +('1004560', '5000', 'Hat 5'), /*Intermediate Chef Hat*/ +('1004591', '3800', 'Hat 5'), /*White Time*/ +/*Page 28*/ +('1004590', '7600', 'Hat 5'), /*Blueberry Jewel Pin*/ +('1004589', '6000', 'Hat 5'), /*Jay's Sterilized Kitty Eye Patch*/ +('1004581', '7600', 'Hat 5'), /*Dango Dango Hat*/ +('1004580', '6300', 'Hat 5'), /*Yeonhwa School Sapphire Ornament*/ +('1004578', '6000', 'Hat 5'), /*Royal Crown*/ +('1004577', '3600', 'Hat 5'), /*Pink Soda Cap*/ +('1004576', '6300', 'Hat 5'), /*LED Mouse Band*/ +('1004603', '4700', 'Hat 5'), /*Star-Spangled Banner Hat*/ +('1004602', '3800', 'Hat 5'), /*Farmer's Treasure*/ +/*Page 29*/ +('1004601', '6400', 'Hat 5'), /*Baby Penguin Hat*/ +('1004600', '6400', 'Hat 5'), /*British Marine Hat*/ +('1004599', '3800', 'Hat 5'), /*Black Ursus Hat*/ + + + +/*Page 1*/ +('1004598', '3200', 'Hat 6'), /*Brown Ursus Hat*/ +('1004597', '6400', 'Hat 6'), /*White Ursus Hat*/ +('1004592', '3200', 'Hat 6'), /*Black Time*/ +('1004620', '5600', 'Hat 6'), /*Chestnut Rice Cake Hat*/ +('1004619', '7100', 'Hat 6'), /*Bean Rice Cake Hat*/ +('1004618', '8800', 'Hat 6'), /*Honey Rice Cake Hat*/ +('1004614', '4900', 'Hat 6'), /*Salmon Bowl Hat*/ +('1004613', '3600', 'Hat 6'), /*Pork Bowl Hat*/ +('1004612', '6000', 'Hat 6'), /*Eel Bowl Hat*/ +/*Page 2*/ +('1004610', '6400', 'Hat 6'), /*Flower Butterfly*/ +('1004609', '4700', 'Hat 6'), /*Head Sakura*/ +('1004639', '4900', 'Hat 6'), /*Arctic Hood*/ +('1004638', '3600', 'Hat 6'), /*Mr. Orlov Hat*/ +('1004636', '8800', 'Hat 6'), /*Banana Outing Hat*/ +('1004635', '7600', 'Hat 6'), /*Festive Gumball*/ +('1004634', '7100', 'Hat 6'), /*Midnight Black Cat*/ +('1004633', '3400', 'Hat 6'), /*Ghost Fedora*/ + +/*Page 3*/ + + + +('1004643', '6400', 'Hat 6'), /*Blue Marine Cap*/ +('1004642', '6000', 'Hat 6'), /*Shining Light*/ +('1004641', '6400', 'Hat 6'), /*Fairy's Flower Bud*/ +('1004640', '6300', 'Hat 6'), /*Block Party Cap*/ +('1004671', '6000', 'Hat 6'), /*Modern Farm Straw Hat*/ +('1004665', '3200', 'Hat 6'), /*Warm Rabbit Fur Hat*/ +/*Page 4*/ +('1004662', '3200', 'Hat 6'), /*Monkey Mochi Hat*/ +('1004661', '4900', 'Hat 6'), /*Fluffy Fox Ears (Silver)*/ +('1004660', '3200', 'Hat 6'), /*Fluffy Fox Ears (Gold)*/ +('1004659', '5200', 'Hat 6'), /*Polar Bear Hood*/ +('1004687', '4700', 'Hat 6'), /*Secret Shade*/ +('1004686', '5000', 'Hat 6'), /*Secret Shade*/ +('1004685', '3800', 'Hat 6'), /*Split Luminous*/ +('1004684', '7100', 'Hat 6'), /*Split Luminous*/ +('1004683', '3600', 'Hat 6'), /*Winter Aran*/ +/*Page 5*/ +('1004682', '3800', 'Hat 6'), /*Winter Aran*/ +('1004681', '5200', 'Hat 6'), /*Mystic Phantom*/ +('1004680', '6400', 'Hat 6'), /*Mystic Phantom*/ +('1004679', '3600', 'Hat 6'), /*Royal Mercedes*/ +('1004678', '8800', 'Hat 6'), /*Royal Mercedes*/ +('1004677', '5600', 'Hat 6'), /*Evan Golden Wings*/ +('1004676', '6400', 'Hat 6'), /*Evan Golden Wings*/ +('1004673', '5200', 'Hat 6'), /*Time Mistress Hat*/ +('1004672', '7400', 'Hat 6'), /*Time Master Hat*/ +/*Page 6*/ +('1004703', '4900', 'Hat 6'), /*Damien Snapback*/ +('1004702', '8800', 'Hat 6'), /*Fairy Knit Hat*/ +('1004701', '6000', 'Hat 6'), /*Winter Deer*/ +('1004700', '8800', 'Hat 6'), /*Beaky Owl Mask*/ +('1004698', '6000', 'Hat 6'), /*Black Time*/ +('1004697', '3200', 'Hat 6'), /*White Time*/ +('1004694', '3400', 'Hat 6'), /*Reindeer Hat*/ +('1004693', '5000', 'Hat 6'), /*Santa Hat*/ +('1004692', '4700', 'Hat 6'), /*Kid Snowman*/ +/*Page 7*/ +('1004691', '3400', 'Hat 6'), /*Fantastic Blue Rose*/ +('1004690', '7600', 'Hat 6'), /*Facewashing Band*/ +('1004689', '6000', 'Hat 6'), /*Rolled Towel*/ +('1004688', '7400', 'Hat 6'), /*Slumbering Dragon Snapback*/ +('1004718', '5000', 'Hat 6'), /*Eckhart Doll Hat*/ +('1004717', '7100', 'Hat 6'), /*Baby Binkie Bonnet*/ +('1004716', '6300', 'Hat 6'), /*Concert Muse Tiara*/ +('1004714', '7100', 'Hat 6'), /*Black Mage Snapback*/ +('1004713', '7400', 'Hat 6'), /*Kurama Ear Accessory*/ +/*Page 8*/ +('1004712', '3600', 'Hat 6'), /*Smile Seed Hat*/ +('1004711', '7400', 'Hat 6'), /*Oz Doll Hat*/ +('1004708', '3400', 'Hat 6'), /*Cozy Fur Hat */ +('1004706', '7400', 'Hat 6'), /*Winter Garden Hat*/ +('1004734', '7400', 'Hat 6'), /*Melon Shaved Ice Hat*/ +('1004733', '6300', 'Hat 6'), /*Gaming Moonbeam*/ +('1004732', '5000', 'Hat 6'), /*Calico Head Cat*/ +('1004731', '8800', 'Hat 6'), /*Adorable Gold Nyanya*/ +('1004730', '3400', 'Hat 6'), /*Hungry Moon Bunny*/ +/*Page 9*/ +('1004729', '3400', 'Hat 6'), /*Wee Moon Bunny's Rice Drop Soup*/ +('1004728', '3800', 'Hat 6'), /*Lady Moon Bunny's Rice Drop Soup*/ +('1004727', '4900', 'Hat 6'), /*Shade's Game of Yut*/ +('1004726', '7600', 'Hat 6'), /*Moonbeam's Game of Yut*/ +('1004725', '4000', 'Hat 6'), /*Pink Bean Likes Meat*/ +('1004724', '5600', 'Hat 6'), /*Bright New Year Hat*/ +('1004723', '3400', 'Hat 6'), /*Transcendence Stone Snapback*/ +('1004722', '7600', 'Hat 6'), /*Moon Dancer's Bandana*/ +('1004721', '4900', 'Hat 6'), /*Flower Dancer's Butterfly Pin*/ +/*Page 10*/ +('1004720', '5200', 'Hat 6'), /*Umbral Cap*/ +('1004751', '5000', 'Hat 6'), /*Windswept Rainbow Wig*/ +('1004750', '5000', 'Hat 6'), /*Casentino Rainbow Wig*/ + +('1004748', '8800', 'Hat 6'), /*Couples Army Helm*/ +('1004747', '4700', 'Hat 6'), /*Singles Army Helm*/ +('1004739', '3600', 'Hat 6'), /*Rainbow Clover*/ +('1004738', '7400', 'Hat 6'), /*Baby Ghost Hat*/ +('1004737', '6000', 'Hat 6'), /*Black Ribbon Hairpin*/ +/*Page 11*/ +('1004763', '7600', 'Hat 6'), /*Star Crusher Cap*/ +('1004762', '6400', 'Hat 6'), /*Cunning Sweet Pig Hat*/ +('1004761', '3800', 'Hat 6'), /*Mischievous Sweet Pig Hat*/ +('1004760', '6300', 'Hat 6'), /*Monster Kindergarten Hat*/ +('1004759', '3600', 'Hat 6'), /*Red Flame Phoenix Plume*/ +('1004758', '3400', 'Hat 6'), /*Blue Flame Phoenix Plume*/ +('1004757', '7100', 'Hat 6'), /*Cat in a Hat*/ +('1004756', '3400', 'Hat 6'), /*Shark Hoodie*/ +('1004754', '4900', 'Hat 6'), /*Fishtail Rainbow Wig*/ +/*Page 12*/ +('1004753', '7100', 'Hat 6'), /*Front Ponytail Rainbow Wig*/ +('1004752', '8800', 'Hat 6'), /*Rainbow Spore Wig*/ +('1004779', '6000', 'Hat 6'), /*Flower Garden Morning*/ +('1004778', '4900', 'Hat 6'), /*Noble Maple Crown*/ +('1004777', '7400', 'Hat 6'), /*Flower Garden Morning*/ +('1004776', '6400', 'Hat 6'), /*Spring Scene Rain Hat*/ +('1004775', '3400', 'Hat 6'), /*Lace Berry*/ +('1004774', '6400', 'Hat 6'), /*Bunny Bon Bon*/ +('1004799', '6300', 'Hat 6'), /*Carrot Rabbit Hairpin*/ +/*Page 13*/ +('1004798', '3800', 'Hat 6'), /*Scout Ribbon Beret*/ +('1004797', '5200', 'Hat 6'), /*Decorated Scout Beret*/ +('1004796', '6000', 'Hat 6'), /*Racing Elephant Hat*/ +('1004795', '3200', 'Hat 6'), /*Rose Blossom*/ +('1004794', '4000', 'Hat 6'), /*Rose Bud*/ +('1004793', '4900', 'Hat 6'), /*Lalala Earphones*/ +('1004792', '3800', 'Hat 6'), /*Hydrangea Lace Hairband*/ +('1004791', '3800', 'Hat 6'), /*Hydrangea Hair Pin*/ +('1004790', '3400', 'Hat 6'), /*Detective Hat*/ +/*Page 14*/ +('1004789', '3600', 'Hat 6'), /*Chicky Suds Hat*/ +('1004788', '5200', 'Hat 6'), /*Bubble Leaf Hat*/ +('1004787', '5000', 'Hat 6'), /*Chicken Cutie Hat*/ +('1004815', '3800', 'Hat 6'), /*Hearty Heart Antenna*/ +('1004814', '7600', 'Hat 6'), /*Kitty Hoodie Bandana*/ +('1004813', '3200', 'Hat 6'), /*Dragon Emperor's Helm*/ +('1004807', '5600', 'Hat 6'), /*Starfish and Clam*/ +('1004806', '5000', 'Hat 6'), /*Villain's Mask (Hat)*/ +('1004805', '3200', 'Hat 6'), /*Sky-blue Straw Hat*/ +/*Page 15*/ +('1004804', '4000', 'Hat 6'), /*Blaster Hat*/ +('1004803', '3600', 'Hat 6'), /*Blaster Hat*/ +('1004802', '4900', 'Hat 6'), /*Strawberry Headphone Hat*/ +('1004801', '7100', 'Hat 6'), /*Banana Headphone Hat*/ +('1004800', '3200', 'Hat 6'), /*Watermelon Headphone Hat*/ +('1004831', '7600', 'Hat 6'), /*Moon Bunny Bell Wig (F)*/ +('1004830', '8800', 'Hat 6'), /*Moon Bunny Bell Wig (M)*/ +('1004829', '6000', 'Hat 6'), /*Red Beret (M)*/ +('1004828', '6300', 'Hat 6'), /*Green Beret (F)*/ +/*Page 16*/ +('1004827', '5000', 'Hat 6'), /*Kamaitachi Hat*/ +('1004826', '5600', 'Hat 6'), /*Straw Cat Hat*/ +('1004825', '4000', 'Hat 6'), /*Time-Traveling Anniversary Headband*/ +('1004824', '6000', 'Hat 6'), /*Well-Liked Barrette*/ + +('1004821', '8800', 'Hat 6'), /*Wafer Fedora*/ +('1004820', '7600', 'Hat 6'), /*Goggled Watermelon Hat*/ +('1004819', '3400', 'Hat 6'), /*Watermelon Hat*/ +('1004818', '3800', 'Hat 6'), /*Queen's Ice Cream*/ +/*Page 17*/ +('1004817', '5600', 'Hat 6'), /*Round Wafer Ears*/ +('1004816', '7600', 'Hat 6'), /*Starry Night Orchid*/ +('1004847', '3400', 'Hat 6'), /*Fairy Dew Cap*/ +('1004846', '6400', 'Hat 6'), /*Midnight Bloom*/ +('1004845', '3800', 'Hat 6'), /*Midnight Legacy*/ +('1004844', '4000', 'Hat 6'), /*Poofy Bichon Hat*/ +('1004843', '7400', 'Hat 6'), /*Pumpkin-Colored Witch Hat*/ +('1004842', '6400', 'Hat 6'), /*Jack-o'-lantern Hat*/ +('1004841', '6400', 'Hat 6'), /*Ghost Hat*/ +/*Page 18*/ +('1004840', '4700', 'Hat 6'), /*Floral Veil*/ +('1004839', '5200', 'Hat 6'), /*Diamond Veil*/ +('1004835', '3200', 'Hat 6'), /*Chained Princess Ribbon*/ +('1004834', '6000', 'Hat 6'), /*Dark Musician Headphones*/ +('1004833', '6000', 'Hat 6'), /*Rudi's Hat*/ +('1004832', '4700', 'Hat 6'), /*White Combat Veil*/ +('1004863', '3800', 'Hat 6'), /*Winter Bunny Hat (Pink)*/ +('1004862', '5200', 'Hat 6'), /*Winter Bunny Hat (Teal)*/ +('1004861', '7100', 'Hat 6'), /*Vampire Phantom Mask*/ +/*Page 19*/ +('1004860', '4700', 'Hat 6'), /*Elsa's Flower Accessory*/ +('1004859', '7600', 'Hat 6'), /*Felt's Ribbon*/ +('1004858', '3800', 'Hat 6'), /*Puck's Hat*/ +('1004857', '5600', 'Hat 6'), /*Shadow Warrior's Veil*/ +('1004856', '6400', 'Hat 6'), /*소생의 니은*/ +('1004855', '7600', 'Hat 6'), /*Orange Mushroom Beret*/ +('1004854', '5600', 'Hat 6'), /*Devil Bear Cap*/ +('1004853', '6000', 'Hat 6'), /*Flutter Flower Panama*/ +('1004852', '5000', 'Hat 6'), /*Sweetheart Hat*/ +/*Page 20*/ +('1004851', '7600', 'Hat 6'), /*Japanese Veil*/ +('1004850', '3200', 'Hat 6'), /*Lucid's Silk Hat*/ +('1004849', '4700', 'Hat 6'), /*Cozy Penguin Hood*/ +('1004848', '4000', 'Hat 6'), /*Sweet Pengyin Hood*/ +('1004879', '8800', 'Hat 6'), /*Festive Lovers Hat (M)*/ +('1004878', '3400', 'Hat 6'), /*Cat Monster Hat*/ +('1004877', '3200', 'Hat 6'), /*Love Bell Hat*/ +('1004876', '6000', 'Hat 6'), /*Broken Egg Hat*/ +('1004875', '6400', 'Hat 6'), /*Halloween Cat-O-Lantern Mask*/ +/*Page 21*/ +('1004874', '4700', 'Hat 6'), /*Blushing Reindeer Hat*/ +('1004873', '7100', 'Hat 6'), /*Pumpkin Planet*/ +('1004872', '6400', 'Hat 6'), /*Alicorn Hat*/ +('1004871', '4000', 'Hat 6'), /*Purple Porker Cap*/ +('1004870', '3200', 'Hat 6'), /*Hallowkitty's Witch Hat*/ +('1004869', '5200', 'Hat 6'), /*Halloween Mummy Mask*/ +('1004868', '5600', 'Hat 6'), /*Halloween Werewolf Mask*/ +('1004867', '6300', 'Hat 6'), /*Halloween Skull Mask*/ +('1004866', '5000', 'Hat 6'), /*Halloween Frankenstein Mask*/ +/*Page 22*/ +('1004865', '6000', 'Hat 6'), /*Halloween Dracula Mask*/ +('1004895', '6000', 'Hat 6'), /*Star's Song*/ +('1004894', '5000', 'Hat 6'), /*Star's Melody*/ +('1004893', '6000', 'Hat 6'), /*Maple 5000-Day Hat*/ + +('1004891', '3200', 'Hat 6'), /*Glorious Red Bean Treat Hat*/ +('1004890', '7100', 'Hat 6'), /*White Night Horns*/ +('1004889', '3400', 'Hat 6'), /*Chicken Mochi Hat*/ + +/*Page 23*/ +('1004887', '6000', 'Hat 6'), /*Nutcracker Hat*/ +('1004885', '6300', 'Hat 6'), /*Big Expedition Hat*/ +('1004884', '5200', 'Hat 6'), /*Idol Ribbon Snapback*/ +('1004883', '7400', 'Hat 6'), /*Fried Chicken God's Angel*/ +('1004882', '3200', 'Hat 6'), /*Sweet Lace Ears*/ +('1004881', '5000', 'Hat 6'), /*Sweet Wiggly Ears*/ +('1004880', '7600', 'Hat 6'), /*Festive Lovers Hat (F)*/ +('1004911', '6300', 'Hat 6'), /*Sweet Fresh Cream Cake Hat*/ +('1004910', '3400', 'Hat 6'), /*Sweet Chocolate Cake Hat*/ +/*Page 24*/ +('1004909', '7400', 'Hat 6'), /*Polar Explorer Winter Hat*/ +('1004900', '8800', 'Hat 6'), /*Snow Queen*/ +('1004899', '7400', 'Hat 6'), /*Snow King*/ +('1004898', '6000', 'Hat 6'), /*Snow Queen*/ +('1004897', '4700', 'Hat 6'), /*Snow King*/ +('1004927', '8800', 'Hat 6'), /*Blue Penguin Winter Cap*/ +('1004926', '5600', 'Hat 6'), /*Pompom Knit Hat*/ +('1004925', '5600', 'Hat 6'), /*Rocket Hat*/ +('1004924', '6400', 'Hat 6'), /*Teddy Earmuffs*/ +/*Page 25*/ +('1004923', '5000', 'Hat 6'), /*Moonlight Sticky Cake*/ +('1004922', '3400', 'Hat 6'), /*Strawberry Latte Hat*/ +('1004921', '8800', 'Hat 6'), /*Caramel Latte Hat*/ +('1004920', '3600', 'Hat 6'), /*Green Tea Latte Hat*/ +('1004919', '4700', 'Hat 6'), /*Manji's Bamboo Hat*/ +('1004916', '3600', 'Hat 6'), /*Nova Enchanter Hat*/ +('1004912', '6300', 'Hat 6'), /*Yellow Chick Hat*/ +('1004942', '3400', 'Hat 6'), /*Huge Flower Hat*/ +('1004941', '3800', 'Hat 6'), /*Wildflower Mini Flower Pin*/ +/*Page 26*/ +('1004940', '3400', 'Hat 6'), /*Mini Mini Flower Pin*/ +('1004939', '6000', 'Hat 6'), /*Bell Mini Flower Pin*/ +('1004938', '3400', 'Hat 6'), /*Braided Mini Flower Pin*/ +('1004937', '6300', 'Hat 6'), /*Rose Mini Flower Pin*/ +('1004936', '6400', 'Hat 6'), /*Ladybug Hat*/ +('1004935', '4000', 'Hat 6'), /*White M-Forcer Helmet*/ +('1004934', '7100', 'Hat 6'), /*Strawberry Hairpin*/ +('1004933', '3600', 'Hat 6'), /*Cape Beret (F)*/ +('1004932', '7400', 'Hat 6'), /*Cape Beret (M)*/ +/*Page 27*/ +('1004931', '4000', 'Hat 6'), /*Spring Fairy Fur Hat*/ +('1004929', '6300', 'Hat 6'), /*Hand-knitted Chicken*/ +('1004928', '3400', 'Hat 6'), /*Pink Penguin Winter Cap*/ +('1004959', '3400', 'Hat 6'), /*Napoleonic Hat*/ +('1004958', '7100', 'Hat 6'), /*Elizabethan Hat*/ +('1004957', '7400', 'Hat 6'), /*Sprinkle Sprout*/ +('1004956', '3200', 'Hat 6'), /*Froggy Rainhat*/ +('1004955', '3400', 'Hat 6'), /*Cherry Bomb*/ +('1004954', '7400', 'Hat 6'), /*Cherry on Top*/ +/*Page 28*/ +('1004953', '4700', 'Hat 6'), /*Deerstalker Cap*/ +('1004952', '8800', 'Hat 6'), /*Foxy Teacher Hat*/ +('1004951', '7600', 'Hat 6'), /*Pop Star Hat (M)*/ +('1004950', '6000', 'Hat 6'), /*Pop Star Hat (F)*/ +('1004949', '3200', 'Hat 6'), /*Starlit Dreams Cowl*/ +('1004948', '7100', 'Hat 6'), /*Silky Skater Band*/ +('1004947', '4700', 'Hat 6'), /*Smiley Skater Lid*/ +('1004946', '7400', 'Hat 6'), /*Silver Flower Child Hat*/ +('1004945', '4900', 'Hat 6'), /*Pandora Hat*/ +/*Page 29*/ +('1004975', '5200', 'Hat 6'), /*Preppy Sprout Hat*/ +('1004974', '6000', 'Hat 6'), /*Maple Galaxy Helmet*/ +('1004973', '7100', 'Hat 6'), /*Steely Meow Helmet*/ + + + +/*Page 1*/ +('1004972', '5600', 'Hat 7'), /*Steely Blue Kitty Ears*/ +('1004971', '6400', 'Hat 7'), /*Steely Pink Kitty Ears*/ +('1004970', '7600', 'Hat 7'), /*Steely Pink Bunny Ears*/ +('1004969', '7400', 'Hat 7'), /*Pink Elephant Hat*/ +('1004968', '5200', 'Hat 7'), /*Mallow Fluff Cloud Hat*/ +('1004967', '3600', 'Hat 7'), /*Mustachioed Ballcap*/ +('1004966', '4900', 'Hat 7'), /*Mustachioed Bowler*/ +('1004965', '8800', 'Hat 7'), /*Apricot Bloom*/ +('1004964', '4700', 'Hat 7'), /*Iron Mace Uniform Hat*/ +/*Page 2*/ +('1004961', '7400', 'Hat 7'), /*Dango Set Hat*/ + +('1004989', '6300', 'Hat 7'), /*Watermelon Cat Ears*/ +('1004988', '4900', 'Hat 7'), /*Floral Wave*/ + +('1004985', '5600', 'Hat 7'), /*Rock Spirit Hat*/ +('1004984', '7100', 'Hat 7'), /*Blue Polka Dot Sunglasses*/ +('1004983', '6000', 'Hat 7'), /*Red Polka Dot Sunglasses*/ +('1004982', '4000', 'Hat 7'), /*Golden Laurel Crown*/ +/*Page 3*/ +('1004981', '3800', 'Hat 7'), /*Summer Pom Pom Straw Hat*/ + +('1004978', '4000', 'Hat 7'), /*Bunny Kit Hat*/ +('1004977', '6300', 'Hat 7'), /*Carrot Top*/ +('1004976', '3200', 'Hat 7'), /*Bananappeal Hat*/ +('1005007', '4700', 'Hat 7'), /*Mapo Tofu Hat*/ +('1005006', '6300', 'Hat 7'), /*Bulgogi Hat*/ +('1005005', '4900', 'Hat 7'), /*Rock Spirit*/ +('1005004', '7100', 'Hat 7'), /*Falling Darkness Hat*/ +/*Page 4*/ +('1005003', '6400', 'Hat 7'), /*Feather Messenger Hat*/ +('1005002', '5000', 'Hat 7'), /*Sunny Dino Head Wrap*/ +('1005001', '5600', 'Hat 7'), /*Mellow Dino Head Wrap*/ +('1005000', '3600', 'Hat 7'), /*Stitched Teddy Cap*/ +('1004999', '7600', 'Hat 7'), /*Dragon Pop Headband*/ +('1004998', '5000', 'Hat 7'), /*Summer Flower Fairy Hat*/ +('1004997', '6400', 'Hat 7'), /*Refreshing Lemon Hat*/ +('1004996', '4000', 'Hat 7'), /*Shampoo Cap*/ +('1004995', '6000', 'Hat 7'), /*Charlotte Sun Hat*/ +/*Page 5*/ +('1004994', '5600', 'Hat 7'), /*GS25 Jeonju Bibimbap*/ +('1004993', '6300', 'Hat 7'), /*GS25 Hot Fire Chicken*/ +('1004992', '7100', 'Hat 7'), /*GS25 Tuna Mayo*/ +('1005023', '4900', 'Hat 7'), /*Dog Rice Cake*/ +('1005022', '5200', 'Hat 7'), /*Shiba Hat*/ +('1005021', '5200', 'Hat 7'), /*Laziness Dog Hat*/ +('1005020', '5600', 'Hat 7'), /*Shadow Tactician Hat*/ +('1005019', '3200', 'Hat 7'), /*Cat Cafe Hat*/ +('1005018', '4700', 'Hat 7'), /*Apple Bunny Hat*/ +/*Page 6*/ +('1005017', '5200', 'Hat 7'), /*Sensible Denim Denim Hat*/ +('1005016', '6400', 'Hat 7'), /*Flowery Cat Hat*/ +('1005015', '6000', 'Hat 7'), /*Kitty Cat Ears Hat*/ +('1005014', '6400', 'Hat 7'), /*Custom Kitty Hat*/ +('1005013', '7400', 'Hat 7'), /*Tom Yum Soup Hat*/ +('1005012', '8800', 'Hat 7'), /*Hamburger Hat*/ +('1005011', '6400', 'Hat 7'), /*Spaghetti Hat*/ +('1005010', '6400', 'Hat 7'), /*Chili Crab Hat*/ +('1005009', '7400', 'Hat 7'), /*Beef Noodle Soup Hat*/ +/*Page 7*/ +('1005008', '5000', 'Hat 7'), /*Sushi Hat*/ +('1005039', '3800', 'Hat 7'), /*Crimson Fate Rosette*/ +('1005038', '3600', 'Hat 7'), /*Crimson Fate Rosette*/ +('1005037', '4000', 'Hat 7'), /*Crimson Fate Mark*/ +('1005036', '4900', 'Hat 7'), /*Ryude Hat*/ +('1005035', '6400', 'Hat 7'), /*Suit Heart Hair Clip*/ +('1005034', '8800', 'Hat 7'), /*Tree Spirit*/ +('1005033', '3400', 'Hat 7'), /*Ornate Gold-trimmed Memory*/ +('1005032', '4000', 'Hat 7'), /*Golden Memory*/ +/*Page 8*/ +('1005027', '5600', 'Hat 7'), /*Puppy Love Samurai Hat (F)*/ +('1005026', '4000', 'Hat 7'), /*Puppy Love Samurai Hat (M)*/ +('1005025', '7400', 'Hat 7'), /*Mushroom Dog Hat*/ +('1005024', '6000', 'Hat 7'), /*Pug Hat*/ +('1005055', '3200', 'Hat 7'), /*Cabbie Spiegelmask*/ +('1005054', '5200', 'Hat 7'), /*Cassandra Spitfire Mask*/ +('1005053', '7600', 'Hat 7'), /*Detective Kemdi Mask*/ +('1005052', '3200', 'Hat 7'), /*Dumpling Hat*/ + +/*Page 9*/ +('1005050', '6400', 'Hat 7'), /*Snowflake Ski Hat (M)*/ +('1005049', '3600', 'Hat 7'), /*Snowflake Ski Hat (F)*/ +('1005048', '7100', 'Hat 7'), /*Warm Blue Bear Hat*/ +('1005047', '3800', 'Hat 7'), /*Warm Pink Bear Hat*/ +('1005046', '8800', 'Hat 7'), /*Christmas Bunny Hat*/ +('1005045', '7400', 'Hat 7'), /*Meow Hat*/ +('1005044', '3800', 'Hat 7'), /*Pair of Peas*/ +('1005043', '5600', 'Hat 7'), /*Cat Diamond*/ +('1005042', '4700', 'Hat 7'), /*Cattail Hat*/ +/*Page 10*/ +('1005041', '3600', 'Hat 7'), /*Eggplant Top*/ +('1005040', '3200', 'Hat 7'), /*Crimson Fate Mark*/ +('1005071', '4900', 'Hat 7'), /*Sweet Choco Cake Slice*/ +('1005070', '3800', 'Hat 7'), /*Cherry Sundae Beanie*/ +('1005069', '7400', 'Hat 7'), /*Marshmallow Heart Earmuffs*/ +('1005068', '6400', 'Hat 7'), /*Shiny Crown*/ +('1005067', '6400', 'Hat 7'), /*Jawbreaker Ribbon*/ +('1005066', '7400', 'Hat 7'), /*Serene Heart Hair*/ +('1005065', '3600', 'Hat 7'), /*Drifting Heart Hair*/ +/*Page 11*/ +('1005064', '6400', 'Hat 7'), /*Snowy Mountain Hat*/ +('1005063', '3800', 'Hat 7'), /*Cadena Platinum Wig (M)*/ +('1005062', '7100', 'Hat 7'), /*Cadena Platinum Wig (F)*/ +('1005061', '6000', 'Hat 7'), /*Fried Hat*/ +('1005060', '7400', 'Hat 7'), /*Busy Penguin Hat*/ +('1005058', '4000', 'Hat 7'), /*Strawberry Hair Pin*/ +('1005057', '3200', 'Hat 7'), /*Pink Bean Hairband*/ +('1005056', '6000', 'Hat 7'), /*MFF Moon Bunny Mask*/ +('1005087', '6000', 'Hat 7'), /*Worn Skull Hat*/ +/*Page 12*/ +('1005086', '5000', 'Hat 7'), /*Worn Witch Hat*/ +('1005085', '3600', 'Hat 7'), /*Worn Messy Wig*/ +('1005084', '5600', 'Hat 7'), /*Flushed Puppy*/ +('1005083', '5000', 'Hat 7'), /*Mist Puppy*/ +('1005082', '7100', 'Hat 7'), /*4th Angel Hat*/ +('1005081', '3800', 'Hat 7'), /*Asuka Hat*/ +('1005080', '6000', 'Hat 7'), /*Angel Halo*/ +('1005079', '3200', 'Hat 7'), /*Tiger Cub Hat*/ +('1005078', '3600', 'Hat 7'), /*Cow Mask*/ +/*Page 13*/ +('1005077', '6000', 'Hat 7'), /*Lab Server Master Crown*/ +('1005076', '8800', 'Hat 7'), /*Paper Bag*/ +('1005075', '3200', 'Hat 7'), /*Soft Earmuffs*/ +('1005074', '7400', 'Hat 7'), /*Jiangshi Hat*/ +('1005073', '3200', 'Hat 7'), /*Ghost Mask*/ +('1005072', '7100', 'Hat 7'), /*Fresh Strawberry Cake Slice*/ +('1005103', '4000', 'Hat 7'), /*Slime Cuddle Fuzz Hat*/ +('1005102', '7400', 'Hat 7'), /*Pink Bean Cuddle Fuzz Hat*/ +('1005101', '7400', 'Hat 7'), /*Royal Guard Hat (M)*/ +/*Page 14*/ +('1005100', '7400', 'Hat 7'), /*Royal Guard Hat (F)*/ +('1005099', '6000', 'Hat 7'), /*Lunar New Year VIP Hat (M)*/ +('1005098', '6400', 'Hat 7'), /*Lunar New Year VIP Hat (F)*/ +('1005097', '4000', 'Hat 7'), /*Lunar New Year VIP Hat I*/ +('1005096', '5600', 'Hat 7'), /*Chunky Cable-Knit Hat*/ +('1005095', '5600', 'Hat 7'), /*Lunar New Year Fireworks Mask*/ +('1005094', '3400', 'Hat 7'), /*Oceanic Heart*/ +('1005093', '4900', 'Hat 7'), /*Oceanic Wings*/ +('1005092', '4000', 'Hat 7'), /*Soft Snow Hat*/ +/*Page 15*/ +('1005091', '4900', 'Hat 7'), /*Vengeful Nyen's Hat*/ +('1005090', '5000', 'Hat 7'), /*Nyen's Hat*/ +('1005089', '6400', 'Hat 7'), /*Bunny Snapback*/ +('1005088', '5600', 'Hat 7'), /*Santa Hat*/ +('1005119', '3600', 'Hat 7'), /*Girlfriend Hat (M)*/ +('1005118', '3400', 'Hat 7'), /*Butterfly Hat*/ +('1005117', '8800', 'Hat 7'), /*Tennis Hat (F)*/ +('1005116', '6400', 'Hat 7'), /*Tennis Hat (M)*/ +('1005115', '4900', 'Hat 7'), /*World of Pink Hat (F)*/ +/*Page 16*/ +('1005114', '5000', 'Hat 7'), /*World of Pink Hat (M)*/ +('1005113', '7600', 'Hat 7'), /*Red Bear Winter Hoodie*/ +('1005112', '4900', 'Hat 7'), /*Pink Horn Beanie*/ +('1005111', '5200', 'Hat 7'), /*Plum Blossom Bonnet*/ +('1005110', '7100', 'Hat 7'), /*Plum Blossom Petals*/ +('1005135', '8800', 'Hat 7'), /*Mochi Puppy*/ + +('1005131', '5200', 'Hat 7'), /*Alchemist Gem*/ +('1005130', '4900', 'Hat 7'), /*Treasure Ship Kemdi Mask*/ +/*Page 17*/ +('1005129', '8800', 'Hat 7'), /*Polar Kemdi Mask*/ +('1005128', '3200', 'Hat 7'), /*Desert Kemdi Mask*/ +('1005127', '3600', 'Hat 7'), /*Holiday Kemdi Mask*/ +('1005126', '8800', 'Hat 7'), /*Golden Kemdi Mask*/ +('1005125', '7400', 'Hat 7'), /*Golden Oink-Oink Beanie*/ +('1005124', '5200', 'Hat 7'), /*Gentle Bunny Hat*/ +('1005123', '7400', 'Hat 7'), /*Pink Bear Winter Hoodie*/ +('1005122', '3800', 'Hat 7'), /*Maple Blitzer Strategist Cap*/ +('1005121', '8800', 'Hat 7'), /*Cozy Bunny Hat*/ +/*Page 18*/ +('1005120', '4900', 'Hat 7'), /*Girlfriend Hat (F)*/ +('1005151', '4700', 'Hat 7'), /*Little Darling Beret*/ +('1005150', '3200', 'Hat 7'), /*Pink Hipster Baseball Cap*/ +('1005149', '6400', 'Hat 7'), /*Yellow Hipster Baseball Cap*/ +('1005145', '6400', 'Hat 7'), /*Fluffy Pink Ribbon*/ +('1005144', '5200', 'Hat 7'), /*Carbon Wing Cap*/ +('1005143', '5200', 'Hat 7'), /*Kiddy Crayon Cap*/ +('1005142', '3800', 'Hat 7'), /*Green Hipster Baseball Cap*/ +('1005141', '7100', 'Hat 7'), /*Easter Bonnet*/ +/*Page 19*/ +('1005140', '5000', 'Hat 7'), /*Flower Ribbon Headband*/ +('1005139', '5600', 'Hat 7'), /*Homeless Cat Hat*/ +('1005138', '7600', 'Hat 7'), /*Sakura's Hair Ornament*/ +('1005137', '8800', 'Hat 7'), /*Doggy Biscuit*/ +('1005136', '4700', 'Hat 7'), /*Floppy Puppy*/ +('1005167', '7400', 'Hat 7'), /*Jailbird Cap*/ +('1005166', '7100', 'Hat 7'), /*Candy Tiara*/ +('1005164', '4000', 'Hat 7'), /*Witchy Spring*/ +('1005163', '4700', 'Hat 7'), /*Upbeat Heart Hairband*/ +/*Page 20*/ +('1005162', '5200', 'Hat 7'), /*Catty Hilla*/ +('1005161', '5000', 'Hat 7'), /*Catty Von Leon*/ +('1005160', '6300', 'Hat 7'), /*Catty Arkarium*/ +('1005159', '3400', 'Hat 7'), /*Catty Magnus*/ +('1005158', '4900', 'Hat 7'), /*Catty Will*/ +('1005157', '7100', 'Hat 7'), /*Ark Hat*/ +('1005156', '6000', 'Hat 7'), /*Super Summer Hat (M)*/ +('1005155', '6000', 'Hat 7'), /*Super Summer Hat (F)*/ +('1005154', '3600', 'Hat 7'), /*Tennis Ribbon*/ +/*Page 21*/ +('1005153', '6400', 'Hat 7'), /*Tennis Cap*/ +('1005152', '5200', 'Hat 7'), /*Squirrel Hairband*/ +('1005183', '5200', 'Hat 7'), /*Hipster Baseball Cap*/ +('1005182', '3600', 'Hat 7'), /*Syaoran Battle Costume Hat*/ +('1005181', '5000', 'Hat 7'), /*Perched Tomoyo-chan*/ +('1005180', '5200', 'Hat 7'), /*Perched Syaoran-kun*/ +('1005179', '7600', 'Hat 7'), /*Perched Sakura-chan*/ +('1005178', '4000', 'Hat 7'), /*Perched Kero-chan*/ +('1005177', '5000', 'Hat 7'), /*Sakura Battle Costume Hat*/ +/*Page 22*/ +('1005176', '3400', 'Hat 7'), /*Kero-chan Hood*/ +('1005174', '5200', 'Hat 7'), /*Erda Hat*/ +('1005173', '3200', 'Hat 7'), /*Happy Ghost Hat*/ +('1005172', '3600', 'Hat 7'), /*Picnic Snapback Hat*/ +('1005171', '7100', 'Hat 7'), /*Picnic Musubi Hairpin*/ +('1005170', '3800', 'Hat 7'), /*Picnic Fruit Hairpin*/ +('1005169', '7400', 'Hat 7'), /*Picnic Maki Hairpin*/ +('1005168', '3600', 'Hat 7'), /*Maple Gumshoe's Fedora*/ +('1005195', '7100', 'Hat 7'), /*Watermelon Top*/ +/*Page 23*/ +('1005194', '4900', 'Hat 7'), /*Catkerchief Doll Hat*/ +('1005193', '8800', 'Hat 7'), /*Spring Green Ribbon*/ +('1005192', '4000', 'Hat 7'), /*Super Summer Snorkel*/ +('1005190', '3400', 'Hat 7'), /*Kitty Planet Posh Hat*/ +('1005189', '6300', 'Hat 7'), /*Summer Story Hat (M)*/ +('1005188', '7100', 'Hat 7'), /*Summer Story Hat (F)*/ + +('1005186', '6000', 'Hat 7'), /*Ballpark Buddies Hat*/ +('1005185', '7400', 'Hat 7'), /*Guardian Knight Hat*/ +/*Page 24*/ +('1005184', '3600', 'Hat 7'), /*Elite Knight Hat*/ +('1005212', '4000', 'Hat 7'), /*Misty Starlight*/ +('1005211', '3600', 'Hat 7'), /*Misty Moonlight*/ +('1005210', '3400', 'Hat 7'), /*Misty Starlight*/ +('1005209', '6400', 'Hat 7'), /*Misty Moonlight*/ +('1005208', '5200', 'Hat 7'), /*Flicker Mask*/ +('1005207', '7400', 'Hat 7'), /*Iron Rabbit Mask*/ +('1005206', '5600', 'Hat 7'), /*Ursie Mask*/ +('1005205', '5600', 'Hat 7'), /*Gym Cat Mask*/ +/*Page 25*/ +('1005204', '4000', 'Hat 7'), /*Nautically Pink Hat*/ +('1005203', '5600', 'Hat 7'), /*Maple Alliance Hat*/ +('1005231', '7400', 'Hat 7'), /*Detective Chappeau*/ +('1005228', '7400', 'Hat 7'), /*Hey, Corgi! Hat*/ +('1005224', '7600', 'Hat 7'), /*Custom Puppy Hat*/ +('1005223', '6000', 'Hat 7'), /*Alliance Commander Tiara*/ +('1005222', '3200', 'Hat 7'), /*One-Eyed Grim Reaper Hat*/ +('1005221', '8800', 'Hat 7'), /*Starry Summer Night Hat*/ +('1005220', '6300', 'Hat 7'), /*Carnation Diving Mask*/ +/*Page 26*/ +('1005219', '5200', 'Hat 7'), /*Cerulean Diving Mask*/ +('1005218', '3200', 'Hat 7'), /*Seafoam Ribbon*/ +('1005217', '6000', 'Hat 7'), /*Coral Ribbon*/ +('1005247', '3600', 'Hat 7'), /*Cluckhead*/ +('1005246', '5000', 'Hat 7'), /*Cloud Crown*/ +('1005245', '7100', 'Hat 7'), /*Lovely Plaid Cap*/ +('1005244', '4900', 'Hat 7'), /*Empress's Light*/ +('1005243', '8800', 'Hat 7'), /*Shinsoo's Light*/ +('1005239', '3800', 'Hat 7'), /*Happy Bear Hat (M)*/ +/*Page 27*/ +('1005238', '6300', 'Hat 7'), /*Happy Bear Hat (F)*/ +('1005237', '4900', 'Hat 7'), /*Delinquent Bear Hat*/ +('1005236', '3400', 'Hat 7'), /*Heavenly Prayer Hat*/ +('1005235', '8800', 'Hat 7'), /*Lucid Fedora*/ +('1005234', '5000', 'Hat 7'), /*Dawn Fascinator*/ +('1005233', '5200', 'Hat 7'), /*Alliance Commander Tiara*/ +('1005232', '3800', 'Hat 7'), /*Detective Millinery*/ +('1005263', '4900', 'Hat 7'), /*Roar Snapback*/ +('1005262', '4700', 'Hat 7'), /*Romantic Vagabond*/ +/*Page 28*/ +('1005261', '5000', 'Hat 7'), /*Glided Veil*/ +('1005260', '5600', 'Hat 7'), /*Gilded Cap*/ +('1005259', '6300', 'Hat 7'), /*Tri-color Hat (M)*/ + +('1005257', '7100', 'Hat 7'), /*Warm Winter Bear Hat*/ +('1005256', '6000', 'Hat 7'), /*Warm Winter Bunny Hat*/ +('1005255', '6300', 'Hat 7'), /*Warm Winter Penguin Hat*/ +('1005254', '8800', 'Hat 7'), /*Little Star Cocoon Hat*/ +('1005253', '3200', 'Hat 7'), /*Sweet Deer Hood*/ +/*Page 29*/ +('1005252', '3200', 'Hat 7'), /*Tri-color Hat (F)*/ +('1005279', '6000', 'Hat 7'), /*Lunar New Year Pudgy Piggy Hat*/ +('1005278', '6000', 'Hat 7'), /*Cobalt Filigree Comb (F)*/ + + + +/*Page 1*/ +('1005277', '7400', 'Hat 8'), /*Cobalt Filigree Pin (M)*/ +('1005276', '3800', 'Hat 8'), /*Silly Blue Pajama Hat (M)*/ +('1005275', '3200', 'Hat 8'), /*Frilly Pink Pajama Hat (F)*/ +('1005274', '5000', 'Hat 8'), /*Regal Romance Hat (M)*/ +('1005273', '6400', 'Hat 8'), /*Crown Fitness Ballcap*/ +('1005272', '7100', 'Hat 8'), /*Snowflake Earmuffs*/ +('1005271', '4000', 'Hat 8'), /*Forest Reindeer Hat*/ +('1005270', '6400', 'Hat 8'), /*Winterberry Snowman Hat*/ +('1005269', '8800', 'Hat 8'), /*Regal Romance Hat (F)*/ +/*Page 2*/ +('1005268', '3600', 'Hat 8'), /*Cozy Winter Clothes Hat*/ +('1005267', '6000', 'Hat 8'), /*Hallowkitty's Neon Hat*/ +('1005295', '5200', 'Hat 8'), /*Hunny Bun Bear Baubles*/ +('1005294', '5000', 'Hat 8'), /*Hunny Bun Bear Hood*/ +('1005293', '5000', 'Hat 8'), /*Mustachioed Strawberry Bauble*/ +('1005292', '3600', 'Hat 8'), /*Twinkle Lights Halo*/ +('1005291', '6000', 'Hat 8'), /*Candy Mane Hairpin*/ +('1005290', '3400', 'Hat 8'), /*Frost Flower Hairpin*/ +('1005289', '5600', 'Hat 8'), /*Santa Strawberry Bauble*/ +/*Page 3*/ +('1005288', '4900', 'Hat 8'), /*Glittering Rudolf Antlers*/ +('1005287', '3200', 'Hat 8'), /*Neckerchief Fascinator (Ivory)*/ +('1005286', '3800', 'Hat 8'), /*Neckerchief Fascinator (Red)*/ +('1005285', '3800', 'Hat 8'), /*Neckerchief Fascinator (Purple)*/ +('1005284', '3400', 'Hat 8'), /*Neckerchief Fascinator (Navy)*/ +('1005283', '5000', 'Hat 8'), /*Neckerchief Fascinator (Black)*/ +('1005281', '3400', 'Hat 8'), /*Camelia Tea Bonnet*/ +('1005280', '4700', 'Hat 8'), /*Camelia Newsboy Cap*/ +('1005311', '6000', 'Hat 8'), /*Spring Ducky Rain Hat*/ +/*Page 4*/ +('1005310', '3200', 'Hat 8'), /*Sugarsweet Candy Hat*/ +('1005309', '3400', 'Hat 8'), /*Peach Bloom Effect Hat*/ +('1005308', '3800', 'Hat 8'), /*Spring Cleaning Head Scarf*/ +('1005307', '3400', 'Hat 8'), /*Grim Reaper Mask*/ +('1005301', '3800', 'Hat 8'), /*Blushing Reindeer Hat*/ +('1005300', '7600', 'Hat 8'), /*Snowman Mask*/ +('1005299', '6400', 'Hat 8'), /*Blushing Reindeer Hat*/ +('1005298', '3200', 'Hat 8'), /*Santa Hat*/ +('1005297', '6400', 'Hat 8'), /*Reindeer Hat*/ +/*Page 5*/ +('1005296', '6400', 'Hat 8'), /*Mustachioed Beanie*/ +('1005326', '3800', 'Hat 8'), /*Sky Blue Bow*/ +('1005325', '3400', 'Hat 8'), /*Cursed Hunter Hood*/ +('1005324', '3600', 'Hat 8'), /*Wish Fulfiller Hat*/ +('1005323', '6300', 'Hat 8'), /*Midnight Magician Hat*/ +('1005322', '7400', 'Hat 8'), /*Sunny Songbird Hat*/ +('1005320', '6400', 'Hat 8'), /*Pink Bean Hooded Scarf*/ +('1005319', '3400', 'Hat 8'), /*Lavender Shearling Band*/ +('1005318', '3600', 'Hat 8'), /*Snoozing SALLY Topper*/ +/*Page 6*/ +('1005317', '6300', 'Hat 8'), /*SALLY Hood*/ +('1005316', '4700', 'Hat 8'), /*LEONARD Hood*/ +('1005315', '3800', 'Hat 8'), /*Piggy Pal Headpiece*/ +('1005314', '6400', 'Hat 8'), /*CONY Hood*/ +('1005312', '5000', 'Hat 8'), /*Super Coif*/ +('1005342', '7600', 'Hat 8'), /*Tulip Mini Hairpin*/ +('1005341', '5600', 'Hat 8'), /*Azalea Mini Hairpin*/ +('1005340', '5600', 'Hat 8'), /*Lilac Mini Hairpin*/ +('1005339', '4700', 'Hat 8'), /*Pearblossom Mini Hairpin*/ +/*Page 7*/ +('1005338', '3200', 'Hat 8'), /*Forsythia Mini Hairpin*/ +('1005337', '5600', 'Hat 8'), /*Starry Light Topper*/ +('1005336', '7600', 'Hat 8'), /*Starry Light Fascinator*/ +('1005335', '7100', 'Hat 8'), /*Blue Flame Hellion Hat*/ +('1005334', '4000', 'Hat 8'), /*Bunny Ear Beret*/ +('1005333', '6300', 'Hat 8'), /*Bunny Ear Beret*/ +('1005358', '7400', 'Hat 8'), /*Ice Cream Hat*/ +('1005353', '6300', 'Hat 8'), /*Springtime Sprout Hood*/ +('1005352', '5600', 'Hat 8'), /*Fox Fire Ears*/ +/*Page 8*/ +('1005363', '4000', 'Hat 8'), /*Red Lotus Spirit Walker's Flower*/ + + + + + +/* Face */ +/*Page 1*/ +('1010009', '3400', 'Face'), /*Black Blae Face Accessory*/ +('1010008', '5200', 'Face'), /*Blue Blae Face Accessory*/ +('1010007', '3800', 'Face'), /*Cold Make-up*/ +('1010006', '7400', 'Face'), /*Yakuza Scar*/ +('1010005', '3800', 'Face'), /*General's Mustache (2)*/ +('1010004', '4900', 'Face'), /*General's Mustache (1)*/ +('1010003', '4700', 'Face'), /*5 O'Clock Shadow*/ +('1010002', '4700', 'Face'), /*Ninja Mask for Men*/ +('1010001', '4000', 'Face'), /*Goatee*/ +/*Page 2*/ +('1010000', '7600', 'Face'), /*Long Brown Beard*/ +('1011007', '6400', 'Face'), /*Blue Blair Face Accessory*/ +('1011006', '5000', 'Face'), /*Soulful Make-up*/ +('1011003', '3600', 'Face'), /*Freckles*/ +('1011002', '6300', 'Face'), /*Heart*/ +('1011001', '7100', 'Face'), /*SF Ninja Mask*/ +('1011000', '3800', 'Face'), /*Ninja Mask for Women*/ +('1011008', '7600', 'Face'), /*Black Blair Face Accessory*/ +('1012010', '3800', 'Face'), /*Hinomaru*/ +/*Page 3*/ +('1012009', '7600', 'Face'), /*Kiss Mark*/ +('1012008', '4900', 'Face'), /*Censor*/ +('1012007', '5600', 'Face'), /*Santa Beard*/ +('1012006', '6000', 'Face'), /*Rose*/ +('1012005', '4000', 'Face'), /*Bruise*/ +('1012004', '7100', 'Face'), /*Camo Face Paint*/ +('1012003', '3800', 'Face'), /*Rouge*/ +('1012002', '3200', 'Face'), /*Leather Mask*/ +('1012001', '5600', 'Face'), /*Bindi*/ +/*Page 4*/ +('1012000', '5200', 'Face'), /*Battle Scar*/ +('1012031', '6000', 'Face'), /*Leaf*/ +('1012030', '4700', 'Face'), /*Eye Scar*/ +('1012029', '4700', 'Face'), /*Jester Mask*/ +('1012028', '3600', 'Face'), /*Blush*/ +('1012027', '3400', 'Face'), /*Bandage Strip*/ +('1012026', '4700', 'Face'), /*Guan Yu Beard*/ +('1012025', '7600', 'Face'), /*War Paint*/ +('1012024', '6000', 'Face'), /*Gentleman's Mustache*/ +/*Page 5*/ +('1012023', '5600', 'Face'), /*Yellow Kabuki Mask*/ +('1012022', '4000', 'Face'), /*Red Kabuki Mask*/ +('1012021', '5000', 'Face'), /*White Kabuki Mask*/ +('1012047', '3800', 'Face'), /*Fu Manchu*/ +('1012044', '7400', 'Face'), /*Mummy Mask*/ +('1012043', '4000', 'Face'), /*Australia Face Painting*/ +('1012042', '7400', 'Face'), /*Aztec Paint (Mexico)*/ +('1012041', '6300', 'Face'), /*Star Spangled Paint (USA)*/ +('1012040', '4000', 'Face'), /*Heart Face Painting*/ +/*Page 6*/ +('1012039', '7600', 'Face'), /*Taegeuk Paint (Korea)*/ +('1012038', '8800', 'Face'), /*Rising Sun Paint (Japan)*/ +('1012037', '4900', 'Face'), /*Armillary Shield Paint (Portugal)*/ +('1012036', '3400', 'Face'), /*Bundes Paint (Germany)*/ +('1012035', '3400', 'Face'), /*Brazillian Paint (Brazil)*/ +('1012034', '7600', 'Face'), /*Tri-color Paint (France)*/ +('1012033', '4000', 'Face'), /*England Face Painting*/ +('1012032', '3400', 'Face'), /*White Bread*/ +('1012063', '6400', 'Face'), /*Kitty Paint*/ +/*Page 7*/ +('1012062', '4700', 'Face'), /*Mild Pink Lipstick*/ +('1012057', '7100', 'Face'), /*Transparent Face Accessory*/ +('1012056', '6300', 'Face'), /*Doggy Mouth*/ +('1012055', '4000', 'Face'), /*Allergic Reaction*/ +('1012054', '8800', 'Face'), /*Purple Rage*/ +('1012053', '7600', 'Face'), /*Unmanaged Anger*/ +('1012052', '3200', 'Face'), /*Tongue Twister Scroll*/ +('1012051', '6400', 'Face'), /*Dark Jester*/ +('1012050', '6300', 'Face'), /*Maple-Stein Face*/ +/*Page 8*/ +('1012049', '6300', 'Face'), /*Ogre Mask*/ +('1012048', '3200', 'Face'), /*Dark Jack's Scar*/ +('1012075', '6300', 'Face'), /*Cold Sweat*/ +('1012074', '6400', 'Face'), /*Mocking Laughter*/ +('1012090', '7400', 'Face'), /*Facial Powder*/ +('1012085', '6300', 'Face'), /*Cherry Bubblegum*/ +('1012083', '3200', 'Face'), /*Dollish Pink*/ +('1012082', '6000', 'Face'), /*Ice Cold Red*/ +('1012081', '4000', 'Face'), /*MV Mask*/ +/*Page 9*/ +('1012080', '7600', 'Face'), /*Fat Lips*/ +('1012105', '6400', 'Face'), /*Super Sucker*/ +('1012104', '5000', 'Face'), /*Transparent Face Accessory*/ +('1012100', '4000', 'Face'), /*Facial Powder(red)*/ +('1012099', '7400', 'Face'), /*Facial Powder(blue)*/ +('1012097', '3200', 'Face'), /*Purple Noisemaker*/ +('1012096', '3600', 'Face'), /*Apple Bubble Gum*/ +('1012127', '4000', 'Face'), /*Crescent Paint (Singapore)*/ +('1012126', '7100', 'Face'), /*Yellow Star Paint (Vietnam)*/ +/*Page 10*/ +('1012125', '3400', 'Face'), /*Chakra Paint (Thailand)*/ +('1012124', '4000', 'Face'), /*Union Paint (UK)*/ +('1012123', '7100', 'Face'), /*Holland Paint (Netherlands)*/ +('1012122', '8800', 'Face'), /*Gold Nordic Paint (Sweden)*/ +('1012121', '7400', 'Face'), /*Coat of Arms Paint (Spain)*/ +('1012114', '6400', 'Face'), /*5-Starred Red Paint (China)*/ +('1012113', '3200', 'Face'), /*ROC Paint (Taiwan)*/ +('1012112', '7600', 'Face'), /*Bauhinia Paint (Hong Kong)*/ +('1012137', '5600', 'Face'), /*Star Face Painting*/ +/*Page 11*/ +('1012134', '4000', 'Face'), /*Tear Drop Face Tattoo*/ + +('1012131', '3400', 'Face'), /*Smiling Face*/ +('1012129', '6000', 'Face'), /*Maple Leaf Paint (Canada)*/ +('1012128', '6300', 'Face'), /*Jalur Gemilang Paint (Malaysia)*/ +('1012159', '6300', 'Face'), /*Foxy Mask*/ +('1012147', '4700', 'Face'), /*Immortal Mask*/ +('1012166', '7400', 'Face'), /*Villain Mask*/ +('1012165', '7100', 'Face'), /*Clown Nose*/ +/*Page 12*/ + +('1012180', '3200', 'Face'), /*Chocolate Heart*/ +('1012179', '3800', 'Face'), /*Reindeer Red Nose*/ +('1012176', '4700', 'Face'), /*Orange Blush*/ +('1012192', '5600', 'Face'), /*Shadow Mask*/ +('1012208', '7400', 'Face'), /*Lovely Smile*/ +('1012253', '3400', 'Face'), /*Heart Pounding Lip Gloss*/ +('1012275', '6000', 'Face'), /*6th Anniversary Party Glasses*/ +('1012298', '3200', 'Face'), /*Hand Mark*/ +/*Page 13*/ +('1012289', '5600', 'Face'), /*Transparent Face Accessory*/ +('1012315', '6300', 'Face'), /*Adhesive Bandage*/ +('1012366', '3200', 'Face'), /*Zombie Hunter Mask*/ +('1012379', '4700', 'Face'), /*Flushed Cheeks*/ +('1012374', '5200', 'Face'), /*Heartbreaker Lips*/ +('1012390', '7100', 'Face'), /*Peruvian Flag Face Paint*/ +('1012388', '5000', 'Face'), /*Clown*/ +('1012384', '5200', 'Face'), /*Playful Band*/ +('1012415', '6000', 'Face'), /*Blingin' Red Lipstick*/ +/*Page 14*/ +('1012413', '5200', 'Face'), /*Naked Face*/ +('1012412', '4000', 'Face'), /*Bloody Tears*/ +('1012431', '5200', 'Face'), /*Straight Face Accessory*/ +('1012430', '4700', 'Face'), /*Bear Nose Face Accessory*/ +('1012429', '6300', 'Face'), /*Round Eyes-And-Mouth Face Accessory*/ +('1012428', '7400', 'Face'), /*Thick Eyebrows Face Accessory*/ +('1012427', '5000', 'Face'), /*Surprised Face Accessory*/ +('1012437', '8800', 'Face'), /*Palm Print Mask*/ +('1012436', '7100', 'Face'), /*Enlightened Face Accessory*/ +/*Page 15*/ +('1012435', '6300', 'Face'), /*Gross Face Accessory*/ +('1012434', '4000', 'Face'), /*Mustache Face Accessory*/ +('1012433', '7400', 'Face'), /*Animal Face Accessory*/ +('1012432', '5200', 'Face'), /*Cat-Mouth Face Accessory*/ +('1012462', '6300', 'Face'), /*Ghost Bride's Shining Dark Eyes*/ +('1012450', '5200', 'Face'), /*Choco Candy Cookie*/ +('1012479', '7600', 'Face'), /*Ruddy Kitten Nose*/ +('1012475', '8800', 'Face'), /*태극 페인팅*/ +('1012474', '5200', 'Face'), /*Clobber*/ +/*Page 16*/ +('1012473', '3800', 'Face'), /*So Angry!!! Face*/ +('1012472', '5600', 'Face'), /*레인보우 페인팅*/ +('1012468', '7100', 'Face'), /*Yummy Candy*/ +('1012495', '5600', 'Face'), /*Skull Mask*/ +('1012494', '7400', 'Face'), /*Worn Skull Mask*/ +('1012489', '6300', 'Face'), /*LaLaLa Megaphone*/ +('1012488', '4000', 'Face'), /*Clobber*/ +('1012487', '5000', 'Face'), /*Oozer*/ +('1012486', '3200', 'Face'), /*Hothead*/ +/*Page 17*/ +('1012485', '5600', 'Face'), /*Sweet Persimmon Blush*/ +('1012482', '8800', 'Face'), /*Quack Quack*/ +('1012511', '7600', 'Face'), /*Cleaning Mask*/ +('1012510', '7400', 'Face'), /*Sasha's Delicious Bread*/ +('1012509', '7400', 'Face'), /*Hange's Glasses*/ + + + +('1012502', '3200', 'Face'), /*Frosty Frozen Face*/ +/*Page 18*/ +('1012501', '7100', 'Face'), /*No Biting!*/ +('1012527', '7600', 'Face'), /*Blushing Yeti*/ +('1012526', '5000', 'Face'), /*So Delish Ice Cream*/ +('1012525', '5200', 'Face'), /*Smile! It's the Sweet Maple Festival!*/ +('1012518', '3200', 'Face'), /*Von Bon Mask*/ +('1012517', '4900', 'Face'), /*Vellum Mask*/ +('1012515', '4000', 'Face'), /*Strawberry Cake*/ +('1012514', '7600', 'Face'), /*Heart-Shaped Chocolate*/ +('1012534', '3800', 'Face'), /*Rainbow Face Paint*/ +/*Page 19*/ +('1012533', '4000', 'Face'), /*Spring Cloud Piece*/ +('1012528', '7100', 'Face'), /*Boss Lotus Eyes*/ +('1012557', '6000', 'Face'), /*Nom Nom Oz*/ +('1012556', '8800', 'Face'), /*Vampire Eyes (Ruby)*/ +('1012555', '3200', 'Face'), /*Vampire Eyes (Sapphire)*/ +('1012552', '8800', 'Face'), /*Pink Bean Sadface*/ +('1012551', '5000', 'Face'), /*The Mighty Face*/ +('1012544', '4700', 'Face'), /*Culnesis*/ +('1012573', '5600', 'Face'), /*Pretty Pretty Smile*/ +/*Page 20*/ +('1012572', '6300', 'Face'), /*Little Kitten Face Accessory*/ +('1012571', '3600', 'Face'), /*Sleepy Zees*/ +('1012569', '3600', 'Face'), /*Baby Binkie*/ +('1012568', '3600', 'Face'), /*Shocked Eyes*/ +('1012567', '3400', 'Face'), /*Touched Tears*/ +('1012562', '5200', 'Face'), /*Heartbeam Face*/ +('1012589', '7100', 'Face'), /*So Sleepy*/ +('1012579', '4900', 'Face'), /*Pouty Face*/ +('1012607', '3600', 'Face'), /*>:3*/ +/*Page 21*/ +('1012603', '4700', 'Face'), /*Hangover Make-up*/ +('1012602', '4000', 'Face'), /*Squinting Toothy Smirk*/ +('1012601', '8800', 'Face'), /*Toothy Smirk*/ +('1012597', '4900', 'Face'), /*ㅅ ㅅ 얼굴장식*/ +('1012596', '4900', 'Face'), /*ㅅ_ㅅ 얼굴장식*/ +('1012595', '7400', 'Face'), /*ㅅㅂㅅ 얼굴장식*/ +('1012594', '3600', 'Face'), /*ㅇㅅㅇ 얼굴장식*/ +('1012593', '3200', 'Face'), /*ㅇ_ㅇ 얼굴장식*/ +('1012592', '5600', 'Face'), /*ㅇㅂㅇ 얼굴장식*/ +/*Page 22*/ +('1012623', '7100', 'Face'), /*Puppy Face Accessory*/ +('1012621', '5000', 'Face'), /*Grumpy Face*/ +('1012620', '7100', 'Face'), /*Squishy Face*/ +('1012619', '7600', 'Face'), /*Calabash Pipe*/ +('1012618', '7400', 'Face'), /*Strawberry Pastry*/ +('1012617', '8800', 'Face'), /*Strawberry Cake*/ +('1012616', '3800', 'Face'), /*Chocolate Heart*/ +('1012615', '8800', 'Face'), /*Furtive Smile Face*/ +('1012614', '6000', 'Face'), /*Face of Longing*/ +/*Page 23*/ +('1012612', '4700', 'Face'), /*Snowy Eyeliner (M)*/ +('1012611', '5000', 'Face'), /*Snowy Eyeliner (F)*/ +('1012610', '4900', 'Face'), /*Enigma*/ +('1012609', '6300', 'Face'), /*White Night Tattoo*/ +('1012608', '4700', 'Face'), /*Chocolate Overload Face Accessory*/ +('1012639', '3200', 'Face'), /*Rainbow Blush*/ +('1012638', '7100', 'Face'), /*중얼중얼 혼잣말*/ +('1012637', '8800', 'Face'), /*Worn Skull Mask*/ +('1012636', '5000', 'Face'), /*Dark Silence*/ +/*Page 24*/ +('1012635', '7600', 'Face'), /*Teeth Brushing Time*/ +('1012634', '3600', 'Face'), /*Nyan Nose*/ +('1012633', '6000', 'Face'), /*Lost in Thought*/ +('1012631', '3400', 'Face'), /*Bandaged Lips*/ +('1012630', '6300', 'Face'), /*Dreamy Cat Eyes Mask*/ +('1012629', '7400', 'Face'), /*Starshine Cat Eyes Mask*/ +('1012628', '7100', 'Face'), /*Custom Kitty Whiskers*/ +('1012626', '4900', 'Face'), /*Cadena Mask*/ +('1012625', '7600', 'Face'), /*Hearty Flush*/ +/*Page 25*/ +('1012624', '6400', 'Face'), /*Round Pucker Face*/ +('1012654', '7600', 'Face'), /*Steamed Bun Face*/ +('1012653', '3800', 'Face'), /*Topsy-turvy Face*/ + +('1012651', '7400', 'Face'), /*Teared Up*/ +('1012650', '6000', 'Face'), /*Scribbleface*/ +('1012649', '6400', 'Face'), /*So Angry*/ +('1012647', '5000', 'Face'), /*So Yummy*/ +('1012646', '5200', 'Face'), /*So Tasty*/ +/*Page 26*/ +('1012645', '4700', 'Face'), /*Skeleton Surgeon Mask*/ +('1012644', '4000', 'Face'), /*Teddy Surgeon Mask*/ +('1012642', '6000', 'Face'), /*Bubble Pup Mask*/ +('1012641', '3600', 'Face'), /*Peach Blossom*/ +('1012669', '8800', 'Face'), /*Lavender Doll*/ +('1012668', '5600', 'Face'), /*Purple Doll*/ +('1012663', '5600', 'Face'), /*Custom Puppy Whiskers*/ +('1012662', '7400', 'Face'), /*Ushishishi Face Accessory*/ +('1012661', '7600', 'Face'), /*Reaper's Face*/ +/*Page 27*/ +('1012660', '4700', 'Face'), /*Naturally Luminous*/ +('1012659', '4000', 'Face'), /*Pure Nostalgia*/ +('1012658', '6300', 'Face'), /*Antagonist Face*/ +('1012657', '6400', 'Face'), /*Hawalu's Teary-Eyed Face Accessory*/ +('1012656', '6300', 'Face'), /*Round Blush*/ +('1012687', '8800', 'Face'), /*Fox Fire Grin*/ +('1012686', '6000', 'Face'), /*Blue Flame Hellion Face Accessory*/ +('1012685', '3800', 'Face'), /*Stubborn Face*/ +('1012683', '3200', 'Face'), /*Blushing Frosty*/ +/*Page 28*/ +('1012682', '5200', 'Face'), /*Googly Face Accessory*/ +('1012681', '6000', 'Face'), /*Cobalt Filigree Face Accessory (M)*/ +('1012680', '3400', 'Face'), /*Cobalt Filigree Face Accessory (F)*/ +('1012679', '4700', 'Face'), /*Pajama Eye Mask*/ +('1012678', '4900', 'Face'), /*Regal Romance Eyes (M)*/ +('1012677', '3400', 'Face'), /*Regal Romance Eyes (F)*/ +('1012676', '3200', 'Face'), /*Black Moon*/ +('1012675', '7100', 'Face'), /*White Moon*/ +('1012674', '8800', 'Face'), /*Tri-color Face Accessory*/ +/*Page 29*/ +('1012673', '6300', 'Face'), /*Strawberry Glow*/ +('1012672', '3200', 'Face'), /*Grapefruit Glow*/ +('1012690', '6300', 'Face'), /*Mopey Face*/ + + + + + +/* Eye */ +/*Page 1*/ +('1020000', '5600', 'Eye'), /*Aqua Toy Shades*/ +('1021000', '3800', 'Eye'), /*Pink Toy Shades*/ +('1022015', '7400', 'Eye'), /*Black Aviator Shades*/ +('1022014', '4900', 'Eye'), /*Brown Aviator Shades*/ +('1022013', '4000', 'Eye'), /*Black Eye Guard*/ +('1022012', '7400', 'Eye'), /*Blue Eye Guard*/ +('1022011', '5200', 'Eye'), /*Red Eye Guard*/ +('1022010', '4900', 'Eye'), /*Blue & Red Eye Guard*/ +('1022009', '4900', 'Eye'), /*Dark Shades*/ +/*Page 2*/ +('1022008', '5600', 'Eye'), /*Orange Hard-Rimmed Glasses*/ +('1022007', '8800', 'Eye'), /*Green Hard-Rimmed Glasses*/ +('1022006', '3800', 'Eye'), /*Blue Hard-Rimmed Glasses*/ +('1022005', '8800', 'Eye'), /*Red Hard-Rimmed Glasses*/ +('1022004', '4900', 'Eye'), /*Black Sunglasses*/ +('1022003', '7100', 'Eye'), /*Green Shades*/ +('1022002', '8800', 'Eye'), /*Yellow Shades*/ +('1022001', '4700', 'Eye'), /*Blue Shades*/ +('1022000', '7100', 'Eye'), /*Orange Shades*/ +/*Page 3*/ +('1022031', '6400', 'Eye'), /*White Toy Shades*/ +('1022030', '8800', 'Eye'), /*Hot Teacher Glasses*/ +('1022029', '8800', 'Eye'), /*Spinning Piglet*/ +('1022028', '4000', 'Eye'), /*Spinning Groucho*/ +('1022027', '3600', 'Eye'), /*Medical Eye Patch*/ +('1022026', '5000', 'Eye'), /*Purple Starred Eye Patch*/ +('1022025', '8800', 'Eye'), /*Red Hearted Eye Patch*/ +('1022024', '6000', 'Eye'), /*Skull Patch*/ +('1022023', '7600', 'Eye'), /*Crested Eye Patch*/ +/*Page 4*/ +('1022022', '4000', 'Eye'), /*Blue Head-Spinning Glasses*/ +('1022021', '5200', 'Eye'), /*Red Head-Spinning Glasses*/ +('1022020', '3200', 'Eye'), /*Metal Shades*/ +('1022019', '4000', 'Eye'), /*Old-School Glasses*/ +('1022018', '5000', 'Eye'), /*Classic Masquerade Mask*/ +('1022017', '5600', 'Eye'), /*Purple Aviator Shades*/ +('1022016', '3600', 'Eye'), /*Blue Aviator Shades*/ +('1022047', '4000', 'Eye'), /*Owl Ball Mask*/ +('1022046', '4900', 'Eye'), /*Butterfly Ball Mask*/ +/*Page 5*/ +('1022045', '5200', 'Eye'), /*Red Bushido Bandana*/ +('1022044', '3200', 'Eye'), /*Nerdy Glasses*/ +('1022043', '3400', 'Eye'), /*Head Bandage*/ +('1022042', '6400', 'Eye'), /*Scouter*/ +('1022041', '3800', 'Eye'), /*Cyclist Shades*/ +('1022040', '5200', 'Eye'), /*Lead Monocle*/ +('1022039', '3400', 'Eye'), /*Orange Round Shades*/ +('1022038', '3400', 'Eye'), /*Purple Round Shades*/ +('1022037', '4700', 'Eye'), /*Frameless Glasses*/ +/*Page 6*/ +('1022036', '3200', 'Eye'), /*Green Sports Goggle*/ +('1022035', '6300', 'Eye'), /*Orange Sports Goggle*/ +('1022034', '4900', 'Eye'), /*Bizarre Monocle*/ +('1022033', '6300', 'Eye'), /*Politician Glasses*/ +('1022032', '5200', 'Eye'), /*Yellow Toy Shades*/ +('1022063', '4700', 'Eye'), /*Flat Mini Glasses*/ +('1022062', '4900', 'Eye'), /*Black Skull Eye Patch*/ +('1022061', '4000', 'Eye'), /*Redbeard's Pirate Eye Patch*/ +('1022059', '7600', 'Eye'), /*Black Shades*/ +/*Page 7*/ +('1022057', '3800', 'Eye'), /*Pop-Eye*/ +('1022056', '6400', 'Eye'), /*Pink Aviator Sunglasses*/ +('1022055', '4700', 'Eye'), /*Pink Sunglasses*/ +('1022054', '4900', 'Eye'), /*Round Shield Shades*/ +('1022053', '6300', 'Eye'), /*Futuristic Shades*/ +('1022052', '4900', 'Eye'), /*Future Vision Shades*/ +('1022051', '7100', 'Eye'), /*Red Half-Rim Glasses*/ +('1022050', '7100', 'Eye'), /*Vintage Glasses*/ +('1022049', '8800', 'Eye'), /*Green-Rimmed Glasses*/ +/*Page 8*/ +('1022048', '5200', 'Eye'), /*Transparent Eye Accessory*/ +('1022079', '7100', 'Eye'), /*Clear Glasses*/ +('1022075', '8800', 'Eye'), /*Twinkling Eyes*/ +('1022074', '7100', 'Eye'), /*Gaga Glasses*/ +('1022072', '5200', 'Eye'), /*Yellow Shutter Shades*/ +('1022071', '5000', 'Eye'), /*Red Shutter Shades*/ +('1022070', '5000', 'Eye'), /*Green Shutter Shades*/ +('1022069', '6400', 'Eye'), /*Orange Shutter Shades*/ +('1022068', '3400', 'Eye'), /*White Shades*/ +/*Page 9*/ +('1022066', '6000', 'Eye'), /*Star Spectacles*/ +('1022065', '7600', 'Eye'), /*Alphabet Glasses*/ +('1022064', '3800', 'Eye'), /*Big Red Glasses*/ +('1022095', '8800', 'Eye'), /*I Like Money*/ +('1022090', '4900', 'Eye'), /*Gaga Glasses*/ +('1022087', '7400', 'Eye'), /*Green Eye Mask*/ +('1022086', '3400', 'Eye'), /*Blue Eye Mask*/ +('1022085', '6400', 'Eye'), /*Pink Eye Mask*/ +('1022084', '8800', 'Eye'), /*Eye Mask (Red)*/ +/*Page 10*/ +('1022083', '7100', 'Eye'), /*Hitman Sunglasses*/ +('1022081', '3800', 'Eye'), /*Cracked Glasses*/ +('1022110', '4700', 'Eye'), /*Big White Sunglasses*/ +('1022109', '3400', 'Eye'), /*Pink Two-Toned Shades*/ +('1022108', '3200', 'Eye'), /*Yellow Two-Toned Shades*/ +('1022104', '8800', 'Eye'), /*3D Glasses*/ +('1022102', '5000', 'Eye'), /*LED Sunglasses*/ +('1022122', '6400', 'Eye'), /*6th B-Day Party Glasses*/ +('1022121', '3400', 'Eye'), /*Vision Google*/ +/*Page 11*/ +('1022142', '5000', 'Eye'), /*Yellow Shutter Shades*/ +('1022158', '5000', 'Eye'), /*[MS Discount] Black Sunglasses*/ +('1022174', '3600', 'Eye'), /*3D Glasses*/ +('1022173', '6400', 'Eye'), /*Silky Black Eye Patch*/ +('1022188', '4700', 'Eye'), /*Blank Eye Patch*/ +('1022187', '5600', 'Eye'), /*Broken Up Today*/ +('1022184', '8800', 'Eye'), /*Frozen Eye*/ +('1022183', '6000', 'Eye'), /*Blazing Eyes*/ +('1022177', '5200', 'Eye'), /*Star Sunglasses*/ +/*Page 12*/ +('1022176', '7400', 'Eye'), /*Cyclops Bandana*/ +('1022207', '5200', 'Eye'), /*PSY Sunglasses*/ +('1022201', '6000', 'Eye'), /*フューチャーロイド VR バイザー*/ +('1022196', '3600', 'Eye'), /*Money Lover*/ +('1022194', '3600', 'Eye'), /*Blaze Black Eye*/ +('1022223', '5200', 'Eye'), /*Romantic LED Sunglasses*/ +('1022230', '6300', 'Eye'), /*Bunny Glasses*/ +('1022229', '3800', 'Eye'), /*VIP Glasses*/ +('1022227', '8800', 'Eye'), /*Aviator Shades*/ +/*Page 13*/ +('1022250', '7400', 'Eye'), /*투시안경*/ +('1022249', '4700', 'Eye'), /*스마트안경*/ +('1022248', '7100', 'Eye'), /*Pineapple Glasses*/ +('1022247', '3400', 'Eye'), /*Black Sunglasses*/ +('1022244', '6300', 'Eye'), /*Damien's Eyepatch*/ +('1022243', '4900', 'Eye'), /*Donut Glasses*/ +('1022270', '4900', 'Eye'), /*Oversized Sunglasses*/ +('1022269', '3200', 'Eye'), /*Chained Princess Face Accessory*/ +('1022267', '5200', 'Eye'), /*Personal Info Protection Stick*/ +/*Page 14*/ +('1022266', '5600', 'Eye'), /*Strange Uncle Glasses*/ +('1022265', '3400', 'Eye'), /*Black Diamond*/ +('1022263', '7100', 'Eye'), /* Sleepy Eye Patch*/ +('1022262', '5600', 'Eye'), /*Scouter*/ +('1022259', '6000', 'Eye'), /*Bandage Blindfold*/ +('1022258', '8800', 'Eye'), /*Bat Wing Monocle*/ +('1022257', '3200', 'Eye'), /*Scouter*/ +('1022285', '5600', 'Eye'), /*Round Glasses*/ +('1022284', '5000', 'Eye'), /*Data Collection Goggles*/ +/*Page 15*/ +('1022283', '6000', 'Eye'), /*Street Smart Sunglasses*/ +('1022282', '4000', 'Eye'), /*33 Glasses*/ +('1022280', '3200', 'Eye'), /*Heart Eye Patch*/ +('1022279', '5200', 'Eye'), /*Black Eye Bandages*/ +('1022276', '3800', 'Eye'), /*Banana Peel Specs*/ +('1022275', '4900', 'Eye'), /*Polar Explorer Sunglasses*/ +('1022274', '4000', 'Eye'), /*Purple Rose Eye Patch*/ + + + + + +/* Earrings */ +/*Page 1*/ +('1032029', '6400', 'Earrings'), /*Silver Earrings*/ +('1032024', '7400', 'Earrings'), /*Transparent Earrings*/ +('1032038', '4900', 'Earrings'), /*Snow Earrings*/ +('1032036', '5200', 'Earrings'), /*Beaded Cross Earrings*/ +('1032034', '4900', 'Earrings'), /*Coke Earrings*/ +('1032063', '5200', 'Earrings'), /*Wireless Headset*/ +('1032054', '8800', 'Earrings'), /*Rainbow Earrings*/ +('1032053', '6000', 'Earrings'), /*Clover Earrings*/ +('1032052', '6000', 'Earrings'), /*Slime Earrings*/ +/*Page 2*/ +('1032051', '6000', 'Earrings'), /*Diamond Earrings*/ +('1032074', '4700', 'Earrings'), /*Heart Rainbow Earrings*/ +('1032073', '6300', 'Earrings'), /*Wind Bell Earrings*/ +('1032072', '3400', 'Earrings'), /*Shiny Altair Earrings*/ +('1032071', '3800', 'Earrings'), /*Altair Earrings*/ +('1032138', '3200', 'Earrings'), /*Dragon Spirit Earrings*/ +('1032145', '6000', 'Earrings'), /*Crab Earrings*/ +('1032175', '6300', 'Earrings'), /*Faraway Earring*/ +('1032204', '3200', 'Earrings'), /*フューチャーロイドサイバーイヤリング*/ +/*Page 3*/ +('1032192', '6300', 'Earrings'), /*Broken Up Today*/ +('1032234', '3600', 'Earrings'), /*Cold-hearted Earrings*/ +('1032233', '5000', 'Earrings'), /*Warm-hearted Earrings*/ +('1032228', '7600', 'Earrings'), /*Halloweenroid Sensor*/ +('1032255', '7100', 'Earrings'), /*White Earphones*/ +('1032264', '7100', 'Earrings'), /*Hydrangea Earrings*/ +('1032262', '5200', 'Earrings'), /*Umbral Earrings*/ +('1032260', '5200', 'Earrings'), /*Golden Bell Drops*/ +('1032310', '6000', 'Earrings'), /*EVA Android Hat*/ +/*Page 4*/ +('1033000', '4000', 'Earrings'), /*Lucid's Earrings*/ + + + + + +/* Overall */ +/*Page 1*/ +('1050004', '7100', 'Overall'), /*Blue Officer Uniform*/ +('1050012', '3400', 'Overall'), /*Grey Skull Overall*/ +('1050013', '4000', 'Overall'), /*Red Skull Overall*/ +('1050014', '8800', 'Overall'), /*Green Skull Overall*/ +('1050015', '6400', 'Overall'), /*Blue Skull Overall*/ +('1050032', '5000', 'Overall'), /*Silver Officer Uniform*/ +('1050033', '5600', 'Overall'), /*Black Officer Uniform*/ +('1050034', '5200', 'Overall'), /*Red Officer Uniform*/ +('1050040', '3400', 'Overall'), /*Red Swimming Trunk*/ +/*Page 2*/ +('1050041', '4900', 'Overall'), /*Blue Swimming Trunk*/ +('1050042', '3200', 'Overall'), /*Fine Brown Hanbok*/ +('1050043', '6300', 'Overall'), /*Fine Black Hanbok*/ +('1050044', '7600', 'Overall'), /*Fine Blue Hanbok*/ +('1050016', '8800', 'Overall'), /*Orange Skull Overall*/ +('1050017', '8800', 'Overall'), /*Yellow Tights*/ +('1050019', '7600', 'Overall'), /*Santa Costume*/ +('1050020', '8800', 'Overall'), /*Paper Box*/ +('1050065', '4900', 'Overall'), /*Blue Celebration Hanbok*/ +/*Page 3*/ +('1050066', '5000', 'Overall'), /*Green Celebration Hanbok*/ +('1050071', '4900', 'Overall'), /*Men's Ninja Overall*/ +('1050079', '4700', 'Overall'), /*Black Coat of Death*/ +('1050050', '3200', 'Overall'), /*Dark Suit*/ +('1050057', '7600', 'Overall'), /*Ghost Costume*/ +('1050101', '6300', 'Overall'), /*Western Cowboy*/ +('1050109', '4700', 'Overall'), /*Green Picnicwear*/ +('1050110', '4000', 'Overall'), /*Sky Blue Picnicwear*/ +('1050111', '7400', 'Overall'), /*Boxing Trunks*/ +/*Page 4*/ +('1050084', '5600', 'Overall'), /*Red M-Forcer*/ +('1050085', '5000', 'Overall'), /*Blue M-Forcer*/ +('1050086', '5200', 'Overall'), /*Green M-Forcer*/ +('1050087', '3400', 'Overall'), /*Black M-Forcer*/ +('1050128', '6400', 'Overall'), /*Go! Korea!*/ +('1050129', '4000', 'Overall'), /*Korean Martial Art Uniform*/ +('1050135', '3800', 'Overall'), /*Beau Tuxedo*/ +('1050136', '6300', 'Overall'), /*Black Male Fur Coat*/ +('1050137', '5600', 'Overall'), /*White Male Fur Coat*/ +/*Page 5*/ +('1050138', '6400', 'Overall'), /*School Uniform with Hoody Jumper*/ +('1050139', '8800', 'Overall'), /*Boys Uniform*/ +('1050140', '3400', 'Overall'), /*Thai Formal Dress*/ +('1050141', '6000', 'Overall'), /*Blue Kitty Hood*/ +('1050142', '8800', 'Overall'), /*Hooded Korean Traditional Costume*/ +('1050143', '3600', 'Overall'), /*Retro School Uniform*/ +('1050112', '6400', 'Overall'), /*Wedding Dress*/ +('1050113', '5600', 'Overall'), /*Wedding Tuxedo*/ +('1050114', '6300', 'Overall'), /*Poseidon Armor*/ +/*Page 6*/ +('1050115', '8800', 'Overall'), /*Sea Hermit Robe*/ +('1050116', '6400', 'Overall'), /*Race Ace Suit*/ +('1050117', '5600', 'Overall'), /*Tiny Blue Swimshorts*/ +('1050118', '7400', 'Overall'), /*Tiny Black Swimshorts*/ +('1050119', '6400', 'Overall'), /*Santa Boy Overall*/ +('1050120', '3600', 'Overall'), /*Horoscope Overall*/ +('1050121', '5200', 'Overall'), /*Oriental Bridegroom Suit*/ +('1050122', '3800', 'Overall'), /*Unseemly Wedding Suit*/ +('1050123', '5200', 'Overall'), /*Royal Hanbok*/ +/*Page 7*/ +('1050124', '6300', 'Overall'), /*Lunar Festivities Suit*/ +('1050125', '7400', 'Overall'), /*Brown Casual Look*/ +('1050126', '4900', 'Overall'), /*Imperial Uniform*/ +('1050160', '4700', 'Overall'), /*Nya-ong's Long Hood T-shirt*/ +('1050161', '7100', 'Overall'), /*Bunny Boy*/ +('1050168', '7400', 'Overall'), /*Evan Elegant Suit*/ +('1050170', '3400', 'Overall'), /*Napoleon Uniform*/ +('1050171', '3400', 'Overall'), /*Evan Outfit*/ +('1050145', '7100', 'Overall'), /*Violet Tunic*/ +/*Page 8*/ +('1050146', '6000', 'Overall'), /*Buddy Overall Jeans*/ +('1050147', '7100', 'Overall'), /*Princess Korean Traditional Costume*/ +('1050148', '6400', 'Overall'), /*Shin-Hwa High Uniform*/ +('1050152', '5600', 'Overall'), /*Sailor Outfit*/ +('1050153', '5200', 'Overall'), /*Exotic Festival Outfit*/ +('1050154', '5600', 'Overall'), /*Seraphim Suit*/ +('1050156', '3600', 'Overall'), /*Blue Towel*/ +('1050157', '4900', 'Overall'), /*Cutie Boy Overall*/ +('1050158', '6400', 'Overall'), /*Brown Casual Look*/ +/*Page 9*/ +('1050159', '7400', 'Overall'), /*Black Male Fur Coat*/ +('1050193', '7400', 'Overall'), /*Red Overall Pants*/ +('1050177', '6000', 'Overall'), /*Maple Boy School Uniform*/ +('1050178', '5600', 'Overall'), /*Napoleon Uniform*/ +('1050179', '7600', 'Overall'), /*Holiday Party Gear*/ +('1050186', '7400', 'Overall'), /*Rookie Maple Boy School Uniform*/ +('1050187', '5000', 'Overall'), /*Blue Snow Flower Wear*/ +('1050188', '6000', 'Overall'), /*Flower Heir Hanbok*/ +('1050190', '8800', 'Overall'), /*Military Pop Star*/ +/*Page 10*/ +('1050226', '3600', 'Overall'), /*Imperial Garnet Suit*/ +('1050227', '3800', 'Overall'), /*Mint Snow Outfit*/ +('1050228', '3200', 'Overall'), /*Elven Spirit Coat*/ +('1050229', '8800', 'Overall'), /*Gentle Hanbok*/ +('1050232', '8800', 'Overall'), /*Chamomile Tea Time*/ +('1050234', '5000', 'Overall'), /*Magic Star Suit*/ +('1050235', '5600', 'Overall'), /*Prince Charming*/ +('1050208', '3200', 'Overall'), /*Schoolboy Formals*/ +('1050209', '3800', 'Overall'), /*Moonlight Serenade Get-Up*/ +/*Page 11*/ +('1050210', '5600', 'Overall'), /*Light Cotton Candy Overalls*/ +('1050215', '7100', 'Overall'), /*Maple Doctor's Scrubs (M)*/ +('1050220', '7400', 'Overall'), /*Dark Force Mail (M) */ +('1050221', '5200', 'Overall'), /*Elven Spirit Coat (M) */ +('1050256', '5600', 'Overall'), /*Alps Boy Overall*/ +('1050241', '7400', 'Overall'), /*Jett's Outfit(M)*/ +('1050242', '3800', 'Overall'), /*Opening Star*/ +('1050246', '4900', 'Overall'), /*Saint Luminous*/ +('1050247', '6400', 'Overall'), /*Evergreen Magistrate Outfit*/ +/*Page 12*/ +('1050248', '6300', 'Overall'), /*Halloween Leopard Costume*/ +('1050255', '3600', 'Overall'), /*Dark Force Suit*/ +('1050291', '4900', 'Overall'), /*Tinky Baseball*/ +('1050292', '3200', 'Overall'), /*Blue Swimming Trunks*/ +('1050293', '3400', 'Overall'), /*Beach Bum Outfit*/ +('1050296', '5000', 'Overall'), /*Superstar Suit*/ +('1050297', '4700', 'Overall'), /*Rising Star*/ +('1050298', '6000', 'Overall'), /*Alpha Seraphim*/ +('1050299', '3800', 'Overall'), /*Baby Doll Puka*/ +/*Page 13*/ +('1050300', '6400', 'Overall'), /*Fresh Ice*/ +('1050301', '7600', 'Overall'), /*Blue Checkered Vacation*/ +('1050302', '4900', 'Overall'), /*Powder Butler's Digs (M)*/ +('1050303', '8800', 'Overall'), /*Ribbon Boy School Look*/ +('1050283', '5600', 'Overall'), /*Magic Star Suit*/ +('1050284', '3800', 'Overall'), /*Golden Bell Outfit*/ +('1050285', '4700', 'Overall'), /*Thermidor*/ +('1050321', '5200', 'Overall'), /*[[FROZEN CONTENT]] Kristoff Coat*/ +('1050322', '3200', 'Overall'), /*Party Prince*/ +/*Page 14*/ +('1050335', '5600', 'Overall'), /*Melody Boy*/ +('1050304', '3800', 'Overall'), /*Splash Choco Boy*/ +('1050305', '6400', 'Overall'), /*Bloody Leo*/ +('1050310', '3200', 'Overall'), /*Shiny Shopper*/ +('1050311', '3400', 'Overall'), /*Moonlight Costume*/ +('1050312', '4900', 'Overall'), /*Grand Pony*/ +('1050314', '7100', 'Overall'), /*Plop! Chocolate Boy*/ +('1050315', '6000', 'Overall'), /*Blue Shiny Suit*/ +('1050316', '6400', 'Overall'), /*Balloon Overalls*/ +/*Page 15*/ +('1050318', '7100', 'Overall'), /*White Proposal*/ +('1050319', '6000', 'Overall'), /*Sky Blue Picnic*/ +('1050353', '5600', 'Overall'), /*Sweet Patissier*/ +('1050354', '5200', 'Overall'), /*Blue Snow Flower Wear*/ +('1050355', '4000', 'Overall'), /*Santa Boy Overall*/ +('1050356', '4900', 'Overall'), /*Gothic Boys Uniform*/ +('1050359', '6000', 'Overall'), /*Cool Snow Flower*/ +('1050360', '8800', 'Overall'), /*Ryan D Suit*/ +('1050361', '7100', 'Overall'), /*Mr. Love Messenger Outfit*/ +/*Page 16*/ +('1050362', '3400', 'Overall'), /*Little Trainer Outfit (M)*/ +('1050364', '3400', 'Overall'), /*Leafy Love Outfit*/ +('1050365', '7400', 'Overall'), /*Starlight Outfit*/ +('1050366', '6400', 'Overall'), /*The Kingdom Suit of King*/ + +('1050336', '7100', 'Overall'), /*축구선수 유니폼*/ +('1050337', '5200', 'Overall'), /*Hawaiian Couple*/ +('1050338', '4000', 'Overall'), /*Maple Leaf High Swimsuit (M)*/ +('1050339', '3400', 'Overall'), /*Glowy Light*/ +/*Page 17*/ +('1050340', '5200', 'Overall'), /*Gentle Ice Boy*/ +('1050341', '5600', 'Overall'), /*In-forest Camping Look*/ +('1050343', '5000', 'Overall'), /*Gentle Dylan*/ +('1050346', '4900', 'Overall'), /*Cheer Uniform*/ +('1050351', '6300', 'Overall'), /*Mad Doctor Gown*/ +('1050384', '6000', 'Overall'), /*Penguin Doll Outfit*/ +('1050385', '3200', 'Overall'), /*Time Getup*/ +('1050386', '3600', 'Overall'), /*Sparkling Bluebird (M)*/ +('1050387', '3800', 'Overall'), /*British Marine Outfit (M)*/ +/*Page 18*/ +('1050388', '4900', 'Overall'), /*Ursus Gentleman's Suit*/ +('1050389', '5000', 'Overall'), /*Cutie Farmer Apron*/ +('1050390', '7600', 'Overall'), /*Polka-Dot Bell Bottoms*/ + +('1050392', '7400', 'Overall'), /*Bloody Guardian*/ +('1050393', '5200', 'Overall'), /*Banana Outing Clothes*/ +('1050394', '5200', 'Overall'), /*Bubbly Traveler*/ +('1050395', '4700', 'Overall'), /*Blue Marine Uniform (M)*/ + +/*Page 19*/ + + + +('1050368', '5200', 'Overall'), /*Romantic Sky*/ +('1050370', '6300', 'Overall'), /*Mint Kitty Tea Party*/ +('1050371', '7100', 'Overall'), /*Blue Crystal*/ +('1050372', '5200', 'Overall'), /*Mousy Bunny Trousers*/ +('1050373', '3800', 'Overall'), /*Tim Gentleman Suit*/ +('1050375', '3200', 'Overall'), /*Baby Doll Puka*/ +/*Page 20*/ +('1050376', '8800', 'Overall'), /*Party Prince*/ +('1050377', '3800', 'Overall'), /*Tinky Baseball*/ +('1050378', '6300', 'Overall'), /*Yeonhwa School Uniform*/ +('1050380', '4000', 'Overall'), /*Kinesis Uniform*/ +('1050381', '4700', 'Overall'), /*Kinesis Uniform*/ +('1050382', '3400', 'Overall'), /*Millionaire Suit*/ +('1050383', '4900', 'Overall'), /*Teddy Suspenders*/ +('1050416', '4000', 'Overall'), /*Time Tailcoat*/ +('1050417', '3400', 'Overall'), /*Ice Deer Parka*/ +/*Page 21*/ +('1050418', '3400', 'Overall'), /*Cozy Fur Outfit*/ +('1050419', '4000', 'Overall'), /*Winter Garden Outfit (M)*/ + + +('1050422', '3400', 'Overall'), /*Concert Muse (Tenor)*/ +('1050423', '7400', 'Overall'), /*Hopeful Spring Outing*/ +('1050424', '6400', 'Overall'), /*Dot Bon Bon*/ +('1050426', '3200', 'Overall'), /*Black & White*/ +('1050427', '4900', 'Overall'), /*Pure Dew*/ +/*Page 22*/ +('1050428', '7400', 'Overall'), /*Pure Dew*/ +('1050429', '5000', 'Overall'), /*Rose Prince Suit*/ +('1050430', '5000', 'Overall'), /*Black Boy Scout*/ +('1050431', '4900', 'Overall'), /*Orchid Light Dana*/ +('1050400', '7600', 'Overall'), /*Nutcracker Uniform*/ +('1050401', '3400', 'Overall'), /*Time Master*/ +('1050402', '3800', 'Overall'), /*Evan Dragon Suit*/ +('1050403', '3200', 'Overall'), /*Evan Dragon Suit*/ +('1050404', '5200', 'Overall'), /*Royal Mercedes Suit*/ +/*Page 23*/ +('1050405', '4000', 'Overall'), /*Royal Mercedes Suit*/ +('1050406', '5600', 'Overall'), /*Mystic Phantom Suit*/ +('1050407', '3600', 'Overall'), /*Mystic Phantom Suit*/ +('1050408', '8800', 'Overall'), /*Winter Aran Suit*/ +('1050409', '3600', 'Overall'), /*Winter Aran Suit*/ +('1050410', '7400', 'Overall'), /*Chiaroscuro Luminous Suit*/ +('1050411', '3400', 'Overall'), /*Chiaroscuro Luminous Suit*/ +('1050412', '6000', 'Overall'), /*Secret Shade Suit*/ +('1050413', '7400', 'Overall'), /*Secret Shade Suit*/ +/*Page 24*/ +('1050414', '4000', 'Overall'), /*Cozy Bathrobe*/ +('1050415', '5600', 'Overall'), /*Santa Costume*/ +('1050451', '8800', 'Overall'), /*Manji's Uniform*/ +('1050452', '4000', 'Overall'), /*Moonlight Sorbet*/ +('1050453', '3200', 'Overall'), /*Sweet Choco Suit*/ +('1050454', '3600', 'Overall'), /*Skater Fanboy*/ + +('1050456', '7400', 'Overall'), /*Cherry Trimmings*/ +('1050461', '6000', 'Overall'), /*Aqua Phoenix Robe*/ +/*Page 25*/ +('1050462', '4700', 'Overall'), /*Spaceyman*/ +('1050463', '3200', 'Overall'), /*Preppy Sprout Suit*/ +('1050432', '6000', 'Overall'), /*King's Ice Trunks*/ +('1050433', '8800', 'Overall'), /*Grand Pony Get-up*/ + +('1050435', '6300', 'Overall'), /*Midnight Suit*/ +('1050436', '5600', 'Overall'), /*Shadow Warrior's Tunic*/ +('1050437', '4000', 'Overall'), /*Lucid Dream*/ +('1050438', '7600', 'Overall'), /*Sweetheart Shirt*/ +/*Page 26*/ +('1050439', '5000', 'Overall'), /*Orange Mushroom Overalls*/ +('1050440', '3800', 'Overall'), /*Green Pig Outfit*/ +('1050441', '7400', 'Overall'), /*Pumpkin Galaxy*/ +('1050442', '5000', 'Overall'), /*Sweet Chocolate Suspenders*/ +('1050443', '3600', 'Overall'), /*Warm Rabbit Fur Coat*/ +('1050444', '7600', 'Overall'), /*Star's Serenade*/ +('1050445', '4900', 'Overall'), /*King's Banquet*/ +('1050446', '3400', 'Overall'), /*King's Banquet*/ +('1050447', '3400', 'Overall'), /*Maple M Shirt and Pants*/ +/*Page 27*/ +('1050480', '6400', 'Overall'), /*Santa Costume*/ +('1050481', '5000', 'Overall'), /*Snow Blossom Coat*/ +('1050482', '3400', 'Overall'), /*Oh My Captain*/ +('1050484', '6400', 'Overall'), /*Plum Blossom Robe*/ +('1050485', '5600', 'Overall'), /*Maple Blitzer Strategist Uniform*/ +('1050486', '3800', 'Overall'), /*Lemon Wafer Coat*/ +('1050487', '7400', 'Overall'), /*Carbon Wing Coat*/ +('1050488', '3800', 'Overall'), /*Little Darling Outfit*/ +('1050489', '5000', 'Overall'), /*Tennis Uniform*/ +/*Page 28*/ +('1050491', '7100', 'Overall'), /*Candy Darling*/ +('1050492', '4900', 'Overall'), /*Clockwork Knight Ensemble*/ +('1050493', '4900', 'Overall'), /*Ballpark Buddy Uniform*/ +('1050495', '7600', 'Overall'), /*Spring Green Finery*/ +('1050464', '4900', 'Overall'), /*Sky Sea Polo Outfit (M)*/ +('1050468', '3200', 'Overall'), /*Teddy Land Outfit*/ +('1050469', '3400', 'Overall'), /*Fab Beachwear*/ +('1050470', '5600', 'Overall'), /*Midnight Moonlight Outfit*/ +('1050471', '4700', 'Overall'), /*Suit Heart Outfit*/ +/*Page 29*/ +('1050472', '8800', 'Overall'), /*Crimson Fate Topcoat*/ +('1050473', '3400', 'Overall'), /*Crimson Fate Topcoat*/ +('1050474', '7600', 'Overall'), /*Tamino's Aria*/ + + + +/*Page 1*/ +('1050475', '5600', 'Overall 2'), /*Spooky Shorts*/ +('1050476', '4900', 'Overall 2'), /*Halloween Pumpkin Suit*/ +('1050477', '3800', 'Overall 2'), /*Soft Mist*/ +('1050478', '7400', 'Overall 2'), /*Iron Mace Officer*/ +('1050479', '4000', 'Overall 2'), /*Bunny Jersey*/ +('1050512', '3400', 'Overall 2'), /*Rudolf Hoody*/ +('1050513', '7100', 'Overall 2'), /*Rudolf Hoody*/ +('1050514', '6300', 'Overall 2'), /*Lavender Shearling Longcoat*/ +('1050515', '7600', 'Overall 2'), /*Piggy Pal Romper*/ +/*Page 2*/ +('1050516', '3800', 'Overall 2'), /*Wish Fulfiller Uniform*/ +('1050518', '5600', 'Overall 2'), /*Springtime Sprout Outfit (M)*/ +('1050519', '6000', 'Overall 2'), /*Retro Swimsuit (M)*/ +('1050496', '3200', 'Overall 2'), /*Nautically Pink Dress*/ +('1050497', '7100', 'Overall 2'), /*Majestic Moonlight Attire*/ +('1050498', '7400', 'Overall 2'), /*Majestic Moonlight Attire*/ +('1050499', '5200', 'Overall 2'), /*Seafoam Coral Coordinates*/ +('1050500', '5200', 'Overall 2'), /*Scuba Savvy Suit*/ +('1050502', '7600', 'Overall 2'), /*Firefly Firelight Top*/ +/*Page 3*/ +('1050503', '5200', 'Overall 2'), /*Shinsoo's Descent*/ +('1050504', '7100', 'Overall 2'), /*Lovely Plaid*/ +('1050505', '6300', 'Overall 2'), /*Necrotic*/ +('1050506', '7100', 'Overall 2'), /*Romantic Warrior*/ +('1050507', '8800', 'Overall 2'), /*Snowflake Pea Coat*/ +('1050508', '7600', 'Overall 2'), /*Forever Young Outfit*/ +('1050509', '4900', 'Overall 2'), /*Camelia Tea Livery*/ +('1050510', '7600', 'Overall 2'), /*Santa Boy Overall*/ +('1050511', '5000', 'Overall 2'), /*Santa Costume*/ +/*Page 4*/ +('1051002', '6400', 'Overall 2'), /*Cat Suit*/ +('1051028', '5000', 'Overall 2'), /*White Swimming Suit*/ +('1051029', '3800', 'Overall 2'), /*Red Swimming Suit*/ +('1051035', '4900', 'Overall 2'), /*Fine Red Hanbok*/ +('1051036', '4700', 'Overall 2'), /*Fine Blue Hanbok*/ +('1051018', '3800', 'Overall 2'), /*Purple Skull Overall*/ +('1051019', '7100', 'Overall 2'), /*Orange Skull Overall*/ +('1051020', '7100', 'Overall 2'), /*Green Skull Overall*/ +('1051021', '3200', 'Overall 2'), /*Blue Skull Overall*/ +/*Page 5*/ +('1051022', '3400', 'Overall 2'), /*Grey Skull Overall*/ +('1051059', '5200', 'Overall 2'), /*Pink Nurse Uniform*/ +('1051060', '6300', 'Overall 2'), /*White Nurse Uniform*/ +('1051061', '7100', 'Overall 2'), /*Women's Ninja Uniform*/ +('1051070', '5200', 'Overall 2'), /*Bunny Costume*/ +('1051071', '4700', 'Overall 2'), /*Pink Kimono*/ +('1051040', '8800', 'Overall 2'), /*Dark Enamel Suit*/ +('1051048', '5600', 'Overall 2'), /*Witch Clothes*/ +('1051049', '8800', 'Overall 2'), /*Mrs. Claus Costume*/ +/*Page 6*/ +('1051050', '8800', 'Overall 2'), /*Blue Celeberation Hanbok*/ +('1051051', '4900', 'Overall 2'), /*Pink Celebration Hanbok*/ +('1051088', '3400', 'Overall 2'), /*Yellow M-Forcer*/ +('1051089', '6300', 'Overall 2'), /*Black M-Forcer*/ +('1051099', '3400', 'Overall 2'), /*Prep Uniform*/ +('1051100', '7400', 'Overall 2'), /*Western Cowgirl*/ +('1051072', '3200', 'Overall 2'), /*White Kimono*/ +('1051073', '6000', 'Overall 2'), /*Red Kimono*/ +('1051074', '5200', 'Overall 2'), /*Yellow Kimono*/ +/*Page 7*/ +('1051075', '4900', 'Overall 2'), /*Blue Swimming Suit*/ +('1051076', '5000', 'Overall 2'), /*Ghost Suit*/ +('1051081', '4900', 'Overall 2'), /*Pink Kimono*/ +('1051086', '3200', 'Overall 2'), /*Ragged Hanbok*/ +('1051087', '5000', 'Overall 2'), /*Pink M-Forcer*/ +('1051120', '4900', 'Overall 2'), /*Flight Attendant Uniform*/ +('1051121', '7100', 'Overall 2'), /*Tropical Dress*/ +('1051122', '5200', 'Overall 2'), /*White Cat Costume*/ +('1051123', '7400', 'Overall 2'), /*Violet Strapless Dress*/ +/*Page 8*/ +('1051124', '5600', 'Overall 2'), /*Purple Ring One Piece*/ +('1051125', '3800', 'Overall 2'), /*Black Cat Costume*/ +('1051126', '3600', 'Overall 2'), /*Red Chinese Dress*/ +('1051127', '4900', 'Overall 2'), /*Maid Uniform*/ +('1051128', '3200', 'Overall 2'), /*Horoscope Overall*/ +('1051129', '6000', 'Overall 2'), /*Oriental Princess Gown*/ +('1051130', '5600', 'Overall 2'), /*Unseemly Wedding Dress*/ +('1051131', '3400', 'Overall 2'), /*Santa Girl Overall*/ +('1051132', '5200', 'Overall 2'), /*White Coat*/ +/*Page 9*/ +('1051133', '4000', 'Overall 2'), /*Rough Coat*/ +('1051134', '5000', 'Overall 2'), /*Leopard Print Coat*/ +('1051135', '4700', 'Overall 2'), /*Ruffled Coat*/ +('1051108', '4700', 'Overall 2'), /*Pink Picnic Dress*/ +('1051109', '3600', 'Overall 2'), /*Yellow Picnic Dress*/ +('1051110', '8800', 'Overall 2'), /*Purple Frill One Piece*/ +('1051111', '7600', 'Overall 2'), /*Blue Frill One Piece*/ +('1051112', '3200', 'Overall 2'), /*Boxing Gear*/ +('1051113', '3200', 'Overall 2'), /*Wedding Tuxedo (F)*/ +/*Page 10*/ +('1051114', '4900', 'Overall 2'), /*Wedding Dress*/ +('1051115', '6400', 'Overall 2'), /*Sea Queen Dress*/ +('1051116', '6000', 'Overall 2'), /*Race Queen Uniform*/ +('1051117', '4700', 'Overall 2'), /*Diao Chan Dress*/ +('1051118', '5600', 'Overall 2'), /*Pink Strapless Bikini*/ +('1051119', '5200', 'Overall 2'), /*Blue Strapless Bikini*/ +('1051154', '5000', 'Overall 2'), /*Princess Isis*/ +('1051155', '4700', 'Overall 2'), /*Queen Mary*/ +('1051156', '3600', 'Overall 2'), /*Black Female Fur Coat*/ +/*Page 11*/ +('1051157', '3600', 'Overall 2'), /*White Female Fur Coat*/ +('1051158', '7400', 'Overall 2'), /*School Uniform with Hoody Jumper*/ +('1051159', '6000', 'Overall 2'), /*Girls Uniform*/ +('1051160', '6300', 'Overall 2'), /*Pink-Striped Dress*/ +('1051161', '6000', 'Overall 2'), /*Thai Formal Dress*/ +('1051162', '4000', 'Overall 2'), /*Cute Sailor Dress*/ +('1051163', '7100', 'Overall 2'), /*Gothic Overall*/ +('1051164', '3800', 'Overall 2'), /*Kitty Hoodie*/ +('1051166', '5200', 'Overall 2'), /*Dressu Korean Traditional Costume*/ +/*Page 12*/ +('1051167', '3600', 'Overall 2'), /*Black Rockabilly Dress*/ +('1051136', '7600', 'Overall 2'), /*Royal Palace Hanbok*/ +('1051137', '5200', 'Overall 2'), /*Rabbit Fur Dress*/ +('1051138', '5600', 'Overall 2'), /*Lunar Festivities Dress*/ +('1051139', '6000', 'Overall 2'), /*White Ribboned Sailor Dress*/ +('1051141', '5200', 'Overall 2'), /*Female Shaman Costume*/ +('1051142', '5000', 'Overall 2'), /*Vibrant Yellow Dress*/ +('1051143', '3800', 'Overall 2'), /*Race Queen Tank Top & Skirt*/ +('1051144', '4900', 'Overall 2'), /*Elegant Blue One Piece*/ +/*Page 13*/ +('1051145', '3800', 'Overall 2'), /*Royal Maid Uniform*/ +('1051146', '4700', 'Overall 2'), /*Royal Nurse Uniform*/ +('1051147', '4000', 'Overall 2'), /*Street Cred Ensemble*/ +('1051148', '6300', 'Overall 2'), /*Navy Blue Au Luxe*/ +('1051149', '4700', 'Overall 2'), /*Princess Dress*/ +('1051185', '3200', 'Overall 2'), /*Maid Dress*/ +('1051188', '4900', 'Overall 2'), /*Blue Daisy Dress*/ +('1051189', '3200', 'Overall 2'), /*Yellow Anticipation*/ +('1051190', '4900', 'Overall 2'), /*Seraphim Suit*/ +/*Page 14*/ +('1051192', '7100', 'Overall 2'), /*Blue Marine Girl*/ +('1051193', '3600', 'Overall 2'), /*Orange Towel*/ +('1051195', '6000', 'Overall 2'), /*Cutie Girl Overall*/ +('1051196', '4000', 'Overall 2'), /*Black Top Dress*/ +('1051197', '3800', 'Overall 2'), /*Nya-ong's Long Hood T-shirt*/ +('1051198', '4000', 'Overall 2'), /*Pink mini dress*/ +('1051169', '6400', 'Overall 2'), /*Sky Blue Picnicwear [F]*/ +('1051170', '6400', 'Overall 2'), /*Buddy Overall Jeans*/ +('1051171', '4700', 'Overall 2'), /*Royal Costume*/ +/*Page 15*/ +('1051173', '4900', 'Overall 2'), /*Purple Dorothy Dress*/ +('1051174', '5000', 'Overall 2'), /*Bikini*/ +('1051175', '4000', 'Overall 2'), /*Strawberry Milk Dress*/ +('1051176', '7400', 'Overall 2'), /*Shin-Hwa High Uniform*/ +('1051179', '5000', 'Overall 2'), /*Pretty Girl*/ +('1051180', '3400', 'Overall 2'), /*Sailor Outfit*/ +('1051182', '8800', 'Overall 2'), /*Exotic Festival Outfit*/ +('1051183', '5200', 'Overall 2'), /*Night Fever Ensemble*/ +('1051218', '4700', 'Overall 2'), /*Maple Girl School Uniform*/ +/*Page 16*/ +('1051219', '8800', 'Overall 2'), /*Rainbow Mini Dress*/ +('1051220', '5200', 'Overall 2'), /*Elizabeth Dress*/ +('1051221', '6400', 'Overall 2'), /*Holiday Party Dress*/ +('1051227', '5600', 'Overall 2'), /*Rookie Maple Girl School Uniform*/ +('1051228', '3400', 'Overall 2'), /*Pink Snow Flower Wear*/ +('1051229', '5600', 'Overall 2'), /*Flower Heiress Hanbok*/ +('1051231', '3800', 'Overall 2'), /*Alps Girl*/ +('1051200', '4900', 'Overall 2'), /*Bunny Girl*/ +('1051206', '4700', 'Overall 2'), /*Retro School Uniform*/ +/*Page 17*/ +('1051208', '5000', 'Overall 2'), /*Strawberry Girl*/ +('1051209', '3800', 'Overall 2'), /*Evan Great Suit*/ +('1051211', '8800', 'Overall 2'), /*Elizabeth Dress*/ +('1051212', '6000', 'Overall 2'), /*Evan Outfit*/ +('1051252', '7600', 'Overall 2'), /*Pink Angel Uniform*/ +('1051253', '7400', 'Overall 2'), /*Little Red Riding Dress*/ +('1051254', '3400', 'Overall 2'), /*Schoolgirl Formals*/ +('1051255', '6400', 'Overall 2'), /*Golden Moonlight Dress*/ +('1051256', '5000', 'Overall 2'), /*Light Chiffon Dress*/ +/*Page 18*/ +('1051261', '8800', 'Overall 2'), /*Marchen Fantasy*/ +('1051262', '6300', 'Overall 2'), /*Maple Doctor's Scrubs (F)*/ +('1051232', '3600', 'Overall 2'), /*Pink Shock Pop Star*/ +('1051233', '3200', 'Overall 2'), /*Taxi Costume*/ +('1051235', '5200', 'Overall 2'), /*Orange Checked Squares*/ + +('1051280', '4900', 'Overall 2'), /*Gentle Hanbok*/ +('1051282', '7100', 'Overall 2'), /*Rosemary Tea*/ +('1051284', '5000', 'Overall 2'), /*Magic Star Dress*/ +/*Page 19*/ +('1051285', '7100', 'Overall 2'), /*Princess Charming*/ +('1051290', '3800', 'Overall 2'), /*Jett's Outfit(F)*/ +('1051292', '8800', 'Overall 2'), /*Opening Angel*/ +('1051294', '4000', 'Overall 2'), /*Lyrical Dress*/ +('1051295', '3600', 'Overall 2'), /*Magical Dress*/ +('1051264', '7600', 'Overall 2'), /*Silver Angora Fur Dress*/ +('1051265', '8800', 'Overall 2'), /*Gold Angora Fur Dress*/ +('1051270', '5000', 'Overall 2'), /*Dark Force Mail (F) */ +('1051271', '5000', 'Overall 2'), /*Elven Spirit Coat (F) */ +/*Page 20*/ +('1051276', '7100', 'Overall 2'), /*Imperial Garnet Suit*/ +('1051277', '3200', 'Overall 2'), /*Cygnus Dress*/ +('1051278', '4000', 'Overall 2'), /*Cherry Snow Outfit*/ +('1051279', '6000', 'Overall 2'), /*Elven Spirit Coat*/ +('1051312', '5000', 'Overall 2'), /*Alps Girl Dress*/ +('1051296', '4000', 'Overall 2'), /*Cynical Dress*/ +('1051297', '4900', 'Overall 2'), /*Little Red Riding Dress*/ +('1051301', '6400', 'Overall 2'), /*Saint Luminous*/ +('1051302', '4700', 'Overall 2'), /*Pink Fluffy Hanbok*/ +/*Page 21*/ +('1051304', '4000', 'Overall 2'), /*Halloween Leopard Dress*/ +('1051311', '3400', 'Overall 2'), /*Dark Force Suit*/ +('1051345', '3400', 'Overall 2'), /*Fluffy Cat Outfit*/ +('1051347', '8800', 'Overall 2'), /*Magic Star Dress*/ +('1051348', '3200', 'Overall 2'), /*Ellinia Magic Academy Uniform*/ +('1051349', '5200', 'Overall 2'), /*Succubus Dress*/ +('1051350', '6300', 'Overall 2'), /*Golden Bell Dress*/ +('1051351', '6000', 'Overall 2'), /*GM Nori's Uniform*/ +('1051352', '4900', 'Overall 2'), /*Thermidor*/ +/*Page 22*/ +('1051357', '5000', 'Overall 2'), /*Pinky Baseball*/ +('1051358', '5000', 'Overall 2'), /*Pink Cutie Bikini*/ +('1051359', '7100', 'Overall 2'), /*Beach Babe Outfit*/ +('1051332', '5600', 'Overall 2'), /*Logical Dress*/ +('1051333', '6000', 'Overall 2'), /*Miracle Dress*/ +('1051376', '6000', 'Overall 2'), /*Halloweenroid Dress*/ +('1051382', '4900', 'Overall 2'), /*Lovely Shopper*/ +('1051383', '4700', 'Overall 2'), /*Moonlight Outfit*/ +('1051384', '6300', 'Overall 2'), /*Glory Pony*/ +/*Page 23*/ +('1051385', '3400', 'Overall 2'), /*Plop! Chocolate Girl*/ +('1051386', '5600', 'Overall 2'), /*Blue Shiny Dress*/ +('1051387', '6400', 'Overall 2'), /*Pink Picnic Dress*/ +('1051389', '3400', 'Overall 2'), /*White Fiancee*/ +('1051390', '4700', 'Overall 2'), /*Forsythia Picnic*/ +('1051391', '3200', 'Overall 2'), /*Icy Dress*/ +('1051362', '6300', 'Overall 2'), /*Superstar Dress*/ +('1051363', '5000', 'Overall 2'), /*Rising Angel*/ +('1051365', '4900', 'Overall 2'), /*Beta Seraphim*/ +/*Page 24*/ +('1051366', '7600', 'Overall 2'), /*Baby Doll Linka*/ +('1051367', '4000', 'Overall 2'), /*Fresh Ice*/ +('1051368', '4700', 'Overall 2'), /*Fresh Checkered Vacation*/ +('1051369', '3800', 'Overall 2'), /*Powder Maid's Getup (F)*/ +('1051370', '5600', 'Overall 2'), /*Passionate Qi Pao*/ +('1051371', '3200', 'Overall 2'), /*Ribbon Girl School Look*/ +('1051372', '6300', 'Overall 2'), /*Splash Choco Girl*/ +('1051373', '4700', 'Overall 2'), /*Bloody Jeanne*/ +('1051374', '4900', 'Overall 2'), /*Odette Tutu*/ +/*Page 25*/ +('1051375', '5600', 'Overall 2'), /*Odile Tutu*/ +('1051408', '7100', 'Overall 2'), /*Shiny Light*/ +('1051409', '6000', 'Overall 2'), /*Gentle Ice Girl*/ +('1051410', '7100', 'Overall 2'), /*In-forest Camping Look*/ +('1051411', '4700', 'Overall 2'), /*Lady Rosalia*/ +('1051415', '7100', 'Overall 2'), /*Cheer Uniform*/ +('1051420', '8800', 'Overall 2'), /*Ribbon Angel Uniform*/ +('1051422', '6000', 'Overall 2'), /*Sweet Patissiere*/ +('1051423', '7100', 'Overall 2'), /*Pink Snow Flower Wear*/ +/*Page 26*/ +('1051392', '6300', 'Overall 2'), /*Party Princess*/ +('1051405', '6000', 'Overall 2'), /*Melody Girl*/ +('1051406', '7600', 'Overall 2'), /*Hawaiian Couple*/ +('1051407', '6400', 'Overall 2'), /*Maple Leaf High Swimsuit (F)*/ +('1051440', '3200', 'Overall 2'), /*Pink Sapphire*/ +('1051441', '3800', 'Overall 2'), /*Mousy Bunny Romper*/ +('1051442', '5000', 'Overall 2'), /*Momo Maid Dress*/ +('1051444', '7100', 'Overall 2'), /*Baby Doll Linka*/ +('1051445', '4000', 'Overall 2'), /*Party Princess*/ +/*Page 27*/ +('1051446', '4700', 'Overall 2'), /*Pinky Baseball*/ +('1051447', '3400', 'Overall 2'), /*Odette Tutu*/ +('1051448', '7600', 'Overall 2'), /*Yeonhwa School Uniform*/ +('1051450', '3600', 'Overall 2'), /*Kinesis Uniform*/ +('1051451', '3800', 'Overall 2'), /*Kinesis Uniform*/ +('1051452', '6000', 'Overall 2'), /*Orange Day*/ +('1051453', '6300', 'Overall 2'), /*Teddy Suspenders*/ +('1051454', '8800', 'Overall 2'), /*Penguin Doll Outfit*/ +('1051455', '5000', 'Overall 2'), /*Time Cantabile*/ +/*Page 28*/ +('1051424', '6300', 'Overall 2'), /*Santa Girl Overall*/ +('1051425', '4700', 'Overall 2'), /*Big Ribbon Yellow Dress*/ +('1051426', '4700', 'Overall 2'), /*Gothic Girls Uniform*/ +('1051429', '6000', 'Overall 2'), /*Sweet Snow Flower*/ +('1051430', '8800', 'Overall 2'), /*Sierra Grace Dress*/ +('1051431', '7600', 'Overall 2'), /*Ms. Love Messenger Outfit*/ +('1051432', '5200', 'Overall 2'), /*Little Trainer Outfit (F)*/ +('1051434', '3200', 'Overall 2'), /*Blooming Leafy Love Outfit*/ +('1051435', '3200', 'Overall 2'), /*Starlight Outfit*/ +/*Page 29*/ +('1051436', '4700', 'Overall 2'), /*The Kingdom Dress of Queen*/ +('1051437', '4900', 'Overall 2'), /*Pink Romance*/ +('1051439', '5000', 'Overall 2'), /*Mint Kitty Tea Party*/ + + + +/*Page 1*/ +('1051472', '7100', 'Overall 3'), /*Evan Dragon Suit*/ +('1051473', '7100', 'Overall 3'), /*Royal Mercedes Suit*/ +('1051474', '5200', 'Overall 3'), /*Royal Mercedes Suit*/ +('1051475', '5600', 'Overall 3'), /*Mystic Phantom Suit*/ +('1051476', '7400', 'Overall 3'), /*Mystic Phantom Suit*/ +('1051477', '6000', 'Overall 3'), /*Winter Aran Suit*/ +('1051478', '3200', 'Overall 3'), /*Winter Aran Suit*/ +('1051479', '7600', 'Overall 3'), /*Chiaroscuro Luminous Suit*/ +('1051480', '3800', 'Overall 3'), /*Chiaroscuro Luminous Suit*/ +/*Page 2*/ +('1051481', '7100', 'Overall 3'), /*Secret Shade Suit*/ +('1051482', '7100', 'Overall 3'), /*Secret Shade Suit*/ +('1051483', '4900', 'Overall 3'), /*Frilly Bathrobe*/ +('1051484', '6000', 'Overall 3'), /*Santa Costume*/ +('1051485', '4900', 'Overall 3'), /*Time Cantabile*/ +('1051486', '4900', 'Overall 3'), /*Snow Deer Parka*/ +('1051487', '5600', 'Overall 3'), /*Cozy Fur Outfit*/ +('1051456', '3800', 'Overall 3'), /*Sparkling Bluebird (F)*/ +('1051457', '3200', 'Overall 3'), /*British Marine Outfit (F)*/ +/*Page 3*/ +('1051458', '4900', 'Overall 3'), /*Ursus Lady's Suit*/ +('1051459', '5600', 'Overall 3'), /*Pure Farmer One-piece*/ +('1051460', '5200', 'Overall 3'), /*Polka Dot Dress*/ +('1051461', '3400', 'Overall 3'), /*Giant Ribbon Outfit (F)*/ + +('1051463', '6400', 'Overall 3'), /*Bloody Bride*/ +('1051464', '3800', 'Overall 3'), /*Banana Outing Clothes*/ +('1051465', '8800', 'Overall 3'), /*Shy Traveler*/ +('1051466', '7100', 'Overall 3'), /*Blue Marine Uniform (F)*/ +/*Page 4*/ + + +('1051469', '3200', 'Overall 3'), /*Nutcracker Uniform*/ +('1051470', '8800', 'Overall 3'), /*Time Mistress*/ +('1051471', '4700', 'Overall 3'), /*Evan Dragon Suit*/ +('1051504', '4700', 'Overall 3'), /*Lucid Dream*/ +('1051505', '7100', 'Overall 3'), /*Shadow Warrior's Tunic*/ +('1051506', '3400', 'Overall 3'), /*Sweetheart Dress*/ +('1051507', '7600', 'Overall 3'), /*Orange Mushroom Skirt*/ +/*Page 5*/ +('1051508', '3800', 'Overall 3'), /*Purple Porker Skirt*/ +('1051509', '3600', 'Overall 3'), /*Pumpkin Milky Way*/ +('1051510', '4700', 'Overall 3'), /*Sweet Chocolate Dress*/ +('1051511', '3800', 'Overall 3'), /*Warm Rabbit Fur Coat*/ +('1051512', '7400', 'Overall 3'), /*Star's Serenade*/ +('1051513', '4700', 'Overall 3'), /*Queen's Evening Party*/ +('1051514', '3800', 'Overall 3'), /*Queen's Evening Party*/ +('1051515', '7400', 'Overall 3'), /*Maple M Dress*/ +('1051519', '8800', 'Overall 3'), /*Moonlight Sherbet*/ +/*Page 6*/ +('1051488', '3400', 'Overall 3'), /*Winter Garden Outfit (F)*/ + +('1051490', '7600', 'Overall 3'), /*Concert Muse (Soprano)*/ +('1051491', '6400', 'Overall 3'), /*Fragrant Spring Outing*/ +('1051492', '4900', 'Overall 3'), /*Dot Berry*/ +('1051494', '6400', 'Overall 3'), /*Lady Black*/ +('1051495', '5000', 'Overall 3'), /*Crystal Dew*/ +('1051496', '7100', 'Overall 3'), /*Crystal Dew*/ +('1051497', '7100', 'Overall 3'), /*Rose Princess Gown*/ +/*Page 7*/ +('1051498', '5600', 'Overall 3'), /*Black Girl Scout*/ +('1051499', '8800', 'Overall 3'), /*Orchid Light Hanga*/ +('1051500', '6000', 'Overall 3'), /*Queen Mary*/ +('1051501', '8800', 'Overall 3'), /*Grand Pony Get-up*/ + +('1051503', '7100', 'Overall 3'), /*Pitch Dark Poem*/ +('1051536', '3400', 'Overall 3'), /*Fab Beachwear*/ +('1051537', '4900', 'Overall 3'), /*Midnight Moonlight Outfit*/ +('1051538', '7600', 'Overall 3'), /*Suit Heart Outfit*/ +/*Page 8*/ +('1051539', '5200', 'Overall 3'), /*Crimson Fate Topcoat*/ +('1051540', '7100', 'Overall 3'), /*Crimson Fate Topcoat*/ +('1051541', '7400', 'Overall 3'), /*Pamina's Aria*/ +('1051542', '3800', 'Overall 3'), /*Spooky Skirt*/ +('1051543', '7600', 'Overall 3'), /*Halloween Pumpkin Suit*/ +('1051544', '5200', 'Overall 3'), /*Soft Blushed*/ +('1051545', '6000', 'Overall 3'), /*Iron Mace Officer*/ +('1051546', '5000', 'Overall 3'), /*Bunny Jersey*/ +('1051547', '5200', 'Overall 3'), /*Santa Costume*/ +/*Page 9*/ +('1051548', '5000', 'Overall 3'), /*Snow Blossom Coat*/ +('1051549', '6300', 'Overall 3'), /*Oh My Captain*/ +('1051551', '3800', 'Overall 3'), /*Plum Blossom Dress*/ +('1051520', '8800', 'Overall 3'), /*Soft Cream Dress*/ +('1051521', '6400', 'Overall 3'), /*Skater Fangirl*/ + +('1051523', '6000', 'Overall 3'), /*Cherry Glaze*/ +('1051528', '8800', 'Overall 3'), /*Aqua Phoenix Dress*/ +('1051529', '6000', 'Overall 3'), /*Spaceywoman*/ +/*Page 10*/ +('1051530', '6000', 'Overall 3'), /*Preppy Sprout Garb*/ +('1051531', '3800', 'Overall 3'), /*Cloud Sea Outfit (F)*/ +('1051535', '7600', 'Overall 3'), /*Teddy Land Outfit*/ +('1051568', '4000', 'Overall 3'), /*Scuba Savvy Suit*/ +('1051572', '4900', 'Overall 3'), /*Firefly Firelight Top*/ +('1051573', '3400', 'Overall 3'), /*Audience with the Empress*/ +('1051574', '6300', 'Overall 3'), /*Lovely Plaid*/ +('1051575', '8800', 'Overall 3'), /*Necrotic*/ +('1051576', '4700', 'Overall 3'), /*Romantic Warrior*/ +/*Page 11*/ +('1051577', '7400', 'Overall 3'), /*Snowflake Pea Coat*/ +('1051578', '3200', 'Overall 3'), /*Forever Young Dress*/ +('1051579', '3800', 'Overall 3'), /*Camelia Tea Dress*/ +('1051580', '3800', 'Overall 3'), /*Santa Girl Overall*/ +('1051581', '3600', 'Overall 3'), /*Santa Costume*/ +('1051582', '3400', 'Overall 3'), /*Rudolf Hoody*/ +('1051583', '4000', 'Overall 3'), /*Rudolf Hoody*/ +('1051552', '6400', 'Overall 3'), /*Maple Blitzer Strategist Uniform*/ +('1051553', '4000', 'Overall 3'), /*Lemon Wafer Coat*/ +/*Page 12*/ +('1051554', '3400', 'Overall 3'), /*Carbon Wing Coat*/ +('1051555', '6000', 'Overall 3'), /*Little Darling Outfit*/ +('1051556', '5200', 'Overall 3'), /*Tennis Uniform*/ +('1051559', '3400', 'Overall 3'), /*Candy Darling*/ +('1051560', '3200', 'Overall 3'), /*Clockwork Knight Ensemble*/ +('1051561', '4900', 'Overall 3'), /*Ballpark Buddy Uniform*/ +('1051563', '7600', 'Overall 3'), /*Spring Green Finery*/ +('1051564', '3200', 'Overall 3'), /*Nautically Pink Dress*/ +('1051565', '4700', 'Overall 3'), /*Shimmering Starlight Attire*/ +/*Page 13*/ +('1051566', '3800', 'Overall 3'), /*Shimmering Starlight Attire*/ +('1051567', '4700', 'Overall 3'), /*Seafoam Coral Coordinates*/ +('1051584', '4900', 'Overall 3'), /*Lavender Shearling Longcoat*/ +('1051585', '5200', 'Overall 3'), /*Piggy Pal Romper*/ +('1051586', '3400', 'Overall 3'), /*Wish Fulfiller Uniform*/ +('1051588', '5200', 'Overall 3'), /*Retro Swimsuit (F)*/ +('1051591', '4000', 'Overall 3'), /*Springtime Sprout Outfit (F)*/ +('1052016', '5200', 'Overall 3'), /*Brown Shinsengumi Uniform*/ +('1052017', '3400', 'Overall 3'), /*Orange Life-Jacket*/ +/*Page 14*/ +('1052018', '8800', 'Overall 3'), /*Green Life-Jacket*/ +('1052019', '5600', 'Overall 3'), /*Blue Life-Jacket*/ +('1052020', '7100', 'Overall 3'), /*White Body Tights*/ +('1052021', '4000', 'Overall 3'), /*Black Body Tights*/ +('1052022', '3200', 'Overall 3'), /*White Holed Tights*/ +('1052023', '6300', 'Overall 3'), /*Black Holed Tights*/ +('1052024', '6000', 'Overall 3'), /*Big Kimono*/ +('1052025', '3800', 'Overall 3'), /*Denim Overall*/ +('1052026', '6300', 'Overall 3'), /*Grey Full Coat*/ +/*Page 15*/ +('1052027', '7400', 'Overall 3'), /*Red Full Coat*/ +('1052028', '7400', 'Overall 3'), /*Forest Samurai Outfit*/ +('1052029', '7600', 'Overall 3'), /*Premium Trenchcoat*/ +('1052030', '6000', 'Overall 3'), /*Toga*/ +('1052031', '6300', 'Overall 3'), /*Reindeer Suit*/ +('1052000', '6000', 'Overall 3'), /*Recycled Box*/ +('1052001', '5000', 'Overall 3'), /*Paper Box*/ +('1052002', '4000', 'Overall 3'), /*Cardboard Box*/ +('1052003', '5000', 'Overall 3'), /*Blue Chinese Undead Costume*/ +/*Page 16*/ +('1052004', '5000', 'Overall 3'), /*Maroon Chinese Undead Costume*/ +('1052005', '5600', 'Overall 3'), /*Yellow Raincoat*/ +('1052006', '3400', 'Overall 3'), /*Sky Blue Raincoat*/ +('1052007', '7100', 'Overall 3'), /*Red Raincoat*/ +('1052008', '6300', 'Overall 3'), /*Green Raincoat*/ +('1052009', '8800', 'Overall 3'), /*Orange Overall*/ +('1052010', '7600', 'Overall 3'), /*Pink Overall*/ +('1052011', '5200', 'Overall 3'), /*Blue Overall*/ +('1052012', '6300', 'Overall 3'), /*Green Overall*/ +/*Page 17*/ +('1052013', '3600', 'Overall 3'), /*Graduation Gown*/ +('1052014', '4700', 'Overall 3'), /*Ducky Costume*/ +('1052015', '5200', 'Overall 3'), /*Blue Shinsengumi Uniform*/ +('1052048', '5000', 'Overall 3'), /*Brown Snowboard Overall*/ +('1052049', '3600', 'Overall 3'), /*Yang In*/ +('1052050', '5600', 'Overall 3'), /*Red Hip Hop*/ +('1052051', '7100', 'Overall 3'), /*Blue Hip Hop*/ +('1052052', '4000', 'Overall 3'), /*Musashi Costume*/ +('1052053', '3800', 'Overall 3'), /*Teddy Bear Costume*/ +/*Page 18*/ +('1052054', '7100', 'Overall 3'), /*Welder Look*/ +('1052055', '5000', 'Overall 3'), /*Enamer*/ +('1052056', '3400', 'Overall 3'), /*Soccer Uniform*/ +('1052057', '5600', 'Overall 3'), /*Soccer Uniform (No.7)*/ +('1052058', '4000', 'Overall 3'), /*Soccer Uniform (No.10)*/ +('1052059', '3600', 'Overall 3'), /*Soccer Uniform (No.14)*/ +('1052060', '3600', 'Overall 3'), /*England Soccer Uniform(No.8)*/ +('1052061', '3800', 'Overall 3'), /*Brazil Soccer Uniform(No.9)*/ +('1052062', '4700', 'Overall 3'), /*France Soccer Uniform(No.10)*/ +/*Page 19*/ +('1052063', '6000', 'Overall 3'), /*USA Soccer Uniform(No.17)*/ +('1052032', '8800', 'Overall 3'), /*Red Bruma*/ +('1052033', '3600', 'Overall 3'), /*Green Bruma*/ +('1052034', '3600', 'Overall 3'), /*Blue Bruma*/ +('1052035', '3600', 'Overall 3'), /*Guan Yu Armor*/ +('1052036', '3800', 'Overall 3'), /*Zhu-Ge-Liang Gown*/ +('1052037', '6000', 'Overall 3'), /*Patissier Uniform*/ +('1052038', '8800', 'Overall 3'), /*Blue Robot Pilotgear*/ +('1052039', '7100', 'Overall 3'), /*Liu Bei Robe*/ +/*Page 20*/ +('1052040', '3800', 'Overall 3'), /*Cao Cao Robe*/ +('1052041', '3600', 'Overall 3'), /*Sun Quan Robe*/ +('1052042', '6000', 'Overall 3'), /*Pink Robot Pilotgear*/ +('1052043', '3400', 'Overall 3'), /*Hip Hop Sweats*/ +('1052044', '7600', 'Overall 3'), /*Scuba Diving Suit*/ +('1052045', '3400', 'Overall 3'), /*Mink Coat*/ +('1052046', '7100', 'Overall 3'), /*Snowman Costume*/ +('1052047', '4700', 'Overall 3'), /*Black Snowboard Overall*/ +('1052082', '4700', 'Overall 3'), /*Elf Overall*/ +/*Page 21*/ +('1052083', '4000', 'Overall 3'), /*Sun Wukong Robe*/ +('1052084', '8800', 'Overall 3'), /*Golden Armor*/ +('1052085', '6400', 'Overall 3'), /*Red Amorian Apron*/ +('1052086', '6300', 'Overall 3'), /*Blue Amorian Apron*/ +('1052087', '6000', 'Overall 3'), /*Dark Blue Robes*/ +('1052089', '6400', 'Overall 3'), /*Black Overcoat of Doom*/ +('1052090', '7100', 'Overall 3'), /*Rompers*/ +('1052091', '8800', 'Overall 3'), /*Sachiel Armor*/ +('1052092', '8800', 'Overall 3'), /*Veamoth Armor*/ +/*Page 22*/ +('1052093', '4900', 'Overall 3'), /*Janus Armor*/ +('1052094', '4000', 'Overall 3'), /*Zhu Ba Jie Overall*/ +('1052064', '4700', 'Overall 3'), /*Soccer Uniform(No.4)*/ +('1052065', '7100', 'Overall 3'), /*Soccer Uniform(No.21)*/ +('1052066', '3400', 'Overall 3'), /*Mexico Soccer Uniform(No.9)*/ +('1052067', '4900', 'Overall 3'), /*Mummy Suit*/ +('1052068', '3800', 'Overall 3'), /*Skull Suit*/ +('1052069', '3600', 'Overall 3'), /*Flamboyant Autumn Gear*/ +('1052070', '6300', 'Overall 3'), /*Golden Armor*/ +/*Page 23*/ +('1052073', '7600', 'Overall 3'), /*White Rabbit Suit*/ +('1052074', '8800', 'Overall 3'), /*Nero Bell Outfit*/ +('1052077', '6400', 'Overall 3'), /*Moon Bunny Costume*/ +('1052078', '3400', 'Overall 3'), /*Soap Bubble Bonanza*/ +('1052079', '5200', 'Overall 3'), /*Prince of Darkness*/ +('1052144', '7400', 'Overall 3'), /*Luxurious Padded Coat*/ +('1052145', '7400', 'Overall 3'), /*Christmas Party Suit*/ +('1052147', '5000', 'Overall 3'), /*Chinese Lion Costume*/ +('1052151', '6300', 'Overall 3'), /*Bosshunter Armor*/ +/*Page 24*/ +('1052152', '6000', 'Overall 3'), /*Bosshunter Gi*/ +('1052153', '4700', 'Overall 3'), /*Red Viska for Transformation*/ +('1052154', '3200', 'Overall 3'), /*Tiger Cub Costume*/ +('1052135', '4900', 'Overall 3'), /*Centaurus Legs*/ +('1052136', '3800', 'Overall 3'), /*2nd Anniversary Mushroom Suit*/ +('1052137', '4900', 'Overall 3'), /*Tomato Suit*/ +('1052142', '7600', 'Overall 3'), /*Shorts with Suspenders*/ +('1052143', '3600', 'Overall 3'), /*Sky Blue Padded Coat*/ +('1052176', '6400', 'Overall 3'), /*Fashionable Checkerwear*/ +/*Page 25*/ +('1052178', '7400', 'Overall 3'), /*Snowflake Knit*/ +('1052179', '3800', 'Overall 3'), /*Cow Costume*/ +('1052180', '6000', 'Overall 3'), /*Denim Overalls*/ +('1052182', '7100', 'Overall 3'), /*Galactic Hero Suit*/ +('1052183', '3600', 'Overall 3'), /*Stealth Suit*/ + +('1052168', '3800', 'Overall 3'), /*Cutie Birk Outfit*/ +('1052169', '5600', 'Overall 3'), /*Gaga Suit*/ +('1052170', '7100', 'Overall 3'), /*Noob Overall*/ +/*Page 26*/ +('1052171', '3400', 'Overall 3'), /*Baby Chick Apron*/ +('1052172', '7600', 'Overall 3'), /*Pumpkin Suit*/ +('1052174', '4900', 'Overall 3'), /*Fox Outfit*/ +('1052175', '3800', 'Overall 3'), /*Coastal Winter Wear*/ +('1052209', '7600', 'Overall 3'), /*Royal Navy Uniform*/ +('1052210', '6000', 'Overall 3'), /*Alchemist Overall*/ +('1052211', '6000', 'Overall 3'), /*Fire Shadow Suit*/ +('1052212', '5600', 'Overall 3'), /*Cherry Blossom Suit*/ +('1052213', '6300', 'Overall 3'), /*Chaos Armor*/ +/*Page 27*/ +('1052214', '6000', 'Overall 3'), /*Maple Racing Suit*/ +('1052218', '7600', 'Overall 3'), /*Clown Suit*/ +('1052192', '5000', 'Overall 3'), /*Bombacha*/ +('1052193', '5600', 'Overall 3'), /*Honeybee Costume*/ +('1052194', '3600', 'Overall 3'), /*Ugabuga*/ +('1052195', '4700', 'Overall 3'), /*Aran Armor*/ +('1052196', '8800', 'Overall 3'), /*Aran Armor*/ +('1052197', '3800', 'Overall 3'), /*Brave Soldier Armor*/ +('1052198', '7100', 'Overall 3'), /*Pink Bean Suit*/ +/*Page 28*/ +('1052199', '6400', 'Overall 3'), /*Blade Overall*/ +('1052200', '7100', 'Overall 3'), /*Lolli Pink Suit*/ +('1052201', '5000', 'Overall 3'), /*Shiny Sailor Uniform*/ +('1052203', '7600', 'Overall 3'), /*One Summer Night */ +('1052204', '7400', 'Overall 3'), /*Marine Girl Dress*/ +('1052205', '6300', 'Overall 3'), /*Pluto Hero Suit*/ +('1052206', '7400', 'Overall 3'), /*Gaga Suit*/ +('1052207', '3400', 'Overall 3'), /*Cursed Golden Armor*/ +('1052245', '6400', 'Overall 3'), /*Green Leaf Overall*/ +/*Page 29*/ +('1052246', '6000', 'Overall 3'), /*Cat Set Suit*/ +('1052248', '4900', 'Overall 3'), /*Dual Blade Suit*/ +('1052253', '5000', 'Overall 3'), /*Green Overall Shorts*/ + + + +/*Page 1*/ +('1052255', '6300', 'Overall 4'), /*Hawkeye Captain Suit*/ +('1052224', '4700', 'Overall 4'), /*Strawberry Baby*/ +('1052225', '3800', 'Overall 4'), /*Lolita Butterfly Dress*/ +('1052228', '3800', 'Overall 4'), /*Layered Long Skull Tee*/ +('1052229', '4900', 'Overall 4'), /*Qi-pao Dress*/ +('1052231', '7600', 'Overall 4'), /*Little Prince*/ +('1052232', '3800', 'Overall 4'), /*Pink Fur Ribbon Dress*/ +('1052233', '5600', 'Overall 4'), /*White Fur Ribbon Dress*/ +('1052234', '7100', 'Overall 4'), /*Stylish Layered Plaid*/ +/*Page 2*/ +('1052236', '6000', 'Overall 4'), /*Petite School Shawl*/ +('1052275', '6400', 'Overall 4'), /*Royal Rainbow Zip-Up Jacket*/ +('1052282', '3800', 'Overall 4'), /*Oz Magic Robe*/ +('1052283', '3400', 'Overall 4'), /*Henesys Academy Uniform (with skirt)*/ +('1052284', '3200', 'Overall 4'), /*Henesys Academy Uniform (with pants)*/ +('1052286', '7100', 'Overall 4'), /*Pilot Suit*/ +('1052268', '5000', 'Overall 4'), /*Violet Tunic*/ +('1052306', '6300', 'Overall 4'), /*Japanesque Dress*/ +('1052309', '3600', 'Overall 4'), /*Trench Coat*/ +/*Page 3*/ +('1052289', '6400', 'Overall 4'), /*Wild Hunter Suit*/ +('1052290', '6400', 'Overall 4'), /*Battle Mage Suit*/ +('1052291', '4900', 'Overall 4'), /*Hooded Track Suit*/ +('1052292', '5000', 'Overall 4'), /*King Crow Suit*/ +('1052293', '7400', 'Overall 4'), /*Sanctus Combat Dress*/ +('1052294', '8800', 'Overall 4'), /*Sanctus Combat Suit*/ +('1052295', '8800', 'Overall 4'), /*Maid Dress (Pink)*/ +('1052296', '7600', 'Overall 4'), /*Maid Dress (Blue)*/ +('1052298', '5000', 'Overall 4'), /*Rabbit Ear Dress*/ +/*Page 4*/ +('1052338', '4000', 'Overall 4'), /*Red's Dress*/ +('1052339', '6300', 'Overall 4'), /*Lab Gear (F)*/ +('1052340', '4900', 'Overall 4'), /*Lab Gear (M)*/ + +('1052345', '3200', 'Overall 4'), /*Winter 2010 Moon Bunny Outfit*/ +('1052348', '6300', 'Overall 4'), /*Commander Captain*/ +('1052349', '7600', 'Overall 4'), /*Belt Coat*/ +('1052324', '6300', 'Overall 4'), /*Paypal Suit*/ +('1052329', '3400', 'Overall 4'), /*Pitch Dark Outfit*/ +/*Page 5*/ +('1052330', '6400', 'Overall 4'), /*Blue Mage Gear*/ +('1052331', '8800', 'Overall 4'), /*Red Mage Gear*/ +('1052332', '6400', 'Overall 4'), /*Christmas Casual Outfit*/ +('1052368', '7100', 'Overall 4'), /*Starling Suit*/ +('1052369', '6300', 'Overall 4'), /* MSE 4 Years & Unstoppable Overall*/ +('1052370', '5200', 'Overall 4'), /*Victorian Vampire Suit*/ +('1052372', '6000', 'Overall 4'), /*Blue Arabian Outfit*/ +('1052373', '3400', 'Overall 4'), /*Red Arabian Outfit*/ +('1052354', '5000', 'Overall 4'), /*Rising Star Baggy Digs*/ +/*Page 6*/ +('1052355', '3600', 'Overall 4'), /*Rookie Yellow Raincoat*/ +('1052356', '7400', 'Overall 4'), /*Military Pop Star*/ +('1052367', '4900', 'Overall 4'), /*Crow Suit*/ +('1052408', '3400', 'Overall 4'), /*Kerning Engineering School Uniform*/ +('1052410', '7400', 'Overall 4'), /*Ribboned Justice Dress*/ +('1052411', '4700', 'Overall 4'), /*Alchemist Overall*/ +('1052412', '6300', 'Overall 4'), /*Toy Prince*/ +('1052435', '7100', 'Overall 4'), /*Princess Hakama*/ +('1052438', '5000', 'Overall 4'), /*Ganache Chocolate Suit*/ +/*Page 7*/ +('1052439', '4700', 'Overall 4'), /*Ellinia Magic School Uniform*/ +('1052440', '7100', 'Overall 4'), /*Mu Lung Dojo Uniform*/ +('1052442', '6000', 'Overall 4'), /*Combat Fatigues*/ +('1052443', '6300', 'Overall 4'), /*Taisho Romance*/ +('1052445', '4700', 'Overall 4'), /*Intergalactic Armor*/ +('1052446', '4900', 'Overall 4'), /*Light Chiffon Dress*/ +('1052447', '3800', 'Overall 4'), /*Light Cotton Candy Overalls*/ +('1052416', '4700', 'Overall 4'), /*Orchid's Black Wing Uniform*/ +('1052417', '7600', 'Overall 4'), /*Honeybee Suit*/ +/*Page 8*/ +('1052418', '3200', 'Overall 4'), /*Princely Daywear*/ +('1052419', '7600', 'Overall 4'), /*Pink Lolita Outfit*/ +('1052421', '7400', 'Overall 4'), /*Urban Pirate Outfit*/ +('1052423', '6300', 'Overall 4'), /*Hades Overall*/ +('1052424', '5000', 'Overall 4'), /*Fancy Noblesse Robe*/ +('1052425', '6400', 'Overall 4'), /*White Combat Tunic*/ +('1052426', '3800', 'Overall 4'), /*White Combat Habit*/ +('1052474', '4900', 'Overall 4'), /*The Onmyouji Ceremonial Robes*/ +('1052448', '7400', 'Overall 4'), /*Tomato Outfit*/ +/*Page 9*/ +('1052449', '5200', 'Overall 4'), /*Sausage Outfit*/ +('1052455', '7600', 'Overall 4'), /*Honeybee Suit*/ +('1052458', '7100', 'Overall 4'), /*Lucia Overall*/ +('1052459', '3800', 'Overall 4'), /*Blue Angel Uniform*/ +('1052503', '4900', 'Overall 4'), /*Cool Summer Look*/ +('1052531', '4000', 'Overall 4'), /*The Bladed Falcon's Armor*/ +('1052536', '7100', 'Overall 4'), /*Marine Stripe*/ +('1052537', '5200', 'Overall 4'), /*Hyper Honeybee Suit*/ +('1052538', '5000', 'Overall 4'), /*Ghost Costume*/ +/*Page 10*/ +('1052539', '4000', 'Overall 4'), /*Blue Jiangshi Costume*/ +('1052540', '5000', 'Overall 4'), /*Cow Costume*/ +('1052541', '6300', 'Overall 4'), /*Tiger Cub Costume*/ +('1052542', '6300', 'Overall 4'), /*Angel Costume*/ +('1052543', '7400', 'Overall 4'), /*Paper Box*/ +('1052565', '5200', 'Overall 4'), /*Reindeer Suit*/ +('1052566', '7600', 'Overall 4'), /*Snowman Costume*/ +('1052567', '3400', 'Overall 4'), /*Santa Costume*/ +('1052568', '5600', 'Overall 4'), /*Decked-Out Santa Outfit*/ +/*Page 11*/ +('1052571', '3400', 'Overall 4'), /*Dark Devil Outfit*/ +('1052574', '3800', 'Overall 4'), /*Flowing Flame Robes*/ +('1052575', '4000', 'Overall 4'), /*Pious Shaman Robes*/ +('1052544', '5000', 'Overall 4'), /*Hyper Rising Star Baggy Digs*/ +('1052549', '6300', 'Overall 4'), /*[MS Custom] Orange Life-Jacket*/ +('1052550', '4900', 'Overall 4'), /*Seal Costume*/ +('1052551', '8800', 'Overall 4'), /*Yellow Bell Robe*/ +('1052552', '7100', 'Overall 4'), /*Gray Bell Robe*/ +('1052554', '3800', 'Overall 4'), /*Cat Lolita Outfit*/ +/*Page 12*/ +('1052594', '4700', 'Overall 4'), /*Green Dinosaur Overall*/ +('1052595', '7400', 'Overall 4'), /*Purple Dinosaur Onesie*/ +('1052597', '3200', 'Overall 4'), /*Hilla Robe*/ +('1052598', '4700', 'Overall 4'), /*Hawkeye Captain Suit*/ +('1052599', '3800', 'Overall 4'), /*Oz Magic Robe*/ +('1052601', '7400', 'Overall 4'), /*Kerning Technical High Uniform*/ +('1052602', '3400', 'Overall 4'), /*Black Duster*/ +('1052603', '5200', 'Overall 4'), /*Mu Lung Academy Uniform*/ +('1052604', '7600', 'Overall 4'), /*Blue Love Dress*/ +/*Page 13*/ +('1052605', '4000', 'Overall 4'), /*Ramling PJs*/ +('1052576', '6000', 'Overall 4'), /*Lotus's Black Wings Uniform*/ +('1052577', '5600', 'Overall 4'), /*Stylish Layered Plaid*/ +('1052579', '3200', 'Overall 4'), /*Xenon NeoTech Suit*/ +('1052585', '6000', 'Overall 4'), /*Fluffy Cat Outfit*/ +('1052586', '4000', 'Overall 4'), /*Lucia Outfit*/ +('1052587', '5600', 'Overall 4'), /*Harp Seal Doll Outfit*/ +('1052624', '7600', 'Overall 4'), /*GM Haku's Pirate Gear*/ +('1052626', '8800', 'Overall 4'), /*Splash Wave*/ +/*Page 14*/ +('1052627', '7100', 'Overall 4'), /*Pirate Captain's Coat*/ +('1052628', '7100', 'Overall 4'), /*Blue Officer Uniform*/ +('1052629', '3200', 'Overall 4'), /*Silver Officer Uniform*/ +('1052630', '3800', 'Overall 4'), /*Black Officer Uniform*/ +('1052634', '8800', 'Overall 4'), /*Man's Shirts*/ +('1052636', '5200', 'Overall 4'), /*Patissier Uniform*/ +('1052610', '5000', 'Overall 4'), /*Succubus Dress*/ +('1052618', '5600', 'Overall 4'), /*Blue Kitty Hoodie*/ +('1052619', '7600', 'Overall 4'), /*Pink Kitty Hoodie*/ +/*Page 15*/ +('1052656', '5600', 'Overall 4'), /*White Swan Ballet Outfit*/ +('1052657', '7600', 'Overall 4'), /*Black Swan Ballet Outfit*/ +('1052660', '3800', 'Overall 4'), /*Balloon Overalls*/ +('1052661', '8800', 'Overall 4'), /*Chicken Coataroo*/ +('1052662', '5600', 'Overall 4'), /*Camellia Flower Lovely Night Clothes*/ +('1052663', '4900', 'Overall 4'), /*Flowing Wind Robe*/ +('1052664', '5600', 'Overall 4'), /*Gentleman Bow Tie Suit*/ +('1052665', '3400', 'Overall 4'), /*Gentleman Suit*/ +('1052666', '6300', 'Overall 4'), /*Chocoram Doll Outfit*/ +/*Page 16*/ +('1052667', '5000', 'Overall 4'), /*Puffram Onesie*/ +('1052668', '3200', 'Overall 4'), /*Princess of Time Dress*/ +('1052671', '3800', 'Overall 4'), /*Oversized Oxford*/ +('1052643', '7400', 'Overall 4'), /*Bloody Jeanne*/ +('1052644', '6300', 'Overall 4'), /*Shadow Executer*/ +('1052654', '3400', 'Overall 4'), /*フューチャーロイドネオンアーマー*/ +('1052655', '5600', 'Overall 4'), /*Dawn Bear Outfit*/ +('1052692', '7400', 'Overall 4'), /*Mr. K's Cat Outfit*/ +('1052693', '6400', 'Overall 4'), /*Rudi's Outfit*/ +/*Page 17*/ + +('1052674', '3400', 'Overall 4'), /*Dark Devil Outfit*/ +('1052675', '6000', 'Overall 4'), /*Vampire Phantom Suit*/ +('1052676', '3600', 'Overall 4'), /*Kirito's Outfit*/ +('1052677', '6000', 'Overall 4'), /*Asuna's Dress*/ +('1052678', '6300', 'Overall 4'), /*Leafa's Dress*/ +('1052679', '8800', 'Overall 4'), /*Freud's Robe*/ +('1052680', '6400', 'Overall 4'), /*Aran's Armor(M)*/ +('1052681', '6400', 'Overall 4'), /*Aran's Armor(F)*/ +/*Page 18*/ +('1052682', '5600', 'Overall 4'), /*Brave Aran's Armor*/ +('1052684', '4700', 'Overall 4'), /*Heathcliff's Armor*/ +('1052685', '6300', 'Overall 4'), /*Yui's Dress*/ +('1052724', '3400', 'Overall 4'), /*Cutie Horse Suit*/ +('1052725', '7100', 'Overall 4'), /*Fancy Magician Overall*/ +('1052726', '3800', 'Overall 4'), /*Ghost Bride Wedding Dress*/ +('1052727', '4700', 'Overall 4'), /*Refreshing Male Outfit*/ +('1052728', '6400', 'Overall 4'), /*Refreshing Female Cardigan Outfit*/ + +/*Page 19*/ + +('1052754', '5000', 'Overall 4'), /*Pink Panda Outfit*/ +('1052762', '5200', 'Overall 4'), /*Banana Overalls*/ +('1052746', '3800', 'Overall 4'), /*Chef Overall*/ +('1052747', '7100', 'Overall 4'), /*Contemporary Chic Outfit*/ +('1052749', '6400', 'Overall 4'), /*Nurse Dress*/ +('1052750', '4900', 'Overall 4'), /*Doctor Suit*/ +('1052771', '6000', 'Overall 4'), /*Ayame Overall Armor*/ +('1052772', '3800', 'Overall 4'), /*2014 유니폼*/ +/*Page 20*/ +('1052773', '7100', 'Overall 4'), /*暗夜精灵铠甲*/ +('1052774', '5200', 'Overall 4'), /*隐武士铠甲*/ +('1052779', '8800', 'Overall 4'), /*Peach Camellia Kimono*/ +('1052780', '5600', 'Overall 4'), /*Red Wind Robes*/ +('1052781', '4700', 'Overall 4'), /*Red Pony Overalls*/ +('1052782', '7400', 'Overall 4'), /*Blue Pony Overalls*/ +('1052811', '6300', 'Overall 4'), /*Bright Angel Coat*/ +('1052812', '7100', 'Overall 4'), /*Dark Devil Coat*/ +('1052852', '6000', 'Overall 4'), /*Raging Lotus Gown*/ +/*Page 21*/ +('1052853', '7100', 'Overall 4'), /*Ill Orchid Gown*/ +('1052854', '7100', 'Overall 4'), /*Worn Ghost Suit*/ +('1052855', '7400', 'Overall 4'), /*Worn Witch Outfit*/ +('1052856', '3800', 'Overall 4'), /*Worn Skull Outfit*/ +('1052857', '7100', 'Overall 4'), /*Ghost Suit*/ +('1052858', '3800', 'Overall 4'), /*Witch Outfit*/ +('1052859', '4900', 'Overall 4'), /*Skull Outfit*/ +('1052837', '4000', 'Overall 4'), /*Gym Teacher's Suit*/ +('1052838', '3400', 'Overall 4'), /*Student Swimsuit*/ +/*Page 22*/ +('1052841', '3400', 'Overall 4'), /*Sweet Persimmon Suit*/ +('1052842', '4900', 'Overall 4'), /*White Puppy Outfit*/ +('1052843', '3800', 'Overall 4'), /*Brown Puppy Outfit*/ +('1052844', '4700', 'Overall 4'), /*Corn Overalls*/ +('1052845', '4000', 'Overall 4'), /*Loose-fit Homecoming Duds*/ +('1052846', '3200', 'Overall 4'), /*Peach Overalls*/ +('1052891', '6300', 'Overall 4'), /*Blue Bird Overall*/ +('1052892', '7400', 'Overall 4'), /*Cutie Bunny Overall*/ +('1052894', '4000', 'Overall 4'), /*Romantic Dress*/ +/*Page 23*/ +('1052895', '6000', 'Overall 4'), /*Silver Wolf Outfit*/ +('1052864', '3600', 'Overall 4'), /*Pumpkin Bat Outfit*/ +('1052865', '3200', 'Overall 4'), /*Dinofrog Outfit*/ +('1052870', '7100', 'Overall 4'), /*Cadet Corps Uniform*/ +('1052871', '6000', 'Overall 4'), /*Scout Regiment Uniform*/ +('1052872', '7600', 'Overall 4'), /*Red Ribbon Dress*/ +('1052873', '3600', 'Overall 4'), /*Mikasa's Scout Regiment Uniform*/ +('1052874', '7400', 'Overall 4'), /*Levi's Scout Regiment Uniform*/ +('1052876', '5000', 'Overall 4'), /*Eren's Scout Regiment Uniform*/ +/*Page 24*/ +('1052912', '4900', 'Overall 4'), /*Quilting Fashion King*/ +('1052916', '3600', 'Overall 4'), /*Akarin's Flowery Dress*/ +('1052917', '3600', 'Overall 4'), /*Akatsuki's Dark Suit*/ +('1052920', '4000', 'Overall 4'), /*Red Mouse Hooded Onesie*/ +('1052921', '3600', 'Overall 4'), /*Bubbly Blue Carp Outfit*/ +('1052922', '5000', 'Overall 4'), /*Bubbly Red Carp Outfit*/ +('1052923', '4900', 'Overall 4'), /*Feline Blue Sleeves*/ +('1052924', '3600', 'Overall 4'), /*Noble Blossom Coat*/ +('1052925', '3400', 'Overall 4'), /*Pink Blossom Dress*/ +/*Page 25*/ +('1052926', '6000', 'Overall 4'), /*Cottontail Rabbit Dress*/ +('1052896', '5600', 'Overall 4'), /*Cutie Birk Outfit*/ +('1052897', '5600', 'Overall 4'), /*Snowman Costume*/ +('1052898', '6300', 'Overall 4'), /*Scuba Diving Suit*/ +('1052899', '4900', 'Overall 4'), /*Black Mouse Hooded Onesie*/ +('1052901', '3200', 'Overall 4'), /*Hipster*/ +('1052902', '3600', 'Overall 4'), /*Jumpsuit*/ +('1052903', '3800', 'Overall 4'), /*White Servant Tux*/ +('1052904', '5000', 'Overall 4'), /*Lovely Princess Dress*/ +/*Page 26*/ +('1052909', '6400', 'Overall 4'), /*Honeybee Coat*/ +('1052910', '6300', 'Overall 4'), /*Crystal Cat Outfit (M)*/ +('1052911', '3200', 'Overall 4'), /*Crystal Cat Outfit (F)*/ +('1052946', '8800', 'Overall 4'), /*Schwarzer Cross*/ +('1052947', '3200', 'Overall 4'), /*Red Mouse Hooded Onesie*/ +('1052948', '8800', 'Overall 4'), /*Evening Orchid*/ +('1052949', '5600', 'Overall 4'), /*Haku Cloth*/ +('1052951', '6000', 'Overall 4'), /*Polka Dot Dress*/ +('1052954', '8800', 'Overall 4'), /*Deep Sky*/ +/*Page 27*/ +('1052955', '7600', 'Overall 4'), /*Assistant Chef Outfit*/ +('1052956', '3600', 'Overall 4'), /*Beginner Chef Outfit*/ +('1052957', '6000', 'Overall 4'), /*Intermediate Chef Outfit*/ +('1052958', '6400', 'Overall 4'), /*Advanced Chef Outfit*/ +('1052959', '6400', 'Overall 4'), /*Sous-Chef Outfit*/ +('1052939', '7100', 'Overall 4'), /*돼지바 탱글딸기*/ +('1052940', '3400', 'Overall 4'), /*Spring Sunlight Pullover*/ +('1052941', '7100', 'Overall 4'), /*Dark Lotus Uniform*/ +('1052942', '6300', 'Overall 4'), /*Blue Panda Doll Outfit*/ +/*Page 28*/ +('1052976', '5000', 'Overall 4'), /*Clear Blue*/ +('1052977', '5200', 'Overall 4'), /*Pink Cardigan*/ +('1052960', '3800', 'Overall 4'), /*Chef Outfit*/ +('1052961', '3200', 'Overall 4'), /*Scuba Diving Suit*/ +('1052965', '7600', 'Overall 4'), /*Black Sailor Dress*/ +('1052966', '6000', 'Overall 4'), /*Hilla Android Uniform*/ +('1052967', '4900', 'Overall 4'), /*Magnus Android Uniform*/ +('1052970', '3600', 'Overall 4'), /*Toy Prince*/ +('1052975', '3600', 'Overall 4'), /*Preppy Suspenders*/ +/*Page 29*/ +('1053014', '4700', 'Overall 4'), /*Urban Pirate Outfit*/ +('1053015', '4700', 'Overall 4'), /*Reindeer Suit*/ +('1053016', '6300', 'Overall 4'), /*Show me the Meso*/ + + + +/*Page 1*/ +('1053017', '7400', 'Overall 5'), /*Undertaker*/ +('1053018', '6400', 'Overall 5'), /*Beaky Owl Outfit*/ +('1053022', '7400', 'Overall 5'), /*Umbral Attire*/ +('1053023', '5000', 'Overall 5'), /*Umbral Coat*/ +('1052994', '6000', 'Overall 5'), /*Abyss Burgunt*/ +('1052995', '7600', 'Overall 5'), /*Nyanya Steward Tuxedo*/ +('1052996', '3200', 'Overall 5'), /*Undertaker*/ +('1052997', '7400', 'Overall 5'), /*Arctic Suit*/ +('1052998', '7600', 'Overall 5'), /*Show me the Meso*/ +/*Page 2*/ +('1052999', '5600', 'Overall 5'), /*Polar Fur-Trimmed Dress*/ +('1053000', '5000', 'Overall 5'), /*Enari's Cow Outfit*/ +('1053001', '4000', 'Overall 5'), /*Flutter-sleeve Bell Suit*/ +('1053006', '5600', 'Overall 5'), /*Yarn Bunny Outfit*/ +('1053040', '3400', 'Overall 5'), /*Shark Bodysuit*/ +('1053041', '5000', 'Overall 5'), /*Blue Phoenix Toga*/ +('1053042', '4000', 'Overall 5'), /*Red Phoenix Toga*/ +('1053045', '5200', 'Overall 5'), /*Kitty Overall (Male)*/ +('1053046', '7400', 'Overall 5'), /*Winged Kitty Dress (Female)*/ +/*Page 3*/ +('1053047', '5000', 'Overall 5'), /*Mischievous Sweet Pig Outfit*/ +('1053048', '6300', 'Overall 5'), /*Cunning Sweet Pig Outfit*/ +('1053049', '3600', 'Overall 5'), /*Spring Scene Raincoat*/ +('1053050', '3600', 'Overall 5'), /*Noble Maple Suit*/ +('1053051', '7100', 'Overall 5'), /*Chicken Cutie Outfit*/ +('1053052', '8800', 'Overall 5'), /*Bubble Leaf Pants*/ +('1053053', '7400', 'Overall 5'), /*Bubble Leaf Skirt*/ +('1053054', '3600', 'Overall 5'), /*Hydrangea Kimono*/ +('1053055', '3600', 'Overall 5'), /*Racing Elephant Outfit*/ +/*Page 4*/ +('1053024', '3200', 'Overall 5'), /*Flower Dancer's Dress*/ +('1053025', '3800', 'Overall 5'), /*Moon Dancer's Attire*/ +('1053028', '8800', 'Overall 5'), /*Baby Binkie Spacesuit*/ + + +('1053033', '6300', 'Overall 5'), /*Damien Coat*/ +('1053034', '5600', 'Overall 5'), /*Alicia Dress*/ +('1053035', '3400', 'Overall 5'), /*Oversized Shirt*/ +('1053038', '6000', 'Overall 5'), /*Singles Army Combat Armor*/ +/*Page 5*/ +('1053039', '3200', 'Overall 5'), /*Couples Army Combat Armor*/ +('1053082', '8800', 'Overall 5'), /*Oversized Beach Gown*/ +('1053083', '7100', 'Overall 5'), /*Super Miracle Cube Outfit*/ +('1053084', '7100', 'Overall 5'), /*Violet Cube Outfit*/ +('1053085', '3600', 'Overall 5'), /*Black Cube Outfit*/ +('1053086', '3400', 'Overall 5'), /*Kamaitachi Outfit*/ +('1053087', '7600', 'Overall 5'), /*Formal Brown Shorts*/ +('1053056', '5600', 'Overall 5'), /*Blaster Outfit (M)*/ +('1053057', '7400', 'Overall 5'), /*Blaster Outfit (F)*/ +/*Page 6*/ +('1053058', '5600', 'Overall 5'), /*Sky-blue Overalls*/ +('1053059', '7100', 'Overall 5'), /*Villain's Cool Tights (Outfit)*/ +('1053060', '6400', 'Overall 5'), /*Colorful Bikini*/ +('1053061', '5200', 'Overall 5'), /*Colorful Beach Pants*/ + +('1053068', '6000', 'Overall 5'), /*Lake Monster Invincible Armor*/ +('1053069', '6400', 'Overall 5'), /*Kitty Bell*/ +('1053104', '7600', 'Overall 5'), /*Emilia Overall Outfit*/ +('1053105', '3400', 'Overall 5'), /*Subaru's Track Suit*/ +/*Page 7*/ +('1053106', '6400', 'Overall 5'), /*Felt Overall Outfit*/ +('1053107', '3600', 'Overall 5'), /*Priscilla's Dress*/ +('1053108', '7100', 'Overall 5'), /*Vampire Phantom Suit*/ +('1053109', '5000', 'Overall 5'), /*Winter Bunny Coat (Teal)*/ +('1053110', '3600', 'Overall 5'), /*Winter Bunny Coat (Pink)*/ +('1053114', '4900', 'Overall 5'), /*Alicorn Costume*/ +('1053115', '5000', 'Overall 5'), /*Egg Outfit*/ +('1053116', '7400', 'Overall 5'), /*Cat Monster Outfit*/ +('1053117', '6400', 'Overall 5'), /*Love Tree Outfit*/ +/*Page 8*/ +('1053118', '3600', 'Overall 5'), /*Festive Lovers Outfit (M)*/ +('1053119', '3600', 'Overall 5'), /*Festive Lovers Outfit (F)*/ +('1053088', '3400', 'Overall 5'), /*Formal Brown Skirt*/ +('1053089', '6300', 'Overall 5'), /*Moon Bunny Outfit (M)*/ +('1053090', '7100', 'Overall 5'), /*Moon Bunny Outfit (F)*/ +('1053091', '5600', 'Overall 5'), /*Dark Musician Coat*/ +('1053092', '7100', 'Overall 5'), /*Chained Princess Coat*/ +('1053093', '5200', 'Overall 5'), /*Halloween Festival Costume (M)*/ +('1053094', '7100', 'Overall 5'), /*Halloween Festival Costume (F)*/ +/*Page 9*/ +('1053095', '6000', 'Overall 5'), /*Bichon Outfit*/ +('1053096', '7600', 'Overall 5'), /*Roundy Round Fairy Outfit*/ +('1053097', '4900', 'Overall 5'), /*Sweet Penguin Doll Outfit*/ +('1053098', '8800', 'Overall 5'), /*Fresh Penguin Doll Outfit*/ +('1053099', '3200', 'Overall 5'), /*Flutter Flower Knit*/ +('1053102', '5600', 'Overall 5'), /*우리네 멜빵바지*/ +('1053103', '3200', 'Overall 5'), /*Red Cube Outfit*/ +('1053138', '3200', 'Overall 5'), /*Nova Enchanter Clothes*/ +('1053141', '5000', 'Overall 5'), /*Spring Fairy Outfit*/ +/*Page 10*/ +('1053142', '5600', 'Overall 5'), /*Rocket Outfit*/ +('1053144', '6000', 'Overall 5'), /*Cape Uniform (M)*/ +('1053145', '8800', 'Overall 5'), /*Cape Uniform (F)*/ +('1053146', '7600', 'Overall 5'), /*Heart Fur Coat*/ +('1053147', '6300', 'Overall 5'), /*White M-Forcer*/ +('1053148', '5200', 'Overall 5'), /*Ladybug Clothes*/ +('1053120', '7600', 'Overall 5'), /*Fried Chicken God's Garb (M)*/ +('1053121', '3400', 'Overall 5'), /*Fried Chicken God's Garb (F)*/ +('1053124', '3200', 'Overall 5'), /*Snow Moon Flower Outfit*/ +/*Page 11*/ +('1053125', '6300', 'Overall 5'), /*White Night Outfit*/ +('1053126', '5200', 'Overall 5'), /*Polka Dot Heart Dress (F)*/ +('1053127', '5000', 'Overall 5'), /*Heart Jumpsuit (M)*/ +('1053130', '3800', 'Overall 5'), /*Polar Explorer Winter Clothes*/ +('1053131', '5000', 'Overall 5'), /*Sweet Chocolate Dessert Suit*/ +('1053132', '7400', 'Overall 5'), /*Sweet Fresh Cream Dessert Dress*/ +('1053133', '3200', 'Overall 5'), /*Yellow Chick Clothes (M)*/ +('1053134', '7100', 'Overall 5'), /*Yellow Chick Clothes (F)*/ +('1053168', '5200', 'Overall 5'), /*Aspire Uniform*/ +/*Page 12*/ +('1053169', '4700', 'Overall 5'), /*Aster's Bon Bon Ribbon*/ +('1053170', '3800', 'Overall 5'), /*Rhea's Classical Dream*/ +('1053171', '3600', 'Overall 5'), /*Kat's Magic Kit*/ +('1053172', '3800', 'Overall 5'), /*Anastasia's Royal Serenade*/ +('1053173', '3600', 'Overall 5'), /*Roxxy's Full Moon Rhapsody*/ +('1053174', '6400', 'Overall 5'), /*Apollo's Steampunk Look*/ +('1053175', '3400', 'Overall 5'), /*Jax's Sonata Tuxedo*/ +('1053176', '6300', 'Overall 5'), /*Sarim's Midnight Show*/ +('1053177', '6400', 'Overall 5'), /*Detective Suit*/ +/*Page 13*/ +('1053180', '7600', 'Overall 5'), /*Dango Set Outfit*/ +('1053183', '5200', 'Overall 5'), /*Iron Mace Uniform Outfit (M)*/ +('1053155', '8800', 'Overall 5'), /*Silver Flower Child Outfit (F)*/ +('1053156', '4000', 'Overall 5'), /*Silver Flower Child Outfit (M)*/ +('1053157', '4900', 'Overall 5'), /*Pandora Outfit*/ +('1053158', '6000', 'Overall 5'), /*Eastern Inspiration*/ +('1053159', '6400', 'Overall 5'), /*Starlit Dreams Robe*/ +('1053162', '3800', 'Overall 5'), /*Pop Star Long Coat (F)*/ +('1053163', '5200', 'Overall 5'), /*Pop Star Long Coat (M)*/ +/*Page 14*/ +('1053164', '7100', 'Overall 5'), /*Foxy Teacher Outfit*/ +('1053165', '7600', 'Overall 5'), /*Froggy Raincoat*/ +('1053166', '6400', 'Overall 5'), /*Elizabethan Dress*/ +('1053167', '8800', 'Overall 5'), /*Napoleonic Uniform*/ +('1053200', '7400', 'Overall 5'), /*Watermelon Overalls (M)*/ +('1053201', '5200', 'Overall 5'), /*Simple Swimsuit (F)*/ +('1053202', '8800', 'Overall 5'), /*Simple Swimsuit (M)*/ +('1053203', '6400', 'Overall 5'), /*Watermelon Splash Suit*/ +('1053205', '7400', 'Overall 5'), /*Black and White Heart Outfit*/ +/*Page 15*/ +('1053207', '4700', 'Overall 5'), /*Loose-fit Flower Print Shirt*/ +('1053208', '4900', 'Overall 5'), /*Refreshing Lemon Outfit*/ +('1053209', '6400', 'Overall 5'), /*Summer Flower Fairy Outfit (F)*/ +('1053210', '7400', 'Overall 5'), /*Summer Flower Fairy Outfit (M)*/ +('1053215', '6000', 'Overall 5'), /*Mellow Dino Gown*/ +('1053184', '3800', 'Overall 5'), /*Iron Mace Uniform Outfit (F)*/ +('1053186', '3600', 'Overall 5'), /*Pink Elephant Outfit*/ +('1053187', '6400', 'Overall 5'), /*Maple Galaxy Space Suit*/ +('1053192', '6300', 'Overall 5'), /*Carrot Julius Overalls*/ +/*Page 16*/ +('1053194', '5200', 'Overall 5'), /*Summer Off-the-shoulder Outfit*/ +('1053195', '3600', 'Overall 5'), /*Forest Breeze Nightgown*/ +('1053196', '7600', 'Overall 5'), /*Forest Breeze Vest*/ +('1053197', '5600', 'Overall 5'), /*Red Striped Swimsuit*/ +('1053198', '8800', 'Overall 5'), /*Blue Striped Swimsuit*/ +('1053199', '4700', 'Overall 5'), /*Watermelon Dress (F)*/ +('1053232', '6000', 'Overall 5'), /*Sensible Denim Outfit (M)*/ +('1053234', '5200', 'Overall 5'), /*Ryude Robe*/ +('1053239', '6400', 'Overall 5'), /*Aspiring Aubergine*/ +/*Page 17*/ +('1053240', '3800', 'Overall 5'), /*Leafy*/ +('1053241', '7100', 'Overall 5'), /*Pea Pod*/ +('1053242', '7600', 'Overall 5'), /*Meow Outfit*/ +('1053243', '5200', 'Overall 5'), /*Christmas Bunny Outfit (F)*/ +('1053244', '3400', 'Overall 5'), /*Christmas Bunny Outfit (M)*/ +('1053245', '4700', 'Overall 5'), /*Warm Pink Bear Outfit*/ +('1053246', '7400', 'Overall 5'), /*Warm Blue Bear Outfit*/ +('1053247', '5200', 'Overall 5'), /*Fall Oversized Jacket*/ +('1053216', '3200', 'Overall 5'), /*Sunny Dino Gown*/ +/*Page 18*/ +('1053217', '6400', 'Overall 5'), /*Rabble Rouser Outfit (F)*/ +('1053218', '6400', 'Overall 5'), /*Rabble Rouser Outfit (M)*/ +('1053219', '4000', 'Overall 5'), /*Feather Messenger Outfit (F)*/ +('1053220', '5000', 'Overall 5'), /*Feather Messenger Outfit (M)*/ +('1053221', '6000', 'Overall 5'), /*Falling Darkness Outfit (F)*/ +('1053222', '3200', 'Overall 5'), /*Falling Darkness Outfit (M)*/ +('1053225', '7100', 'Overall 5'), /*Puppy Love Samurai Outfit (F)*/ +('1053226', '7600', 'Overall 5'), /*Puppy Love Samurai Outfit (M)*/ +('1053227', '5000', 'Overall 5'), /*Shadow Tactician Outfit*/ +/*Page 19*/ +('1053228', '7600', 'Overall 5'), /*Cat Cafe Outfit (F)*/ +('1053229', '8800', 'Overall 5'), /*Cat Cafe Outfit (M)*/ +('1053230', '3800', 'Overall 5'), /*Apple Bunny Shirt*/ +('1053231', '8800', 'Overall 5'), /*Sensible Denim Outfit (F)*/ +('1053264', '4000', 'Overall 5'), /*Paper Box*/ +('1053265', '3200', 'Overall 5'), /*Worn Ghost Suit*/ +('1053266', '5000', 'Overall 5'), /*Worn Witch Outfit*/ +('1053267', '4000', 'Overall 5'), /*Worn Skull Outfit*/ +('1053268', '5600', 'Overall 5'), /*아틀리에 비서로이드 근무복*/ +/*Page 20*/ +('1053269', '8800', 'Overall 5'), /*Adam's Aspire Personal Assistant Suit*/ +('1053270', '3800', 'Overall 5'), /*Eve's Aspire Personal Assistant Dress*/ +('1053277', '6400', 'Overall 5'), /*EVA Android Longcoat*/ +('1053278', '5000', 'Overall 5'), /*Asuka Plugsuit*/ +('1053279', '7400', 'Overall 5'), /*Rei Plugsuit*/ +('1053250', '5600', 'Overall 5'), /*Busy Girl Penguin Outfit*/ +('1053251', '6000', 'Overall 5'), /*Busy Boy Penguin Outfit*/ +('1053252', '4900', 'Overall 5'), /*Fried Suit*/ +('1053253', '7100', 'Overall 5'), /*Cadena Agent Suit (F)*/ +/*Page 21*/ +('1053254', '7600', 'Overall 5'), /*Cadena Agent Suit (M)*/ +('1053255', '3600', 'Overall 5'), /*Winter Fantasy Cape*/ +('1053256', '7600', 'Overall 5'), /*Snowy Mountain Outfit*/ +('1053257', '3800', 'Overall 5'), /*Doll's Nightwear*/ +('1053258', '7600', 'Overall 5'), /*Beware the Pumpkin*/ +('1053259', '7400', 'Overall 5'), /*Ghost Costume*/ +('1053260', '7100', 'Overall 5'), /*Blue Jiangshi Costume*/ +('1053261', '5200', 'Overall 5'), /*Angel Costume*/ +('1053262', '8800', 'Overall 5'), /*Tiger Cub Costume*/ +/*Page 22*/ +('1053263', '6400', 'Overall 5'), /*Cow Costume*/ +('1053296', '8800', 'Overall 5'), /*Pink Bear Winter Padded Coat*/ +('1053301', '5200', 'Overall 5'), /*Homeless Cat Outfit*/ +('1053302', '5600', 'Overall 5'), /*Green Hipster Track Suit*/ +('1053303', '3800', 'Overall 5'), /*Yellow Hipster Track Suit*/ +('1053304', '7600', 'Overall 5'), /*Pink Hipster Track Suit*/ +('1053305', '7400', 'Overall 5'), /*Raindrop Raincoat*/ +('1053306', '3600', 'Overall 5'), /*Super Summer Outfit (F)*/ +('1053307', '3600', 'Overall 5'), /*Super Summer Outfit (M)*/ +/*Page 23*/ +('1053308', '8800', 'Overall 5'), /*Ark Outfit (F)*/ +('1053309', '5600', 'Overall 5'), /*Ark Outfit (M)*/ +('1053310', '5000', 'Overall 5'), /*Draped Clothes*/ +('1053280', '5200', 'Overall 5'), /*Lunar New Year VIP Outfit (F)*/ +('1053281', '6000', 'Overall 5'), /*Lunar New Year VIP Outfit (M)*/ +('1053282', '6300', 'Overall 5'), /*Royal Guard Outfit (F)*/ +('1053283', '5200', 'Overall 5'), /*Royal Guard Outfit (M)*/ +('1053285', '5600', 'Overall 5'), /*Red Bear Winter Padded Coat*/ +('1053286', '3600', 'Overall 5'), /*World of Pink Outfit (M)*/ +/*Page 24*/ +('1053287', '7100', 'Overall 5'), /*World of Pink Outfit (F)*/ +('1053288', '3800', 'Overall 5'), /*Butterfly Outfit (M)*/ +('1053289', '7400', 'Overall 5'), /*Butterfly Outfit (F)*/ +('1053290', '5600', 'Overall 5'), /*Boyfriend Outfit (M)*/ +('1053291', '3800', 'Overall 5'), /*Girlfriend Outfit (F)*/ +('1053292', '5600', 'Overall 5'), /*Oversized Floral Shirt*/ +('1053293', '7400', 'Overall 5'), /*Valentine's Outfit (M)*/ +('1053294', '8800', 'Overall 5'), /*Valentine's Outfit (F)*/ +('1053295', '7400', 'Overall 5'), /*Alchemist Cloth*/ +/*Page 25*/ +('1053328', '6000', 'Overall 5'), /*Innocent Outfit*/ +('1053329', '4700', 'Overall 5'), /*Summer Story Outfit Package (F)*/ +('1053330', '3600', 'Overall 5'), /*Summer Story Outfit Package (M)*/ +('1053335', '3200', 'Overall 5'), /*Crispy Carrot Duds*/ +('1053336', '5000', 'Overall 5'), /*Catkerchief Doll Outfit*/ +('1053338', '4700', 'Overall 5'), /*Traditional Thai Attire Outfit (F)*/ +('1053339', '4000', 'Overall 5'), /*Traditional Thai Attire Outfit (M)*/ +('1053343', '6400', 'Overall 5'), /*Maple Alliance Suit*/ +('1053314', '5000', 'Overall 5'), /*Maple Gumshoe's Coat*/ +/*Page 26*/ +('1053315', '3200', 'Overall 5'), /*Jailbird Uniform*/ +('1053316', '5000', 'Overall 5'), /*Happy Ghost Outfit (F)*/ +('1053317', '6300', 'Overall 5'), /*Happy Ghost Outfit (M)*/ +('1053318', '5000', 'Overall 5'), /*Erda Outfit*/ +('1053321', '7400', 'Overall 5'), /*Kero-chan Bodysuit*/ +('1053322', '4700', 'Overall 5'), /*Sakura Battle Costume Outfit*/ +('1053323', '7600', 'Overall 5'), /*Syaoran Battle Costume Outfit*/ +('1053324', '5200', 'Overall 5'), /*Tomoeda Middle School Female Winter Uniform*/ +('1053325', '4700', 'Overall 5'), /*Tomoeda Middle School Male Winter Uniform*/ +/*Page 27*/ +('1053363', '7400', 'Overall 5'), /*Cluckbottom*/ +('1053364', '3400', 'Overall 5'), /*Tri-color Outfit (F)*/ +('1053365', '5600', 'Overall 5'), /*Tri-color Outfit (M)*/ +('1053366', '7600', 'Overall 5'), /*Sweet Deer Outfit*/ +('1053367', '7600', 'Overall 5'), /*Little Star Cocoon Outfit*/ +('1053371', '4000', 'Overall 5'), /*Cozy Winter Clothes Outfit (F)*/ +('1053372', '6000', 'Overall 5'), /*Cozy Winter Clothes Outfit (M)*/ +('1053373', '7100', 'Overall 5'), /*Regal Romance Outfit (F)*/ +('1053374', '5000', 'Overall 5'), /*Regal Romance Outfit (M)*/ +/*Page 28*/ +('1053375', '3800', 'Overall 5'), /*Blue Flame Magician Robe*/ +('1053344', '3400', 'Overall 5'), /*Starry Summer Night Outfit (F) */ +('1053345', '6300', 'Overall 5'), /*Starry Summer Night Outfit (M) */ +('1053346', '3800', 'Overall 5'), /*Reaper's Robe*/ +('1053347', '5000', 'Overall 5'), /*Alliance Commander Suit*/ +('1053351', '7100', 'Overall 5'), /*Cutie Pie Coat*/ +('1053352', '6400', 'Overall 5'), /*Veritas Attire*/ +('1053353', '5600', 'Overall 5'), /*Heavenly Prayer Outfit (F) */ +('1053354', '4000', 'Overall 5'), /*Heavenly Prayer Outfit (M) */ +/*Page 29*/ +('1053355', '5000', 'Overall 5'), /*Delinquent Bear Outfit*/ +('1053356', '8800', 'Overall 5'), /*Happy Bear Outfit (F)*/ +('1053357', '5600', 'Overall 5'), /*Happy Bear Outfit (M)*/ + + + +/*Page 1*/ +('1053393', '7100', 'Overall 6'), /*Snowman Costume*/ +('1053397', '7400', 'Overall 6'), /*Spring Cleaning Coveralls*/ +('1053398', '4700', 'Overall 6'), /*Spring Chicky Sportswear*/ +('1053399', '4000', 'Overall 6'), /*Sugarsweet Candy Boy Outfit (M)*/ +('1053400', '3200', 'Overall 6'), /*Sugarsweet Candy Girl Outfit (F)*/ +('1053401', '3600', 'Overall 6'), /*Spring Ducky Raincoat*/ +('1053403', '7100', 'Overall 6'), /*CONY Onesie*/ +('1053404', '3400', 'Overall 6'), /*Cursed Hunter Suit*/ +('1053405', '4700', 'Overall 6'), /*LEONARD Onesie*/ +/*Page 2*/ +('1053406', '6400', 'Overall 6'), /*SALLY Onesie*/ +('1053376', '6400', 'Overall 6'), /*Crown Fitness Track Suit*/ +('1053377', '6400', 'Overall 6'), /*Frilly Pink Pajamas (F)*/ +('1053378', '4000', 'Overall 6'), /*Silly Blue Pajamas (M)*/ +('1053379', '5600', 'Overall 6'), /*Cobalt Filigree Outfit (F)*/ +('1053380', '6400', 'Overall 6'), /*Cobalt Filigree Outfit (M)*/ +('1053381', '6300', 'Overall 6'), /*Lunar New Year Pudgy Piggy Outfit (F)*/ +('1053382', '6400', 'Overall 6'), /*Lunar New Year Pudgy Piggy Outfit (M)*/ +('1053383', '7400', 'Overall 6'), /*Sweet Shipmate Uniform (F)*/ +/*Page 3*/ +('1053384', '5000', 'Overall 6'), /*Sweet Shipmate Uniform (M)*/ +('1053385', '7400', 'Overall 6'), /*Outsized Sailor Coat (Brown & Black)*/ +('1053386', '6400', 'Overall 6'), /*Outsized Sailor Coat (Black & Ivory)*/ +('1053387', '7600', 'Overall 6'), /*Outsized Sailor Coat (Navy & White)*/ +('1053388', '6000', 'Overall 6'), /*Outsized Sailor Coat (White & Purple)*/ +('1053389', '7400', 'Overall 6'), /*Outsized Sailor Coat (White & Red)*/ +('1053390', '6300', 'Overall 6'), /*Hunny Bun Bear Onesie*/ +('1053391', '3600', 'Overall 6'), /*Reindeer Suit*/ +('1053424', '3600', 'Overall 6'), /*Starry Light Suit*/ +/*Page 4*/ +('1053434', '5200', 'Overall 6'), /*Fox Fire Shirt*/ +('1053411', '4000', 'Overall 6'), /*Springtime Boho Tunic*/ +('1053412', '4900', 'Overall 6'), /*Sunny Songbird Outfit (M)*/ +('1053413', '7100', 'Overall 6'), /*Sunny Songbird Outfit (F)*/ +('1053414', '8800', 'Overall 6'), /*Midnight Magician Outfit (M)*/ +('1053415', '4000', 'Overall 6'), /*Midnight Magician Outfit (F)*/ +('1053420', '5200', 'Overall 6'), /*Bunny Ear Outfit*/ +('1053421', '7400', 'Overall 6'), /*Bunny Ear Outfit*/ +('1053422', '4000', 'Overall 6'), /*Blue Flame Hellion Outfit*/ +/*Page 5*/ +('1053423', '7600', 'Overall 6'), /*Starry Light Gown*/ +('1053441', '3800', 'Overall 6'), /*Red Lotus Spirit Walker's Attire*/ + + + + + +/* Top */ +/*Page 1*/ +('1049000', '3600', 'Top'), /*Friendship Shirt*/ +('1040005', '4900', 'Top'), /*Orange Baseball Jacket*/ +('1040001', '3400', 'Top'), /*Black Blazer*/ +('1040027', '5000', 'Top'), /*Old School Blazer*/ +('1040047', '3400', 'Top'), /*Dark Rider*/ +('1040046', '3400', 'Top'), /*Shine Rider*/ +('1040045', '4900', 'Top'), /*Red Rider*/ +('1040056', '3600', 'Top'), /*Original Disco Shirt*/ +('1040055', '4900', 'Top'), /*Orange Disco Shirt*/ +/*Page 2*/ +('1040054', '6300', 'Top'), /*Green Disco Shirt*/ +('1040053', '5600', 'Top'), /*Orange Striped Trainer*/ +('1040052', '4000', 'Top'), /*Green Striped Trainer*/ +('1040051', '8800', 'Top'), /*Blue Striped Trainer*/ +('1040078', '3200', 'Top'), /*Pre-School Uniform Top*/ +('1040077', '5600', 'Top'), /*Cowboy Top*/ +('1040066', '4900', 'Top'), /*Red Wild Top*/ +('1040065', '4000', 'Top'), /*Brown Wild Top*/ +('1040064', '5200', 'Top'), /*Wild Top*/ +/*Page 3*/ +('1040101', '3200', 'Top'), /*Skull T-Shirt*/ +('1040127', '4700', 'Top'), /*Blue Heart Tanktop*/ +('1040126', '4000', 'Top'), /*Yellow Frill Sleeveless*/ +('1040125', '3800', 'Top'), /*Military Cargo Jacket*/ +('1040124', '6000', 'Top'), /*Crusader T-Shirt*/ +('1040123', '5000', 'Top'), /*Prep School Uniform*/ +('1040119', '4900', 'Top'), /*Ragged Top*/ +('1040114', '5600', 'Top'), /*Hawaiian Shirt*/ +('1040143', '6000', 'Top'), /*Pink Top*/ +/*Page 4*/ +('1040141', '4000', 'Top'), /*Blue Sailor Shirt*/ +('1040140', '4000', 'Top'), /*Pink Mimi Blouse*/ +('1040139', '6400', 'Top'), /*Island Beads (M)*/ +('1040138', '8800', 'Top'), /*Mercury Leather Jacket (M)*/ +('1040137', '3200', 'Top'), /*Tania Tailored Jacket*/ +('1040135', '7100', 'Top'), /*Muscle Man T*/ +('1040134', '5200', 'Top'), /*Orange Puffy Jacket*/ +('1040133', '4900', 'Top'), /*Long Blue Shirt*/ +('1040132', '4700', 'Top'), /*Palm Tree Tanktop*/ +/*Page 5*/ +('1040131', '8800', 'Top'), /*Pink Tie Casual Suit*/ +('1040130', '4700', 'Top'), /*Green Tie Casual Suit*/ +('1040129', '6300', 'Top'), /*Red Casual Suit*/ +('1040128', '3400', 'Top'), /*Blue Line Tanktop*/ +('1040154', '8800', 'Top'), /*Pre-School Top*/ +('1040148', '3200', 'Top'), /*Retro School Uniform Jacket*/ +('1040144', '3800', 'Top'), /*Bulletproof Vest*/ +('1040191', '4000', 'Top'), /*[MS Custom] Orange Disco Shirt*/ +('1040190', '6400', 'Top'), /*[MS Custom] Orange Striped Trainer*/ +/*Page 6*/ +('1040186', '6400', 'Top'), /*Cowboy Shirt*/ +('1040197', '3600', 'Top'), /*Lalala Sleeveless Shirt*/ +('1040196', '5000', 'Top'), /*Smile Seed Top*/ +('1040195', '3400', 'Top'), /*Sleeveless Purple Mustache Shirt (M)*/ +('1040194', '6400', 'Top'), /*Guys Pineapple Tank top*/ +('1040193', '8800', 'Top'), /*RED T-shirt*/ +('1040192', '3600', 'Top'), /*Green Bunny T-Shirt*/ +('1041005', '3600', 'Top'), /*Pink Mimi Blouse*/ +('1041001', '4700', 'Top'), /*Blue Sailor Shirt*/ +/*Page 7*/ +('1041000', '4700', 'Top'), /*Blue Frill Blouse*/ +('1041009', '8800', 'Top'), /*Red Sailor Shirt*/ +('1041071', '5600', 'Top'), /*Yellow Mimi Blouse*/ +('1041070', '3400', 'Top'), /*Sky Blue Mimi Blouse*/ +('1041073', '5200', 'Top'), /*Pre-School Uniform Top*/ +('1041072', '6000', 'Top'), /*Cowboy Top*/ +('1041090', '3600', 'Top'), /*Pink Top*/ +('1041114', '4900', 'Top'), /*Hawaiian Shirt*/ +('1041113', '5000', 'Top'), /*Pink Frill Pajama Top*/ +/*Page 8*/ +('1041112', '6000', 'Top'), /*Black Trainer Jacket*/ +('1041111', '3600', 'Top'), /*Pink Trainer Jacket*/ +('1041110', '7600', 'Top'), /*Sky Blue Trainer Jacket*/ +('1041109', '4700', 'Top'), /*Red Trainer Jacket*/ +('1041108', '6000', 'Top'), /*SF Ninja Top*/ +('1041104', '4900', 'Top'), /*Old School Uniform Top*/ +('1041135', '5000', 'Top'), /*Tube-Top Jacket*/ +('1041134', '8800', 'Top'), /*Angora Mustang*/ +('1041133', '5000', 'Top'), /*Grey Cardigan*/ +/*Page 9*/ +('1041132', '4000', 'Top'), /*Pink Frill Camisole*/ +('1041131', '6400', 'Top'), /*Pink Ribboned Janie*/ +('1041130', '3800', 'Top'), /*Blue Frill Camisole*/ +('1041129', '5600', 'Top'), /*Yellow Frill Camisole*/ +('1041128', '6300', 'Top'), /*Cross Sleeveless*/ +('1041127', '7600', 'Top'), /*Heart Sleeveless*/ +('1041126', '7600', 'Top'), /*Skull T-Shirt*/ +('1041125', '3600', 'Top'), /*Rainbow Knit*/ +('1041147', '8800', 'Top'), /*Muscle Man*/ +/*Page 10*/ +('1041146', '3200', 'Top'), /*Old School Blazer [F]*/ +('1041144', '7100', 'Top'), /*Retro School Uniform Jacket*/ +('1041143', '6000', 'Top'), /*Green Tie Casual Suit*/ +('1041142', '6400', 'Top'), /*Ribbon Frilled top*/ +('1041140', '6400', 'Top'), /*Island Beads (F)*/ +('1041139', '5200', 'Top'), /*Mercury Leather Jacket (F)*/ +('1041138', '6000', 'Top'), /*Tania Bolero*/ +('1041137', '5600', 'Top'), /*Pink-Dotted Top*/ +('1041136', '3400', 'Top'), /*Pink Vest Blouse*/ +/*Page 11*/ +('1041156', '7600', 'Top'), /*Pre-School Top*/ +('1041199', '6000', 'Top'), /*Lalala Pink T-shirt*/ +('1041198', '8800', 'Top'), /*Smile Seed Top*/ +('1041197', '7400', 'Top'), /*Pink Mustache T-Shirt (F)*/ +('1041196', '3600', 'Top'), /*Girls Pineapple Tank top*/ +('1041195', '4700', 'Top'), /*RED T-shirt*/ +('1041194', '6300', 'Top'), /*Pink Bunny T-Shirt*/ +('1041193', '3200', 'Top'), /*Tania Tailored Jacket*/ +('1041189', '5200', 'Top'), /*Cowgirl Shirt*/ +/*Page 12*/ +('1042015', '7400', 'Top'), /*Blue Layered Combo*/ +('1042014', '7600', 'Top'), /*Yellow Layered Combo*/ +('1042013', '8800', 'Top'), /*Green Snowboard Top*/ +('1042012', '6000', 'Top'), /*Yellow Snowboard Top*/ +('1042011', '7100', 'Top'), /*Wildcats Baseball Shirt (Alternate)*/ +('1042010', '5600', 'Top'), /*Baseball Shirt (Away)*/ +('1042009', '3400', 'Top'), /*Baseball Shirt (Home)*/ +('1042008', '5000', 'Top'), /*Wildcats Baseball Shirt (Basic)*/ +('1042007', '7400', 'Top'), /*Blue Camping Shirt*/ +/*Page 13*/ +('1042006', '3400', 'Top'), /*Green Camping Shirt*/ +('1042005', '6400', 'Top'), /*Pink Camping Shirt*/ +('1042004', '4900', 'Top'), /*Pink Hooded Vest*/ +('1042002', '5000', 'Top'), /*Red Hooded Vest*/ +('1042001', '8800', 'Top'), /*Black Hooded Vest*/ +('1042000', '7100', 'Top'), /*Orange Hooded Vest*/ +('1042031', '3800', 'Top'), /*Orange Mushroom T-Shirt*/ +('1042030', '3600', 'Top'), /*Slime T-Shirt*/ +('1042029', '6000', 'Top'), /*Octopus T-Shirt*/ +/*Page 14*/ +('1042028', '6400', 'Top'), /*Orange B-Ball Jersey*/ +('1042027', '8800', 'Top'), /*Blue B-Ball Jersey*/ +('1042026', '7400', 'Top'), /*Flowery Dress Shirt*/ +('1042025', '6300', 'Top'), /*Prisoner Top*/ +('1042024', '3200', 'Top'), /*Red Polka-Dot Pajama Top*/ +('1042023', '3600', 'Top'), /*Blue Polka-Dot Pajama Top*/ +('1042022', '5600', 'Top'), /*Camouflaged Uniform*/ +('1042021', '4900', 'Top'), /*Starry Layered Combo*/ +('1042020', '6000', 'Top'), /*Old Military Uniform*/ +/*Page 15*/ +('1042019', '3600', 'Top'), /*M Layered T-Shirt*/ +('1042018', '6400', 'Top'), /*Red T-Shirt w/ Heart*/ +('1042017', '6400', 'Top'), /*Sky Blue Snowboard Top*/ +('1042016', '6000', 'Top'), /*Pink Snowboard Top*/ +('1042047', '5600', 'Top'), /*Star-Patterned Yellow Shirt*/ +('1042046', '4900', 'Top'), /*White Casual Suit*/ +('1042045', '3800', 'Top'), /*Bowling Shirt*/ +('1042044', '5600', 'Top'), /*Pink Striped Rugby Tee*/ +('1042043', '6000', 'Top'), /*Green Striped Rugby Tee*/ +/*Page 16*/ +('1042042', '3400', 'Top'), /*White Hooded Vest*/ +('1042041', '4700', 'Top'), /*Black Allstar*/ +('1042040', '5000', 'Top'), /*Pink Allstar*/ +('1042039', '3200', 'Top'), /*Sky Blue Allstar*/ +('1042038', '3400', 'Top'), /*Red Sweater*/ +('1042037', '7600', 'Top'), /*Snowman Padded Jacket*/ +('1042036', '8800', 'Top'), /*Christmas Padded Jacket*/ +('1042035', '3600', 'Top'), /*Red Double-Coat*/ +('1042034', '7600', 'Top'), /*Green Double-Coat*/ +/*Page 17*/ +('1042033', '5600', 'Top'), /*Beige Double-Coat*/ +('1042032', '5000', 'Top'), /*Beetle Longsleeve*/ +('1042063', '6400', 'Top'), /*Red Turtleneck Sweater*/ +('1042062', '6000', 'Top'), /*Stitched Leather Jacket*/ +('1042061', '7600', 'Top'), /*Ball Zone Jumper*/ +('1042060', '6300', 'Top'), /*Pola Sweater*/ +('1042059', '3800', 'Top'), /*Preppy Red and White*/ +('1042058', '6400', 'Top'), /*Red Half*/ +('1042056', '3400', 'Top'), /*Beat Shirt*/ +/*Page 18*/ +('1042055', '5200', 'Top'), /*Pink Down Parka*/ +('1042054', '3600', 'Top'), /*Pink Wool Jacket*/ +('1042053', '5000', 'Top'), /*Blue Wool Jacket*/ +('1042052', '3600', 'Top'), /*Blue Down Parka*/ +('1042051', '4700', 'Top'), /*Bomber Jacket*/ +('1042050', '6000', 'Top'), /*Baseball Jumper*/ +('1042049', '3600', 'Top'), /*Short Denim Jacket*/ +('1042048', '3800', 'Top'), /*Purple Star Shirt*/ +('1042078', '5200', 'Top'), /*White & Blue Sailor Top*/ +/*Page 19*/ +('1042077', '5600', 'Top'), /*Rainbow T*/ +('1042076', '4000', 'Top'), /*Dotted Disco Shirt*/ +('1042075', '5000', 'Top'), /*Pink Pluto T*/ +('1042074', '8800', 'Top'), /*White Longsleeve With Star*/ +('1042073', '7100', 'Top'), /*Navy Blue Dress Shirt*/ +('1042072', '6000', 'Top'), /*Red Layered Hooded Shirt*/ +('1042071', '8800', 'Top'), /*Pastel Layered Hooded Shirt*/ +('1042070', '4700', 'Top'), /*Sky Blue Big-Belt Shirt*/ +('1042069', '8800', 'Top'), /*Pink Big-Belt Shirt*/ +/*Page 20*/ +('1042068', '6400', 'Top'), /*Drill Muffler*/ +('1042067', '3800', 'Top'), /*Orange Hooded Zip-Up*/ +('1042066', '6400', 'Top'), /*Orange Hooded Shirt*/ +('1042065', '5200', 'Top'), /*Football Top (Away)*/ +('1042064', '4000', 'Top'), /*Football Jersey (Home)*/ +('1042095', '3800', 'Top'), /*Vintage Hooded Shirt*/ +('1042094', '7400', 'Top'), /*Orange Snowflake Sweater*/ +('1042093', '6300', 'Top'), /*Pointed Double Coat*/ +('1042092', '3400', 'Top'), /*Pelvis Hoodie*/ +/*Page 21*/ +('1042091', '6400', 'Top'), /*Pink Skull Hooded Vest*/ +('1042090', '4700', 'Top'), /*Red Skull Hooded Vest*/ +('1042089', '6400', 'Top'), /*Blue Skull Hooded Vest*/ +('1042088', '4700', 'Top'), /*Black Skull Hooded Vest*/ +('1042087', '4700', 'Top'), /*Skull Shirt*/ +('1042086', '6300', 'Top'), /*Tourist T*/ +('1042085', '8800', 'Top'), /*Canary Heart T*/ +('1042084', '3800', 'Top'), /*Army General Hoodie*/ +('1042083', '4900', 'Top'), /*Rainbow Hooded Pancho*/ +/*Page 22*/ +('1042082', '5000', 'Top'), /*Black Cardigan Set*/ +('1042081', '6300', 'Top'), /*Cherry Layered T*/ +('1042080', '3200', 'Top'), /*Red Hot Racer T*/ +('1042110', '7400', 'Top'), /*Red Hooded Coat*/ +('1042109', '4700', 'Top'), /*Yellow & Red-Striped Jacket*/ +('1042108', '3800', 'Top'), /*Purple Tank*/ +('1042107', '7600', 'Top'), /*Pink Flower T-shirt*/ +('1042106', '3400', 'Top'), /*Rainbow-Striped Hoodie*/ +('1042105', '4700', 'Top'), /*Crown Hooded T*/ +/*Page 23*/ +('1042104', '3600', 'Top'), /*Lime Green Sleeveless*/ +('1042103', '3600', 'Top'), /*White Outlaw Shirt*/ +('1042102', '5600', 'Top'), /*Aqua Road T*/ +('1042101', '3400', 'Top'), /*Blanc Rose Top*/ +('1042100', '4000', 'Top'), /*Checkered Casual Suit*/ +('1042099', '4000', 'Top'), /*Striped Hooded Shirt*/ +('1042098', '8800', 'Top'), /*Camo Hooded Jacket*/ +('1042097', '4700', 'Top'), /*Print Layered Hoody*/ +('1042096', '7600', 'Top'), /*M Shirt*/ +/*Page 24*/ +('1042127', '3400', 'Top'), /*Green Suspenders*/ +('1042126', '5200', 'Top'), /*Red and Black Blazer*/ +('1042125', '6400', 'Top'), /*Yellow Longsleeve with Bunny Bag*/ +('1042122', '4700', 'Top'), /*Bowtie Jacket*/ +('1042121', '5000', 'Top'), /*Opera Pink Double Coat*/ +('1042120', '6000', 'Top'), /*Celeste Blue Double Coat*/ +('1042119', '7600', 'Top'), /*Vintage Muffler Jacket*/ +('1042118', '6000', 'Top'), /*Red Checkered Shirt*/ +('1042117', '5000', 'Top'), /*Green Baseball Jacket*/ +/*Page 25*/ +('1042116', '6400', 'Top'), /*Orange Pea Coat*/ +('1042143', '7400', 'Top'), /*Disco Tank Top*/ +('1042142', '6300', 'Top'), /*Rainbow Top*/ +('1042141', '3600', 'Top'), /*Pink Star Glow*/ +('1042140', '4900', 'Top'), /*Slick Agent Top*/ +('1042138', '4700', 'Top'), /*The White Tee*/ +('1042137', '7600', 'Top'), /*Dark Tech Top*/ +('1042136', '7400', 'Top'), /*Red Legolesse for Transformation*/ +('1042135', '3600', 'Top'), /*Dark Master Sergeant for Transformation*/ +/*Page 26*/ +('1042134', '3200', 'Top'), /*Yellow Shirt with Pads*/ +('1042133', '4000', 'Top'), /*Striped Hoodie Shirt*/ +('1042132', '4900', 'Top'), /*Aqua Green Star*/ +('1042131', '3200', 'Top'), /*Preppy Black Vest*/ +('1042130', '7400', 'Top'), /*Gold Chainz*/ +('1042129', '7400', 'Top'), /*"Black Tie Affair" Dress Shirt*/ +('1042128', '4000', 'Top'), /*Apple-Green Sweater*/ +('1042159', '5200', 'Top'), /*Animal One Piece*/ +('1042158', '5000', 'Top'), /*Baseball Classic*/ +/*Page 27*/ +('1042157', '5000', 'Top'), /*Lovely Pink Heart T-Shirt*/ +('1042156', '4700', 'Top'), /*Galaxy T-Shirt*/ +('1042155', '3200', 'Top'), /*Sky Rider Jacket*/ +('1042154', '5000', 'Top'), /*Bohemian Hooded Jacket*/ +('1042153', '7600', 'Top'), /*Red Plaid Duffle Coat*/ +('1042152', '3800', 'Top'), /*Rainbow Knitted Top*/ +('1042151', '6300', 'Top'), /*Brown Argyle Sweater*/ +('1042150', '7400', 'Top'), /*Black "Hit Me" Shirt*/ +('1042149', '7400', 'Top'), /*80's Knit Pullover*/ +/*Page 28*/ +('1042147', '4700', 'Top'), /*Preppy Knit Vest*/ +('1042146', '5200', 'Top'), /*Superstar Hoodie*/ +('1042145', '4700', 'Top'), /*Layered Duckie T*/ +('1042144', '6400', 'Top'), /*Checkered Resort Shirt*/ +('1042174', '3800', 'Top'), /*Camping Shirt*/ +('1042173', '7600', 'Top'), /*Green Polo*/ +('1042172', '8800', 'Top'), /*Preppy Blue Shirt*/ +('1042171', '3400', 'Top'), /*Idol Star Vest*/ +('1042170', '7100', 'Top'), /*Cool Summer Shirt*/ +/*Page 29*/ +('1042169', '5600', 'Top'), /*Rainbow Tie-Dye Shirt*/ +('1042168', '5200', 'Top'), /*Lightning T-Shirt*/ +('1042166', '6400', 'Top'), /*Leather Biker Jacket*/ + + + +/*Page 1*/ +('1042165', '8800', 'Top 2'), /*Pink Bowtie & White Vest*/ +('1042164', '6300', 'Top 2'), /*Green Tie & Shirt*/ +('1042163', '4000', 'Top 2'), /*Pink Heart T-Shirt & Muffler*/ +('1042162', '5600', 'Top 2'), /*Blue-Striped Undershirt*/ +('1042161', '3200', 'Top 2'), /*Yellow Spring Jacket*/ +('1042160', '5000', 'Top 2'), /*Navy Hoodie*/ +('1042190', '8800', 'Top 2'), /*Dual-Color Heart Tee*/ +('1042189', '4000', 'Top 2'), /*Lamb Wool Top*/ +('1042188', '3800', 'Top 2'), /*Puffy Raglan Tee*/ +/*Page 2*/ +('1042187', '3600', 'Top 2'), /*Pink Sweater*/ +('1042186', '3200', 'Top 2'), /*Fur Vest*/ +('1042185', '6400', 'Top 2'), /*JM's Street Gear*/ +('1042184', '5600', 'Top 2'), /*Tiger-Print Scarf & Top*/ +('1042183', '3400', 'Top 2'), /*Pink Argyle Plaid*/ +('1042182', '4000', 'Top 2'), /*Denim Hoodie*/ +('1042181', '5200', 'Top 2'), /*Napoleon Jacket*/ +('1042178', '3400', 'Top 2'), /*Puppy Tee*/ +('1042177', '5200', 'Top 2'), /*Vintage Hoodie Jacket*/ +/*Page 3*/ +('1042176', '7600', 'Top 2'), /*I Love CN Top*/ +('1042207', '7400', 'Top 2'), /*Star Trainer Jacket*/ +('1042206', '6400', 'Top 2'), /*Black Rider Jacket*/ +('1042204', '3400', 'Top 2'), /*Hamburger Tee*/ +('1042203', '7400', 'Top 2'), /*Orange Scarf Tee*/ +('1042202', '4000', 'Top 2'), /*Penguin Tee*/ +('1042200', '5200', 'Top 2'), /*Blue Smiley Tee*/ +('1042199', '3200', 'Top 2'), /*Pink Smiley Tee*/ +('1042198', '4000', 'Top 2'), /*Rainbow Tee*/ +/*Page 4*/ +('1042194', '7400', 'Top 2'), /*White Collared Shirt*/ +('1042193', '3600', 'Top 2'), /*Padded Vest*/ +('1042192', '8800', 'Top 2'), /*Green Tie Casual Suit*/ +('1042222', '3400', 'Top 2'), /*Lemon Freshness*/ +('1042221', '3200', 'Top 2'), /*Joyous 8th T-Shirt*/ +('1042220', '7100', 'Top 2'), /*Shiny Training Top*/ +('1042219', '4900', 'Top 2'), /*Blue Stars T-Shirt*/ +('1042218', '3200', 'Top 2'), /*Raspberry Candy T-Shirt*/ +('1042217', '5000', 'Top 2'), /*Black Viva Baseball*/ +/*Page 5*/ +('1042216', '8800', 'Top 2'), /*Red Viva Baseball*/ +('1042215', '6000', 'Top 2'), /*Jester Sweater*/ +('1042214', '4700', 'Top 2'), /*Spring Sweater Set*/ +('1042213', '5600', 'Top 2'), /*Pink Spring Jacket*/ +('1042212', '6300', 'Top 2'), /*Blue Spring Jacket*/ +('1042210', '7100', 'Top 2'), /*Mustang Vest Pink Tee*/ +('1042209', '6300', 'Top 2'), /*Mustang Vest Green Tee*/ +('1042208', '8800', 'Top 2'), /*Elephant Hoody*/ +('1042239', '6000', 'Top 2'), /*Cutie Raincoat*/ +/*Page 6*/ +('1042238', '5600', 'Top 2'), /*Pink Bunny Sweater*/ +('1042237', '6400', 'Top 2'), /*Gold Tailor Vest*/ +('1042236', '4000', 'Top 2'), /*Green Apple Sweater*/ +('1042235', '4000', 'Top 2'), /*Rabbit Top*/ +('1042232', '4000', 'Top 2'), /*Bat Costume Sweater*/ +('1042230', '6300', 'Top 2'), /*Cutie Raincoat*/ +('1042229', '6300', 'Top 2'), /*I Love MY Top*/ +('1042228', '5600', 'Top 2'), /*I Love SG Top*/ +('1042252', '8800', 'Top 2'), /*Cute Sleeveless Shirt*/ +/*Page 7*/ +('1042251', '5600', 'Top 2'), /*Slither Style Hoodie*/ +('1042250', '7600', 'Top 2'), /*Hyper Spring Sweater Set*/ +('1042249', '4700', 'Top 2'), /*[MS Custom] Red Double-Coat*/ +('1042248', '5200', 'Top 2'), /*[MS Custom] Beetle Longsleeve*/ +('1042247', '3600', 'Top 2'), /*[MS Custom] Baseball Shirt (Away)*/ +('1042246', '6300', 'Top 2'), /*Hyper Green Suspenders*/ +('1042245', '6400', 'Top 2'), /*Hyper Spring Jealousy*/ +('1042242', '3400', 'Top 2'), /*Summer Picnic*/ +('1042241', '4900', 'Top 2'), /*Flying Violet*/ +/*Page 8*/ +('1042240', '3800', 'Top 2'), /*Colorful T-Shirt*/ +('1042271', '8800', 'Top 2'), /*Meow T-shirt*/ +('1042270', '6300', 'Top 2'), /*Pink Bunny Sweater*/ +('1042269', '5600', 'Top 2'), /*Ribbon Days*/ +('1042268', '5200', 'Top 2'), /*Cutie Raincoat*/ +('1042267', '3600', 'Top 2'), /*Exciting Hoodie*/ +('1042266', '3800', 'Top 2'), /*Muscle Man*/ +('1042265', '5600', 'Top 2'), /*Strawberry Shirt*/ +('1042264', '8800', 'Top 2'), /*Colored Golf Shirt*/ +/*Page 9*/ +('1042263', '8800', 'Top 2'), /*Funky Jumper*/ +('1042262', '6400', 'Top 2'), /*Colorful T-Shirt*/ +('1042261', '3800', 'Top 2'), /*Black Viva Baseball*/ +('1042260', '3200', 'Top 2'), /*Loose Fit Sweater*/ +('1042259', '7600', 'Top 2'), /*Lemon Freshness*/ +('1042287', '3600', 'Top 2'), /*Red Check Rider*/ +('1042286', '3600', 'Top 2'), /*Athletic Hood*/ +('1042285', '3200', 'Top 2'), /*Pastel Dot Tee*/ +('1042282', '7100', 'Top 2'), /*Eum T-Shirt*/ +/*Page 10*/ +('1042281', '3600', 'Top 2'), /*Jeong T-Shirt*/ +('1042280', '6400', 'Top 2'), /*Min T-Shirt*/ +('1042279', '3600', 'Top 2'), /*Hun T-Shirt*/ +('1042278', '7400', 'Top 2'), /*Denim Hoodie*/ +('1042277', '3800', 'Top 2'), /*Star T-Shirt*/ +('1042275', '5200', 'Top 2'), /*Frog Raindrop*/ +('1042272', '8800', 'Top 2'), /*Slick Agent Top*/ +('1042294', '5600', 'Top 2'), /*Thumping Heart Vest*/ +('1042293', '4700', 'Top 2'), /*Guardian Clothing*/ +/*Page 11*/ +('1042292', '8800', 'Top 2'), /*Banana Cardigan*/ +('1042291', '7100', 'Top 2'), /*Vibrant Yellow Knit*/ +('1042290', '6300', 'Top 2'), /*White Cherry Knit*/ +('1042319', '5600', 'Top 2'), /*Hoi Poi T-shirt*/ + +('1042315', '4900', 'Top 2'), /*Bubbly Elephant Shirt*/ +('1042314', '7100', 'Top 2'), /*Rabbit and Bear Shirt*/ +('1042313', '5600', 'Top 2'), /*Full of Hearts T-Shirt*/ +('1042312', '6300', 'Top 2'), /*Blue Mushroom T-Shirt*/ +/*Page 12*/ +('1042311', '7400', 'Top 2'), /*Rainbow T-shirt*/ +('1042335', '6400', 'Top 2'), /*Pink Marine T-shirt*/ +('1042334', '8800', 'Top 2'), /*Green Kitty Shirt*/ +('1042333', '4000', 'Top 2'), /*Pink Kitty Sweatshirt*/ +('1042332', '3800', 'Top 2'), /*Red Ribbon Kitty Top*/ +('1042330', '7400', 'Top 2'), /*Charming Baby*/ +('1042329', '7100', 'Top 2'), /*Sweet Summer Shirt*/ +('1042320', '8800', 'Top 2'), /*Island Travel T-Shirt*/ +('1042351', '6300', 'Top 2'), /*Hoya T-shirt*/ +/*Page 13*/ + +('1042349', '4000', 'Top 2'), /*All About Black*/ +('1042348', '8800', 'Top 2'), /*Boldly Colored Polo*/ +('1042347', '7100', 'Top 2'), /*Naughty Boy T-Shirt*/ +('1042346', '3600', 'Top 2'), /*Baby Ram Pullover (Pink)*/ +('1042345', '5600', 'Top 2'), /*Baby Ram Pullover (Blue)*/ +('1042344', '4700', 'Top 2'), /*Gold Fur-Lined Jacket*/ +('1042343', '4000', 'Top 2'), /*New School Hoodie*/ +('1042342', '7400', 'Top 2'), /*Rawrin' Tiger Top*/ +/*Page 14*/ +('1042341', '6400', 'Top 2'), /*Hatchling T-shirt*/ +('1042339', '6000', 'Top 2'), /*White Kitty Pink Top*/ +('1042338', '3400', 'Top 2'), /*Brown Teddy Top*/ +('1042337', '7100', 'Top 2'), /*Teddy Picnic Shirt*/ +('1042336', '3600', 'Top 2'), /*Corny Top*/ +('1042367', '7600', 'Top 2'), /*Devil Bear T-Shirt*/ +('1042364', '6300', 'Top 2'), /*Marigold V Tee*/ +('1042363', '3600', 'Top 2'), /*Fuchsia V Tee */ +('1042362', '7400', 'Top 2'), /*Emerald V Tee*/ +/*Page 15*/ +('1042361', '7100', 'Top 2'), /*Red Cloud Top*/ +('1042360', '4900', 'Top 2'), /*Cherry Rabbit Hood*/ +('1042359', '7100', 'Top 2'), /*Hyper Spring Sweater Set*/ +('1042358', '7600', 'Top 2'), /*Soft Olive Knitwear*/ +('1042357', '5600', 'Top 2'), /*Cloud Prison*/ +('1042356', '5000', 'Top 2'), /*Chenghuiwan Effect T-Shirt*/ +('1042355', '5200', 'Top 2'), /*Ranbingluan Effect T-Shirt*/ +('1042354', '5600', 'Top 2'), /*Duang Effect T-Shirt*/ +('1042383', '6000', 'Top 2'), /*Tennis Top (M)*/ +/*Page 16*/ +('1042382', '5600', 'Top 2'), /*Chunky Cable-Knit Top*/ +('1042381', '3600', 'Top 2'), /*Khaki Field Coat*/ +('1042380', '5600', 'Top 2'), /*Strawberry Training Shirt*/ +('1042379', '3200', 'Top 2'), /*Shoulder Freedom*/ +('1042378', '7100', 'Top 2'), /*Tattoo Look*/ +('1042376', '6300', 'Top 2'), /*Snazzy Bunny Outfit*/ +('1042375', '6300', 'Top 2'), /*Strawberry Training Shirt*/ +('1042386', '7600', 'Top 2'), /*Rounded Tanktop*/ +('1042385', '6400', 'Top 2'), /*Trendy Denim Jacket*/ +/*Page 17*/ +('1042384', '6000', 'Top 2'), /*Tennis Top (F)*/ +('1048002', '3600', 'Top 2'), /*Carrot T-shirt*/ +('1048001', '3400', 'Top 2'), /*Bunny Love T-Shirt*/ +('1048000', '7400', 'Top 2'), /*Couple Shirt*/ + + + + + +/* Bottom */ +/*Page 1*/ +('1060001', '5000', 'Bottom'), /*Black Suit Pants*/ +('1060003', '7100', 'Bottom'), /*Military Shorts*/ +('1060048', '5000', 'Bottom'), /*Green Disco Pants*/ +('1060049', '8800', 'Bottom'), /*Blue Disco Pants*/ +('1060053', '4700', 'Bottom'), /*Wild Pants*/ +('1060054', '3400', 'Bottom'), /*Brown Wild Pants*/ +('1060055', '5600', 'Bottom'), /*Red Wild Pants*/ +('1060034', '3200', 'Bottom'), /*Blue Rider Pants*/ +('1060035', '5200', 'Bottom'), /*Shine Rider Pants*/ +/*Page 2*/ +('1060036', '4000', 'Bottom'), /*Dark Rider Pants*/ +('1060040', '7600', 'Bottom'), /*Blue Trainer Pants*/ +('1060041', '3600', 'Bottom'), /*Green Trainer Pants*/ +('1060042', '5200', 'Bottom'), /*Orange Trainer Pants*/ +('1060047', '4000', 'Bottom'), /*Original Disco Pants*/ +('1060066', '7600', 'Bottom'), /*Cowboy Pants*/ +('1060067', '6400', 'Bottom'), /*Pre-School Pants*/ +('1060112', '3800', 'Bottom'), /*Prep School Uniform Pants*/ +('1060113', '5600', 'Bottom'), /*Blue Leggings*/ +/*Page 3*/ +('1060114', '7100', 'Bottom'), /*Washed Jeans*/ +('1060116', '3400', 'Bottom'), /*Military Cargo Shorts*/ +('1060117', '7100', 'Bottom'), /*Tropical Shorts*/ +('1060118', '3200', 'Bottom'), /*Orange Puffy Pants*/ +('1060119', '7400', 'Bottom'), /*Denim Wrinkled Skirt*/ +('1060120', '5200', 'Bottom'), /*Tania Tartan Pants*/ +('1060121', '5200', 'Bottom'), /*Mercury Washed Jeans*/ +('1060122', '6300', 'Bottom'), /*Pink Miniskirt*/ +('1060123', '5600', 'Bottom'), /*Blue Sailor Skirt*/ +/*Page 4*/ +('1060125', '5200', 'Bottom'), /*Blue Skirt (m)*/ +('1060126', '6400', 'Bottom'), /*Black Wakeboard Pants*/ +('1060096', '7600', 'Bottom'), /*Old School Uniform Pants*/ +('1060103', '3200', 'Bottom'), /*Hawaiian Skirt*/ +('1060108', '3800', 'Bottom'), /*Torn-Up Jeans*/ +('1060145', '7600', 'Bottom'), /*Pre-School Pants*/ +('1060139', '8800', 'Bottom'), /*Retro School Uniform Pants*/ +('1060178', '5600', 'Bottom'), /*[MS Custom] Orange Trainer Pants*/ +('1060179', '7400', 'Bottom'), /*Golf Shorts*/ +/*Page 5*/ +('1060180', '6300', 'Bottom'), /*Puffy Puff Pants*/ +('1060181', '3400', 'Bottom'), /*Star Shorts*/ +('1060182', '7100', 'Bottom'), /*Golf Shorts*/ +('1060187', '3200', 'Bottom'), /*Green Rolled-Up Shorts*/ +('1060188', '3200', 'Bottom'), /*White Hot Pants*/ +('1060189', '6000', 'Bottom'), /*Smile Seed Pants*/ +('1060190', '6000', 'Bottom'), /*Lalala Dot Pants*/ +('1060174', '4000', 'Bottom'), /*Cowboy Pants*/ +('1061000', '8800', 'Bottom'), /*Blue Bell Dress*/ +/*Page 6*/ +('1061001', '7100', 'Bottom'), /*Blue Sailor Skirt*/ +('1061004', '3200', 'Bottom'), /*Pink Miniskirt*/ +('1061005', '6000', 'Bottom'), /*Roll-Up Jean*/ +('1061007', '8800', 'Bottom'), /*Red Sailor Skirt*/ +('1061072', '4000', 'Bottom'), /*Red Trainer Pants*/ +('1061073', '5200', 'Bottom'), /*Sky Blue Trainer Pants*/ +('1061074', '6400', 'Bottom'), /*Pink Trainer Pants*/ +('1061075', '5200', 'Bottom'), /*Black Trainer Pants*/ +('1061065', '3400', 'Bottom'), /*Sky Blue Miniskirt*/ +/*Page 7*/ +('1061066', '3600', 'Bottom'), /*Yellow Mimi Skirt*/ +('1061067', '3400', 'Bottom'), /*Cowboy Shorts*/ +('1061068', '3200', 'Bottom'), /*Pre-School Uniform Skirt*/ +('1061107', '6400', 'Bottom'), /*SF Ninja Pants*/ +('1061108', '6400', 'Bottom'), /*Red Training Shorts*/ +('1061109', '7100', 'Bottom'), /*Sky Blue Training Shorts*/ +('1061110', '7100', 'Bottom'), /*Pink Training Shorts*/ +('1061111', '6000', 'Bottom'), /*Black Training Shorts*/ +('1061112', '7100', 'Bottom'), /*Pink Frill Pajama Bottom*/ +/*Page 8*/ +('1061113', '8800', 'Bottom'), /*Hawaiian Skirt*/ +('1061089', '3200', 'Bottom'), /*Blue Skirt*/ +('1061103', '7400', 'Bottom'), /*Old School Uniform (Skirt)*/ +('1061136', '3600', 'Bottom'), /*Long Khaki Skirt*/ +('1061137', '4700', 'Bottom'), /*Dark Denim Skirt*/ +('1061138', '6300', 'Bottom'), /*Pink Heart Hot Pants*/ +('1061139', '8800', 'Bottom'), /*Military Cargo Shorts*/ +('1061140', '7600', 'Bottom'), /*Denim Skirt & Striped Sox*/ +('1061141', '4900', 'Bottom'), /*Tania Tartan Skirt*/ +/*Page 9*/ +('1061142', '3800', 'Bottom'), /*Mercury Jean Skirt*/ +('1061143', '3600', 'Bottom'), /*Amorian Pink Skirt*/ +('1061144', '6400', 'Bottom'), /*Blue Jeans*/ +('1061145', '7100', 'Bottom'), /*Retro School Uniform Pants*/ +('1061147', '4900', 'Bottom'), /*Old School Uniform Pants (F)*/ +('1061148', '3600', 'Bottom'), /*Pink Frill Swim Skirt*/ +('1061124', '5200', 'Bottom'), /*Red Leggings*/ +('1061126', '8800', 'Bottom'), /*Plitz Skirt*/ +('1061127', '3600', 'Bottom'), /*Blue Diamond Bootcuts*/ +/*Page 10*/ +('1061128', '7100', 'Bottom'), /*Pink Diamond Bootcuts*/ +('1061129', '4700', 'Bottom'), /*Butterfly Skirt*/ +('1061130', '6000', 'Bottom'), /*Green Long Skirt*/ +('1061131', '7600', 'Bottom'), /*Blue Slit Skirt*/ +('1061132', '5000', 'Bottom'), /*Skirt with Tights*/ +('1061133', '6000', 'Bottom'), /*Orange Long Skirt*/ +('1061134', '4000', 'Bottom'), /*Denim Miniskirt*/ +('1061135', '5600', 'Bottom'), /*Pink Layered Skirt*/ +('1061170', '4700', 'Bottom'), /*Bright Frilly Shorts*/ +/*Page 11*/ +('1061166', '7100', 'Bottom'), /*Pre-School Skirt*/ +('1061203', '6000', 'Bottom'), /*Puffy Puff Dress*/ +('1061204', '6300', 'Bottom'), /*Golf Skirt*/ +('1061206', '5600', 'Bottom'), /*Golf Skirt*/ +('1061207', '6300', 'Bottom'), /*Star Skirt*/ +('1061210', '7400', 'Bottom'), /*Check Skirt*/ +('1061211', '5600', 'Bottom'), /*Green Skirt*/ +('1061212', '5000', 'Bottom'), /*White Hot Pants*/ +('1061213', '6400', 'Bottom'), /*Smile Seed Skirt*/ +/*Page 12*/ +('1061214', '5200', 'Bottom'), /*Lalala Dot Skirt*/ +('1061198', '5200', 'Bottom'), /*Cowgirl Pants*/ +('1062003', '3600', 'Bottom'), /*Red Hip-Hop Pants*/ +('1062005', '7600', 'Bottom'), /*Lined Hip-Hop Pants*/ +('1062008', '5000', 'Bottom'), /*Pink Camping Shorts*/ +('1062009', '4700', 'Bottom'), /*Green Camping Shorts*/ +('1062010', '6400', 'Bottom'), /*Blue Camping Shorts*/ +('1062011', '7400', 'Bottom'), /*Wildcats Baseball Pants (Basic)*/ +('1062012', '5000', 'Bottom'), /*Baseball Pants (Home)*/ +/*Page 13*/ +('1062013', '4000', 'Bottom'), /*Baseball Pants (Away)*/ +('1062014', '7600', 'Bottom'), /*Wildcats Baseball Pants (Alternate)*/ +('1062015', '4700', 'Bottom'), /*Ripped Jeans*/ +('1062032', '6300', 'Bottom'), /*Cargo Pants*/ +('1062033', '5200', 'Bottom'), /*Red Checkered Pants*/ +('1062034', '6000', 'Bottom'), /*White Checkered Pants*/ +('1062035', '3200', 'Bottom'), /*Bone Buckled Slacks*/ +('1062038', '6000', 'Bottom'), /*Hip Hop Jeans*/ +('1062039', '3600', 'Bottom'), /*White Jeans*/ +/*Page 14*/ +('1062040', '3600', 'Bottom'), /*Washed Denim Cargos*/ +('1062041', '6400', 'Bottom'), /*Denim Cargos*/ +('1062042', '3600', 'Bottom'), /*Jeans with Chain*/ +('1062043', '7600', 'Bottom'), /*Black Leather Pants*/ +('1062044', '4900', 'Bottom'), /*Red Starrium*/ +('1062045', '3200', 'Bottom'), /*Patched Denim Jeans*/ +('1062046', '3200', 'Bottom'), /*Vintage Pocket Pants*/ +('1062047', '5600', 'Bottom'), /*Brisk*/ +('1062016', '6400', 'Bottom'), /*Yellow Snowboard Pants*/ +/*Page 15*/ +('1062017', '8800', 'Bottom'), /*Green Snowboard Pants*/ +('1062018', '4900', 'Bottom'), /*Bell-Bottomed Faded Jeans*/ +('1062019', '7400', 'Bottom'), /*Pink Snowboard Pants*/ +('1062020', '5600', 'Bottom'), /*Sky Blue Snowboard Pants*/ +('1062021', '4000', 'Bottom'), /*Jean Shorts*/ +('1062022', '7100', 'Bottom'), /*Old Army Pants*/ +('1062023', '5000', 'Bottom'), /*Baggy Jeans*/ +('1062024', '6400', 'Bottom'), /*Camouflaged Army Pants*/ +('1062025', '4000', 'Bottom'), /*Blue Polka-Dot Pajama Pants*/ +/*Page 16*/ +('1062026', '3600', 'Bottom'), /*Red Polka-Dot Pajama Pants*/ +('1062027', '4700', 'Bottom'), /*Prisoner Pants*/ +('1062028', '4000', 'Bottom'), /*Picnic Jean Shorts*/ +('1062029', '5200', 'Bottom'), /*Blue B-Ball Shorts*/ +('1062030', '3800', 'Bottom'), /*Orange B-Ball Shorts*/ +('1062031', '3400', 'Bottom'), /*Checkered Shorts*/ +('1062064', '5000', 'Bottom'), /*Checks Point Pants*/ +('1062065', '3200', 'Bottom'), /*White-Striped Trainer Shorts*/ +('1062066', '3200', 'Bottom'), /*Vintage Sky Blue Jeans*/ +/*Page 17*/ +('1062067', '6400', 'Bottom'), /*Summer Capris*/ +('1062068', '6400', 'Bottom'), /*Rainbow Shorts*/ +('1062069', '3200', 'Bottom'), /*Brown Chained Pants*/ +('1062070', '3800', 'Bottom'), /*Painted Blue Jeans*/ +('1062071', '6300', 'Bottom'), /*Low-Rise Ripped Jeans*/ +('1062072', '5200', 'Bottom'), /*Relaxed Fit Jeans*/ +('1062073', '3600', 'Bottom'), /*Olive Pumpkin Pants*/ +('1062074', '7100', 'Bottom'), /*Brown Pumpkin Pants*/ +('1062075', '6400', 'Bottom'), /*Vintage Black Pants*/ +/*Page 18*/ +('1062076', '6000', 'Bottom'), /*Light Blue Ripped Jeans*/ +('1062077', '5200', 'Bottom'), /*Brown Bubble Jeans*/ +('1062048', '5000', 'Bottom'), /*Brown Checkered Pants*/ +('1062049', '4000', 'Bottom'), /*Football Pants (Home)*/ +('1062050', '7100', 'Bottom'), /*Football Bottom (Away)*/ +('1062051', '5200', 'Bottom'), /*All-Star Blue Jeans*/ +('1062052', '6400', 'Bottom'), /*White Faded Jeans*/ +('1062053', '3200', 'Bottom'), /*Pink-Lined Shorts*/ +('1062054', '6400', 'Bottom'), /*Busy Bee Shorts*/ +/*Page 19*/ +('1062055', '6000', 'Bottom'), /*Jailbird Shorts*/ +('1062056', '3200', 'Bottom'), /*Military Cargo Pants*/ +('1062057', '5600', 'Bottom'), /*Scottish Pants*/ +('1062058', '5000', 'Bottom'), /*Inferno Jeans*/ +('1062059', '6400', 'Bottom'), /*Vintage Black Jeans*/ +('1062060', '3600', 'Bottom'), /*Blue Skinny Jeans*/ +('1062061', '6000', 'Bottom'), /*Olive Skinny Jeans*/ +('1062062', '3800', 'Bottom'), /*Red Wine Skinny Jeans*/ +('1062063', '5600', 'Bottom'), /*Dark Rocker Jeans*/ +/*Page 20*/ +('1062096', '6300', 'Bottom'), /*Practical Linen Trousers*/ +('1062097', '4700', 'Bottom'), /*Ella Blue Denim*/ +('1062098', '3800', 'Bottom'), /*Aqua Jeans*/ +('1062100', '5600', 'Bottom'), /*Rolled-Up Baggy Jeans*/ +('1062101', '4700', 'Bottom'), /*Rolled-Up Skinny Jeans*/ +('1062102', '4700', 'Bottom'), /*Twinkle Star Blue Jeans*/ +('1062103', '6000', 'Bottom'), /*Baggy Glow-in-the-Dark Pants*/ +('1062104', '3800', 'Bottom'), /*Dark Purple Jeans*/ +('1062105', '3400', 'Bottom'), /*Plaid Roll-Up Jeans*/ +/*Page 21*/ +('1062106', '7400', 'Bottom'), /*Bunny Frill Pants*/ +('1062107', '6000', 'Bottom'), /*Shooting Star Jeans*/ +('1062108', '5000', 'Bottom'), /*Vintage Jeans*/ +('1062109', '8800', 'Bottom'), /*Neon Skinny Jeans*/ +('1062110', '6300', 'Bottom'), /*Baby Pink Pants*/ +('1062111', '5200', 'Bottom'), /*Blue Ribbon Shorts*/ +('1062080', '7400', 'Bottom'), /*Amorian Pink Skirt*/ +('1062081', '4700', 'Bottom'), /*Bunny-Padded Snowboard Pants*/ +('1062082', '3200', 'Bottom'), /*Red and Black Warm-ups*/ +/*Page 22*/ +('1062083', '6300', 'Bottom'), /*Brown Pocket Shorts*/ +('1062084', '3600', 'Bottom'), /*Jewel Chain Jeans*/ +('1062085', '5200', 'Bottom'), /*"Black Tie Affair" Dress Pants*/ +('1062086', '3600', 'Bottom'), /*Dark Master Sergeant Skirt for Transformation*/ +('1062087', '5000', 'Bottom'), /*Red Legolia Pants for Transformation*/ +('1062088', '3400', 'Bottom'), /*Dark Night Pants for Transformation*/ +('1062089', '7600', 'Bottom'), /*Pink Heart Boxers*/ +('1062091', '3800', 'Bottom'), /*Black Checkered Shorts*/ +('1062092', '5200', 'Bottom'), /*Pink 80s Slacks*/ +/*Page 23*/ +('1062093', '6400', 'Bottom'), /*Moss Green Pants*/ +('1062094', '7600', 'Bottom'), /*Ruby-Buckled Shorts*/ +('1062095', '3800', 'Bottom'), /*Milan Jeans*/ +('1062129', '5000', 'Bottom'), /*Red Spotted Shorts*/ +('1062130', '4700', 'Bottom'), /*Blue Spotted Shorts*/ +('1062131', '5600', 'Bottom'), /*White Jeans*/ +('1062133', '3800', 'Bottom'), /*Star Trainer Pants*/ +('1062134', '4000', 'Bottom'), /*Super Pop Shorts*/ +('1062135', '7400', 'Bottom'), /*Shiny Gold Pants*/ +/*Page 24*/ +('1062136', '3400', 'Bottom'), /*Layered Denim Pants*/ +('1062137', '7400', 'Bottom'), /*Plum Sherbet Pants*/ +('1062138', '4000', 'Bottom'), /*Mint Sherbet Pants*/ +('1062139', '3400', 'Bottom'), /*Deep Blue Sea Knee Socks*/ +('1062112', '3400', 'Bottom'), /*Underpants*/ +('1062113', '7100', 'Bottom'), /*Crayon Shorts*/ +('1062114', '5200', 'Bottom'), /*Pink Heart Shorts*/ +('1062116', '8800', 'Bottom'), /*Star Beach Shorts*/ +('1062117', '5200', 'Bottom'), /*Idol Star Chain Pants*/ +/*Page 25*/ +('1062118', '4700', 'Bottom'), /*Stone Washed Jeans*/ +('1062119', '6300', 'Bottom'), /*Technicolour Funky Pants*/ +('1062121', '8800', 'Bottom'), /*Tiger-Print Leggings*/ +('1062122', '6300', 'Bottom'), /*Plaid-Cuffed Jeans*/ +('1062123', '7600', 'Bottom'), /*High-Rider*/ +('1062124', '7100', 'Bottom'), /*Saruel Pants*/ +('1062126', '8800', 'Bottom'), /*Pink Sprite Pants*/ +('1062160', '4700', 'Bottom'), /*Hyper Funky Xylophone Leggings*/ +('1062161', '6300', 'Bottom'), /*[MS Custom] Red Checkered Pants*/ +/*Page 26*/ +('1062162', '3800', 'Bottom'), /*Hyper Deep Blue Sea Knee Socks*/ +('1062163', '5200', 'Bottom'), /*Slither Style Pants*/ +('1062170', '6400', 'Bottom'), /*Aqua Jeans*/ +('1062171', '5000', 'Bottom'), /*Stocking Shorts*/ +('1062172', '3800', 'Bottom'), /*Checkered Tights*/ +('1062173', '5200', 'Bottom'), /*Funky Shorts*/ +('1062174', '6300', 'Bottom'), /*Hearts Tights*/ +('1062175', '3400', 'Bottom'), /*Pink Skinny Jeans*/ +('1062145', '3800', 'Bottom'), /*Funky Xylophone Leggings*/ +/*Page 27*/ +('1062147', '5200', 'Bottom'), /*Sky Rainbow Shorts [temp]*/ +('1062151', '5200', 'Bottom'), /*Rabbit Bottom*/ +('1062152', '4000', 'Bottom'), /*Neon Pink Pants*/ +('1062153', '6400', 'Bottom'), /*Vacation Denim Pants*/ +('1062154', '4000', 'Bottom'), /*Layered Denim Pants*/ +('1062155', '7100', 'Bottom'), /*Oceanic Sandblasted Jeans*/ +('1062156', '8800', 'Bottom'), /*Mosaic Purple*/ +('1062157', '6000', 'Bottom'), /*Chocolate Strawberry Pants*/ +('1062159', '3400', 'Bottom'), /*Hyper Chocolate Strawberry Pants*/ +/*Page 28*/ +('1062203', '6000', 'Bottom'), /*Otherworldly Slacks*/ +('1062204', '3800', 'Bottom'), /*Rainbow Pants*/ +('1062207', '7100', 'Bottom'), /*Hoi Poi Shorts*/ +('1062176', '4900', 'Bottom'), /*Plum Sherbet Pants*/ +('1062179', '7100', 'Bottom'), /*Little Bunny Pants*/ +('1062182', '3600', 'Bottom'), /*Sapphire Jeans*/ +('1062183', '3400', 'Bottom'), /*Hot Pink Overalls*/ +('1062184', '6400', 'Bottom'), /*Cargo Hiphop Pants*/ +('1062185', '5600', 'Bottom'), /*Violet Dot Jeans*/ +/*Page 29*/ +('1062188', '5000', 'Bottom'), /*Roll-Up Jean*/ +('1062189', '4700', 'Bottom'), /*Guardian Pants*/ +('1062225', '3200', 'Bottom'), /*Heart Patch Knit Pants*/ + + + +/*Page 1*/ +('1062226', '5600', 'Bottom 2'), /*Rawrin' Tiger Pants*/ +('1062228', '4700', 'Bottom 2'), /*White Rainbow Leggings*/ +('1062229', '6000', 'Bottom 2'), /*Naughty Boy Pants*/ +('1062230', '3200', 'Bottom 2'), /*White Rainbow Leggings*/ +('1062231', '3200', 'Bottom 2'), /*All About Jeans*/ +('1062232', '3800', 'Bottom 2'), /*Hoya Shorts*/ +('1062233', '3600', 'Bottom 2'), /*Dark Slate Jeans*/ +('1062234', '8800', 'Bottom 2'), /*Saggy Pants*/ +('1062235', '3800', 'Bottom 2'), /*Red Cloud Bottom*/ +/*Page 2*/ +('1062236', '7100', 'Bottom 2'), /*Red Cloud Bottom*/ +('1062237', '3200', 'Bottom 2'), /*Celebrity Pants: Fashion*/ +('1062238', '6000', 'Bottom 2'), /*Celebrity Pants: Amour*/ +('1062239', '5200', 'Bottom 2'), /*Celebrity Pants: Defi*/ +('1062208', '7100', 'Bottom 2'), /*Bunny Patch Pants*/ +('1062209', '4700', 'Bottom 2'), /*Mini Bunny Pants*/ +('1062210', '6000', 'Bottom 2'), /*Island Travel Shorts*/ +('1062211', '4000', 'Bottom 2'), /*Sweet Summer Shorts*/ +('1062212', '5600', 'Bottom 2'), /*Heart Hot Pants*/ +/*Page 3*/ +('1062213', '7600', 'Bottom 2'), /*Baby Purple Shorts*/ +('1062214', '3200', 'Bottom 2'), /*Teddy Hip Pants*/ +('1062216', '3200', 'Bottom 2'), /*Mismatched Shorts*/ +('1062217', '5600', 'Bottom 2'), /*Polka-Dot A Line Skirt*/ +('1062218', '6300', 'Bottom 2'), /*Green Speckled Sweatpants*/ +('1062219', '3800', 'Bottom 2'), /*Colorful Blue Pants*/ +('1062220', '4700', 'Bottom 2'), /*White Shorts*/ +('1062221', '4000', 'Bottom 2'), /*Teddy Picnic Pants*/ +('1062222', '6300', 'Bottom 2'), /*Brown Teddy Capris Pants*/ +/*Page 4*/ +('1062223', '7600', 'Bottom 2'), /*Pink Kitty Denim Skirt*/ +('1062244', '3400', 'Bottom 2'), /*Strawberry Training Pants*/ +('1062245', '6300', 'Bottom 2'), /*Denim Shorts*/ +('1062247', '4900', 'Bottom 2'), /*Knee Freedom*/ +('1062248', '3400', 'Bottom 2'), /*Strawberry Training Pants*/ +('1062249', '5000', 'Bottom 2'), /*Chunky Cable-Knit Bottoms*/ +('1062250', '5000', 'Bottom 2'), /*Tennis Bottom (M)*/ +('1062251', '8800', 'Bottom 2'), /*Tennis Bottom (F)*/ +('1062252', '8800', 'Bottom 2'), /*Scallion Leggings*/ + + + + + +/* Shoes */ +/*Page 1*/ +('1070000', '3400', 'Shoes'), /*꽃 고무신*/ +('1070001', '7600', 'Shoes'), /*Black Santa Boots*/ +('1070002', '6000', 'Shoes'), /*Kimono Shoes (M)*/ +('1070003', '5600', 'Shoes'), /*Black Shoes of Death*/ +('1070004', '7600', 'Shoes'), /*Blue Western Walkers*/ +('1070005', '3600', 'Shoes'), /*Santa Boy Boots*/ +('1070006', '6300', 'Shoes'), /*Royal Costume Shoes*/ +('1070007', '3600', 'Shoes'), /*Lunar Celebration Shoes*/ +('1070008', '5000', 'Shoes'), /*Korean Martial Arts Shoes*/ +/*Page 2*/ +('1070009', '6300', 'Shoes'), /*Paris Wingtips*/ +('1070014', '3600', 'Shoes'), /*Veras Heels [m]*/ +('1070015', '6300', 'Shoes'), /*Bunny Boots [m]*/ +('1070016', '5600', 'Shoes'), /*Dandy Silver Sneaks*/ +('1070018', '8800', 'Shoes'), /*Napoleon Shoes */ +('1070019', '6400', 'Shoes'), /*Napoleon Boots*/ +('1070020', '4900', 'Shoes'), /*Twinkling Boy Glow Shoes*/ +('1070024', '6000', 'Shoes'), /*Garnet-Studded Boots*/ +('1070028', '3800', 'Shoes'), /*Evergreen Magistrate Pretty Shoes*/ +/*Page 3*/ +('1070031', '6000', 'Shoes'), /*Alps Boy Shoes*/ +('1070064', '3200', 'Shoes'), /*Mad Doctor Boots*/ +('1070065', '5200', 'Shoes'), /*Blue Macaron Shoes*/ +('1070066', '4000', 'Shoes'), /*Santa Boy Boots*/ +('1070067', '4000', 'Shoes'), /*Cozy Snow Flower*/ +('1070068', '7400', 'Shoes'), /*The Kingdom Dress Shoes of King*/ +('1070069', '6000', 'Shoes'), /*Soaring Sky*/ +('1070070', '5600', 'Shoes'), /*Yeonhwa School Shoes*/ +('1070071', '4700', 'Shoes'), /*Mr. Time Shoes*/ +/*Page 4*/ +('1070072', '3600', 'Shoes'), /*Cutie Farmer Sneakers*/ +('1070073', '4700', 'Shoes'), /*Bloody Sneakers*/ +('1070074', '5600', 'Shoes'), /*Soldier Shoes*/ +('1070075', '3400', 'Shoes'), /*Time Master Shoes*/ +('1070076', '4000', 'Shoes'), /*Red Santa Boots*/ +('1070077', '3800', 'Shoes'), /*Mr. Time Shoes*/ +('1070078', '7100', 'Shoes'), /*Concert Muse Shoes*/ +('1070079', '5600', 'Shoes'), /*Sky Blue Spring Sandals*/ +('1070057', '8800', 'Shoes'), /*Shadow Sandals*/ +/*Page 5*/ +('1070059', '3600', 'Shoes'), /*Rainbow Picnic Shoes*/ +('1070060', '4700', 'Shoes'), /*[[FROZEN CONTENT]] Kristoff Shoes*/ +('1070061', '8800', 'Shoes'), /*Glass Sneakers*/ +('1070096', '6000', 'Shoes'), /*Santa Boots*/ +('1070097', '6400', 'Shoes'), /*Flowery Path*/ +('1070098', '4700', 'Shoes'), /*Carbon Wing Boots*/ +('1070099', '5200', 'Shoes'), /*Little Darling Shoes*/ +('1070100', '6300', 'Shoes'), /*Majestic Moonlight Oxfords*/ +('1070101', '3600', 'Shoes'), /*Majestic Moonlight Oxfords*/ +/*Page 6*/ +('1070103', '7400', 'Shoes'), /*Shinsoo's Steps*/ +('1070105', '4900', 'Shoes'), /*Necrotic Boots*/ +('1070106', '4000', 'Shoes'), /*Warrior's Steps*/ +('1070107', '5600', 'Shoes'), /*Camelia Loafers*/ +('1070108', '3200', 'Shoes'), /*Santa Boy Boots*/ +('1070109', '5600', 'Shoes'), /*Santa Boots*/ +('1070110', '4000', 'Shoes'), /*Snappy Delivery Shoes*/ +('1070080', '3600', 'Shoes'), /*Navillera Loafers*/ +('1070081', '7600', 'Shoes'), /*Navillera Loafers*/ +/*Page 7*/ +('1070082', '6300', 'Shoes'), /*Pure Angel Shoes*/ +('1070083', '3200', 'Shoes'), /*Blueberry Shoes*/ +('1070084', '4000', 'Shoes'), /*Sweet Sugar Shoes*/ +('1070085', '7400', 'Shoes'), /*Constellation Shoes*/ +('1070086', '4900', 'Shoes'), /*Fancy Dance Shoes*/ +('1070087', '3400', 'Shoes'), /*Fancy Dance Shoes*/ +('1070088', '4900', 'Shoes'), /*Cherry Strut*/ +('1070089', '5000', 'Shoes'), /*Light as a Feather*/ +('1070090', '7600', 'Shoes'), /*Wedding Loafers*/ +/*Page 8*/ +('1070091', '3800', 'Shoes'), /*Crimson Fate Shoes*/ +('1070092', '6300', 'Shoes'), /*Crimson Fate Shoes*/ +('1070093', '5200', 'Shoes'), /*Music Stairs*/ +('1070094', '8800', 'Shoes'), /*Spooky Shoes*/ +('1070095', '5600', 'Shoes'), /*Iron Mace Shoes*/ +('1071000', '5200', 'Shoes'), /*Blue Loose Sox*/ +('1071001', '4700', 'Shoes'), /*Red Loose Sox*/ +('1071002', '3400', 'Shoes'), /*Blue Gomushin*/ +('1071003', '7400', 'Shoes'), /*Red Santa Boots*/ +/*Page 9*/ +('1071004', '7100', 'Shoes'), /*Pink Nurse Shoes*/ +('1071005', '4000', 'Shoes'), /*White Nurse Shoes*/ +('1071006', '7400', 'Shoes'), /*SF Ninja Shoes*/ +('1071007', '6300', 'Shoes'), /*Bunny Boots*/ +('1071024', '5000', 'Shoes'), /*Black Dress Shoes [f]*/ +('1071025', '5200', 'Shoes'), /*Paris Wingtips [F]*/ +('1071026', '6400', 'Shoes'), /*White High Top*/ +('1071030', '3600', 'Shoes'), /*Twinkling Girl Glow Shoes*/ +('1071031', '7600', 'Shoes'), /*Pink Angel Wing Shoes*/ +/*Page 10*/ +('1071032', '7600', 'Shoes'), /*Red Ribbon Shoes*/ +('1071036', '3800', 'Shoes'), /*Garnet-Studded Boots*/ +('1071037', '6000', 'Shoes'), /*Cygnus Sandals*/ +('1071008', '3200', 'Shoes'), /*Kimono Shoes (F)*/ +('1071009', '3600', 'Shoes'), /*Blue Western Walkers*/ +('1071010', '6400', 'Shoes'), /*Sea Queen Sandals*/ +('1071011', '4700', 'Shoes'), /*Race Queen Boots*/ +('1071012', '7400', 'Shoes'), /*Diao Chan Shoes*/ +('1071013', '7600', 'Shoes'), /*White Cat Shoes*/ +/*Page 11*/ +('1071014', '8800', 'Shoes'), /*Black Cat Shoes*/ +('1071015', '5000', 'Shoes'), /*Maid Shoes*/ +('1071016', '5200', 'Shoes'), /*Santa Girl Boots*/ +('1071017', '3600', 'Shoes'), /*Leopard Print Shoes*/ +('1071018', '6000', 'Shoes'), /*Brown Leather Boots*/ +('1071019', '3400', 'Shoes'), /*Lunar Celebration Pumps*/ +('1071020', '4900', 'Shoes'), /*Veras Heels*/ +('1071021', '4000', 'Shoes'), /*Gothic Boots*/ +('1071040', '8800', 'Shoes'), /*Red Ribbon Shoes*/ +/*Page 12*/ +('1071044', '6300', 'Shoes'), /*Pinky Pretty Gomushin*/ +('1071048', '4700', 'Shoes'), /*Alps Girl Shoes*/ +('1071088', '5000', 'Shoes'), /*Ms. Time Shoes*/ +('1071089', '5600', 'Shoes'), /*Pure Farmer Sandals*/ +('1071090', '7400', 'Shoes'), /*Bloody Heels*/ +('1071091', '5200', 'Shoes'), /*Soldier Shoes*/ +('1071092', '6400', 'Shoes'), /*Time Mistress Shoes*/ +('1071093', '8800', 'Shoes'), /*Red Santa Boots*/ +('1071094', '3200', 'Shoes'), /*Ms. Time Shoes*/ +/*Page 13*/ +('1071095', '7600', 'Shoes'), /*Concert Muse Heels*/ +('1071096', '4000', 'Shoes'), /*Pink Spring Sandals*/ +('1071097', '3800', 'Shoes'), /*Navillera Flats*/ +('1071098', '3800', 'Shoes'), /*Navillera Flats*/ +('1071099', '6000', 'Shoes'), /*Angel Rose Shoes*/ +('1071100', '5600', 'Shoes'), /*Lemon Shoes*/ +('1071101', '4900', 'Shoes'), /*Sweet Sugar Shoes*/ +('1071102', '6000', 'Shoes'), /*Constellation Heels*/ +('1071103', '7400', 'Shoes'), /*Brilliant Dance Shoes*/ +/*Page 14*/ +('1071074', '6000', 'Shoes'), /*Shadow Garter*/ +('1071076', '7600', 'Shoes'), /*Colorful Picnic Shoes*/ +('1071077', '5600', 'Shoes'), /*[[FROZEN CONTENT]] Elsa Heels*/ +('1071078', '3800', 'Shoes'), /*Glass Slippers*/ +('1071080', '3800', 'Shoes'), /*Ribbon Angel Shoes*/ +('1071081', '3200', 'Shoes'), /*Pink Macaron Shoes*/ +('1071082', '7400', 'Shoes'), /*Santa Girl Boots*/ +('1071083', '4900', 'Shoes'), /*Cozy Snow Flower*/ +('1071084', '5000', 'Shoes'), /*The Kingdom Blue Heels of Queen*/ +/*Page 15*/ +('1071085', '3400', 'Shoes'), /*Soaring Cloud*/ +('1071087', '5200', 'Shoes'), /*Yeonhwa School Shoes*/ +('1071120', '4000', 'Shoes'), /*Empress's Steps*/ +('1071121', '4700', 'Shoes'), /*Necrotic Shoes*/ +('1071122', '5000', 'Shoes'), /*Warrior's Steps*/ +('1071123', '7100', 'Shoes'), /*Camelia Pumps*/ +('1071124', '4700', 'Shoes'), /*Santa Girl Boots*/ +('1071125', '5600', 'Shoes'), /*Santa Boots*/ +('1071126', '3200', 'Shoes'), /*Snappy Delivery Shoes*/ +/*Page 16*/ +('1071104', '4000', 'Shoes'), /*Brilliant Dance Shoes*/ +('1071105', '6400', 'Shoes'), /*Cherry Sashay*/ +('1071106', '6400', 'Shoes'), /*Swift as a Bird*/ +('1071107', '5000', 'Shoes'), /*Wedding Pumps*/ +('1071108', '5600', 'Shoes'), /*Crimson Fate Shoes*/ +('1071109', '4900', 'Shoes'), /*Crimson Fate Shoes*/ +('1071110', '7100', 'Shoes'), /*Music Stairs*/ +('1071111', '5600', 'Shoes'), /*Spooky Heels*/ +('1071112', '6000', 'Shoes'), /*Iron Mace Shoes*/ +/*Page 17*/ +('1071113', '3200', 'Shoes'), /*Santa Boots*/ +('1071114', '3600', 'Shoes'), /*Flowery Path*/ +('1071115', '4000', 'Shoes'), /*Carbon Wing Boots*/ +('1071116', '3800', 'Shoes'), /*Little Darling Shoes*/ +('1071117', '5600', 'Shoes'), /*Shimmering Starlight Pumps*/ +('1071118', '8800', 'Shoes'), /*Shimmering Starlight Pumps*/ +('1072010', '6300', 'Shoes'), /*Black Dress Shoes*/ +('1072013', '8800', 'Shoes'), /*Red Air H's*/ +('1072014', '4900', 'Shoes'), /*Camping Boots*/ +/*Page 18*/ +('1072057', '3600', 'Shoes'), /*Blue Air H's*/ +('1072058', '7600', 'Shoes'), /*Black Air H's*/ +('1072088', '5200', 'Shoes'), /*Cowboy Boots*/ +('1072092', '3200', 'Shoes'), /*Yellow Flippers*/ +('1072093', '3800', 'Shoes'), /*Blue Flippers*/ +('1072094', '3400', 'Shoes'), /*Yellow Rain Boots*/ +('1072095', '5200', 'Shoes'), /*Sky Blue Rain Boots*/ +('1072096', '3400', 'Shoes'), /*Red Rain Boots*/ +('1072097', '7400', 'Shoes'), /*Green Rain Boots*/ +/*Page 19*/ +('1072098', '5600', 'Shoes'), /*Blue Baseball Cleats*/ +('1072099', '4700', 'Shoes'), /*Red Baseball Cleats*/ +('1072100', '6300', 'Shoes'), /*Black Baseball Cleats*/ +('1072111', '7600', 'Shoes'), /*Black Leather Boots*/ +('1072153', '3800', 'Shoes'), /*Transparent Shoes*/ +('1072176', '4900', 'Shoes'), /*Military Boots*/ +('1072180', '5000', 'Shoes'), /*Flipper Boots*/ +('1072181', '7400', 'Shoes'), /*Green Ting Slippers*/ +('1072186', '4900', 'Shoes'), /*Gold Kitty Slippers*/ +/*Page 20*/ +('1072187', '5600', 'Shoes'), /*Blue Marble Slippers*/ +('1072188', '5200', 'Shoes'), /*Red Marble Slippers*/ +('1072189', '6300', 'Shoes'), /*Bunny Slippers*/ +('1072190', '6400', 'Shoes'), /*Blue B-ball Sneakers*/ +('1072191', '6300', 'Shoes'), /*Orange B-ball Sneakers*/ +('1072175', '7100', 'Shoes'), /*Ninja Shoes*/ +('1072217', '6000', 'Shoes'), /*Beige Golashes*/ +('1072218', '6400', 'Shoes'), /*Sky Blue Golashes*/ +('1072219', '6300', 'Shoes'), /*Pink Golashes*/ +/*Page 21*/ +('1072199', '3600', 'Shoes'), /*Ragged Gomushin*/ +('1072200', '7600', 'Shoes'), /*Brown Dress Shoes*/ +('1072201', '5600', 'Shoes'), /*Red Leather Boots*/ +('1072202', '7400', 'Shoes'), /*M-Forcer Boots*/ +('1072240', '7400', 'Shoes'), /*Big Rabbit Feet*/ +('1072241', '7600', 'Shoes'), /*Liu Bei Shoes*/ +('1072242', '3400', 'Shoes'), /*Cao Cao Shoes*/ +('1072243', '6000', 'Shoes'), /*Sun Quan Shoes*/ +('1072244', '8800', 'Shoes'), /*Red Enamel Shoes*/ +/*Page 22*/ +('1072245', '5600', 'Shoes'), /*Blue Enamel Shoes*/ +('1072246', '8800', 'Shoes'), /*Pink Sneakers*/ +('1072247', '5000', 'Shoes'), /*Hunting Boots*/ +('1072250', '5200', 'Shoes'), /*Horoscope Shoes*/ +('1072251', '4700', 'Shoes'), /*Pro-Cat Sticker*/ +('1072252', '6400', 'Shoes'), /*Snowboard Boots*/ +('1072253', '3200', 'Shoes'), /*Red Santa Shoes*/ +('1072254', '7600', 'Shoes'), /*Football Cleats (Home)*/ +('1072255', '8800', 'Shoes'), /*Football Cleats (Away)*/ +/*Page 23*/ +('1072230', '5200', 'Shoes'), /*Black Boxing Shoes*/ +('1072231', '4000', 'Shoes'), /*Blue Boxing Shoes*/ +('1072232', '4900', 'Shoes'), /*Red Boxing Shoes*/ +('1072233', '3200', 'Shoes'), /*Bear Shoes*/ +('1072234', '6300', 'Shoes'), /*Bubbling Slippers*/ +('1072235', '7400', 'Shoes'), /*Slime Slippers*/ +('1072236', '7600', 'Shoes'), /*Guan Yu Shoes*/ +('1072237', '5200', 'Shoes'), /*Zhu-Ge-Liang Shoes*/ +('1072274', '5200', 'Shoes'), /*Moon Bunny Paws*/ +/*Page 24*/ +('1072276', '3800', 'Shoes'), /*Booster Shoes*/ +('1072277', '5000', 'Shoes'), /*Red Elf shoes*/ +('1072278', '8800', 'Shoes'), /*Rudolph Slippers*/ +('1072279', '6000', 'Shoes'), /*Super Booster Shoes*/ +('1072280', '6300', 'Shoes'), /*Golden Shoes*/ +('1072281', '3800', 'Shoes'), /*Sachiel Shoes*/ +('1072282', '3800', 'Shoes'), /*Veamoth Shoes*/ +('1072283', '7400', 'Shoes'), /*Janus Shoes*/ +('1072284', '6300', 'Shoes'), /*Zhu Ba Jie Shoes*/ +/*Page 25*/ +('1072256', '5200', 'Shoes'), /*Teddy Bear Shoes*/ +('1072257', '7600', 'Shoes'), /*Puppy Slippers*/ +('1072258', '8800', 'Shoes'), /*Gray Kitty Slippers*/ +('1072259', '7400', 'Shoes'), /*Chick Slippers*/ +('1072260', '8800', 'Shoes'), /*Penguin Slippers*/ +('1072265', '3800', 'Shoes'), /*Blue Soccer Cleats*/ +('1072266', '5600', 'Shoes'), /*Black Soccer Cleats*/ +('1072267', '7100', 'Shoes'), /*Red Soccer Cleats*/ +('1072270', '4900', 'Shoes'), /*White Rabbit Shoes*/ +/*Page 26*/ +('1072271', '4000', 'Shoes'), /*Black Cat Shoes*/ +('1072336', '4900', 'Shoes'), /*Soccer Cleats*/ +('1072337', '5600', 'Shoes'), /*Fluffy Slippers*/ +('1072341', '3800', 'Shoes'), /*Orange Sneakz*/ +('1072347', '6300', 'Shoes'), /*Olive Green Kicks*/ +('1072348', '5000', 'Shoes'), /*Elephant Slippers*/ +('1072349', '3800', 'Shoes'), /*Green Sneakz*/ +('1072350', '6300', 'Shoes'), /*Black High Tops*/ +('1072351', '8800', 'Shoes'), /*Green Ankle Boots for Transformation*/ +/*Page 27*/ +('1072322', '5600', 'Shoes'), /*Rollerskates*/ +('1072323', '5200', 'Shoes'), /*Starry Slippers*/ +('1072324', '4000', 'Shoes'), /*Piggy Slippers*/ +('1072325', '3800', 'Shoes'), /*Red Slime Slippers*/ +('1072326', '6300', 'Shoes'), /*Yellow Slime Slippers*/ +('1072327', '6300', 'Shoes'), /*Tania En Fuego*/ +('1072328', '3800', 'Shoes'), /*Mercury Lightning*/ +('1072329', '4000', 'Shoes'), /*Flipped Blue High Top*/ +('1072330', '3800', 'Shoes'), /*Black Classic Sneakers*/ +/*Page 28*/ +('1072331', '3800', 'Shoes'), /*Velcro High Tops*/ +('1072332', '4900', 'Shoes'), /*Black Enamel Shoes*/ +('1072333', '6300', 'Shoes'), /*Green Classic Sneakers*/ +('1072334', '4900', 'Shoes'), /*Red Checkered Sneakers*/ +('1072335', '7400', 'Shoes'), /*Natural Golashes*/ +('1072370', '6000', 'Shoes'), /*Gaga Shoes*/ +('1072371', '4700', 'Shoes'), /*Custom Blue High Tops*/ +('1072373', '6000', 'Shoes'), /*Purple Rainbow Sneaks*/ +('1072374', '6300', 'Shoes'), /*Lace Long Boots*/ +/*Page 29*/ +('1072377', '5200', 'Shoes'), /*Treacherous Wolf Shoes*/ +('1072379', '6300', 'Shoes'), /*Yellow Rainbow Sneaks*/ +('1072380', '4700', 'Shoes'), /*White & Blue Sandals*/ + + + +/*Page 1*/ +('1072381', '7600', 'Shoes 2'), /*Aran Combat Shoes*/ +('1072382', '4000', 'Shoes 2'), /*Brave Soldier Shoes */ +('1072352', '3800', 'Shoes 2'), /*Red Silky Boots for Transformation*/ +('1072353', '3800', 'Shoes 2'), /*White Ninja Sandals for Transformation*/ +('1072354', '5600', 'Shoes 2'), /*Black Voyson Shoes for Transformation*/ +('1072367', '5200', 'Shoes 2'), /*Cutie Birk Shoes*/ +('1072404', '6000', 'Shoes 2'), /*Alchemist Shoes*/ +('1072405', '7600', 'Shoes 2'), /*Ninja Shoes*/ +('1072406', '5000', 'Shoes 2'), /*Chaos Metallic Shoes*/ +/*Page 2*/ +('1072407', '3400', 'Shoes 2'), /*Kawaii Kitty Shoes*/ +('1072408', '6300', 'Shoes 2'), /*Maple Racing Shoes*/ +('1072410', '3400', 'Shoes 2'), /*Super Booster Shoes*/ +('1072384', '3200', 'Shoes 2'), /*Bling Bling Shoes*/ +('1072385', '4700', 'Shoes 2'), /*White Slipshoes*/ +('1072386', '5200', 'Shoes 2'), /*Black Geda*/ +('1072387', '6300', 'Shoes 2'), /*Pink Geda*/ +('1072388', '4000', 'Shoes 2'), /*Stripe Knee Socks*/ +('1072389', '6000', 'Shoes 2'), /*Black Platform Boots*/ +/*Page 3*/ +('1072392', '7100', 'Shoes 2'), /*Red Ankle-Strap Shoes*/ +('1072393', '4700', 'Shoes 2'), /*We Care! Shoes*/ +('1072394', '7400', 'Shoes 2'), /*Pink Polka-Dotted Boots*/ +('1072395', '5600', 'Shoes 2'), /*Mix-n-Match Sneakers*/ +('1072396', '6300', 'Shoes 2'), /*Gaga Shoes*/ +('1072397', '5200', 'Shoes 2'), /*Idol Star Snickers*/ +('1072398', '6000', 'Shoes 2'), /*Cursed Golden shoes*/ +('1072433', '6300', 'Shoes 2'), /*Passionate Flats*/ +('1072437', '4000', 'Shoes 2'), /*Pink Bean Shoes*/ +/*Page 4*/ +('1072438', '3800', 'Shoes 2'), /*Green Leaf Shoes*/ +('1072439', '4000', 'Shoes 2'), /*Strawberry Shoes*/ +('1072440', '8800', 'Shoes 2'), /*Cat Set Boots*/ +('1072441', '6000', 'Shoes 2'), /*Dual Blade Boots*/ +('1072443', '4700', 'Shoes 2'), /*Evan Golden Boots*/ +('1072444', '7600', 'Shoes 2'), /*Hawkeye Ocean Boots*/ +('1072417', '6000', 'Shoes 2'), /*Clown Shoes*/ +('1072425', '6300', 'Shoes 2'), /*Freud's Shoes*/ +('1072426', '4000', 'Shoes 2'), /*Shiny Anklet*/ +/*Page 5*/ +('1072464', '6300', 'Shoes 2'), /*Combat Boots*/ +('1072465', '5200', 'Shoes 2'), /*King Crow Kimono Shoes*/ +('1072466', '6300', 'Shoes 2'), /*Henesys Academy Shoes*/ +('1072467', '4900', 'Shoes 2'), /*Pilot Boots*/ +('1072468', '5600', 'Shoes 2'), /*Lolita Knee Socks Shoes*/ +('1072469', '3600', 'Shoes 2'), /*Striped Leggings (Pink)*/ +('1072470', '3800', 'Shoes 2'), /*Striped Leggings (Blue)*/ +('1072478', '4900', 'Shoes 2'), /*Brown Ankle Boots*/ +('1072448', '6300', 'Shoes 2'), /*Rainbow Boots*/ +/*Page 6*/ +('1072454', '4000', 'Shoes 2'), /*Oz Magic Boots*/ +('1072456', '5200', 'Shoes 2'), /*Evan Boots*/ +('1072457', '6000', 'Shoes 2'), /*Blue Slip-Ons*/ +('1072461', '6400', 'Shoes 2'), /*Battle Mage Boots*/ +('1072462', '4900', 'Shoes 2'), /*Wild Hunter Boots*/ +('1072507', '8800', 'Shoes 2'), /*Pearl Anklet*/ +('1072508', '3800', 'Shoes 2'), /*Winter 2010 Moon Bunny Shoes*/ +('1072509', '6300', 'Shoes 2'), /*Red's Shoes*/ +('1072482', '5600', 'Shoes 2'), /*Panda Slippers*/ +/*Page 7*/ +('1072483', '7100', 'Shoes 2'), /*White Boots*/ +('1072484', '6000', 'Shoes 2'), /*Black Kitty Slippers*/ +('1072495', '7600', 'Shoes 2'), /*Blue Sneakers*/ +('1072529', '3200', 'Shoes 2'), /*Pink Elephant Slippers*/ +('1072531', '3600', 'Shoes 2'), /*Koala Slippers*/ +('1072532', '7600', 'Shoes 2'), /*MSE 4 Years & Unstoppable Shoes*/ +('1072536', '3400', 'Shoes 2'), /*Starling Shoes*/ +('1072537', '4700', 'Shoes 2'), /*Crow Shoes*/ +('1072514', '8800', 'Shoes 2'), /*Pink Winged Shoes*/ +/*Page 8*/ +('1072515', '4000', 'Shoes 2'), /*Furry Lion Slippers*/ +('1072516', '5200', 'Shoes 2'), /*Rookie Chick Slippers*/ +('1072517', '6000', 'Shoes 2'), /*Winged Shoes*/ +('1072520', '4700', 'Shoes 2'), /*6th Anniversary Item*/ + +('1072627', '8800', 'Shoes 2'), /*Dark Force Boots */ +('1072628', '8800', 'Shoes 2'), /*Elven Spirit Boots */ +('1072631', '8800', 'Shoes 2'), /*Urban Pirate Shoes*/ +('1072632', '5200', 'Shoes 2'), /*Ebony Pimpernel Boots*/ +/*Page 9*/ +('1072633', '3200', 'Shoes 2'), /*GM Haku's Pirate Shoes*/ +('1072637', '4000', 'Shoes 2'), /*Hades Shoes*/ +('1072609', '6400', 'Shoes 2'), /*Ribboned Justice Boots*/ +('1072613', '8800', 'Shoes 2'), /*Western Cowboy Boots*/ +('1072622', '5000', 'Shoes 2'), /*Orchid's Black Wing Shoes*/ +('1072658', '8800', 'Shoes 2'), /*Glowing Foot Ring*/ +('1072662', '3600', 'Shoes 2'), /*Lucia Shoes*/ +('1072663', '6300', 'Shoes 2'), /*GM Nori's Wing Shoes*/ +('1072646', '5200', 'Shoes 2'), /*Elven Spirit Boots*/ +/*Page 10*/ +('1072647', '6400', 'Shoes 2'), /*Kerning Engineering School Shoes*/ +('1072648', '4900', 'Shoes 2'), /*Ellinia Magic School Shoes*/ +('1072649', '6400', 'Shoes 2'), /*Mu Lung Dojo Training Shoes*/ +('1072650', '4700', 'Shoes 2'), /*Blue Dragon Shoes*/ +('1072651', '3800', 'Shoes 2'), /*Red Dragon Shoes*/ +('1072652', '3800', 'Shoes 2'), /*Intergalactic Shoes*/ +('1072676', '3200', 'Shoes 2'), /*The Onmyouji's Shoes*/ +('1072680', '3200', 'Shoes 2'), /*Blue Arabian Shoes*/ +('1072681', '3400', 'Shoes 2'), /*Red Arabian Shoes*/ +/*Page 11*/ +('1072729', '6000', 'Shoes 2'), /*Jett's Boots*/ +('1072708', '3400', 'Shoes 2'), /*Cool Summer Flippers*/ +('1072756', '8800', 'Shoes 2'), /*Hyper Kitten Mittens*/ +('1072757', '4900', 'Shoes 2'), /*[MS Custom] Red Rain Boots*/ +('1072758', '3200', 'Shoes 2'), /*Kitty Slippers*/ +('1072759', '7600', 'Shoes 2'), /*Chick Slippers*/ +('1072760', '3400', 'Shoes 2'), /*Halloween Leopard Shoes*/ +('1072742', '3200', 'Shoes 2'), /*Nero Paws*/ +('1072748', '3600', 'Shoes 2'), /*Exotic Festival Shoes*/ +/*Page 12*/ +('1072749', '6300', 'Shoes 2'), /*Bubble Bubble Chocolate Shoes*/ +('1072750', '3600', 'Shoes 2'), /*The Bladed Falcon's Shoes*/ +('1072791', '6400', 'Shoes 2'), /*Green Dinosaur Shoes*/ +('1072770', '5600', 'Shoes 2'), /*Dark Devil Shoes*/ +('1072771', '6400', 'Shoes 2'), /*Slither Style High-Tops*/ +('1072772', '5200', 'Shoes 2'), /*Pious Shaman Stockings*/ +('1072773', '6400', 'Shoes 2'), /*Red Strap Clogs*/ +('1072778', '7400', 'Shoes 2'), /*Dark Force Boots*/ +('1072779', '8800', 'Shoes 2'), /*Featherly Angel Shoes*/ +/*Page 13*/ +('1072780', '7100', 'Shoes 2'), /*Blue Point Kitty Shoes*/ +('1072781', '6000', 'Shoes 2'), /*Kitty Shoes*/ +('1072782', '3800', 'Shoes 2'), /*Xenon Neo-Tech Shoes*/ +('1072783', '6000', 'Shoes 2'), /*Lotus's Black Wing Shoes*/ +('1072816', '6000', 'Shoes 2'), /*Succubus Shoes*/ +('1072817', '5000', 'Shoes 2'), /*Blavy Angel Shoes*/ +('1072820', '8800', 'Shoes 2'), /*Funky Shoes*/ +('1072821', '3200', 'Shoes 2'), /*Golden Bell Shoes*/ +('1072823', '5600', 'Shoes 2'), /*Golf Shoes*/ +/*Page 14*/ +('1072824', '4000', 'Shoes 2'), /*Angel Wing Shoes*/ +('1072830', '3400', 'Shoes 2'), /*GM Daejang's Lucia Shoes*/ +('1072831', '5000', 'Shoes 2'), /*Flame Boots*/ +('1072800', '7400', 'Shoes 2'), /*Mid High Golf Shoes*/ +('1072803', '3200', 'Shoes 2'), /*Purple Dinosaur Shoes*/ +('1072807', '5200', 'Shoes 2'), /*Hilla's Shoes*/ +('1072808', '3800', 'Shoes 2'), /*Ramling Slippers*/ +('1072809', '5600', 'Shoes 2'), /*Kerning Technical High Shoes*/ +('1072810', '5000', 'Shoes 2'), /*Ellinia Magic Academy Shoes*/ +/*Page 15*/ +('1072811', '4700', 'Shoes 2'), /*Mu Lung Academy Training Shoes*/ +('1072812', '7400', 'Shoes 2'), /*Kimono Sandals*/ +('1072813', '8800', 'Shoes 2'), /*Kimono Shoes*/ +('1072848', '4700', 'Shoes 2'), /*Bloody Garter*/ +('1072851', '3200', 'Shoes 2'), /*Bubble Bubble Shoes*/ +('1072852', '3800', 'Shoes 2'), /*Superstar Shoes*/ +('1072854', '3600', 'Shoes 2'), /*フューチャーロイドスキンシューズ*/ +('1072855', '3800', 'Shoes 2'), /*フューチャーロイドネオンブーツ*/ +('1072856', '6300', 'Shoes 2'), /*Dawn Bear Comfy Boots*/ +/*Page 16*/ +('1072857', '6400', 'Shoes 2'), /*Odette Ballet Slippers*/ +('1072858', '3200', 'Shoes 2'), /*Odile Ballet Slippers*/ +('1072859', '3200', 'Shoes 2'), /*Cobalt Zero Shoes*/ +('1072860', '3800', 'Shoes 2'), /*Star Winkle*/ +('1072862', '5000', 'Shoes 2'), /*Heart Pudding Slippers*/ +('1072863', '3600', 'Shoes 2'), /*Stirkandbock Sandals*/ +('1072832', '7100', 'Shoes 2'), /*Pink Bean Slippers*/ +('1072836', '4700', 'Shoes 2'), /*Baseball Shoes*/ +('1072838', '5600', 'Shoes 2'), /*Panda Slippers*/ +/*Page 17*/ +('1072839', '4900', 'Shoes 2'), /*Shoes of Life*/ +('1072840', '3400', 'Shoes 2'), /*Shoes of Destruction*/ +('1072843', '3400', 'Shoes 2'), /*Bubble Flip Flops*/ +('1072880', '7600', 'Shoes 2'), /*Aran's Boots*/ +('1072881', '3400', 'Shoes 2'), /*Brave Aran's Boots*/ +('1072883', '3200', 'Shoes 2'), /*Heathcliff's Boots*/ +('1072884', '7100', 'Shoes 2'), /*Yui's Anklet*/ +('1072889', '5600', 'Shoes 2'), /*Snake High-tops*/ +('1072890', '3600', 'Shoes 2'), /*Mr. K's Cat Shoes*/ +/*Page 18*/ +('1072864', '7600', 'Shoes 2'), /*PSY Shoes*/ +('1072865', '5000', 'Shoes 2'), /*Camellia Flower Geta*/ +('1072866', '5600', 'Shoes 2'), /*Chocoram Doll Shoes*/ +('1072867', '3400', 'Shoes 2'), /*Puffram Shoes*/ +('1072868', '6400', 'Shoes 2'), /*Powder Flats*/ +('1072869', '3200', 'Shoes 2'), /*Princess of Time Heels*/ +('1072871', '7400', 'Shoes 2'), /*Halloweenroid Boots*/ +('1072873', '7600', 'Shoes 2'), /*Asuna's Shoes*/ +('1072875', '4900', 'Shoes 2'), /*Leafa's Shoes*/ +/*Page 19*/ +('1072876', '4000', 'Shoes 2'), /*Cacao Bear Shoes*/ +('1072877', '5200', 'Shoes 2'), /*Dark Devil Shoes*/ +('1072878', '6400', 'Shoes 2'), /*Vampire Phantom Boots*/ +('1072879', '6400', 'Shoes 2'), /*Freud's Shoes*/ +('1072913', '4900', 'Shoes 2'), /*Blue Slippers*/ +('1072916', '6300', 'Shoes 2'), /*Guardian Shoes*/ +('1072917', '4900', 'Shoes 2'), /*Cutie Horse Shoes*/ +('1072918', '4900', 'Shoes 2'), /*Pink Flowery Shoes*/ +('1072919', '6000', 'Shoes 2'), /*Blue Butterfly Shoes*/ +/*Page 20*/ +('1072920', '3200', 'Shoes 2'), /*Ghost Bride's Shoes*/ +('1072921', '3600', 'Shoes 2'), /*Fancy Magician Shoes*/ +('1072922', '3600', 'Shoes 2'), /*Chef Shoes*/ +('1072923', '6000', 'Shoes 2'), /*Contemporary Chic Shoes*/ +('1072924', '4900', 'Shoes 2'), /*Nurse Boots*/ +('1072925', '3600', 'Shoes 2'), /*Doctor Boots*/ +('1072926', '8800', 'Shoes 2'), /*Colorful Sneakers*/ +('1072897', '4700', 'Shoes 2'), /*Blue Moccasin*/ +('1072901', '4900', 'Shoes 2'), /*Moonlight Marble Shoes*/ +/*Page 21*/ +('1072908', '7100', 'Shoes 2'), /*Pony Wing Shoes*/ +('1072909', '7400', 'Shoes 2'), /*Purple Rainbow Sneaks*/ +('1072910', '5000', 'Shoes 2'), /*Cacao Bear Shoes*/ +('1072944', '5600', 'Shoes 2'), /*暗夜精灵战靴*/ +('1072945', '5200', 'Shoes 2'), /*隐武士战靴*/ +('1072949', '4700', 'Shoes 2'), /*Red Pony Sneakers*/ +('1072950', '7400', 'Shoes 2'), /*Blue Pony Sneakers*/ +('1072951', '8800', 'Shoes 2'), /*Hula Hula Beaded Anklet*/ +('1072934', '3200', 'Shoes 2'), /*Rainbow Sneakers*/ +/*Page 22*/ +('1072942', '7600', 'Shoes 2'), /*Island Travel Shoes*/ +('1072943', '6300', 'Shoes 2'), /*Humming Shoes*/ +('1072978', '4700', 'Shoes 2'), /*Glowy Leather Shoes*/ +('1072979', '7600', 'Shoes 2'), /*Bright Angel Boots*/ +('1072980', '7600', 'Shoes 2'), /*Dark Devil Boots*/ +('1073008', '7400', 'Shoes 2'), /*Scarlet Sneakers*/ +('1073009', '3400', 'Shoes 2'), /*Corn Shoes*/ +('1073011', '7400', 'Shoes 2'), /*Cheerleader Shoes*/ +('1073013', '6000', 'Shoes 2'), /*Wiggly Puppy Shoes*/ +/*Page 23*/ +('1073014', '3600', 'Shoes 2'), /*Pink Puppy Shoes*/ +('1073019', '3400', 'Shoes 2'), /*Dinofrog Shoes*/ +('1073022', '3800', 'Shoes 2'), /*Pink Kitty Blue Sneakers*/ +('1072998', '5200', 'Shoes 2'), /*Rabbit-Bear Slippers*/ +('1072999', '5600', 'Shoes 2'), /*Ribbon Red Shoes*/ +('1073040', '5000', 'Shoes 2'), /*Maple Mouse Shoes*/ +('1073041', '3800', 'Shoes 2'), /*Black Forte Boots*/ +('1073044', '6300', 'Shoes 2'), /*-*/ +('1073046', '7100', 'Shoes 2'), /*Baby Ram Slippers (Blue)*/ +/*Page 24*/ +('1073047', '6400', 'Shoes 2'), /*Baby Ram Slippers (Pink)*/ +('1073050', '7400', 'Shoes 2'), /*Ring Sneakers*/ +('1073051', '3800', 'Shoes 2'), /*Ryan D Shoes*/ +('1073052', '6300', 'Shoes 2'), /*Sierra Grace Boots */ +('1073055', '7100', 'Shoes 2'), /*Akarin's Flowery Shoes*/ +('1073024', '4700', 'Shoes 2'), /*Red Shoes*/ +('1073025', '5600', 'Shoes 2'), /*Hatchling Shoes*/ +('1073027', '7400', 'Shoes 2'), /*ODM Gear*/ +('1073036', '5600', 'Shoes 2'), /*Blue Bird Shoes*/ +/*Page 25*/ +('1073037', '7600', 'Shoes 2'), /*Cutie Bunny Shoes*/ +('1073038', '7400', 'Shoes 2'), /*Soft Pink Boots*/ +('1073039', '4700', 'Shoes 2'), /*Cutie Birk Shoes*/ +('1073074', '4700', 'Shoes 2'), /*Schwarzer Boots*/ +('1073075', '5000', 'Shoes 2'), /*Mint Kitty Slippers*/ +('1073079', '3800', 'Shoes 2'), /*Mousy Bunny Jelly Flops*/ +('1073080', '5000', 'Shoes 2'), /*Black Sailor Shoes*/ +('1073082', '7600', 'Shoes 2'), /*Odette Ballet Slippers*/ +('1073084', '4900', 'Shoes 2'), /*Kinesis Shoes*/ +/*Page 26*/ +('1073085', '7600', 'Shoes 2'), /*Kinesis Shoes*/ +('1073056', '4000', 'Shoes 2'), /*Blooming Spring*/ +('1073058', '6300', 'Shoes 2'), /*Naughty Boy Shoes*/ +('1073059', '6400', 'Shoes 2'), /*Cat Knee Socks*/ +('1073060', '7600', 'Shoes 2'), /*Noble Blossom Shoes*/ +('1073061', '7400', 'Shoes 2'), /*Pink Blossom Shoes*/ +('1073062', '3400', 'Shoes 2'), /*Cottontail Rabbit Shoes*/ +('1073105', '5000', 'Shoes 2'), /*Exciting Kicks*/ +('1073106', '5200', 'Shoes 2'), /*Polar Booties*/ +/*Page 27*/ +('1073107', '4700', 'Shoes 2'), /*Wooden Bell Shoes*/ +('1073108', '3200', 'Shoes 2'), /*Flutter Bell Sandals*/ +('1073115', '6000', 'Shoes 2'), /*Evan Dragon Boots*/ +('1073116', '4900', 'Shoes 2'), /*Evan Dragon Boots*/ +('1073117', '3600', 'Shoes 2'), /*Royal Mercedes Shoes*/ +('1073118', '7100', 'Shoes 2'), /*Royal Mercedes Shoes*/ +('1073119', '4700', 'Shoes 2'), /*Mystic Phantom Shoes*/ +('1073088', '6300', 'Shoes 2'), /*Bluebird Shoes*/ +('1073090', '5600', 'Shoes 2'), /*White Ursus Slippers*/ +/*Page 28*/ +('1073091', '7600', 'Shoes 2'), /*Brown Ursus Slippers*/ +('1073092', '5600', 'Shoes 2'), /*Black Ursus Slippers*/ +('1073096', '5000', 'Shoes 2'), /*Little Vampire Shoes*/ + +('1073098', '6000', 'Shoes 2'), /*Arctic Snow Shoes*/ +('1073144', '3400', 'Shoes 2'), /*Shark Bite Shoes*/ +('1073145', '8800', 'Shoes 2'), /*Kitty Follower*/ +('1073148', '3200', 'Shoes 2'), /*Berry Shoes*/ +('1073149', '3400', 'Shoes 2'), /*Noble Maple Shoes*/ +/*Page 29*/ +('1073150', '4900', 'Shoes 2'), /*Chicken Cutie Shoes*/ +('1073151', '4000', 'Shoes 2'), /*Hydrangea Shoes*/ +('1073120', '7100', 'Shoes 2'), /*Mystic Phantom Shoes*/ + + + +/*Page 1*/ +('1073121', '6000', 'Shoes 3'), /*Winter Aran Boots*/ +('1073122', '8800', 'Shoes 3'), /*Winter Aran Boots*/ +('1073123', '6400', 'Shoes 3'), /*Chiaroscuro Luminous Shoes*/ +('1073124', '5000', 'Shoes 3'), /*Chiaroscuro Luminous Shoes*/ +('1073125', '3800', 'Shoes 3'), /*Secret Shade Boots*/ +('1073126', '3400', 'Shoes 3'), /*Secret Shade Boots*/ +('1073127', '3400', 'Shoes 3'), /*Cozy Fluffy Slippers*/ +('1073128', '3800', 'Shoes 3'), /*Snow Boots*/ +('1073129', '8800', 'Shoes 3'), /*Cozy Fur Shoes*/ +/*Page 2*/ +('1073132', '3600', 'Shoes 3'), /*Umbral Shoes*/ +('1073133', '3400', 'Shoes 3'), /*Umbral Boots*/ +('1073134', '5000', 'Shoes 3'), /*Flower Dancer's Sandals*/ +('1073135', '7100', 'Shoes 3'), /*Moon Dancer's Boots*/ +('1073168', '3800', 'Shoes 3'), /*Chained Princess Shoes*/ +('1073169', '8800', 'Shoes 3'), /*Bichon Shoes*/ +('1073170', '8800', 'Shoes 3'), /*Midnight Steps*/ +('1073171', '3600', 'Shoes 3'), /*Midnight Tiptoes*/ +('1073172', '3200', 'Shoes 3'), /*Vampire Phantom Boots*/ +/*Page 3*/ +('1073175', '5200', 'Shoes 3'), /*Sweetheart Shoes*/ +('1073176', '7600', 'Shoes 3'), /*Sweetheart Slippers*/ +('1073177', '7100', 'Shoes 3'), /*Emilia's Heels*/ +('1073178', '4700', 'Shoes 3'), /*Subaru's Sneakers*/ +('1073179', '6000', 'Shoes 3'), /*Felt's Shoes*/ +('1073180', '5600', 'Shoes 3'), /*Priscilla's Heels*/ +('1073181', '6400', 'Shoes 3'), /*Winter Bunny Boots (Teal)*/ +('1073182', '5200', 'Shoes 3'), /*Winter Bunny Boots (Pink)*/ +('1073183', '5600', 'Shoes 3'), /*Pumpkin Cookie*/ +/*Page 4*/ +('1073152', '6000', 'Shoes 3'), /*Black Scout Shoes*/ +('1073153', '3600', 'Shoes 3'), /*Blaster Shoes*/ +('1073154', '3800', 'Shoes 3'), /*Blaster Shoes*/ +('1073155', '5600', 'Shoes 3'), /*Villain Shoes*/ +('1073156', '3600', 'Shoes 3'), /*Colorful Beach Sandals*/ +('1073157', '7100', 'Shoes 3'), /*Red Cloud Shoes*/ +('1073163', '3200', 'Shoes 3'), /*Starry Night Flowers*/ +('1073164', '4000', 'Shoes 3'), /*Winged Pony Boots*/ + +/*Page 5*/ +('1073167', '3200', 'Shoes 3'), /*Dark Musician Shoes*/ +('1073200', '5000', 'Shoes 3'), /*Soft Moon*/ +('1073201', '7100', 'Shoes 3'), /*Spring Fairy Shoes*/ +('1073203', '7400', 'Shoes 3'), /*Cape Shoes (M)*/ +('1073204', '6300', 'Shoes 3'), /*Cape Shoes (F)*/ +('1073205', '6400', 'Shoes 3'), /*Strawberry Sneakers*/ +('1073212', '6000', 'Shoes 3'), /*Retro Roller Skates*/ +('1073213', '3200', 'Shoes 3'), /*Starlit Dreamwalkers*/ + +/*Page 6*/ +('1073215', '3200', 'Shoes 3'), /*Pop Star Shoes (F)*/ +('1073184', '8800', 'Shoes 3'), /*Pumpkin Soup*/ +('1073185', '7600', 'Shoes 3'), /*Chick Shoes*/ +('1073186', '5200', 'Shoes 3'), /*Cluck Cluck Slippers*/ +('1073188', '6000', 'Shoes 3'), /*White Night Sandals*/ +('1073189', '6400', 'Shoes 3'), /*Snow Moon Flower Sandals*/ +('1073192', '7600', 'Shoes 3'), /*Polar Explorer Boots*/ +('1073193', '7400', 'Shoes 3'), /*Sweet Chocolate Dessert Shoes*/ +('1073194', '6400', 'Shoes 3'), /*Sweet Fresh Cream Dessert Shoes*/ +/*Page 7*/ +('1073195', '7100', 'Shoes 3'), /*Yellow Chick Shoes (M)*/ +('1073196', '7100', 'Shoes 3'), /*Yellow Chick Shoes (F)*/ +('1073237', '6000', 'Shoes 3'), /*Stitched Sneakers*/ +('1073238', '4900', 'Shoes 3'), /*Rabble Rouser Shoes (F)*/ +('1073239', '6000', 'Shoes 3'), /*Rabble Rouser Shoes (M)*/ +('1073240', '5000', 'Shoes 3'), /*Cat Cafe Kicks (M)*/ +('1073241', '3600', 'Shoes 3'), /*Cat Cafe Kicks (F)*/ +('1073242', '3800', 'Shoes 3'), /*Shadow Tactician Shoes*/ +('1073243', '3600', 'Shoes 3'), /*Puppy Love Samurai Shoes (M)*/ +/*Page 8*/ +('1073244', '4700', 'Shoes 3'), /*Puppy Love Samurai Shoes (F)*/ +('1073246', '4000', 'Shoes 3'), /*Gold Strap Shoes*/ +('1073247', '5000', 'Shoes 3'), /*Meow Shoes*/ +('1073216', '4700', 'Shoes 3'), /*Pop Star Shoes (M)*/ +('1073217', '6300', 'Shoes 3'), /*Oxford Shoes*/ +('1073218', '3400', 'Shoes 3'), /*Froggy Rainboots*/ +('1073219', '6400', 'Shoes 3'), /*Napoleonic Boots*/ +('1073222', '5600', 'Shoes 3'), /*Iron Mace Uniform Shoes (F)*/ +('1073223', '5200', 'Shoes 3'), /*Iron Mace Uniform Shoes (M)*/ +/*Page 9*/ +('1073226', '6400', 'Shoes 3'), /*Preppy Sprout Boaters*/ +('1073228', '6400', 'Shoes 3'), /*Forest Breeze Sandals*/ +('1073229', '4000', 'Shoes 3'), /*Red Flipflops*/ +('1073230', '8800', 'Shoes 3'), /*Blue Flipflops*/ +('1073264', '5600', 'Shoes 3'), /*Royal Guard Shoes (M)*/ +('1073265', '7400', 'Shoes 3'), /*Red Bear Winter Boots*/ +('1073266', '3200', 'Shoes 3'), /*World of Pink Shoes (M)*/ +('1073267', '6300', 'Shoes 3'), /*World of Pink Shoes (F)*/ +('1073268', '5200', 'Shoes 3'), /*Pink Bear Winter Boots*/ +/*Page 10*/ +('1073269', '4000', 'Shoes 3'), /*Alchemist Shoes*/ +('1073270', '8800', 'Shoes 3'), /*Homeless Cat Shoes*/ +('1073271', '4900', 'Shoes 3'), /*Kiddy Crayon Shoes*/ +('1073272', '4000', 'Shoes 3'), /*Tennis Shoes*/ +('1073273', '7600', 'Shoes 3'), /*Raindrop Boots*/ +('1073274', '5600', 'Shoes 3'), /*Super Summer Shoes (F)*/ +('1073275', '8800', 'Shoes 3'), /*Super Summer Shoes (M)*/ +('1073276', '3400', 'Shoes 3'), /*Ark Shoes*/ +('1073250', '4700', 'Shoes 3'), /*Warm Pink Bear Shoes*/ +/*Page 11*/ +('1073251', '4900', 'Shoes 3'), /*Warm Blue Bear Shoes*/ +('1073252', '3200', 'Shoes 3'), /*Strawberry Sneakers*/ +('1073253', '6400', 'Shoes 3'), /*Cadena Agent Shoes*/ +('1073254', '4000', 'Shoes 3'), /*Half Bandage*/ +('1073255', '8800', 'Shoes 3'), /*Soft Boots*/ +('1073258', '3600', 'Shoes 3'), /*Soft Snow Slippers*/ +('1073259', '6400', 'Shoes 3'), /*Captain Boots*/ +('1073261', '4900', 'Shoes 3'), /*Chunky Cable-Knit Shoes*/ +('1073262', '5200', 'Shoes 3'), /*Lunar New Year VIP Shoes*/ +/*Page 12*/ +('1073263', '3200', 'Shoes 3'), /*Royal Guard Shoes (F)*/ +('1073297', '5200', 'Shoes 3'), /*Crispy Carrot Flippers*/ +('1073298', '4700', 'Shoes 3'), /*Spring Green Slip-Ons*/ +('1073299', '3400', 'Shoes 3'), /*Traditional Thai Attire Shoes*/ +('1073302', '3200', 'Shoes 3'), /*Seafoam Coral Anklet*/ +('1073303', '7600', 'Shoes 3'), /*Starry Summer Night Shoes*/ +('1073304', '7100', 'Shoes 3'), /*Rock Spirit Slippers*/ +('1073305', '4700', 'Shoes 3'), /*Alliance Commander Shoes*/ +('1073308', '7100', 'Shoes 3'), /*Cutie Pie Trainers*/ +/*Page 13*/ +('1073309', '4900', 'Shoes 3'), /*Cutie Pie High-Tops*/ +('1073310', '8800', 'Shoes 3'), /*Heavenly Prayer Shoes*/ +('1073280', '5600', 'Shoes 3'), /*Candy Shoes*/ +('1073281', '4900', 'Shoes 3'), /*Maple Gumshoe's Gumshoes*/ +('1073282', '7400', 'Shoes 3'), /*Ball and Chain*/ +('1073283', '3800', 'Shoes 3'), /*Erda Shoes*/ +('1073284', '5600', 'Shoes 3'), /*Sakura Battle Costume Shoes*/ +('1073285', '5200', 'Shoes 3'), /*Tomoeda Middle School Male Shoes*/ +('1073286', '3200', 'Shoes 3'), /*Tomoeda Middle School Female Shoes*/ +/*Page 14*/ +('1073287', '3200', 'Shoes 3'), /*Syaoran Battle Costume Shoes*/ +('1073290', '3400', 'Shoes 3'), /*Clockwork Knight Shoes*/ +('1073291', '3600', 'Shoes 3'), /*Buddy Sneakers*/ +('1073292', '3400', 'Shoes 3'), /*Summer Story Shoes*/ +('1073328', '3400', 'Shoes 3'), /*Lunar New Year Pudgy Piggy Shoes*/ +('1073329', '6000', 'Shoes 3'), /*Sweet Shipmate Boaters (F)*/ +('1073330', '8800', 'Shoes 3'), /*Sweet Shipmate Boaters (M)*/ +('1073331', '7600', 'Shoes 3'), /*Hunny Bun Bear Slippers*/ +('1073335', '7400', 'Shoes 3'), /*Lavender Shearling Boots*/ +/*Page 15*/ +('1073338', '5600', 'Shoes 3'), /*Midnight Magician Shoes (M)*/ +('1073339', '7100', 'Shoes 3'), /*Midnight Magician Shoes (F)*/ +('1073341', '3200', 'Shoes 3'), /*Cursed Hunter Shoes*/ +('1073312', '7400', 'Shoes 3'), /*Delinquent Bear Shoes*/ +('1073315', '4900', 'Shoes 3'), /*Lovely Plaid Shoes*/ +('1073316', '7400', 'Shoes 3'), /*Sweet Deer Anklet*/ +('1073317', '5000', 'Shoes 3'), /*Little Star Cocoon Anklet*/ +('1073319', '7100', 'Shoes 3'), /*Cozy Winter Clothes Shoes*/ +('1073320', '5200', 'Shoes 3'), /*Regal Romance Shoes*/ +/*Page 16*/ +('1073321', '7600', 'Shoes 3'), /*Throwback Loafers*/ +('1073322', '7400', 'Shoes 3'), /*Snowflake Snowboots*/ +('1073323', '7400', 'Shoes 3'), /*Crown Fitness Trainers*/ +('1073324', '5600', 'Shoes 3'), /*Frilly Pink Pajama Slippers (F) */ +('1073325', '4700', 'Shoes 3'), /*Silly Blue Pajama Slippers (M)*/ +('1073326', '3200', 'Shoes 3'), /*Cobalt Filigree Mary Janes (F)*/ +('1073327', '7100', 'Shoes 3'), /*Cobalt Filigree Oxfords (M)*/ +('1073347', '6400', 'Shoes 3'), /*Blue Flame Hellion Shoes*/ +('1073348', '6000', 'Shoes 3'), /*Starry Light Wedges*/ +/*Page 17*/ +('1073349', '6400', 'Shoes 3'), /*Starry Light Boots*/ +('1073354', '6000', 'Shoes 3'), /*Fox Fire Anklet*/ +('1073357', '6400', 'Shoes 3'), /*Red Lotus Spirit Walker's Geta*/ + + + + + +/* Glove */ +/*Page 1*/ +('1082040', '7600', 'Glove'), /*Red Boxing Gloves*/ +('1082041', '7100', 'Glove'), /*Blue Boxing Gloves*/ +('1082077', '4900', 'Glove'), /*White Bandage*/ +('1082078', '8800', 'Glove'), /*Brown Bandage*/ +('1082079', '7600', 'Glove'), /*Black Bandage*/ +('1082057', '3200', 'Glove'), /*Brown Baseball Glove*/ +('1082058', '7100', 'Glove'), /*Blue Baseball Glove*/ +('1082101', '8800', 'Glove'), /*Santa Gloves*/ +('1082102', '3600', 'Glove'), /*Transparent Gloves*/ +/*Page 2*/ +('1082113', '4900', 'Glove'), /*Hair-Cutter Gloves*/ +('1082124', '7600', 'Glove'), /*M-Forcer Gloves*/ +('1082161', '5600', 'Glove'), /*Star Gloves*/ +('1082162', '8800', 'Glove'), /*Love Gloves*/ +('1082165', '7100', 'Glove'), /*White Rabbit Gloves*/ +('1082166', '3800', 'Glove'), /*Nero Gloves*/ +('1082169', '4000', 'Glove'), /*Moon Bunny Gloves*/ +('1082170', '5000', 'Glove'), /*Rose Crystal Watch*/ +('1082171', '5600', 'Glove'), /*Blue Watch*/ +/*Page 3*/ +('1082172', '3800', 'Glove'), /*Snowflake Gloves*/ +('1082173', '3200', 'Glove'), /*Lightning Gloves*/ +('1082155', '3200', 'Glove'), /*Snowman Gloves*/ +('1082156', '4000', 'Glove'), /*Teddy Bear Gloves*/ +('1082157', '4700', 'Glove'), /*Skull Gloves*/ +('1082224', '7400', 'Glove'), /*Tania Gloves*/ +('1082225', '3800', 'Glove'), /*Mercury Gloves*/ +('1082227', '7600', 'Glove'), /*Skull Tattoo*/ +('1082229', '8800', 'Glove'), /*Heart Ribbon Glove*/ +/*Page 4*/ +('1082231', '3200', 'Glove'), /*Luxury Wristwatch*/ +('1082233', '3400', 'Glove'), /*Moomoo Gloves*/ +('1082261', '6400', 'Glove'), /*Freud's Gloves*/ +('1082263', '8800', 'Glove'), /*Bunny Gloves*/ +('1082267', '7600', 'Glove'), /*Cat Set Mittens*/ +('1082268', '3600', 'Glove'), /*Dual Blade Gloves*/ +('1082247', '3200', 'Glove'), /*Cutie Birk Gloves*/ +('1082249', '7400', 'Glove'), /*Neon Amulet*/ +('1082250', '7400', 'Glove'), /*Treacherous Wolf Gloves*/ +/*Page 5*/ +('1082251', '4000', 'Glove'), /*Rock Chain Armlet*/ +('1082253', '5200', 'Glove'), /*Neon Sign Amulet*/ +('1082255', '4900', 'Glove'), /*Maple Racing Glove*/ +('1082272', '4900', 'Glove'), /*Evan Golden Gloves*/ +('1082273', '6300', 'Glove'), /*Hawkeye Ocean Gloves*/ +('1082274', '5200', 'Glove'), /*Evan Gloves*/ +('1082282', '3400', 'Glove'), /*Battle Mage Gloves*/ +('1082310', '6000', 'Glove'), /*Winter 2011 Moon Bunny Gloves*/ +('1082312', '3600', 'Glove'), /*Rainbow Bracelet*/ +/*Page 6*/ +('1082421', '8800', 'Glove'), /*Blue Dragon Gloves*/ +('1082422', '3200', 'Glove'), /*Red Dragon Gloves*/ +('1082423', '5200', 'Glove'), /*Intergalactic Gloves*/ +('1082407', '8800', 'Glove'), /*Dark Force Gloves */ +('1082408', '3400', 'Glove'), /*Elven Spirit Gloves*/ +('1082448', '4700', 'Glove'), /*Arabian Gold Bracelet*/ +('1082493', '6000', 'Glove'), /*Harp Seal Doll Gloves*/ +('1082495', '6400', 'Glove'), /*Cat Lolita Gloves*/ +('1082517', '6000', 'Glove'), /*Golf Gloves*/ +/*Page 7*/ +('1082519', '3200', 'Glove'), /*Purple Dinosaur Gloves*/ +('1082520', '3200', 'Glove'), /*Ramling Fur Glove*/ + +('1082524', '5000', 'Glove'), /*Blavy Angel Bangle*/ +('1082525', '3200', 'Glove'), /*Succubus Gloves*/ +('1082527', '5200', 'Glove'), /*Golf Gloves*/ +('1082500', '7400', 'Glove'), /*Dark Devil Gloves*/ +('1082501', '6300', 'Glove'), /*Dark Force Gloves*/ +('1082502', '7400', 'Glove'), /*Blue Point Kitty Gloves*/ +/*Page 8*/ +('1082503', '5600', 'Glove'), /*Featherly Angel Gloves*/ +('1082504', '4000', 'Glove'), /*Kitty Gloves*/ +('1082505', '6000', 'Glove'), /*Xenon Neo-Tech Gloves*/ +('1082511', '3600', 'Glove'), /*Green Dinosaur Gloves*/ +('1082548', '5600', 'Glove'), /*Star Bracelet*/ +('1082549', '7100', 'Glove'), /*Chicken Glovaroo*/ +('1082550', '3600', 'Glove'), /*White Ghostly Cloth*/ +('1082551', '7600', 'Glove'), /*Chocoram Doll Gloves*/ +('1082552', '3800', 'Glove'), /*Puffram Gloves*/ +/*Page 9*/ +('1082554', '8800', 'Glove'), /*Princess of Time Gloves*/ +('1082555', '4900', 'Glove'), /*Fairy Spark*/ +('1082558', '3600', 'Glove'), /*Kirito's Gloves*/ + + +('1082580', '3400', 'Glove'), /*Pony Gloves*/ +('1082581', '5600', 'Glove'), /*Chocolate Ribbon*/ +('1082585', '5600', 'Glove'), /*Guardian Gloves*/ +('1082587', '8800', 'Glove'), /*Pink Panda Gloves*/ +/*Page 10*/ +('1082588', '6300', 'Glove'), /*Rainbow Marbles*/ + +('1082560', '7100', 'Glove'), /*Dark Devil Gloves*/ +('1082561', '7600', 'Glove'), /*Freud's Gloves*/ +('1082563', '7600', 'Glove'), /*Heathcliff's Gloves*/ +('1082564', '7600', 'Glove'), /*Yui's Gloves*/ +('1082565', '7600', 'Glove'), /*Chocolate Ribbon*/ +('1082571', '3800', 'Glove'), /*Mr. K's Cat Gloves*/ +('1082620', '5600', 'Glove'), /*Aloha Flower Accessory*/ +/*Page 11*/ +('1082623', '7100', 'Glove'), /*Bright Angel Gloves*/ +('1082592', '3800', 'Glove'), /*Burning Ghost Wristband*/ +('1082641', '3400', 'Glove'), /*Blue Bird Gloves*/ +('1082642', '5600', 'Glove'), /*Snowman Gloves*/ +('1082643', '4000', 'Glove'), /*Cutie Birk Gloves*/ +('1082624', '3200', 'Glove'), /*Dark Devil Gloves*/ +('1082631', '8800', 'Glove'), /*Glowing Bracelet*/ +('1082632', '5000', 'Glove'), /*Worn Skull Gloves*/ +('1082633', '4900', 'Glove'), /*Skull Gloves*/ +/*Page 12*/ +('1082634', '6400', 'Glove'), /*Dinofrog Gloves*/ +('1082672', '6400', 'Glove'), /*Arctic Mittens*/ +('1082683', '5000', 'Glove'), /*Santa Gloves*/ +('1082684', '5600', 'Glove'), /*Beaky Owl Gloves*/ +('1082685', '7100', 'Glove'), /*Winter Garden Gloves*/ +('1082657', '3200', 'Glove'), /*Blue Panda Doll Gloves*/ +('1082666', '4700', 'Glove'), /*White Ursus Gloves*/ +('1082667', '7100', 'Glove'), /*Brown Ursus Gloves*/ +('1082668', '7600', 'Glove'), /*Black Ursus Gloves*/ +/*Page 13*/ +('1082704', '3400', 'Glove'), /*Sweet Penguin Gloves*/ +('1082705', '6000', 'Glove'), /*Cozy Penguin Gloves*/ +('1082712', '7100', 'Glove'), /*Felt's Gloves*/ +('1082713', '6300', 'Glove'), /*Winter Bunny Gloves (Teal)*/ +('1082714', '6400', 'Glove'), /*Winter Bunny Gloves (Pink)*/ +('1082715', '4700', 'Glove'), /*Chick Gloves*/ +('1082717', '6300', 'Glove'), /*Yellow Chick Gloves (M)*/ +('1082718', '7600', 'Glove'), /*Yellow Chick Gloves (F)*/ +('1082689', '5600', 'Glove'), /*Paw Gloves*/ +/*Page 14*/ +('1082690', '5000', 'Glove'), /*Flower Star*/ +('1082691', '3200', 'Glove'), /*Flower Star*/ +('1082692', '3600', 'Glove'), /*Candybear Watch*/ +('1082693', '7600', 'Glove'), /*Racing Elephant Gloves*/ +('1082694', '4900', 'Glove'), /*Villain Gloves*/ +('1082700', '5200', 'Glove'), /*Bubble Bands*/ +('1082701', '5000', 'Glove'), /*Pony Gloves*/ +('1082702', '3400', 'Glove'), /*Kamaitachi Gloves*/ +('1082703', '4900', 'Glove'), /*Bichon Gloves*/ +/*Page 15*/ +('1082737', '7600', 'Glove'), /*LEONARD Gloves*/ +('1082738', '7400', 'Glove'), /*SALLY Gloves*/ +('1082741', '7600', 'Glove'), /*Fox Fire Sweeping Sleeves*/ +('1082720', '6400', 'Glove'), /*Elizabethan Gloves*/ +('1082721', '5600', 'Glove'), /*Pink Elephant Gloves*/ +('1082722', '4700', 'Glove'), /*Meow Gloves*/ +('1082723', '5600', 'Glove'), /*Busy Penguin Gloves*/ +('1082724', '7400', 'Glove'), /*Worn Skull Gloves*/ +('1082725', '6300', 'Glove'), /*Santa Gloves*/ +/*Page 16*/ +('1082726', '7400', 'Glove'), /*Royal Guard Gloves (F)*/ +('1082727', '6400', 'Glove'), /*Royal Guard Gloves (M)*/ +('1082728', '3600', 'Glove'), /*Homeless Cat Gloves*/ +('1082730', '5000', 'Glove'), /*Catkerchief Gloves*/ +('1082731', '6000', 'Glove'), /*Delinquent Bear Gloves*/ +('1082733', '8800', 'Glove'), /*Santa Gloves*/ +('1082734', '3800', 'Glove'), /*Snowman Gloves*/ +('1082735', '6300', 'Glove'), /*CONY Gloves*/ +('1080000', '3600', 'Glove'), /*White Ninja Gloves*/ +/*Page 17*/ +('1080001', '4900', 'Glove'), /*Wedding Gloves*/ +('1080007', '8800', 'Glove'), /*크리스토프 장갑*/ +('1080008', '6300', 'Glove'), /*Whip Cream Pon Pon*/ +('1080009', '4000', 'Glove'), /*Penguin Gloves*/ +('1081013', '3400', 'Glove'), /*엘사 장갑*/ +('1081014', '3800', 'Glove'), /*Whip Cream Bon Bon*/ +('1081015', '4700', 'Glove'), /*Penguin Gloves*/ +('1081000', '6400', 'Glove'), /*Red Ninja Gloves*/ +('1081001', '6000', 'Glove'), /*Blue Ninja Gloves*/ +/*Page 18*/ +('1081002', '3200', 'Glove'), /*Wedding Gloves*/ +('1081003', '7100', 'Glove'), /*White Cat Gloves*/ +('1081004', '8800', 'Glove'), /*Black Cat Gloves*/ +('1081006', '4900', 'Glove'), /*Elizabeth Gloves*/ +('1081007', '5200', 'Glove'), /*Elizabeth Gloves*/ + + + + + +/* Ring */ +/*Page 1*/ +('1114401', '7100', 'Ring'), /*The Ring of Torment*/ +('1114400', '5600', 'Ring'), /*Firestarter Ring*/ +('1115003', '3200', 'Ring'), /*Carrot Rabbit Chat Ring*/ +('1115005', '7400', 'Ring'), /*Pineapple Chat Ring*/ +('1115004', '7400', 'Ring'), /*Honey Bee Chat Ring*/ +('1115007', '4000', 'Ring'), /*Black Hat Chat Ring*/ +('1115006', '4000', 'Ring'), /*Princess Diary Chat Ring*/ +('1115025', '3800', 'Ring'), /*Shark Chat Ring*/ +('1115024', '3400', 'Ring'), /*Colorbug Chat Ring*/ +/*Page 2*/ +('1115027', '5200', 'Ring'), /*Red Cloud Chat Ring*/ +('1115026', '3200', 'Ring'), /*Cat Skein Chat Ring*/ +('1115029', '7100', 'Ring'), /*DJ JM Chat Ring*/ +('1115028', '3200', 'Ring'), /*V Chat Ring*/ +('1115031', '6000', 'Ring'), /*Pink Bean Chat Ring*/ +('1115030', '5000', 'Ring'), /*Pink Bean Chocolate Chat Ring*/ +('1115033', '8800', 'Ring'), /*진지한 말풍선 반지*/ +('1115032', '3200', 'Ring'), /*Spider Chat Ring*/ +('1115035', '5600', 'Ring'), /*Starry Night Orchid Chat Ring*/ +/*Page 3*/ +('1115034', '7400', 'Ring'), /*Christmas Chat Ring*/ +('1115037', '4700', 'Ring'), /*Christmas Wreath Chat Ring*/ +('1115036', '6300', 'Ring'), /*Override Chat Ring*/ +('1115039', '7600', 'Ring'), /*Ladybug Chat Ring*/ +('1115038', '8800', 'Ring'), /*Baby Chick Chat Ring*/ +('1115009', '6400', 'Ring'), /*Blue Hat Chat Ring*/ +('1115008', '4900', 'Ring'), /*Green Hat Chat Ring*/ +('1115011', '6400', 'Ring'), /*Rascally Monster Chat Ring*/ +('1115010', '7400', 'Ring'), /*Good Night Monster Chat Ring*/ +/*Page 4*/ +('1115013', '3200', 'Ring'), /*MVP Chat Ring (Gold)*/ +('1115012', '5200', 'Ring'), /*MVP Chat Ring (Silver)*/ +('1115015', '7100', 'Ring'), /*Snowman's Red Scarf Chat Ring*/ +('1115014', '8800', 'Ring'), /*MVP Chat Ring (Diamond)*/ +('1115017', '5000', 'Ring'), /*Christmas Chat Ring*/ +('1115016', '7400', 'Ring'), /*Heroes Slumbering Dragon Island Chat Ring*/ +('1115019', '8800', 'Ring'), /*Heroes Damien Chat Ring*/ +('1115018', '5200', 'Ring'), /*Mighty Banana Chat Ring*/ +('1115021', '7100', 'Ring'), /*Heroes Black Mage Chat Ring*/ +/*Page 5*/ +('1115020', '3600', 'Ring'), /*Heroes Transcendence Stone Chat Ring*/ +('1115023', '4000', 'Ring'), /*Sunshine Ranch Chat Ring*/ +('1115022', '5000', 'Ring'), /*Bunny Chat Ring*/ +('1115057', '4700', 'Ring'), /*Little Poodle Chat Ring*/ +('1115056', '5600', 'Ring'), /*Ark Chat Ring*/ +('1115059', '5600', 'Ring'), /*Plum Blossom Chat Ring*/ +('1115058', '3600', 'Ring'), /*Corgi Chat Ring*/ +('1115061', '3400', 'Ring'), /*Choco Chat Ring*/ +('1115060', '4700', 'Ring'), /*White Chocolate Chat Ring*/ +/*Page 6*/ +('1115063', '3200', 'Ring'), /*Baby Chick Chat Ring*/ +('1115062', '4000', 'Ring'), /*Children's Day Chat Ring*/ +('1115065', '5000', 'Ring'), /*Clockwork Knight Chat Ring*/ +('1115066', '3600', 'Ring'), /*Note Chat Ring*/ +('1115069', '8800', 'Ring'), /*Peach Blossom Fox Chat Ring*/ +('1115068', '8800', 'Ring'), /*Frosty Cherry Blossom Chat Ring*/ +('1115071', '5000', 'Ring'), /*Golden Piggy Chat Ring*/ +('1115041', '4700', 'Ring'), /*Camellia's Sword Chat Ring*/ +('1115040', '5000', 'Ring'), /*Dark Magician Chat Ring*/ +/*Page 7*/ +('1115043', '7600', 'Ring'), /*보안관 말풍선 반지*/ +('1115042', '3400', 'Ring'), /*Mustache Chat Ring*/ +('1115045', '6000', 'Ring'), /*Nova Chat Ring*/ +('1115044', '7400', 'Ring'), /*Glistening Eluna Chat Ring*/ +('1115047', '3600', 'Ring'), /*Jam Chat Ring*/ +('1115046', '8800', 'Ring'), /*Honey Pot Chat Ring*/ +('1115049', '4700', 'Ring'), /*Wave Chat Ring*/ +('1115048', '3400', 'Ring'), /*Falling Darkness Chat Ring*/ +('1115051', '6400', 'Ring'), /*Palm Leaf Chat Ring*/ +/*Page 8*/ +('1115050', '5000', 'Ring'), /*Flutterby Dream Chat Ring*/ +('1115053', '3600', 'Ring'), /*Pea Chat Ring*/ +('1115052', '5600', 'Ring'), /*Moonlight Bunny Chat Ring*/ +('1115055', '7400', 'Ring'), /*Mobile Mansion Chat Ring*/ +('1115054', '3600', 'Ring'), /*Vampire Chat Ring*/ +('1115101', '4900', 'Ring'), /*MVP Label Ring (Gold)*/ +('1115100', '3800', 'Ring'), /*MVP Label Ring (Silver)*/ +('1115103', '3600', 'Ring'), /*Heroes Slumbering Dragon Island Label Ring*/ +('1115102', '3600', 'Ring'), /*MVP Label Ring (Diamond)*/ +/*Page 9*/ +('1115073', '7600', 'Ring'), /*Adventure Chat Ring*/ +('1115072', '3400', 'Ring'), /*'80s Jelly Heart Chat Ring*/ +('1115075', '3800', 'Ring'), /*CONY Chat Ring*/ +('1115074', '5000', 'Ring'), /*BROWN Chat Ring*/ +('1115077', '7600', 'Ring'), /*CHOCO Chat Ring*/ +('1115076', '7400', 'Ring'), /*LEONARD Chat Ring*/ +('1115079', '5000', 'Ring'), /*Grim Reaper Chat Ring*/ +('1115078', '7400', 'Ring'), /*SALLY Chat Ring*/ +('1115081', '6400', 'Ring'), /*Drowsy Rabbit Chat Ring*/ +/*Page 10*/ +('1115080', '5600', 'Ring'), /*Bunny Blossom Chat Ring*/ +('1115082', '3200', 'Ring'), /*Piggy Chat Ring*/ +('1115121', '3600', 'Ring'), /*Spider Label Ring*/ +('1115120', '4900', 'Ring'), /*Pink Bean Label Ring*/ +('1115123', '3600', 'Ring'), /*Christmas Label Ring*/ +('1115122', '5600', 'Ring'), /*진지한 명찰 반지*/ +('1115125', '6300', 'Ring'), /*Override Label Ring*/ +('1115124', '7400', 'Ring'), /*Starry Night Orchid Label Ring*/ +('1115127', '6400', 'Ring'), /*Baby Chick Label Ring*/ +/*Page 11*/ +('1115126', '7600', 'Ring'), /*Christmas Wreath Label Ring*/ +('1115129', '7100', 'Ring'), /*Dark Magician Label Ring*/ +('1115128', '6400', 'Ring'), /*Ladybug Label Ring*/ +('1115131', '4000', 'Ring'), /*Mustache Label Ring*/ +('1115130', '3200', 'Ring'), /*Camellia's Sword Label Ring*/ +('1115133', '5600', 'Ring'), /*Glistening Eluna Label Ring*/ +('1115132', '4900', 'Ring'), /*보안관 명찰 반지*/ +('1115135', '6300', 'Ring'), /*Honey Pot Label Ring*/ +('1115134', '7600', 'Ring'), /*Nova Label Ring*/ +/*Page 12*/ +('1115105', '5200', 'Ring'), /*Mighty Banana Label Ring*/ +('1115104', '3600', 'Ring'), /*Christmas Label Ring*/ +('1115109', '5600', 'Ring'), /*Heroes Transcendence Stone Label Ring*/ +('1115108', '5600', 'Ring'), /*Heroes Damien Label Ring*/ +('1115111', '7400', 'Ring'), /*Bunny Label Ring*/ +('1115110', '6400', 'Ring'), /*Heroes Black Mage Label Ring*/ +('1115113', '6300', 'Ring'), /*Colorbug Label Ring*/ +('1115112', '4000', 'Ring'), /*Sunshine Ranch Label Ring*/ +('1115115', '7400', 'Ring'), /*Cat Skein Label Ring*/ +/*Page 13*/ +('1115114', '8800', 'Ring'), /*Shark Label Ring*/ +('1115117', '5600', 'Ring'), /*V Label Ring*/ +('1115116', '5000', 'Ring'), /*Red Cloud Label Ring*/ +('1115119', '3800', 'Ring'), /*Pink Bean Chocolate Label Ring*/ +('1115118', '8800', 'Ring'), /*DJ JM Label Ring*/ +('1115152', '6000', 'Ring'), /*Baby Chick Label Ring*/ +('1115155', '6400', 'Ring'), /*Note Label Ring*/ +('1115154', '8800', 'Ring'), /*Clockwork Knight Label Ring*/ +('1115157', '4700', 'Ring'), /*Snowy Cherry Blossom Label Ring*/ +/*Page 14*/ +('1115158', '4000', 'Ring'), /*Peach Blossom Fox Label Ring*/ +('1115161', '7100', 'Ring'), /*'80s Jelly Heart Label Ring*/ +('1115160', '4700', 'Ring'), /*Golden Piggy Label Ring*/ +('1115163', '7600', 'Ring'), /*BROWN Label Ring*/ +('1115162', '4900', 'Ring'), /*Adventure Label Ring*/ +('1115165', '4900', 'Ring'), /*LEONARD Label Ring*/ +('1115164', '3200', 'Ring'), /*CONY Label Ring*/ +('1115167', '4700', 'Ring'), /*SALLY Label Ring*/ +('1115166', '3800', 'Ring'), /*CHOCO Label Ring*/ +/*Page 15*/ +('1115137', '3400', 'Ring'), /*Falling Darkness Label Ring*/ +('1115136', '7600', 'Ring'), /*Jam Label Ring*/ +('1115139', '4900', 'Ring'), /*Flutterby Dream Label Ring*/ +('1115138', '8800', 'Ring'), /*Wave Label Ring*/ +('1115141', '6000', 'Ring'), /*Moonlight Bunny Label Ring*/ +('1115140', '6300', 'Ring'), /*Palm Leaf Label Ring*/ +('1115143', '7100', 'Ring'), /*Vampire Label Ring*/ +('1115142', '4900', 'Ring'), /*Pea Label Ring*/ +('1115145', '6400', 'Ring'), /*Ark Label Ring*/ +/*Page 16*/ +('1115144', '3400', 'Ring'), /*Mobile Mansion Label Ring*/ +('1115147', '7600', 'Ring'), /*Corgi Label Ring*/ +('1115146', '7400', 'Ring'), /*Little Poodle Label Ring*/ +('1115149', '6000', 'Ring'), /*White Chocolate Label Ring*/ +('1115148', '8800', 'Ring'), /*Plum Blossom Label Ring*/ +('1115151', '6000', 'Ring'), /*Children's Day Label Ring*/ +('1115150', '5200', 'Ring'), /*Choco Label Ring*/ +('1115169', '5600', 'Ring'), /*Bunny Blossom Label Ring*/ +('1115168', '5600', 'Ring'), /*Grim Reaper Label Ring*/ +/*Page 17*/ +('1115171', '3400', 'Ring'), /*Piggy Label Ring*/ +('1115170', '4900', 'Ring'), /*Drowsy Rabbit Label Ring*/ +('1112016', '4700', 'Ring'), /*Snowflake Ring*/ +('1112000', '5000', 'Ring'), /*Sparkling Ring*/ +('1112001', '5000', 'Ring'), /*Promise Ring*/ +('1112002', '5200', 'Ring'), /*Cloud Promise Ring*/ +('1112003', '3400', 'Ring'), /*Cupid Ring*/ +('1112005', '7600', 'Ring'), /*Venus Fireworks*/ +('1112006', '7600', 'Ring'), /*Crossed Hearts*/ +/*Page 18*/ +('1112007', '7600', 'Ring'), /*Mistletoe Promise Ring*/ +('1112012', '5600', 'Ring'), /*Rose Promise Ring*/ +('1112013', '6400', 'Ring'), /*Firery Love String Promise Ring*/ +('1112014', '6400', 'Ring'), /*Flaming Red Lips Ring*/ +('1112015', '3200', 'Ring'), /*Illumination Couples Ring*/ +('1112112', '3600', 'Ring'), /*Beach Label Ring*/ +('1112113', '7400', 'Ring'), /*Chocolate Label Ring*/ +('1112114', '6000', 'Ring'), /*Pink Candy Label Ring*/ +('1112115', '5200', 'Ring'), /*MapleBowl Label Ring */ +/*Page 19*/ +('1112116', '5200', 'Ring'), /*White Cloud Label Ring*/ +('1112117', '3600', 'Ring'), /*Rainbow Label Ring*/ +('1112118', '6300', 'Ring'), /*Rainbow Label RingaCoke Label Ring*/ +('1112119', '3800', 'Ring'), /*Coke (Red) Label Ring*/ +('1112120', '3200', 'Ring'), /*Coke (White) Label Ring*/ +('1112121', '3400', 'Ring'), /*Gingerman Label Ring*/ +('1112122', '6000', 'Ring'), /*Deluxe Rainbow Label Ring*/ +('1112123', '5200', 'Ring'), /*Red Pencil Label Ring*/ +('1112124', '3400', 'Ring'), /*Blue Pencil Label Ring*/ +/*Page 20*/ +('1112125', '7100', 'Ring'), /*Green Pencil Label Ring*/ +('1112126', '6300', 'Ring'), /*Brown Teddy Label Ring*/ +('1112127', '3800', 'Ring'), /*Welcome Back Ring*/ +('1112100', '7400', 'Ring'), /*White Label Ring*/ +('1112101', '7600', 'Ring'), /*Blue Label Ring*/ +('1112102', '7600', 'Ring'), /*Blue Label Ring 2*/ +('1112103', '3400', 'Ring'), /*The Legendary Gold Ring*/ +('1112104', '5200', 'Ring'), /*Bubbly Label Ring*/ +('1112105', '8800', 'Ring'), /*Pink-Ribboned Label Ring*/ +/*Page 21*/ +('1112106', '5000', 'Ring'), /*Blue-Ribboned Label Ring*/ +('1112107', '7100', 'Ring'), /*Skull Label Ring*/ +('1112108', '5600', 'Ring'), /*Butterfly Label Ring*/ +('1112109', '7100', 'Ring'), /*Scoreboard Label Ring*/ +('1112110', '4900', 'Ring'), /*SK Basketball Team Label Ring*/ +('1112111', '4000', 'Ring'), /*KTF Basketball Team Label Ring*/ +('1112144', '7100', 'Ring'), /*Cat-ger Label Ring*/ +('1112145', '4700', 'Ring'), /*Romantic Lace Label Ring*/ +('1112146', '3400', 'Ring'), /*Green Apple Label Ring*/ +/*Page 22*/ +('1112148', '3200', 'Ring'), /*Mister Mustache Label Ring*/ +('1112149', '4700', 'Ring'), /*Naver Label Ring*/ +('1112150', '3200', 'Ring'), /*Angel Label Ring*/ +('1112151', '5600', 'Ring'), /*Strawberry Cake Label Ring*/ +('1112152', '3400', 'Ring'), /*Blue Strawberry Basket Label Ring*/ +('1112153', '3400', 'Ring'), /*Strawberry Label Ring*/ +('1112154', '7400', 'Ring'), /*Moon Bunny Label Ring*/ +('1112155', '5600', 'Ring'), /*Frog Label Ring*/ +('1112156', '6300', 'Ring'), /*Oink Label Ring*/ +/*Page 23*/ +('1112157', '4700', 'Ring'), /*Blue Beard Label Ring*/ +('1112159', '3200', 'Ring'), /*Diamond Label Ring*/ +('1112129', '6000', 'Ring'), /*German Label Ring*/ +('1112130', '6400', 'Ring'), /*Dutch Label Ring*/ +('1112131', '4900', 'Ring'), /*French Label Ring*/ +('1112132', '4900', 'Ring'), /*British Label Ring*/ +('1112134', '4900', 'Ring'), /*Bamboo Name Tag Ring*/ +('1112135', '6000', 'Ring'), /*Ink-and-Wash Painting Name Tag Ring*/ +('1112136', '4700', 'Ring'), /*Sausage Ring*/ +/*Page 24*/ +('1112137', '6000', 'Ring'), /*Mountain Dew Label Ring*/ +('1112141', '4000', 'Ring'), /*Red Rose Label Ring*/ +('1112142', '7400', 'Ring'), /*Mummy Label Ring*/ +('1112143', '7100', 'Ring'), /*Luxury Pearl Label Ring*/ +('1112176', '6300', 'Ring'), /*G Clef Label Ring*/ +('1112177', '3800', 'Ring'), /*Attack on Titan Label Ring*/ +('1112178', '5600', 'Ring'), /*Snow Day Dream Label Ring*/ +('1112179', '7100', 'Ring'), /*Snowy Christmas Label Ring*/ +('1112180', '6400', 'Ring'), /*Kinship Label Ring*/ +/*Page 25*/ +('1112181', '7100', 'Ring'), /*Sheep Label Ring*/ +('1112182', '4000', 'Ring'), /*Baby Label Ring*/ +('1112183', '8800', 'Ring'), /*Meadow Sheep Label Ring*/ +('1112184', '6000', 'Ring'), /*Squishy Pink Label Ring*/ +('1112190', '7400', 'Ring'), /*Carrot Rabbit Label Ring*/ +('1112191', '6400', 'Ring'), /*Honey Bee Label Ring*/ +('1112160', '3600', 'Ring'), /*Watermelon Label Ring*/ +('1112161', '5000', 'Ring'), /*Quack Quack Label Ring*/ +('1112162', '3400', 'Ring'), /*Island Travel Name Tag Ring*/ +/*Page 26*/ +('1112163', '5200', 'Ring'), /*Starring Me Label Ring*/ +('1112164', '5000', 'Ring'), /*Sweet Summer Label Ring*/ +('1112165', '5200', 'Ring'), /*Green Forest Label Ring*/ +('1112166', '3800', 'Ring'), /*Baby Label Ring*/ +('1112170', '4000', 'Ring'), /*Star Label Ring*/ +('1112171', '8800', 'Ring'), /*White Puppy Label Ring*/ +('1112172', '5600', 'Ring'), /*Brown Puppy Label Ring*/ +('1112173', '7400', 'Ring'), /*Bunny Label Ring*/ +('1112208', '7400', 'Ring'), /*Skull Quote Ring*/ +/*Page 27*/ +('1112209', '3200', 'Ring'), /*Blue-Hearted Quote Ring*/ +('1112210', '3400', 'Ring'), /*Gold-Yellow Quote Ring*/ +('1112211', '6000', 'Ring'), /*Pink Lady Quote Ring*/ +('1112212', '7100', 'Ring'), /*Silver-Blue Quote Ring*/ +('1112213', '4900', 'Ring'), /*Gold-Yellow Quote Ring 2*/ +('1112214', '6400', 'Ring'), /*Pink Lady Quote Ring 2*/ +('1112215', '7400', 'Ring'), /*Blue Marine Quote Ring*/ +('1112216', '6000', 'Ring'), /*Kitty Quote Ring*/ +('1112217', '3200', 'Ring'), /*Paw-Print Quote Ring*/ +/*Page 28*/ +('1112218', '6400', 'Ring'), /*Teddy Bear Quote Ring*/ +('1112219', '4000', 'Ring'), /*Scoreboard Quote Ring*/ +('1112220', '3200', 'Ring'), /*SK Basketball Team Quote Ring*/ +('1112221', '3200', 'Ring'), /*KTF Basketball Team Quote Ring*/ +('1112222', '7100', 'Ring'), /*Starflower Ring*/ +('1112223', '4000', 'Ring'), /*Beach Quote Ring*/ +('1112192', '7100', 'Ring'), /*Pineapple Label Ring*/ +('1112193', '4700', 'Ring'), /*Princess Diary Label Ring*/ +('1112194', '6400', 'Ring'), /*Black Hat Label Ring*/ +/*Page 29*/ +('1112195', '5000', 'Ring'), /*Green Hat Label Ring*/ +('1112196', '5000', 'Ring'), /*Blue Hat Label Ring*/ +('1112197', '4900', 'Ring'), /*Good Night Monster Label Ring*/ + + + +/*Page 1*/ +('1112198', '7100', 'Ring 2'), /*Rascally Monster Label Ring*/ +('1112199', '5200', 'Ring 2'), /*Snowman's Red Scarf Label Ring*/ +('1112200', '4000', 'Ring 2'), /*Pink Quote Ring*/ +('1112201', '8800', 'Ring 2'), /*Pink-Hearted Quote Ring*/ +('1112202', '4000', 'Ring 2'), /*Blue Quote Ring*/ +('1112203', '3400', 'Ring 2'), /*The Golden Fly Ring*/ +('1112204', '4000', 'Ring 2'), /*Pink-Flowered Quote Ring*/ +('1112205', '3800', 'Ring 2'), /*Blue-Flowered Quote Ring*/ +('1112206', '4900', 'Ring 2'), /*Pink-Ribboned Quote Ring*/ +/*Page 2*/ +('1112207', '5000', 'Ring 2'), /*Blue-Ribboned Quote Ring*/ +('1112240', '4000', 'Ring 2'), /*Mountain Dew Quote Ring*/ +('1112244', '4700', 'Ring 2'), /*Darkness Bat Ring*/ +('1112248', '7600', 'Ring 2'), /*[MS Custom] Pink Quote Ring*/ +('1112249', '7600', 'Ring 2'), /*[MS Custom] Blue-Flowered Quote Ring*/ +('1112250', '7100', 'Ring 2'), /*[MS Custom]Pink-Flowered Quote Ring*/ +('1112252', '7600', 'Ring 2'), /*Red Rose Chat Ring*/ +('1112253', '5200', 'Ring 2'), /*Mummy Word Bubble Ring*/ +('1112254', '5600', 'Ring 2'), /*Luxury Pearl Word Bubble Ring*/ +/*Page 3*/ +('1112224', '3800', 'Ring 2'), /*Chocolate Quote Ring*/ +('1112225', '5200', 'Ring 2'), /*Pink Candy Quote Ring*/ +('1112226', '5600', 'Ring 2'), /*White Cloud Quote Ring*/ +('1112227', '7600', 'Ring 2'), /*Rainbow Quote Ring*/ +('1112228', '3200', 'Ring 2'), /*Coke Quote Ring*/ +('1112229', '5200', 'Ring 2'), /*Coke (Red) Quote Ring*/ +('1112230', '5200', 'Ring 2'), /*Coke (White) Quote Ring*/ +('1112231', '6000', 'Ring 2'), /*Gingerman Quote Ring*/ +('1112232', '5200', 'Ring 2'), /*Deluxe Rainbow Quote Ring*/ +/*Page 4*/ +('1112233', '6400', 'Ring 2'), /*Red Notebook Quote Ring*/ +('1112234', '7600', 'Ring 2'), /*Blue Notebook Quote Ring*/ +('1112235', '6000', 'Ring 2'), /*Green Notebook Quote Ring*/ +('1112236', '7100', 'Ring 2'), /*Brown Teddy Quote Ring*/ +('1112237', '6300', 'Ring 2'), /*Bamboo Thought Bubble Ring*/ +('1112238', '5200', 'Ring 2'), /*Ink-and-Wash Thought Bubble Ring*/ +('1112272', '7600', 'Ring 2'), /*Watermelon Chat Bubble Ring*/ +('1112273', '3600', 'Ring 2'), /*Quack Quack Word Bubble Ring*/ +('1112274', '7600', 'Ring 2'), /*Island Travel Speech Bubble Ring*/ +/*Page 5*/ +('1112275', '8800', 'Ring 2'), /*Me From the Star Word Bubble Ring*/ +('1112276', '5200', 'Ring 2'), /*Sweet Summer Chat Ring*/ +('1112277', '3400', 'Ring 2'), /*Green Forest Chat Ring*/ +('1112278', '6400', 'Ring 2'), /*Baby Chat Ring*/ +('1112282', '6000', 'Ring 2'), /*Star Word Bubble Ring*/ +('1112283', '6400', 'Ring 2'), /*White Puppy Chat Ring*/ +('1112284', '5000', 'Ring 2'), /*Brown Puppy Chat Ring*/ +('1112285', '4900', 'Ring 2'), /*Bunny Word Bubble Ring*/ +('1112256', '4000', 'Ring 2'), /*Kitty Word Bubble Ring*/ +/*Page 6*/ +('1112257', '4000', 'Ring 2'), /*Romantic Lace Word Bubble Ring*/ +('1112258', '3600', 'Ring 2'), /*Green Apple Word Bubble Ring*/ +('1112259', '4900', 'Ring 2'), /*Mister Mustache Word Bubble Ring*/ +('1112260', '5600', 'Ring 2'), /*Guild Word Bubble Ring*/ +('1112261', '6300', 'Ring 2'), /*Naver Word Bubble Ring*/ +('1112262', '8800', 'Ring 2'), /*Angel Word Bubble Ring*/ +('1112263', '6000', 'Ring 2'), /*Strawberry Cake Word Bubble Ring*/ +('1112264', '3800', 'Ring 2'), /*Blue Strawberry Basket Chat Ring*/ +('1112265', '3200', 'Ring 2'), /*Red Strawberry Basket Chat Ring*/ +/*Page 7*/ +('1112266', '7400', 'Ring 2'), /*Moon Bunny Word Bubble Ring*/ +('1112267', '5000', 'Ring 2'), /*Frog Word Bubble Ring*/ +('1112268', '8800', 'Ring 2'), /*Oink Word Bubble Ring*/ +('1112269', '4700', 'Ring 2'), /*Blue Beard Quote Ring*/ +('1112271', '7600', 'Ring 2'), /*Diamond Quote Ring*/ +('1112288', '4000', 'Ring 2'), /*G Clef Word Bubble Ring*/ +('1112289', '6400', 'Ring 2'), /*Attack on Titan Word Bubble Ring*/ +('1112290', '4000', 'Ring 2'), /*Snow Day Dream Word Bubble Ring*/ +('1112291', '4700', 'Ring 2'), /*Snowy Christmas Chat Ring*/ +/*Page 8*/ +('1112292', '3200', 'Ring 2'), /*Silver Guild Word Bubble Ring*/ +('1112293', '5600', 'Ring 2'), /*Kinship Word Bubble Ring*/ +('1112294', '4700', 'Ring 2'), /*Sheep Word Bubble Ring*/ +('1112295', '6300', 'Ring 2'), /*Baby Word Bubble Ring*/ +('1112296', '5200', 'Ring 2'), /*Meadow Sheep Chat Bubble Ring*/ +('1112724', '8800', 'Ring 2'), /*I'm New Ring*/ +('1112728', '7100', 'Ring 2'), /*Mapler Ring*/ +('1112757', '4000', 'Ring 2'), /*Grin Ring*/ +('1112741', '5200', 'Ring 2'), /*Welcome Back Ring*/ +/*Page 9*/ +('1112816', '3400', 'Ring 2'), /*Snow Dome Friendship Ring*/ +('1112817', '3800', 'Ring 2'), /*Psyche Special Friendship Ring*/ +('1112820', '7100', 'Ring 2'), /*Friendship Ring: Dragon and Pheonix*/ +('1112823', '5200', 'Ring 2'), /*Promise Ring*/ +('1112800', '5000', 'Ring 2'), /*Friendship Ring: Clover*/ +('1112801', '3800', 'Ring 2'), /*Friendship Ring: Flower Petal*/ +('1112802', '6400', 'Ring 2'), /*Friendship Ring: Star*/ +('1112808', '6300', 'Ring 2'), /*MapleBowl Quote Ring */ +('1112810', '4900', 'Ring 2'), /*Christmas Night Bells Friendship Ring*/ +/*Page 10*/ +('1112811', '3800', 'Ring 2'), /*Christmas Party Friendship Ring*/ +('1112812', '6300', 'Ring 2'), /*Shared Umbrella Ring*/ +('1112916', '4700', 'Ring 2'), /*Solo Ring*/ +('1112917', '7400', 'Ring 2'), /*I'm New Ring*/ +('1112918', '5200', 'Ring 2'), /*Welcome Back Ring*/ +('1112919', '5200', 'Ring 2'), /*Mapler Ring*/ +('1112924', '3400', 'Ring 2'), /*Lemon Shooting Star Ring*/ +('1112925', '7400', 'Ring 2'), /*Blue Shooting Star Ring*/ +('1112926', '4900', 'Ring 2'), /*Pink Shooting Star Ring*/ +/*Page 11*/ +('1112900', '7100', 'Ring 2'), /*Lalala Ring*/ +('1112901', '7600', 'Ring 2'), /*Starry Spotlight Ring*/ +('1112902', '6400', 'Ring 2'), /*Baby Blue*/ +('1112903', '8800', 'Ring 2'), /*Amorian Aura Ring*/ +('1112904', '4700', 'Ring 2'), /*Rainbow Star Ring*/ +('1112905', '6000', 'Ring 2'), /*Bright Hot Pink Heart*/ +('1112906', '3200', 'Ring 2'), /*Baby Pink Heart*/ +('1112908', '5600', 'Ring 2'), /*Aura Ring*/ +('1112909', '7400', 'Ring 2'), /*Aura Ring*/ +/*Page 12*/ +('1112910', '3600', 'Ring 2'), /*Aura Ring*/ +('1112945', '8800', 'Ring 2'), /*Always Craving Sweet N' Sour BBQ*/ +('1112946', '4700', 'Ring 2'), /*Rainbow Jewelry*/ +('1112948', '7100', 'Ring 2'), /*Couture Critic Ring*/ +('1112949', '7400', 'Ring 2'), /*Melody Ring*/ +('1112953', '7600', 'Ring 2'), /*Blue Shooting Star Ring*/ +('1112954', '6300', 'Ring 2'), /*Pink Shooting Star Ring*/ +('1112955', '3600', 'Ring 2'), /*Best Friends Ring*/ +('1112956', '6300', 'Ring 2'), /*Shining Star Ring*/ +/*Page 13*/ +('1112958', '7400', 'Ring 2'), /*Honey Bee Flower Effect Ring*/ +('1112959', '5200', 'Ring 2'), /*Butterfly Flower Effect Ring*/ +('1112928', '8800', 'Ring 2'), /*Peach Shooting Star Ring*/ +('1112929', '7400', 'Ring 2'), /*Von Leon Ring*/ +('1112930', '5600', 'Ring 2'), /*Tomato Ring*/ +('1112935', '5200', 'Ring 2'), /*Lalala Ring*/ +('1112937', '7400', 'Ring 2'), /*Sleepy Zzz*/ +('1112940', '5600', 'Ring 2'), /*Mapler Ring*/ +('1112941', '6400', 'Ring 2'), /*Welcome Back Ring*/ +/*Page 14*/ +('1112943', '7400', 'Ring 2'), /*Fashion Week Ring*/ +('1112976', '5000', 'Ring 2'), /*Dreamland Thief Effect Ring*/ +('1112960', '5000', 'Ring 2'), /*Memory Guide Ring*/ +('1112961', '4000', 'Ring 2'), /*Cheery Yeti Ring*/ +('1112964', '3400', 'Ring 2'), /*White Christmas Ring*/ +('1112965', '5200', 'Ring 2'), /*Lucid Butterfly Ring*/ +('1112969', '5000', 'Ring 2'), /*Beyond the Clouds Effect Ring*/ +('1112970', '3200', 'Ring 2'), /*Rainy Day Doll Ring*/ +('1112971', '3200', 'Ring 2'), /*Clear Day Doll Ring*/ +/*Page 15*/ +('1112972', '5200', 'Ring 2'), /*Aurora Winter Night Ring*/ +('1112973', '3600', 'Ring 2'), /*Summer Constellation Ring*/ +('1112974', '3200', 'Ring 2'), /*Autumn Constellation Ring*/ +('1112975', '3600', 'Ring 2'), /*New Year Party People Effect Ring*/ +('1113003', '7100', 'Ring 2'), /*Dark Devil Ring*/ +('1113171', '3800', 'Ring 2'), /*Grin Ring*/ +('1113298', '7100', 'Ring 2'), /*Spirit Ring*/ +('1113299', '7600', 'Ring 2'), /*Determination Ring*/ + +/*Page 16*/ +('1113289', '5600', 'Ring 2'), /*Busy Penguin Ring*/ +('1114000', '5200', 'Ring 2'), /*Kinship Ring*/ + + + + + +/* Cape */ +/*Page 1*/ +('1100000', '4000', 'Cape'), /*Napoleon Cape*/ +('1100001', '5600', 'Cape'), /*Napoleon Cape*/ +('1100004', '7400', 'Cape'), /*Mad Doctor Stethoscope*/ +('1101000', '6000', 'Cape'), /*Ribbon Angel Syringe*/ +('1102005', '3200', 'Cape'), /*Baby Angel Wings*/ +('1102006', '8800', 'Cape'), /*Devil Wings*/ +('1102007', '3800', 'Cape'), /*Yellow Star Cape*/ +('1102008', '8800', 'Cape'), /*Blue Star Cape*/ +('1102009', '6400', 'Cape'), /*Red Star Cape*/ +/*Page 2*/ +('1102010', '8800', 'Cape'), /*Black Star Cape*/ +('1102036', '4700', 'Cape'), /*Red Landcell Pack*/ +('1102037', '7100', 'Cape'), /*Black Landcell Pack*/ +('1102038', '7400', 'Cape'), /*Blue Landcell Pack*/ +('1102039', '7600', 'Cape'), /*Transparent Cape*/ +('1102044', '5600', 'Cape'), /*Red G-Wing Jetpack*/ +('1102045', '7400', 'Cape'), /*Blue G-Wing Jetpack*/ +('1102019', '7100', 'Cape'), /*Korean-Flagged Cape*/ +('1102020', '4700', 'Cape'), /*Turtle Shell*/ +/*Page 3*/ +('1102025', '3200', 'Cape'), /*Red Hood Cape*/ +('1102065', '3600', 'Cape'), /*Christmas Cape*/ +('1102066', '6400', 'Cape'), /*Dracula Cloak*/ +('1102067', '7400', 'Cape'), /*Tiger Tail*/ +('1102068', '6300', 'Cape'), /*Harpie Cape*/ +('1102069', '3800', 'Cape'), /*Pink Wings*/ +('1102070', '8800', 'Cape'), /*Blue Book Bag*/ +('1102072', '4900', 'Cape'), /*Yellow-Green Backpack*/ +('1102073', '7400', 'Cape'), /*Hot Pink Backpack*/ +/*Page 4*/ +('1102074', '4700', 'Cape'), /*Dragonfly Wings*/ +('1102075', '3400', 'Cape'), /*Bat's Bane*/ +('1102076', '3400', 'Cape'), /*Newspaper Cape*/ +('1102077', '7600', 'Cape'), /*Cotton Blanket*/ +('1102049', '5200', 'Cape'), /*Blue Nymph Wing*/ +('1102050', '7400', 'Cape'), /*Green Nymph Wing*/ +('1102051', '7400', 'Cape'), /*Yellow Nymph Wing*/ +('1102052', '6300', 'Cape'), /*Pink Nymph Wing*/ +('1102058', '7100', 'Cape'), /*Gargoyle Wings*/ +/*Page 5*/ +('1102059', '4000', 'Cape'), /*Michael Wings*/ +('1102060', '6400', 'Cape'), /*Pink Ribbon*/ +('1102062', '7100', 'Cape'), /*Martial Cape*/ +('1102063', '7600', 'Cape'), /*Fallen Angel Wings*/ +('1102096', '8800', 'Cape'), /*Sachiel Wings*/ +('1102097', '7600', 'Cape'), /*Janus Wings*/ +('1102098', '4700', 'Cape'), /*Coffin of Gloom*/ +('1102107', '3600', 'Cape'), /*Rocket Booster*/ +('1102108', '4000', 'Cape'), /*Fallen Angel Tail*/ +/*Page 6*/ +('1102110', '5000', 'Cape'), /*Chipmunk Tail*/ +('1102111', '4700', 'Cape'), /*Elephant Balloon*/ +('1102091', '4700', 'Cape'), /*Summer Kite*/ +('1102092', '6300', 'Cape'), /*Cuddle Bear*/ +('1102093', '5000', 'Cape'), /*Heart Balloon*/ +('1102094', '6000', 'Cape'), /*Sun Wu Kong Tail*/ +('1102095', '3800', 'Cape'), /*Veamoth Wings*/ +('1102137', '6300', 'Cape'), /*Orange Mushroom Balloon*/ +('1102138', '6000', 'Cape'), /*Pink Wing Bag*/ +/*Page 7*/ +('1102141', '3400', 'Cape'), /*Pepe Balloon*/ +('1102142', '5000', 'Cape'), /*The Flaming Cape*/ +('1102112', '6000', 'Cape'), /*Bunny Doll*/ +('1102160', '5600', 'Cape'), /*Baby Lupin Cape*/ +('1102162', '7100', 'Cape'), /*Baby White Monkey Balloon*/ +('1102164', '3800', 'Cape'), /*Maple MSX Guitar*/ +('1102169', '5200', 'Cape'), /*Blue Wing Bag*/ +('1102171', '5200', 'Cape'), /*3rd Anniversary Balloon*/ +('1102175', '7100', 'Cape'), /*Cutie Birk Wings*/ +/*Page 8*/ +('1102144', '6300', 'Cape'), /*Sage Cape*/ +('1102148', '4000', 'Cape'), /*Tania Cloak*/ +('1102149', '5000', 'Cape'), /*Mercury Cloak*/ +('1102150', '4700', 'Cape'), /*Count Dracula Cape*/ +('1102151', '6000', 'Cape'), /*Lost Kitty*/ +('1102152', '4000', 'Cape'), /*Pirate Emblem Flag*/ +('1102153', '6400', 'Cape'), /*Sunfire Wings*/ +('1102154', '8800', 'Cape'), /*Zakum Arms*/ +('1102155', '3400', 'Cape'), /*My Buddy Rex*/ +/*Page 9*/ +('1102156', '3800', 'Cape'), /*Aerial Wave Cape*/ +('1102157', '4000', 'Cape'), /*Puppet Strings*/ +('1102158', '4900', 'Cape'), /*Peacock Feather Cape*/ +('1102159', '6300', 'Cape'), /*White Monkey Balloon*/ +('1102196', '3600', 'Cape'), /*Snowflake Scarf*/ +('1102197', '6400', 'Cape'), /*Yellow Canary*/ +('1102202', '6000', 'Cape'), /*Galactic Flame Cape*/ +('1102203', '5200', 'Cape'), /*Super Rocket Booster*/ +('1102204', '4900', 'Cape'), /*Romantic Rose*/ +/*Page 10*/ +('1102184', '8800', 'Cape'), /*Aurora Happy Wing*/ +('1102185', '5200', 'Cape'), /*Rainbow Scarf*/ +('1102186', '6400', 'Cape'), /*Kitty Parachute*/ +('1102187', '6000', 'Cape'), /*Golden Fox Tail*/ +('1102188', '7400', 'Cape'), /*Silver Fox Tail*/ +('1102224', '8800', 'Cape'), /*Lamby Cape*/ +('1102229', '4700', 'Cape'), /*Bear Cape*/ +('1102230', '5000', 'Cape'), /*Penguin Sled*/ +('1102232', '7100', 'Cape'), /*Celestial Star*/ +/*Page 11*/ +('1102233', '4900', 'Cape'), /*Snowman Cape*/ +('1102238', '6400', 'Cape'), /*Cat Set Tail*/ +('1102239', '6000', 'Cape'), /*Dual Blade Cape*/ +('1102208', '5600', 'Cape'), /*Slime Effect Cape*/ +('1102209', '4900', 'Cape'), /*Baby White Monkey Balloon*/ +('1102210', '5200', 'Cape'), /*Honeybee's Sting*/ +('1102211', '3400', 'Cape'), /*Bound Wings*/ +('1102212', '5200', 'Cape'), /*Lost Child*/ +('1102213', '7400', 'Cape'), /*Pink Bean Tail*/ +/*Page 12*/ +('1102214', '3200', 'Cape'), /*Pink Bean Balloon*/ +('1102215', '6000', 'Cape'), /*Balloon Bouquet*/ +('1102216', '6300', 'Cape'), /*Brown Dog Tail*/ +('1102217', '4900', 'Cape'), /*Goblin Cat*/ +('1102218', '3400', 'Cape'), /*Pink Floating Ribbon*/ +('1102220', '8800', 'Cape'), /*Pachinko Marble-box Cape*/ +('1102221', '5000', 'Cape'), /*Pluto Flame Cape*/ +('1102222', '4900', 'Cape'), /*Seraphim Cape*/ +('1102223', '6300', 'Cape'), /*Star Tail*/ +/*Page 13*/ +('1102257', '3600', 'Cape'), /*Marines Maple Balloon*/ +('1102258', '4700', 'Cape'), /*Teddy Bear Balloon*/ +('1102259', '3400', 'Cape'), /*Flying Dragon Cape*/ +('1102261', '5200', 'Cape'), /*Equalizer Scarf*/ +('1102267', '5600', 'Cape'), /*Friendly Nine-Tailed Fox Tails*/ +('1102270', '5000', 'Cape'), /*Moon and Sun Cape*/ +('1102271', '4000', 'Cape'), /*Lovely Chocolate Balloons*/ +('1102240', '7400', 'Cape'), /*Royal Cape*/ +('1102242', '7100', 'Cape'), /*Hawkeye Ocean Cape*/ +/*Page 14*/ +('1102243', '7100', 'Cape'), /*Dunas Cape*/ +('1102245', '3800', 'Cape'), /*Sun Cape*/ +('1102249', '6300', 'Cape'), /*Oz Magic Cape*/ +('1102250', '4700', 'Cape'), /*Murgoth's Feather*/ +('1102251', '8800', 'Cape'), /*World Cup Towel*/ +('1102252', '3200', 'Cape'), /*Phoenix Wing*/ +('1102253', '6300', 'Cape'), /*Purple Wings*/ +('1102254', '7600', 'Cape'), /*Wild Hunter Cape*/ +('1102255', '5600', 'Cape'), /*Battle Mage Cape*/ +/*Page 15*/ +('1102288', '6300', 'Cape'), /*Piggyback Snowman*/ +('1102290', '6400', 'Cape'), /*Silken Flower Cape*/ +('1102291', '7600', 'Cape'), /*Nekomata*/ +('1102292', '5000', 'Cape'), /*Twinkling Rainbow*/ +('1102296', '3200', 'Cape'), /*Gray Puppy Tail*/ +('1102300', '5600', 'Cape'), /*6th B-Day Party Ball*/ +('1102301', '3800', 'Cape'), /*Traveler's Cape*/ +('1102273', '3400', 'Cape'), /*Lucifer Half Wing*/ +('1102285', '7400', 'Cape'), /*Pink Teru Cape*/ +/*Page 16*/ +('1102286', '6000', 'Cape'), /*Blue Teru Cape*/ +('1102287', '3600', 'Cape'), /*Yellow Teru Cape*/ +('1102323', '7400', 'Cape'), /*Legends Pink Balloon*/ +('1102324', '3400', 'Cape'), /*Legends Twin Balloons*/ +('1102325', '3800', 'Cape'), /*Harmony Wings*/ +('1102326', '7600', 'Cape'), /*Angelic Feathers*/ +('1102307', '5200', 'Cape'), /*New Sachiel Wings*/ +('1102308', '4000', 'Cape'), /*New Veamoth Wings*/ +('1102309', '7400', 'Cape'), /*New Janus Wings*/ +/*Page 17*/ +('1102310', '4900', 'Cape'), /*Fairytale Mantle*/ +('1102318', '7100', 'Cape'), /*Demon Wings*/ +('1102319', '5000', 'Cape'), /*Legends Balloon*/ +('1102355', '5600', 'Cape'), /*Jewel Blizzard*/ +('1102356', '4900', 'Cape'), /*Angelic Emerald*/ +('1102357', '5200', 'Cape'), /*Pretty Pink Bean Balloon*/ +('1102358', '6300', 'Cape'), /*Round-We-Go Mirror Ball*/ +('1102359', '8800', 'Cape'), /*Floaty Snowman Balloon*/ +('1102367', '6400', 'Cape'), /*Elven Spirit Cape*/ +/*Page 18*/ +('1102336', '5600', 'Cape'), /*Alchemist Cape*/ +('1102338', '7600', 'Cape'), /*Honeybee Wings */ +('1102343', '6000', 'Cape'), /*Dark Force Cape */ +('1102344', '6000', 'Cape'), /*Elven Spirit Cape*/ +('1102349', '5200', 'Cape'), /*Fairy Wing Cape*/ +('1102350', '8800', 'Cape'), /*Pink Teru Cape*/ +('1102385', '5200', 'Cape'), /*Lux Cherubim*/ +('1102386', '8800', 'Cape'), /*Nox Cherubim*/ +('1102387', '5200', 'Cape'), /*Blue Dragon Tail*/ +/*Page 19*/ +('1102388', '6000', 'Cape'), /*Red Dragon Tail*/ +('1102389', '6000', 'Cape'), /*Aurora Pharady*/ +('1102390', '3800', 'Cape'), /*Aurora Angel*/ +('1102391', '4700', 'Cape'), /*Honeybee Wings */ +('1102392', '6300', 'Cape'), /*Dainty Cape*/ +('1102396', '7100', 'Cape'), /*Ebony Pimpernel Cape*/ +('1102368', '7600', 'Cape'), /*Floating Silken Flower Cape*/ +('1102373', '6300', 'Cape'), /*Lucia Cape*/ +('1102374', '3800', 'Cape'), /*Monkey Cape*/ +/*Page 20*/ +('1102376', '6300', 'Cape'), /*Psyche Flora*/ +('1102377', '5000', 'Cape'), /*Psyche Mystic*/ +('1102378', '4900', 'Cape'), /*Psyche Melody*/ +('1102380', '5200', 'Cape'), /*Frog Cronies*/ +('1102381', '8800', 'Cape'), /*Imperial Duke Wing*/ +('1102419', '6400', 'Cape'), /*Lucia Cape*/ +('1102420', '3200', 'Cape'), /*Magic Star Cape*/ +('1102421', '5000', 'Cape'), /*Lemon Floating Smile*/ +('1102423', '3800', 'Cape'), /*Euro Balloon (PL)*/ +/*Page 21*/ +('1102424', '7100', 'Cape'), /*Euro Balloon (GR)*/ +('1102425', '3800', 'Cape'), /*Euro Balloon (RU)*/ +('1102426', '8800', 'Cape'), /*Euro Balloon (CZ)*/ +('1102427', '4900', 'Cape'), /*Euro Balloon (NL)*/ +('1102428', '4700', 'Cape'), /*Euro Balloon (DK)*/ +('1102429', '4700', 'Cape'), /*Euro Balloon (DE)*/ +('1102430', '5200', 'Cape'), /*Euro Balloon (PT)*/ +('1102431', '8800', 'Cape'), /*Euro Balloon (ES)*/ +('1102450', '7100', 'Cape'), /*Heavenly Aura*/ +/*Page 22*/ +('1102451', '4000', 'Cape'), /*Void Aura*/ +('1102452', '4000', 'Cape'), /*Fairy Aura*/ +('1102453', '6000', 'Cape'), /*Dryad*/ +('1102461', '3600', 'Cape'), /*Valentine's Cape*/ +('1102432', '4900', 'Cape'), /*Euro Balloon (IT)*/ +('1102433', '5000', 'Cape'), /*Euro Balloon (IE)*/ +('1102434', '3600', 'Cape'), /*Euro Balloon (HR)*/ +('1102435', '7600', 'Cape'), /*Euro Balloon (UA)*/ +('1102436', '4900', 'Cape'), /*Euro Balloon (SE)*/ +/*Page 23*/ +('1102437', '5600', 'Cape'), /*Euro Balloon (FR)*/ +('1102438', '5200', 'Cape'), /*Euro Balloon (GB)*/ +('1102486', '6400', 'Cape'), /*BasilMarket Billionaire Balloon*/ +('1102487', '6000', 'Cape'), /*Luminous Cherubim*/ +('1102488', '4700', 'Cape'), /*Cupcake Balloon*/ +('1102491', '4900', 'Cape'), /*Sunny Day*/ +('1102465', '6000', 'Cape'), /*Jett's Cape*/ +('1102466', '6000', 'Cape'), /*Flying Nobilitas*/ +('1102512', '6000', 'Cape'), /*Dark Force Cape*/ +/*Page 24*/ +('1102513', '8800', 'Cape'), /*Flying Nobilitas*/ +('1102496', '5000', 'Cape'), /*Hyper Honeybee Wings*/ +('1102501', '4000', 'Cape'), /*[MS Discount] Nine-Tailed Fox Tails*/ +('1102503', '6000', 'Cape'), /*Frisky Cat Tail*/ +('1102508', '3800', 'Cape'), /*Koala Cape*/ +('1102510', '3200', 'Cape'), /*Ribbon Kitty Tail*/ +('1102511', '8800', 'Cape'), /*Angel Cherub*/ +('1102544', '3800', 'Cape'), /*Albatross Cape*/ +('1102545', '5000', 'Cape'), /*Albatross Cape*/ +/*Page 25*/ +('1102546', '4000', 'Cape'), /*Blue Bird Dream Wings*/ +('1102547', '3600', 'Cape'), /*Amethyst Dream Wings*/ +('1102548', '3600', 'Cape'), /*Leafy Dream Wings*/ +('1102549', '6400', 'Cape'), /*Steward Cat*/ +('1102550', '3400', 'Cape'), /*Lime Green Wings*/ +('1102551', '7100', 'Cape'), /*Sapphire Wings*/ +('1102554', '4900', 'Cape'), /*Succubus Wings*/ +('1102555', '4900', 'Cape'), /*Angelic White Wings*/ +('1102532', '4900', 'Cape'), /*Light Wing Cherubim*/ +/*Page 26*/ +('1102537', '7400', 'Cape'), /*Magic Star Cape*/ +('1102542', '7400', 'Cape'), /*Hawkeye Ocean Cape*/ +('1102543', '3200', 'Cape'), /*Oz Magic Cape*/ +('1102576', '4900', 'Cape'), /*Nox Cherubim*/ +('1102577', '7600', 'Cape'), /*Aurora Angel*/ +('1102582', '5600', 'Cape'), /*GM Daejang's Lucia Cape*/ +('1102583', '5000', 'Cape'), /*Baby Dragon Pobi*/ +('1102587', '4900', 'Cape'), /*Heavenly Aura*/ +('1102588', '4900', 'Cape'), /*Void Aura*/ +/*Page 27*/ +('1102589', '3200', 'Cape'), /*Fairy Aura*/ +('1102591', '3400', 'Cape'), /*Battle Monster Victory Cape*/ +('1102564', '5000', 'Cape'), /*Angel's Ribbon*/ +('1102572', '7400', 'Cape'), /*Gratias Aura*/ +('1102574', '3600', 'Cape'), /*Chicky Pile*/ +('1102575', '3800', 'Cape'), /*Lux Cherubim*/ +('1102608', '7100', 'Cape'), /*Superstar Mirror Ball*/ +('1102609', '3600', 'Cape'), /*Psyche Flora*/ +('1102610', '7400', 'Cape'), /*Psyche Mystic*/ +/*Page 28*/ +('1102611', '4700', 'Cape'), /*Psyche Melody*/ +('1102613', '4900', 'Cape'), /*Futuroid Tail Sensor*/ +('1102614', '5200', 'Cape'), /*Futuroid Tail Sensor*/ +('1102615', '6000', 'Cape'), /*Clocktower Wind-up Doll*/ +('1102616', '6000', 'Cape'), /*Lapis's Spirit*/ +('1102617', '6300', 'Cape'), /*Lazuli's Spirit*/ +('1102619', '6400', 'Cape'), /*Icy Sweet Penguin*/ +('1102620', '7400', 'Cape'), /*My Own Fireworks*/ +('1102621', '4900', 'Cape'), /*Nagging Megaphone*/ +/*Page 29*/ +('1102622', '5000', 'Cape'), /*Princess of Time Pocket Watch*/ +('1102592', '4900', 'Cape'), /*Battle Monster Consolation Cape*/ +('1102593', '4700', 'Cape'), /*Floaty Baseball*/ + + + +/*Page 1*/ +('1102604', '6300', 'Cape 2'), /*Gear Wing*/ +('1102605', '3400', 'Cape 2'), /*Shadow Peacemaker*/ +('1102640', '3200', 'Cape 2'), /*Aran's Cape*/ +('1102641', '4000', 'Cape 2'), /*Yui's Spirit*/ +('1102642', '5000', 'Cape 2'), /*Yui's Wings*/ +('1102643', '5200', 'Cape 2'), /*Golden Age*/ +('1102644', '4700', 'Cape 2'), /*Pretty Pixie*/ +('1102648', '5000', 'Cape 2'), /*Mr. K's Cat Tail*/ +('1102650', '6000', 'Cape 2'), /*Eunwol Foxtail*/ +/*Page 2*/ +('1102651', '6400', 'Cape 2'), /*Red Panda Tail*/ +('1102652', '6000', 'Cape 2'), /*Chipmunk Tail*/ +('1102653', '5600', 'Cape 2'), /*Deluxe Rabbit Tail*/ +('1102654', '5200', 'Cape 2'), /*Puppy Tail*/ +('1102655', '4900', 'Cape 2'), /*Bear Tail*/ +('1102624', '7400', 'Cape 2'), /*Aeolus Aura*/ +('1102625', '3800', 'Cape 2'), /*Snail Shell*/ +('1102629', '4700', 'Cape 2'), /*Pink Cherubim*/ +('1102630', '8800', 'Cape 2'), /*Romantic Wing Cherubim*/ +/*Page 3*/ +('1102631', '4000', 'Cape 2'), /*Vampire Phantom Cape*/ +('1102632', '3400', 'Cape 2'), /*Shadow Peacemaker*/ +('1102673', '4900', 'Cape 2'), /*Ghost Balloon*/ +('1102674', '4900', 'Cape 2'), /*Food Escape*/ +('1102675', '6400', 'Cape 2'), /*Candy Party Ribbon*/ +('1102682', '5000', 'Cape 2'), /*Nurse Syringe*/ +('1102683', '6300', 'Cape 2'), /*Rabbit and Bear Book Bag*/ +('1102684', '5600', 'Cape 2'), /*Doctor Stethoscope*/ +('1102685', '7600', 'Cape 2'), /*Baby Pink Panda Cape*/ +/*Page 4*/ +('1102656', '7400', 'Cape 2'), /*Bunny Tail*/ +('1102657', '6000', 'Cape 2'), /*Cat o' Nine Tails*/ +('1102658', '7400', 'Cape 2'), /*Cute Kitty Tail*/ +('1102667', '7100', 'Cape 2'), /*Magical Misty Moon*/ +('1102668', '4000', 'Cape 2'), /*Night Angel Wings*/ +('1102669', '3800', 'Cape 2'), /*Royal Spoiled Fairy*/ +('1102705', '3400', 'Cape 2'), /*Island Travel Bags*/ +('1102706', '3800', 'Cape 2'), /*Melodic Aurora*/ +('1102707', '3200', 'Cape 2'), /*Dreaming Conch*/ +/*Page 5*/ +('1102708', '8800', 'Cape 2'), /*Blushy Conch*/ +('1102709', '3200', 'Cape 2'), /*Lumina Flutter*/ +('1102712', '6300', 'Cape 2'), /*Long-awaited Resort*/ +('1102688', '4000', 'Cape 2'), /*Boom Boom Fireworks*/ +('1102694', '3200', 'Cape 2'), /*Mini-Mini Slime*/ +('1102695', '6300', 'Cape 2'), /*Spirited Nine Tails*/ +('1102697', '6400', 'Cape 2'), /*Ruby Dragonfly Wings*/ +('1102698', '4900', 'Cape 2'), /*Emerald Dragonfly Wings*/ +('1102699', '5000', 'Cape 2'), /*Magma Wings*/ +/*Page 6*/ +('1102700', '3800', 'Cape 2'), /*Petit Ciel*/ +('1102702', '6400', 'Cape 2'), /*Ruby Monarch*/ +('1102703', '6400', 'Cape 2'), /*Jade Monarch*/ +('1102747', '4900', 'Cape 2'), /*Cutie Pandas*/ +('1102748', '4700', 'Cape 2'), /*Rabbit-Bear Camping Bag*/ +('1102749', '8800', 'Cape 2'), /*Starland Balloon*/ +('1102723', '3800', 'Cape 2'), /*Giant Bright Angel Wings*/ +('1102724', '3400', 'Cape 2'), /*Giant Dark Devil Wings*/ +('1102725', '8800', 'Cape 2'), /*Flopping Baby Sea Otter*/ +/*Page 7*/ +('1102726', '4900', 'Cape 2'), /*Carrot Cape*/ +('1102729', '4700', 'Cape 2'), /*Glowing Lights*/ +('1102730', '5200', 'Cape 2'), /*Glorious Aura*/ +('1102768', '4900', 'Cape 2'), /*Worn Witch Cape*/ +('1102769', '6000', 'Cape 2'), /*Witch Cape*/ +('1102772', '3800', 'Cape 2'), /*Worn Ghost Cape*/ +('1102773', '5600', 'Cape 2'), /*Ghost Cape*/ +('1102774', '5200', 'Cape 2'), /*Total Lunar Eclipse Cape*/ +('1102778', '6000', 'Cape 2'), /*Lolli Lolli Lollipop*/ +/*Page 8*/ +('1102779', '3800', 'Cape 2'), /*Gold Wing*/ +('1102780', '6300', 'Cape 2'), /*With Eren*/ +('1102781', '6300', 'Cape 2'), /*With Mikasa*/ +('1102782', '7600', 'Cape 2'), /*With Annie*/ +('1102783', '5600', 'Cape 2'), /*With Sasha*/ +('1102754', '7400', 'Cape 2'), /*Idol of the Birds*/ +('1102755', '7100', 'Cape 2'), /*Boom Star Balloon*/ +('1102756', '7100', 'Cape 2'), /*Corn Cape*/ +('1102758', '3200', 'Cape 2'), /*Victory Wings*/ +/*Page 9*/ +('1102759', '6300', 'Cape 2'), /*Ball Buddies*/ +('1102766', '7400', 'Cape 2'), /*Raging Lotus Aura*/ +('1102767', '5600', 'Cape 2'), /*Ill Orchid IV*/ +('1102800', '6300', 'Cape 2'), /*Fluffy Bell Cape*/ +('1102801', '3200', 'Cape 2'), /*Silver Wolf Coat*/ +('1102802', '3800', 'Cape 2'), /*Round-We-Go Mirror Ball*/ +('1102803', '3400', 'Cape 2'), /*Pretty Pink Bean Balloon*/ +('1102804', '7400', 'Cape 2'), /*Pink Teru Cape*/ +('1102805', '4000', 'Cape 2'), /*Floaty Snowman Balloon*/ +/*Page 10*/ +('1102806', '5000', 'Cape 2'), /*Cutie Birk Wings*/ +('1102808', '4000', 'Cape 2'), /*Loved Mouse Couple*/ +('1102809', '3200', 'Cape 2'), /*Death Waltz Cloak*/ +('1102811', '6000', 'Cape 2'), /*Snow Bloom*/ +('1102812', '7100', 'Cape 2'), /*Blizzard Drive*/ +('1102813', '4900', 'Cape 2'), /*Shoulder Blanche*/ +('1102815', '5200', 'Cape 2'), /*Lucky Charm Bag*/ +('1102784', '4900', 'Cape 2'), /*With Christa*/ +('1102785', '4000', 'Cape 2'), /*With Levi*/ +/*Page 11*/ +('1102786', '6400', 'Cape 2'), /*Titan Escape*/ +('1102787', '7600', 'Cape 2'), /*Scout Regiment Cape*/ +('1102788', '6000', 'Cape 2'), /*With Armin*/ +('1102789', '6300', 'Cape 2'), /*Snow Bear Scarf*/ +('1102798', '4700', 'Cape 2'), /*Blue Bird Wings*/ +('1102832', '5200', 'Cape 2'), /*Machine Cape*/ +('1102835', '6400', 'Cape 2'), /*Schwarzer Coat*/ +('1102836', '7400', 'Cape 2'), /*Wonder Kitty*/ +('1102837', '6400', 'Cape 2'), /*Dreams Within Dreams*/ +/*Page 12*/ +('1102839', '6300', 'Cape 2'), /*Pink Zakum Arms*/ +('1102841', '7400', 'Cape 2'), /*Iris Pearl*/ +('1102842', '5000', 'Cape 2'), /*Pineapple Bag*/ +('1102843', '6400', 'Cape 2'), /*Pink Cherubim*/ +('1102844', '6400', 'Cape 2'), /*Mousy Bunny Bouncy Buddies*/ +('1102845', '3800', 'Cape 2'), /*Blue Panda*/ +('1102847', '7400', 'Cape 2'), /*Yeonhwa School Guardian Soul Fire*/ +('1102816', '5000', 'Cape 2'), /*Fairy Bell*/ +('1102818', '4900', 'Cape 2'), /*Crystal Cat Star Cape*/ +/*Page 13*/ +('1102819', '4700', 'Cape 2'), /*Naughty Boy Backpack*/ +('1102820', '4000', 'Cape 2'), /*Hazy Night Tassel*/ +('1102822', '3200', 'Cape 2'), /*Flowery Breeze*/ +('1102823', '6000', 'Cape 2'), /*Petite Devil Wings*/ +('1102824', '6000', 'Cape 2'), /*Halfblood Wings*/ +('1102827', '5600', 'Cape 2'), /*The Kingdom Cape of King*/ +('1102830', '3600', 'Cape 2'), /*돼지바의 요정*/ +('1102831', '7400', 'Cape 2'), /*Soaring High*/ +('1102864', '4000', 'Cape 2'), /*Farmer's Grace*/ +/*Page 14*/ +('1102865', '4700', 'Cape 2'), /*Thundercrash Cape*/ +('1102868', '3200', 'Cape 2'), /*Triple Bat Cape*/ +('1102869', '3400', 'Cape 2'), /*Bloody Rose*/ +('1102870', '7600', 'Cape 2'), /*Midnight Black Coffin*/ +('1102872', '7600', 'Cape 2'), /*Shining Noblesse*/ +('1102873', '3600', 'Cape 2'), /*Eternal Noblesse*/ +('1102874', '6000', 'Cape 2'), /*Lumin Wings*/ +('1102875', '7400', 'Cape 2'), /*Amnesiac Alien*/ +('1102876', '7600', 'Cape 2'), /*Selfie Time*/ +/*Page 15*/ +('1102877', '5600', 'Cape 2'), /*Blue Marine Sunshine*/ + + +('1102848', '5200', 'Cape 2'), /*Gravity*/ +('1102849', '4700', 'Cape 2'), /*Gravity*/ +('1102857', '5200', 'Cape 2'), /*Legendary Fish Man*/ +('1102858', '7400', 'Cape 2'), /*Eternal Clockwork*/ +('1102859', '4000', 'Cape 2'), /*Sapphire Snow*/ +('1102860', '5000', 'Cape 2'), /*British Weather Cape*/ +/*Page 16*/ +('1102861', '6400', 'Cape 2'), /*Ursus Light*/ +('1102863', '3400', 'Cape 2'), /*Sparkly Rainbow Cape*/ +('1102896', '4900', 'Cape 2'), /*Chiaroscuro Luminous Cape*/ +('1102897', '4900', 'Cape 2'), /*Chiaroscuro Luminous Cape*/ +('1102898', '3800', 'Cape 2'), /*Secret Shade Cape*/ +('1102899', '4900', 'Cape 2'), /*Secret Shade Cape*/ +('1102900', '7400', 'Cape 2'), /*Lumpy Snowflakes*/ +('1102901', '3400', 'Cape 2'), /*Sparkler*/ +('1102902', '3200', 'Cape 2'), /*Dokidoki*/ +/*Page 17*/ +('1102903', '6300', 'Cape 2'), /*Floating Monkey*/ +('1102904', '3200', 'Cape 2'), /*Eternal Clockwork*/ +('1102905', '6300', 'Cape 2'), /*Today's Sunshine Cape*/ +('1102906', '5000', 'Cape 2'), /*Snug Black Nero*/ +('1102907', '8800', 'Cape 2'), /*Ice Flower Wing*/ +('1102908', '3200', 'Cape 2'), /*Winter Garden Cape*/ +('1102910', '6400', 'Cape 2'), /*Smile Seed Cape*/ + + +/*Page 18*/ + + +('1102884', '5000', 'Cape 2'), /*Angelic Polar Cape*/ +('1102885', '8800', 'Cape 2'), /*Fluffy Fox Tail (Gold)*/ +('1102886', '6300', 'Cape 2'), /*Fluffy Fox Tail (Silver)*/ +('1102888', '3800', 'Cape 2'), /*Evan Dragon Cape*/ +('1102889', '7100', 'Cape 2'), /*Evan Dragon Cape*/ +('1102890', '7100', 'Cape 2'), /*Royal Mercedes Cape*/ +('1102891', '3600', 'Cape 2'), /*Royal Mercedes Cape*/ +/*Page 19*/ +('1102892', '7100', 'Cape 2'), /*Mystic Phantom Cape*/ +('1102893', '4700', 'Cape 2'), /*Mystic Phantom Cape*/ +('1102894', '7400', 'Cape 2'), /*Winter Aran Cape*/ +('1102895', '6400', 'Cape 2'), /*Winter Aran Cape*/ +('1102928', '5200', 'Cape 2'), /*Sweet Berry*/ +('1102929', '6300', 'Cape 2'), /*Jet Black Devil*/ +('1102930', '6300', 'Cape 2'), /*Spring Rain Drippy-drop*/ +('1102931', '3400', 'Cape 2'), /*Noble Maple Cape*/ +('1102932', '4000', 'Cape 2'), /*Alicia's Flower Wings*/ +/*Page 20*/ +('1102933', '5600', 'Cape 2'), /*Alicia's Flower Wings*/ +('1102934', '6000', 'Cape 2'), /*Snow Angel*/ +('1102935', '6300', 'Cape 2'), /*Whistling Wind*/ +('1102936', '3800', 'Cape 2'), /*Forest Whisper*/ +('1102937', '6300', 'Cape 2'), /*Cats All Over Cape*/ +('1102938', '8800', 'Cape 2'), /*Fantastic Beach Cape*/ +('1102939', '3400', 'Cape 2'), /*Red Cloud Cape*/ +('1102912', '3800', 'Cape 2'), /*Umbral Cloak*/ +('1102913', '5600', 'Cape 2'), /*Flower Dancer's Red Cape*/ +/*Page 21*/ +('1102914', '3400', 'Cape 2'), /*Dancing Blue Butterflies*/ +('1102915', '8800', 'Cape 2'), /*Concert Muse*/ +('1102916', '6000', 'Cape 2'), /*Baby Binkie Toys*/ +('1102917', '8800', 'Cape 2'), /*Angel's Cookie Backpack*/ +('1102918', '7400', 'Cape 2'), /*Blazing Aura*/ +('1102919', '5000', 'Cape 2'), /*Tag-along Baby Duck*/ +('1102920', '5600', 'Cape 2'), /*Spring Energy*/ +('1102923', '7600', 'Cape 2'), /*Singles Army Combat Cape*/ +('1102924', '5200', 'Cape 2'), /*Couples Army Combat Cape*/ +/*Page 22*/ +('1102926', '5000', 'Cape 2'), /*Shark Cape*/ +('1102927', '7100', 'Cape 2'), /*Windy Paw Scarf*/ +('1102960', '7100', 'Cape 2'), /*Pure Dream Wings*/ +('1102961', '5000', 'Cape 2'), /*Alert! Alert!*/ +('1102964', '3400', 'Cape 2'), /*Sweetheart's Affection*/ +('1102965', '5600', 'Cape 2'), /*Dancing Fireflies*/ +('1102966', '5000', 'Cape 2'), /*Puck's Cape*/ +('1102967', '5000', 'Cape 2'), /*Vampire Phantom Cloak*/ +('1102968', '5600', 'Cape 2'), /*Icicle Wings*/ +/*Page 23*/ +('1102969', '7400', 'Cape 2'), /*Clear Skies*/ +('1102970', '5200', 'Cape 2'), /*Rainy Day*/ +('1102971', '4700', 'Cape 2'), /*Lightning Storm*/ +('1102972', '6000', 'Cape 2'), /*Winter Wings*/ +('1102973', '6300', 'Cape 2'), /*Trace of the Alicorn*/ +('1102974', '5200', 'Cape 2'), /*Stellar Specters*/ +('1102975', '5200', 'Cape 2'), /*Cat Balloon Cape*/ +('1102945', '6400', 'Cape 2'), /*Kitty Wuv*/ +('1102946', '3600', 'Cape 2'), /*Sarasa*/ +/*Page 24*/ +('1102947', '5000', 'Cape 2'), /*New Angelic Emerald*/ +('1102948', '7600', 'Cape 2'), /*Lil Neon Wings*/ +('1102949', '6400', 'Cape 2'), /*Bubble Wings*/ +('1102950', '3400', 'Cape 2'), /*Bu-bu-bubbles!*/ +('1102951', '6300', 'Cape 2'), /*Popsicle Pals*/ + +('1102953', '3200', 'Cape 2'), /*Kamaitachi Tail*/ +('1102954', '5200', 'Cape 2'), /*Owl Balloon*/ +('1102955', '6000', 'Cape 2'), /*Moon Bunny Cape*/ +/*Page 25*/ +('1102956', '8800', 'Cape 2'), /*Dark Musician Scarf*/ +('1102957', '7400', 'Cape 2'), /*Chained Princess Chain*/ +('1102958', '3200', 'Cape 2'), /*Light Bulb Wings*/ +('1102959', '5600', 'Cape 2'), /*Sultry Dream Wings*/ +('1102992', '5000', 'Cape 2'), /*Star Shadow*/ +('1102995', '4900', 'Cape 2'), /*Nova Enchanter Winged Cape*/ +('1102998', '4900', 'Cape 2'), /*Fuzzy Cotton Tail*/ +('1102999', '6000', 'Cape 2'), /*Mischievous Rainbow*/ +('1103000', '6300', 'Cape 2'), /*Rocket Fuse Cape*/ +/*Page 26*/ +('1103001', '4000', 'Cape 2'), /*Korean Kite Cape*/ +('1103003', '5200', 'Cape 2'), /*Heart Bling Wings*/ +('1103004', '4700', 'Cape 2'), /*Pthbttt Cape*/ +('1103007', '4900', 'Cape 2'), /*Demon Bag*/ +('1102976', '4000', 'Cape 2'), /*Sweet Sugar Powder*/ +('1102977', '4700', 'Cape 2'), /*Fried Chicken God's Blessings*/ +('1102978', '3800', 'Cape 2'), /*Christmas Tree Ornament Cape*/ +('1102980', '4700', 'Cape 2'), /*Lil Dark Angel Wings*/ +('1102981', '8800', 'Cape 2'), /*Wrapped with Love Cape*/ +/*Page 27*/ +('1102982', '6400', 'Cape 2'), /*Phoenix Wing Cape*/ +('1102983', '5000', 'Cape 2'), /*Snowflake Umbrella*/ +('1102984', '3400', 'Cape 2'), /*White Night Cape*/ +('1102987', '7100', 'Cape 2'), /*Maple Galaxy Cape*/ +('1102988', '3200', 'Cape 2'), /*Winter's Whisper*/ +('1102989', '6000', 'Cape 2'), /*Winter's Whisper*/ +('1102991', '8800', 'Cape 2'), /*Polar Explorer Backpack*/ +('1103024', '7100', 'Cape 2'), /*Fantabulous Fruit*/ +('1103026', '5000', 'Cape 2'), /*Forest Breeze Floral Effect*/ +/*Page 28*/ +('1103027', '5600', 'Cape 2'), /*Underwater Essentials Cape*/ +('1103028', '3800', 'Cape 2'), /*Elunite Elemental Cape*/ +('1103029', '7600', 'Cape 2'), /*Floral Bubbles*/ +('1103031', '7400', 'Cape 2'), /*Charlotte's Garden*/ +('1103032', '4900', 'Cape 2'), /*Round-We-Go Mirror Ball*/ +('1103033', '7400', 'Cape 2'), /*Refreshing Lemon Cape*/ +('1103034', '6000', 'Cape 2'), /*Summer Flower Fairy Cape*/ +('1103035', '4000', 'Cape 2'), /*Teddy Picnic*/ +('1103036', '6000', 'Cape 2'), /*Shooting Stars*/ +/*Page 29*/ +('1103037', '3400', 'Cape 2'), /*Feather Messenger Cape*/ +('1103038', '7100', 'Cape 2'), /*Falling Darkness Cape (F)*/ +('1103039', '3200', 'Cape 2'), /*Black Shadow Cape*/ + + + +/*Page 1*/ +('1103008', '7100', 'Cape 3'), /*Pandora Cape*/ +('1103009', '4700', 'Cape 3'), /*Silver Flower Child Cape*/ +('1103010', '6000', 'Cape 3'), /*Skater Love Cape*/ +('1103011', '4000', 'Cape 3'), /*The Erda Flow*/ +('1103012', '5000', 'Cape 3'), /*Detective Mush Cape*/ +('1103013', '6000', 'Cape 3'), /*Blossom Breeze*/ +('1103014', '5600', 'Cape 3'), /*Weightless Sparkle*/ +('1103015', '3600', 'Cape 3'), /*Napoleonic Cape*/ +('1103018', '5000', 'Cape 3'), /*Water Dance*/ +/*Page 2*/ +('1103019', '5000', 'Cape 3'), /*Chooble Fluff*/ +('1103020', '4700', 'Cape 3'), /*Space Fluffs*/ +('1103021', '5600', 'Cape 3'), /*Prism Wings*/ +('1103022', '3800', 'Cape 3'), /*Maple Galaxy Cape*/ +('1103023', '4000', 'Cape 3'), /*Dream Breeze*/ +('1103056', '4700', 'Cape 3'), /*Dreamland*/ +('1103057', '7400', 'Cape 3'), /*Fairy Pearl*/ +('1103058', '4700', 'Cape 3'), /*Christmas Bunny Cape*/ +('1103060', '5600', 'Cape 3'), /*Warm Pink Bear Cape*/ +/*Page 3*/ +('1103061', '4900', 'Cape 3'), /*Warm Blue Bear Cape*/ +('1103065', '5000', 'Cape 3'), /*Chain Wings*/ +('1103066', '7400', 'Cape 3'), /*Outburst*/ +('1103067', '5600', 'Cape 3'), /*Bound by Dreams*/ +('1103068', '3600', 'Cape 3'), /*Royal Mantle*/ +('1103069', '6300', 'Cape 3'), /*Worn Ghost Cape*/ +('1103070', '5200', 'Cape 3'), /*Worn Witch Cape*/ +('1103071', '4900', 'Cape 3'), /*AT Field*/ +('1103040', '3200', 'Cape 3'), /*I Heart Cats Cape*/ +/*Page 4*/ +('1103041', '5600', 'Cape 3'), /*Pastel Wings*/ +('1103042', '4700', 'Cape 3'), /*Falling Darkness Cape (M)*/ +('1103043', '7600', 'Cape 3'), /*Custom Kitty Tail*/ +('1103044', '6000', 'Cape 3'), /*Swishing Kitty Tail*/ +('1103045', '8800', 'Cape 3'), /*Flowery Cat Balloon*/ +('1103046', '4000', 'Cape 3'), /*Shadow Tactician Cape*/ +('1103047', '5000', 'Cape 3'), /*Excavation Dog*/ +('1103048', '7600', 'Cape 3'), /*Puppy Love Samurai Tail (M)*/ +('1103049', '3400', 'Cape 3'), /*Puppy Love Samurai Tail (F)*/ +/*Page 5*/ +('1103050', '7400', 'Cape 3'), /*Golden Flash*/ +('1103051', '5000', 'Cape 3'), /*Golden Wind-up*/ +('1103052', '4000', 'Cape 3'), /*Angelic Silk*/ +('1103053', '3800', 'Cape 3'), /*Crimson Fate Seal*/ +('1103054', '3400', 'Cape 3'), /*Crimson Fate Seal*/ +('1103055', '5200', 'Cape 3'), /*Magic Bandmaster*/ +('1103089', '6400', 'Cape 3'), /*Choco Pup*/ +('1103090', '5200', 'Cape 3'), /*Fluff Pup*/ +('1103092', '5600', 'Cape 3'), /*Homeless Cat Cape*/ +/*Page 6*/ +('1103093', '8800', 'Cape 3'), /*Anniversary Cape*/ +('1103094', '6400', 'Cape 3'), /*Field of Flowers*/ +('1103095', '3600', 'Cape 3'), /*Shadow Self*/ +('1103096', '5000', 'Cape 3'), /*Squirrel Tail*/ +('1103097', '5200', 'Cape 3'), /*Effusive Exclamations*/ +('1103098', '3600', 'Cape 3'), /*Super Summer Cape (F)*/ +('1103099', '8800', 'Cape 3'), /*Super Summer Cape (M)*/ +('1103100', '3400', 'Cape 3'), /*Ark Cape*/ +('1103101', '7400', 'Cape 3'), /*Cotton Candy Wings*/ +/*Page 7*/ +('1103102', '4900', 'Cape 3'), /*Down in the Dumps*/ +('1103103', '4700', 'Cape 3'), /*Maple Gumshoe's File Fairy*/ +('1103072', '5000', 'Cape 3'), /*Soft Cloud*/ + +('1103074', '6000', 'Cape 3'), /*First Snow*/ +('1103075', '3800', 'Cape 3'), /*Shoulder Squatter*/ +('1103076', '8800', 'Cape 3'), /*Lunar New Year VIP Cape*/ +('1103077', '4900', 'Cape 3'), /*Royal Guard Cape*/ +('1103079', '4700', 'Cape 3'), /*Plum Blossom Perfume Pouch*/ +/*Page 8*/ +('1103080', '5200', 'Cape 3'), /*Ark Aura*/ +('1103081', '6300', 'Cape 3'), /*Happy Puppy*/ +('1103082', '4900', 'Cape 3'), /*World of Pink Cape*/ +('1103083', '3400', 'Cape 3'), /*Butterfly Cape*/ +('1103084', '3400', 'Cape 3'), /*Boyfriend Cape (M)*/ +('1103085', '3600', 'Cape 3'), /*Girlfriend Cape (F)*/ +('1103086', '8800', 'Cape 3'), /*Alchemist Backpack*/ +('1103087', '8800', 'Cape 3'), /*Chocoverse*/ +('1103124', '7400', 'Cape 3'), /*Maple Alliance Cape*/ +/*Page 9*/ +('1103126', '4900', 'Cape 3'), /*Misty Nocturne*/ +('1103127', '5600', 'Cape 3'), /*Misty Fantasia*/ +('1103128', '3800', 'Cape 3'), /*Misty Nocturne*/ +('1103129', '4000', 'Cape 3'), /*Misty Fantasia*/ +('1103130', '5200', 'Cape 3'), /*Seafoam Coral Brilliance*/ +('1103131', '3200', 'Cape 3'), /*Reaper's Cape*/ +('1103133', '4700', 'Cape 3'), /*Custom Puppy Tail*/ +('1103104', '6000', 'Cape 3'), /*Picnic Balloons*/ +('1103105', '3400', 'Cape 3'), /*Rock Spirit Triplets*/ +/*Page 10*/ +('1103106', '7600', 'Cape 3'), /*Picnic Time*/ +('1103107', '6300', 'Cape 3'), /*Happy Ghost Cape*/ +('1103108', '4900', 'Cape 3'), /*Erda Cape*/ +('1103110', '3600', 'Cape 3'), /*Mechanic Wings*/ +('1103111', '3200', 'Cape 3'), /*14th Anniversary Cape*/ +('1103112', '6400', 'Cape 3'), /*Superfan Tomoyo*/ +('1103114', '4900', 'Cape 3'), /*Clockwork Wings*/ +('1103115', '6400', 'Cape 3'), /*Burning Desire*/ + +/*Page 11*/ +('1103117', '7600', 'Cape 3'), /*Rain Puddle Cape*/ +('1103118', '5000', 'Cape 3'), /*Spring Green Morning*/ +('1103119', '3200', 'Cape 3'), /*Catkerchief Sack*/ +('1103152', '6400', 'Cape 3'), /*Glimmering Snowflakes*/ +('1103153', '7400', 'Cape 3'), /*Starstruck*/ +('1103154', '3800', 'Cape 3'), /*Floating Golden Piggy*/ +('1103155', '3400', 'Cape 3'), /*Cobalt Filigree Cape*/ +('1103156', '3800', 'Cape 3'), /*Lunar New Year Pudgy Piggy Cape*/ +('1103157', '4000', 'Cape 3'), /*Glittering Elegance Cape*/ +/*Page 12*/ +('1103158', '3200', 'Cape 3'), /*Plaid Pashmina (Brown)*/ +('1103159', '7600', 'Cape 3'), /*Plaid Pashmina (Green)*/ +('1103160', '6000', 'Cape 3'), /*Plaid Pashmina (Pink)*/ +('1103161', '8800', 'Cape 3'), /*Plaid Pashmina (Purple)*/ +('1103162', '3400', 'Cape 3'), /*Plaid Pashmina (Red)*/ +('1103163', '5000', 'Cape 3'), /*Plaid Pashmina (Fuschia)*/ +('1103164', '4900', 'Cape 3'), /*Plaid Pashmina (Ivory)*/ +('1103138', '4700', 'Cape 3'), /*Detective's Key*/ +('1103139', '4900', 'Cape 3'), /*Crystal Wings*/ +/*Page 13*/ +('1103140', '5600', 'Cape 3'), /*Pastel Angel Wings*/ +('1103141', '3200', 'Cape 3'), /*Heavenly Prayer Cape*/ +('1103142', '6000', 'Cape 3'), /*Alliance Commander Cape*/ +('1103144', '4700', 'Cape 3'), /*Fairy Tale Ballad*/ +('1103147', '8800', 'Cape 3'), /*Tri-color Cape*/ +('1103148', '7400', 'Cape 3'), /*Necrotic Flow*/ +('1103149', '3800', 'Cape 3'), /*Defender's Stone*/ +('1103150', '6000', 'Cape 3'), /*Regal Romance Cape*/ +('1103151', '5000', 'Cape 3'), /*Black Mage's Aura*/ +/*Page 14*/ +('1103184', '5600', 'Cape 3'), /*Springtime Sprout Cape*/ +('1103189', '4900', 'Cape 3'), /*Destroyer Cape*/ +('1103190', '3600', 'Cape 3'), /*Creator Cape*/ +('1103195', '6300', 'Cape 3'), /*Red Lotus Spirit Walker's Dark Tent*/ +('1103168', '3400', 'Cape 3'), /*Adventurer's Wings*/ +('1103169', '5600', 'Cape 3'), /*Sugarsweet Candy Cape*/ +('1103170', '5600', 'Cape 3'), /*Peek-a-Boo CONY*/ +('1103171', '7400', 'Cape 3'), /*Lavender Melody*/ +('1103172', '5200', 'Cape 3'), /*Sunny Songbird Cape*/ +/*Page 15*/ +('1103173', '7600', 'Cape 3'), /*Midnight Magician Cape*/ +('1103175', '6300', 'Cape 3'), /*Speedy Petite Wings*/ +('1103176', '6300', 'Cape 3'), /*Cursed Hunter Cape*/ +('1103179', '7600', 'Cape 3'), /*Adventurer Cape*/ +('1103181', '3800', 'Cape 3'), /*Blue Flame Hellion Cape*/ +('1103182', '4000', 'Cape 3'), /*Starry Light Cape*/ +('1103183', '3600', 'Cape 3'), /*Fox Fire Spectral Tail*/ + + + + + +/*Page 1*/ +('1702585', '3700', 'Transparent'), /*Universal Transparent Weapon*/ +('1002186', '6800', 'Transparent'), /*Transparent Hat*/ +('1012057', '6300', 'Transparent'), /*Transparent Face Accessory*/ +('1022048', '3700', 'Transparent'), /*Transparent Eye Accessory*/ +('1032024', '7800', 'Transparent'), /*Transparent Earrings*/ +('1072153', '6500', 'Transparent'), /*Transparent Shoes*/ +('1082102', '5700', 'Transparent'), /*Transparent Gloves*/ +('1092064', '6500', 'Transparent'), /*Transparent Shield*/ +('1102039', '6300', 'Transparent'), /*Transparent Cape*/ +/*Page 2*/ +('1342069', '6300', 'Transparent'), /*Transparent Katara*/ + + + + + +/* APPEARANCE */ + +/*Page 1*/ +('5160000', '3700', 'Facial Expressions'), /*Queasy*/ +('5160001', '6300', 'Facial Expressions'), /*Panicky*/ +('5160002', '5000', 'Facial Expressions'), /*Sweetness*/ +('5160003', '2700', 'Facial Expressions'), /*Smoochies*/ +('5160004', '6300', 'Facial Expressions'), /*Wink*/ +('5160005', '7400', 'Facial Expressions'), /*Ouch*/ +('5160006', '6300', 'Facial Expressions'), /*Sparkling Eyes*/ +('5160007', '4300', 'Facial Expressions'), /*Flaming*/ +('5160008', '2700', 'Facial Expressions'), /*Ray*/ +/*Page 2*/ +('5160009', '2700', 'Facial Expressions'), /*Goo Goo*/ +('5160010', '2700', 'Facial Expressions'), /*Whoa Whoa*/ +('5160011', '3700', 'Facial Expressions'), /*Constant Sigh*/ +('5160012', '5600', 'Facial Expressions'), /*Drool*/ +('5160013', '3200', 'Facial Expressions'), /*Dragon Breath*/ +('5160014', '3200', 'Facial Expressions'), /*Bleh*/ +('5160015', '3700', 'Facial Expressions'), /*Dizzy*/ +('5160016', '2700', 'Facial Expressions'), /*Awkward*/ +('5160017', '6800', 'Facial Expressions'), /*Villainous*/ +/*Page 3*/ +('5160019', '6800', 'Facial Expressions'), /*Queasy*/ +('5160020', '6300', 'Facial Expressions'), /*Panicky*/ +('5160021', '4300', 'Facial Expressions'), /*Sweetness*/ +('5160022', '7400', 'Facial Expressions'), /*Smoochies*/ +('5160023', '5600', 'Facial Expressions'), /*Wink*/ +('5160024', '5000', 'Facial Expressions'), /*Ouch*/ +('5160025', '3700', 'Facial Expressions'), /*Sparkling Eyes*/ +('5160026', '6300', 'Facial Expressions'), /*Flaming*/ +('5160027', '3700', 'Facial Expressions'), /*Ray*/ +/*Page 4*/ +('5160028', '4300', 'Facial Expressions'), /*Goo Goo*/ +('5160029', '2700', 'Facial Expressions'), /*Whoa Whoa*/ +('5160030', '7400', 'Facial Expressions'), /*Constant Sigh*/ +('5160031', '7400', 'Facial Expressions'), /*Drool*/ +('5160032', '3200', 'Facial Expressions'), /*Dragon Breath*/ +('5160033', '6800', 'Facial Expressions'), /*Bleh*/ +('5160034', '5600', 'Facial Expressions'), /*Nosebleed*/ +('5160035', '6800', 'Facial Expressions'), /*Awesome*/ +('5160036', '7400', 'Facial Expressions'), /*Troll*/ + + + +/*Page 1*/ +('5010000', '5000', 'Effect'), /*Sunny Day*/ +('5010001', '2700', 'Effect'), /*Moon & the Stars*/ +('5010002', '2700', 'Effect'), /*Colorful Rainbow*/ +('5010003', '4700', 'Effect'), /*Little Devil*/ +('5010004', '3200', 'Effect'), /*Underwater*/ +('5010005', '3700', 'Effect'), /*Looking for Love*/ +('5010006', '4700', 'Effect'), /*Baby Angel*/ +('5010007', '7400', 'Effect'), /*Fugitive*/ +('5010008', '6800', 'Effect'), /*Mr. Jackpot*/ +/*Page 2*/ +('5010009', '5000', 'Effect'), /*Martial Effect*/ +('5010010', '2700', 'Effect'), /*Play with Me*/ +('5010011', '2700', 'Effect'), /*Loner*/ +('5010012', '3200', 'Effect'), /*Equalizer*/ +('5010013', '5000', 'Effect'), /*Fireworks*/ +('5010014', '4700', 'Effect'), /*Stormy Cloud*/ +('5010015', '3700', 'Effect'), /*777 Effect*/ +('5010016', '2700', 'Effect'), /*Siren*/ +('5010017', '3700', 'Effect'), /*Twinkling Star*/ +/*Page 3*/ +('5010018', '3700', 'Effect'), /*Smile*/ +('5010019', '6300', 'Effect'), /*Heart*/ +('5010020', '6300', 'Effect'), /*Go! Korea!*/ +('5010021', '4300', 'Effect'), /*Skeleton of Horror*/ +('5010022', '2700', 'Effect'), /*Star Trail*/ +('5010023', '4700', 'Effect'), /*Pumping Heart*/ +('5010024', '4300', 'Effect'), /*The Flocking Ducks*/ +('5010025', '4700', 'Effect'), /*Silent Spectre*/ +('5010026', '3700', 'Effect'), /*Bat Manager Effect*/ +/*Page 4*/ +('5010027', '3200', 'Effect'), /*Hot Head*/ +('5010028', '5600', 'Effect'), /*Indigo Flames*/ +('5010029', '5600', 'Effect'), /*Demonfyre*/ +('5010030', '4300', 'Effect'), /*Nuclear Fire*/ +('5010031', '5000', 'Effect'), /*My Boyfriend*/ +('5010032', '4300', 'Effect'), /*My Girlfriend*/ +('5010033', '5600', 'Effect'), /*Sheer Fear*/ +('5010034', '5600', 'Effect'), /*Christmas Tree*/ +('5010035', '5000', 'Effect'), /*Snowman*/ +/*Page 5*/ +('5010038', '6800', 'Effect'), /*Shower Power*/ +('5010039', '5000', 'Effect'), /*Spotlight*/ +('5010041', '3700', 'Effect'), /*Super Symphony*/ +('5010042', '3700', 'Effect'), /*Busy Bee*/ +('5010043', '4700', 'Effect'), /*Eyelighter*/ +('5010044', '2700', 'Effect'), /*Shadow Style*/ +('5010045', '4300', 'Effect'), /*Struck by Lightning*/ +('5010046', '5600', 'Effect'), /*Maple Champion*/ +('5010048', '4700', 'Effect'), /*Maple Champion*/ +/*Page 6*/ +('5010049', '6300', 'Effect'), /*Maple Champion*/ +('5010051', '7400', 'Effect'), /*O Maplemas Tree*/ +('5010052', '3700', 'Effect'), /*Santa Sled*/ +('5010053', '6300', 'Effect'), /*Mistletoe*/ +('5010054', '4700', 'Effect'), /*Jingling Santa*/ +('5010055', '5000', 'Effect'), /*UFO*/ +('5010056', '5600', 'Effect'), /*Garden Trail*/ +('5010057', '6800', 'Effect'), /*Flower Fairy*/ +('5010059', '5600', 'Effect'), /*Trail of Darkness Effect*/ +/*Page 7*/ +('5010060', '5600', 'Effect'), /*Happy Winter Effect*/ +('5010061', '3200', 'Effect'), /*Ace of Hearts*/ +('5010064', '4300', 'Effect'), /*Rock Band Effect*/ +('5010065', '5000', 'Effect'), /*Scoreboard Effect*/ +('5010066', '2700', 'Effect'), /*Disco Effect*/ +('5010068', '4300', 'Effect'), /*Return of Angel Wing*/ +('5010069', '6800', 'Effect'), /*Seraphim's Dark Wings*/ +('5010070', '6300', 'Effect'), /*Sprite Wings*/ +('5010073', '2700', 'Effect'), /*Miss Popular*/ +/*Page 8*/ +('5010074', '4700', 'Effect'), /*Mr. Popular*/ +('5010075', '6800', 'Effect'), /*I'm in London*/ +('5010076', '4700', 'Effect'), /*PARIS Je T'aime*/ +('5010078', '4300', 'Effect'), /*Owl Effect*/ +('5010079', '5000', 'Effect'), /*Cygnus Effect*/ +('5010080', '3200', 'Effect'), /*Spring Rain*/ +('5010081', '3200', 'Effect'), /*Peacock Effect*/ +('5010082', '3700', 'Effect'), /*Shining Star*/ +('5010083', '5600', 'Effect'), /*Winter Wonderland*/ +/*Page 9*/ +('5010095', '3200', 'Effect'), /*[Sale] Winter Wonderland*/ +('5010096', '2700', 'Effect'), /*[Sale] Shining Star*/ +('5010097', '5600', 'Effect'), /*[Sale] Echo Wings*/ +('5010098', '4300', 'Effect'), /*[Sale] Long Lost Angel Wing*/ +('5010099', '4300', 'Effect'), /*[Special] Shadow Style*/ +('5010100', '5000', 'Effect'), /*Maple Style Effect*/ +('5010101', '3200', 'Effect'), /*Rainbow Wings*/ +('5010102', '2700', 'Effect'), /*Sorry!*/ +('5010103', '7400', 'Effect'), /*Friends Plz*/ +/*Page 10*/ +('5010104', '2700', 'Effect'), /*Party Plz*/ +('5010106', '5600', 'Effect'), /*Shining Effect*/ +('5010109', '3200', 'Effect'), /*Je t'aime Paris*/ +('5010110', '2700', 'Effect'), /*Rhinne's Protection*/ +('5010111', '3700', 'Effect'), /*Tropical Beach*/ +('5010112', '5000', 'Effect'), /*London Night Effect*/ +('5010113', '3200', 'Effect'), /*PSY Effect*/ + + + + + +/* PET */ + +/*Page 1*/ +('5000000', '11700', 'Pets'), /*Brown Kitty*/ +('5000001', '9800', 'Pets'), /*Brown Puppy*/ +('5000002', '8400', 'Pets'), /*Pink Bunny*/ +('5000003', '11700', 'Pets'), /*Mini Kargo*/ +('5000004', '7500', 'Pets'), /*Black Kitty*/ +('5000005', '7500', 'Pets'), /*White Bunny*/ +('5000006', '9600', 'Pets'), /*Husky*/ +('5000007', '6000', 'Pets'), /*Black Pig*/ +('5000008', '8400', 'Pets'), /*Panda*/ +/*Page 2*/ +('5000009', '10600', 'Pets'), /*Dino Boy*/ +('5000010', '9800', 'Pets'), /*Dino Girl*/ +('5000011', '7500', 'Pets'), /*Monkey*/ +('5000012', '8700', 'Pets'), /*White Tiger*/ +('5000013', '9600', 'Pets'), /*Elephant*/ +('5000014', '9800', 'Pets'), /*Rudolph*/ +('5000015', '7500', 'Pets'), /*Dasher*/ +('5000017', '9600', 'Pets'), /*Robot*/ +('5000018', '8400', 'Pets'), /*Husky*/ +/*Page 3*/ +('5000020', '10600', 'Pets'), /*Mini Yeti*/ +('5000021', '6600', 'Pets'), /*Monkey*/ +('5000022', '8700', 'Pets'), /*Turkey*/ +('5000023', '6600', 'Pets'), /*Penguin*/ +('5000024', '10600', 'Pets'), /*Jr. Balrog*/ +('5000025', '9600', 'Pets'), /*Golden Pig*/ +('5000026', '10600', 'Pets'), /*Sun Wu Kong*/ +('5000028', '14400', 'Pets'), /*Dragon*/ +('5000029', '6000', 'Pets'), /*Baby Dragon*/ +/*Page 4*/ +('5000030', '9800', 'Pets'), /*Green Dragon*/ +('5000031', '10600', 'Pets'), /*Red Dragon*/ +('5000032', '6000', 'Pets'), /*Blue Dragon*/ +('5000033', '10600', 'Pets'), /*Black Dragon*/ +('5000034', '14400', 'Pets'), /*Black Bunny*/ +('5000036', '8700', 'Pets'), /*Jr. Reaper*/ +('5000037', '8700', 'Pets'), /*Husky*/ +('5000038', '9600', 'Pets'), /*White Monkey*/ +('5000039', '9600', 'Pets'), /*Porcupine*/ +/*Page 5*/ +('5000041', '6000', 'Pets'), /*Snowman*/ +('5000042', '9600', 'Pets'), /*Kino*/ +('5000044', '6600', 'Pets'), /*Orange Tiger*/ +('5000045', '7500', 'Pets'), /*Skunk*/ +('5000047', '9600', 'Pets'), /*Robo*/ +('5000048', '14400', 'Pets'), /*Baby Robo*/ +('5000049', '7500', 'Pets'), /*Blue Robo*/ +('5000050', '6600', 'Pets'), /*Red Robo*/ +('5000051', '7500', 'Pets'), /*Green Robo*/ +/*Page 6*/ +('5000052', '9800', 'Pets'), /*Gold Robo*/ +('5000053', '11700', 'Pets'), /*Gorilla Robo*/ +('5000054', '8400', 'Pets'), /*Snail*/ +('5000055', '9800', 'Pets'), /*Crys.Rudolph*/ +('5000056', '14400', 'Pets'), /*Toucan*/ +('5000058', '9600', 'Pets'), /*White Duck*/ +('5000060', '14400', 'Pets'), /*Pink Bean*/ +('5000066', '6000', 'Pets'), /*Baby Tiger*/ +('5000067', '6000', 'Pets'), /*Weird Alien*/ +/*Page 7*/ +('5000070', '7500', 'Pets'), /*Mir*/ +('5000071', '11700', 'Pets'), /*Ruby*/ +('5000074', '9800', 'Pets'), /*Bing Monkey*/ +('5000076', '14400', 'Pets'), /*Corgi Pup*/ +('5000078', '6000', 'Pets'), /*Monkey*/ +('5000079', '11700', 'Pets'), /*Black Kitty*/ +('5000080', '11700', 'Pets'), /*Penguin*/ +('5000082', '6000', 'Pets'), /*Baby Tiger*/ +('5000083', '7500', 'Pets'), /*Persian Cat*/ +/*Page 8*/ +('5000084', '10600', 'Pets'), /*Esel*/ +('5000085', '9800', 'Pets'), /*Cake*/ +('5000086', '7500', 'Pets'), /*Pie*/ +('5000087', '14400', 'Pets'), /*Black Bunny*/ +('5000088', '7500', 'Pets'), /*Black Bunny*/ +('5000089', '11700', 'Pets'), /*Tiel*/ +('5000090', '8700', 'Pets'), /*Galiel*/ +('5000091', '8400', 'Pets'), /*Esel*/ +('5000092', '9600', 'Pets'), /*Tiel*/ +/*Page 9*/ +('5000093', '8700', 'Pets'), /*Galiel*/ +('5000096', '8700', 'Pets'), /*Dummbo*/ +('5000098', '9800', 'Pets'), /*Shark*/ +('5000100', '10600', 'Pets'), /*Kino*/ +('5000101', '11700', 'Pets'), /*White Tiger*/ +('5000102', '6000', 'Pets'), /*Mini Yeti*/ +('5000103', '14400', 'Pets'), /*Chroma Bean*/ +('5000105', '14400', 'Pets'), /*Baby Tiger*/ +('5000106', '8700', 'Pets'), /*Ruby*/ +/*Page 10*/ +('5000107', '6600', 'Pets'), /*Black Pig*/ +('5000108', '14400', 'Pets'), /*Cake*/ +('5000109', '8400', 'Pets'), /*Pie*/ +('5000110', '6000', 'Pets'), /*Corgi Pup*/ +('5000111', '8700', 'Pets'), /*Persian Cat*/ +('5000114', '8400', 'Pets'), /*Rudolph*/ +('5000116', '6000', 'Pets'), /*Jr. Reaper*/ +('5000117', '9600', 'Pets'), /*White Bunny*/ +('5000118', '6600', 'Pets'), /*Mir*/ +/*Page 11*/ +('5000120', '6000', 'Pets'), /*Tiel*/ +('5000121', '10600', 'Pets'), /*Esel*/ +('5000122', '9800', 'Pets'), /*Galiel*/ +('5000130', '11700', 'Pets'), /*Metus*/ +('5000131', '8700', 'Pets'), /*Mors*/ +('5000132', '8400', 'Pets'), /*Invidia*/ +('5000133', '9800', 'Pets'), /*Storm Dragon*/ +('5000134', '9600', 'Pets'), /*Fennec Fox*/ +('5000135', '6000', 'Pets'), /*Gingerbready*/ +/*Page 12*/ +('5000136', '9600', 'Pets'), /*Ice Knight*/ +('5000138', '9600', 'Pets'), /*Merlion Pet*/ +('5000139', '10600', 'Pets'), /*Butterfly*/ +('5000141', '8700', 'Pets'), /*Shark*/ +('5000142', '10600', 'Pets'), /*Puffram*/ +('5000143', '10600', 'Pets'), /*Craw*/ +('5000144', '6000', 'Pets'), /*Adriano*/ +('5000145', '14400', 'Pets'), /*Bonkey*/ +('5000146', '10600', 'Pets'), /*Harp Seal*/ +/*Page 13*/ +('5000147', '6600', 'Pets'), /*Penguin*/ +('5000148', '8400', 'Pets'), /*White Duck*/ +('5000149', '11700', 'Pets'), /*Silver Husky*/ +('5000150', '11700', 'Pets'), /*Pink Yeti*/ +('5000151', '8700', 'Pets'), /*Bandit*/ +('5000152', '6000', 'Pets'), /*Miracle Cat*/ +('5000155', '10600', 'Pets'), /*Abel*/ +('5000156', '10600', 'Pets'), /*Axel*/ +('5000161', '9600', 'Pets'), /*Pink*/ +/*Page 14*/ +('5000162', '8700', 'Pets'), /*Aaron*/ +('5000163', '6000', 'Pets'), /*Mint*/ +('5000167', '9600', 'Pets'), /*Starwing*/ +('5000168', '8400', 'Pets'), /*Stickman*/ +('5000170', '14400', 'Pets'), /*PSY*/ +('5000171', '6600', 'Pets'), /*MagiCookie*/ +('5000172', '6000', 'Pets'), /*Mini Yeti*/ +('5000176', '8700', 'Pets'), /*Kangaroo*/ +('5000193', '14400', 'Pets'), /*Von Soup*/ +/*Page 15*/ +('5000194', '8700', 'Pets'), /*Pink Bunny*/ +('5000195', '14400', 'Pets'), /*Black Bunny*/ +('5000197', '6000', 'Pets'), /*Sassy Snake*/ +('5000198', '8400', 'Pets'), /*Lil Moonbeam*/ +('5000199', '10600', 'Pets'), /*Adel*/ +('5000201', '14400', 'Pets'), /*Pink Bean*/ +('5000202', '10600', 'Pets'), /*Corgi Pup*/ +('5000203', '7500', 'Pets'), /*Craw*/ +('5000204', '6600', 'Pets'), /*Adriano*/ +/*Page 16*/ +('5000205', '14400', 'Pets'), /*Bonkey*/ +('5000206', '9600', 'Pets'), /*Fennec Fox*/ +('5000207', '10600', 'Pets'), /*Corgi Pup*/ +('5000209', '9800', 'Pets'), /*Storm Dragon*/ +('5000210', '8700', 'Pets'), /*Penguin*/ +('5000211', '14400', 'Pets'), /*Scurvy Bird*/ +('5000212', '9800', 'Pets'), /*Metus*/ +('5000213', '11700', 'Pets'), /*Mors*/ +('5000214', '6600', 'Pets'), /*Invidia*/ +/*Page 17*/ +('5000215', '14400', 'Pets'), /*Chunky */ +('5000216', '6600', 'Pets'), /*Brown Burro*/ +('5000217', '10600', 'Pets'), /*Blackheart*/ +('5000221', '14400', 'Pets'), /*Harp Seal*/ +('5000225', '8700', 'Pets'), /*Puffram*/ +('5000228', '6600', 'Pets'), /*Demon Metus*/ +('5000229', '10600', 'Pets'), /*Demon Mors*/ +('5000230', '9600', 'Pets'), /*Invidia*/ +('5000231', '9800', 'Pets'), /*Demon Metus*/ +/*Page 18*/ +('5000232', '8700', 'Pets'), /*Demon Mors*/ +('5000233', '8400', 'Pets'), /*Invidia*/ +('5000234', '7500', 'Pets'), /*Metus*/ +('5000235', '9600', 'Pets'), /*Mors*/ +('5000236', '14400', 'Pets'), /*Invidia*/ +('5000237', '8700', 'Pets'), /*Starwing*/ +('5000238', '9800', 'Pets'), /*Baby Tiger*/ +('5000239', '6600', 'Pets'), /*Shark*/ +('5000240', '10600', 'Pets'), /*Pink Bean*/ +/*Page 19*/ +('5000241', '9600', 'Pets'), /*Puffram*/ +('5000243', '6000', 'Pets'), /*Pink Dragon*/ +('5000244', '7500', 'Pets'), /*Ice Dragon*/ +('5000245', '7500', 'Pets'), /*Red Dragon*/ +('5000246', '9800', 'Pets'), /*Chroma Bean*/ +('5000249', '6000', 'Pets'), /*Fluffy Teddy*/ +('5000250', '6000', 'Pets'), /*Cutie Teddy*/ +('5000251', '11700', 'Pets'), /*Puffy Teddy*/ +('5000254', '9600', 'Pets'), /*Red Elly*/ +/*Page 20*/ +('5000255', '14400', 'Pets'), /*Blue Burro*/ +('5000256', '11700', 'Pets'), /*Pumpkin Jack*/ +('5000257', '9600', 'Pets'), /*Pumpkin Zack*/ +('5000258', '14400', 'Pets'), /*Pumpkin Mack*/ +('5000261', '6000', 'Pets'), /*Royal Thumpy*/ +('5000262', '6000', 'Pets'), /*Merlion*/ +('5000263', '6600', 'Pets'), /*Butterfly*/ +('5000264', '8400', 'Pets'), /*Kangaroo*/ +('5000265', '11700', 'Pets'), /*Crys.Rudolph*/ +/*Page 21*/ +('5000266', '9800', 'Pets'), /*Pink Bean*/ +('5000269', '6000', 'Pets'), /*Hedgehog*/ +('5000270', '10600', 'Pets'), /*Fennec Fox*/ +('5000271', '14400', 'Pets'), /*Frumpy Koala*/ +('5000272', '6600', 'Pets'), /*Grumpy Koala*/ +('5000273', '9800', 'Pets'), /*Nerdy Koala*/ +('5000275', '7500', 'Pets'), /*Chippermunk*/ +('5000276', '8400', 'Pets'), /*Chipmunch*/ +('5000277', '7500', 'Pets'), /*Chubmunk*/ +/*Page 22*/ +('5000281', '6000', 'Pets'), /*Vile Metus*/ +('5000282', '7500', 'Pets'), /*Dire Mors*/ +('5000283', '8400', 'Pets'), /*Wild Invidia*/ +('5000290', '8700', 'Pets'), /*Honey Angel*/ +('5000291', '8700', 'Pets'), /*Lime Angel*/ +('5000292', '9600', 'Pets'), /*Peach Angel*/ +('5000293', '9600', 'Pets'), /*Roo-A*/ +('5000294', '9600', 'Pets'), /*Roo-B*/ +('5000295', '14400', 'Pets'), /*Roo-C*/ +/*Page 23*/ +('5000296', '14400', 'Pets'), /*Toasty Devil*/ +('5000297', '7500', 'Pets'), /*Icy Devil*/ +('5000298', '8700', 'Pets'), /*Miasma Devil*/ +('5000299', '10600', 'Pets'), /*Gingerhead*/ +('5000300', '6000', 'Pets'), /*Devil Ipos*/ +('5000301', '11700', 'Pets'), /*Devil Shaz*/ +('5000302', '10600', 'Pets'), /*Devil Ose*/ +('5000303', '6000', 'Pets'), /*Devil Iros*/ +('5000304', '8700', 'Pets'), /*Devil Maz*/ +/*Page 24*/ +('5000305', '8700', 'Pets'), /*Devil Fose*/ +('5000306', '8400', 'Pets'), /*Devil Imos*/ +('5000307', '10600', 'Pets'), /*Devil Gaz*/ +('5000308', '6600', 'Pets'), /*Devil Tose*/ +('5000309', '9600', 'Pets'), /*Mini Queen*/ +('5000310', '10600', 'Pets'), /*Von Bon*/ +('5000311', '6000', 'Pets'), /*Pierre*/ +('5000312', '14400', 'Pets'), /*Blue Dragon*/ +('5000314', '9800', 'Pets'), /*Sun Wu Kong*/ +/*Page 25*/ +('5000316', '11700', 'Pets'), /*Sassy Snake*/ +('5000317', '10600', 'Pets'), /*Ice Knight*/ +('5000318', '6000', 'Pets'), /*Yeti Robot*/ +('5000320', '6000', 'Pets'), /*Pinkadillo*/ +('5000321', '8700', 'Pets'), /*Yellowdillo*/ +('5000322', '9600', 'Pets'), /*Greenadillo*/ +('5000328', '8700', 'Pets'), /*Von Soup*/ +('5000329', '9800', 'Pets'), /*Red Dragon*/ +('5000330', '9800', 'Pets'), /*Jr. Von Leon*/ +/*Page 26*/ +('5000331', '9800', 'Pets'), /*Jr. Orchid*/ +('5000332', '8400', 'Pets'), /*Jr. Hilla*/ +('5000337', '10600', 'Pets'), /*PSY*/ +('5000341', '9800', 'Pets'), /*Punchyroo*/ +('5000342', '11700', 'Pets'), /*Unripe Nut*/ +('5000343', '6000', 'Pets'), /*Chestnut*/ +('5000344', '8400', 'Pets'), /*Burnt Nut*/ +('5000345', '6600', 'Pets'), /*Tiny Gollux*/ +('5000352', '9800', 'Pets'), /*White Candle*/ +/*Page 27*/ +('5000353', '14400', 'Pets'), /*Blue Candle*/ +('5000354', '6000', 'Pets'), /*Grape Candle*/ +('5000362', '6600', 'Pets'), /*RED Rudolph*/ +('5000363', '8700', 'Pets'), /*RED Yeti*/ +('5000364', '9800', 'Pets'), /*RED Penguin*/ +('5000365', '6600', 'Pets'), /*Kiwi Puff*/ +('5000366', '11700', 'Pets'), /*Berry Puff*/ +('5000367', '8400', 'Pets'), /*Mango Puff*/ +('5000368', '9800', 'Pets'), /*Happy Bean*/ +/*Page 28*/ +('5000369', '8700', 'Pets'), /*Li'l Lai*/ +('5000370', '7500', 'Pets'), /*Li'l Fort*/ +('5000371', '10600', 'Pets'), /*L'il Arby*/ +('5000375', '6600', 'Pets'), /*Pink Pengy*/ +('5000376', '9800', 'Pets'), /*Purple Pengy*/ +('5000377', '6600', 'Pets'), /*Blue Pengy*/ +('5000381', '11700', 'Pets'), /*Toto*/ +('5000382', '8700', 'Pets'), /*Frankie*/ +('5000383', '10600', 'Pets'), /*Lil Moonbeam*/ +/*Page 29*/ +('5000384', '6600', 'Pets'), /*Petite Mario*/ +('5000385', '7500', 'Pets'), /*Abel*/ +('5000386', '11700', 'Pets'), /*Axel*/ + + + +/*Page 1*/ +('5000387', '6600', 'Pets 2'), /*Adel*/ +('5000402', '14400', 'Pets 2'), /*Ballet Lyn*/ +('5000403', '9600', 'Pets 2'), /*Soldier Hong*/ +('5000404', '6600', 'Pets 2'), /*Soldier Chun*/ +('5000405', '6000', 'Pets 2'), /*Green Chad*/ +('5000406', '9800', 'Pets 2'), /*Pink Mel*/ +('5000407', '7500', 'Pets 2'), /*Orange Leon*/ +('5000408', '6000', 'Pets 2'), /*Jr. Sierra*/ +('5000409', '8700', 'Pets 2'), /*Jr. Ryan*/ +/*Page 2*/ +('5000414', '10600', 'Pets 2'), /*Lil' Bobble*/ +('5000415', '14400', 'Pets 2'), /*Lil' Lotus*/ +('5000416', '6600', 'Pets 2'), /*Ill Orchid*/ +('5000417', '9600', 'Pets 2'), /*Gelimer*/ +('5000424', '9800', 'Pets 2'), /*Sheep*/ +('5000428', '9600', 'Pets 2'), /*Holoyeti*/ +('5000429', '6000', 'Pets 2'), /*Pink Seal*/ +('5000430', '14400', 'Pets 2'), /*New Seal*/ +('5000431', '6600', 'Pets 2'), /*Newer Seal*/ +/*Page 3*/ +('5000432', '9600', 'Pets 2'), /*Pinker Seal*/ +('5000433', '14400', 'Pets 2'), /*War Sheep*/ +('5000434', '9600', 'Pets 2'), /*Mage Sheep*/ +('5000435', '9800', 'Pets 2'), /*Cleric Sheep*/ +('5000437', '6000', 'Pets 2'), /*Orange*/ +('5000442', '6600', 'Pets 2'), /*Gelimer*/ +('5000443', '9600', 'Pets 2'), /*Furry Elwin*/ +('5000444', '10600', 'Pets 2'), /*Fluffy Lily*/ +('5000445', '9800', 'Pets 2'), /*Baby Nero*/ +/*Page 4*/ +('5000446', '6600', 'Pets 2'), /*Strawbear*/ +('5000447', '14400', 'Pets 2'), /*Bananabear*/ +('5000448', '7500', 'Pets 2'), /*Cookiebear*/ +('5000449', '9800', 'Pets 2'), /*Gengerbready*/ +('5000451', '8700', 'Pets 2'), /*Gorilla Robo*/ +('5000452', '10600', 'Pets 2'), /*Squishy Bean*/ +('5000456', '6000', 'Pets 2'), /*Macha Man*/ +('5000457', '7500', 'Pets 2'), /*Lady Hot Tea*/ +('5000458', '6000', 'Pets 2'), /*Captain Cafe*/ +/*Page 5*/ +('5000459', '8700', 'Pets 2'), /*Black Kitty*/ +('5000460', '6000', 'Pets 2'), /*Sailor Seal*/ +('5000461', '10600', 'Pets 2'), /*Admiral Seal*/ +('5000462', '9800', 'Pets 2'), /*Steward Seal*/ +('5000463', '8700', 'Pets 2'), /*Burnt Nut*/ +('5000464', '8700', 'Pets 2'), /*Gingerhead*/ +('5000465', '6600', 'Pets 2'), /*Orange*/ +('5000466', '10600', 'Pets 2'), /*Ducky*/ +('5000468', '11700', 'Pets 2'), /*Starwing*/ +/*Page 6*/ +('5000469', '6600', 'Pets 2'), /*Tiny Nero*/ +('5000470', '9600', 'Pets 2'), /*Cheesy Cat*/ +('5000471', '6600', 'Pets 2'), /*Samson Cat*/ +('5000473', '11700', 'Pets 2'), /*Little Ursus*/ +('5000474', '9600', 'Pets 2'), /*Moist Cake*/ +('5000475', '6000', 'Pets 2'), /*Nutty Pie*/ +('5000476', '11700', 'Pets 2'), /*Sweet Candy*/ +('5000479', '9800', 'Pets 2'), /*Lil Zakum*/ +('5000480', '11700', 'Pets 2'), /*Ice Dragon*/ +/*Page 7*/ +('5000482', '7500', 'Pets 2'), /*Galiel*/ +('5000483', '8700', 'Pets 2'), /*Mouse Monkey*/ +('5000484', '10600', 'Pets 2'), /*Lil Evan*/ +('5000485', '11700', 'Pets 2'), /*Lil Aran*/ +('5000486', '14400', 'Pets 2'), /*Lil Phantom*/ +('5000490', '10600', 'Pets 2'), /*Lil Luminous*/ +('5000491', '9600', 'Pets 2'), /*Lil Mercedes*/ +('5000492', '14400', 'Pets 2'), /*Lil Shade*/ +('5000493', '11700', 'Pets 2'), /*Persian Cat*/ +/*Page 8*/ +('5000494', '9600', 'Pets 2'), /*Lil Damien*/ +('5000495', '6000', 'Pets 2'), /*Lil Alicia*/ +('5000496', '9600', 'Pets 2'), /*Lil Lilin*/ +('5000497', '11700', 'Pets 2'), /*Invidia*/ +('5000498', '9800', 'Pets 2'), /*Fennec Fox*/ +('5000499', '7500', 'Pets 2'), /*Stickman*/ +('5000500', '9800', 'Pets 2'), /*Turkey*/ +('5000501', '9600', 'Pets 2'), /*Pumpkin Jack*/ +('5000502', '7500', 'Pets 2'), /*Pumpkin O'*/ +/*Page 9*/ +('5000503', '7500', 'Pets 2'), /*Pumpkin L*/ +('5000505', '11700', 'Pets 2'), /*Frankie*/ +('5000507', '10600', 'Pets 2'), /*Blue Husky*/ +('5000508', '10600', 'Pets 2'), /*Crys.Rudolph*/ +('5000509', '14400', 'Pets 2'), /*Snowman*/ +('5000510', '10600', 'Pets 2'), /*Fluffram*/ +('5000511', '14400', 'Pets 2'), /*Jr. Von Leon*/ +('5000513', '7500', 'Pets 2'), /*Jr. Hilla*/ +('5000514', '6000', 'Pets 2'), /*Macha Man*/ +/*Page 10*/ +('5000515', '9800', 'Pets 2'), /*Lady Hot Tea*/ +('5000516', '6600', 'Pets 2'), /*Captain Cafe*/ +('5000517', '8700', 'Pets 2'), /*Hekaton*/ +('5000518', '6600', 'Pets 2'), /*Hekaton S*/ +('5000519', '6000', 'Pets 2'), /*Hekaton E*/ +('5000520', '6600', 'Pets 2'), /*Hekaton A*/ +('5000521', '7500', 'Pets 2'), /*Lil' Ninja*/ +('5000522', '9600', 'Pets 2'), /*Toucan*/ +('5000524', '11700', 'Pets 2'), /*Alpaca*/ +/*Page 11*/ +('5000525', '10600', 'Pets 2'), /*Lil' Lotus*/ +('5000526', '8400', 'Pets 2'), /*Ill Orchid*/ +('5000527', '9800', 'Pets 2'), /*Gelimer*/ +('5000528', '7500', 'Pets 2'), /*Meerkat Mob*/ +('5000529', '8400', 'Pets 2'), /*Pudgycat*/ +('5000530', '6600', 'Pets 2'), /*War Sheep*/ +('5000531', '7500', 'Pets 2'), /*Mage Sheep*/ +('5000532', '7500', 'Pets 2'), /*Cleric Sheep*/ +('5000533', '6000', 'Pets 2'), /*Furry Elwin*/ +/*Page 12*/ +('5000534', '8400', 'Pets 2'), /*Fluffy Lily*/ +('5000535', '6600', 'Pets 2'), /*Baby Nero*/ +('5000536', '7500', 'Pets 2'), /*Strawbear*/ +('5000537', '11700', 'Pets 2'), /*Bananabear*/ +('5000538', '6600', 'Pets 2'), /*Cookiebear*/ +('5000545', '14400', 'Pets 2'), /*Black Bean*/ +('5000546', '8700', 'Pets 2'), /*Skunk*/ +('5000547', '11700', 'Pets 2'), /*Porcupine*/ +('5000548', '11700', 'Pets 2'), /*Roo-A*/ +/*Page 13*/ +('5000549', '9800', 'Pets 2'), /*Roo-B*/ +('5000550', '11700', 'Pets 2'), /*Roo-C*/ +('5000551', '14400', 'Pets 2'), /*Pink Dragon*/ +('5000552', '8400', 'Pets 2'), /*Ice Dragon*/ +('5000553', '7500', 'Pets 2'), /*Red Dragon*/ +('5000554', '6600', 'Pets 2'), /*Kiwi Puff*/ +('5000555', '14400', 'Pets 2'), /*Berry Puff*/ +('5000556', '7500', 'Pets 2'), /*Mango Puff*/ +('5000557', '10600', 'Pets 2'), /*Tiny Nero*/ +/*Page 14*/ +('5000558', '9800', 'Pets 2'), /*Cheesy Cat*/ +('5000559', '6000', 'Pets 2'), /*Samson Cat*/ +('5000561', '9600', 'Pets 2'), /*Monkey*/ +('5000563', '6600', 'Pets 2'), /*Mouse Monkey*/ +('5000568', '8400', 'Pets 2'), /*Purple Cake*/ +('5000569', '7500', 'Pets 2'), /*Stjartmes*/ +('5000570', '9800', 'Pets 2'), /*Lil Tutu*/ +('5000571', '7500', 'Pets 2'), /*Lil Nene*/ +('5000572', '6600', 'Pets 2'), /*Lil Lingling*/ +/*Page 15*/ +('5000573', '9600', 'Pets 2'), /*Lil Evan*/ +('5000574', '6000', 'Pets 2'), /*Lil Aran*/ +('5000575', '6000', 'Pets 2'), /*Lil Phantom*/ +('5000576', '6600', 'Pets 2'), /*Lil Luminous*/ +('5000577', '10600', 'Pets 2'), /*Lil Mercedes*/ +('5000578', '6000', 'Pets 2'), /*Lil Shade*/ +('5000579', '9600', 'Pets 2'), /*Gorilla Robo*/ +('5000580', '14400', 'Pets 2'), /*Lil Damien*/ +('5000581', '10600', 'Pets 2'), /*Lil Alicia*/ +/*Page 16*/ +('5000582', '10600', 'Pets 2'), /*Lil Lilin*/ +('5000585', '14400', 'Pets 2'), /*Lil Tengu*/ +('5000586', '7500', 'Pets 2'), /*Beagle*/ +('5000587', '7500', 'Pets 2'), /*Salem Cat*/ +('5000588', '8700', 'Pets 2'), /*Binx Cat*/ +('5000589', '14400', 'Pets 2'), /*Kit Cat*/ +('5000590', '8700', 'Pets 2'), /*Bichon*/ +('5000600', '7500', 'Pets 2'), /*Ursie*/ +('5000601', '7500', 'Pets 2'), /*Punch Cat*/ +/*Page 17*/ +('5000602', '8400', 'Pets 2'), /*Iron Rabbit*/ +('5000604', '6000', 'Pets 2'), /*Brown Kitty*/ +('5000605', '8700', 'Pets 2'), /*Lil Zakum*/ +('5000606', '9600', 'Pets 2'), /*Stjartmes*/ +('5000607', '8400', 'Pets 2'), /*Lil Tutu*/ +('5000608', '6600', 'Pets 2'), /*Lil Nene*/ +('5000609', '8400', 'Pets 2'), /*Lil Lingling*/ +('5000610', '10600', 'Pets 2'), /*Moist Cake*/ +('5000611', '7500', 'Pets 2'), /*Purple Cake*/ +/*Page 18*/ +('5000612', '6000', 'Pets 2'), /*Lil Moonbeam*/ +('5000613', '11700', 'Pets 2'), /*Jr. Hilla*/ +('5000614', '11700', 'Pets 2'), /*Jr. Orchid*/ +('5000615', '9600', 'Pets 2'), /*Jr. Von Leon*/ +('5000617', '8400', 'Pets 2'), /*Stjartmes*/ +('5000618', '9600', 'Pets 2'), /*Stjartmes*/ +('5000623', '8700', 'Pets 2'), /*Esel*/ +('5000626', '9600', 'Pets 2'), /*Lil Damien*/ +('5000627', '14400', 'Pets 2'), /*Lil Alicia*/ +/*Page 19*/ +('5000628', '6000', 'Pets 2'), /*Lil Lilin*/ +('5000629', '14400', 'Pets 2'), /*Merlion Pet*/ +('5000630', '9800', 'Pets 2'), /*Toucan*/ +('5000631', '10600', 'Pets 2'), /*Lil Tengu*/ +('5000632', '14400', 'Pets 2'), /*Beagle*/ +('5000636', '6000', 'Pets 2'), /*Salem Cat*/ +('5000637', '6600', 'Pets 2'), /*Binx Cat*/ +('5000638', '6000', 'Pets 2'), /*Kit Cat*/ +('5000639', '6600', 'Pets 2'), /*Bichon*/ +/*Page 20*/ +('5000644', '6000', 'Pets 2'), /*Craw*/ +('5000645', '8700', 'Pets 2'), /*Adriano*/ +('5000646', '9800', 'Pets 2'), /*Bonkey*/ +('5000647', '14400', 'Pets 2'), /*Mage Sheep*/ +('5000648', '11700', 'Pets 2'), /*War Sheep*/ +('5000649', '10600', 'Pets 2'), /*Cleric Sheep*/ +('5000650', '8400', 'Pets 2'), /*Furry Elwin*/ +('5000651', '9600', 'Pets 2'), /*Fluffy Lily*/ +('5000652', '9600', 'Pets 2'), /*Baby Nero*/ + + + +/*Page 1*/ +('1802000', '2700', 'Pet Appearance'), /*Red Ribbon*/ +('1802001', '7400', 'Pet Appearance'), /*Yellow Hat*/ +('1802002', '7400', 'Pet Appearance'), /*Red Hat*/ +('1802003', '3200', 'Pet Appearance'), /*Black Hat*/ +('1802004', '3700', 'Pet Appearance'), /*Pink Laced Cap*/ +('1802005', '5000', 'Pet Appearance'), /*Sky Blue Lace Cap*/ +('1802006', '4700', 'Pet Appearance'), /*Blue Top Hat*/ +('1802007', '4300', 'Pet Appearance'), /*Red Top Hat*/ +('1802008', '5600', 'Pet Appearance'), /*Rudolph's Hat*/ +/*Page 2*/ +('1802009', '6300', 'Pet Appearance'), /*Tree Hat*/ +('1802010', '6300', 'Pet Appearance'), /*Mushroom Suit*/ +('1802011', '4700', 'Pet Appearance'), /*Red Fur Coat*/ +('1802012', '6800', 'Pet Appearance'), /*Chestnut Cap*/ +('1802013', '3200', 'Pet Appearance'), /*Red Scarf*/ +('1802014', '7400', 'Pet Appearance'), /*Mini Kargo Wings*/ +('1802015', '2700', 'Pet Appearance'), /*Dino King & Queen*/ +('1802016', '3700', 'Pet Appearance'), /*Husky's Yellow Tights*/ +('1802017', '5000', 'Pet Appearance'), /*Monkey Sack*/ +/*Page 3*/ +('1802018', '7400', 'Pet Appearance'), /*Panda's Clown Costume*/ +('1802019', '4300', 'Pet Appearance'), /*Rudolph's Sleigh*/ +('1802020', '4300', 'Pet Appearance'), /*White Tiger's Thief Suit*/ +('1802021', '6800', 'Pet Appearance'), /*Elephant Hat*/ +('1802022', '6800', 'Pet Appearance'), /*Aladin Vest*/ +('1802023', '6300', 'Pet Appearance'), /*Pelvis Hair*/ +('1802024', '5600', 'Pet Appearance'), /*White Tiger the Wizard*/ +('1802025', '5600', 'Pet Appearance'), /*Bunny Suit*/ +('1802026', '3200', 'Pet Appearance'), /*Prince Pepe*/ +/*Page 4*/ +('1802027', '6800', 'Pet Appearance'), /*Husky's Bare Bones*/ +('1802028', '2700', 'Pet Appearance'), /*Dino Ghosty*/ +('1802029', '5000', 'Pet Appearance'), /*Panda's Pet-o-Lantern*/ +('1802030', '5000', 'Pet Appearance'), /*Penguin Earmuff Set*/ +('1802031', '4700', 'Pet Appearance'), /*Cowboy Kargo*/ +('1802032', '4300', 'Pet Appearance'), /*Snowboard Gear*/ +('1802033', '2700', 'Pet Appearance'), /*Crimson Mask*/ +('1802034', '6800', 'Pet Appearance'), /*White Angel*/ +('1802035', '5600', 'Pet Appearance'), /*Cute Beggar Overall*/ +/*Page 5*/ +('1802036', '6300', 'Pet Appearance'), /*Golden Pig Fortune Pouch*/ +('1802037', '5600', 'Pet Appearance'), /*Husky's Oinker Suit*/ +('1802038', '4300', 'Pet Appearance'), /*Mini Celestial Wand*/ +('1802039', '6800', 'Pet Appearance'), /*Golden Pig Lucky Sack*/ +('1802042', '6800', 'Pet Appearance'), /*Baby Turkey Carriage*/ +('1802044', '7400', 'Pet Appearance'), /*Dragon's soul*/ +('1802045', '7400', 'Pet Appearance'), /*Jr. Reaper's Guitar */ +('1802046', '7400', 'Pet Appearance'), /*Rabbit Ears*/ +('1802047', '5600', 'Pet Appearance'), /*Porcupine Sunglasses*/ +/*Page 6*/ +('1802048', '7400', 'Pet Appearance'), /*Dragon Armor*/ +('1802049', '6800', 'Pet Appearance'), /*Jr. Reaper's Sign (I'm with stoopid)*/ +('1802050', '3700', 'Pet Appearance'), /*Jr. Reaper's Sign (<--Noob)*/ +('1802051', '4300', 'Pet Appearance'), /*Jr. Reaper's Sign (cc plz)*/ +('1802052', '4700', 'Pet Appearance'), /*Jr. Reaper's Sign (I love pie)*/ +('1802053', '2700', 'Pet Appearance'), /*Snowman Gear*/ +('1802054', '6300', 'Pet Appearance'), /*Kino's Green Mushroom Hat*/ +('1802055', '3200', 'Pet Appearance'), /*Gas Mask*/ +('1802059', '3200', 'Pet Appearance'), /*Jail Bird Pet Costume*/ +/*Page 7*/ +('1802060', '6300', 'Pet Appearance'), /*Crystal Rudolph's Wings*/ +('1802061', '3700', 'Pet Appearance'), /*Scuba Mask*/ +('1802062', '4700', 'Pet Appearance'), /*Starry Stereo Headset*/ +('1802063', '3700', 'Pet Appearance'), /*Baby Tiger Wings*/ +('1802064', '4300', 'Pet Appearance'), /*Alien's Pet*/ +('1802065', '5600', 'Pet Appearance'), /*Baby Tiger Wings*/ +('1802066', '5000', 'Pet Appearance'), /*Dragon Egg Shell*/ +('1802067', '6800', 'Pet Appearance'), /*Scuba Mask*/ +('1802068', '2700', 'Pet Appearance'), /*Gas Mask*/ +/*Page 8*/ +('1802070', '2700', 'Pet Appearance'), /*Pilot's Cat*/ +('1802071', '4700', 'Pet Appearance'), /*Pink Oxygen Tank*/ +('1802072', '4700', 'Pet Appearance'), /*Caught Fish*/ +('1802073', '6800', 'Pet Appearance'), /*Blue Birdy*/ +('1802077', '6800', 'Pet Appearance'), /*Mango Creampuff Wing's*/ +('1802078', '6300', 'Pet Appearance'), /*Esel's Coronet*/ +('1802079', '3200', 'Pet Appearance'), /*B-Day Candle*/ +('1802080', '6300', 'Pet Appearance'), /*Tiel's Tiara*/ +('1802081', '4300', 'Pet Appearance'), /*Galiel's Angel Star*/ +/*Page 9*/ +('1802082', '6800', 'Pet Appearance'), /*Pink Yeti's Blue BFF*/ +('1802083', '5600', 'Pet Appearance'), /*Silver Husky's Hip Glasses*/ +('1802084', '2700', 'Pet Appearance'), /*Dummbo's Hat*/ +('1802085', '6800', 'Pet Appearance'), /*Red Ribbon*/ +('1802086', '3700', 'Pet Appearance'), /*Mini Kargo Wings*/ +('1802087', '6800', 'Pet Appearance'), /*Blue Top Hat*/ +('1802088', '5000', 'Pet Appearance'), /*Red Top Hat*/ +('1802089', '3700', 'Pet Appearance'), /*Yellow Hat*/ +('1802090', '5000', 'Pet Appearance'), /*Red Hat*/ +/*Page 10*/ +('1802091', '4700', 'Pet Appearance'), /*Black Hat*/ +('1802092', '4300', 'Pet Appearance'), /*Pink Laced Cap*/ +('1802093', '6300', 'Pet Appearance'), /*Sky Blue Laced Cap*/ +('1802094', '5000', 'Pet Appearance'), /*Red Scarf*/ +('1802095', '3200', 'Pet Appearance'), /*Mushroom Suit*/ +('1802096', '5600', 'Pet Appearance'), /*Husky Yellow Tights*/ +('1802097', '7400', 'Pet Appearance'), /*Dino King & Queen*/ +('1802098', '7400', 'Pet Appearance'), /*Bunny Suit*/ +('1802099', '6300', 'Pet Appearance'), /*Monkey Sack*/ +/*Page 11*/ +('1802100', '4700', 'Pet Appearance'), /*Pet Collar*/ +('1802101', '4700', 'Pet Appearance'), /*Pet Label Ring*/ +('1802300', '4700', 'Pet Appearance'), /*Bare Bones*/ +('1802301', '3200', 'Pet Appearance'), /*Ghosty*/ +('1802302', '4700', 'Pet Appearance'), /*Pet-o-Lantern*/ +('1802303', '5600', 'Pet Appearance'), /*Clown Dress*/ +('1802304', '5600', 'Pet Appearance'), /*Penguin Earmuff Set*/ +('1802305', '4300', 'Pet Appearance'), /*White Tiger Suit*/ +('1802306', '3200', 'Pet Appearance'), /*Oinker Suit*/ +/*Page 12*/ +('1802307', '3200', 'Pet Appearance'), /*Pelvis Hair*/ +('1802308', '6800', 'Pet Appearance'), /*Prince Pepe*/ +('1802309', '6300', 'Pet Appearance'), /*Crimson Mask*/ +('1802310', '7400', 'Pet Appearance'), /*Cowboy Kargo*/ +('1802311', '7400', 'Pet Appearance'), /*White Angel*/ +('1802312', '5600', 'Pet Appearance'), /*Guitar */ +('1802313', '4700', 'Pet Appearance'), /*Cute Beggar Overall*/ +('1802314', '7400', 'Pet Appearance'), /*Baby Turkey Carriage*/ +('1802315', '3200', 'Pet Appearance'), /*Dragon Armor*/ +/*Page 13*/ +('1802316', '6800', 'Pet Appearance'), /*Porcupine Sunglasses*/ +('1802317', '3200', 'Pet Appearance'), /*Jr. Reaper Sign (I'm with stoopid)*/ +('1802318', '2700', 'Pet Appearance'), /*Jr. Reaper Sign (cc plz)*/ +('1802319', '4300', 'Pet Appearance'), /*Snowman Gear*/ +('1802320', '6300', 'Pet Appearance'), /*Jr. Reaper Sign (<--Noob)*/ +('1802321', '3200', 'Pet Appearance'), /*Jr. Reaper Sign (I love pie)*/ +('1802322', '4300', 'Pet Appearance'), /*Chestnut Cap*/ +('1802323', '4700', 'Pet Appearance'), /*Gas Mask*/ +('1802324', '5000', 'Pet Appearance'), /*Jail Bird Pet Costume*/ +/*Page 14*/ +('1802325', '5000', 'Pet Appearance'), /*Scuba Mask*/ +('1802326', '3200', 'Pet Appearance'), /*Kino's Green Mushroom Hat*/ +('1802327', '6800', 'Pet Appearance'), /*Starry Stereo Headset*/ +('1802328', '2700', 'Pet Appearance'), /*Baby Tiger Wings*/ +('1802329', '6300', 'Pet Appearance'), /*Alien's Pet*/ +('1802330', '6800', 'Pet Appearance'), /*Dragon Egg Shell*/ +('1802331', '2700', 'Pet Appearance'), /*Rabbit Ears*/ +('1802332', '5600', 'Pet Appearance'), /*Pink Oxygen Tank*/ +('1802333', '3200', 'Pet Appearance'), /*B-Day Candle*/ +/*Page 15*/ +('1802334', '4700', 'Pet Appearance'), /*Fish*/ +('1802335', '4300', 'Pet Appearance'), /*Blue Birdy*/ +('1802336', '5000', 'Pet Appearance'), /*Mini Celestial Wand*/ +('1802337', '5600', 'Pet Appearance'), /*Tube*/ +('1802338', '4300', 'Pet Appearance'), /*Pink Bean's Headset*/ +('1802339', '3700', 'Pet Appearance'), /*Blue Birdy*/ +('1802340', '5000', 'Pet Appearance'), /*Craw's Pirate Hat*/ +('1802341', '2700', 'Pet Appearance'), /*Adriano's Hat*/ +('1802342', '6800', 'Pet Appearance'), /*Bonkey's Ammunition Box*/ +/*Page 16*/ +('1802343', '6800', 'Pet Appearance'), /*Starry Muffler*/ +('1802344', '5600', 'Pet Appearance'), /*Parrot Admiral Hat*/ +('1802345', '4300', 'Pet Appearance'), /*Penguin Earmuff Set*/ +('1802346', '5600', 'Pet Appearance'), /*Ghost of Fear*/ +('1802347', '6800', 'Pet Appearance'), /*Ghost of Death*/ +('1802348', '6800', 'Pet Appearance'), /*Ghost of Jealousy*/ +('1802349', '5600', 'Pet Appearance'), /*Dragon Orb*/ +('1802350', '2700', 'Pet Appearance'), /*Caught Fish*/ +('1802351', '5000', 'Pet Appearance'), /*Bean's Headset*/ +/*Page 17*/ +('1802352', '4700', 'Pet Appearance'), /*Bandit Goggles*/ +('1802353', '6800', 'Pet Appearance'), /*Sanchito's Carrot*/ +('1802354', '2700', 'Pet Appearance'), /*Black-hearted Earrings*/ +('1802365', '5000', 'Pet Appearance'), /*Harp Seal Hat*/ +('1802366', '4700', 'Pet Appearance'), /*Puffram's Golden Horn*/ +('1802367', '2700', 'Pet Appearance'), /*Gingerbready Bow Tie*/ +('1802368', '5600', 'Pet Appearance'), /*Frost Mallet*/ +('1802369', '5600', 'Pet Appearance'), /*Tiny Fright*/ +('1802370', '5600', 'Pet Appearance'), /*Tiny Sadness*/ +/*Page 18*/ +('1802371', '6800', 'Pet Appearance'), /*Tiny Envy*/ +('1802372', '3200', 'Pet Appearance'), /*Sunglass*/ +('1802373', '6300', 'Pet Appearance'), /*Rose*/ +('1802375', '4300', 'Pet Appearance'), /*Starwing's Star Trail*/ +('1802378', '3200', 'Pet Appearance'), /*Shark's Mini Tube*/ +('1802380', '4700', 'Pet Appearance'), /*Blue Light Ring*/ +('1802381', '5600', 'Pet Appearance'), /*Golden Light Ring*/ +('1802382', '7400', 'Pet Appearance'), /*Purple Light Ring*/ +('1802384', '6300', 'Pet Appearance'), /*Fluffy Teddy's Bunny Ears*/ +/*Page 19*/ +('1802385', '3200', 'Pet Appearance'), /*Cutie Teddy's Baby Bonnet*/ +('1802386', '6300', 'Pet Appearance'), /*Puffy Teddy's Crown*/ +('1802387', '6300', 'Pet Appearance'), /*Red Elly's Dress Hat*/ +('1802388', '6800', 'Pet Appearance'), /*Blue Burro's Toy Carrot*/ +('1802389', '3700', 'Pet Appearance'), /*Pumpkin Jack's Magic Lantern*/ +('1802390', '2700', 'Pet Appearance'), /*Pumpkin Zack's Magic Lantern*/ +('1802391', '7400', 'Pet Appearance'), /*Pumpkin Mack's Magic Lantern*/ +('1802392', '3200', 'Pet Appearance'), /*Boxing Gloves*/ +('1802394', '5600', 'Pet Appearance'), /*Baby Frumpy Koala*/ +/*Page 20*/ +('1802395', '3700', 'Pet Appearance'), /*Baby Grumpy Koala*/ +('1802396', '2700', 'Pet Appearance'), /*Baby Nerdy Koala*/ +('1802418', '4700', 'Pet Appearance'), /*Chippermunk's Acorn */ +('1802419', '4700', 'Pet Appearance'), /*Chipmunch's Acorn*/ +('1802420', '2700', 'Pet Appearance'), /*Chubmunk's Acorn*/ +('1802424', '5000', 'Pet Appearance'), /*Honey Halo*/ +('1802425', '5600', 'Pet Appearance'), /*Lime Halo*/ +('1802426', '6300', 'Pet Appearance'), /*Peach Halo*/ +('1802427', '4700', 'Pet Appearance'), /*Roo-A Baby Bonnet*/ +/*Page 21*/ +('1802428', '7400', 'Pet Appearance'), /*Roo-B Baby Bonnet*/ +('1802429', '4700', 'Pet Appearance'), /*Roo-C Baby Bonnet*/ +('1802430', '5000', 'Pet Appearance'), /*Yellow Devil's Collar*/ +('1802431', '4700', 'Pet Appearance'), /*Red Devil's Collar*/ +('1802432', '4300', 'Pet Appearance'), /*Blue Devil's Collar*/ +('1802433', '4300', 'Pet Appearance'), /*Blazing Horns*/ +('1802434', '3200', 'Pet Appearance'), /*Chilling Horns*/ +('1802435', '4300', 'Pet Appearance'), /*Miasmic Horns*/ +('1802436', '2700', 'Pet Appearance'), /*Gingerbread Bow Tie*/ +/*Page 22*/ +('1802444', '7400', 'Pet Appearance'), /*Alluring Mirror*/ +('1802445', '4700', 'Pet Appearance'), /*Von Bon's Staff*/ +('1802446', '3200', 'Pet Appearance'), /*Pierre's Umbrella*/ +('1802447', '3700', 'Pet Appearance'), /*Snake's Pink Bow*/ +('1802448', '3700', 'Pet Appearance'), /*Ice Stick*/ +('1802449', '7400', 'Pet Appearance'), /*Yeti Robot Antenna*/ +('1802450', '6800', 'Pet Appearance'), /*Pinkadillo Star Ball*/ +('1802451', '5600', 'Pet Appearance'), /*Yellowdillow Circus Ball*/ +('1802452', '3200', 'Pet Appearance'), /*Greenadillo Soccer Ball*/ +/*Page 23*/ +('1802458', '2700', 'Pet Appearance'), /*Hot Pot Von Bon's Staff*/ +('1802459', '5600', 'Pet Appearance'), /*Ifia's Rose*/ +('1802460', '7400', 'Pet Appearance'), /*Orchid's Hat*/ +('1802461', '6800', 'Pet Appearance'), /*Hilla's Blackheart*/ +('1802462', '5000', 'Pet Appearance'), /*Gentleman Bow Tie*/ +('1802463', '5000', 'Pet Appearance'), /*Kangaroo Boxing Gloves*/ +('1802464', '5600', 'Pet Appearance'), /*Unripe Chestnut Leaf*/ +('1802465', '6800', 'Pet Appearance'), /*Chestnut Leaf*/ +('1802466', '5000', 'Pet Appearance'), /*Burnt Chestnut Leaf*/ +/*Page 24*/ +('1802467', '6800', 'Pet Appearance'), /*Gollux's Halo*/ +('1802471', '2700', 'Pet Appearance'), /*Purple Kid Pumpkin*/ +('1802472', '2700', 'Pet Appearance'), /*Green Kid Pumpkin*/ +('1802473', '4700', 'Pet Appearance'), /*Black Kid Pumpkin*/ +('1802474', '4300', 'Pet Appearance'), /*Little RED Admin*/ +('1802475', '6300', 'Pet Appearance'), /*Kiwi Puff Wings*/ +('1802476', '2700', 'Pet Appearance'), /*Berry Puff Wings*/ +('1802477', '4700', 'Pet Appearance'), /*Mango Puff Wings*/ +('1802478', '6800', 'Pet Appearance'), /*Happy Bean's Hat*/ +/*Page 25*/ +('1802479', '6800', 'Pet Appearance'), /*Li'l Lai's Necklace*/ +('1802480', '6800', 'Pet Appearance'), /*Li'l Fort's Scarf*/ +('1802481', '6800', 'Pet Appearance'), /*Li'l Arby's Bell*/ +('1802482', '6800', 'Pet Appearance'), /*Pink Pengy Hat*/ +('1802483', '5000', 'Pet Appearance'), /*Purple Pengy Hat*/ +('1802484', '4300', 'Pet Appearance'), /*Blue Pengy Hat*/ +('1802488', '4700', 'Pet Appearance'), /*Cloud Bag*/ +('1802489', '7400', 'Pet Appearance'), /*Frankie's Halo*/ +('1802490', '6800', 'Pet Appearance'), /*Devil Bat*/ +/*Page 26*/ +('1802491', '6800', 'Pet Appearance'), /*Lil Moonbeam's Hairband*/ +('1802492', '7400', 'Pet Appearance'), /*Helium Filled Dreams*/ +('1802493', '3700', 'Pet Appearance'), /*Cute Rabbit Hat*/ +('1802497', '4300', 'Pet Appearance'), /*Moon Miho*/ +('1802500', '6300', 'Pet Appearance'), /*Lyn's Tiara*/ +('1802501', '4300', 'Pet Appearance'), /*Hong's Heart*/ +('1802502', '4300', 'Pet Appearance'), /*Chun's Ambition*/ +('1802503', '7400', 'Pet Appearance'), /*Chameleon's Rainbow*/ +('1802504', '2700', 'Pet Appearance'), /*Orange Electronic Display*/ +/*Page 27*/ +('1802505', '5000', 'Pet Appearance'), /*Purple Electronic Display*/ +('1802509', '3700', 'Pet Appearance'), /*Lil' Bobble Hat*/ +('1802510', '4300', 'Pet Appearance'), /*Lotus's Aura*/ +('1802511', '6800', 'Pet Appearance'), /*Orchid's Tiny IV*/ +('1802512', '6300', 'Pet Appearance'), /*Gelimer's Teddy*/ +('1802519', '4700', 'Pet Appearance'), /*Fluffram Ribbon (Pet Equip)*/ +('1802520', '2700', 'Pet Appearance'), /*Matcha Man's Leaf*/ +('1802521', '5600', 'Pet Appearance'), /*Lady Hot Tea's Spoon*/ +('1802522', '4300', 'Pet Appearance'), /*Captain Cafe's Whipped Cream*/ +/*Page 28*/ +('1802524', '6300', 'Pet Appearance'), /*New Pink Harp Seal Hat*/ +('1802526', '4300', 'Pet Appearance'), /*Warrior Sheep Sword*/ +('1802527', '3200', 'Pet Appearance'), /*Mage Sheep Cane*/ +('1802528', '4300', 'Pet Appearance'), /*Cleric Sheep Staff*/ +('1802529', '2700', 'Pet Appearance'), /*Orange Leaf*/ +('1802530', '4300', 'Pet Appearance'), /*Furry Elwin's Necklace*/ +('1802531', '7400', 'Pet Appearance'), /*Fluffy Lily's Ribbon*/ +('1802532', '6300', 'Pet Appearance'), /*Baby Nero's Ball of Yarn*/ +('1802534', '6300', 'Pet Appearance'), /*Strawbear Fork*/ +/*Page 29*/ +('1802535', '7400', 'Pet Appearance'), /*Bananabear Fork*/ +('1802536', '6300', 'Pet Appearance'), /*Cookiebear Fork*/ +('1802537', '7400', 'Pet Appearance'), /*Fancy Fox Mask*/ + + + +/*Page 1*/ +('1802538', '5000', 'Pet Appearance 2'), /*Fox Mask*/ +('1802539', '6300', 'Pet Appearance 2'), /*Sailor Seal Star Glasses*/ +('1802540', '7400', 'Pet Appearance 2'), /*Admiral Seal Star Glasses*/ +('1802541', '5600', 'Pet Appearance 2'), /*Steward Seal Star Glass*/ +('1802542', '7400', 'Pet Appearance 2'), /*Ducky's Suave Ribbon*/ +('1802543', '6800', 'Pet Appearance 2'), /*Tiny Nero's Transformation Set*/ +('1802544', '3700', 'Pet Appearance 2'), /*Cheesy Cat's Purple Yarn*/ +('1802545', '3700', 'Pet Appearance 2'), /*Samson Cat's Emerald Yarn*/ +('1802546', '7400', 'Pet Appearance 2'), /*Meerkat Instrument*/ +/*Page 2*/ +('1802547', '5600', 'Pet Appearance 2'), /*Pudgycat Fancytie*/ +('1802548', '5600', 'Pet Appearance 2'), /*Cake Temptation*/ +('1802549', '4700', 'Pet Appearance 2'), /*Pie Temptation*/ +('1802550', '6300', 'Pet Appearance 2'), /*Candy Temptation*/ +('1802551', '6800', 'Pet Appearance 2'), /*Lil Zakum's Black Sunglasses*/ +('1802552', '3200', 'Pet Appearance 2'), /*Mousy Overalls*/ +('1802553', '7400', 'Pet Appearance 2'), /*Evan's Halo*/ +('1802554', '3200', 'Pet Appearance 2'), /*Aran's Halo*/ +('1802555', '6300', 'Pet Appearance 2'), /*Phantom's Halo*/ +/*Page 3*/ +('1802556', '4300', 'Pet Appearance 2'), /*Luminous's Halo*/ +('1802557', '4700', 'Pet Appearance 2'), /*Mercedes's Halo*/ +('1802558', '6300', 'Pet Appearance 2'), /*Shade's Halo*/ +('1802559', '6800', 'Pet Appearance 2'), /*Damien's Halo*/ +('1802560', '2700', 'Pet Appearance 2'), /*Alicia's Halo*/ +('1802561', '5000', 'Pet Appearance 2'), /*Lilin's Halo*/ +('1802562', '2700', 'Pet Appearance 2'), /*Ursie's Ribbon*/ +('1802563', '4300', 'Pet Appearance 2'), /*Gym Cat Dumbbell*/ +('1802564', '6300', 'Pet Appearance 2'), /*Iron Rabbit Engine*/ +/*Page 4*/ +('1802565', '4700', 'Pet Appearance 2'), /*Cloud's Lollipop Ribbon*/ +('1802566', '5600', 'Pet Appearance 2'), /*Moss's Lollipop Ribbon*/ +('1802567', '6300', 'Pet Appearance 2'), /*Pinkie's Lollipop Ribbon*/ +('1802568', '6300', 'Pet Appearance 2'), /*Mini Stjartmes*/ +('1802569', '5600', 'Pet Appearance 2'), /*Lingling's Bell*/ +('1802570', '4700', 'Pet Appearance 2'), /*Nene's Flower*/ +('1802571', '5600', 'Pet Appearance 2'), /*TuTu's Umbrella*/ +('1802572', '2700', 'Pet Appearance 2'), /*Blue Ribbon*/ +('1802573', '7400', 'Pet Appearance 2'), /*Pink Ribbon*/ +/*Page 5*/ +('1802574', '5600', 'Pet Appearance 2'), /*Purple Ribbon*/ +('1802575', '4700', 'Pet Appearance 2'), /*Baby Chickie*/ +('1802576', '5600', 'Pet Appearance 2'), /*Anguish Crow*/ +('1802577', '6800', 'Pet Appearance 2'), /*Fallen Angel Headband*/ +('1802578', '3700', 'Pet Appearance 2'), /*Fondue's Ribbon Collar*/ +('1802579', '6800', 'Pet Appearance 2'), /*Sasha's Ribbon Collar*/ +('1802580', '3700', 'Pet Appearance 2'), /*Coco's Ribbon Collar*/ +('1802581', '6800', 'Pet Appearance 2'), /*Witch's Red Ribbon*/ +('1802582', '6800', 'Pet Appearance 2'), /*Witch's Purple Ribbon*/ +/*Page 6*/ +('1802583', '3700', 'Pet Appearance 2'), /*Witch's Pink Ribbon*/ +('1802584', '7400', 'Pet Appearance 2'), /*Red Bow Tie*/ + + + +/*Page 1*/ +('5380000', '2700', 'Pet Use'), /*The Rock of Evolution*/ +('5170000', '2700', 'Pet Use'), /*Pet Name Tag*/ +('5180000', '3700', 'Pet Use'), /*Water of Life*/ +('5689000', '4100', 'Pet Use'), /*Premium Water of Life*/ +('5460000', '3300', 'Pet Use'), /*Pet Snack*/ +('5781000', '5700', 'Pet Use'), /*Bean Dye Coupon*/ +('5781001', '5700', 'Pet Use'), /*Pink Bean Dye Coupon*/ +('5781002', '5700', 'Pet Use'), /*Demon Pet Dye Coupon*/ +('5781004', '5700', 'Pet Use'), /*Roo-bot Paint Coupon*/ +/*Page 2*/ +('5781006', '5700', 'Pet Use'), /*Dillo Dye Coupon*/ +('5781007', '5700', 'Pet Use'), /*Chestnut Dye Coupon*/ +('5781008', '5700', 'Pet Use'), /*Candle Pet Dye Coupon*/ +('5781009', '5700', 'Pet Use'), /*Creampuff Pet Dye Coupon*/ +('5781010', '5700', 'Pet Use'), /*Pengy Pet Dye Coupon*/ +('5781011', '5700', 'Pet Use'), /*Chihuahua Dye Coupon*/ +('5781013', '5700', 'Pet Use'), /*Chameleon Pet Dye Coupon*/ +('5781014', '5700', 'Pet Use'), /*Chubmunk Pet Dye Coupon*/ + + + +/*Page 1*/ +('5249000', '1000', 'Pet Food'); /*Premium Pet Food*/ +insert into `cs_items` (`itemID`, `newPrice`, `category`, `bundleQuantity`) values ('5249000', '5400', 'Pet Food', '6'); /*Premium Pet Food (6)*/ + + + +/*Page 1*/ +insert into `cs_items` (`itemID`, `newPrice`, `category`) values ('5190000', '6800', 'Pet Skills'), /*Item Pick-up Skill*/ +('5190001', '5000', 'Pet Skills'), /*Auto HP Potion Skill*/ +('5190002', '5600', 'Pet Skills'), /*Expanded Auto Move Skill*/ +('5190003', '7400', 'Pet Skills'), /*Auto Move Skill*/ +('5190004', '3200', 'Pet Skills'), /*Expired Pickup Skill*/ +('5190005', '4700', 'Pet Skills'), /*Ignore Item Skill */ +('5190006', '4300', 'Pet Skills'), /*Auto MP Potion Skill*/ +('5190009', '6800', 'Pet Skills'), /*Auto All Cure Skill*/ +('5190010', '3200', 'Pet Skills'), /*Auto Buff Skill*/ +/*Page 2*/ +('5190011', '7400', 'Pet Skills'), /*Auto Feed and Movement Skill*/ +('5190012', '7400', 'Pet Skills'), /*Fatten Up Skill*/ + + + + + +/* MESSENGER AND SOCIAL */ + +/*Page 1*/ +('5120000', '4300', 'Weather Effects'), /*Snowy Snow*/ +('5120001', '6800', 'Weather Effects'), /*Sprinkled Flowers*/ +('5120002', '4700', 'Weather Effects'), /*Soap Bubbles*/ +('5120003', '3700', 'Weather Effects'), /*Snowflakes*/ +('5120004', '7400', 'Weather Effects'), /*Sprinkled Presents*/ +('5120005', '3700', 'Weather Effects'), /*Sprinkled Chocolate*/ +('5120006', '3700', 'Weather Effects'), /*Sprinkled Flower Petals*/ +('5120007', '5000', 'Weather Effects'), /*Sprinkled Candy*/ +('5120008', '2700', 'Weather Effects'), /*Sprinkled Maple Leaves*/ +/*Page 2*/ +('5120009', '4700', 'Weather Effects'), /*Fireworks*/ +('5120010', '3700', 'Weather Effects'), /*Sprinkled Coke*/ +('5120011', '4700', 'Weather Effects'), /*Spirit Haunt*/ +('5120012', '4700', 'Weather Effects'), /*Holiday Sock*/ +('5120014', '3200', 'Weather Effects'), /*Christmas Socks*/ +('5120015', '6800', 'Weather Effects'); /*Chinese Lantern Firecrackers*/ + + diff --git a/sql/4 - drops.sql b/sql/4 - drops.sql new file mode 100755 index 0000000..8dc47e6 --- /dev/null +++ b/sql/4 - drops.sql @@ -0,0 +1,5 @@ +# Mob: Oda Scout (9421511) | Drop: Scout's Report (4033272) | Chance: 45% | Quest: Blind and Battered 1 (57408) +insert into `mob_drops` (`mobid`, `itemid`, `chance`, `minquant`, `maxquant`) values ('9421511', '4033272', '45000', '1', '1'); + +# Mob: Oda Warrior (9421514) | Drop: Mysterious Fox Tail (4033274) | Chance: 40% | Quest: Aura's Origin 2 (57415) +insert into `mob_drops` (`mobid`, `itemid`, `chance`, `minquant`, `maxquant`) values ('9421514', '4033274', '40000', '1', '1'); \ No newline at end of file diff --git a/sql/5 - InitTable_equip_drops.sql b/sql/5 - InitTable_equip_drops.sql new file mode 100755 index 0000000..6ba1e0a --- /dev/null +++ b/sql/5 - InitTable_equip_drops.sql @@ -0,0 +1,1052 @@ +drop table if exists equip_drops; + +create table equip_drops ( + id int, + job varchar(255), + level int, + primary key (id, job) +); + +insert into equip_drops (id, job, level) values + +# Bowman +# Bow +(1452002, "BOWMAN", 10), # War Bow - Lv 10 +(1452003, "BOWMAN", 10), # Composite Bow - Lv 15 +(1452001, "BOWMAN", 20), # Hunter's Bow - Lv 20 +(1452005, "BOWMAN", 30), # Ryden - Lv 30 +(1452007, "BOWMAN", 40), # Vaulter 2000 - Lv 40 +(1452008, "BOWMAN", 50), # Olympus - Lv 50 +(1452004, "BOWMAN", 60), # Asianic Bow - Lv 60 +(1452009, "BOWMAN", 70), # Red Hinkel - Lv 70 +(1452010, "BOWMAN", 70), # Blue Hinkel - Lv 70 +(1452011, "BOWMAN", 70), # Golden Hinkel - Lv 70 +(1452012, "BOWMAN", 80), # Marine Arund - Lv 80 +(1452013, "BOWMAN", 80), # Fire Arund - Lv 80 +(1452014, "BOWMAN", 80), # Golden Arund - Lv 80 +(1452017, "BOWMAN", 90), # Metus - Lv 90 +(1452025, "BOWMAN", 90), # Blue Metus - Lv 90 +(1452026, "BOWMAN", 90), # Black Metus - Lv 90 +(1452019, "BOWMAN", 100), # White Nisrock - Lv 100 +(1452020, "BOWMAN", 100), # Golden Nisrock - Lv 100 +(1452021, "BOWMAN", 100), # Dark Nisrock - Lv 100 +(1452044, "BOWMAN", 110), # Dragon Shiner Bow - Lv 110 +(1452236, "BOWMAN", 120), # Briser Longbow - Lv 120 +(1452237, "BOWMAN", 130), # Jaihin Bow - Lv 130 +(1452238, "BOWMAN", 140), # Utgard Bow - Lv 140 + +# Crossbow +(1462001, "BOWMAN", 10), # Crossbow - Lv 12 +(1462002, "BOWMAN", 10), # Battle Crossbow - Lv 18 +(1462003, "BOWMAN", 20), # Balanche - Lv 22 +(1462000, "BOWMAN", 20), # Mountain Crossbow - Lv 28 +(1462004, "BOWMAN", 30), # Eagle Crow - Lv 32 +(1462005, "BOWMAN", 30), # Heckler - Lv 38 +(1462006, "BOWMAN", 40), # Silver Crow - Lv 42 +(1462007, "BOWMAN", 50), # Rower - Lv 50 +(1462008, "BOWMAN", 60), # Golden Crow - Lv 60 +(1462009, "BOWMAN", 70), # Gross Jaeger - Lv 70 +(1462013, "BOWMAN", 80), # Dark Raven - Lv 80 +(1462011, "BOWMAN", 80), # Fire Raven - Lv 80 +(1462012, "BOWMAN", 80), # Golden Raven - Lv 80 +(1462010, "BOWMAN", 80), # Marine Raven - Lv 80 +(1462018, "BOWMAN", 90), # Casa Crow - Lv 90 +(1462021, "BOWMAN", 90), # Dark Crow - Lv 90 +(1462022, "BOWMAN", 90), # Yellow Crow - Lv 90 +(1462017, "BOWMAN", 100), # Dark Neschere - Lv 100 +(1462016, "BOWMAN", 100), # Golden Neschere - Lv 100 +(1462039, "BOWMAN", 110), # Dragon Shiner Cross - Lv 110 +(1462223, "BOWMAN", 120), # Briser Crossbow - Lv 120 +(1462224, "BOWMAN", 130), # Jaihin Crossbow - Lv 130 +(1462225, "BOWMAN", 140), # Utgard Crossbow - Lv 140 + +# Ancient Bow +(1592000, "BOWMAN", 20), # Marad Ancient Bow - Lv 10 +(1592001, "BOWMAN", 30), # Assur Ancient Bow - Lv 10 +(1592002, "BOWMAN", 50), # Uruk Ancient Bow - Lv 10 +(1592003, "BOWMAN", 60), # Avaris Ancient Bow - Lv 10 +(1592004, "BOWMAN", 70), # Magna Ancient Bow - Lv 10 +(1592005, "BOWMAN", 80), # Tanis Ancient Bow - Lv 10 +(1592006, "BOWMAN", 90), # Philos Ancient Bow - Lv 10 +(1592007, "BOWMAN", 100), # Ephesus Ancient Bow - Lv 10 +(1592009, "BOWMAN", 110), # Dragon Ancient Bow - Lv 10 +(1592012, "BOWMAN", 120), # Briser Ancient Bow - Lv 10 +(1592014, "BOWMAN", 130), # Jaihin Ancient Bow - Lv 10 +(1592016, "BOWMAN", 140), # Utgard Ancient Bow - Lv 10 + +# Dual Bowgun +(1522000, "BOWMAN", 10), # Trusty & Faithful - Lv 10 +(1522002, "BOWMAN", 20), # Elven Diplomacy - Lv 20 +(1522003, "BOWMAN", 20), # Songs of Nature - Lv 25 +(1522004, "BOWMAN", 30), # Twin Angels - Lv 30 +(1522005, "BOWMAN", 30), # Proud Blossoms - Lv 35 +(1522006, "BOWMAN", 40), # The Argents - Lv 40 +(1522007, "BOWMAN", 50), # Judge & Jury - Lv 50 +(1522008, "BOWMAN", 60), # Lunar Glory - Lv 60 +(1522009, "BOWMAN", 70), # Twin Zephyrs - Lv 70 +(1522086, "BOWMAN", 70), # Stellar Argents - Lv 75 +(1522010, "BOWMAN", 80), # Sylvan Hunters - Lv 80 +(1522011, "BOWMAN", 90), # Royal Decrees - Lv 90 +(1522012, "BOWMAN", 100), # Final Retorts - Lv 100 +(1522014, "BOWMAN", 110), # Dragon Majesty - Lv 110 +(1522122, "BOWMAN", 120), # Briser Dual Bowguns - Lv 120 +(1522123, "BOWMAN", 130), # Jaihin Dual Bowguns - Lv 130 +(1522124, "BOWMAN", 140), # Utgard Dual Bowguns - Lv 140 + +# Warrior +# Katana +(1542000, "WARRIOR", 10), # Simple Iron Sword - Lv 10 +(1542001, "WARRIOR", 20), # Tempered Steel Sword - Lv 20 +(1542002, "WARRIOR", 30), # Iron Guardian - Lv 30 +(1542003, "WARRIOR", 40), # Bare Blade - Lv 40 +(1542004, "WARRIOR", 50), # Iron Savior - Lv 50 +(1542006, "WARRIOR", 60), # Helix - Lv 60 +(1542007, "WARRIOR", 80), # Heat Wave - Lv 80 +(1542008, "WARRIOR", 90), # Battle Cry - Lv 90 +(1542009, "WARRIOR", 100), # Gilded Sword - Lv 100 +(1542011, "WARRIOR", 100), # Mist Cutter - Lv 100 +(1542010, "WARRIOR", 110), # Phoenix Rising - Lv 110 +(1542099, "WARRIOR", 120), # Briser Katana - Lv 120 +(1542100, "WARRIOR", 130), # Jaihin Katana - Lv 130 +(1542101, "WARRIOR", 140), # Utgard Katana - Lv 140 + +# Desperado +(1232000, "WARRIOR", 10), # Blue Ravager - Lv 10 +(1232002, "WARRIOR", 30), # Dim Memory - Lv 30 +(1232003, "WARRIOR", 50), # Eternal Wanderer - Lv 50 +(1232004, "WARRIOR", 60), # Plum Sadness - Lv 60 +(1232005, "WARRIOR", 70), # Cardinal Omen - Lv 70 +(1232006, "WARRIOR", 80), # Brand Edge - Lv 80 +(1232007, "WARRIOR", 90), # Nightmare - Lv 90 +(1232008, "WARRIOR", 100), # Cruel Vengeance - Lv 100 +(1232010, "WARRIOR", 110), # Dragon Rage - Lv 110 +(1232093, "WARRIOR", 120), # Briser Desperado - Lv 120 +(1232094, "WARRIOR", 130), # Jaihin Desperado - Lv 130 +(1232095, "WARRIOR", 140), # Utgard Desperado - Lv 140 + +# Polearm +(1442000, "WARRIOR", 10), # PoleArm - Lv 10 +(1442006, "WARRIOR", 10), # Iron Ball - Lv 15 +(1442007, "WARRIOR", 20), # Studded Polearm - Lv 20 +(1442001, "WARRIOR", 30), # Mithril Pole Arm - Lv 30 +(1442009, "WARRIOR", 40), # Crescent Polearm - Lv 40 +(1442005, "WARRIOR", 50), # The Nine Dragons - Lv 50 +(1442010, "WARRIOR", 60), # Skylar - Lv 60 +(1442008, "WARRIOR", 70), # The Gold Dragon - Lv 70 +(1442019, "WARRIOR", 80), # Eclipse - Lv 80 +(1442020, "WARRIOR", 90), # Hellslayer - Lv 90 +(1442044, "WARRIOR", 100), # Zedbug - Lv 100 +(1442045, "WARRIOR", 110), # Dragon Hellslayer - Lv 110 +(1442169, "WARRIOR", 120), # Eviscerator - Lv 120 +(1442252, "WARRIOR", 120), # Briser Hellslayer - Lv 120 +(1442253, "WARRIOR", 130), # Jaihin Hellslayer - Lv 130 +(1442254, "WARRIOR", 140), # Utgard Hellslayer - Lv 140 + +# Spear +(1432000, "WARRIOR", 10), # Spear - Lv 10 +(1432001, "WARRIOR", 10), # Fork on a Stick - Lv 15 +(1432002, "WARRIOR", 30), # Forked Spear - Lv 30 +(1432005, "WARRIOR", 40), # Zeco - Lv 40 +(1432004, "WARRIOR", 50), # Serpent's Tongue - Lv 50 +(1432006, "WARRIOR", 60), # Holy Spear - Lv 60 +(1432007, "WARRIOR", 70), # Redemption - Lv 70 +(1432010, "WARRIOR", 80), # Omega Spear - Lv 80 +(1432011, "WARRIOR", 90), # Fairfrozen - Lv 90 +(1432030, "WARRIOR", 100), # Pinaka - Lv 100 +(1432038, "WARRIOR", 110), # Dragon Faltizan - Lv 110 +(1432198, "WARRIOR", 120), # Briser Spear - Lv 120 +(1432199, "WARRIOR", 130), # Jaihin Spear - Lv 130 +(1432200, "WARRIOR", 140), # Utgard Spear - Lv 140 + +# 1h sword +(1302005, "WARRIOR", 10), # Sabre - Lv 10 +(1302006, "WARRIOR", 20), # Machete - Lv 20 +(1302002, "WARRIOR", 20), # Viking Sword - Lv 20 +(1302008, "WARRIOR", 30), # Gladius - Lv 30 +(1302004, "WARRIOR", 30), # Cutlass - Lv 35 +(1302009, "WARRIOR", 40), # Traus - Lv 40 +(1302010, "WARRIOR", 50), # Jeweled Katar - Lv 50 +(1302011, "WARRIOR", 60), # Neocora - Lv 60 +(1302012, "WARRIOR", 70), # Red Katana - Lv 70 +(1302018, "WARRIOR", 80), # Khan - Lv 80 +(1302023, "WARRIOR", 90), # Fraute - Lv 90 +(1302056, "WARRIOR", 100), # Sparta - Lv 100 +(1302059, "WARRIOR", 110), # Dragon Carabella - Lv 110 +(1302313, "WARRIOR", 120), # Briser Saber - Lv 120 +(1302314, "WARRIOR", 130), # Jaihin Saber - Lv 130 +(1302315, "WARRIOR", 140), # Utgard Saber - Lv 140 + +# 2h sword +(1402001, "WARRIOR", 10), # Wooden Sword - Lv 10 +(1402000, "WARRIOR", 20), # Two-Handed Sword - Lv 20 +(1402008, "WARRIOR", 20), # Broadsword - Lv 25 +(1402002, "WARRIOR", 30), # Scimitar - Lv 30 +(1402006, "WARRIOR", 30), # Lionheart - Lv 35 +(1402007, "WARRIOR", 40), # Zard - Lv 40 +(1402003, "WARRIOR", 50), # Lion's Fang - Lv 50 +(1402013, "WARRIOR", 50), # Japanese Map - Lv 50 +(1402011, "WARRIOR", 60), # Sparta - Lv 60 +(1402012, "WARRIOR", 70), # Doombringer - Lv 70 +(1402015, "WARRIOR", 80), # Heaven's Gate - Lv 80 +(1402004, "WARRIOR", 80), # Blue Screamer - Lv 80 +(1402005, "WARRIOR", 90), # Berzerker - Lv 90 +(1402016, "WARRIOR", 90), # Devil's Sunrise - Lv 90 +(1402035, "WARRIOR", 100), # The Beheader - Lv 100 +(1402037, "WARRIOR", 100), # Stonetooth Sword - Lv 100 +(1402036, "WARRIOR", 110), # Dragon Claymore - Lv 110 +(1402234, "WARRIOR", 120), # Briser Two-handed Sword - Lv 120 +(1402235, "WARRIOR", 130), # Jaihin Two-handed Sword - Lv 130 +(1402236, "WARRIOR", 140), # Utgard Two-handed Sword - Lv 140 + +# 1h mace +(1322000, "WARRIOR", 10), # Mace - Lv 10 +(1322002, "WARRIOR", 20), # Iron Mace - Lv 20 +(1322004, "WARRIOR", 20), # Fusion Mace - Lv 25 +(1322014, "WARRIOR", 30), # War Hammer - Lv 30 +(1322016, "WARRIOR", 40), # Jacker - Lv 40 +(1322017, "WARRIOR", 50), # Knuckle Mace - Lv 50 +(1322018, "WARRIOR", 60), # Tamus - Lv 60 +(1322019, "WARRIOR", 70), # The Judgement - Lv 70 +(1322020, "WARRIOR", 70), # Bent Judgement - Lv 75 +(1322028, "WARRIOR", 80), # Heaven's Justice - Lv 80 +(1322029, "WARRIOR", 90), # Ruin Hammer - Lv 90 +(1322045, "WARRIOR", 100), # Battle Hammer - Lv 100 +(1322052, "WARRIOR", 110), # Dragon Mace - Lv 110 +(1322234, "WARRIOR", 120), # Briser Hammer - Lv 120 +(1322235, "WARRIOR", 130), # Jaihin Hair - Lv 130 +(1322236, "WARRIOR", 140), # Utgard Hair - Lv 140 + +# 2h mace +(1422000, "WARRIOR", 10), # Wooden Mallet - Lv 10 +(1422003, "WARRIOR", 20), # Square Hammer - Lv 20 +(1422001, "WARRIOR", 30), # Mithril Maul - Lv 30 +(1422008, "WARRIOR", 30), # Sledgehammer - Lv 35 +(1422007, "WARRIOR", 40), # Titan - Lv 40 +(1422005, "WARRIOR", 50), # Golden Mole - Lv 50 +(1422009, "WARRIOR", 60), # The Blessing - Lv 60 +(1422010, "WARRIOR", 70), # Gigantic Sledge - Lv 70 +(1422018, "WARRIOR", 80), # The Morningstar - Lv 80 +(1422013, "WARRIOR", 90), # Leomite - Lv 90 +(1422027, "WARRIOR", 100), # Golden Smith Hammer - Lv 100 +(1422028, "WARRIOR", 110), # Dragon Flame - Lv 110 +(1422169, "WARRIOR", 120), # Briser Two-handed Hammer - Lv 120 +(1422170, "WARRIOR", 130), # Jaihin Two-handed Hammer - Lv 130 +(1422171, "WARRIOR", 140), # Utgard Two-handed Hammer - Lv 140 + +# 1h axe +(1312000, "WARRIOR", 10), # Double Axe - Lv 10 +(1312001, "WARRIOR", 10), # Battle Axe - Lv 15 +(1312003, "WARRIOR", 20), # Mithril Axe - Lv 25 +(1312005, "WARRIOR", 30), # Fireman's Axe - Lv 30 +(1312006, "WARRIOR", 30), # Dankke - Lv 35 +(1312007, "WARRIOR", 40), # Blue Counter - Lv 40 +(1312008, "WARRIOR", 50), # Buck - Lv 50 +(1312009, "WARRIOR", 60), # Hawkhead - Lv 60 +(1312010, "WARRIOR", 70), # Mikhail - Lv 70 +(1312011, "WARRIOR", 80), # Gaea - Lv 80 +(1312015, "WARRIOR", 90), # Vifennis - Lv 90 +(1312030, "WARRIOR", 100), # Tomahawk - Lv 100 +(1312031, "WARRIOR", 110), # Dragon Axe - Lv 110 +(1312183, "WARRIOR", 120), # Jaihin Axe - Lv 120 +(1312184, "WARRIOR", 130), # Jaihin Axe - Lv 130 +(1312185, "WARRIOR", 140), # Utgard Axe - Lv 140 + +# 2h axe +(1412001, "WARRIOR", 10), # Metal Axe - Lv 10 +(1412012, "WARRIOR", 10), # Iron Axe - Lv 15 +(1412000, "WARRIOR", 20), # Two-Handed Axe - Lv 25 +(1412006, "WARRIOR", 30), # Blue Axe - Lv 30 +(1412004, "WARRIOR", 30), # Niam - Lv 35 +(1412005, "WARRIOR", 40), # Sabretooth - Lv 40 +(1412003, "WARRIOR", 50), # The Rising - Lv 50 +(1412007, "WARRIOR", 60), # The Shining - Lv 60 +(1412008, "WARRIOR", 70), # Chrono - Lv 70 +(1412009, "WARRIOR", 80), # Helios - Lv 80 +(1412010, "WARRIOR", 90), # Colonian Axe - Lv 90 +(1412021, "WARRIOR", 100), # Tavar - Lv 100 +(1412026, "WARRIOR", 110), # Dragon Battle Axe - Lv 110 +(1412162, "WARRIOR", 120), # Briser Two-handed Axe - Lv 120 +(1412163, "WARRIOR", 130), # Jaihin Two-handed Axe - Lv 130 +(1412164, "WARRIOR", 140), # Utgard Two-handed Axe - Lv 140 + +# Hand cannon +(1582000, "WARRIOR", 10), # Hand Buster - Lv 10 +(1582001, "WARRIOR", 30), # Hand Crusher - Lv 30 +(1582002, "WARRIOR", 50), # Blow Bomb - Lv 50 +(1582003, "WARRIOR", 60), # Giant Hand - Lv 60 +(1582004, "WARRIOR", 70), # Taurus - Lv 70 +(1582005, "WARRIOR", 80), # Ogre Grip - Lv 80 +(1582006, "WARRIOR", 90), # Gigantic Arm Cannon - Lv 90 +(1582007, "WARRIOR", 100), # Titan Arms - Lv 100 +(1582008, "WARRIOR", 110), # Valore Punch - Lv 110 +(1582009, "WARRIOR", 140), # Briser Surtr - Lv 140 +(1582010, "WARRIOR", 140), # Jaihin Surtr - Lv 140 +(1582011, "WARRIOR", 140), # Utgard Surtr - Lv 140 + +# Magician +# Lucent Gauntlet +(1282000, "MAGICIAN", 10), # Luna Lucent Gauntlet - Lv 10 +(1282001, "MAGICIAN", 30), # Matis Lucent Gauntlet - Lv 30 +(1282002, "MAGICIAN", 50), # Mercury Lucent Gauntlet - Lv 50 +(1282003, "MAGICIAN", 60), # Robis Lucent Gauntlet - Lv 60 +(1282004, "MAGICIAN", 70), # Veneris Lucent Gauntlet - Lv 70 +(1282005, "MAGICIAN", 80), # Saturni Lucent Gauntlet - Lv 80 +(1282006, "MAGICIAN", 90), # Solis Lucent Gauntlet - Lv 90 +(1282007, "MAGICIAN", 100), # Perias Lucent Gauntlet - Lv 100 +(1282008, "MAGICIAN", 110), # Dragon Lucent Gauntlet - Lv 110 +(1282010, "MAGICIAN", 120), # Briser Lucent Gauntlet - Lv 120 +(1282011, "MAGICIAN", 130), # Jaihin Lucent Gauntlet - Lv 130 +(1282013, "MAGICIAN", 140), # Utgard Lucent Gauntlet - Lv 140 + +# Fan +(1552000, "MAGICIAN", 10), # Iron Fan - Lv 10 +(1552001, "MAGICIAN", 20), # Metallic Fan - Lv 20 +(1552002, "MAGICIAN", 30), # Triple Fan - Lv 30 +(1552003, "MAGICIAN", 40), # Crane Fan - Lv 40 +(1552004, "MAGICIAN", 50), # Fan of Enlightenment - Lv 50 +(1552005, "MAGICIAN", 60), # Melodic Fan - Lv 60 +(1552006, "MAGICIAN", 70), # Unique Fan - Lv 70 +(1552007, "MAGICIAN", 80), # Leaf-Patterned Fan - Lv 80 +(1552008, "MAGICIAN", 90), # Erupting Fan - Lv 90 +(1552009, "MAGICIAN", 100), # Clear Skies - Lv 100 +(1552011, "MAGICIAN", 100), # Florist's Fan - Lv 100 +(1552010, "MAGICIAN", 110), # Crossed Fan - Lv 110 +(1552100, "MAGICIAN", 120), # Briser Fan - Lv 120 +(1552101, "MAGICIAN", 130), # Jaihin Fan - Lv 130 +(1552102, "MAGICIAN", 140), # Utgard Fan - Lv 140 + +# Staff +(1382000, "MAGICIAN", 10), # Wooden Staff - Lv 10 +(1382003, "MAGICIAN", 10), # Sapphire Staff - Lv 15 +(1382005, "MAGICIAN", 10), # Emerald Staff - Lv 15 +(1382004, "MAGICIAN", 20), # Old Wooden Staff - Lv 20 +(1382002, "MAGICIAN", 20), # Wizard Staff - Lv 25 +(1382017, "MAGICIAN", 30), # Circle-Winded Staff - Lv 30 +(1382009, "MAGICIAN", 30), # Maple Staff - Lv 35 +(1382018, "MAGICIAN", 30), # Petal Staff - Lv 35 +(1382019, "MAGICIAN", 40), # Hall Staff - Lv 40 +(1382020, "MAGICIAN", 40), # Arc Staff - Lv 45 +(1382011, "MAGICIAN", 50), # Mystic Cane - Lv 51 +(1382026, "MAGICIAN", 50), # Thorns - Lv 55 +(1382027, "MAGICIAN", 60), # Evil Wings - Lv 65 +(1382023, "MAGICIAN", 70), # Dark Ritual - Lv 75 +(1382024, "MAGICIAN", 80), # Kage - Lv 85 +(1382035, "MAGICIAN", 90), # Blue Marine - Lv 95 +(1382037, "MAGICIAN", 100), # Doomsday Staff - Lv 102 +(1382036, "MAGICIAN", 110), # Dragon Staff - Lv 110 +(1382243, "MAGICIAN", 120), # Briser Staff - Lv 120 +(1382244, "MAGICIAN", 130), # Jaihin Staff - Lv 130 +(1382245, "MAGICIAN", 140), # Utgard Staff - Lv 140 + +# Wand +(1372005, "MAGICIAN", 0), # Wooden Wand - Lv 8 +(1372002, "MAGICIAN", 10), # Metal Wand - Lv 18 +(1372004, "MAGICIAN", 20), # Ice Wand - Lv 23 +(1372003, "MAGICIAN", 20), # Mithril Wand - Lv 28 +(1372001, "MAGICIAN", 30), # Wizard Wand - Lv 33 +(1372012, "MAGICIAN", 30), # Crystal Wand - Lv 38 +(1372000, "MAGICIAN", 30), # Fairy Wand - Lv 38 +(1372007, "MAGICIAN", 40), # Cromi - Lv 48 +(1372014, "MAGICIAN", 50), # Evil Tale - Lv 58 +(1372008, "MAGICIAN", 60), # Hinomaru Fan - Lv 60 +(1372015, "MAGICIAN", 60), # Angel Wings - Lv 68 +(1372016, "MAGICIAN", 70), # Phoenix Wand - Lv 78 +(1372009, "MAGICIAN", 80), # Magicodar - Lv 88 +(1372010, "MAGICIAN", 90), # Dimon Wand - Lv 98 +(1372032, "MAGICIAN", 100), # Dragon Wand - Lv 108 +(1372205, "MAGICIAN", 120), # Briser Wand - Lv 130 +(1372206, "MAGICIAN", 130), # Jaihin Wand - Lv 130 +(1372207, "MAGICIAN", 140), # Utgard Wand - Lv 140 + +# Shining Rod +(1212001, "MAGICIAN", 10), # Plain - Lv 10 +(1212002, "MAGICIAN", 30), # Golden Shine - Lv 30 +(1212003, "MAGICIAN", 50), # Decor - Lv 50 +(1212004, "MAGICIAN", 60), # Vallentier - Lv 60 +(1212005, "MAGICIAN", 70), # Sharp Slaver - Lv 70 +(1212006, "MAGICIAN", 80), # Light Sage Wing - Lv 80 +(1212007, "MAGICIAN", 90), # Shining Twin Star - Lv 90 +(1212010, "MAGICIAN", 110), # Shining Dragon Rod - Lv 110 +(1212099, "MAGICIAN", 120), # Briser Shining Rod - Lv 120 +(1212100, "MAGICIAN", 130), # Jaihin Shining Rod - Lv 130 +(1212101, "MAGICIAN", 140), # Utgard Shining Rod - Lv 140 + +# Psy-limiter +(1262000, "MAGICIAN", 10), # Prototype Psy-limiter - Lv 10 +(1262001, "MAGICIAN", 30), # Trial Psy-limiter - Lv 30 +(1262002, "MAGICIAN", 50), # First Psy-limiter - Lv 50 +(1262003, "MAGICIAN", 60), # Strategic Psy-limiter - Lv 60 +(1262004, "MAGICIAN", 70), # Engaging Psy-limiter - Lv 70 +(1262005, "MAGICIAN", 80), # Technical Psy-limiter - Lv 80 +(1262006, "MAGICIAN", 90), # Mad Psy-limiter - Lv 90 +(1262007, "MAGICIAN", 100), # Daemon Psy-limiter - Lv 100 +(1262008, "MAGICIAN", 110), # Dragon Psy-limiter - Lv 110 +(1262009, "MAGICIAN", 120), # Briser Psy-limiter - Lv 120 +(1262010, "MAGICIAN", 130), # Jaihin Psy-limiter - Lv 130 +(1262011, "MAGICIAN", 140), # Utgard Psy-limiter - Lv 140 + +# Scepter +(1252001, "MAGICIAN", 10), # Beast Tamer Scepter - Lv 10 +(1252048, "MAGICIAN", 10), # Hardwood Beast Tamer Scepter - Lv 15 +(1252049, "MAGICIAN", 20), # Metal Beast Tamer Scepter - Lv 20 +(1252050, "MAGICIAN", 30), # Assign Scepter - Lv 30 +(1252051, "MAGICIAN", 40), # High Assign Scepter - Lv 40 +(1252052, "MAGICIAN", 50), # Talon Scepter - Lv 50 +(1252053, "MAGICIAN", 60), # Panther Scepter - Lv 60 +(1252054, "MAGICIAN", 70), # Grizzly Scepter - Lv 70 +(1252006, "MAGICIAN", 80), # Tigress Scepter - Lv 80 +(1252007, "MAGICIAN", 90), # Eagle Scepter - Lv 90 +(1252008, "MAGICIAN", 100), # Falcon Scepter - Lv 100 +(1252009, "MAGICIAN", 100), # Lion Glass Scepter - Lv 105 +(1252010, "MAGICIAN", 110), # Dragon Kitty Soul Scepter - Lv 110 +(1252084, "MAGICIAN", 120), # Briser Shining Stick - Lv 120 +(1252085, "MAGICIAN", 130), # Jaihin Shining Stick - Lv 130 +(1252086, "MAGICIAN", 140), # Utgard Shining Stick - Lv 140 + +# Thief +# Chain +(1272000, "THIEF", 10), # De Mercurio - Lv 10 +(1272001, "THIEF", 30), # De Venus - Lv 30 +(1272002, "THIEF", 50), # De Tierra - Lv 50 +(1272003, "THIEF", 60), # De Marte - Lv 60 +(1272004, "THIEF", 70), # De Jupiter - Lv 70 +(1272005, "THIEF", 80), # De Saturno - Lv 80 +(1272006, "THIEF", 90), # De Urano - Lv 90 +(1272007, "THIEF", 100), # De Neptuno - Lv 100 +(1272008, "THIEF", 110), # Dragon Chain - Lv 110 +(1272009, "THIEF", 120), # Briser Chain - Lv 120 +(1272011, "THIEF", 130), # Jaihin Chain - Lv 130 +(1272013, "THIEF", 140), # Utgard Chain - Lv 140 + +# Cane +(1362002, "THIEF", 10), # Iron Cane - Lv 15 +(1362003, "THIEF", 20), # Noble Stick - Lv 20 +(1362004, "THIEF", 20), # Croix Canne - Lv 25 +(1362005, "THIEF", 30), # Rouge Way - Lv 30 +(1362006, "THIEF", 30), # Arc-en-ciel - Lv 35 +(1362007, "THIEF", 40), # Twisted - Lv 40 +(1362008, "THIEF", 50), # Oriental Royal Cane - Lv 50 +(1362009, "THIEF", 60), # Bijou Canne - Lv 60 +(1362010, "THIEF", 70), # Regne - Lv 70 +(1362011, "THIEF", 70), # Majesty Cane - Lv 70 +(1362012, "THIEF", 90), # Phantom Originality - Lv 90 +(1362013, "THIEF", 100), # Celestial Cane - Lv 100 +(1362015, "THIEF", 110), # Dragon Permanche - Lv 110 +(1362119, "THIEF", 120), # Briser Cane - Lv 120 +(1362120, "THIEF", 130), # Jaihin Cane - Lv 130 +(1362121, "THIEF", 140), # Utgard Cane - Lv 140 + +# Dagger +(1332007, "THIEF", 0), # Fruit Knife - Lv 8 +(1332000, "THIEF", 10), # Triangular Zamadar - Lv 12 +(1332006, "THIEF", 10), # Field Dagger - Lv 15 +(1332002, "THIEF", 10), # Triple-Tipped Zamadar - Lv 17 +(1332008, "THIEF", 20), # Coconut Knife - Lv 20 +(1332013, "THIEF", 20), # Stinger - Lv 22 +(1332010, "THIEF", 20), # Iron Dagger - Lv 25 +(1332004, "THIEF", 20), # Forked Dagger - Lv 27 +(1332009, "THIEF", 30), # Cass - Lv 30 +(1332012, "THIEF", 30), # Reef Claw - Lv 30 +(1332001, "THIEF", 30), # Halfmoon Zamadar - Lv 32 +(1332014, "THIEF", 30), # Gephart - Lv 35 +(1332011, "THIEF", 40), # Bazlud - Lv 40 +(1332031, "THIEF", 40), # Dragon Toenail - Lv 40 +(1332003, "THIEF", 50), # Shinkita - Lv 50 +(1332016, "THIEF", 50), # Sai - Lv 50 +(1332024, "THIEF", 50), # Bushido - Lv 55 +(1332015, "THIEF", 60), # Deadly Fin - Lv 60 +(1332017, "THIEF", 60), # Serpent's Coil - Lv 60 +(1332030, "THIEF", 60), # Fan - Lv 65 +(1332019, "THIEF", 70), # Golden River - Lv 70 +(1332018, "THIEF", 70), # Kandine - Lv 70 +(1332022, "THIEF", 80), # Angelic Betrayal - Lv 80 +(1332023, "THIEF", 80), # Dragon's Tail - Lv 80 +(1332026, "THIEF", 90), # Cursayer - Lv 90 +(1332027, "THIEF", 90), # Varkit - Lv 90 +(1332052, "THIEF", 100), # Blood Dagger - Lv 100 +(1332049, "THIEF", 110), # Dragon Kanzir - Lv 110 +(1332050, "THIEF", 110), # Dragon Kreda - Lv 110 +(1332258, "THIEF", 120), # Briser Dagger - Lv 120 +(1332259, "THIEF", 130), # Jaihin Dagger - Lv 130 +(1332260, "THIEF", 140), # Utgard Dagger - Lv 140 + +# Claw +(1472000, "THIEF", 10), # Garnier - Lv 10 +(1472001, "THIEF", 10), # Steel Titans - Lv 15 +(1472002, "THIEF", 10), # Mithril Titans - Lv 15 +(1472003, "THIEF", 10), # Gold Titans - Lv 15 +(1472004, "THIEF", 20), # Bronze Igor - Lv 20 +(1472005, "THIEF", 20), # Steel Igor - Lv 20 +(1472006, "THIEF", 20), # Adamantium Igor - Lv 20 +(1472007, "THIEF", 30), # Meba - Lv 35 +(1472008, "THIEF", 30), # Steel Guards - Lv 30 +(1472009, "THIEF", 30), # Mithril Guards - Lv 30 +(1472010, "THIEF", 30), # Adamantium Guards - Lv 30 +(1472011, "THIEF", 30), # Bronze Guardian - Lv 35 +(1472012, "THIEF", 30), # Silver Guardian - Lv 35 +(1472013, "THIEF", 30), # Dark Guardian - Lv 35 +(1472014, "THIEF", 40), # Steel Avarice - Lv 40 +(1472015, "THIEF", 40), # Blood Avarice - Lv 40 +(1472016, "THIEF", 40), # Adamantium Avarice - Lv 40 +(1472017, "THIEF", 40), # Dark Avarice - Lv 40 +(1472018, "THIEF", 50), # Steel Slain - Lv 50 +(1472019, "THIEF", 50), # Blood Slain - Lv 50 +(1472020, "THIEF", 50), # Sapphire Slain - Lv 50 +(1472021, "THIEF", 50), # Dark Slain - Lv 50 +(1472022, "THIEF", 60), # Bronze Gigantic - Lv 60 +(1472023, "THIEF", 60), # Blood Gigantic - Lv 60 +(1472024, "THIEF", 60), # Sapphire Gigantic - Lv 60 +(1472025, "THIEF", 60), # Dark Gigantic - Lv 60 +(1472055, "THIEF", 60), # Maple Skanda - Lv 64 +(1472026, "THIEF", 70), # Brown Scarab - Lv 70 +(1472027, "THIEF", 70), # Green Scarab - Lv 70 +(1472028, "THIEF", 70), # Blue Scarab - Lv 70 +(1472029, "THIEF", 70), # Black Scarab - Lv 70 +(1472031, "THIEF", 80), # Black Mamba - Lv 80 +(1472033, "THIEF", 90), # Casters - Lv 90 +(1472053, "THIEF", 100), # Red Craven - Lv 100 +(1472051, "THIEF", 110), # Dragon Green Sleeve - Lv 110 +(1472052, "THIEF", 110), # Dragon Purple Sleeve - Lv 110 +(1472245, "THIEF", 120), # Briser Guards - Lv 120 +(1472246, "THIEF", 130), # Jaihin Guards - Lv 130 +(1472247, "THIEF", 140), # Utgard Guards - Lv 140 + +# Katara +(1342000, "THIEF", 20), # Champion Katara - Lv 20 +(1342001, "THIEF", 30), # Guardian Katara - Lv 30 +(1342002, "THIEF", 40), # Justice Katara - Lv 40 +(1342003, "THIEF", 50), # Majestic Katara - Lv 50 +(1342004, "THIEF", 60), # Ascalon Katara - Lv 60 +(1342005, "THIEF", 70), # Heavenly Katara - Lv 70 +(1342006, "THIEF", 80), # Blazing Dragon Katara - Lv 80 +(1342007, "THIEF", 90), # Bloodsoaked Katara - Lv 90 +(1342008, "THIEF", 100), # Meteor Katara - Lv 100 +(1342010, "THIEF", 110), # Moonshadow Katara - Lv 110 +(1342098, "THIEF", 120), # Briser Katara - Lv 120 +(1342099, "THIEF", 130), # Jaihin Katara - Lv 130 +(1342100, "THIEF", 140), # Utgard Katara - Lv 140 + +# Pirate +# Pistol +(1492000, "PIRATE", 10), # Pistol - Lv 10 +(1492001, "PIRATE", 10), # Dellinger Special - Lv 15 +(1492002, "PIRATE", 20), # The Negotiator - Lv 20 +(1492003, "PIRATE", 20), # Golden Hook - Lv 25 +(1492004, "PIRATE", 30), # Cold Mind - Lv 30 +(1492005, "PIRATE", 30), # Shooting Star - Lv 35 +(1492006, "PIRATE", 40), # Lunar Shooter - Lv 40 +(1492007, "PIRATE", 50), # Mr. Rasfelt - Lv 50 +(1492008, "PIRATE", 60), # Burning Hell - Lv 60 +(1492009, "PIRATE", 70), # Abyss Shooter - Lv 70 +(1492010, "PIRATE", 80), # Infinity's Wrath - Lv 80 +(1492011, "PIRATE", 90), # The Peacemaker - Lv 90 +(1492012, "PIRATE", 100), # Concerto - Lv 100 +(1492013, "PIRATE", 110), # Dragon Revolver - Lv 110 +(1492210, "PIRATE", 120), # Briser Pistol - Lv 120 +(1492211, "PIRATE", 130), # Jaihin Pistol - Lv 130 +(1492212, "PIRATE", 140), # Utgard Pistol - Lv 140 + +# Knuckle +(1482000, "PIRATE", 10), # Steel Knuckler - Lv 10 +(1482001, "PIRATE", 10), # Leather Arms - Lv 15 +(1482002, "PIRATE", 20), # Double Tail Knuckler - Lv 20 +(1482003, "PIRATE", 20), # Norman Grip - Lv 25 +(1482004, "PIRATE", 30), # Prime Hands - Lv 30 +(1482005, "PIRATE", 30), # Silver Maiden - Lv 35 +(1482020, "PIRATE", 30), # Maple Knuckle - Lv 35 +(1482006, "PIRATE", 40), # Neozard - Lv 40 +(1482007, "PIRATE", 50), # Fury Claw - Lv 50 +(1482008, "PIRATE", 60), # Seraphims - Lv 60 +(1482022, "PIRATE", 60), # Maple Golden Claw - Lv 64 +(1482009, "PIRATE", 70), # Beia Crash - Lv 70 +(1482010, "PIRATE", 80), # Steel Renault - Lv 80 +(1482011, "PIRATE", 90), # White Fangz - Lv 90 +(1482012, "PIRATE", 100), # King Cent - Lv 100 +(1482013, "PIRATE", 110), # Dragon Slash Claw - Lv 110 +(1482200, "PIRATE", 120), # Briser Claw - Lv 120 +(1482201, "PIRATE", 130), # Jaihin Claw - Lv 130 +(1482202, "PIRATE", 140), # Utgard Claw - Lv 140 + +# Soul Shooter +(1222001, "PIRATE", 10), # Purple Haze - Lv 10 +(1222002, "PIRATE", 30), # Pink Haze - Lv 30 +(1222003, "PIRATE", 50), # Purple Hatchling - Lv 50 +(1222004, "PIRATE", 60), # Jade Hatchling - Lv 60 +(1222005, "PIRATE", 70), # Pink Wormhead - Lv 70 +(1222006, "PIRATE", 80), # Red Wormhead - Lv 80 +(1222007, "PIRATE", 90), # Jade Wormhead - Lv 90 +(1222008, "PIRATE", 100), # Green Dragon Soul - Lv 100 +(1222009, "PIRATE", 100), # Jade Worm - Lv 105 +(1222010, "PIRATE", 110), # Iron Dragon - Lv 110 +(1222093, "PIRATE", 120), # Briser Dragon Soul - Lv 120 +(1222094, "PIRATE", 130), # Jaihin Dragon Soul - Lv 130 +(1222095, "PIRATE", 140), # Utgard Dragon Soul - Lv 140 + +# Cannon +(1532001, "PIRATE", 10), # Solid Cannon - Lv 15 +(1532002, "PIRATE", 20), # Ironside - Lv 20 +(1532003, "PIRATE", 20), # Steel Beast - Lv 25 +(1532004, "PIRATE", 30), # Heavy Artillery - Lv 30 +(1532005, "PIRATE", 30), # Titan Cannon - Lv 35 +(1532006, "PIRATE", 40), # Grand Cannon - Lv 40 +(1532007, "PIRATE", 50), # Dreadnought - Lv 50 +(1532008, "PIRATE", 60), # The Bigshot - Lv 60 +(1532009, "PIRATE", 70), # Infernalizer - Lv 70 +(1532010, "PIRATE", 80), # Deck Sweeper - Lv 80 +(1532011, "PIRATE", 90), # Bilge Breaker - Lv 90 +(1532012, "PIRATE", 100), # Gilded Giant - Lv 100 +(1532014, "PIRATE", 110), # Dragon Breaker - Lv 110 +(1532128, "PIRATE", 120), # Briser Hand Cannon - Lv 120 +(1532129, "PIRATE", 130), # Jaihin Siege Gun - Lv 130 +(1532130, "PIRATE", 140), # Utgard Siege Gun - Lv 140 + +# Whip Blade +(1242001, "PIRATE", 10), # Horned Blade - Lv 10 +(1242002, "PIRATE", 30), # Ridge Cutter - Lv 30 +(1242003, "PIRATE", 50), # Rough Violet - Lv 50 +(1242004, "PIRATE", 60), # Macro Knife - Lv 60 +(1242005, "PIRATE", 70), # Scorpio Tail - Lv 70 +(1242006, "PIRATE", 80), # Diode - Lv 80 +(1242007, "PIRATE", 90), # Green Fairy - Lv 90 +(1242008, "PIRATE", 100), # Crimson Skull - Lv 100 +(1242009, "PIRATE", 100), # Fish Fin - Lv 105 +(1242010, "PIRATE", 110), # Dragon Energy Skull - Lv 110 +(1242100, "PIRATE", 120), # Briser Heavy Head - Lv 120 +(1242101, "PIRATE", 130), # Jaihin Heavy Head - Lv 130 +(1242102, "PIRATE", 140), # Utgard Heavy Head - Lv 140 + +# Armor ------------------------------------------------------- + +# Warrior +# Hat +(1002043, "WARRIOR", 10), # Bronze Coif - Lv 10 +(1002059, "WARRIOR", 20), # Bronze Viking Helmet - Lv 20 +(1002023, "WARRIOR", 30), # Jousting Helmet - Lv 30 +(1002025, "WARRIOR", 40), # Red Duke - Lv 40 +(1002028, "WARRIOR", 50), # Silver Crusader Helm - Lv 50 +(1002029, "WARRIOR", 60), # Red Oriental Helmet - Lv 60 +(1002030, "WARRIOR", 70), # Silver Planet - Lv 70 +(1002340, "WARRIOR", 80), # Dark Dragon Barbute - Lv 80 +(1002532, "WARRIOR", 90), # Dark Grace Helmet - Lv 90 +(1002379, "WARRIOR", 100), # Dark Valhalla Helmet - Lv 100 +(1002551, "WARRIOR", 110), # Blue Dragon Helmet - Lv 110 +(1004219, "WARRIOR", 120), # Eclectic Fennel - Lv 120 +(1004224, "WARRIOR", 130), # Muspell Warrior Hat - Lv 130 +(1004229, "WARRIOR", 140), # Pensalir Battle Helm - Lv 140 + +# Gloves +(1082004, "WARRIOR", 20), # Venon - Lv 20 +(1082025, "WARRIOR", 40), # Dark Knuckle - Lv 40 +(1082059, "WARRIOR", 60), # Bronze Clench - Lv 60 +(1082116, "WARRIOR", 80), # Blood Emperor - Lv 80 +(1082141, "WARRIOR", 100), # Dark Korben - Lv 100 +(1082168, "WARRIOR", 110), # Blue Dragon Gauntlet - Lv 110 +(1082598, "WARRIOR", 120), # Eclectic Bergamot - Lv 120 +(1082603, "WARRIOR", 130), # Muspell Warrior Gloves - Lv 130 +(1082608, "WARRIOR", 140), # Pensalir Battle Gloves - Lv 140 + +# Shoes +(1072007, "WARRIOR", 20), # Brown High Boots - Lv 20 +(1072000, "WARRIOR", 40), # Brown Jangoon Shoes - Lv 40 +(1072149, "WARRIOR", 60), # Blood Camel Boots - Lv 60 +(1072210, "WARRIOR", 80), # Red Rivers Boots - Lv 80 +(1072222, "WARRIOR", 100), # Dark Crescent Boots - Lv 100 +(1072273, "WARRIOR", 110), # Blue Dragon Boots - Lv 110 +(1072957, "WARRIOR", 120), # Eclectic Grabbe - Lv 120 +(1072962, "WARRIOR", 130), # Muspell Warrior Shoes - Lv 130 +(1072967, "WARRIOR", 140), # Pensalir Battle Boots - Lv 140 + +# Cape +(1102003, "WARRIOR", 50), # White Adventurer Cape - Lv 50 +(1102004, "WARRIOR", 50), # Black Adventurer Cape - Lv 50 +(1102017, "WARRIOR", 60), # White Magic Cape - Lv 60 +(1102018, "WARRIOR", 60), # Black Magic Cape - Lv 60 +(1102029, "WARRIOR", 70), # White Seraph Cape - Lv 75 +(1102030, "WARRIOR", 70), # Black Seraph Cape - Lv 75 +(1102033, "WARRIOR", 80), # Red Giles Cape - Lv 85 +(1102034, "WARRIOR", 80), # Blue Giles Cape - Lv 85 +(1102718, "WARRIOR", 140), # Pensalir Battle Cape - Lv 140 + +# Top +(1040015, "WARRIOR", 10), # Brown Lolico Armor - Lv 10 +(1041014, "WARRIOR", 10), # Orange Lolica Armor - Lv 10 +(1040012, "WARRIOR", 20), # Blue Sergeant - Lv 20 +(1041021, "WARRIOR", 20), # Brown Lamelle - Lv 20 +(1040021, "WARRIOR", 30), # Red Hwarang Shirt - Lv 30 +(1040085, "WARRIOR", 40), # Maroon Jangoon Armor - Lv 40 +(1041085, "WARRIOR", 40), # Brown Jangoon Armor - Lv 40 +(1040087, "WARRIOR", 50), # Blue Shouldermail - Lv 50 +(1040092, "WARRIOR", 60), # Blue Orientican - Lv 60 +(1041092, "WARRIOR", 60), # Red Ice Queen - Lv 60 +(1040103, "WARRIOR", 70), # Mithril Platine - Lv 70 +(1041097, "WARRIOR", 70), # Aqua Platina - Lv 70 +(1041120, "WARRIOR", 90), # Purple Valkyrie - Lv 90 +(1040112, "WARRIOR", 90), # Blue Commodore - Lv 90 +(1040121, "WARRIOR", 100), # Blue Neos - Lv 100 +(1041123, "WARRIOR", 100), # Purple Lucida - Lv 100 + +# Bottom +(1060008, "WARRIOR", 10), # Brown Lolico Pants - Lv 10 +(1060028, "WARRIOR", 10), # Blue Lolico Pants - Lv 10 +(1060155, "WARRIOR", 20), # Blue Sergeant Kilt - Lv 20 +(1060029, "WARRIOR", 20), # Red Sergeant Kilt - Lv 20 +(1060018, "WARRIOR", 30), # Red Martial Arts Pants - Lv 30 +(1060075, "WARRIOR", 40), # Brown Jangoon Pants - Lv 40 +(1060076, "WARRIOR", 50), # Blue Shouldermail Pants - Lv 50 +(1060080, "WARRIOR", 60), # Red Orientican Pants - Lv 60 +(1061091, "WARRIOR", 60), # Red Ice Queen Skirt - Lv 60 +(1060091, "WARRIOR", 70), # Mithril Platine Pants - Lv 70 +(1060101, "WARRIOR", 90), # Blue Commodore Pants - Lv 90 +(1061118, "WARRIOR", 90), # Green Valkyrie Skirt - Lv 90 +(1060111, "WARRIOR", 100), # Black Neos Pants - Lv 100 +(1061123, "WARRIOR", 100), # Dark Lucida Skirt - Lv 100 + +# Overall +(1050081, "WARRIOR", 80), # Red Battle Lord - Lv 80 +(1051078, "WARRIOR", 80), # Red Battle Empress - Lv 80 +(1052075, "WARRIOR", 110), # Blue Dragon Armor - Lv 110 +(1052789, "WARRIOR", 120), # Eclectic Taragon - Lv 120 +(1052794, "WARRIOR", 130), # Muspell Warrior Suit - Lv 130 +(1052799, "WARRIOR", 140), # Pensalir Battle Mail - Lv 140 + + +# Magician +# Hat +(1002017, "MAGICIAN", 10), # Brown Apprentice Hat - Lv 10 +(1002073, "MAGICIAN", 20), # Red Wizardry Hat - Lv 20 +(1002036, "MAGICIAN", 30), # Green Jester - Lv 30 +(1002155, "MAGICIAN", 40), # White Guiltian - Lv 40 +(1002217, "MAGICIAN", 50), # Orange Golden Circlet - Lv 50 +(1002246, "MAGICIAN", 60), # Dark Seraphis - Lv 60 +(1002254, "MAGICIAN", 70), # Dark Infinium Circlet - Lv 70 +(1002274, "MAGICIAN", 80), # Dark Galaxy - Lv 80 +(1002366, "MAGICIAN", 90), # Black Oriental Fury Hat - Lv 90 +(1002401, "MAGICIAN", 100), # Dark Varr Hat - Lv 100 +(1002773, "MAGICIAN", 110), # Gold Dragon Crown - Lv 110 +(1004220, "MAGICIAN", 120), # Eclectic Coral - Lv 120 +(1004225, "MAGICIAN", 130), # Muspell Magician Hat - Lv 130 +(1004230, "MAGICIAN", 140), # Pensalir Mage Sallet - Lv 140 + +# Gloves +(1082064, "WARRIOR", 40), # Dark Arten - Lv 40 +(1082086, "WARRIOR", 60), # Steel Manute - Lv 60 +(1082122, "WARRIOR", 80), # Blue Clarity - Lv 80 +(1082152, "WARRIOR", 100), # Blue Ciara - Lv 100 +(1082164, "WARRIOR", 110), # Blue Elemental Gloves - Lv 110 +(1082599, "WARRIOR", 120), # Eclectic Hermosa - Lv 120 +(1082604, "WARRIOR", 130), # Muspell Magician Gloves - Lv 130 +(1082609, "WARRIOR", 140), # Pensalir Mage Gloves - Lv 140 + +# Boots +(1072019, "MAGICIAN", 20), # Blue Jewelry Boots - Lv 20 +(1072115, "MAGICIAN", 40), # Blue Moon Shoes - Lv 40 +(1072139, "MAGICIAN", 60), # Blue Goldrunners - Lv 60 +(1072178, "MAGICIAN", 80), # Purple Enigma Shoes - Lv 80 +(1072224, "MAGICIAN", 100), # Blue Varr Shoes - Lv 100 +(1072268, "MAGICIAN", 110), # Blue Elemental Shoes - Lv 110 +(1072958, "MAGICIAN", 120), # Eclectic Cabatina - Lv 120 +(1072963, "MAGICIAN", 130), # Muspell Magician Shoes - Lv 130 +(1072968, "MAGICIAN", 140), # Pensalir Mage Boots - Lv 140 + +# Capes +(1102003, "MAGICIAN", 50), # White Adventurer Cape - Lv 50 +(1102004, "MAGICIAN", 50), # Black Adventurer Cape - Lv 50 +(1102017, "MAGICIAN", 60), # White Magic Cape - Lv 60 +(1102018, "MAGICIAN", 60), # Black Magic Cape - Lv 60 +(1102029, "MAGICIAN", 70), # White Seraph Cape - Lv 75 +(1102030, "MAGICIAN", 70), # Black Seraph Cape - Lv 75 +(1102033, "MAGICIAN", 80), # Red Giles Cape - Lv 85 +(1102034, "MAGICIAN", 80), # Blue Giles Cape - Lv 85 +(1102719, "MAGICIAN", 140), # Pensalir Mage Cape - Lv 140 + +# Top +(1040160, "MAGICIAN", 0), # Grey Training Shirt - Lv 8 +(1040020, "MAGICIAN", 10), # Blue Split Piece - Lv 18 +(1041015, "MAGICIAN", 0), # Black Armine - Lv 8 +(1041041, "MAGICIAN", 20), # Purple Fairy Top - Lv 28 +(1041052, "MAGICIAN", 30), # Blue Amoria Top - Lv 33 + +# Bottom +(1061010, "MAGICIAN", 0), # Black Armine Skirt - Lv 8 + +# Overall +(1050008, "MAGICIAN", 10), # Beige Plain Robe - Lv 13 +(1050194, "MAGICIAN", 10), # Beige Plain Robe - Lv 13 +(1050027, "MAGICIAN", 20), # Black Mage Robe - Lv 28 +(1050197, "MAGICIAN", 20), # Black Mage Robe - Lv 28 +(1050039, "MAGICIAN", 30), # Dark Starlight - Lv 38 +(1050200, "MAGICIAN", 30), # Dark Starlight - Lv 38 +(1051034, "MAGICIAN", 40), # Orange Calaf - Lv 48 +(1050053, "MAGICIAN", 50), # Blue Anakamoon - Lv 58 +(1051044, "MAGICIAN", 50), # Blue Anakarune - Lv 58 +(1050067, "MAGICIAN", 60), # Blue Requiem - Lv 68 +(1051052, "MAGICIAN", 60), # Blue Requierre - Lv 68 +(1050073, "MAGICIAN", 70), # Blue Enigmatic - Lv 78 +(1051057, "MAGICIAN", 70), # Purple Enigma - Lv 78 +(1050092, "MAGICIAN", 80), # Green Oriental Fury Coat - Lv 88 +(1051094, "MAGICIAN", 80), # Green Oriental Fury Coat - Lv 88 +(1050103, "MAGICIAN", 90), # Blue Varuna - Lv 98 +(1051102, "MAGICIAN", 90), # Blue Bazura - Lv 98 +(1050102, "MAGICIAN", 90), # Green Varuna - Lv 98 +(1051103, "MAGICIAN", 90), # Red Bazura - Lv 98 +(1052076, "MAGICIAN", 100), # Blue Czar - Lv 108 +(1052790, "MAGICIAN", 120), # Eclectic Myst Blue - Lv 120 +(1052795, "MAGICIAN", 130), # Muspell Magician Suit - Lv 130 +(1052800, "MAGICIAN", 140), # Pensalir Mage Robe - Lv 140 + +# Bowman + +(1002010, "BOWMAN", 10), # Brown Winter Hat - Lv 10 +(1002119, "BOWMAN", 20), # Green Robin Hat - Lv 20 +(1002163, "BOWMAN", 30), # Green Hawkeye - Lv 30 +(1002168, "BOWMAN", 40), # Green Distinction - Lv 40 +(1002214, "BOWMAN", 50), # Black Maro - Lv 50 +(1002270, "BOWMAN", 60), # Black Polyfeather Hat - Lv 60 +(1002289, "BOWMAN", 70), # Dark Patriot - Lv 70 +(1002278, "BOWMAN", 80), # Dark Falcon - Lv 80 +(1002405, "BOWMAN", 90), # Dark Arlic Helmet - Lv 90 +(1002407, "BOWMAN", 100), # Blue Arnah Cap - Lv 100 +(1002547, "BOWMAN", 110), # Red Hunter - Lv 110 +(1004221, "BOWMAN", 120), # Eclectic Rapid - Lv 120 +(1004226, "BOWMAN", 130), # Muspell Bowman Hat - Lv 130 +(1004231, "BOWMAN", 140), # Pensalir Sentinel Cap - Lv 140 + +# Gloves +(1082090, "BOWMAN", 60), # Sephia Garner - Lv 60 +(1082111, "BOWMAN", 80), # Green Cordon - Lv 80 +(1004383, "BOWMAN", 70), # Dark Focus Hat\r\n - Lv 75 +(1082127, "BOWMAN", 90), # Dark Focus - Lv 90 +(1082160, "BOWMAN", 100), # Green Arcina - Lv 100 +(1082163, "BOWMAN", 110), # Red Hunter Gloves - Lv 110 +(1082600, "BOWMAN", 120), # Eclectic Presto - Lv 120 +(1082605, "BOWMAN", 130), # Muspell Bowman Gloves - Lv 130 +(1082610, "BOWMAN", 140), # Pensalir Sentinel Gloves - Lv 140 + +# Shoes +(1072026, "BOWMAN", 20), # Rabbit Huntertop - Lv 20 +(1072120, "BOWMAN", 40), # Brown Pierre Shoes - Lv 40 +(1072144, "BOWMAN", 60), # Red Gore Boots - Lv 60 +(1072184, "BOWMAN", 80), # Green Wing Boots - Lv 80 +(1072204, "BOWMAN", 90), # Green Ades Shoes - Lv 90 +(1072228, "BOWMAN", 100), # Blue Arnah Shoes - Lv 100 +(1072269, "BOWMAN", 110), # Red Hunter Shoes - Lv 110 +(1072959, "BOWMAN", 120), # Eclectic Rontano - Lv 120 +(1072964, "BOWMAN", 130), # Muspell Bowman Shoes - Lv 130 +(1072969, "BOWMAN", 140), # Pensalir Sentinel Boots - Lv 140 + +# Capes +(1102003, "BOWMAN", 50), # White Adventurer Cape - Lv 50 +(1102004, "BOWMAN", 50), # Black Adventurer Cape - Lv 50 +(1102017, "BOWMAN", 60), # White Magic Cape - Lv 60 +(1102018, "BOWMAN", 60), # Black Magic Cape - Lv 60 +(1102029, "BOWMAN", 70), # White Seraph Cape - Lv 75 +(1102030, "BOWMAN", 70), # Black Seraph Cape - Lv 75 +(1102033, "BOWMAN", 80), # Red Giles Cape - Lv 85 +(1102034, "BOWMAN", 80), # Blue Giles Cape - Lv 85 +(1102720, "BOWMAN", 140), # Pensalir Sentinel Cape - Lv 140 + +# Top +(1040008, "BOWMAN", 10), # Brown Archer Top - Lv 10 +(1040003, "BOWMAN", 20), # Brown Hard Leather Top - Lv 20 +(1040024, "BOWMAN", 20), # Blue Bennis Chainmail - Lv 25 +(1041034, "BOWMAN", 20), # Blue Bennis Chainmail - Lv 25 +(1040067, "BOWMAN", 30), # Green Hunter's Armor - Lv 30 +(1040075, "BOWMAN", 30), # Dark Legolier - Lv 35 +(1040146, "BOWMAN", 30), # King Pepe Dark Legolier - Lv 35 +(1040079, "BOWMAN", 40), # Brown Piette - Lv 40 +(1040178, "BOWMAN", 40), # Brown Piette - Lv 40 +(1041008, "BOWMAN", 10), # Green Able Armor - Lv 15 +(1041027, "BOWMAN", 20), # Red Shivermail - Lv 20 +(1041035, "BOWMAN", 20), # Yellow Bennis Chainmail - Lv 25 +(1041054, "BOWMAN", 30), # Green Huntress Armor - Lv 30 +(1041176, "BOWMAN", 30), # Green Huntress Armor - Lv 30 +(1041067, "BOWMAN", 30), # Green Legolia - Lv 35 +(1041081, "BOWMAN", 40), # White Piettra - Lv 40 + +# Bottom + +(1061006, "BOWMAN", 10), # Green Able Armor Skirt - Lv 15 +(1061025, "BOWMAN", 20), # Red Shivermail Skirt - Lv 20 +(1061062, "BOWMAN", 30), # Green Legolia Pants - Lv 35 +(1060056, "BOWMAN", 30), # Green Hunter's Pants - Lv 30 +(1060065, "BOWMAN", 30), # Brown Legolier Pants - Lv 35 +(1060069, "BOWMAN", 40), # Brown Piette Pants - Lv 40 +(1061080, "BOWMAN", 40), # White Piettra Skirt - Lv 40 + +# Overall +(1050052, "BOWMAN", 50), # Blue-Lined Kismet - Lv 50 +(1050202, "BOWMAN", 50), # Blue-Lined Kismet - Lv 50 +(1051037, "BOWMAN", 50), # Blue Lumati - Lv 50 +(1050059, "BOWMAN", 60), # Blue Tai - Lv 60 +(1051041, "BOWMAN", 60), # Red Choro - Lv 60 +(1050061, "BOWMAN", 70), # Blue Linnex - Lv 70 +(1051062, "BOWMAN", 70), # Blue Lineros - Lv 70 +(1050075, "BOWMAN", 80), # Red Pris - Lv 80 +(1051066, "BOWMAN", 80), # Red Pria - Lv 80 +(1050088, "BOWMAN", 90), # Red Ades - Lv 90 +(1072203, "BOWMAN", 90), # Red Ades Shoes - Lv 90 +(1051082, "BOWMAN", 90), # Red Anes - Lv 90 +(1050107, "BOWMAN", 100), # Blue Arzuna - Lv 100 +(1051106, "BOWMAN", 100), # Blue Armis - Lv 100 +(1052071, "BOWMAN", 110), # Red Mantle - Lv 110 +(1052791, "BOWMAN", 120), # Eclectic Evernew - Lv 120 +(1052796, "BOWMAN", 130), # Muspell Bowman Suit - Lv 130 +(1052801, "BOWMAN", 140), # Pensalir Sentinel Suit - Lv 140 + +# Thief + +(1002125, "THIEF", 10), # Black Ghetto Beanie - Lv 10 +(1002130, "THIEF", 20), # Black Loosecap - Lv 20 +(1002175, "THIEF", 30), # Dark Guise - Lv 30 +(1002185, "THIEF", 40), # Dark Pilfer - Lv 40 +(1002207, "THIEF", 50), # Red Sonata - Lv 50 +(1002249, "THIEF", 60), # Dark Identity - Lv 60 +(1002284, "THIEF", 70), # White Nightfox - Lv 70 +(1002330, "THIEF", 80), # Dark Pireta Hat - Lv 80 +(1002326, "THIEF", 90), # Red Osfa Hat - Lv 90 +(1002383, "THIEF", 100), # Dark Canal Hood - Lv 100 +(1002550, "THIEF", 110), # Black Garina Hood - Lv 110 +(1004222, "THIEF", 120), # Eclectic Chive - Lv 120 +(1004227, "THIEF", 130), # Muspell Thief Hat - Lv 130 +(1004232, "THIEF", 140), # Pensalir Chaser Hat - Lv 140 + +# Gloves +(1082029, "THIEF", 10), # Brown Duo - Lv 15 +(1082093, "THIEF", 60), # Steal Pow - Lv 60 +(1082120, "THIEF", 80), # Blood Larceny - Lv 80 +(1082138, "THIEF", 100), # Dark Anelin - Lv 100 +(1082167, "THIEF", 110), # Black Garina Gloves - Lv 110 +(1082601, "THIEF", 120), # Eclectic Lubav - Lv 120 +(1082606, "THIEF", 130), # Muspell Thief Gloves - Lv 130 +(1082611, "THIEF", 140), # Pensalir Chaser Gloves - Lv 140 + +# Shoes +(1072065, "THIEF", 20), # Red Enamel Boots - Lv 20 +(1072107, "THIEF", 40), # Black Red-Lined Shoes - Lv 40 +(1072592, "THIEF", 40), # Black Red-Lined Shoes - Lv 40 +(1072151, "THIEF", 60), # Gold Moss Boots - Lv 60 +(1072174, "THIEF", 80), # Dark Pirate Boots - Lv 80 +(1072216, "THIEF", 100), # Dark Katina Boots - Lv 100 +(1072272, "THIEF", 110), # Black Garina Shoes - Lv 110 +(1072960, "THIEF", 120), # Eclectic Moonsteed - Lv 120 +(1072965, "THIEF", 130), # Muspell Thief Shoes - Lv 130 +(1072970, "THIEF", 140), # Pensalir Chaser Boots - Lv 140 + +# Capes +(1102003, "THIEF", 50), # White Adventurer Cape - Lv 50 +(1102004, "THIEF", 50), # Black Adventurer Cape - Lv 50 +(1102017, "THIEF", 60), # White Magic Cape - Lv 60 +(1102018, "THIEF", 60), # Black Magic Cape - Lv 60 +(1102029, "THIEF", 70), # White Seraph Cape - Lv 75 +(1102030, "THIEF", 70), # Black Seraph Cape - Lv 75 +(1102033, "THIEF", 80), # Red Giles Cape - Lv 85 +(1102034, "THIEF", 80), # Blue Giles Cape - Lv 85 +(1102721, "THIEF", 140), # Pensalir Chaser Cape - Lv 140 + +# Top/Bottom +(1040033, "THIEF", 10), # Black Cloth Vest - Lv 10 +(1040034, "THIEF", 10), # Dark Nightshift - Lv 15 +(1060024, "THIEF", 10), # Dark Nightshift Pants - Lv 15 +(1040044, "THIEF", 20), # Black Pao - Lv 20 +(1060033, "THIEF", 20), # Black Pao Bottom - Lv 20 +(1040048, "THIEF", 20), # Brown Sneak - Lv 25 +(1060037, "THIEF", 20), # Dark Brown Sneak Pants - Lv 25 +(1060038, "THIEF", 20), # Brown Sneak Pants - Lv 25 +(1060160, "THIEF", 20), # Dark Brown Sneak Pants - Lv 25 +(1040057, "THIEF", 30), # Dark Brown Stealer - Lv 30 +(1060043, "THIEF", 30), # Dark Brown Stealer Pants - Lv 30 +(1040061, "THIEF", 30), # Green Knucklevest - Lv 35 +(1040083, "THIEF", 40), # Marine Shadow - Lv 40 +(1040094, "THIEF", 50), # Red China - Lv 50 +(1060083, "THIEF", 50), # Red China Pants - Lv 50 +(1040099, "THIEF", 60), # Ocher Scorpio - Lv 60 +(1060088, "THIEF", 60), # Ocher Scorpio Pants - Lv 60 +(1040107, "THIEF", 70), # Dark Studded Top - Lv 70 +(1040109, "THIEF", 80), # Red Pirate Top - Lv 80 +(1040116, "THIEF", 90), # Brown Osfa Suit - Lv 90 +(1041116, "THIEF", 90), # Brown Osfa Suit - Lv 90 +(1041003, "THIEF", 20), # Red Qi Pao - Lv 20 +(1061003, "THIEF", 20), # Red Qi Pao Pants - Lv 20 +(1061040, "THIEF", 20), # Red Qi Pao Skirt - Lv 22 +(1041095, "THIEF", 60), # Bloody Mantis - Lv 60 +(1061094, "THIEF", 60), # Bloody Mantis Pants - Lv 60 +(1041101, "THIEF", 70), # Blue Mystique - Lv 70 +(1061100, "THIEF", 70), # Blue Mystique Pants - Lv 70 +(1072162, "THIEF", 70), # Blue Mystique Shoes - Lv 70 +(1041106, "THIEF", 80), # Red Pirate Blouse - Lv 80 + +# Overall +(1050097, "THIEF", 100), # Blue Katinas - Lv 100 +(1051091, "THIEF", 100), # Blue Katte - Lv 100 +(1052072, "THIEF", 110), # Black Garina - Lv 110 +(1052792, "THIEF", 120), # Eclectic Prinsid - Lv 120 +(1052797, "THIEF", 130), # Muspell Thief Suit - Lv 130 +(1052802, "THIEF", 140), # Pensalir Chaser Armor - Lv 140 + +# Pirate + +(1002610, "PIRATE", 10), # Brown Rocky Bandana - Lv 10 +(1002616, "PIRATE", 20), # Brown Double Marine - Lv 20 +(1002622, "PIRATE", 30), # White Oceania Cap - Lv 30 +(1002628, "PIRATE", 40), # Red Misty - Lv 40 +(1002631, "PIRATE", 50), # Brown Leather Ocean Hat - Lv 50 +(1002634, "PIRATE", 60), # Purple Cast Linen - Lv 60 +(1002637, "PIRATE", 70), # Black Pirate's Bandana - Lv 70 +(1002640, "PIRATE", 80), # Blue Sun Boat Hat - Lv 80 +(1002643, "PIRATE", 90), # Red Brave Hamal - Lv 90 +(1002646, "PIRATE", 100), # Black Polax Hat - Lv 100 +(1002649, "PIRATE", 110), # Canopus Hat - Lv 110 +(1004223, "PIRATE", 120), # Eclectic Conrad Henkel - Lv 120 +(1004228, "PIRATE", 130), # Muspell Pirate Hat - Lv 130 +(1004233, "PIRATE", 140), # Pensalir Skipper Hat - Lv 140 + +# Gloves +(1082355, "PIRATE", 20), # Brown Leather Bracers - Lv 20 +(1082195, "PIRATE", 40), # Brown Barbee - Lv 40 +(1082201, "PIRATE", 60), # Black Schult - Lv 60 +(1082207, "PIRATE", 80), # Blue Halfgloves - Lv 80 +(1082213, "PIRATE", 100), # Black Skellduke - Lv 100 +(1082216, "PIRATE", 110), # Canopus Gloves - Lv 110 +(1082602, "PIRATE", 120), # Eclectic Charlston - Lv 120 +(1082607, "PIRATE", 130), # Muspell Pirate Gloves - Lv 130 +(1082612, "PIRATE", 140), # Pensalir Skipper Gloves - Lv 140 + +# Shoes +(1072288, "PIRATE", 20), # Brown Skeedy Sandals - Lv 20 +(1072300, "PIRATE", 40), # Brown Leather Krag - Lv 40 +(1072306, "PIRATE", 60), # Black Basile Boots - Lv 60 +(1072312, "PIRATE", 80), # Blue Pageant - Lv 80 +(1072318, "PIRATE", 100), # Black Duke Barkin Shoes - Lv 100 +(1072321, "PIRATE", 110), # Canopus Boots - Lv 110 +(1072961, "PIRATE", 120), # Eclectic Faraon - Lv 120 +(1072966, "PIRATE", 130), # Muspell Pirate Shoes - Lv 130 +(1072971, "PIRATE", 140), # Pensalir Skipper Boots - Lv 140 + +# Capes +(1102003, "PIRATE", 50), # White Adventurer Cape - Lv 50 +(1102004, "PIRATE", 50), # Black Adventurer Cape - Lv 50 +(1102017, "PIRATE", 60), # White Magic Cape - Lv 60 +(1102018, "PIRATE", 60), # Black Magic Cape - Lv 60 +(1102029, "PIRATE", 70), # White Seraph Cape - Lv 75 +(1102030, "PIRATE", 70), # Black Seraph Cape - Lv 75 +(1102033, "PIRATE", 80), # Red Giles Cape - Lv 85 +(1102034, "PIRATE", 80), # Blue Giles Cape - Lv 85 +(1102722, "PIRATE", 140), # Pensalir Skipper Cape - Lv 140 + +# Overall + +(1052095, "PIRATE", 10), # Brown Rocky Suit - Lv 10 +(1052098, "PIRATE", 10), # Brown Cotton Lagger - Lv 15 +(1052101, "PIRATE", 20), # Beige Carribean - Lv 20 +(1052107, "PIRATE", 30), # Brown Pollard - Lv 30 +(1052113, "PIRATE", 40), # Red Barbay - Lv 40 +(1052116, "PIRATE", 50), # Green Plasteer - Lv 50 +(1050313, "PIRATE", 60), # Black Royal Barone - Lv 60 +(1052122, "PIRATE", 70), # Red Viska - Lv 70 +(1052125, "PIRATE", 80), # White Pioneer - Lv 80 +(1052128, "PIRATE", 90), # White Marquini - Lv 90 +(1052131, "PIRATE", 100), # Red Belly Duke - Lv 100 +(1052134, "PIRATE", 110), # Canopus Suit - Lv 110 +(1052793, "PIRATE", 120), # Eclectic Burgunt - Lv 120 +(1052798, "PIRATE", 130), # Muspell Pirate Suit - Lv 130 +(1052803, "PIRATE", 140); # Pensalir Skipper Coat - Lv 140 diff --git a/sql/6 - beautyalbum.sql b/sql/6 - beautyalbum.sql new file mode 100755 index 0000000..d9f9945 --- /dev/null +++ b/sql/6 - beautyalbum.sql @@ -0,0 +1,9 @@ +create table beautyalbuminventory ( + id bigint not null auto_increment, + styleid int, + slotid int, + charid int, + primary key (id), + foreign key (charid) references characters(id) + +); \ No newline at end of file diff --git a/sql/7 - charactercard.sql b/sql/7 - charactercard.sql new file mode 100755 index 0000000..c691021 --- /dev/null +++ b/sql/7 - charactercard.sql @@ -0,0 +1,8 @@ +CREATE TABLE `charactercard` ( + `id` int NOT NULL AUTO_INCREMENT, + `accountid` int DEFAULT NULL, + `characterid` int DEFAULT NULL, + `position` int DEFAULT NULL, + PRIMARY KEY (`id`), + KEY `accountid` (`accountid`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1 \ No newline at end of file diff --git a/sql/8 - InitTable_npc.sql b/sql/8 - InitTable_npc.sql new file mode 100755 index 0000000..9aec131 --- /dev/null +++ b/sql/8 - InitTable_npc.sql @@ -0,0 +1,14 @@ +drop table if exists npc; + +CREATE TABLE `npc` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `npcid` int(11) DEFAULT NULL, + `mapid` int(11) DEFAULT NULL, + `x` int(11) DEFAULT NULL, + `y` int(11) DEFAULT NULL, + `cy` int(11) DEFAULT NULL, + `rx0` int(11) DEFAULT NULL, + `rx1` int(11) DEFAULT NULL, + `fh` int(11) DEFAULT NULL, + PRIMARY KEY (`id`) + ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1 \ No newline at end of file diff --git a/sql/9 - InitTables_MonsterCollection.sql b/sql/9 - InitTables_MonsterCollection.sql new file mode 100755 index 0000000..9892bd7 --- /dev/null +++ b/sql/9 - InitTables_MonsterCollection.sql @@ -0,0 +1,1266 @@ +drop table if exists monster_collection_session_rewards; +drop table if exists monster_collection_group_rewards; +drop table if exists monster_collection; + +create table monster_collection_session_rewards ( + region int, + session int, + rewardid int, + quantity int, + primary key (region, session) +); + +create table monster_collection_group_rewards ( + region int, + session int, + groupid int, + rewardid int, + quantity int, + primary key (region, session, groupid) +); + +create table monster_collection ( + id int not null auto_increment, + mobid int, + region int, + session int, + position int, + primary key (id) +); + +# (monsterID, region, session, position) +# + +insert into `monster_collection_session_rewards` (`region`, `session`, `rewardid`, `quantity`) values (0, 0, 2028048, 1); +# /** +# * Victoria Island 1 - Reward: 2028048 +# */ +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (0, 0, 0, 2434929, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (100004, 0, 0, 0), # OrangeMushroom +(2600208, 0, 0, 1), # Mushmom +(2600204, 0, 0, 2), # BlueMushroom +(2600205, 0, 0, 3), # CryingBlueMushroom +(9305103, 0, 0, 4); # BlueMushmom +# Reward ID: 2434929 +# +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (0, 0, 1, 2434930, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (2600200, 0, 0, 5), # GreenMushroom +(2600203, 0, 0, 6), # HornyMushroom +(2600206, 0, 0, 7), # ZombieMushroom +(2600207, 0, 0, 8), # AnnoyedZombieMushroom +(9305104, 0, 0, 9); # ZombieMushmom +# Reward ID: 2434930 +# +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (0, 0, 2, 2434930, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (1210101, 0, 0, 10), # RibbonPig +(1210104, 0, 0, 11), # BlueRibbionPig +(1210111, 0, 0, 12), # StrangePig +(2230102, 0, 0, 13), # WildBoar +(0, 0, 0, 14); # Empty +# Reward ID: 2434930 +# +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (0, 0, 3, 2434931, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (4090000, 0, 0, 15), # IronHog +(4230400, 0, 0, 16), # IronBoar +(3210100, 0, 0, 17), # FireBoar +(9300655, 0, 0, 18), # PortlyPig +(9300680, 0, 0, 19); # MrChomps +# Reward ID: 2434931 +# +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (0, 0, 4, 2434929, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (3000001, 0, 0, 20), # Fiary +(3000007, 0, 0, 21), # RoyalFairy +(210100, 0, 0, 22), # Slime +(1210103, 0, 0, 23), # Bubbling +(0, 0, 0, 24); # Empty +# Reward ID: 2434929 +# + +insert into `monster_collection_session_rewards` (`region`, `session`, `rewardid`, `quantity`) values (0, 1, 2433928, 1); +# /** +# * Victoria Island 2 - Reward: 2433928 +# */ +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (0, 1, 0, 2434930, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (2230100, 0, 1, 0), # EvilEye +(3230100, 0, 1, 1), # CurseEye +(4230100, 0, 1, 2), # ColdEye +(2230113, 0, 1, 3), # SurgeonEye +(0, 0, 1, 4); # Empty +# Reward ID: 2434930 +# +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (0, 1, 1, 2434929, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (130100, 0, 1, 5), # Stump +(1110101, 0, 1, 6), # DarkStump +(1130100, 0, 1, 7), # AxeStump +(2130100, 0, 1, 8), # DarkAxeStump +(0, 0, 1, 9); # Empty +# Reward ID: 2434929 +# +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (0, 1, 2, 2434930, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (1140100, 0, 1, 10), # GhostStump +(1140130, 0, 1, 11), # SmirkingGhostStump +(3220000, 0, 1, 12), # Stumpy +(2230110, 0, 1, 13), # WoodenMask +(2230111, 0, 1, 14); # RockyMask +# Reward ID: 2434930 +# +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (0, 1, 3, 2434929, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (3501000, 0, 1, 15), # FireflySlime +(3501001, 0, 1, 16), # FairySlime +(3501009, 0, 1, 17), # MysticWisp +(3501002, 0, 1, 18), # WaterSprite +(3501003, 0, 1, 19); # ForestSprite +# Reward ID: 2434929 +# +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (0, 1, 4, 2434931, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (2600209, 0, 1, 20), # StoneGolem +(2600210, 0, 1, 21), # DarkStoneGolem +(2600212, 0, 1, 22), # IcyMixedGolem +(2600213, 0, 1, 23), # FlamingMixedGolem +(9500150, 0, 1, 24); # IceGolem +# Reward ID: 2434931 +# + +insert into `monster_collection_session_rewards` (`region`, `session`, `rewardid`, `quantity`) values (0, 2, 3017000, 1); +# /** +# * Victoria Island 3 - Reward: 3017000 +# */ +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (0, 2, 0, 2434930, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (3501004, 0, 2, 0), # GrumpyTome +(3501005, 0, 2, 1), # RagingTome +(3501006, 0, 2, 2), # Oniony +(3501007, 0, 2, 3), # Turnipy +(3501008, 0, 2, 4); # MoleKing +# Reward ID: 2434930 +# +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (0, 2, 1, 2434930, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (2300100, 0, 2, 5), # Stirge +(3230101, 0, 2, 6), # JrWraith +(4230102, 0, 2, 7), # Wraith +(5090000, 0, 2, 8), # Shade +(0, 0, 2, 9); # Empty +# Reward ID: 2434930 +# +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (0, 2, 2, 2434930, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (3401000, 0, 2, 10), # PalmTreeSlime +(3401001, 0, 2, 11), # CoconutSlime +(3401002, 0, 2, 12), # EmeraldClamSlime +(3401003, 0, 2, 13), # VioletClamSlime +(0, 0, 2, 14); # Empty +# Reward ID: 2434930 +# +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (0, 2, 3, 2434929, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (3401004, 0, 2, 15), # SeagullSlime +(3401005, 0, 2, 16), # RedTubeSlime +(3401006, 0, 2, 17), # BlueTubeSlime +(3401007, 0, 2, 18), # ShrimpSlime +(3401008, 0, 2, 19); # FlyingFishSlime +# Reward ID: 2434929 +# +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (0, 2, 4, 2434931, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (3401011, 0, 2, 20), # CaptainDarkgoo +(3401009, 0, 2, 21), # StarfishOctopusSlime +(3401010, 0, 2, 22), # SeashellOctopusSlime +(0, 0, 2, 23), # Empty +(0, 0, 2, 24); # Empty +# Reward ID: 2434931 +# + +insert into `monster_collection_session_rewards` (`region`, `session`, `rewardid`, `quantity`) values (0, 3, 2435509, 1); + +# /** +# * Victoria Island 4 - Reward: 2435509 +# */ +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (0, 3, 0, 2434930, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (2130103, 0, 3, 0), # JrNecki +(3110100, 0, 3, 1), # Ligator +(5130103, 0, 3, 2), # Croco +(2230115, 0, 3, 3), # MuddySproutMonster +(6220000, 0, 3, 4); # Dyle +# Reward ID: 2434930 +# +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (0, 3, 1, 2434930, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (4230125, 0, 3, 5), # Skeledog +(5150001, 0, 3, 6), # SkeletonSolider +(6230602, 0, 3, 7), # OfficerSkeleton +(7130103, 0, 3, 8), # CommanderSkeleton +(9300471, 0, 3, 9); # LordSkeleton +# Reward ID: 2434930 +# +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (0, 3, 2, 2434929, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (3300100, 0, 3, 10), # MushroomChandelier +(3300101, 0, 3, 11), # MushroomKnightArmor +(3300102, 0, 3, 12), # ExhaustedViking +(3300103, 0, 3, 13), # TiredViking +(0, 0, 3, 14); # Empty +# Reward ID: 2434929 +# +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (0, 3, 3, 2434931, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (9300710, 0, 3, 15), # PrimeMinister +(3300104, 0, 3, 16), # WarmViking +(3300105, 0, 3, 17), # GenerousViking +(3300106, 0, 3, 18), # SolemnViking +(0, 0, 3, 19); # Empty +# Reward ID: 2434931 +# +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (0, 3, 4, 2434959, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (3300110, 0, 3, 20), # BlackViking +(3300107, 0, 3, 21), # SeriousViking +(3300108, 0, 3, 22), # MasterSquid +(3300109, 0, 3, 23), # VikingSquad +(0, 0, 3, 24); # Empty +# Reward ID: 2434959 +# + +insert into `monster_collection_session_rewards` (`region`, `session`, `rewardid`, `quantity`) values (0, 4, 2350000, 1); +# /** +# * Victoria - 5 Sleepywood 1 - Reward: 2350000 +# */ +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (0, 4, 0, 2434929, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (4130100, 0, 4, 0), # CopperDrake +(5130100, 0, 4, 1), # Drake +(6130100, 0, 4, 2), # RedDrake +(6230600, 0, 4, 3), # IceDrake +(6230601, 0, 4, 4); # DarkDrake +# Reward ID: 2434929 +# +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (0, 4, 1, 2434930, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (6230100, 0, 4, 5), # WildKargo +(7130100, 0, 4, 6), # Tauromacis +(7130101, 0, 4, 7), # Taurospear +(8130100, 0, 4, 8), # JrBalrog +(8830000, 0, 4, 9); # Balrog +# Reward ID: 2434930 +# +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (0, 4, 2, 2434930, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (7120110, 0, 4, 10), # BlazingImp +(7120111, 0, 4, 11), # PointyImp +(7120112, 0, 4, 12), # EliteBlazingImp +(7120113, 0, 4, 13), # ElitePointyImp +(0, 0, 4, 14); # Empty +# Reward ID: 2434930 +# +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (0, 4, 3, 2434931, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (8900100, 0, 4, 15), # Pierre +(8910100, 0, 4, 16), # VonBon +(8920100, 0, 4, 17), # CrimsonQueen +(8930100, 0, 4, 18), # Vellum +(0, 0, 4, 19); # Empty +# Reward ID: 2434931 +# +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (0, 4, 4, 2434932, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (8900000, 0, 4, 20), # ChaosPierre +(8910000, 0, 4, 21), # ChaosVonBon +(8920000, 0, 4, 22), # ChaosCrimsonQueen +(8930000, 0, 4, 23), # ChaosVellum +(0, 0, 4, 24); # Empty +# Reward ID: 2434932 +# + +insert into `monster_collection_session_rewards` (`region`, `session`, `rewardid`, `quantity`) values (1, 0, 3017001, 1); + +# /** +# * Near Victoria 1 - Reward: 3017001 +# */ +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (1, 0, 0, 2434929, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (100120, 1, 0, 0), # Tino +(100121, 1, 0, 1), # Tiv +(100122, 1, 0, 2), # Timu +(100123, 1, 0, 3), # Tiru +(100124, 1, 0, 4); # Tiguru +# Reward ID: 2434929 +# +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (1, 0, 1, 2434929, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (100130, 1, 0, 5), # Muru +(100131, 1, 0, 6), # Murupa +(100132, 1, 0, 7), # Murupia +(100133, 1, 0, 8), # Murumuru +(100134, 1, 0, 9); # Murukun +# Reward ID: 2434929 +# +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (1, 0, 2, 2434929, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (2220000, 1, 0, 10), # Mano +(100100, 1, 0, 11), # Snail +(100101, 1, 0, 12), # BlueSnail +(100002, 1, 0, 13), # RedSnail +(120100, 1, 0, 14); # Shroom +# Reward ID: 2434929 +# +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (1, 0, 3, 2434929, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (3502000, 1, 0, 15), # AmmoniteGrumpil +(3502001, 1, 0, 16), # FishGrumpil +(3502002, 1, 0, 17), # CorrupterBarrels +(3502003, 1, 0, 18), # PolluterBarrel +(0, 1, 0, 19); # Empty +# Reward ID: 2434929 +# +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (1, 0, 4, 2434931, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (3502004, 1, 0, 20), # PossiblyEvilSeal +(3502005, 1, 0, 21), # PossiblyEvilWalrus +(3502006, 1, 0, 22), # WarmerBot +(3502007, 1, 0, 23), # ShaverBot +(0, 1, 0, 24); # Empty +# Reward ID: 2434931 +# + +insert into `monster_collection_session_rewards` (`region`, `session`, `rewardid`, `quantity`) values (2, 0, 3017002, 0); + +# /** +# * Edelstein - Reward: 3017002 +# */ +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (2, 0, 0, 2434929, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (150000, 2, 0, 0), # PottedSprout +(150001, 2, 0, 1), # PottedMorningGlory +(150002, 2, 0, 2), # GrapeJuiceBottle +(1150000, 2, 0, 3), # PatrolRobot +(1150001, 2, 0, 4); # StrangeSign +# Reward ID: 2434929 +# +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (2, 0, 1, 2434929, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (1150002, 2, 0, 5), # Serpent +(2150000, 2, 0, 6), # WaterThiefMonster +(2150001, 2, 0, 7), # DustBox +(2150002, 3, 0, 8), # Streetlight +(2150003, 2, 0, 9); # PatrolRobotS +# Reward ID: 2434929 +# +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (2, 0, 2, 2434930, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (2600409, 2, 0, 10), # SafetyFirst +(2600410, 2, 0, 11), # BabyBoulderMucher +(2600411, 2, 0, 12), # BigBoulderMucher +(6150000, 2, 0, 13), # GuardRobot +(7150004, 2, 0, 14); # GuardRobotL +# Reward ID: 2434930 +# +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (2, 0, 3, 2434930, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (2600414, 2, 0, 15), # BigSpider +(2600415, 2, 0, 16), # CartBear +(2600413, 2, 0, 17), # Racoco +(2600416, 2, 0, 18), # Racaroni +(2600417, 2, 0, 19); # Raco +# Reward ID: 2434930 +# +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (2, 0, 4, 2434931, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (2600421, 2, 0, 20), # SecuritySystem +(2600422, 2, 0, 21), # EnhancedSecuritySystem +(2600423, 2, 0, 22), # AFAndroid +(2600424, 2, 0, 23), # BrokenDFAndroid +(2600418, 2, 0, 24); # OreMuncher +# Reward ID: 2434931 +# + + + +insert into `monster_collection_session_rewards` (`region`, `session`, `rewardid`, `quantity`) values (2, 1, 2435779, 1); + +# /** +# * Scrapyard - Reward: 2435779 +# */ +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (2, 1, 0, 2434929, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (8250000, 2, 1, 0), # ModdedScaredroid +(8250001, 2, 1, 1), # ModdedBrokenAndroid +(8250002, 2, 1, 2), # ModdedLaseroid +(8250003, 2, 1, 3), # ChaseroidRed +(8250004, 2, 1, 4); # ChaseroidBlue +# Reward ID: 2434929 +# +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (2, 1, 1, 2434930, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (8250005, 2, 1, 5), # HunterizerRed +(8250006, 2, 1, 6), # HunterizerBlue +(8250008, 2, 1, 7), # ModdedBuffroid +(8250009, 2, 1, 8), # SalvoroidRed +(8250028, 2, 1, 9); # SalvoroidBlue +# Reward ID: 2434930 +# +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (2, 1, 2, 2434930, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (8250007, 2, 1, 10), # ModdedDeliverbot +(8250010, 2, 1, 11), # OuterGuardEX +(8250011, 2, 1, 12), # InnerGuardEX +(8250012, 2, 1, 13), # Demolishizer +(8250013, 2, 1, 14); # Repairoid +# Reward ID: 2434930 +# +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (2, 1, 3, 2434931, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (8250016, 2, 1, 15), # SteelXendroidDX +(8250018, 2, 1, 16), # ScrapXendroidDX +(8250022, 2, 1, 17), # SteelXenoroidEX +(8250023, 2, 1, 18), # SteelXendroidEX +(8250024, 2, 1, 19); # ScrapXendroidEX +# Reward ID: 2434931 +# +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (2, 1, 4, 2434932, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (8950001, 2, 1, 20), # Lotus +(8250014, 2, 1, 21), # AlloyXendroidDX +(8250021, 2, 1, 22), # AlloyXendroidEX +(8250026, 2, 1, 23), # ModdedMegaroid +(0, 2, 1, 24); # Empty +# Reward ID: 2434932 +# + +insert into `monster_collection_session_rewards` (`region`, `session`, `rewardid`, `quantity`) values (3, 0, 2434993, 1); +# /** +# * Orbis - Reward: 2434993 +# */ +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (3, 0, 0, 2434929, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (5200000, 3, 0, 0), # JrSentinel +(3000000, 3, 0, 1), # Sentinel +(5200001, 3, 0, 2), # IceSentinel +(5200002, 3, 0, 3), # FireSentinel +(6400006, 3, 0, 4); # CrimsonBalrog +# Reward ID: 2434929 +# +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (3, 0, 1, 2434930, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (3210200, 3, 0, 5), # JrCellion +(3210201, 3, 0, 6), # JrLioner +(3210202, 3, 0, 7), # JrGrupin +(6230401, 3, 0, 8), # JrLucida +(0, 3, 0, 9); # Empty +# Reward ID: 2434930 +# +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (3, 0, 2, 2434930, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (5120001, 3, 0, 10), # Cellion +(5120002, 3, 0, 11), # Lioner +(5120003, 3, 0, 12), # Grupin +(7130000, 3, 0, 13), # Lucida +(8220000, 3, 0, 14); # Eliza +# Reward ID: 2434930 +# +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (3, 0, 3, 2434931, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (4230106, 3, 0, 15), # LunarPixie +(5120000, 3, 0, 16), # LusterPixie +(3230200, 3, 0, 17), # StarPixie +(9300038, 3, 0, 18), # GhostPixie +(9300039, 3, 0, 19); # PapaPixie +# Reward ID: 2434931 +# +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (3, 0, 4, 2434932, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (4130102, 3, 0, 20), # DarkNependeath +(4230105, 3, 0, 21), # Nependeath +(5160003, 3, 0, 22), # GoldenScorpie +(6160002, 3, 0, 23), # GoldenMammoth +(6160003, 3, 0, 24); # Xerxes +# Reward ID: 2434932 +# + +insert into `monster_collection_session_rewards` (`region`, `session`, `rewardid`, `quantity`) values (3, 1, 2433943, 500); + + +# /** +# * El Nath 1 - Reward: 2433943 (x500) +# */ +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (3, 1, 0, 2434929, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (5300000, 3, 1, 0), # Leatty +(5300001, 3, 1, 1), # DarkLeatty +(5400000, 3, 1, 2), # JrPepe +(9200018, 3, 1, 3), # JrYeti +(9800010, 3, 1, 4); # DarkJrYeti +# Reward ID: 2434929 +# +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (3, 1, 1, 2434958, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (6230200, 3, 1, 5), # DarkPepe +(5130104, 3, 1, 6), # Hector +(5140000, 3, 1, 7), # WhiteFang +(6090001, 3, 1, 8), # SnowWitch +(0, 3, 1, 9); # Empty +# Reward ID: 2434958 +# +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (3, 1, 2, 2434930, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (6300000, 3, 1, 10), # Yeti +(6400000, 3, 1, 11), # DarkYeti +(6130102, 3, 1, 12), # SeperatedPepe +(7130102, 3, 1, 13), # YetiAndPepe +(8140100, 3, 1, 14); # DarkYetiAndPepe +# Reward ID: 2434930 +# +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (3, 1, 3, 2434931, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (8220001, 3, 1, 15), # Snowman +(7130200, 3, 1, 16), # Werewolf +(8140000, 3, 1, 17), # Lycanthrope +(6090000, 3, 1, 18), # Riche +(0, 3, 1, 19); # Empty +# Reward ID: 2434931 +# +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (3, 1, 4, 2434932, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (9300276, 3, 1, 20), # HoblinHector +(9300277, 3, 1, 21), # EliteHoblin +(9300279, 3, 1, 22), # CombatHoblin +(9300280, 3, 1, 23), # FerociousHoblin +(9300281, 3, 1, 24); # Rex +# Reward ID: 2434932 +# +insert into `monster_collection_session_rewards` (`region`, `session`, `rewardid`, `quantity`) values (3, 2, 3017003, 1); + +# /** +# * El Nath 2 - Reward: 3017003 +# */ +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (3, 2, 0, 2434929, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (8210000, 3, 2, 0), # CrockyTheGatekeeper +(8210001, 3, 2, 1), # Reindeer +(8210002, 3, 2, 2), # BloodReindeer +(8210003, 3, 2, 3), # Bearwolf +(8210004, 3, 2, 4); # GreyVulture +# Reward ID: 2434929 +# +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (3, 2, 1, 2434930, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (8211003, 3, 2, 5), # GoldenBee +(8211000, 3, 2, 6), # FrozenRose +(8211002, 3, 2, 7), # GardenGolem +(8210005, 3, 2, 8), # CastleGolem +(8211004, 3, 2, 9); # KingCastleGolem +# Reward ID: 2434930 +# +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (3, 2, 2, 2434931, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (8210006, 3, 2, 10), # PrisonGuardBoar +(8210007, 3, 2, 11), # PrisonGuardRhino +(8210013, 3, 2, 12), # PrisonGuardAni +(8211001, 3, 2, 13), # KeymasterRousseau +(8840000, 3, 2, 14); # VonLeon +# Reward ID: 2434931 +# +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (3, 2, 3, 2434930, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (4230107, 3, 2, 15), # Flyeye +(5130107, 3, 2, 16), # CoolieZombie +(5130108, 3, 2, 17), # MinerZombie +(7130001, 3, 2, 18), # Cerebes +(8140500, 3, 2, 19); # Bain +# Reward ID: 2434930 +# +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (3, 2, 4, 2434931, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (8800013, 3, 2, 20), # Punco +(6400004, 3, 2, 21), # Opachu +(8800114, 3, 2, 22), # ChaosKusko +(8800002, 3, 2, 23), # Zakum +(8800102, 3, 2, 24); # ChaosZakum +# Reward ID: 2434931 +# + +insert into `monster_collection_session_rewards` (`region`, `session`, `rewardid`, `quantity`) values (4, 0, 3017004, 1); + + +# /** +# * Ludas Lake (no Near Ludas Lake) - Reward: 3017004 +# */ +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (4, 0, 0, 2434929, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (3230400, 4, 0, 0), # DrummingBunny +(3000005, 4, 0, 1), # BrownTeddy +(3110101, 4, 0, 2), # PinkTeddy +(3210203, 4, 0, 3), # PandaTeddy +(3210204, 4, 0, 4); # Roloduck +# Reward ID: 2434929 +# +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (4, 0, 1, 2434930, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (3210206, 4, 0, 5), # Helly +(3230303, 4, 0, 6), # Propelly +(3230304, 4, 0, 7), # Planey +(3230307, 4, 0, 8), # Chirppy +(3230308, 4, 0, 9); # Tweeter +# Reward ID: 2434930 +# +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (4, 0, 2, 2434930, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (3230302, 4, 0, 10), # Bloctopus +(3230103, 4, 0, 11), # KingBloctopus +(4130103, 4, 0, 12), # Rombot +(4230109, 4, 0, 13), # BlockGolem +(4230110, 4, 0, 14); # KingBlockGolem +# Reward ID: 2434930 +# +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (4, 0, 3, 2434930, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (2600604, 4, 0, 15), # ToyTrojan +(2600605, 4, 0, 16), # Robo +(2600606, 4, 0, 17), # MasterRobo +(2600613, 4, 0, 18), # Timer +(0, 4, 0, 19); # Empty +# Reward ID: 2434930 +# +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (4, 0, 4, 2434931, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (3110102, 4, 0, 20), # Ratz +(3210205, 4, 0, 21), # BlackRatz +(2230103, 4, 0, 22), # Trixter +(9300014, 4, 0, 23), # DarkEyeFromDimension +(9300012, 4, 0, 24); # Alishar +# Reward ID: 2434931 +# +insert into `monster_collection_session_rewards` (`region`, `session`, `rewardid`, `quantity`) values (4, 1, 2450042, 3); + + +# /** +# * Ludas Lake 2 - Reward: 2450042 (x3) +# */ +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (4, 1, 0, 2434929, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (2600608, 4, 1, 0), # Tick +(2600609, 4, 1, 1), # TickTock +(2600610, 4, 1, 2), # Chronos +(2600611, 4, 1, 3), # PlatoonChronos +(2600612, 4, 1, 4); # MasterChronos +# Reward ID: 2434929 +# +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (4, 1, 1, 2434929, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (2600620, 4, 1, 5), # Buffy +(2600621, 4, 1, 6), # LazyBuffy +(2600618, 4, 1, 7), # Buffoon +(2600619, 4, 1, 8), # DeepBuffoon +(0, 4, 1, 9); # Empty +# Reward ID: 2434929 +# +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (4, 1, 2, 2434930, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (2600616, 4, 1, 10), # SoulTeddy +(2600617, 4, 1, 11), # MasterSoulTeddy +(2600614, 4, 1, 12), # DeathTeddy +(2600615, 4, 1, 13), # MasterDeathTeddy +(0, 4, 1, 14); # Empty +# Reward ID: 2434930 +# +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (4, 1, 3, 2434931, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (2600623, 4, 1, 15), # GhostPirate +(2600624, 4, 1, 16), # DualGhostPirate +(2600627, 4, 1, 17), # SpiritViking +(2600628, 4, 1, 18), # GiganticSpiritViking +(0, 4, 1, 19); # Empty +# Reward ID: 2434931 +# +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (4, 1, 4, 2434931, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (2600629, 4, 1, 20), # PhantomWatch +(2600630, 4, 1, 21), # GrimPhantomWatch +(8160000, 4, 1, 22), # Gatekepper +(8170000, 4, 1, 23), # Thantos +(2600631, 4, 1, 24); # Paplatus +# Reward ID: 2434931 +# +insert into `monster_collection_session_rewards` (`region`, `session`, `rewardid`, `quantity`) values (4, 2, 2432158, 3); + +# /** +# * Ellin Forest - Reward: 2432158 (x3) +# */ +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (4, 2, 0, 2434929, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (4250000, 4, 2, 0), # MossySnail +(4250001, 4, 2, 1), # TreeRod +(5250000, 4, 2, 2), # MossyMushroom +(5250001, 4, 2, 3), # StoneBug +(0, 4, 2, 4); # Empty +# Reward ID: 2434929 +# +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (4, 2, 1, 2434930, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (5250002, 4, 2, 5), # PrimitiveBoar +(5250003, 4, 2, 6), # ViolentPrimitiveBoar +(5250004, 4, 2, 7), # ChaosCrimsonQueen +(0, 4, 2, 8), # Empty +(0, 4, 2, 9); # Empty +# Reward ID: 2434930 +# +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (4, 2, 2, 2434930, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (8230003, 4, 2, 10), # EvilPoacher +(8230004, 4, 2, 11), # PoachersHawk +(8230005, 4, 2, 12), # HiddenGraveRobber +(8230006, 4, 2, 13), # GraveRobbersHuntingDog +(0, 4, 2, 14); # Empty +# Reward ID: 2434930 +# +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (4, 2, 3, 2434931, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (9300172, 4, 2, 15), # PoisonedLordTree +(9300173, 4, 2, 16), # PoisonedStoneBug +(9300174, 4, 2, 17), # PoisonFlower +(9300175, 4, 2, 18), # PoisonedSpright +(9300176, 4, 2, 19); # PoisonGolem +# Reward ID: 2434931 +# +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (4, 2, 4, 2434932, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (8230007, 4, 2, 20), # NeonBat +(8230009, 4, 2, 21), # PeaceSpirit +(5250005, 4, 2, 22), # AncientFairy +(5250006, 4, 2, 23), # ShiningFairy +(5250007, 4, 2, 24); # Ephenia +# Reward ID: 2434932 +# +insert into `monster_collection_session_rewards` (`region`, `session`, `rewardid`, `quantity`) values (5, 0, 3017005, 1); + +# * Aqua Road - Reward: 3017005 +# */ +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (5, 0, 0, 2434929, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (2230105, 5, 0, 0), # Seacle +(2230106, 5, 0, 1), # Cico +(3210450, 5, 0, 2), # ScubaPepe +(3230405, 5, 0, 3), # JrSeal +(2230108, 5, 0, 4); # Pinboom +# Reward ID: 2434929 +# +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (5, 0, 1, 2434930, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (2230109, 5, 0, 5), # BubbleFish +(2230200, 5, 0, 6), # FlowerFish +(3230104, 5, 0, 7), # MaskFish +(4230200, 5, 0, 8), # Poopa +(4230201, 5, 0, 9); # PoisonPoopa +# Reward ID: 2434930 +# +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (5, 0, 2, 2434930, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (2230107, 5, 0, 10), # Krappy +(3000006, 5, 0, 11), # Krip +(4220000, 5, 0, 12), # Seruf +(4230123, 5, 0, 13), # Sparker +(4230124, 5, 0, 14); # Freezer +# Reward ID: 2434930 +# +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (5, 0, 3, 2434931, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (8140555, 5, 0, 15), # BombingFishHouse +(7130020, 5, 0, 16), # Goby +(8140600, 5, 0, 17), # BoneFish +(8141300, 5, 0, 18), # Squid +(8142100, 5, 0, 19); # RisellSquid +# Reward ID: 2434931 +# +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (5, 0, 4, 2434932, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (8150100, 5, 0, 20), # Shark +(8150101, 5, 0, 21), # ColdShark +(8510000, 5, 0, 22), # Pianus +(8510100, 5, 0, 23), # BloodyBoom +(0, 5, 0, 24); # Empty +# Reward ID: 2434932 +# + +insert into `monster_collection_session_rewards` (`region`, `session`, `rewardid`, `quantity`) values (6, 0, 3017006, 1); +# /** +# /** +# * Nihal Desert - Reward: 3017006 +# */ +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (6, 0, 0, 2434929, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (2100103, 6, 0, 0), # Cactus +(2100104, 6, 0, 1), # RoyalCactus +(2600105, 6, 0, 2), # Deo +(2600100, 6, 0, 3), # WhiteDesertRabbit +(2600101, 6, 0, 4); # BrownDesertRabbit +# Reward ID: 2434929 +# +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (6, 0, 1, 2434930, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (2600106, 6, 0, 5), # Bellamoa +(2600107, 6, 0, 6), # EarPlugPlead +(2600108, 6, 0, 7), # ScarfPlead +(2600109, 6, 0, 8), # Meerkat +(2600114, 6, 0, 9); # Kiyo +# Reward ID: 2434930 +# +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (6, 0, 2, 2434930, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (2600110, 6, 0, 10), # SandRat +(2600112, 6, 0, 11), # Scorpion +(2600113, 6, 0, 12), # SandDwarf +(2600115, 6, 0, 13), # DarkSandDwarf +(2600117, 6, 0, 14); # DesertGiant +# Reward ID: 2434930 +# +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (6, 0, 3, 2434931, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (2600122, 6, 0, 15), # Horus +(2600123, 6, 0, 16), # AdvisorMummy +(9305408, 6, 0, 17), # PharaohYeti +(9305413, 6, 0, 18), # PharaohSnake +(9305422, 6, 0, 19); # PharaohMummy +# Reward ID: 2434931 +# +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (6, 0, 4, 2434932, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (2500500, 6, 0, 20), # DeadlyAlter +(2500100, 6, 0, 21), # SpearmanSkeleknight +(2500200, 6, 0, 22), # Bloodfang +(8870100, 6, 0, 23), # SilverHairedHilla +(9300627, 6, 0, 24); # GiantDarkheart +# Reward ID: 2434932 +# +insert into `monster_collection_session_rewards` (`region`, `session`, `rewardid`, `quantity`) values (6, 1, 2028048, 1); + +# /** +# * Magatia - Reward: 2028048 +# */ +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (6, 1, 0, 2434929, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (2600500, 6, 1, 0), # CubeSlime +(2600502, 6, 1, 1), # Rumo +(2600503, 6, 1, 2), # TripleRumo +(2600504, 6, 1, 3), # Rurumo +(0, 6, 1, 4); # Empty +# Reward ID: 2434929 +# +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (6, 1, 1, 2434929, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (2600505, 6, 1, 5), # IronMutae +(2600506, 6, 1, 6), # ReinforcedIronMutae +(2600507, 6, 1, 7), # MithrilMutae +(2600508, 6, 1, 8), # ReinforcedMithrilMutae +(0, 6, 1, 9); # Empty +# Reward ID: 2434929 +# +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (6, 1, 2, 2434930, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (2600510, 6, 1, 10), # Homuns +(2600511, 6, 1, 11), # Homunculus +(2600512, 6, 1, 12), # Homunscullo +(0, 6, 1, 13), # Empty +(0, 6, 1, 14); # Empty +# Reward ID: 2434930 +# +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (6, 1, 3, 2434930, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (2600515, 6, 1, 15), # Roid +(2600516, 6, 1, 16), # NeoHuroid +(2600509, 6, 1, 17), # SecurityCamera +(2600518, 6, 1, 18), # DeetandRoi +(2600517, 6, 1, 19); # DRoy +# Reward ID: 2434930 +# +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (6, 1, 4, 2434932, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (2600514, 6, 1, 20), # Chimera +(2600513, 6, 1, 21), # Saitie +(9300141, 6, 1, 22), # HomunofClosedLaboratory +(9300139, 6, 1, 23), # Frankenroid +(9300140, 6, 1, 24); # Angry +# Reward ID: 2434932 +# + +insert into `monster_collection_session_rewards` (`region`, `session`, `rewardid`, `quantity`) values (7, 0, 3017007, 1); + +# /** +# * Mu Lung Garden 1 - Reward: 3017007 +# */ +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (7, 0, 0, 2434929, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (2600306, 7, 0, 0), # Chipmunk +(2600307, 7, 0, 1), # RedPorky +(2600308, 7, 0, 2), # BlackPorky +(0, 7, 0, 3), # Empty +(0, 7, 0, 4); # Empty +# Reward ID: 2434929 +# +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (7, 0, 1, 2434930, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (2600313, 7, 0, 5), # Reindeer +(2600314, 7, 0, 6), # PeachMonkey +(2600302, 7, 0, 7), # TheBookGhost +(2600303, 7, 0, 8), # SageCat +(2600305, 7, 0, 9); # KingSageCat +# Reward ID: 2434930 +# +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (7, 0, 2, 2434930, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (2600309, 7, 0, 10), # BlueFlowerSerpent +(2600310, 7, 0, 11), # RedFlowerSerpent +(2600311, 7, 0, 12), # GiantCentipede +(0, 7, 0, 13), # Empty +(0, 7, 0, 14); # Empty +# Reward ID: 2434930 +# +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (7, 0, 3, 2434930, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (2600317, 7, 0, 15), # Jar +(2600318, 7, 0, 16), # GinsengJar +(2600319, 7, 0, 17), # BellflowerRoot +(2600320, 7, 0, 18), # SrBellflowerRoot +(2600321, 7, 0, 19); # GiganticBellflowerRoot +# Reward ID: 2434930 +# +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (7, 0, 4, 2434932, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (2600312, 7, 0, 20), # Grizzly +(2600315, 7, 0, 21), # Panda +(2600316, 7, 0, 22), # TaeRoon +(9300215, 7, 0, 23), # MuGong +(0, 7, 0, 24); # Empty +# Reward ID: 2434932 +# + + +insert into `monster_collection_session_rewards` (`region`, `session`, `rewardid`, `quantity`) values (7, 1, 2050004, 100); + +# /** +# * Mu Lung Garden 2 - Reward: 2050004 (x100) +# */ +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (7, 1, 0, 2434929, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (8144000, 7, 1, 0), # WildMonkey +(8144001, 7, 1, 1), # MamaMonkey +(8144002, 7, 1, 2), # TeenyWhiteMonkey +(8144003, 7, 1, 3), # MeanMamaMonkey +(0, 7, 1, 4); # Empty +# Reward ID: 2434929 +# +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (7, 1, 1, 2434929, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (8144004, 7, 1, 5), # BlueGoblin +(8144005, 7, 1, 6), # RedGoblin +(8144006, 7, 1, 7), # StoneGoblin +(0, 7, 1, 8), # Empty +(0, 7, 1, 9); # Empty +# Reward ID: 2434929 +# +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (7, 1, 2, 2434930, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (8800200, 7, 1, 10), # Ravana +(8144007, 7, 1, 11), # StrongStoneGoblin +(8144008, 7, 1, 12), # Ganapati +(0, 7, 1, 13), # Empty +(0, 7, 1, 14); # Empty +# Reward ID: 2434930 +# +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (7, 1, 3, 2434930, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (2600300, 7, 1, 15), # StrawTargetDummy +(2600301, 7, 1, 16), # WoodenTargetDummy +(2600304, 7, 1, 17), # MasterDummy +(6090002, 7, 1, 18), # BambooWarrior +(0, 7, 1, 19); # Empty +# Reward ID: 2434930 +# +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (7, 1, 4, 2434931, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (2600326, 7, 1, 20), # LordPirate +(2600322, 7, 1, 21), # MrAlli +(2600323, 7, 1, 22), # Kru +(2600324, 7, 1, 23), # Captain +(0, 7, 1, 24); # Empty +# Reward ID: 2434931 +# + +insert into `monster_collection_session_rewards` (`region`, `session`, `rewardid`, `quantity`) values (8, 0, 2436272, 1); + +# /** +# * Minar Forest - Reward: 2436272 +# */ +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (8, 0, 0, 2434929, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (2600000, 8, 0, 0), # Beetle +(2600001, 8, 0, 1), # DualBeetle +(2600003, 8, 0, 2), # Rash +(2600004, 8, 0, 3), # DarkRash +(0, 8, 0, 4); # Empty +# Reward ID: 2434929 +# +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (8, 0, 1, 2434930, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (2600002, 8, 0, 5), # Hankie +(2600005, 8, 0, 6), # Hobi +(2600006, 8, 0, 7), # GreenHobi +(9300479, 8, 0, 8), # MasterHoblin +(0, 8, 0, 9); # Empty +# Reward ID: 2434930 +# +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (8, 0, 2, 2434930, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (2600008, 8, 0, 10), # Harp +(2600009, 8, 0, 11), # BloodHarp +(9300480, 8, 0, 12), # MasterHarp +(2600007, 8, 0, 13), # Griffey +(0, 8, 0, 14); # Empty +# Reward ID: 2434930 +# +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (8, 0, 3, 2434930, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (2600010, 8, 0, 15), # BlackKentaurus +(2600011, 8, 0, 16), # RedKentaurus +(2600012, 8, 0, 17), # BlueKentaurus +(2600015, 8, 0, 18), # KentaurusKing +(0, 8, 0, 19); # Empty +# Reward ID: 2434930 +# +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (8, 0, 4, 2434930, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (2600013, 8, 0, 20), # Birk +(2600014, 8, 0, 21), # DualBirk +(9300481, 8, 0, 22), # MasterBirk +(2600022, 8, 0, 23), # Manon +(0, 8, 0, 24); # Empty +# Reward ID: 2434930 +# + +insert into `monster_collection_session_rewards` (`region`, `session`, `rewardid`, `quantity`) values (8, 1, 3017008, 1); + +# /** +# * Dragon Forest - Reward: 3017008 +# */ +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (8, 1, 0, 2434929, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (2600016, 8, 1, 0), # BlueDragonTurtle +(2600017, 8, 1, 1), # RedDragonTurtle +(2600018, 8, 1, 2), # Rexton +(2600019, 8, 1, 3), # Brexton +(0, 8, 1, 4); # Empty +# Reward ID: 2434929 +# +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (8, 1, 1, 2434930, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (2600020, 8, 1, 5), # JrNewtie +(2600021, 8, 1, 6), # NestGolem +(2600026, 8, 1, 7), # GreenCornian +(2600027, 8, 1, 8), # DarkCornian +(0, 8, 1, 9); # Empty +# Reward ID: 2434930 +# +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (8, 1, 2, 2434931, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (2600023, 8, 1, 10), # RedWyvern +(2600024, 8, 1, 11), # BlueWyvern +(2600025, 8, 1, 12), # DarkWyvern +(2600030, 8, 1, 13), # Leviathan +(0, 8, 1, 14); # Empty +# Reward ID: 2434931 +# +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (8, 1, 3, 2434931, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (8300000, 8, 1, 15), # SoaringHawk +(8300001, 8, 1, 16), # SoaringEagle +(8300005, 8, 1, 17), # SoaringGriffey +(8300006, 8, 1, 18), # Dragonoir +(8300007, 8, 1, 19); # Dragon +# Reward ID: 2434931 +# +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (8, 1, 4, 2434932, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (8810018, 8, 1, 20), # Horntail +(8810118, 8, 1, 21), # ChaosHorntail +(2600028, 8, 1, 22), # Skelegon +(2600029, 8, 1, 23), # Skelosaurus +(0, 8, 1, 24); # Empty +# Reward ID: 2434932 +# +insert into `monster_collection_session_rewards` (`region`, `session`, `rewardid`, `quantity`) values (8, 2, 2450042, 3); + +# /** +# * Kritias - Reward: 2450042 (x3) +# */ +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (8, 2, 0, 2434929, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (8630000, 8, 2, 0), # FrozenSolitude +(8630005, 8, 2, 1), # BurningSolitude +(8630010, 8, 2, 2), # PermeatingSolitude +(0, 8, 2, 3), # Empty +(0, 8, 2, 4); # Empty +# Reward ID: 2434929 +# +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (8, 2, 1, 2434929, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (8630021, 8, 2, 5), # FrozenTerror +(8630026, 8, 2, 6), # BurningTerror +(8630031, 8, 2, 7), # PermeatingTerror +(0, 8, 2, 8), # Empty +(0, 8, 2, 9); # Empty +# Reward ID: 2434929 +# +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (8, 2, 2, 2434930, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (8630022, 8, 2, 10), # FrozenRage +(8630027, 8, 2, 11), # BurningRage +(8630032, 8, 2, 12), # PermeatingRage +(0, 8, 2, 13), # Empty +(0, 8, 2, 14); # Empty +# Reward ID: 2434930 +# +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (8, 2, 3, 2434930, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (8630023, 8, 2, 15), # FrozenAnxiety +(8630028, 8, 2, 16), # BurningAnxiety +(8630033, 8, 2, 17), # PermeatingAnxiety +(8630035, 8, 2, 18), # CorruptedBasicMagician +(0, 8, 2, 19); # Empty +# Reward ID: 2434930 +# +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (8, 2, 4, 2434930, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (8630024, 8, 2, 20), # FrozenVanity +(8630029, 8, 2, 21), # BurningVainity +(8630034, 8, 2, 22), # PermeatingVainity +(8630036, 8, 2, 23), # CorruptedIntermediateMagician +(8630037, 8, 2, 24); # CorruptedAdvancedMagician +# Reward ID: 2434930 +# + +insert into `monster_collection_session_rewards` (`region`, `session`, `rewardid`, `quantity`) values (9, 0, 2432300, 1); + +# /** +# * Gate of the Past (Temple of Time) - Reward: 2432300 +# */ +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (9, 0, 0, 2434929, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (2600701, 9, 0, 0), # MemoryMonk +(2600702, 9, 0, 1), # MemoryMonkTrainee +(2600703, 9, 0, 2), # MemoryGuardian +(2600704, 9, 0, 3), # ChiefMemoryGuardian +(2600700, 9, 0, 4); # EyeofTime +# Reward ID: 2434929 +# +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (9, 0, 1, 2434930, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (2600706, 9, 0, 5), # QualmMonk +(2600707, 9, 0, 6), # QualmMonkTrainee +(2600708, 9, 0, 7), # QualmGuardian +(2600709, 9, 0, 8), # ChiefQualmGuardian +(2600705, 9, 0, 9); # Dodo +# Reward ID: 2434930 +# +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (9, 0, 2, 2434930, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (2600711, 9, 0, 10), # OblivionMonk +(2600712, 9, 0, 11), # OblivionMonkTrainee +(2600713, 9, 0, 12), # OblivionGuard +(2600714, 9, 0, 13), # ChiefOblivionGuardian +(2600710, 9, 0, 14); # Lilynouch +# Reward ID: 2434930 +# +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (9, 0, 3, 2434931, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (8860000, 9, 0, 15), # Arkarium +(8220020, 9, 0, 16), # CorruptedChiefMemoryGuardian +(8220021, 9, 0, 17), # CorruptedTimeMonkTrainee +(8860002, 9, 0, 18), # NetherworldMonk +(0, 9, 0, 19); # Empty +# Reward ID: 2434931 +# +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (9, 0, 4, 2434929, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (8820000, 9, 0, 20), # PinkBean +(8820100, 9, 0, 21), # ChaosPinkBean +(2600715, 9, 0, 22), # Lyka +(8820003, 9, 0, 23), # SolomontheWise +(8820006, 9, 0, 24); # Munin +# Reward ID: 2434932 +# + +insert into `monster_collection_session_rewards` (`region`, `session`, `rewardid`, `quantity`) values (9, 1, 2432158, 1); + +# /** +# * Temple of Time: Gate to the Future - Reward: 2432158 +# */ +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (9, 1, 0, 2434929, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (8600000, 9, 1, 0), # MutantSnail +(8600001, 9, 1, 1), # MutantOrangeMushroom +(8600002, 9, 1, 2), # MutantSlime +(8600003, 9, 1, 3), # MutantRibbonPig +(0, 9, 1, 4); # Empty +# Reward ID: 2434929 +# +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (9, 1, 1, 2434929, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (8620000, 9, 1, 5), # SwollenStump +(8620001, 9, 1, 6), # SwollenDarkStump +(8620002, 9, 1, 7), # SwollenAxeStump +(8620012, 9, 1, 8), # GhostwoodStumpy +(0, 9, 1, 9); # Empty +# Reward ID: 2434929 +# +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (9, 1, 2, 2434930, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (8620003, 9, 1, 10), # PillagingWildBoar +(8620004, 9, 1, 11), # PillagingIronBoar +(8620005, 9, 1, 12), # PillagingFireBoars +(8620006, 9, 1, 13), # SinisterWoodenMask +(8620007, 9, 1, 14); # SinisterRockyMask +# Reward ID: 2434930 +# +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (9, 1, 3, 2434930, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (8620008, 9, 1, 15), # SinisterSteelMask +(8620009, 9, 1, 16), # AncientGolem +(8620010, 9, 1, 17), # AncientDarkGolem +(8620011, 9, 1, 18), # AncientMixedGolem +(0, 9, 1, 19); # Empty +# Reward ID: 2434930 +# +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (9, 1, 4, 2434929, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (8600004, 9, 1, 20), # MutantTino +(8600005, 9, 1, 21), # MutantTiru +(8600006, 9, 1, 22), # MutantTiguru +(0, 9, 1, 23), # Empty +(0, 9, 1, 24); # Empty +# Reward ID: 2434929 +# + +insert into `monster_collection_session_rewards` (`region`, `session`, `rewardid`, `quantity`) values (9, 2, 3017009, 1); + +# /** +# * Temple of Time 1 - Reward: 3017009 +# */ +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (9, 2, 0, 2434930, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (8610000, 9, 2, 0), # Dawn +(8610001, 9, 2, 1), # Blaze +(8610002, 9, 2, 2), # Wind +(8610003, 9, 2, 3), # Night +(8610004, 9, 2, 4); # Thunder +# Reward ID: 2434930 +# +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (9, 2, 1, 2434930, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (8610005, 9, 2, 5), # OfficialKnightA +(8610006, 9, 2, 6), # OfficialKnightB +(8610007, 9, 2, 7), # OfficialKnightC +(8610008, 9, 2, 8), # OfficialKnightD +(8610009, 9, 2, 9); # OfficialKnightE +# Reward ID: 2434930 +# +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (9, 2, 2, 2434930, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (8610010, 9, 2, 10), # AdvancedKnightA +(8610011, 9, 2, 11), # AdvancedKnightB +(8610012, 9, 2, 12), # AdvancedKnightC +(8610013, 9, 2, 13), # AdvancedKnightD +(8610014, 9, 2, 14); # AdvancedKnightE +# Reward ID: 2434930 +# +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (9, 2, 3, 2434930, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (8850000, 9, 2, 15), # Mihile +(8850001, 9, 2, 16), # Oz +(8850002, 9, 2, 17), # Irena +(8850003, 9, 2, 18), # Eckhart +(8850004, 9, 2, 19); # Hawkeye +# Reward ID: 2434930 +# +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (9, 2, 4, 2434932, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (8850011, 9, 2, 20), # Cygnus +(8850013, 9, 2, 21), # Shinsoo +(8610015, 9, 2, 22), # Ifrit +(0, 9, 2, 23), # Empty +(0, 9, 2, 24); # Empty +# Reward ID: 2434932 +# + +insert into `monster_collection_session_rewards` (`region`, `session`, `rewardid`, `quantity`) values (10, 0, 2434993, 1); + +# /** +# * Grandis 1 - Reward: 2434993 +# */ +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (10, 0, 0, 2434929, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (2400200, 10, 0, 0), # Caterpillar +(2400201, 10, 0, 1), # LadyBug +(2400202, 10, 0, 2), # Sparrow +(2400203, 10, 0, 3), # BalloonMouse +(2400204, 10, 0, 4); # RedPoisonFrog +# Reward ID: 2434929 +# +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (10, 0, 1, 2434929, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (2400205, 10, 0, 5), # GreenPoisonFrog +(2400206, 10, 0, 6), # DelinquentChick +(2400207, 10, 0, 7), # PunkChick +(2400208, 10, 0, 8), # ManeFurHyena +(2400209, 10, 0, 9); # FangHyena +# Reward ID: 2434929 +# +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (10, 0, 2, 2434929, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (2400000, 10, 0, 10), # SleepyGrobbler +(2400001, 10, 0, 11), # AlertGrobbler +(2400002, 10, 0, 12), # GrumpyGrobbler +(2400003, 10, 0, 13), # LimestoneTokka +(2400004, 10, 0, 14); # AmethystTokka +# Reward ID: 2434929 +# +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (10, 0, 3, 2434929, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (2400005, 10, 0, 15), # Laloong +(2400006, 10, 0, 16), # Kaloong +(2400007, 10, 0, 17), # NefariousMonkInitiate +(2400008, 10, 0, 18), # NefariousMonkApprentice +(2400009, 10, 0, 19); # NefariousMonkMaster +# Reward ID: 2434929 +# +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (10, 0, 4, 2434930, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (2400010, 10, 0, 20), # HereticMonkInitiate +(2400011, 10, 0, 21), # HereticMonkApprentice +(2400012, 10, 0, 22), # HereticLeader +(2400013, 10, 0, 23), # OnyxStonegar +(2400014, 10, 0, 24); # Gravi +# Reward ID: 2434930 +# + +insert into `monster_collection_session_rewards` (`region`, `session`, `rewardid`, `quantity`) values (10, 1, 3017010, 1); +# /** +# * Grandis 2 - Reward: 3017010 +# */ +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (10, 1, 0, 2434929, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (2400100, 10, 1, 0), # BlueSpeeyor +(2400101, 10, 1, 1), # RedSpeeyor +(2400102, 10, 1, 2), # YellowSpeeyor +(0, 10, 1, 3), # Empty +(0, 10, 1, 4); # Empty +# Reward ID: 2434929 +# +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (10, 1, 1, 2434930, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (2400103, 10, 1, 5), # Dinogoth +(2400104, 10, 1, 6), # Dinoram +(2400105, 10, 1, 7), # Dinodon +(2400106, 10, 1, 8), # SpecterBattleHound +(2400107, 10, 1, 9); # SpecterTamer +# Reward ID: 2434930 +# +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (10, 1, 2, 2434930, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (2400108, 10, 1, 10), # SpecterMiner +(2400109, 10, 1, 11), # SpecterShieldbearer +(2400110, 10, 1, 12), # GuerrillaSpecter +(2400111, 10, 1, 13), # PowerSpecter +(2400112, 10, 1, 14); # SpecterEngineer +# Reward ID: 2434930 +# +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (10, 1, 3, 2434931, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (2400113, 10, 1, 15), # WarriorSpecter +(2400114, 10, 1, 16), # MagicianSpecter +(2400115, 10, 1, 17), # ReaperSpecter +(2400118, 10, 1, 18), # PurpleReagentRock +(2400116, 10, 1, 19); # RedTotemStaff +# Reward ID: 2434931 +# +insert into `monster_collection_group_rewards` (`region`, `session`, `groupid`, `rewardid`, `quantity`) values (10, 1, 4, 2434932, 1); +insert into `monster_collection` (`mobid`, `region`, `session`, `position`) values (2700029, 10, 1, 20), # Magnus +(8880004, 10, 1, 21), # Velderoth +(8880008, 10, 1, 22), # Treglow +(8880006, 10, 1, 23), # Victor +(2400116, 10, 1, 24); # RedTotemStaff +# Reward ID: 2434932 diff --git a/sql/character - initDrops - drops - equipDrops - the rest.txt b/sql/character - initDrops - drops - equipDrops - the rest.txt new file mode 100755 index 0000000..e69de29 diff --git a/sql/hairequips.sql b/sql/hairequips.sql new file mode 100755 index 0000000..43c1fbd --- /dev/null +++ b/sql/hairequips.sql @@ -0,0 +1,33 @@ +/* + Navicat Premium Data Transfer + + Source Server : localhost_3306 + Source Server Type : MySQL + Source Server Version : 50731 + Source Host : localhost:3306 + Source Schema : v210 + + Target Server Type : MySQL + Target Server Version : 50731 + File Encoding : 65001 + + Date: 22/09/2021 21:53:51 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for hairequips +-- ---------------------------- +DROP TABLE IF EXISTS `hairequips`; +CREATE TABLE `hairequips` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `alid` int(11) NULL DEFAULT NULL, + `bodypart` tinyint(2) NULL DEFAULT NULL, + `equipid` int(11) NULL DEFAULT NULL, + PRIMARY KEY (`id`) USING BTREE, + INDEX `alid`(`alid`) USING BTREE +) ENGINE = MyISAM AUTO_INCREMENT = 38 CHARACTER SET = latin1 COLLATE = latin1_swedish_ci ROW_FORMAT = FIXED; + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/sql/unseenequips.sql b/sql/unseenequips.sql new file mode 100755 index 0000000..ca99655 --- /dev/null +++ b/sql/unseenequips.sql @@ -0,0 +1,33 @@ +/* + Navicat Premium Data Transfer + + Source Server : localhost_3306 + Source Server Type : MySQL + Source Server Version : 50731 + Source Host : localhost:3306 + Source Schema : v210 + + Target Server Type : MySQL + Target Server Version : 50731 + File Encoding : 65001 + + Date: 22/09/2021 21:54:29 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for unseenequips +-- ---------------------------- +DROP TABLE IF EXISTS `unseenequips`; +CREATE TABLE `unseenequips` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `alid` int(11) NULL DEFAULT NULL, + `bodypart` tinyint(2) NULL DEFAULT NULL, + `equipid` int(11) NULL DEFAULT NULL, + PRIMARY KEY (`id`) USING BTREE, + INDEX `alid`(`alid`) USING BTREE +) ENGINE = MyISAM AUTO_INCREMENT = 1 CHARACTER SET = latin1 COLLATE = latin1_swedish_ci ROW_FORMAT = FIXED; + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/src/main/java/hibernate.cfg.xml b/src/main/java/hibernate.cfg.xml new file mode 100755 index 0000000..30f4e27 --- /dev/null +++ b/src/main/java/hibernate.cfg.xml @@ -0,0 +1,44 @@ + + + + + + org.hibernate.dialect.MySQLDialect + + + + com.mysql.jdbc.Driver + + + + jdbc:mysql://mapledb:3306/v206?autoReconnect=true&useSSL=false&allowPublicKeyRetrieval=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC + + + + root + + + + maplestory + + + + true + + + + false + + + + true + + + + true + + + + + diff --git a/src/main/java/log4j.properties b/src/main/java/log4j.properties new file mode 100755 index 0000000..25db09a --- /dev/null +++ b/src/main/java/log4j.properties @@ -0,0 +1,19 @@ +log4j.rootLogger=DEBUG,stdout +log4j.logger.com.endeca=INFO +# Logger for crawl metrics +log4j.logger.com.endeca.itl.web.metrics=INFO + +log4j.appender.stdout=org.apache.log4j.ConsoleAppender +log4j.appender.stdout.layout=org.apache.log4j.PatternLayout +log4j.appender.stdout.layout.ConversionPattern=[%p] %m%n + +# add a FileAppender to the logger fout +log4j.appender.fout=org.apache.log4j.FileAppender +# create a log file +log4j.appender.fout.File=root.log +log4j.appender.fout.layout=org.apache.log4j.PatternLayout +# use a more detailed message pattern +log4j.appender.fout.layout.ConversionPattern=%p\t%d{ISO8601}\t%r\t%c\t[%t]\t%m%n +# library logging only for errors +log4j.logger.org.hibernate=error +log4j.logger.io.netty=error diff --git a/src/main/java/net/swordie/ms/Server.java b/src/main/java/net/swordie/ms/Server.java new file mode 100755 index 0000000..814bf24 --- /dev/null +++ b/src/main/java/net/swordie/ms/Server.java @@ -0,0 +1,335 @@ +package net.swordie.ms; + +import net.swordie.ms.client.Account; +import net.swordie.ms.client.Client; +import net.swordie.ms.client.character.BroadcastMsg; +import net.swordie.ms.connection.api.ApiAcceptor; +import net.swordie.ms.connection.netty.ChannelHandler; +import net.swordie.ms.connection.packet.UserLocal; +import net.swordie.ms.client.User; +import net.swordie.ms.connection.packet.WvsContext; +import net.swordie.ms.constants.GameConstants; +import net.swordie.ms.enums.ChatType; +import net.swordie.ms.enums.WorldId; +import net.swordie.ms.handlers.EventManager; +import net.swordie.ms.loaders.*; +import net.swordie.ms.connection.crypto.MapleCrypto; +import net.swordie.ms.connection.db.DatabaseManager; +import net.swordie.ms.connection.netty.ChannelAcceptor; +import net.swordie.ms.connection.netty.ChatAcceptor; +import net.swordie.ms.connection.netty.LoginAcceptor; +import net.swordie.ms.scripts.ScriptManagerImpl; +import net.swordie.ms.util.FileTime; +import net.swordie.ms.util.Util; +import net.swordie.ms.world.Channel; +import net.swordie.ms.world.World; +import net.swordie.ms.world.shop.cashshop.CashShop; +import net.swordie.ms.world.shop.cashshop.CashShopCategory; +import net.swordie.ms.world.shop.cashshop.CashShopItem; +import org.apache.log4j.LogManager; +import org.apache.log4j.Logger; +import org.hibernate.Session; +import net.swordie.ms.util.Loader; +import net.swordie.ms.util.container.Tuple; +import org.hibernate.Transaction; +import org.hibernate.query.Query; +import java.io.File; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; +import java.time.LocalDateTime; +import java.util.*; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.ScheduledFuture; + +/** + * Created on 2/18/2017. + */ +public class Server extends Properties { + + final Logger log = LogManager.getRootLogger(); + + private static final Server server = new Server(); + + public long upTime; + public boolean MAINTENANCE_MODE = false; + public boolean MAINTENANCE_ACTIVE = false; + + private List worldList = new ArrayList<>(); + private Map> authTokens = new ConcurrentHashMap<>(); + private Set users = new HashSet<>(); // just save the ids, no need to save the references + private CashShop cashShop; + private Set shutdownFutures = new HashSet<>(); + private boolean opcodeEnc = true; + + private ScheduledFuture shutdownTimer; + private boolean shutdownFromCommand = false; + private boolean online = false; + + public static Server getInstance() { + return server; + } + + public List getWorlds() { + return worldList; + } + + public World getWorldById(int id) { + return Util.findWithPred(getWorlds(), w -> w.getWorldId().getVal() == id); + } + + private void init(String[] args) { + log.info("Starting server."); + long startNow = System.currentTimeMillis(); + DatabaseManager.init(); + log.info("Loaded Hibernate in " + (System.currentTimeMillis() - startNow) + "ms"); + + try { + checkAndCreateDat(); + loadWzData(); + } catch (IllegalAccessException | InvocationTargetException e) { + e.printStackTrace(); + } + StringData.load(); + FieldData.loadWorldMap(); + ChannelHandler.initHandlers(false); + FieldData.loadNPCFromSQL(); + SkillData.loadAllSkills(); + DressingRoom.load(); + StyleRoom.load(); + + ShutDownTask shutDownTask = new ShutDownTask(); + shutDownTask.start(); + + + MapleCrypto.initialize(ServerConstants.VERSION); + new Thread(new ApiAcceptor()).start(); + new Thread(new LoginAcceptor()).start(); + new Thread(new ChatAcceptor()).start(); + worldList.add(new World(ServerConfig.WORLD_ID, ServerConfig.SERVER_NAME, GameConstants.CHANNELS_PER_WORLD, ServerConfig.EVENT_MSG)); + long start = System.currentTimeMillis(); + VCoreData.loadVCoreData(); + log.info("Loaded VCore in " + (System.currentTimeMillis() - start) + "ms"); + + long startCashShop = System.currentTimeMillis(); + initCashShop(); + log.info("Loaded CashShop in " + (System.currentTimeMillis() - startCashShop) + "ms"); + + MonsterCollectionData.loadFromSQL(); + + for (World world : getWorlds()) { + for (Channel channel : world.getChannels()) { + ChannelAcceptor ca = new ChannelAcceptor(); + ca.channel = channel; + new Thread(ca).start(); + } + } + log.info(String.format("Finished loading server in %dms", System.currentTimeMillis() - startNow)); + new Thread(() -> { + // inits the script engine + log.info(String.format("Starting %s script engine.", ScriptManagerImpl.SCRIPT_ENGINE_NAME)); + }).start(); + + this.online = true; + + } + + public ScheduledFuture getShutdownTimer() { + return shutdownTimer; + } + + public void setShutdownTimer(ScheduledFuture shutdownTimer) { + this.shutdownTimer = shutdownTimer; + } + + public boolean isShutdownFromCommand() { + return shutdownFromCommand; + } + + public void setShutdownFromCommand(boolean shutdownFromCommand) { + this.shutdownFromCommand = shutdownFromCommand; + } + + public void sendShutdownMessage(int time) { + String msg = "Server is shutting down in "; + String timeMsg = time + (!isShutdownFromCommand() ? " seconds." :" minutes. "); + String end = "Please log off safely before the server shuts down."; + getWorldById(1).broadcastPacket(UserLocal.chatMsg(ChatType.Notice2, "[Notice] " + msg + timeMsg + end)); + getWorldById(1).broadcastPacket(UserLocal.addPopupSay(9010063, 10000, + "#e#b[Notice]#k#n " + msg + "#e#r" + timeMsg + "#k#n" + end, "FarmSE.img/boxResult")); + ServerConfig.SERVER_MSG = msg + timeMsg + end; + getWorldById(1).broadcastPacket(WvsContext.broadcastMsg(BroadcastMsg.slideNotice(ServerConfig.SERVER_MSG, true))); + } + + + public class ShutDownTask { + + private static final int shutdownTime = 30000; // 30 secs + + public void start() { + Runtime.getRuntime().addShutdownHook(new Thread(() -> { + + log.info("Shutting down sever..."); + Server.getInstance().setOnline(false); + if (!isShutdownFromCommand()) { + // broadcast message if manually shutting down... + sendShutdownMessage(shutdownTime / 1000); + // wait for manual shut down time (shutdownTime)... + try { + Thread.sleep(shutdownTime); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } + + // proceed to shutdown + for (World world : getWorlds()) { + world.shutdown(); + } + + log.info("Shutdown complete!"); + })); + } + } + + public boolean isOnline() { + return online; + } + + public void setOnline(boolean online) { + this.online = online; + } + + private void checkAndCreateDat() { + File file = new File(ServerConstants.DAT_DIR + "/equips"); + boolean exists = file.exists(); + if (!exists) { + log.info("Dat files cannot be found (at least not the equip dats). All dats will now be generated. This may take a long while."); + Util.makeDirIfAbsent(ServerConstants.DAT_DIR); + for (Class c : DataClasses.datCreators) { + try { + Method m = c.getMethod("generateDatFiles"); + m.invoke(null); + } catch (NoSuchMethodException | IllegalAccessException | InvocationTargetException e) { + e.printStackTrace(); + } + } + } + } + + public void loadWzData() throws IllegalAccessException, InvocationTargetException { + String datFolder = ServerConstants.DAT_DIR; + for (Class c : DataClasses.dataClasses) { + for (Method method : c.getMethods()) { + String name; + Loader annotation = method.getAnnotation(Loader.class); + if (annotation != null) { + name = annotation.varName(); + File file = new File(datFolder, name + ".dat"); + boolean exists = file.exists(); + long start = System.currentTimeMillis(); + method.invoke(c, file, exists); + long total = System.currentTimeMillis() - start; + if (exists) { + log.info(String.format("Took %dms to load from %s", total, file.getName())); + } else { + log.info(String.format("Took %dms to load using %s", total, method.getName())); + } + } + } + } + } + + + public Tuple getChannelFromTransfer(int charId, int worldId) { + for (Channel c : getWorldById(worldId).getChannels()) { + if (c.getTransfers().containsKey(charId)) { + return c.getTransfers().get(charId); + } + } + return null; + } + public void clearCache() { + ChannelHandler.initHandlers(true); + DropData.clear(); + FieldData.clear(); + ItemData.clear(); + MobData.clear(); + NpcData.clear(); + QuestData.clear(); + SkillData.clear(); + ReactorData.clear(); + EtcData.clear(); + for (World world : getWorlds()) { + world.clearCache(); + } + } + + public void initCashShop() { + cashShop = new CashShop(); + try(Session session = DatabaseManager.getSession()) { + Transaction transaction = session.beginTransaction(); + + Query query = session.createQuery("FROM CashShopCategory"); + List categories = query.list(); + categories.sort(Comparator.comparingInt(CashShopCategory::getIdx)); + cashShop.setCategories(new ArrayList<>(categories)); + + query = session.createQuery("FROM CashShopItem"); + List items = query.list(); + items.forEach(item -> cashShop.addItem(item)); + + transaction.commit(); + } + + } + + public CashShop getCashShop() { + return this.cashShop; + } + + public void addUser(User user) { + users.add(user.getId()); + } + + public void removeUser(User user) { + users.remove(user.getId()); + } + + public boolean isUserLoggedIn(User user) { + return users.contains(user.getId()); + } + + public boolean isOpcodeEnc() { + return opcodeEnc; + } + + public void setOpcodeEnc(boolean opcodeEnc) { + this.opcodeEnc = opcodeEnc; + } + + private Map> getAuthTokens() { + return authTokens; + } + + public void addAuthToken(byte[] token, int userID) { + String tokenStr = new String(token); + FileTime expiryDate = FileTime.fromDate(LocalDateTime.now().plusMinutes(ServerConstants.TOKEN_EXPIRY_TIME)); + Tuple entry = new Tuple<>(userID, expiryDate); + getAuthTokens().put(tokenStr, entry); + } + + public int getUserIdFromAuthToken(String token) { + Tuple value = getAuthTokens().getOrDefault(token, null); + if (value == null || value.getRight() == null || value.getRight().isExpired()) { + return 0; + } else { + return value.getLeft(); + } + } + + + public static void main(String[] args) { + getInstance().init(args); + } + +} diff --git a/src/main/java/net/swordie/ms/ServerConfig.java b/src/main/java/net/swordie/ms/ServerConfig.java new file mode 100755 index 0000000..7a70672 --- /dev/null +++ b/src/main/java/net/swordie/ms/ServerConfig.java @@ -0,0 +1,20 @@ +package net.swordie.ms; + +import net.swordie.ms.enums.WorldId; +import net.swordie.ms.world.Channel; +import net.swordie.ms.world.World; + +/** + * Created on 2/18/2017. + */ +public class ServerConfig { + + public static final int USER_LIMIT = 20; + public static final WorldId WORLD_ID = WorldId.Bera; + public static final String SERVER_NAME = "v206"; + public static String SERVER_MSG = "v206"; + public static final String EVENT_MSG = String.format("#bv206#k Buffed Channels 6-10\r\n Online Players: "); + public static final String RECOMMEND_MSG = ""; + public static final int MAX_CHARACTERS = 30; + public static final String HEAP_DUMP_DIR = "../heapdumps"; +} diff --git a/src/main/java/net/swordie/ms/ServerConstants.java b/src/main/java/net/swordie/ms/ServerConstants.java new file mode 100755 index 0000000..526c200 --- /dev/null +++ b/src/main/java/net/swordie/ms/ServerConstants.java @@ -0,0 +1,41 @@ +package net.swordie.ms; + +import net.swordie.ms.constants.JobConstants; + +import java.util.Calendar; +import java.util.concurrent.TimeUnit; + +/** + * Created on 2/18/2017. + */ +public class ServerConstants { + public static final String DIR = System.getProperty("user.dir"); + public static final byte LOCALE = 8; + public static final String WZ_DIR = DIR + "/wz"; + public static final String DAT_DIR = DIR + "/dat"; + public static final int MAX_CHARACTERS = JobConstants.LoginJob.values().length * 3; + public static final String SCRIPT_DIR = DIR + "/scripts"; + public static final String RESOURCES_DIR = DIR + "/resources"; + public static final String HANDLERS_DIR = DIR + "/src/main/java/net/swordie/ms/handlers"; + public static final short VERSION = 206; + public static final String MINOR_VERSION = "1"; + public static final int LOGIN_PORT = 8484; + public static final int API_PORT = 8483; + public static final short CHAT_PORT = 0; + public static final int BCRYPT_ITERATIONS = 10; + public static final long TOKEN_EXPIRY_TIME = 60 * 24; // minutes + public static boolean LOCAL_HOST_SERVER = false; + public static final int RESTART_MINUTES = (int) getTimeTillMidnight(); + public static final boolean DAILY_RESTART = false; + + public static long getTimeTillMidnight() { + Calendar c = Calendar.getInstance(); + c.add(Calendar.DAY_OF_MONTH, 1); + c.set(Calendar.HOUR_OF_DAY, 0); + c.set(Calendar.MINUTE, 0); + c.set(Calendar.SECOND, 0); + c.set(Calendar.MILLISECOND, 0); + return TimeUnit.MILLISECONDS.toMinutes(c.getTimeInMillis() - System.currentTimeMillis()); + } + +} diff --git a/src/main/java/net/swordie/ms/ServerStatus.java b/src/main/java/net/swordie/ms/ServerStatus.java new file mode 100755 index 0000000..e64eb3e --- /dev/null +++ b/src/main/java/net/swordie/ms/ServerStatus.java @@ -0,0 +1,20 @@ +package net.swordie.ms; + +public enum ServerStatus { + NORMAL(0), + BUSY(1), + FULL(2); + + /** + * Created on 11/3/2017. + */ + private byte value; + + ServerStatus (int value) { + this.value = (byte) value; + } + + public byte getValue() { + return value; + } +} diff --git a/src/main/java/net/swordie/ms/client/Account.java b/src/main/java/net/swordie/ms/client/Account.java new file mode 100755 index 0000000..cc3a101 --- /dev/null +++ b/src/main/java/net/swordie/ms/client/Account.java @@ -0,0 +1,381 @@ +package net.swordie.ms.client; + +import net.swordie.ms.client.character.Char; +import net.swordie.ms.client.character.EventCoolDown; +import net.swordie.ms.client.character.MonsterCollection; +import net.swordie.ms.client.character.damage.DamageSkinSaveData; +import net.swordie.ms.client.character.items.Item; +import net.swordie.ms.client.character.union.Union; +import net.swordie.ms.client.character.union.UnionBoard; +import net.swordie.ms.client.trunk.Trunk; +import net.swordie.ms.connection.db.DatabaseManager; +import net.swordie.ms.constants.GameConstants; +import net.swordie.ms.constants.ItemConstants; +import net.swordie.ms.constants.SkillConstants; +import net.swordie.ms.enums.EventType; +import net.swordie.ms.loaders.StringData; +import net.swordie.ms.util.FileTime; +import net.swordie.ms.util.Util; +import net.swordie.ms.world.auction.AuctionItem; +import org.apache.log4j.Logger; +import org.hibernate.Session; +import org.hibernate.Transaction; + +import javax.persistence.*; +import java.util.*; +import java.util.stream.Collectors; + +/** + * Class representing an Account, which is a world-specific "User" class. + * + * Created by Tim on 4/30/2017. + */ +@Entity +@Table(name = "accounts") +public class Account { + + @Transient + private static final Logger log = Logger.getLogger(Account.class); + + @Id @GeneratedValue(strategy = GenerationType.IDENTITY) + private int id; + private int worldId; + @JoinColumn(name = "trunkID") + @OneToOne(cascade = CascadeType.ALL, orphanRemoval = true) + private Trunk trunk; + @JoinColumn(name = "monsterCollectionID") + @OneToOne(cascade = CascadeType.ALL, orphanRemoval = true) + private MonsterCollection monsterCollection; + @OneToMany(cascade = CascadeType.ALL, orphanRemoval = true, fetch = FetchType.EAGER) + @JoinColumn(name = "accID") + private Set damageSkins = new HashSet<>(); + + @OneToMany(cascade = CascadeType.ALL, orphanRemoval = true, fetch = FetchType.EAGER) + @JoinColumn(name = "accID") + private Set characters = new HashSet<>(); + // nxCredit is from mobs, so is account (world) specific. + private int nxCredit; + @OneToMany(cascade = CascadeType.ALL, orphanRemoval = true, fetch = FetchType.EAGER) + @JoinColumn(name = "accID") + private Set linkSkills = new HashSet<>(); + @OneToOne(cascade = CascadeType.ALL, orphanRemoval = true) + @JoinColumn(name = "unionid") + private Union union; + + @OneToMany(cascade = CascadeType.REMOVE, orphanRemoval = true) + @JoinColumn(name = "accid") + private List cooldowns = new ArrayList<>(); + + @Transient + private Set auctionItems; + @Transient + private User user; + @Transient + private Char currentChr; + + public Account(User user, int worldId) { + this.user = user; + this.worldId = worldId; + this.trunk = new Trunk(GameConstants.DEFAULT_TRUNK_SIZE); + this.monsterCollection = new MonsterCollection(); + this.damageSkins = new HashSet<>(); + this.characters = new HashSet<>(); + this.linkSkills = new HashSet<>(); + this.union = new Union(2, 101); + this.cooldowns = new ArrayList(); + union.setAccount(this); + damageSkins.add(new DamageSkinSaveData(0, 2433271, false, "The default damage skin.")); + } + + public Account(){ + } + + public static Account getFromDBById(int accountID) { + return (Account) DatabaseManager.getObjFromDB(Account.class, accountID); + } + + public static Account getFromDBByIp(String ip) { + Account acc = null; + try(Session session = DatabaseManager.getSession()) { + Transaction transaction = session.beginTransaction(); + // String.format for query, just to fill in the class + // Can't set the FROM clause with a parameter it seems + Query query = session.createQuery("FROM Account WHERE registerip = :ip"); + query.setParameter("ip", ip); + List l = ((org.hibernate.query.Query) query).list(); + if (l != null && l.size() > 0) { + acc = (Account) l.get(0); + } + transaction.commit(); + session.close(); + } + return acc; + } + + public int getId() { + return id; + } + + public Set getCharacters() { + return characters; + } + + public Union getUnion() { + return union; + } + + public void addCharacter(Char character) { + getCharacters().add(character); + } + + public void setId(int id) { + this.id = id; + } + + public Set getDamageSkins() { + return damageSkins; + } + + public void setDamageSkins(Set damageSkins) { + this.damageSkins = damageSkins; + } + + public void addDamageSkin(DamageSkinSaveData dssd) { + if(getDamageSkinByItemID(dssd.getItemID()) == null) { + getDamageSkins().add(dssd); + } + } + + public void removeDamageSkin(DamageSkinSaveData dssd) { + if(dssd != null) { + getDamageSkins().remove(dssd); + } + } + + public void removeDamageSkin(int itemID) { + removeDamageSkin(getDamageSkinByItemID(itemID)); + } + + public void addDamageSkinByItemID(int itemID) { + addDamageSkin(new DamageSkinSaveData(ItemConstants.getDamageSkinIDByItemID(itemID), itemID, false, + StringData.getItemStringById(itemID))); + } + + public DamageSkinSaveData getDamageSkinByItemID(int itemID) { + return getDamageSkins().stream().filter(d -> d.getItemID() == itemID).findAny().orElse(null); + } + + public DamageSkinSaveData getDamageSkinBySkinID(int skinID) { + return getDamageSkins().stream().filter(d -> d.getDamageSkinID() == skinID).findAny().orElse(null); + } + + public Trunk getTrunk() { + if(trunk == null) { + trunk = new Trunk(GameConstants.DEFAULT_TRUNK_SIZE); + } + return trunk; + } + + public void setTrunk(Trunk trunk) { + this.trunk = trunk; + } + + public int getNxCredit() { + return nxCredit; + } + + public void setNxCredit(int nxCredit) { + this.nxCredit = nxCredit; + } + + public void addLinkSkill(LinkSkill linkSkill) { + removeLinkSkillByOwnerID(linkSkill.getUsingID()); + getLinkSkills().add(linkSkill); + } + + public void addLinkSkill(Char originChar, int usingID, int linkedSkill) { + int level = SkillConstants.getLinkSkillLevelByCharLevel(originChar.getLevel()); + LinkSkill ls = new LinkSkill(originChar.getId(), usingID, linkedSkill, level); + addLinkSkill(ls); + } + + public void removeLinkSkillByOwnerID(int ownerID) { + getLinkSkills().stream().filter(l -> l.getUsingID() == ownerID).findFirst() + .ifPresent(ls -> getLinkSkills().remove(ls)); + } + + public Set getLinkSkills() { + return linkSkills; + } + + public void setLinkSkills(Set linkSkills) { + this.linkSkills = linkSkills; + } + + public void addNXCredit(int credit) { + int newCredit = getNxCredit() + credit; + if (newCredit >= 0) { + setNxCredit(newCredit); + } + } + + public void deductNXCredit(int credit) { + addNXCredit(-credit); + } + + public MonsterCollection getMonsterCollection() { + if (monsterCollection == null) { + monsterCollection = new MonsterCollection(); + } + return monsterCollection; + } + + public void setMonsterCollection(MonsterCollection monsterCollection) { + this.monsterCollection = monsterCollection; + } + + public boolean hasCharacter(int charID) { + // doing a .contains on getCharacters() does not work, even if the hashcode is just a hash of the id + return getCharById(charID) != null; + } + + public Char getCharById(int id) { + return Util.findWithPred(getCharacters(), chr -> chr.getId() == id); + } + + public Char getCharByName(String name) { + return Util.findWithPred(getCharacters(), chr -> chr.getName().equals(name)); + } + + public User getUser() { + return user; + } + + public void setUser(User user) { + this.user = user; + } + + public int getWorldId() { + return worldId; + } + + public void setWorldId(int worldId) { + this.worldId = worldId; + } + + public Char getCurrentChr() { + return currentChr; + } + + public void setCurrentChr(Char currentChr) { + this.currentChr = currentChr; + } + + public int getTotalLvOfAllChrs() { + return getCharacters().stream().mapToInt(Char::getLevel).sum(); + } + + public Set getAuctionItems() { + return auctionItems; + } + + public Set getCompletedAuctionItems() { + return getAuctionItems().stream() + .filter(it -> it.getEndDate().isExpired()) + .collect(Collectors.toSet()); + } + + public Set getSellingAuctionItems() { + return getAuctionItems().stream() + .filter(it -> !it.getEndDate().isExpired()) + .collect(Collectors.toSet()); + } + + public void setAuctionItems(Set auctionItems) { + this.auctionItems = auctionItems; + } + + public AuctionItem getAuctionById(int auctionId) { + return Util.findWithPred(getAuctionItems(), ai -> ai.getId() == auctionId); + } + + public void addAuction(AuctionItem item) { + getAuctionItems().add(item); + } + + public AuctionItem createAndAddAuctionByItem(Item item, Char sellingChar, long price) { + AuctionItem ai = new AuctionItem(); + ai.setItem(item); + ai.setRegDate(FileTime.currentTime()); + ai.setEndDate(FileTime.fromDate(FileTime.currentTime().toLocalDateTime().plusHours(GameConstants.AUCTION_LIST_TIME))); + ai.setAccountID(getId()); + ai.setCharID(sellingChar.getId()); + ai.setCharName(sellingChar.getName()); + ai.setDirectPrice(price); + ai.setItemType(item.getInvType().getVal()); + ai.setItemName(StringData.getItemStringById(item.getItemId())); + ai.setDeposit(GameConstants.AUCTION_DEPOSIT_AMOUNT); + addAuction(ai); + sellingChar.getClient().getWorld().addAuction(ai, true); + + return ai; + } + + public void initAuctions() { + // Not done via db to ensure the instances between world and acc are the same + setAuctionItems(getCurrentChr().getWorld().getAuctionsByAccountID(getId())); + } + + public LinkSkill getLinkSkillByLinkSkillId(int linkSkillID) { + return Util.findWithPred(getLinkSkills(), s -> s.getLinkSkillID() == linkSkillID); + } + + public void removeChar(Char chr) { + removeLinkSkillByOwnerID(chr.getId()); + for (UnionBoard ub : getUnion().getUnionBoards()) { + ub.removeMemberByCharId(chr.getId()); + } + getCharacters().remove(chr); + } + + public EventCoolDown getCoolDownByType(int type) { + return cooldowns.stream().filter(eventCoolDown -> eventCoolDown.getEventType() == type).collect(Collectors.toList()).get(0); + } + + public int getEventAmountDone(int type){ + EventCoolDown cd = cooldowns.stream().filter(eventCoolDown -> eventCoolDown.getEventType() == type).findFirst().orElse(null); + if (cd == null) { + return 0; + } + if (System.currentTimeMillis() > cd.getNextResetTime()) { + cd.setAmountDone(0); + } + return cd.getAmountDone(); + } + + public void addCoolDown(int type, int amountDone, long nextReset) { + EventCoolDown coolDown = this.cooldowns.stream().filter(eventCoolDown -> eventCoolDown.getEventType() == type).findFirst().orElse(null); + if (coolDown == null) { + coolDown = new EventCoolDown(type, amountDone, nextReset); + cooldowns.add(coolDown); + } else { + coolDown.setNextResetTime(nextReset); + coolDown.setAmountDone(getEventAmountDone(type) + amountDone); + } + DatabaseManager.saveToDB(coolDown); + DatabaseManager.modifyObjectFromDB(EventCoolDown.class, coolDown.getId(), "accid", this.getId()); + } + + public void clearCoolDowns() { + for (EventCoolDown cd : cooldowns) { + cd.setAmountDone(0); + cd.setNextResetTime(0); + DatabaseManager.modifyObjectFromDB(EventCoolDown.class, cd.getId(), "nextresettime", 0); + } + } + + public void addCooldownTime(EventType eventType, int cooldownTime) { + addCoolDown(eventType.getVal(), 1, System.currentTimeMillis() + cooldownTime); + } + +} diff --git a/src/main/java/net/swordie/ms/client/Client.java b/src/main/java/net/swordie/ms/client/Client.java new file mode 100755 index 0000000..434a275 --- /dev/null +++ b/src/main/java/net/swordie/ms/client/Client.java @@ -0,0 +1,221 @@ +package net.swordie.ms.client; + +import net.swordie.ms.connection.InPacket; +import net.swordie.ms.connection.crypto.TripleDESCipher; +import net.swordie.ms.enums.AccountType; +import net.swordie.ms.handlers.ClientSocket; +import net.swordie.ms.handlers.header.InHeader; +import net.swordie.ms.util.FileoutputUtil; +import net.swordie.ms.util.Util; +import net.swordie.ms.world.Channel; +import net.swordie.ms.client.character.Char; +import net.swordie.ms.connection.OutPacket; +import net.swordie.ms.connection.netty.NettyClient; +import net.swordie.ms.connection.packet.Login; +import net.swordie.ms.Server; +import net.swordie.ms.world.World; + +import java.util.*; +import java.util.Arrays; +import java.util.concurrent.locks.Lock; +import java.util.concurrent.locks.ReentrantLock; + +/** + * Created by Tim on 2/18/2017. + */ +public class Client extends NettyClient { + private Char chr; + private final Lock lock; + private Account account; + private User user; + private byte channel; + private byte worldId; + private boolean authorized; + private Channel channelInstance; + private byte[] machineID; + private final Map encryptedHeaderToNormalHeaders = new HashMap<>(); + private byte oldChannel; + private long ping; + private long lastPingTime; + private boolean waitingForAliveAck; + + private int lastTick = 0; + private int tickCount = 0; + public int clientPacketSpamCount = 0; + + public Client(io.netty.channel.Channel channel, byte[] sendSeq, byte[] recvSeq) { + super(channel, sendSeq, recvSeq); + lock = new ReentrantLock(true); + } + + public void setAccount(Account account) { + this.account = account; + } + + public Lock getLock() { + return lock; + } + + public void write(byte[] data) { + write(new OutPacket(data)); + } + + public void sendPing() { + lastPingTime = System.currentTimeMillis(); + waitingForAliveAck = true; + write(Login.sendAliveReq()); + } + + public void setPing(long ping) { + this.ping = ping; + } + + public long getPing() { + return ping; + } + + public long getLastPingTime() { + return lastPingTime; + } + + public boolean isWaitingForAliveAck() { + return waitingForAliveAck; + } + + public Account getAccount() { + return account; + } + + public void setChannel(byte channel) { + this.channel = channel; + } + + public byte getChannel() { + return channel; + } + + public byte getWorldId() { + return worldId; + } + + public void setWorldId(byte worldId) { + this.worldId = worldId; + } + + public Char getChr() { + return chr; + } + + public void setChr(Char chr) { + this.chr = chr; + } + + public void setAuthorized(boolean authorized) { + this.authorized = authorized; + } + + public boolean isAuthorized() { + return authorized; + } + + public void setChannelInstance(Channel channelInstance) { + this.channelInstance = channelInstance; + } + + public Channel getChannelInstance() { + return channelInstance; + } + + public World getWorld() { + return Server.getInstance().getWorldById(getWorldId()); + } + + public boolean hasCorrectMachineID(byte[] machineID) { + return Arrays.equals(machineID, getMachineID()); + } + + public void setMachineID(byte[] machineID) { + this.machineID = machineID; + } + + public byte[] getMachineID() { + return machineID; + } + + public void sendOpcodeEncryption(int charID) { + byte[] key = new byte[24]; + // old key +// String charIDString = String.valueOf(charID); +// int len = charIDString.length(); +// for (int i = 0; i < len; i++) { +// key[i] = (byte) charIDString.charAt(i); +// } +// byte[] machineID = getMachineID(); +// for (int i = len; i < 16; i++) { +// key[i] = machineID[i - len]; +// } +// System.arraycopy(key, 0, key, 16, 8); + // start new + System.arraycopy("M@PleStoryMaPLe!".getBytes(), 0, key, 0, 16); + System.arraycopy(key, 0, key, 16, 8); + TripleDESCipher cipher = new TripleDESCipher(key); + StringBuilder content = new StringBuilder(); + List possibleNums = new ArrayList<>(); + for (int i = InHeader.B_E_G_I_N__U_S_E_R.getValue(); i < 9999; i++) { + possibleNums.add(i); + } + for (short header = InHeader.B_E_G_I_N__U_S_E_R.getValue(); header < InHeader.NO.getValue(); header++) { + int randNum = Util.getRandomFromCollection(possibleNums); + possibleNums.remove((Integer) randNum); + String num = String.format("%04d", randNum); + encryptedHeaderToNormalHeaders.put((short) randNum, header); + content.append(num); + } + byte[] buf = new byte[Short.MAX_VALUE + 1]; + byte[] encryptedBuf = cipher.encrypt(content.toString().getBytes()); + System.arraycopy(encryptedBuf, 0, buf, 0, encryptedBuf.length); + Random random = new Random(); + for (int i = encryptedBuf.length; i < buf.length; i++) { + buf[i] = (byte) random.nextInt(); + } + write(ClientSocket.opcodeEncryption(4, buf)); + } + + public Map getEncryptedHeaderToNormalHeaders() { + return encryptedHeaderToNormalHeaders; + } + + public void setOldChannel(byte oldChannel) { + this.oldChannel = oldChannel; + } + + public byte getOldChannel() { + return oldChannel; + } + + public User getUser() { + return user; + } + + public void setUser(User user) { + this.user = user; + } + + public void verifyTick(InPacket inPacket) { + int tick = inPacket.decodeInt(); + InHeader inHeader; + if (tick <= lastTick) { + if (getChr() != null && getUser().getAccountType() != AccountType.Admin + && tickCount >= 5) { + // setWaitingToDisconnect(true); + inHeader = InHeader.getInHeaderByOp(inPacket.getPacketID()); + FileoutputUtil.spamLog("PacketTickLog.txt", this, inHeader, inPacket); + } else { + tickCount++; + } + } else { + tickCount = 0; + } + lastTick = tick; + } +} diff --git a/src/main/java/net/swordie/ms/client/LinkSkill.java b/src/main/java/net/swordie/ms/client/LinkSkill.java new file mode 100755 index 0000000..a88c6d9 --- /dev/null +++ b/src/main/java/net/swordie/ms/client/LinkSkill.java @@ -0,0 +1,85 @@ +package net.swordie.ms.client; + +import javax.persistence.*; +import java.util.Objects; + +/** + * Created on 6/7/2018. + */ +@Entity +@Table(name = "linkskills") +public class LinkSkill { + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private long id; + private int originID; + private int usingID; + private int linkSkillID; + private int level; + + public LinkSkill() { + } + + public LinkSkill(int originID, int usingID, int linkSkillID, int level) { + this.originID = originID; + this.usingID = usingID; + this.linkSkillID = linkSkillID; + this.level = level; + } + + public int getUsingID() { + return usingID; + } + + public void setUsingID(int usingID) { + this.usingID = usingID; + } + + public int getLinkSkillID() { + return linkSkillID; + } + + public void setLinkSkillID(int linkSkillID) { + this.linkSkillID = linkSkillID; + } + + public int getLevel() { + return level; + } + + public void setLevel(int level) { + this.level = level; + } + + public long getId() { + return id; + } + + public void setId(long id) { + this.id = id; + } + + public int getOriginID() { + return originID; + } + + public void setOriginID(int originID) { + this.originID = originID; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + LinkSkill linkSkill = (LinkSkill) o; + return originID == linkSkill.originID + && linkSkillID == linkSkill.linkSkillID; + } + + @Override + public int hashCode() { + + return Objects.hash(usingID, linkSkillID); + } +} diff --git a/src/main/java/net/swordie/ms/client/User.java b/src/main/java/net/swordie/ms/client/User.java new file mode 100755 index 0000000..dc67c6b --- /dev/null +++ b/src/main/java/net/swordie/ms/client/User.java @@ -0,0 +1,475 @@ +package net.swordie.ms.client; + +import net.swordie.ms.Server; +import net.swordie.ms.ServerConstants; +import net.swordie.ms.client.anticheat.OffenseManager; +import net.swordie.ms.client.character.Char; +import net.swordie.ms.client.friend.Friend; +import net.swordie.ms.connection.db.DatabaseManager; +import net.swordie.ms.connection.db.converters.FileTimeConverter; +import net.swordie.ms.connection.packet.UserPacket; +import net.swordie.ms.enums.AccountType; +import net.swordie.ms.enums.PicStatus; +import net.swordie.ms.enums.ProgressMessageColourType; +import net.swordie.ms.enums.ProgressMessageFontType; +import net.swordie.ms.util.FileTime; +import org.apache.log4j.Logger; +import org.mindrot.jbcrypt.BCrypt; + +import javax.persistence.*; +import java.util.HashSet; +import java.util.Set; + +/** + * A class that represents a User of this system. It is uniquely identified by its username. + * + * @author Sjonnie + * Created on 3/19/2019. + */ +@Entity +@Table(name = "users") +public class User { + @Transient + private static final Logger log = Logger.getLogger(Account.class); + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private int id; + private String name; + private String password; + private String pic; + @Enumerated(EnumType.ORDINAL) + private AccountType accountType; + private int votePoints; + private int donationPoints; + private int age; + private int vipGrade; + private int nBlockReason; + private byte gender; + private byte msg2; + private byte purchaseExp; + private byte pBlockReason; + private byte gradeCode; + private long chatUnblockDate; + private boolean hasCensoredNxLoginID; + private String censoredNxLoginID; + private int characterSlots; + @Convert(converter = FileTimeConverter.class) + private FileTime creationDate; + private int maplePoints; + private int nxPrepaid; + @OneToMany(cascade = CascadeType.ALL, orphanRemoval = true, fetch = FetchType.EAGER) + @JoinColumn(name = "userid") + private Set accounts; + @Convert(converter = FileTimeConverter.class) + private FileTime banExpireDate = FileTime.currentTime(); + private String banReason; + @OneToOne(cascade = CascadeType.ALL, orphanRemoval = true) + @JoinColumn(name = "offensemanager") + private OffenseManager offenseManager; + + // no eager -> sometimes get a "resultset closed" when fetching friends/damage skins + @OneToMany(cascade = CascadeType.ALL, orphanRemoval = true, fetch = FetchType.EAGER) + @JoinColumn(name = "owneraccid") + private Set friends; + + @Transient + private Char currentChr; + @Transient + private Account currentAcc; + private String email; + private String registerIp; + + + public User() { + } + + public User(String name) { + this.name = name; + this.accountType = AccountType.Player; + this.creationDate = FileTime.currentTime(); + this.accounts = new HashSet<>(); + this.offenseManager = new OffenseManager(); + } + + + + public static Logger getLog() { + return log; + } + + public static User getFromDBByName(String username) { + return (User) DatabaseManager.getObjFromDB(User.class, username); + } + + public static User getFromDBById(int userId) { + return (User) DatabaseManager.getObjFromDB(User.class, userId); + } + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getPassword() { + return password; + } + + public void setPassword(String password) { + this.password = password; + } + + public void setHashedPassword(String password) { + setPassword(BCrypt.hashpw(password, BCrypt.gensalt(ServerConstants.BCRYPT_ITERATIONS))); + } + + public AccountType getAccountType() { + return accountType; + } + + public void setAccountType(AccountType accountType) { + this.accountType = accountType; + } + + public int getAge() { + return age; + } + + public void setAge(int age) { + this.age = age; + } + + public int getVipGrade() { + return vipGrade; + } + + public void setVipGrade(int vipGrade) { + this.vipGrade = vipGrade; + } + + public int getnBlockReason() { + return nBlockReason; + } + + public void setnBlockReason(int nBlockReason) { + this.nBlockReason = nBlockReason; + } + + public FileTime getCreationDate() { + return creationDate; + } + + public void setCreationDate(FileTime creationDate) { + this.creationDate = creationDate; + } + + public Char getCurrentChr() { + return currentChr; + } + + public void setCurrentChr(Char currentChr) { + this.currentChr = currentChr; + } + + public int getMaplePoints() { + return maplePoints; + } + + public void setMaplePoints(int maplePoints) { + this.maplePoints = maplePoints; + } + + public int getNxPrepaid() { + return nxPrepaid; + } + + public void setNxPrepaid(int nxPrepaid) { + this.nxPrepaid = nxPrepaid; + } + + public void addMaplePoints(int points) { + int newPoints = getMaplePoints() + points; + if (newPoints >= 0) { + setMaplePoints(newPoints); + } + } + + public void deductMaplePoints(int points) { + addMaplePoints(-points); + } + + public void addNXPrepaid(int prepaid) { + int newPrepaid = getNxPrepaid() + prepaid; + if (newPrepaid >= 0) { + setNxPrepaid(newPrepaid); + } + } + + public void deductNXPrepaid(int prepaid) { + addNXPrepaid(-prepaid); + } + + public Set getAccounts() { + return accounts; + } + + public void setAccounts(Set accounts) { + this.accounts = accounts; + } + + public void addAccount(Account account) { + getAccounts().add(account); + } + + public FileTime getBanExpireDate() { + return banExpireDate; + } + + public void setBanExpireDate(FileTime banExpireDate) { + this.banExpireDate = banExpireDate; + } + + public String getBanReason() { + return banReason; + } + + + public void setBanReason(String banReason) { + this.banReason = banReason; + } + + public OffenseManager getOffenseManager() { + if (offenseManager == null) { + offenseManager = new OffenseManager(); + } + return offenseManager; + } + + public void setOffenseManager(OffenseManager offenseManager) { + this.offenseManager = offenseManager; + } + + public Account getCurrentAcc() { + return currentAcc; + } + + public void setCurrentAcc(Account currentAcc) { + this.currentAcc = currentAcc; + } + + public void unstuck() { + Server.getInstance().removeUser(this); + DatabaseManager.saveToDB(this); + } + + public String getPic() { + return pic; + } + + public void setPic(String pic) { + this.pic = pic; + } + + public PicStatus getPicStatus() { + PicStatus picStatus; + String pic = getPic(); + if (pic == null || pic.length() == 0) { + picStatus = PicStatus.CREATE_PIC; + } else { + picStatus = PicStatus.ENTER_PIC; + } + return picStatus; + } + + public byte getGender() { + return gender; + } + + public void setGender(byte gender) { + this.gender = gender; + } + + public byte getMsg2() { + return msg2; + } + + public void setMsg2(byte msg2) { + this.msg2 = msg2; + } + + public byte getPurchaseExp() { + return purchaseExp; + } + + public void setPurchaseExp(byte purchaseExp) { + this.purchaseExp = purchaseExp; + } + + public byte getpBlockReason() { + return pBlockReason; + } + + public void setpBlockReason(byte pBlockReason) { + this.pBlockReason = pBlockReason; + } + + public byte getGradeCode() { + return gradeCode; + } + + public void setGradeCode(byte gradeCode) { + this.gradeCode = gradeCode; + } + + public long getChatUnblockDate() { + return chatUnblockDate; + } + + public void setChatUnblockDate(long chatUnblockDate) { + this.chatUnblockDate = chatUnblockDate; + } + + public boolean hasCensoredNxLoginID() { + return hasCensoredNxLoginID; + } + + public void setHasCensoredNxLoginID(boolean hasCensoredNxLoginID) { + this.hasCensoredNxLoginID = hasCensoredNxLoginID; + } + + public String getCensoredNxLoginID() { + return censoredNxLoginID; + } + + public void setCensoredNxLoginID(String censoredNxLoginID) { + this.censoredNxLoginID = censoredNxLoginID; + } + + public int getCharacterSlots() { + return characterSlots; + } + + public void setCharacterSlots(int characterSlots) { + this.characterSlots = characterSlots; + } + + /** + * Gets a Char from the any Account by id. + * + * @param characterId the Char's id + * @return the corresponding Char, or null if none exist + */ + public Char getCharById(int characterId) { + Char chr = null; + for (Account acc : getAccounts()) { + chr = acc.getCharById(characterId); + if (chr == null) { + break; + } + } + return chr; + } + + public Account getAccountByWorldId(int worldId) { + for (Account account : getAccounts()) { + if (account.getWorldId() == worldId) { + return account; + } + } + return null; + } + + public int getVotePoints() { + return votePoints; + } + + public void setVotePoints(int votePoints) { + this.votePoints = votePoints; + } + + public int getDonationPoints() { + return donationPoints; + } + + public void deductDonationPoints(int points) { + addDP(-points); + } + + public void deductVotePoints(int points) { + addVP(-points); + } + + public void addDP(int points) { + int newPoints = getDonationPoints() + points; + if (newPoints >= 0) { + setDonationPoints(newPoints); + } + } + + public void addVP(int points) { + int newPoints = getVotePoints() + points; + if (newPoints >= 0) { + setVotePoints(newPoints); + } + } + + public void setDonationPoints(int donationPoints) { + this.donationPoints = donationPoints; + } + + public void setEmail(String email) { + this.email = email; + } + + public String getEmail() { + return email; + } + + public void setRegisterIp(String registerIp) { + this.registerIp = registerIp; + } + + public String getRegisterIp() { + return registerIp; + } + + public Set getFriends() { + return friends; + } + + public void setFriends(Set friends) { + this.friends = friends; + } + + public void addFriend(Friend friend) { + if(getFriendByUserID(friend.getFriendAccountID()) == null) { + getFriends().add(friend); + } + } + + public Friend getFriendByUserID(int accID) { + return getFriends().stream().filter(f -> f.getFriendAccountID() == accID).findAny().orElse(null); + } + + public void removeFriend(int accID) { + removeFriend(getFriendByUserID(accID)); + } + + public void removeFriend(Friend f) { + if(f != null) { + getFriends().remove(f); + } + } + +} diff --git a/src/main/java/net/swordie/ms/client/alliance/Alliance.java b/src/main/java/net/swordie/ms/client/alliance/Alliance.java new file mode 100755 index 0000000..721723a --- /dev/null +++ b/src/main/java/net/swordie/ms/client/alliance/Alliance.java @@ -0,0 +1,159 @@ +package net.swordie.ms.client.alliance; + +import net.swordie.ms.client.character.Char; +import net.swordie.ms.client.guild.Guild; +import net.swordie.ms.connection.Encodable; +import net.swordie.ms.connection.OutPacket; +import net.swordie.ms.connection.packet.WvsContext; + +import javax.persistence.*; +import java.util.*; + +/** + * @author Sjonnie + * Created on 9/1/2018. + */ +@Entity +@Table(name = "alliances") +public class Alliance implements Encodable { + private static final int MAX_GUILDS = 15; + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private int id; + private String name; + @OneToMany(cascade = CascadeType.ALL) + @JoinColumn(name = "fk_allianceid") + private Set guilds = new HashSet<>(); + @ElementCollection + @CollectionTable(name = "alliance_gradenames", joinColumns = @JoinColumn(name = "allianceID")) + @Column(name = "gradeName") + private List gradeNames; + private int maxMemberNum; + private String notice; + @Transient + private Set pendingGuilds = new HashSet<>(); + + public Alliance() { + gradeNames = Arrays.asList("Master", "Junior", "Veteran", "Regular", "New"); + } + + @Override + public void encode(OutPacket outPacket) { + outPacket.encodeInt(getId()); + outPacket.encodeString(getName()); + for (String gradeName : getGradeNames()) { + outPacket.encodeString(gradeName); + } + outPacket.encodeByte(getGuilds().size()); + for (Guild guild : getGuilds()) { + outPacket.encodeInt(guild.getId()); + } + outPacket.encodeInt(getMaxMemberNum()); + outPacket.encodeString(getNotice()); + } + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public Set getGuilds() { + return guilds; + } + + public void setGuilds(Set guilds) { + this.guilds = guilds; + } + + public List getGradeNames() { + return gradeNames; + } + + public void setGradeNames(List gradeNames) { + this.gradeNames = gradeNames; + } + + public int getMaxMemberNum() { + return maxMemberNum; + } + + public void setMaxMemberNum(int maxMemberNum) { + this.maxMemberNum = maxMemberNum; + } + + public String getNotice() { + return notice; + } + + public void setNotice(String notice) { + this.notice = notice; + } + + public Guild getGuildByID(int guildID) { + return getGuilds().stream().filter(g -> g.getId() == guildID).findAny().orElse(null); + } + + public void broadcast(OutPacket outPacket) { + for (Guild guild : getGuilds()) { + guild.broadcast(outPacket); + } + } + + public void broadcast(OutPacket outPacket, Char exceptChar) { + for (Guild guild : getGuilds()) { + guild.broadcast(outPacket, exceptChar); + } + } + + public void addGuild(Guild guild) { + getGuilds().add(guild); + removePendingGuild(guild); + broadcast(WvsContext.allianceResult(AllianceResult.inviteDone(this, guild))); + updateToMembers(); + } + + public void removeGuild(Guild guild) { + Guild g = getGuildByID(guild.getId()); // to ensure it's the same instance as the one in the set + getGuilds().remove(g); + g.setAlliance(null); + } + + public void disband() { + for (Guild guild : getGuilds()) { + guild.setAlliance(null); + guild.updateToMembers(); + } + } + + public void updateToMembers() { + broadcast(WvsContext.allianceResult(AllianceResult.loadDone(this))); + broadcast(WvsContext.allianceResult(AllianceResult.loadGuildDone(this))); + } + + public void addPendingGuild(Guild guild) { + pendingGuilds.add(guild.getId()); + } + + public void removePendingGuild(Guild guild) { + pendingGuilds.remove(guild.getId()); + } + + public boolean isFull() { + return getGuilds().size() >= MAX_GUILDS; + } + + public boolean hasPendingGuildInvite(int id) { + return pendingGuilds.contains(id); + } +} diff --git a/src/main/java/net/swordie/ms/client/alliance/AllianceResult.java b/src/main/java/net/swordie/ms/client/alliance/AllianceResult.java new file mode 100755 index 0000000..2ea7638 --- /dev/null +++ b/src/main/java/net/swordie/ms/client/alliance/AllianceResult.java @@ -0,0 +1,260 @@ +package net.swordie.ms.client.alliance; + +import net.swordie.ms.client.guild.Guild; +import net.swordie.ms.client.guild.GuildMember; +import net.swordie.ms.connection.Encodable; +import net.swordie.ms.connection.OutPacket; +import net.swordie.ms.enums.AllianceType; + +/** + * @author Sjonnie + * Created on 9/1/2018. + */ +public class AllianceResult implements Encodable { + private AllianceType type; + private Alliance alliance; + private Guild guild; + private GuildMember member; + private GuildMember member2; + private boolean bool; + private int arg; + + public AllianceResult(AllianceType type) { + this.type = type; + } + + @Override + public void encode(OutPacket outPacket) { + outPacket.encodeByte(type.getVal()); + switch (type) { + case Req_Invite: + outPacket.encodeInt(member.getId()); // dwMemberID + outPacket.encodeString(member.getName()); + outPacket.encodeString(alliance.getName()); + break; + case Res_LoadDone: + outPacket.encodeByte(alliance != null); + if (alliance != null) { + outPacket.encode(alliance); + } + break; + case Res_LoadGuildDone: + outPacket.encodeInt(alliance.getGuilds().size()); + for (Guild guild : alliance.getGuilds()) { + outPacket.encode(guild); + } + break; + case Res_NotifyLoginOrLogout: + outPacket.encodeInt(alliance.getId()); // ignored? + outPacket.encodeInt(guild.getId()); + outPacket.encodeInt(member.getCharID()); + outPacket.encodeByte(member.isOnline()); + outPacket.encodeByte(bool); // bCreateWindow + break; + case Res_CreateDone: + outPacket.encode(alliance); + for (Guild guild : alliance.getGuilds()) { + outPacket.encode(guild); + } + break; + case Res_Withdraw_Done: + outPacket.encode(alliance); + outPacket.encodeInt(guild.getId()); // nLeavingGuildID + outPacket.encode(guild); + outPacket.encodeByte(bool); // bKicked + break; + case Res_Invite_Done: + outPacket.encode(alliance); + outPacket.encodeInt(guild.getId()); + outPacket.encode(guild); + break; + case Res_Invite_Failed: + case Res_ChangeGrade_Fail: + outPacket.encodeInt(arg); // nType + break; + case Res_UpdateAllianceInfo: + outPacket.encode(alliance); + break; + case Res_ChangeLevelOrJob: + outPacket.encodeInt(alliance.getId()); + outPacket.encodeInt(guild.getId()); + outPacket.encodeInt(member.getCharID()); + outPacket.encodeInt(member.getLevel()); + outPacket.encodeInt(member.getJob()); + break; + case Res_ChangeMaster_Done: + outPacket.encodeInt(alliance.getId()); + outPacket.encodeInt(member.getId()); // nOldLeaderID + outPacket.encodeInt(member2.getId()); // nNewLeaderID + break; + case Res_SetGradeName_Done: + outPacket.encodeInt(alliance.getId()); + for (String gradeName : alliance.getGradeNames()) { + outPacket.encodeString(gradeName); + } + break; + case Res_ChangeGrade_Done: + outPacket.encodeInt(member.getId()); + outPacket.encodeByte(arg); // nAllianceGrade + break; + case Res_SetNotice_Done: + outPacket.encodeInt(alliance.getId()); + outPacket.encodeString(alliance.getNotice()); + break; + case Res_Destroy_Done: + outPacket.encodeInt(alliance.getId()); + break; + case Res_UpdateGuildInfo: + outPacket.encodeInt(alliance.getId()); + outPacket.encodeInt(guild.getId()); + outPacket.encode(guild); + break; + } + } + + + public static AllianceResult inviteGuild(Alliance alliance, GuildMember member) { + AllianceResult ar = new AllianceResult(AllianceType.Req_Invite); + + ar.member = member; + ar.alliance = alliance; + + return ar; + } + + public static AllianceResult loadDone(Alliance alliance) { + AllianceResult ar = new AllianceResult(AllianceType.Res_LoadDone); + + ar.alliance = alliance; + + return ar; + } + + public static AllianceResult loadGuildDone(Alliance alliance) { + AllianceResult ar = new AllianceResult(AllianceType.Res_LoadGuildDone); + + ar.alliance = alliance; + + return ar; + } + + public static AllianceResult notifyLoginOrLogout(Alliance alliance, Guild guild, GuildMember guildMember, boolean showWindow) { + AllianceResult ar = new AllianceResult(AllianceType.Res_NotifyLoginOrLogout); + + ar.alliance = alliance; + ar.guild = guild; + ar.member = guildMember; + ar.bool = showWindow; + + return ar; + } + + public static AllianceResult createDone(Alliance alliance) { + AllianceResult ar = new AllianceResult(AllianceType.Res_CreateDone); + + ar.alliance = alliance; + + return ar; + } + + public static AllianceResult withdraw(Alliance alliance, Guild guild, boolean kicked) { + AllianceResult ar = new AllianceResult(AllianceType.Res_Withdraw_Done); + + ar.alliance = alliance; + ar.guild = guild; + ar.bool = kicked; + + return ar; + } + + public static AllianceResult inviteDone(Alliance alliance, Guild guild) { + AllianceResult ar = new AllianceResult(AllianceType.Res_Invite_Done); + + ar.alliance = alliance; + ar.guild = guild; + + return ar; + } + + public static AllianceResult msg(AllianceType art) { + return msg(art, 0); + } + + public static AllianceResult msg(AllianceType art, int arg) { + AllianceResult ar = new AllianceResult(art); + + ar.arg = arg; + + return ar; + } + + public static AllianceResult updateAllianceInfo(Alliance alliance) { + AllianceResult ar = new AllianceResult(AllianceType.Res_UpdateAllianceInfo); + + ar.alliance = alliance; + + return ar; + } + + public static AllianceResult changeLevelOrJob(Alliance alliance, Guild guild, GuildMember member) { + AllianceResult ar = new AllianceResult(AllianceType.Res_ChangeLevelOrJob); + + ar.alliance = alliance; + ar.guild = guild; + ar.member = member; + + return ar; + } + + public static AllianceResult changeMaster(Alliance alliance, GuildMember oldMaster, GuildMember newMaster) { + AllianceResult ar = new AllianceResult(AllianceType.Res_ChangeMaster_Done); + + ar.alliance = alliance; + ar.member = oldMaster; + ar.member2 = newMaster; + + return ar; + } + + public static AllianceResult setGradeName(Alliance alliance) { + AllianceResult ar = new AllianceResult(AllianceType.Res_SetGradeName_Done); + + ar.alliance = alliance; + + return ar; + } + + public static AllianceResult changeGrade(GuildMember member) { + AllianceResult ar = new AllianceResult(AllianceType.Res_ChangeGrade_Done); + + ar.member = member; + ar.arg = member.getAllianceGrade(); + + return ar; + } + + public static AllianceResult setNotice(Alliance alliance) { + AllianceResult ar = new AllianceResult(AllianceType.Res_SetNotice_Done); + + ar.alliance = alliance; + + return ar; + } + + public static AllianceResult destroy(Alliance alliance) { + AllianceResult ar = new AllianceResult(AllianceType.Res_Destroy_Done); + + ar.alliance = alliance; + + return ar; + } + + public static AllianceResult updateGuildInfo(Alliance alliance, Guild guild) { + AllianceResult ar = new AllianceResult(AllianceType.Res_UpdateGuildInfo); + + ar.alliance = alliance; + ar.guild = guild; + + return ar; + } +} diff --git a/src/main/java/net/swordie/ms/client/anticheat/Offense.java b/src/main/java/net/swordie/ms/client/anticheat/Offense.java new file mode 100755 index 0000000..1f9c894 --- /dev/null +++ b/src/main/java/net/swordie/ms/client/anticheat/Offense.java @@ -0,0 +1,138 @@ +package net.swordie.ms.client.anticheat; + +import net.swordie.ms.connection.db.converters.FileTimeConverter; +import net.swordie.ms.util.FileTime; + +import javax.persistence.*; + +@Entity +@Table(name = "offenses") +public class Offense { + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private long id; + private int charID; + private int accountID; + private String msg; + @Enumerated(EnumType.STRING) + private Type type; + @Convert(converter = FileTimeConverter.class) + private FileTime issueDate; + @Column(name = "issuer_char_id") + private int issuerCharID; + + public Offense() { + } + + public Offense(int charID, int accountID, String msg, Type type, FileTime issueDate, int issuerCharID) { + this.charID = charID; + this.accountID = accountID; + this.msg = msg; + this.type = type; + this.issueDate = issueDate; + this.issuerCharID = issuerCharID; + } + + public Offense withMsg(String msg) { + setMsg(msg); + return this; + } + + public Offense withType(Type type) { + setType(type); + return this; + } + + public Offense withIssuerID(int issuerCharID) { + setIssuerCharID(issuerCharID); + return this; + } + + public int getCharID() { + return charID; + } + + public void setCharID(int charID) { + this.charID = charID; + } + + public int getAccountID() { + return accountID; + } + + public void setAccountID(int accountID) { + this.accountID = accountID; + } + + public Type getType() { + return type; + } + + public void setType(Type type) { + this.type = type; + } + + public String getMsg() { + return msg; + } + + public void setMsg(String msg) { + this.msg = msg; + } + + public FileTime getIssueDate() { + return issueDate; + } + + public void setIssueDate(FileTime issueDate) { + this.issueDate = issueDate; + } + + public int getIssuerCharID() { + return issuerCharID; + } + + public void setIssuerCharID(int issuerCharID) { + this.issuerCharID = issuerCharID; + } + + public long getId() { + return id; + } + + public void setId(long id) { + this.id = id; + } + + public enum Type { + Warning(0), // Mostly for logging + Editing(5), // Any sort of client editing, like wz/packet + Gameplay(2), // Stuff like KSing + Behaviour(1), // Being annoying + Manual(5), // Manual offense (by doing !ban or something) + ; + + private int points; + + Type(int points) { + this.points = points; + } + + public int getPoints() { + return points; + } + } + + @Override + public String toString() { + return "Offense{" + + "charID=" + charID + + ", accountID=" + accountID + + ", msg='" + msg + '\'' + + ", type=" + type + + ", issueDate=" + issueDate + + ", issuerCharID=" + issuerCharID + + '}'; + } +} diff --git a/src/main/java/net/swordie/ms/client/anticheat/OffenseManager.java b/src/main/java/net/swordie/ms/client/anticheat/OffenseManager.java new file mode 100755 index 0000000..1cf4dad --- /dev/null +++ b/src/main/java/net/swordie/ms/client/anticheat/OffenseManager.java @@ -0,0 +1,156 @@ +package net.swordie.ms.client.anticheat; + +import net.swordie.ms.client.character.Char; +import net.swordie.ms.connection.db.DatabaseManager; +import net.swordie.ms.util.FileTime; +import org.apache.log4j.Logger; + +import javax.persistence.*; +import java.util.HashSet; +import java.util.Set; + +@Entity +@Table(name = "offense_managers") +public class OffenseManager { + @Transient + private static final Logger log = Logger.getLogger(DatabaseManager.class); + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private int id; + @OneToMany(cascade = CascadeType.ALL, orphanRemoval = true) + @JoinColumn(name = "manager_id") + private Set offenses; + private int points; + @Transient + private Char chr; + + /** + * Creates a new offense that was detected by the system (i.e., not manual) + * @param type the type of offense + * @param msg the description of the offense + */ + public void addOffense(Offense.Type type, String msg) { + addOffense(getDefaultOffsense() + .withMsg(msg) + .withType(type) + ); + } + + /** + * Creates a new offense that was detected by the system (i.e., not manual) + * @param type the type of offense + * @param msg the description of the offense + * @param expected expected value + * @param actual actual value + */ + public void addOffense(Offense.Type type, String msg, int expected, int actual) { + msg += String.format(" (expected %d, got %d)", expected, actual); + addOffense(getDefaultOffsense() + .withMsg(msg) + .withType(type) + ); + } + + /** + * Adds an offense seen by a game master. + * @param type the type of offense + * @param msg the description of the offense + * @param issuerCharID the game master's char id + */ + public void addOffense(Offense.Type type, String msg, int issuerCharID) { + addOffense(getDefaultOffsense() + .withMsg(msg) + .withType(type) + .withIssuerID(issuerCharID) + ); + } + + /** + * Adds an offense seen by a game master, with type Manual. + * @param msg the description of the offense + * @param issuerCharID the game master's char id + */ + public void addOffense(String msg, int issuerCharID) { + addOffense(getDefaultOffsense() + .withMsg(msg) + .withIssuerID(issuerCharID) + ); + } + + /** + * Adds an offense found by the system with type Editing. + * @param msg the description of the offense + */ + public void addOffense(String msg) { + addOffense(getDefaultOffsense() + .withMsg(msg) + .withType(Offense.Type.Editing)); + } + + /** + * Adds an offense found by the system with type Editing. + * @param msg the description of the offense + */ + public void addOffense(String msg, int expected, int actual) { + msg += String.format(" (expected %d, got %d)", expected, actual); + addOffense(msg); + } + + private Offense getDefaultOffsense() { + int charId = 0; + int accId = 0; + if (chr != null) { + charId = chr.getId(); + accId = chr.getUserId(); + } + + return new Offense(charId, accId, "", Offense.Type.Manual, FileTime.currentTime(), 0); + } + + private void addOffense(Offense offense) { + log.info("Added offense: " + offense); + addPoints(offense.getType().getPoints()); + // TODO do something at certain point intervals (temp ban, mute, idk) + getOffenses().add(offense); + } + + public Set getOffenses() { + if (offenses == null) { + offenses = new HashSet<>(); + } + return offenses; + } + + public void setOffenses(Set offenses) { + this.offenses = offenses; + } + + public Char getChr() { + return chr; + } + + public void setChr(Char chr) { + this.chr = chr; + } + + public int getPoints() { + return points; + } + + public void setPoints(int points) { + this.points = points; + } + + public void addPoints(int points) { + setPoints(getPoints() + points); + } + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } +} diff --git a/src/main/java/net/swordie/ms/client/character/BroadcastMsg.java b/src/main/java/net/swordie/ms/client/character/BroadcastMsg.java new file mode 100755 index 0000000..a77a518 --- /dev/null +++ b/src/main/java/net/swordie/ms/client/character/BroadcastMsg.java @@ -0,0 +1,320 @@ +package net.swordie.ms.client.character; + +import net.swordie.ms.client.character.items.Item; +import net.swordie.ms.connection.OutPacket; +import net.swordie.ms.enums.BroadcastMsgType; +import net.swordie.ms.util.FileTime; + +import java.util.List; + +/** + * Created by Asura on 17-6-2018. + */ +public class BroadcastMsg { + private BroadcastMsgType broadcastMsgType; + private Item item; + private String string; + private String string2; + private String string3; + private int arg1; + private int arg2; + private int arg3; + private Char chr; + + public void encode(OutPacket outPacket) { + outPacket.encodeByte(getBroadcastMsgType().getVal()); + + BroadcastMsgType bmt = getBroadcastMsgType(); + if (bmt == BroadcastMsgType.SlideNotice) { + if (getString() == null || getString().isEmpty()) { + outPacket.encodeByte(0); + } else { + outPacket.encodeByte(getArg1()); + } + } + if (bmt != BroadcastMsgType.TryRegisterAutoStartQuest && bmt != BroadcastMsgType.TryRegisterAutoStartQuest_NoAnnouncement) { + outPacket.encodeString(getString()); + } + if (bmt.isSmega()) { + // vm sub also used in other chat functions + chr.encodeChatInfo(outPacket, getString()); + } + + switch (getBroadcastMsgType()) { + case Notice: + case PopUpMessage: + case DarkBlueOnLightBlue: + case PartyChat: + case WhiteYellow: + case SwedishFlag: + break; + case Megaphone: + case MegaphoneNoMessage: + outPacket.encodeByte(getArg1()); // Channel + outPacket.encodeByte(getArg2()); // Mega Ear + break; + case ItemMegaphone: + outPacket.encodeByte(getArg1()); // Channel + outPacket.encodeByte(getArg2()); // Mega Ear + outPacket.encodeByte(getArg3()); // Boolean Item: Yes/No + if(getArg3() != 0) { + getItem().encode(outPacket); // Item encode + } + break; + case TripleMegaphone: + outPacket.encodeByte(getArg1()); // StringList size + if(getArg1() > 1) { + outPacket.encodeString(getString2()); // String 2 + chr.encodeChatInfo(outPacket, getString2()); + } + if(getArg1() > 2) { + outPacket.encodeString(getString3()); // String 3 + chr.encodeChatInfo(outPacket, getString3()); + } + outPacket.encodeByte(getArg2()); // Channel + outPacket.encodeByte(getArg3()); // Mega Ear + break; + case BlueChat_ItemInfo: + case BlueChat_ItemInfo_2: + outPacket.encodeInt(getArg1()); // item Id + if(getArg1() != 0) { + getItem().encode(outPacket); // item encode + } + break; + case GM_ErrorMessage: + outPacket.encodeInt(getArg1()); // npc Id + break; + case RedWithChannelInfo: + outPacket.encodeInt(getArg1()); // chr Id + // "#channel" will grab Chr's Channel + break; + case WhiteYellow_ItemInfo: + outPacket.encodeByte(getArg1()); // Boolean Item: Yes/No + if(getArg1() != 0) { + getItem().encode(outPacket); // Item encode + } + break; + case YellowChatFiled_ItemInfo: + outPacket.encodeInt(getArg1()); // item Id + outPacket.encodeByte(getArg2()); // boolean: show item + getItem().encode(outPacket); + break; + case PopUpNotice: + outPacket.encodeInt(getArg1()); // width + outPacket.encodeInt(getArg2()); // height + break; + case Yellow: + case Yellow_2: + getItem().encode(outPacket); // Item encode + break; + case TryRegisterAutoStartQuest: + outPacket.encodeInt(getArg1()); // Quest Id + outPacket.encodeInt(getArg2()); // Time Out + break; + case TryRegisterAutoStartQuest_NoAnnouncement: + outPacket.encodeInt(getArg1()); // Quest Id + break; + } + } + + public static BroadcastMsg itemMegaphone(String string, byte channel, boolean whisperEar, boolean containsItem, + Item item, Char chr) { + BroadcastMsg broadcastMsg = new BroadcastMsg(); + broadcastMsg.setBroadcastMsgType(BroadcastMsgType.ItemMegaphone); + + broadcastMsg.setString(string); + broadcastMsg.setArg1((byte) (channel - 1)); + broadcastMsg.setArg2((byte) (whisperEar ? 1 : 0)); + broadcastMsg.setArg3((byte) (containsItem ? 1 : 0)); + broadcastMsg.setChr(chr); + broadcastMsg.setItem(item); + + return broadcastMsg; + } + + public static BroadcastMsg slideNotice(String string, boolean show) { + BroadcastMsg broadcastMsg = new BroadcastMsg(); + broadcastMsg.setBroadcastMsgType(BroadcastMsgType.SlideNotice); + + broadcastMsg.setString(string); + broadcastMsg.setArg1(show ? 1 : 0); + + return broadcastMsg; + } + + public static BroadcastMsg tripleMegaphone(List stringList, byte channel, boolean whisperEar, Char chr) { + BroadcastMsg broadcastMsg = new BroadcastMsg(); + broadcastMsg.setBroadcastMsgType(BroadcastMsgType.TripleMegaphone); + + broadcastMsg.setArg1((byte) stringList.size()); + broadcastMsg.setString(stringList.get(0)); + if(stringList.size() > 1) { + broadcastMsg.setString2(stringList.get(1)); + } + if(stringList.size() > 2) { + broadcastMsg.setString3(stringList.get(2)); + } + broadcastMsg.setArg2((byte) (channel - 1)); + broadcastMsg.setArg3((byte) (whisperEar ? 1 : 0)); + broadcastMsg.setChr(chr); + + return broadcastMsg; + } + + public static BroadcastMsg megaphone(String string, byte channel, boolean whisperEar, Char chr) { + BroadcastMsg broadcastMsg = new BroadcastMsg(); + broadcastMsg.setBroadcastMsgType(BroadcastMsgType.Megaphone); + + broadcastMsg.setString(string); + broadcastMsg.setArg1((byte) (channel - 1)); + broadcastMsg.setArg2((byte) (whisperEar ? 1 : 0)); + broadcastMsg.setChr(chr); + + return broadcastMsg; + } + + public static BroadcastMsg notice(String string) { + BroadcastMsg broadcastMsg = new BroadcastMsg(); + broadcastMsg.setBroadcastMsgType(BroadcastMsgType.Notice); + + broadcastMsg.setString(string); + + return broadcastMsg; + } + + public static BroadcastMsg popUpMessage(String string) { + BroadcastMsg broadcastMsg = new BroadcastMsg(); + broadcastMsg.setBroadcastMsgType(BroadcastMsgType.PopUpMessage); + + broadcastMsg.setString(string); + + return broadcastMsg; + } + + public static BroadcastMsg popUpNotice(String string, int width, int height) { + BroadcastMsg broadcastMsg = new BroadcastMsg(); + broadcastMsg.setBroadcastMsgType(BroadcastMsgType.PopUpNotice); + + broadcastMsg.setString(string); + broadcastMsg.setArg1(width); + broadcastMsg.setArg2(height); + + return broadcastMsg; + } + + public static BroadcastMsg blueChatWithItemInfo(String string, Item item) { + BroadcastMsg broadcastMsg = new BroadcastMsg(); + broadcastMsg.setBroadcastMsgType(BroadcastMsgType.BlueChat_ItemInfo); + + broadcastMsg.setString(string); + broadcastMsg.setArg1(item.getItemId()); + broadcastMsg.setItem(item); + + return broadcastMsg; + } + + public static BroadcastMsg errorMessage(String string, int npcId) { + BroadcastMsg broadcastMsg = new BroadcastMsg(); + broadcastMsg.setBroadcastMsgType(BroadcastMsgType.GM_ErrorMessage); + + broadcastMsg.setString(string); + broadcastMsg.setArg1(npcId); + + return broadcastMsg; + } + + public static BroadcastMsg yellowFilled(String string, Item item, boolean show) { + BroadcastMsg broadcastMsg = new BroadcastMsg(); + broadcastMsg.setBroadcastMsgType(BroadcastMsgType.YellowChatFiled_ItemInfo); + + broadcastMsg.setString(string); + broadcastMsg.setItem(item); + broadcastMsg.setArg1(show ? 1 : 0); + + return broadcastMsg; + } + + /* + public static BroadcastMsg slideNotice(String string, boolean show) { + BroadcastMsg broadcastMsg = new BroadcastMsg(); + broadcastMsg.setBroadcastMsgType(BroadcastMsgType.SlideNotice); + + broadcastMsg.setString(string); + broadcastMsg.setArg1(show ? 1 : 0); + + return broadcastMsg; + } +*/ + + public BroadcastMsgType getBroadcastMsgType() { + return broadcastMsgType; + } + + public void setBroadcastMsgType(BroadcastMsgType broadcastMsgType) { + this.broadcastMsgType = broadcastMsgType; + } + + public String getString() { + return string; + } + + public void setString(String string) { + this.string = string; + } + + public String getString2() { + return string2; + } + + public void setString2(String string2) { + this.string2 = string2; + } + + public String getString3() { + return string3; + } + + public void setString3(String string3) { + this.string3 = string3; + } + + public int getArg1() { + return arg1; + } + + public void setArg1(int arg1) { + this.arg1 = arg1; + } + + public int getArg2() { + return arg2; + } + + public void setArg2(int arg2) { + this.arg2 = arg2; + } + + public int getArg3() { + return arg3; + } + + public void setArg3(int arg3) { + this.arg3 = arg3; + } + + public Item getItem() { + return item; + } + + public void setItem(Item item) { + this.item = item; + } + + public Char getChr() { + return chr; + } + + public void setChr(Char chr) { + this.chr = chr; + } +} diff --git a/src/main/java/net/swordie/ms/client/character/Char.java b/src/main/java/net/swordie/ms/client/character/Char.java new file mode 100755 index 0000000..e88d2d0 --- /dev/null +++ b/src/main/java/net/swordie/ms/client/character/Char.java @@ -0,0 +1,6752 @@ +package net.swordie.ms.client.character; + +import net.swordie.ms.Server; +import net.swordie.ms.client.Account; +import net.swordie.ms.client.Client; +import net.swordie.ms.client.LinkSkill; +import net.swordie.ms.client.User; +import net.swordie.ms.client.alliance.Alliance; +import net.swordie.ms.client.alliance.AllianceResult; +import net.swordie.ms.client.anticheat.OffenseManager; +import net.swordie.ms.client.character.avatar.AvatarData; +import net.swordie.ms.client.character.avatar.AvatarLook; +import net.swordie.ms.client.character.avatar.BeautyAlbum; +import net.swordie.ms.client.character.cards.MonsterBookInfo; +import net.swordie.ms.client.character.damage.DamageCalc; +import net.swordie.ms.client.character.damage.DamageSkinSaveData; +import net.swordie.ms.client.character.info.*; +import net.swordie.ms.client.character.items.*; +import net.swordie.ms.client.character.keys.FuncKeyMap; +import net.swordie.ms.client.character.monsterbattle.MonsterBattleLadder; +import net.swordie.ms.client.character.monsterbattle.MonsterBattleMobInfo; +import net.swordie.ms.client.character.monsterbattle.MonsterBattleRankInfo; +import net.swordie.ms.client.character.potential.CharacterPotential; +import net.swordie.ms.client.character.potential.CharacterPotentialMan; +import net.swordie.ms.client.character.quest.Quest; +import net.swordie.ms.client.character.quest.QuestEx; +import net.swordie.ms.client.character.quest.QuestManager; +import net.swordie.ms.client.character.runestones.RuneStone; +import net.swordie.ms.client.character.skills.*; +import net.swordie.ms.client.character.skills.info.ForceAtomInfo; +import net.swordie.ms.client.character.skills.info.SkillInfo; +import net.swordie.ms.client.character.skills.info.SkillUseInfo; +import net.swordie.ms.client.character.skills.temp.CharacterTemporaryStat; +import net.swordie.ms.client.character.skills.temp.TemporaryStatManager; +import net.swordie.ms.client.character.union.Union; +import net.swordie.ms.client.character.union.UnionMember; +import net.swordie.ms.client.friend.Friend; +import net.swordie.ms.client.friend.FriendFlag; +import net.swordie.ms.client.friend.FriendRecord; +import net.swordie.ms.client.friend.FriendshipRingRecord; +import net.swordie.ms.client.friend.result.FriendResult; +import net.swordie.ms.client.guild.Guild; +import net.swordie.ms.client.guild.GuildMember; +import net.swordie.ms.client.guild.result.GuildResult; +import net.swordie.ms.client.jobs.Job; +import net.swordie.ms.client.jobs.JobManager; +import net.swordie.ms.client.jobs.adventurer.pirate.Corsair; +import net.swordie.ms.client.jobs.cygnus.NightWalker; +import net.swordie.ms.client.jobs.legend.Evan; +import net.swordie.ms.client.jobs.legend.Luminous; +import net.swordie.ms.client.jobs.legend.Phantom; +import net.swordie.ms.client.jobs.resistance.WildHunterInfo; +import net.swordie.ms.client.jobs.resistance.demon.DemonAvenger; +import net.swordie.ms.client.jobs.sengoku.Hayato; +import net.swordie.ms.client.jobs.sengoku.Kanna; +import net.swordie.ms.client.party.Party; +import net.swordie.ms.client.party.PartyMember; +import net.swordie.ms.client.party.PartyResult; +import net.swordie.ms.connection.OutPacket; +import net.swordie.ms.connection.db.DatabaseManager; +import net.swordie.ms.connection.db.converters.InlinedIntArrayConverter; +import net.swordie.ms.connection.packet.*; +import net.swordie.ms.constants.*; +import net.swordie.ms.enums.*; +import net.swordie.ms.handlers.ClientSocket; +import net.swordie.ms.handlers.EventManager; +import net.swordie.ms.life.*; +import net.swordie.ms.life.drop.Drop; +import net.swordie.ms.life.mob.Mob; +import net.swordie.ms.life.pet.Pet; +import net.swordie.ms.loaders.*; +import net.swordie.ms.loaders.containerclasses.AndroidInfo; +import net.swordie.ms.loaders.containerclasses.ItemInfo; +import net.swordie.ms.loaders.containerclasses.ItemSet; +import net.swordie.ms.scripts.ScriptInfo; +import net.swordie.ms.scripts.ScriptManagerImpl; +import net.swordie.ms.scripts.ScriptType; +import net.swordie.ms.util.*; +import net.swordie.ms.util.container.Tuple; +import net.swordie.ms.world.Channel; +import net.swordie.ms.world.World; +import net.swordie.ms.world.field.*; +import net.swordie.ms.world.field.fieldeffect.FieldEffect; +import net.swordie.ms.world.gach.GachaponManager; +import net.swordie.ms.world.shop.NpcShopDlg; +import net.swordie.ms.world.shop.NpcShopItem; +import org.apache.log4j.Logger; +import org.hibernate.Session; +import org.hibernate.Transaction; + +import javax.persistence.*; +import java.awt.*; +import java.io.IOException; +import java.time.LocalDateTime; +import java.util.List; +import java.util.*; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.ScheduledFuture; +import java.util.concurrent.TimeUnit; +import java.util.function.Predicate; +import java.util.stream.Collectors; + +import static net.swordie.ms.client.character.skills.temp.CharacterTemporaryStat.*; +import static net.swordie.ms.enums.ChatType.SpeakerChannel; +import static net.swordie.ms.enums.ChatType.SystemNotice; +import static net.swordie.ms.enums.InvType.EQUIP; +import static net.swordie.ms.enums.InvType.EQUIPPED; +import static net.swordie.ms.enums.InventoryOperation.*; + +/** + * Created on 11/17/2017. + */ +@Entity +@Table(name = "characters") +public class Char { + + @Transient + private static final Logger log = Logger.getLogger(Char.class); + + @Transient + private Client client; + private int rewardPoints; + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @Column(name = "id") + private int id; + private int userId; + + @JoinColumn(name = "questManager") + @OneToOne(cascade = CascadeType.ALL, orphanRemoval = true) + private QuestManager questManager; + + @JoinColumn(name = "equippedInventory") + @OneToOne(cascade = CascadeType.ALL, orphanRemoval = true) + private Inventory equippedInventory = new Inventory(EQUIPPED, GameConstants.MAX_INV_SLOTS); + + @JoinColumn(name = "equipInventory") + @OneToOne(cascade = CascadeType.ALL, orphanRemoval = true) + private Inventory equipInventory = new Inventory(EQUIP, GameConstants.MAX_INV_SLOTS); + + @JoinColumn(name = "consumeInventory") + @OneToOne(cascade = CascadeType.ALL, orphanRemoval = true) + private Inventory consumeInventory = new Inventory(InvType.CONSUME, GameConstants.MAX_INV_SLOTS); + + @JoinColumn(name = "etcInventory") + @OneToOne(cascade = CascadeType.ALL, orphanRemoval = true) + private Inventory etcInventory = new Inventory(InvType.ETC, GameConstants.MAX_INV_SLOTS); + + @JoinColumn(name = "installInventory") + @OneToOne(cascade = CascadeType.ALL, orphanRemoval = true) + private Inventory installInventory = new Inventory(InvType.INSTALL, GameConstants.MAX_INV_SLOTS); + + @JoinColumn(name = "cashInventory") + @OneToOne(cascade = CascadeType.ALL, orphanRemoval = true) + private Inventory cashInventory = new Inventory(InvType.CASH, GameConstants.MAX_INV_SLOTS); + + @JoinColumn(name = "avatarData") + @OneToOne(cascade = CascadeType.ALL, orphanRemoval = true) + private AvatarData avatarData; + + @JoinColumn(name = "charId") + @OneToMany(cascade = CascadeType.ALL, orphanRemoval = true) + private List funcKeyMaps; + + @JoinColumn(name = "hairInventory") + @OneToOne(cascade = CascadeType.ALL, orphanRemoval = true) + private Inventory hairInventory = new Inventory(InvType.HAIR, 3); + + @JoinColumn(name = "faceInventory") + @OneToOne(cascade = CascadeType.ALL, orphanRemoval = true) + private Inventory faceInventory = new Inventory(InvType.FACE, 3); + + @JoinColumn(name = "charId") + @OneToMany(cascade = CascadeType.ALL, orphanRemoval = true) + private List beautyAlbum = new ArrayList<>(); + + @JoinColumn(name = "charId") + @OneToMany(cascade = CascadeType.ALL, orphanRemoval = true, fetch = FetchType.EAGER) + private Set skills; + + @JoinColumn(name = "ownerID") + @OneToMany(cascade = CascadeType.ALL, orphanRemoval = true, fetch = FetchType.EAGER) + private Set friends; + + @JoinColumn(name = "charId") + @OneToMany(cascade = CascadeType.ALL, orphanRemoval = true, fetch = FetchType.EAGER) + private Set potentials; + + @JoinColumn(name = "charId") + @OneToMany(cascade = CascadeType.ALL, orphanRemoval = true, fetch = FetchType.EAGER) + private Set familiars; + + @JoinColumn(name = "charId") + @OneToMany(cascade = CascadeType.ALL, orphanRemoval = true) + private List macros = new ArrayList<>(); + + @JoinColumn(name = "guild") + @OneToOne(cascade = CascadeType.ALL) + private Guild guild; + + @JoinColumn(name = "monsterBook") + @OneToOne(cascade = CascadeType.ALL) + private MonsterBookInfo monsterBookInfo; + + @JoinColumn(name = "charId") + @OneToMany(cascade = CascadeType.ALL) + private Set stolenSkills; + + @JoinColumn(name = "charId") + @OneToMany(cascade = CascadeType.ALL) + private Set chosenSkills; + + @JoinColumn(name = "charId") + @OneToMany(cascade = CascadeType.ALL, orphanRemoval = true, fetch = FetchType.EAGER) + private Set matrixRecords = new HashSet<>(); + + @ElementCollection(fetch = FetchType.EAGER) + @CollectionTable(name = "hyperrockfields", joinColumns = @JoinColumn(name = "charId")) + @Column(name = "fieldid") + @OrderColumn(name = "ord") + private int[] hyperrockfields = new int[13]; + + @Column(name = "monsterparkcount") + private byte monsterParkCount; + + private int partyID = 0; // Just for DB purposes + private int previousFieldID; + private int location; + + @ElementCollection(fetch = FetchType.EAGER) + @CollectionTable(name = "skillcooltimes", joinColumns = @JoinColumn(name = "charId")) + @MapKeyColumn(name = "skillid") + @Column(name = "nextusabletime") + private Map skillCoolTimes = new HashMap<>(); + + @ElementCollection(fetch = FetchType.EAGER) + @CollectionTable(name = "towerchairs", joinColumns = @JoinColumn(name = "charId")) + @Column(name = "chairid") + @OrderColumn(name = "ord") + private int[] towerChairs; + + @ElementCollection + @CollectionTable(name = "quests_ex", joinColumns = @JoinColumn(name = "charId")) + @MapKeyColumn(name = "questID") + @Column(name = "qrValue") + private Map questsExStorage; + + @JoinColumn(name = "charId") + @OneToMany(cascade = CascadeType.ALL, orphanRemoval = true) + private List hotTimeRewards = new ArrayList<>(); + + @Transient + private CharacterPotentialMan potentialMan; + @Transient + private Map questRecordEx; + @Transient + private Ranking ranking; + @Transient + private int combatOrders; + @Transient + private List itemPots; + @Transient + private List pets; + @Transient + private List friendRecords; + @Transient + private List expConsumeItems; + @Transient + private List monsterBattleMobInfos; + @Transient + private MonsterBattleLadder monsterBattleLadder; + @Transient + private MonsterBattleRankInfo monsterBattleRankInfo; + @Transient + private Position position; + @Transient + private Position oldPosition; + @Transient + private Field field; + @Transient + private byte moveAction; + @Transient + private TemporaryStatManager temporaryStatManager; + @Transient + private GachaponManager gachaponManager; + @Transient + private Job jobHandler; + @Transient + private MarriageRecord marriageRecord; + @Transient + private WildHunterInfo wildHunterInfo; + @Transient + private ZeroInfo zeroInfo; + @Transient + private int nickItem; + @Transient + private DamageSkinSaveData damageSkin = new DamageSkinSaveData(); + @Transient + private DamageSkinSaveData premiumDamageSkin = new DamageSkinSaveData(); + @Transient + private boolean partyInvitable; + @Transient + private ScriptManagerImpl scriptManagerImpl = new ScriptManagerImpl(this); + @Transient + private int driverID; + @Transient + private int passengerID; + @Transient + private int chocoCount; + @Transient + private int activeEffectItemID; + @Transient + private int monkeyEffectItemID; + @Transient + private int completedSetItemID; + @Transient + private short fieldSeatID; + @Transient + private PortableChair chair; + @Transient + private short foothold; + @Transient + private int tamingMobLevel; + @Transient + private int tamingMobExp; + @Transient + private int tamingMobFatigue; + @Transient + private MiniRoom miniRoom; + @Transient + private String ADBoardRemoteMsg; + @Transient + private boolean inCouple; + @Transient + private CoupleRecord couple; + @Transient + private FriendshipRingRecord friendshipRingRecord; + @Transient + private int evanDragonGlide; + @Transient + private int kaiserMorphRotateHueExtern; + @Transient + private int kaiserMorphPrimiumBlack; + @Transient + private int kaiserMorphRotateHueInnner; + @Transient + private int makingMeisterSkillEff; + @Transient + private FarmUserInfo farmUserInfo; + @Transient + private int customizeEffect; + @Transient + private String customizeEffectMsg; + @Transient + private byte soulEffect; + @Transient + private FreezeHotEventInfo freezeHotEventInfo; + @Transient + private int eventBestFriendAID; + @Transient + private int mesoChairCount; + @Transient + private boolean beastFormWingOn; + @Transient + private int activeNickItemID; + @Transient + private int mechanicHue; + @Transient + private boolean online; + @Transient + private Party party; + @Transient + private Instance instance; + @Transient + private int bulletIDForAttack; + @Transient + private NpcShopDlg shop; + @Transient // yes + private User user; + @Transient // yes + private Account account; + @Transient + private Client chatClient; + @Transient + private DamageCalc damageCalc; + @Transient + private boolean buffProtector; + @Transient + private int comboCounter; + @Transient + private ScheduledFuture comboKillResetTimer; + @Transient + private ScheduledFuture timeLimitTimer; + @Transient + private int deathCount = -1; + @Transient + private long runeStoneCooldown; + @Transient + private MemorialCubeInfo memorialCubeInfo; + @Transient + private Familiar activeFamiliar; + @Transient + private boolean skillCDBypass = false; + // TODO Move this to CharacterStat? + @Transient + private Map baseStats = new HashMap<>(); + @Transient + private Map> nonAddBaseStats = new HashMap<>(); + @Transient + private boolean changingChannel; + @Transient + private TownPortal townPortal; + @Transient + private TradeRoom tradeRoom; + @Transient + private boolean battleRecordOn; + @Transient + private long nextRandomPortalTime; + @Transient + private Map currentDirectionNode; + @Transient + private String lieDetectorAnswer = ""; + @Transient + private long lastLieDetector = 0; + // TOOD: count and log lie detector passes and fails + @Transient + private boolean tutor = false; + @Transient + private int transferField = 0; + @Transient + private int transferFieldReq = 0; + @Transient + private String blessingOfFairy = null; + @Transient + private String blessingOfEmpress = null; + @Transient + private Map hyperPsdSkillsCooltimeR = new HashMap<>(); + @Transient + private boolean isInvincible; + @Transient + private boolean talkingToNpc; + @Convert(converter = InlinedIntArrayConverter.class) + private List quickslotKeys; + @Transient + private Android android; + @Transient + private boolean skillInfoMode = false; + @Transient + private boolean debugMode = true; + @Transient + private List buyBack = new ArrayList<>(); + @Transient + private Map psychicAreas = new HashMap<>(); + @Transient + private Map forceAtoms = new HashMap<>(); + @Transient + private int forceAtomKeyCounter = 1; + @Transient + private Char copy; + @Transient + private Map followAffectedAreas = new HashMap<>(); + @Transient + private boolean showDamageCalc; + @Transient + private Map psdWTBonus = new HashMap<>(); + @Transient + private boolean hide; + @Transient + private Map activeSetEffects = new HashMap<>(); + @Transient + private Map setBaseStats = new HashMap<>(); + @Transient + private Map> setNonAddBaseStats = new HashMap<>(); + + @Transient + private ScheduledFuture keyDownTimer; + + @Transient + private boolean petItemVac = false; + + public ScheduledFuture getKeyDownTimer() { + return keyDownTimer; + } + + public void setKeyDownTimer(ScheduledFuture keyDownTimer) { + this.keyDownTimer = keyDownTimer; + } + + public void cancelKeyDownTimer() { + if (getKeyDownTimer() != null && !getKeyDownTimer().isDone()) { + getKeyDownTimer().cancel(true); + } + } + + public Char() { + this("", 0, 0, 0, (short) 0, 0, (byte) -1, (byte) 0, 0, 0, new int[]{}); + } + + public Char(String name, int keySettingType, int eventNewCharSaleJob, int job, short curSelectedSubJob, int curSelectedRace, + byte gender, byte skin, int face, int hair, int[] items) { + avatarData = new AvatarData(); + avatarData.setAvatarLook(new AvatarLook()); + AvatarLook avatarLook = avatarData.getAvatarLook(); + avatarLook.setGender(gender); + avatarLook.setSkin(skin); + avatarLook.setFace(face); + avatarLook.setHair(hair); + Map hairEquips = new HashMap<>(); + for (int itemId : items) { + Equip equip = ItemData.getEquipDeepCopyFromID(itemId, false); + if (equip != null && ItemConstants.isEquip(itemId)) { + hairEquips.put((byte) ItemConstants.getBodyPartFromItem(itemId, 2), itemId); + if ("Wp".equals(equip.getiSlot())) { + if (!equip.isCash()) { + avatarLook.setWeaponId(itemId); + } else { + avatarLook.setWeaponStickerId(itemId); + } + } + } + } + avatarLook.setHairEquips(hairEquips); + avatarLook.setJob(job); + if (curSelectedRace == 15) { + getAvatarData().setZeroAvatarLook(new AvatarLook()); + AvatarLook BetaAvatarLook = getAvatarData().getZeroAvatarLook(); + BetaAvatarLook.setGender(1); + BetaAvatarLook.setSkin(avatarLook.getSkin()); + BetaAvatarLook.setFace(21290); + BetaAvatarLook.setHair(37623); + BetaAvatarLook.setZeroBetaLook(true); + avatarLook.setWeaponId(1572000); + BetaAvatarLook.setWeaponId(1562000); + BetaAvatarLook.getHairEquips().put((byte) BodyPart.Top.getVal(), 1052606); + BetaAvatarLook.getHairEquips().put((byte) BodyPart.Shoes.getVal(), 1072814); + BetaAvatarLook.getHairEquips().put((byte) BodyPart.Cape.getVal(), 1102552); + } + CharacterStat characterStat = new CharacterStat(name, job); + getAvatarData().setCharacterStat(characterStat); + characterStat.setGender(gender); + characterStat.setSkin(skin); + characterStat.setFace(items.length > 0 ? items[0] : 0); + characterStat.setHair(items.length > 1 ? items[1] : 0); + characterStat.setSubJob(curSelectedSubJob); + ranking = new Ranking(); + pets = new ArrayList<>(); + questManager = new QuestManager(this); + itemPots = new ArrayList<>(); + friendRecords = new ArrayList<>(); + expConsumeItems = new ArrayList<>(); + skills = new HashSet<>(); + temporaryStatManager = new TemporaryStatManager(this); + gachaponManager = new GachaponManager(); + friends = new HashSet<>(); + monsterBookInfo = new MonsterBookInfo(); + potentialMan = new CharacterPotentialMan(this); + familiars = new HashSet<>(); + hyperrockfields = new int[]{ + 999999999, + 999999999, + 999999999, + + 999999999, + 999999999, + 999999999, + + 999999999, + 999999999, + 999999999, + + 999999999, + 999999999, + 999999999, + + 999999999, + }; + towerChairs = new int[6]; + monsterParkCount = 0; + currentDirectionNode = new HashMap<>(); + potentials = new HashSet<>(); + questRecordEx = new HashMap<>(); + funcKeyMaps = new ArrayList<>(); +// monsterBattleMobInfos = new ArrayList<>(); +// monsterBattleLadder = new MonsterBattleLadder(); +// monsterBattleRankInfo = new MonsterBattleRankInfo(); + } + + public static Char getFromDBById(int userId) { + Char chr = (Char) DatabaseManager.getObjFromDB(Char.class, userId); + User user = null; + for (World world : Server.getInstance().getWorlds()) { + user = world.getUserById(chr.getUserId()); + if (user != null) { + // ensures the char is the same instance as the one the server has in its cache + chr = user.getCharById(userId); + break; + } + } + return chr; + } + + public static Char getFromDBByName(String name) { + log.info(String.format("%s: Trying to get Char by name (%s).", LocalDateTime.now(), name)); + // DAO? + Session session = DatabaseManager.getSession(); + Transaction transaction = session.beginTransaction(); + Query query = session.createQuery("FROM Char chr WHERE chr.avatarData.characterStat.name = :name"); + query.setParameter("name", name); + List l = ((org.hibernate.query.Query) query).list(); + Char chr = null; + if (l != null && l.size() > 0) { + chr = (Char) l.get(0); + } + transaction.commit(); + session.close(); + return chr; + } + + public static Char getFromDBByNameAndWorld(String name, int worldId) { + Session session = DatabaseManager.getSession(); + Transaction transaction = session.beginTransaction(); + Query query = session.createQuery("FROM Char chr " + + "WHERE chr.avatarData.characterStat.name = :name AND chr.avatarData.characterStat.worldIdForLog = :world"); + query.setParameter("name", name); + query.setParameter("world", worldId); + List l = ((org.hibernate.query.Query) query).list(); + Char chr = null; + if (l != null && l.size() > 0) { + chr = (Char) l.get(0); + } + transaction.commit(); + session.close(); + return chr; + } + + public AvatarData getAvatarData() { + return avatarData; + } + + public Ranking getRanking() { + return ranking; + } + + public Integer getId() { + return id; + } + + public void setAvatarData(AvatarData avatarData) { + this.avatarData = avatarData; + } + + public void setRanking(Ranking ranking) { + this.ranking = ranking; + } + + public void setUserId(int userId) { + this.userId = userId; + } + + public int getUserId() { + return userId; + } + + public Inventory getEquippedInventory() { + return equippedInventory; + } + + public void addItemToInventory(InvType type, Item item, boolean hasCorrectBagIndex) { + addItemToInventory(type, item, hasCorrectBagIndex, false); + } + + public void addItemToInventory(InvType type, Item item, boolean hasCorrectBagIndex, boolean byPet) { + if (item == null) { + return; + } + Inventory inventory = getInventoryByType(type); + if (inventory == null || inventory.isFull()) { + throw new IllegalStateException("Cannot add item to a full inventory."); + } + ItemInfo ii = ItemData.getItemInfoByID(item.getItemId()); + int quantity = item.getQuantity(); + Item existingItem = inventory.getItemByItemIDAndStackable(item.getItemId()); + boolean rec = false; + if (existingItem != null && existingItem.getInvType().isStackable() && existingItem.getQuantity() < ii.getSlotMax()) { + if (quantity + existingItem.getQuantity() > ii.getSlotMax()) { + quantity = ii.getSlotMax() - existingItem.getQuantity(); + item.setQuantity(item.getQuantity() - quantity); + rec = true; + } + existingItem.addQuantity(quantity); + write(WvsContext.inventoryOperation(!byPet, false, + UpdateQuantity, (short) existingItem.getBagIndex(), (byte) -1, 0, existingItem)); + Item copy = item.deepCopy(); + copy.setQuantity(quantity); + if (rec) { + addItemToInventory(item); + } + } else { + if (!hasCorrectBagIndex) { + item.setBagIndex(inventory.getFirstOpenSlot()); + } + Item itemCopy = null; + if (item.getInvType().isStackable() && ii != null && item.getQuantity() > ii.getSlotMax()) { + itemCopy = item.deepCopy(); + quantity = quantity - ii.getSlotMax(); + itemCopy.setQuantity(quantity); + item.setQuantity(ii.getSlotMax()); + rec = true; + } + inventory.addItem(item); + if (ItemConstants.isArcaneSymbol(item.getItemId())) { + ((Equip) item).initSymbolStats((short) 1, getJob()); + } + write(WvsContext.inventoryOperation(!byPet, false, + Add, (short) item.getBagIndex(), (byte) -1, 0, item)); + if (rec) { + addItemToInventory(itemCopy); + } + } + setBulletIDForAttack(calculateBulletIDForAttack()); + } + + public void addItemToInventory(Item item) { + addItemToInventory(item.getInvType(), item, false); + } + + public void setEquippedInventory(Inventory equippedInventory) { + this.equippedInventory = equippedInventory; + } + + public Inventory getEquipInventory() { + return equipInventory; + } + + public void setEquipInventory(Inventory equipInventory) { + this.equipInventory = equipInventory; + } + + public Inventory getConsumeInventory() { + return consumeInventory; + } + + public void setConsumeInventory(Inventory consumeInventory) { + this.consumeInventory = consumeInventory; + } + + public Inventory getEtcInventory() { + return etcInventory; + } + + public void setEtcInventory(Inventory etcInventory) { + this.etcInventory = etcInventory; + } + + public Inventory getInstallInventory() { + return installInventory; + } + + public void setInstallInventory(Inventory installInventory) { + this.installInventory = installInventory; + } + + public Inventory getCashInventory() { + return cashInventory; + } + + public void setCashInventory(Inventory cashInventory) { + this.cashInventory = cashInventory; + } + + /** + * Encodes this Char's info inside a given {@link OutPacket}, with given info. + * + * @param outPacket The OutPacket this method should encode to. + * @param mask Which info should be encoded. + */ + public void encode(OutPacket outPacket, DBChar mask) { + // CharacterData::Decode + outPacket.encodeLong(mask.get()); + + outPacket.encodeByte(getCombatOrders()); + for (int i = 0; i < GameConstants.MAX_PET_AMOUNT; i++) { + if (i < getPets().size()) { + outPacket.encodeInt(getPets().get(i).getActiveSkillCoolTime()); + } else { + outPacket.encodeInt(-1); + } + } + outPacket.encodeByte(0); // unk, not in kmst + byte sizeByte = 0; + outPacket.encodeByte(sizeByte); + for (int i = 0; i < sizeByte; i++) { + outPacket.encodeInt(0); + } + + int sizee = 0; + outPacket.encodeInt(sizee); + for (int i = 0; i < sizee; i++) { + outPacket.encodeInt(0); // nKey + outPacket.encodeLong(0); // pInfo + } + boolean boolan = false; + outPacket.encodeByte(boolan); // again unsure + if (boolan) { + outPacket.encodeByte(0); + sizee = 0; + outPacket.encodeInt(sizee); + for (int i = 0; i < sizee; i++) { + outPacket.encodeLong(0); + } + for (int i = 0; i < sizee; i++) { + outPacket.encodeLong(0); + } + } + + if (mask.isInMask(DBChar.Character)) { + getAvatarData().getCharacterStat().encode(outPacket); + outPacket.encodeByte(getFriendRecords().size()); + boolean hasBlessingOfFairy = getBlessingOfFairy() != null; + outPacket.encodeByte(hasBlessingOfFairy); + if (hasBlessingOfFairy) { + outPacket.encodeString(getBlessingOfFairy()); + } + boolean hasBlessingOfEmpress = getBlessingOfEmpress() != null; + outPacket.encodeByte(hasBlessingOfEmpress); + if (hasBlessingOfEmpress) { + outPacket.encodeString(getBlessingOfEmpress()); + } + outPacket.encodeByte(false); // ultimate explorer, deprecated + } + if (mask.isInMask(DBChar.Money)) { + outPacket.encodeLong(getMoney()); + } + + if (mask.isInMask(DBChar.ItemSlotConsume) || mask.isInMask(DBChar.ExpConsumeItem)) { + outPacket.encodeInt(getExpConsumeItems().size()); + for (ExpConsumeItem eci : getExpConsumeItems()) { + eci.encode(outPacket); + } + } + if (mask.isInMask(DBChar.ItemSlotConsume) || mask.isInMask(DBChar.ShopBuyLimit)) { + int size = 0; + outPacket.encodeInt(size); + for (int i = 0; i < size; i++) { + outPacket.encodeInt(0); + outPacket.encodeInt(0); + outPacket.encodeInt(0); + outPacket.encodeInt(0); + outPacket.encodeInt(0); + outPacket.encodeLong(0); + outPacket.encodeLong(0); + } + } + if (mask.isInMask(DBChar.InventorySize)) { + outPacket.encodeByte(getEquipInventory().getSlots()); + outPacket.encodeByte(getConsumeInventory().getSlots()); + outPacket.encodeByte(getEtcInventory().getSlots()); + outPacket.encodeByte(getInstallInventory().getSlots()); + outPacket.encodeByte(getCashInventory().getSlots()); + } + + if (mask.isInMask(DBChar.EquipExtension)) { + outPacket.encodeFT(FileTime.fromType(FileTime.Type.MAX_TIME)); // extra pendant + } + + if (mask.isInMask(DBChar.ItemSlotEquip)) { + outPacket.encodeByte(0); // ? + List equippedItems = new ArrayList<>(getEquippedInventory().getItems()); + equippedItems.sort(Comparator.comparingInt(Item::getBagIndex)); + // Normal equipped items + for (Item item : equippedItems) { + Equip equip = (Equip) item; + if (item.getBagIndex() > BodyPart.BPBase.getVal() && item.getBagIndex() < BodyPart.BPEnd.getVal()) { + outPacket.encodeShort(equip.getBagIndex()); + equip.encode(outPacket); + } + } + outPacket.encodeShort(0); + // Cash equipped items + for (Item item : getEquippedInventory().getItems()) { + Equip equip = (Equip) item; + if (item.getBagIndex() >= BodyPart.CBPBase.getVal() && item.getBagIndex() <= BodyPart.CBPEnd.getVal()) { + outPacket.encodeShort(equip.getBagIndex() - 100); + equip.encode(outPacket); + } + } + outPacket.encodeShort(0); + // Equip inventory + for (Item item : getEquipInventory().getItems()) { + Equip equip = (Equip) item; + outPacket.encodeShort(equip.getBagIndex()); + equip.encode(outPacket); + } + outPacket.encodeShort(0); + // NonBPEquip::Decode (10 inventory decodes) + // Evan + for (Item item : getEquippedInventory().getItems()) { + Equip equip = (Equip) item; + if (item.getBagIndex() >= BodyPart.EvanBase.getVal() && item.getBagIndex() < BodyPart.EvanEnd.getVal()) { + outPacket.encodeShort(equip.getBagIndex()); + equip.encode(outPacket); + } + } + outPacket.encodeShort(0); + // Mech + for (Item item : getEquippedInventory().getItems()) { + Equip equip = (Equip) item; + if (item.getBagIndex() >= BodyPart.MechBase.getVal() && item.getBagIndex() <= BodyPart.MechEnd.getVal()) { + outPacket.encodeShort(equip.getBagIndex()); + equip.encode(outPacket); + } + } + outPacket.encodeShort(0); + // Android + for (Item item : getEquippedInventory().getItems()) { + Equip equip = (Equip) item; + if (item.getBagIndex() >= BodyPart.APBase.getVal() && item.getBagIndex() <= BodyPart.APEnd.getVal()) { + outPacket.encodeShort(equip.getBagIndex()); + equip.encode(outPacket); + } + } + outPacket.encodeShort(0); + // Angelic Buster + for (Item item : getEquippedInventory().getItems()) { + Equip equip = (Equip) item; + if (item.getBagIndex() >= BodyPart.DUBase.getVal() && item.getBagIndex() < BodyPart.DUEnd.getVal()) { + outPacket.encodeShort(equip.getBagIndex()); + equip.encode(outPacket); + } + } + outPacket.encodeShort(0); + // Bits + for (Item item : getEquippedInventory().getItems()) { + Equip equip = (Equip) item; + if (item.getBagIndex() >= BodyPart.BitsBase.getVal() && item.getBagIndex() < BodyPart.BitsEnd.getVal()) { + outPacket.encodeShort(equip.getBagIndex()); + equip.encode(outPacket); + } + } + outPacket.encodeShort(0); + // Zero + for (Item item : getEquippedInventory().getItems()) { + Equip equip = (Equip) item; + if (item.getBagIndex() >= BodyPart.ZeroBase.getVal() && item.getBagIndex() < BodyPart.ZeroEnd.getVal()) { + outPacket.encodeShort(equip.getBagIndex()); + equip.encode(outPacket); + } + } + outPacket.encodeShort(0); + // Maybe zero beta cash? + for (Item item : getEquippedInventory().getItems()) { + Equip equip = (Equip) item; + if (item.getBagIndex() >= BodyPart.MBPBase.getVal() && item.getBagIndex() < BodyPart.MBPEnd.getVal()) { + outPacket.encodeShort(equip.getBagIndex()); + equip.encode(outPacket); + } + } + outPacket.encodeShort(0); + // Arcane + for (Item item : getEquippedInventory().getItems()) { + Equip equip = (Equip) item; + if (item.getBagIndex() >= BodyPart.AFBase.getVal() && item.getBagIndex() < BodyPart.AFEnd.getVal()) { + outPacket.encodeShort(equip.getBagIndex()); + equip.encode(outPacket); + } + } + outPacket.encodeShort(0); + // Totems + for (Item item : getEquippedInventory().getItems()) { + Equip equip = (Equip) item; + if (item.getBagIndex() >= BodyPart.TotemBase.getVal() && item.getBagIndex() < BodyPart.TotemEnd.getVal()) { + outPacket.encodeShort(equip.getBagIndex()); + equip.encode(outPacket); + } + } + outPacket.encodeShort(0); + // Haku + for (Item item : getEquippedInventory().getItems()) { + Equip equip = (Equip) item; + if (item.getBagIndex() >= BodyPart.HakuStart.getVal() && item.getBagIndex() < BodyPart.HakuEnd.getVal()) { + outPacket.encodeShort(equip.getBagIndex()); + equip.encode(outPacket); + } + } + outPacket.encodeShort(0); + // VirtualEquipInventory::Decode (Android) + for (Item item : getEquippedInventory().getItems()) { + Equip equip = (Equip) item; + if (item.getBagIndex() >= BodyPart.MechBase.getVal() && item.getBagIndex() < BodyPart.MechEnd.getVal()) { + outPacket.encodeShort(equip.getBagIndex()); + equip.encode(outPacket); + } + } + outPacket.encodeShort(0); + sizee = 0; + outPacket.encodeShort(0); + outPacket.encodeShort(0); +// outPacket.encodeInt(sizee); +// for (int i = 0; i < sizee; i++) { +// outPacket.encodeLong(0); +// // sub_BE9F10 +// outPacket.encodeShort(0); +// outPacket.encodeShort(0); +// outPacket.encodeShort(0); +// outPacket.encodeString(""); +// outPacket.encodeInt(0); +// outPacket.encodeLong(0); +// } + outPacket.encodeShort(0); + outPacket.encodeShort(0); + } + if (mask.isInMask(DBChar.ItemSlotConsume)) { + for (Item item : getConsumeInventory().getItems()) { + outPacket.encodeByte(item.getBagIndex()); + item.encode(outPacket); + } + outPacket.encodeByte(0); + } + if (mask.isInMask(DBChar.ItemSlotInstall)) { + for (Item item : getInstallInventory().getItems()) { + outPacket.encodeByte(item.getBagIndex()); + item.encode(outPacket); + } + outPacket.encodeByte(0); + } + if (mask.isInMask(DBChar.ItemSlotEtc)) { + for (Item item : getEtcInventory().getItems()) { + outPacket.encodeByte(item.getBagIndex()); + item.encode(outPacket); + } + outPacket.encodeByte(0); + } + if (mask.isInMask(DBChar.ItemSlotCash)) { + for (Item item : getCashInventory().getItems()) { + outPacket.encodeByte(item.getBagIndex()); + item.encode(outPacket); + } + outPacket.encodeByte(0); + } + // BagDatas + if (mask.isInMask(DBChar.ItemSlotConsume)) { + // TODO + outPacket.encodeInt(0); + } + if (mask.isInMask(DBChar.ItemSlotInstall)) { + // TODO + outPacket.encodeInt(0); + } + if (mask.isInMask(DBChar.ItemSlotEtc)) { + // TODO + outPacket.encodeInt(0); + } + + // End bagdatas + if (mask.isInMask(DBChar.CoreAura)) { + int val = 0; + outPacket.encodeInt(val); + for (int i = 0; i < val; i++) { + outPacket.encodeInt(0); + outPacket.encodeLong(0); + } + } + // start new 188 + if (mask.isInMask(DBChar.Unk40000000)) { // Something to do with skills + int size = 0; + outPacket.encodeInt(size); + for (int i = 0; i < size; i++) { + outPacket.encodeLong(0); // 1st half is id, 2nd half level? + outPacket.encodeLong(0); // time + } + } + // end new 188 + if (mask.isInMask(DBChar.ItemPot)) { + boolean hasItemPot = getItemPots() != null; + outPacket.encodeByte(hasItemPot); + if (hasItemPot) { + for (int i = 0; i < getItemPots().size(); i++) { + getItemPots().get(i).encode(outPacket); + outPacket.encodeByte(i != getItemPots().size() - 1); + } + } + } + + if (mask.isInMask(DBChar.SkillRecord)) { + boolean encodeSkills = getSkills().size() > 0; + outPacket.encodeByte(encodeSkills); + if (encodeSkills) { + Set skills = getSkills(); + outPacket.encodeShort(skills.size()); + for (Skill skill : skills) { + outPacket.encodeInt(skill.getSkillId()); + outPacket.encodeInt(skill.getCurrentLevel()); + outPacket.encodeFT(FileTime.fromType(FileTime.Type.MAX_TIME)); + if (SkillConstants.isSkillNeedMasterLevel(skill.getSkillId())) { + outPacket.encodeInt(skill.getMasterLevel()); + } + } + } else { + short size = 0; + outPacket.encodeShort(size); + for (int i = 0; i < size; i++) { + outPacket.encodeInt(0); // nTI + outPacket.encodeInt(0); // sValue + } + short size2 = 0; + outPacket.encodeShort(size2); + for (int i = 0; i < size2; i++) { + outPacket.encodeInt(0); // nTI + } + + short size3 = 0; + outPacket.encodeShort(size3); + for (int i = 0; i < size3; i++) { + outPacket.encodeInt(0); // nTI + outPacket.encodeFT(new FileTime(0)); // pInfo + } + short size4 = 0; + outPacket.encodeShort(size2); + for (int i = 0; i < size2; i++) { + outPacket.encodeInt(0); // nTI + } + + short size5 = 0; + outPacket.encodeShort(size); + for (int i = 0; i < size; i++) { + outPacket.encodeInt(0); // nTI + outPacket.encodeInt(0); // sValue + } + short size6 = 0; + outPacket.encodeShort(size2); + for (int i = 0; i < size2; i++) { + outPacket.encodeInt(0); // nTI + } + } + Set linkSkills = getLinkSkills(); + int size = linkSkills.size(); + outPacket.encodeShort(size); + for (LinkSkill linkSkill : linkSkills) { + outPacket.encodeInt(linkSkill.getLinkSkillID()); + outPacket.encodeShort(linkSkill.getLevel() - 1); + } + linkSkills = getAccount().getLinkSkills(); + outPacket.encodeInt(linkSkills.size()); + for (LinkSkill linkSkill : linkSkills) { // sub + outPacket.encodeInt(linkSkill.getOriginID()); + outPacket.encodeInt(linkSkill.getUsingID()); + outPacket.encodeInt(linkSkill.getLinkSkillID()); + outPacket.encodeShort(linkSkill.getLevel()); + outPacket.encodeFT(FileTime.fromType(FileTime.Type.ZERO_TIME)); // ftLastAssigned + } + } + + + if (mask.isInMask(DBChar.SkillCooltime)) { + long curTime = System.currentTimeMillis(); + Map cooltimes = getSkillCoolTimes(); + outPacket.encodeShort(cooltimes.size()); + cooltimes.forEach((key, value) -> { + outPacket.encodeInt(key); // nSkillId + outPacket.encodeInt((int) ((value - curTime) / 1000)); // nSkillCooltime + }); + } + + if (mask.isInMask(DBChar.QuestRecord)) { + // modified/deleted, not completed anyway + boolean removeAllOldEntries = true; + outPacket.encodeByte(removeAllOldEntries); + short size = (short) getQuestManager().getQuestsInProgress().size(); + outPacket.encodeShort(size); + for (Quest quest : getQuestManager().getQuestsInProgress()) { + outPacket.encodeInt(quest.getQRKey()); + outPacket.encodeString(quest.getQRValue()); + } + if (!removeAllOldEntries) { + // blacklisted quests + short size2 = 0; + outPacket.encodeShort(size2); + for (int i = 0; i < size2; i++) { + outPacket.encodeInt(0); // nQRKey + } + } + size = 0; + outPacket.encodeShort(size); + // Not sure what this is for + for (int i = 0; i < size; i++) { + outPacket.encodeString(""); + outPacket.encodeString(""); + } + } + if (mask.isInMask(DBChar.QuestComplete)) { + boolean removeAllOldEntries = true; + outPacket.encodeByte(removeAllOldEntries); + Set completedQuests = getQuestManager().getCompletedQuests(); + outPacket.encodeShort(completedQuests.size()); + for (Quest quest : completedQuests) { + outPacket.encodeInt(quest.getQRKey()); + outPacket.encodeFT(quest.getCompletedTime()); // Timestamp of completion + } + if (!removeAllOldEntries) { + short size = 0; + outPacket.encodeShort(size); + for (int i = 0; i < size; i++) { + outPacket.encodeInt(0); // nQRKey? + } + } + } + if (mask.isInMask(DBChar.MinigameRecord)) { + int size = 0; + outPacket.encodeShort(size); + for (int i = 0; i < size; i++) { + new MiniGameRecord().encode(outPacket); + } + } + if (mask.isInMask(DBChar.CoupleRecord)) { + int coupleSize = 33; + outPacket.encodeShort(coupleSize); + for (int i = 0; i < coupleSize; i++) { + new CoupleRecord().encode(outPacket); + } + int friendSize = 0; + outPacket.encodeShort(friendSize); + for (int i = 0; i < friendSize; i++) { + new FriendRecord().encode(outPacket); + } + int marriageSize = 0; + outPacket.encodeShort(marriageSize); + for (int i = 0; i < marriageSize; i++) { + new MarriageRecord().encode(outPacket); + } + } + + if (mask.isInMask(DBChar.MapTransfer)) { + for (int i = 0; i < 5; i++) { + outPacket.encodeInt(0xDEADBEED); + } + for (int i = 0; i < 10; i++) { + outPacket.encodeInt(0xDEADBEED); + } + for (int i = 0; i < 13; i++) { + outPacket.encodeInt(0xDEADBEED); + } + for (int i = 0; i < 13; i++) { + outPacket.encodeInt(0xDEADBEED); + } + } + if (mask.isInMask(DBChar.MonsterBookCover)) { + outPacket.encodeInt(getMonsterBookInfo().getCoverID()); + } + if (mask.isInMask(DBChar.MonsterBookCard)) { + boolean isCompleted = false; + outPacket.encodeByte(isCompleted); + if (!isCompleted) { + short size = (short) getMonsterBookInfo().getCards().size(); + outPacket.encodeShort(size); + for (int card : getMonsterBookInfo().getCards()) { + outPacket.encodeShort(card); + outPacket.encodeByte(true); // bEnabled? + } + } else { + outPacket.encodeShort(0); // card list size + short encSize = 0; + outPacket.encodeShort(encSize); + outPacket.encodeArr(new byte[encSize]); + encSize = 0; + outPacket.encodeShort(encSize); + outPacket.encodeArr(new byte[encSize]); + } +// outPacket.encodeInt(getMonsterBookInfo().getSetID()); // removed 196 + } + if (mask.isInMask(DBChar.RedLeafInfo)) { // new 188 + outPacket.encodeInt(-1); + } + if (mask.isInMask(DBChar.QuestCompleteOld)) { // new 188 + // sub_C0D410 + short size = 0; + outPacket.encodeShort(size); + for (int i = 0; i < size; i++) { + outPacket.encodeShort(0); + } + } + if (mask.isInMask(DBChar.Familiar)) { + outPacket.encodeInt(getFamiliars().size()); + for (Familiar familiar : getFamiliars()) { + familiar.encode(outPacket); + } + } + if (mask.isInMask(DBChar.QuestRecordEx)) { + outPacket.encodeShort(getQuestManager().getEx().size()); + for (Quest quest : getQuestManager().getEx()) { + outPacket.encodeInt(quest.getQRKey()); + outPacket.encodeString(quest.getQRValue()); + } + } + if (mask.isInMask(DBChar.Avatar)) { + short size = 0; + outPacket.encodeShort(size); + for (int i = 0; i < size; i++) { + outPacket.encodeInt(0); // sValue + new AvatarLook().encode(outPacket); + } + } + if (mask.isInMask(DBChar.NewYearCard)) { // new 196 + int size = 0; + outPacket.encodeShort(size); + for (int i = 0; i < size; i++) { + outPacket.encodeInt(0); + outPacket.encodeShort(0); + } + } + boolean bool = false; + outPacket.encodeByte(bool); // new 196 + if (bool && mask.isInMask(DBChar.Unk10000000000)) { + int size = 0; + outPacket.encodeInt(size); + for (int i = 0; i < size; i++) { + outPacket.encodeInt(0); + outPacket.encodeString(""); + } + } + // New 188 + if (mask.isInMask(DBChar.Unk100000000000)) { + int size = 0; + outPacket.encodeInt(size); + for (int i = 0; i < size; i++) { + outPacket.encodeInt(0); + outPacket.encodeInt(0); + } + } + // End 188 + if (mask.isInMask(DBChar.WildHunterInfo)) { + if (JobConstants.isWildHunter(getAvatarData().getCharacterStat().getJob())) { + // could make WildHunterInfo an entity for this + QuestManager qm = getQuestManager(); + WildHunterInfo whi = getWildHunterInfo(); + Quest chosenQuest = qm.getQuestById(QuestConstants.WILD_HUNTER_JAGUAR_CHOSEN_ID); + int toID = -1; + if (chosenQuest == null) { + chosenQuest = new Quest(QuestConstants.WILD_HUNTER_JAGUAR_CHOSEN_ID, QuestStatus.Started); + qm.addQuest(chosenQuest); + } else if (Util.isNumber(chosenQuest.getQRValue())) { + toID = Integer.parseInt(chosenQuest.getQRValue()); + } + whi.setIdx((byte) toID); + whi.setRidingType((byte) toID); + chosenQuest.setQrValue("" + toID); + getWildHunterInfo().encode(outPacket); // GW_WildHunterInfo::Decode + } + } + if (mask.isInMask(DBChar.ZeroInfo)) { //v206 + if (JobConstants.isZero(getAvatarData().getCharacterStat().getJob())) { + if (getZeroInfo() == null) { + initZeroInfo(); + } + getZeroInfo().encode(outPacket, this); // ZeroInfo::Decode + } + } + if (mask.isInMask(DBChar.ShopBuyLimit)) { + short size = 0; + outPacket.encodeShort(size); + for (int i = 0; i < size; i++) { + // Encode shop buy limit + + } + } + // new 200 + if (mask.isInMask(DBChar.ActiveDamageSkin)) { + int size = 0; + outPacket.encodeShort(size); + for (int i = 0; i < size; i++) { + int size2 = 0; + outPacket.encodeShort(size2); + int val = 0; + outPacket.encodeInt(val); + if (val > 0) { + for (int j = 0; j < size2; j++) { + // sub + outPacket.encodeInt(0); + outPacket.encodeShort(0); + outPacket.encodeInt(0); + outPacket.encodeShort(0); + outPacket.encodeLong(0); + } + } + + } + } + if (mask.isInMask(DBChar.StolenSkills)) { + if (JobConstants.isPhantom(getAvatarData().getCharacterStat().getJob())) { + for (int i = 0; i < 15; i++) { + StolenSkill stolenSkill = getStolenSkillByPosition(i); + outPacket.encodeInt(stolenSkill == null ? 0 : stolenSkill.getSkillid()); + } + } else { + outPacket.encodeInt(0); + outPacket.encodeInt(0); + outPacket.encodeInt(0); + outPacket.encodeInt(0); + + outPacket.encodeInt(0); + outPacket.encodeInt(0); + outPacket.encodeInt(0); + outPacket.encodeInt(0); + + outPacket.encodeInt(0); + outPacket.encodeInt(0); + outPacket.encodeInt(0); + + outPacket.encodeInt(0); + outPacket.encodeInt(0); + + outPacket.encodeInt(0); + outPacket.encodeInt(0); + } + } + if (mask.isInMask(DBChar.ChosenSkills)) { + if (JobConstants.isPhantom(getAvatarData().getCharacterStat().getJob())) { + for (int i = 1; i <= 5; i++) { //Shifted by +1 to accomodate the Skill Management Tabs + ChosenSkill chosenSkill = getChosenSkillByPosition(i); + outPacket.encodeInt(chosenSkill == null + ? 0 + : isChosenSkillInStolenSkillList(chosenSkill.getSkillId()) + ? chosenSkill.getSkillId() + : 0 + ); + } + } else { + for (int i = 0; i < 5; i++) { + outPacket.encodeInt(0); + } + } + } + if (mask.isInMask(DBChar.CharacterPotential)) { // Character potential + outPacket.encodeShort(getPotentials().size()); + for (CharacterPotential cp : getPotentials()) { + cp.encode(outPacket); + } + } + if (mask.isInMask(DBChar.SoulCollection)) { + short size = 0; + outPacket.encodeShort(size); + for (int i = 0; i < size; i++) { + outPacket.encodeInt(0); // + outPacket.encodeInt(0); // + } + } + sizee = 0; + outPacket.encodeInt(sizee); + for (int i = 0; i < sizee; i++) { + outPacket.encodeString(""); + // sub_73A1A0 + outPacket.encodeInt(0); + outPacket.encodeString(""); + int size = 0; + outPacket.encodeInt(size); + for (int j = 0; j < size; j++) { + outPacket.encodeByte(0); + } + } + outPacket.encodeByte(0); // idk + + if (mask.isInMask(DBChar.Character)) { + outPacket.encodeInt(0); // honor level, deprecated + outPacket.encodeInt(getHonorExp()); // honor exp + } + if (mask.isInMask(DBChar.Unk200000000)) { + boolean shouldIEncodeThis = false; + outPacket.encodeByte(shouldIEncodeThis); + if (shouldIEncodeThis) { + short size = 0; + outPacket.encodeShort(size); + for (int i = 0; i < size; i++) { + short category = 0; + outPacket.encodeShort(category); + short size2 = 0; + outPacket.encodeShort(size2); + for (int i2 = 0; i2 < size2; i2++) { + outPacket.encodeInt(0); // nItemId + outPacket.encodeInt(0); // nCount + } + } + } else { + short size2 = 0; + outPacket.encodeShort(size2); + for (int i2 = 0; i2 < size2; i2++) { + outPacket.encodeShort(1); // nCategory + outPacket.encodeInt(1302000); // nItemId + outPacket.encodeInt(3); // nCount + } + + } + } + if (mask.isInMask(DBChar.ReturnEffectInfo)) { +// getReturnEffectInfo().encode(outPacket); // ReturnEffectInfo::Decode + outPacket.encodeByte(0); + } + if (mask.isInMask(DBChar.DressUpInfo)) { + new DressUpInfo().encode(outPacket); // GW_DressUpInfo::Decode + } + if (mask.isInMask(DBChar.ActiveDamageSkin)) { + outPacket.encodeInt(getDamageSkin().getDamageSkinID()); + outPacket.encodeInt(getPremiumDamageSkin().getDamageSkinID()); + outPacket.encodeLong(0); // ftLastChanged? + outPacket.encodeString(getActiveDamageSkin().getDescription()); + outPacket.encodeInt(getActiveDamageSkin().getDamageSkinID()); + } + if (mask.isInMask(DBChar.CoreInfo)) { + // GW_Core + short size = 0; + outPacket.encodeShort(size); + for (int i = 0; i < size; i++) { + outPacket.encodeShort(-1); // nPos + // sub + outPacket.encodeInt(-1); // nCoreID + outPacket.encodeInt(-1); // nLeftCount + } + + size = 0; + outPacket.encodeShort(size); + for (int i = 0; i < size; i++) { + outPacket.encodeShort(-1); // nPos + outPacket.encodeInt(-1); // nCoreID + outPacket.encodeInt(-1); // nLeftCount + } + } + if (mask.isInMask(DBChar.FarmPotential)) { + new FarmPotential().encode(outPacket); // FARM_POTENTIAL::Decode + } + if (mask.isInMask(DBChar.FarmUserInfo)) { + new FarmUserInfo().encode(outPacket); // FarmUserInfo::Decode + outPacket.encodeInt(0); + outPacket.encodeInt(0); + } + if (mask.isInMask(DBChar.MemorialCubeInfo)) { + if (getMemorialCubeInfo() != null) { + getMemorialCubeInfo().encode(outPacket); + } else { + new MemorialCubeInfo().encode(outPacket); // MemorialCubeInfo::Decode + } + } + // new 200 + if (mask.isInMask(DBChar.MemorialFlameInfo)) { + outPacket.encodeLong(0); + outPacket.encodeInt(0); + outPacket.encodeInt(0); + } + if (mask.isInMask(DBChar.LikePoint)) { + new LikePoint().encode(outPacket); + } + if (mask.isInMask(DBChar.RunnerGameRecord)) { + new RunnerGameRecord().encode(outPacket); // RunnerGameRecord::Decode + } + outPacket.encodeInt(0); // no idea where these came from (200) + outPacket.encodeInt(0); + if (mask.isInMask(DBChar.Unk8000000000000)) { // new 196 + int size = 0; + outPacket.encodeInt(size); + for (int i = 0; i < size; i++) { + outPacket.encodeInt(-1); + outPacket.encodeByte(-1); + outPacket.encodeByte(-1); + outPacket.encodeByte(-1); + } + outPacket.encodeInt(-1); + outPacket.encodeLong(-1); + } + short sizeO = 0; // some thing that opens on login? + outPacket.encodeShort(sizeO); + for (int i = 0; i < sizeO; i++) { + outPacket.encodeInt(i); + outPacket.encodeString("Effect/Direction11.img/effect/meet/frame0/0"); + } + if (mask.isInMask(DBChar.MonsterCollection)) { + Set mces = getAccount().getMonsterCollection().getMonsterCollectionExplorations(); + outPacket.encodeShort(mces.size()); + for (MonsterCollectionExploration mce : mces) { + outPacket.encodeInt(mce.getPosition()); + outPacket.encodeString(mce.getValue(true)); + } + } + boolean farmOnline = false; + outPacket.encodeByte(farmOnline); + int sizeInt = 0; + // CharacterData::DecodeTextEquipInfo + outPacket.encodeInt(sizeInt); + for (int i = 0; i < sizeInt; i++) { + outPacket.encodeInt(0); + outPacket.encodeString(""); + } + if (mask.isInMask(DBChar.Unk10000000000000)) { // new 196 + int size = 0; + outPacket.encodeShort(size); + for (int i = 0; i < size; i++) { + outPacket.encodeInt(0); + outPacket.encodeInt(0); + } + } + if (mask.isInMask(DBChar.VMatrix)) { // new 188 + List matrixRecords = getSortedMatrixRecords(); + outPacket.encodeInt(matrixRecords.size()); + for (MatrixRecord mr : matrixRecords) { + outPacket.encode(mr); + } + // next part is 196 + + List activeRecords = matrixRecords.stream().filter(MatrixRecord::isActive).collect(Collectors.toList()); + outPacket.encodeInt(activeRecords.size()); + for (MatrixRecord mr : activeRecords) { + outPacket.encodeInt(matrixRecords.indexOf(mr)); + outPacket.encodeInt(mr.getPosition()); // slotPos + outPacket.encodeInt(0); // nLevel + outPacket.encodeByte(0); // bHide + } + } + if (mask.isInMask(DBChar.Achievement)) { // new 188 + outPacket.encodeInt(20); + outPacket.encodeInt(21); + + // sub + outPacket.encodeInt(22); + outPacket.encodeInt(23); + outPacket.encodeInt(24); + outPacket.encodeLong(1379001); + + outPacket.encodeLong(1379001); + outPacket.encodeLong(27); + int size = 1; + outPacket.encodeInt(size + 1); + // achievements + // iter 1, just to open the UI + outPacket.encodeLong(1); // id? + outPacket.encodeInt(1); // achievement id + outPacket.encodeByte(-1); + outPacket.encodeByte(2); + outPacket.encodeFT(FileTime.currentTime()); + outPacket.encodeString(""); + // iter 2 + for (int i = 0; i < size; i++) { + outPacket.encodeLong(563003); // id 3 digit, sub-mission 3 digit + outPacket.encodeInt(563); // achievement id + outPacket.encodeByte(1); // sub-mission + outPacket.encodeByte(2); // achievement state + outPacket.encodeFT(FileTime.currentTime()); // ftCompleteTime + outPacket.encodeString("rune_stone_use_result_success=1"); + } + size = 1; + outPacket.encodeInt(size); + // medals + for (int i = 0; i < size; i++) { + outPacket.encodeInt(2); // id + outPacket.encodeInt(6); // num + outPacket.encodeByte(1); // state (0 = not unlocked, 1 = achieved, 2 = current selected for insignia) + outPacket.encodeFT(FileTime.currentTime()); // unlock time + } + } + if (mask.isInMask(DBChar.ItemSlotEtc)) { // new 196 + int size = 0; + outPacket.encodeInt(size); + for (int i = 0; i < size; i++) { + outPacket.encodeLong(0); + outPacket.encodeInt(0); + outPacket.encodeInt(0); + outPacket.encodeInt(0); + outPacket.encodeLong(0); + + } + } + // new 203 + if (mask.isInMask(DBChar.Unk200000000000000)) { + outPacket.encodeByte(0); + outPacket.encodeByte(0); + // hardcoded 5 + for (int i = 0; i < 5; i++) { + bool = false; + outPacket.encodeByte(bool); + if (bool) { + outPacket.encodeByte(0); + outPacket.encodeByte(0); + + outPacket.encodeInt(0); + + outPacket.encodeByte(0); + outPacket.encodeByte(0); + outPacket.encodeByte(0); + + } + } + } + if (mask.isInMask(DBChar.Unk8000000000000000)) { + bool = false; + outPacket.encodeByte(false); + if (bool) { + // sub_905BD0 + outPacket.encodeByte(0); + outPacket.encodeInt(0); + outPacket.encodeInt(0); + outPacket.encodeInt(0); + outPacket.encodeLong(0); + } + int size = 0; + outPacket.encodeShort(size); + for (int i = 0; i < size; i++) { + // sub_9059E0 + outPacket.encodeByte(0); + outPacket.encodeInt(0); + outPacket.encodeInt(0); + } + size = 0; + outPacket.encodeShort(size); + for (int i = 0; i < size; i++) { + // sub_905D50 + outPacket.encodeInt(0); + outPacket.encodeInt(0); + outPacket.encodeLong(0); + } + } + if (mask.isInMask(DBChar.Unk800000000000)) { + outPacket.encodeByte(0); + } + + if (mask.isInMask(DBChar.Unk400000)) { + int size = 0; + outPacket.encodeInt(size); + for (int i = 0; i < size; i++) { + // sub + outPacket.encodeShort(0); + outPacket.encodeShort(0); + } + size = 0; + outPacket.encodeInt(size); + for (int i = 0; i < size; i++) { + // sub + outPacket.encodeShort(0); + outPacket.encodeInt(0); + } + } + if (mask.isInMask(DBChar.Unk1000000000000000)) { + outPacket.encodeInt(0); + outPacket.encodeInt(0); + outPacket.encodeInt(0); + outPacket.encodeInt(0); + outPacket.encodeInt(0); + + for (int i = 0; i < 6; i++) { + outPacket.encodeInt(0); + } + + for (int i = 0; i < 4; i++) { + outPacket.encodeInt(0); + } + + outPacket.encodeLong(0); + outPacket.encodeByte(0); + + outPacket.encodeByte(0); + } + + if (mask.isInMask(DBChar.MemorialFlameInfo)) { + short size = 0; + outPacket.encodeShort(size); + for (int i = 0; i < size; i++) { + outPacket.encodeShort(233); + outPacket.encodeShort(543); + } + } + + if (mask.isInMask(DBChar.RedLeafInfo)) { + // red leaf information + outPacket.encodeInt(getUserId()); + outPacket.encodeInt(getId()); + outPacket.encodeInt(0); + outPacket.encodeInt(0); + outPacket.encodeArr(new byte[32]); // red leaf info structure probably + } + // new 188 all the way from here until the end of the function + if (mask.isInMask(DBChar.Unk20000000000)) { + bool = false; + outPacket.encodeByte(bool); + if (bool) { + new AvatarLook().encode(outPacket); + } + } + if (mask.isInMask(DBChar.ActiveDamageSkin)) { + outPacket.encodeInt(0); + outPacket.encodeInt(0); + outPacket.encodeInt(0); + outPacket.encodeInt(0); + int size = 0; + outPacket.encodeShort(size); + for (int i = 0; i < size; i++) { + // sub_8EE8D0 + outPacket.encodeInt(13713); + outPacket.encodeInt(12381); + outPacket.encodeString("aaaaa", 13); + outPacket.encodeInt(3333); + } + size = 0; + outPacket.encodeShort(0); + for (int i = 0; i < size; i++) { + // sub_8EE8D0 + outPacket.encodeInt(0); + outPacket.encodeInt(0); + outPacket.encodeString("", 13); + outPacket.encodeInt(0); + } + } + } + + + public void dropItem(int itemId, int x, int y) { + Field field = getField(); + Drop drop = new Drop(field.getNewObjectID()); + drop.setItem(ItemData.getItemDeepCopy(itemId)); + Position position = new Position(x, y); + drop.setPosition(position); + field.drop(drop, position, true); + } + + public void dropItemMany(int itemId, int count, int x, int y) { + Field field = getField(); + Drop drop = new Drop(field.getNewObjectID()); + Item item = ItemData.getItemDeepCopy(itemId); + item.setQuantity(count); + drop.setItem(item); + Position position = new Position(x, y); + drop.setPosition(position); + field.drop(drop, position, true); + } + + public List getSortedMatrixRecords() { + return getMatrixRecords().stream() + .sorted(Comparator.comparingLong(MatrixRecord::getId)) + .collect(Collectors.toList()); + } + + @Override + public boolean equals(Object other) { + if (!(other instanceof Char)) { + return false; + } + Char chr = (Char) other; + return chr.getId() == getId() && chr.getName().equals(getName()); + } + + public BeautyAlbum getStyleBySlotId(int slotId) { + return getBeautyAlbum().stream().filter(style -> style.getSlotID() == slotId).findFirst().orElse(null); + } + + + public void addStyleToBeautyAlbum(BeautyAlbum beautyAlbum) { + getBeautyAlbum().add(beautyAlbum); + } + + public void removeStyleToBeautyAlbum(BeautyAlbum beautyAlbum) { + getBeautyAlbum().remove(beautyAlbum); + } + + public List getBeautyAlbum() { + return beautyAlbum; + } + + @Override + public int hashCode() { + return Objects.hash(id, getName()); + } + + private String getBlessingOfEmpress() { + return blessingOfEmpress; + } + + public void setBlessingOfEmpress(String blessingOfEmpress) { + this.blessingOfEmpress = blessingOfEmpress; + } + + private String getBlessingOfFairy() { + return blessingOfFairy; + } + + public void setBlessingOfFairy(String blessingOfFairy) { + this.blessingOfFairy = blessingOfFairy; + } + + public void setCombatOrders(int combatOrders) { + this.combatOrders = combatOrders; + } + + public int getCombatOrders() { + return combatOrders; + } + + public QuestManager getQuestManager() { + if (questManager.getChr() == null) { + questManager.setChr(this); + } + return questManager; + } + + public void setQuests(QuestManager questManager) { + this.questManager = questManager; + } + + public List getItemPots() { + return null; + } + + public void setItemPots(List itemPots) { + this.itemPots = itemPots; + } + + public List getPets() { + return pets; + } + + public void setPets(List pets) { + this.pets = pets; + } + + public List getFriendRecords() { + return friendRecords; + } + + public void setFriendRecords(List friendRecords) { + this.friendRecords = friendRecords; + } + + public long getMoney() { + return getAvatarData().getCharacterStat().getMoney(); + } + + public List getExpConsumeItems() { + return expConsumeItems; + } + + public void setExpConsumeItems(List expConsumeItems) { + this.expConsumeItems = expConsumeItems; + } + + public List getMonsterBattleMobInfos() { + return monsterBattleMobInfos; + } + + public void setMonsterBattleMobInfos(List monsterBattleMobInfos) { + this.monsterBattleMobInfos = monsterBattleMobInfos; + } + + public MonsterBattleLadder getMonsterBattleLadder() { + return monsterBattleLadder; + } + + public void setMonsterBattleLadder(MonsterBattleLadder monsterBattleLadder) { + this.monsterBattleLadder = monsterBattleLadder; + } + + public MonsterBattleRankInfo getMonsterBattleRankInfo() { + return monsterBattleRankInfo; + } + + public void setMonsterBattleRankInfo(MonsterBattleRankInfo monsterBattleRankInfo) { + this.monsterBattleRankInfo = monsterBattleRankInfo; + } + + public List getInventories() { + return new ArrayList<>(Arrays.asList(getEquippedInventory(), getEquipInventory(), + getConsumeInventory(), getEtcInventory(), getInstallInventory(), getCashInventory())); + } + + public Inventory getInventoryByType(InvType invType) { + switch (invType) { + case EQUIPPED: + return getEquippedInventory(); + case EQUIP: + return getEquipInventory(); + case CONSUME: + return getConsumeInventory(); + case ETC: + return getEtcInventory(); + case INSTALL: + return getInstallInventory(); + case CASH: + return getCashInventory(); + case HAIR: + return getHairInventory(); + case FACE: + return getFaceInventory(); + default: + return null; + } + } + + public Client getClient() { + return client; + } + + public void setClient(Client client) { + this.client = client; + } + + public int getFieldID() { + return (int) getAvatarData().getCharacterStat().getPosMap(); + } + + public void setFieldID(int fieldID) { + getAvatarData().getCharacterStat().setPosMap(fieldID); + } + + + + public Position getPosition() { + return position; + } + + public void setPosition(Position position) { + this.position = position; + } + + public void setField(Field field) { + this.field = field; + setFieldID(field.getId()); + } + + public Field getField() { + return field; + } + + /** + * Sets the job of this Char with a given id. Does nothing if the id is invalid. + * If it is valid, will set this Char's job, add all Skills that the job should have by default, + * and sends the info to the client. + * + * @param id + */ + public void setJob(int id) { + JobConstants.JobEnum job = JobConstants.JobEnum.getJobById((short) id); + if (job == null) { + return; + } + getAvatarData().getCharacterStat().setJob(id); + Job handler = JobManager.getJobById((short) id, this); + if (!handler.getClass().equals(getJobHandler().getClass())) { + // only change handlers if the job path changes + setJobHandler(handler); + } + List skills = SkillData.getSkillsByJob((short) id); + skills.forEach(s -> addSkill(s, true)); + getClient().write(WvsContext.changeSkillRecordResult(skills, true, false, false, false)); + notifyChanges(); + if (id == JobConstants.JobEnum.EVAN_1.getJobId() || id == JobConstants.JobEnum.EVAN_2.getJobId() || id == JobConstants.JobEnum.EVAN_3.getJobId() || id == JobConstants.JobEnum.EVAN_4.getJobId()) { + getField().broadcastPacket(DragonPool.createDragon(getDragon())); + } + } + + public short getJob() { + return getAvatarData().getCharacterStat().getJob(); + } + + /** + * Sets the SP to the current job level. + * + * @param num The new SP amount. + */ + public void setSpToCurrentJob(int num) { + if (JobConstants.isExtendSpJob(getJob())) { + byte jobLevel = (byte) JobConstants.getJobLevel(getJob()); + getAvatarData().getCharacterStat().getExtendSP().setSpToJobLevel(jobLevel, num); + } else { + getAvatarData().getCharacterStat().setSp(num); + } + } + + /** + * Sets the SP to the job level according to the current level. + * + * @param num The amount of SP to add + */ + public void addSpToJobByCurrentLevel(int num) { + CharacterStat cs = getAvatarData().getCharacterStat(); + if (JobConstants.isExtendSpJob(getJob())) { + byte jobLevel = (byte) JobConstants.getJobLevelByCharLevel(getJob(), getLevel()); + num += cs.getExtendSP().getSpByJobLevel(jobLevel); + getAvatarData().getCharacterStat().getExtendSP().setSpToJobLevel(jobLevel, num); + } else { + num += cs.getSp(); + getAvatarData().getCharacterStat().setSp(num); + } + } + + public void addSpToJobByCurrentJob(int num) { + byte jobLevel = (byte) JobConstants.getJobLevel(getJob()); + int currentSP = getAvatarData().getCharacterStat().getExtendSP().getSpByJobLevel(jobLevel); + setSpToCurrentJob(currentSP + num); + + Map stats = new HashMap<>(); + stats.put(Stat.sp, getAvatarData().getCharacterStat().getExtendSP()); + write(WvsContext.statChanged(stats)); + } + + public Set getSkills() { + return skills; + } + + public void setSkills(Set skills) { + this.skills = skills; + } + + /** + * Adds a {@link Skill} to this Char. Changes the old Skill if the Char already has a Skill + * with the same id. Removes the skill if the given skill's id is 0. + * + * @param skill The Skill this Char should get. + */ + public void addSkill(Skill skill) { + addSkill(skill, false); + } + + /** + * Adds a {@link Skill} to this Char. Changes the old Skill if the Char already has a Skill + * with the same id. Removes the skill if the given skill's id is 0. + * + * @param skill The Skill this Char should get. + * @param addRegardlessOfLevel if this is true, the skill will not be removed from the char, even if the cur level + * of the given skill is 0. + */ + public void addSkill(Skill skill, boolean addRegardlessOfLevel) { + if (getId() == 0) { + log.warn("Did not add skill " + skill + ", as the current Char does not exist in the DB."); + return; + } + if (!addRegardlessOfLevel && skill.getCurrentLevel() == 0) { + removeSkill(skill.getSkillId()); + return; + } + skill.setCharId(getId()); + boolean isPassive = SkillConstants.isPassiveSkill(skill.getSkillId()); + boolean isChanged; + if (getSkills().stream().noneMatch(s -> s.getSkillId() == skill.getSkillId())) { + getSkills().add(skill); + isChanged = true; + } else { + Skill oldSkill = getSkill(skill.getSkillId()); + isChanged = oldSkill.getCurrentLevel() != skill.getCurrentLevel(); + if (isPassive && isChanged) { + removeFromBaseStatCache(oldSkill); + } + oldSkill.setCurrentLevel(skill.getCurrentLevel()); + oldSkill.setMasterLevel(skill.getMasterLevel()); + } + // Change cache accordingly + if (isPassive && isChanged) { + addToBaseStatCache(skill); + } + } + + /** + * Removes a Skill from this Char. + * + * @param skillID the id of the skill that should be removed + */ + public void removeSkill(int skillID) { + Skill skill = Util.findWithPred(getSkills(), s -> s.getSkillId() == skillID); + if (skill != null) { + if (SkillConstants.isPassiveSkill(skillID)) { + removeFromBaseStatCache(skill); + } + getSkills().remove(skill); + } + checkPsdWTBonuses(); + } + + /** + * Removes a Skill from this Char. + * Sends change skill record to remove the skill from the client. + * + * @param skillID the id of the skill that should be removed + */ + public void removeSkillAndSendPacket(int skillID) { + Skill skill = getSkill(skillID); + if (skill != null) { + removeSkill(skillID); + skill.setCurrentLevel(-1); + skill.setMasterLevel(-1); + write(WvsContext.changeSkillRecordResult(Collections.singletonList(skill), true, false, false, false)); + } + } + + /** + * Initializes the BaseStat cache, by going through all the needed passive stat changers. + */ + public void initBaseStats() { + getBaseStats().clear(); + Map stats = getBaseStats(); + stats.put(BaseStat.cr, 5L); + stats.put(BaseStat.crDmg, 0L); + stats.put(BaseStat.pdd, 9L); + stats.put(BaseStat.mdd, 9L); + stats.put(BaseStat.acc, 11L); + stats.put(BaseStat.eva, 8L); + stats.put(BaseStat.buffTimeR, 100L); + stats.put(BaseStat.dropR, 100L); + stats.put(BaseStat.mesoR, 100L); + stats.put(BaseStat.costmpR, 100L); + getSkills().stream().filter(skill -> SkillConstants.isPassiveSkill_NoPsdSkillsCheck(skill.getSkillId())). + forEach(this::addToBaseStatCache); + checkPsdWTBonuses(); + } + + /** + * Adds a Skill's info to the current base stat cache. + * + * @param skill The skill to add + */ + public void addToBaseStatCache(Skill skill) { + SkillInfo si = SkillData.getSkillInfoById(skill.getSkillId()); +// chatMessage("[addToBaseStat] id: %s", Integer.toString(si.getSkillId())); + if (SkillConstants.isPassiveSkill(skill.getSkillId())) { + Map stats = si.getBaseStatValues(this, skill.getCurrentLevel()); + stats.forEach(this::addBaseStat); + } + if (si.isPsd() && si.getSkillStatInfo().containsKey(SkillStat.coolTimeR)) { + for (int psdSkill : si.getPsdSkills()) { + getHyperPsdSkillsCooltimeR().put(psdSkill, si.getValue(SkillStat.coolTimeR, 1)); + } + } + checkPsdWTBonuses(); + } + + /** + * Adds the bonus for the specified WeaponType of the psdWT Skill. + * + * @param skill The skill's bonuses to add + * @param wt The skill's weapon Type bonuses to check for. + */ + public void addPsdWTToBaseStatCache(Skill skill, WeaponType wt) { + SkillInfo si = SkillData.getSkillInfoById(skill.getSkillId()); + Map ssMap = si.getSkillStatsByWT(wt); + Map stats = new HashMap<>(); + ssMap.forEach((k, v) -> { + { + Tuple bs = si.getBaseStatValue(k, this, v.intValue()); + stats.put(bs.getLeft(), bs.getRight()); + } + }); + stats.forEach(this::addBaseStat); + } + + /** + * Removes a Skill's info from the current base stat cache. + * + * @param skill The skill to remove + */ + public void removeFromBaseStatCache(Skill skill) { + SkillInfo si = SkillData.getSkillInfoById(skill.getSkillId()); + Map stats = si.getBaseStatValues(this, skill.getCurrentLevel()); + stats.forEach(this::removeBaseStat); + } + + /** + * Removes all bonuses from every Weapon Type in psdWT skills + * + * @param skill + */ + public void removePsdWTFromBaseStatCache(Skill skill) { + SkillInfo si = SkillData.getSkillInfoById(skill.getSkillId()); + Map stats = new HashMap<>(); + + for (Map.Entry entry : si.getSkillStatsByWT(getPsdWTBonus().get(skill)).entrySet()) { + SkillStat ss = entry.getKey(); + int value = entry.getValue().intValue(); + Tuple bs = si.getBaseStatValue(ss, this, value); + stats.put(bs.getLeft(), bs.getRight()); + } + stats.forEach(this::removeBaseStat); + } + + /** + * Returns whether or not this Char has a {@link Skill} with a given id. + * + * @param id The id of the Skill. + * @return Whether or not this Char has a Skill with the given id. + */ + public boolean hasSkill(int id) { + return getSkills().stream().anyMatch(s -> s.getSkillId() == id) && getSkill(id, false).getCurrentLevel() > 0; + } + + public void checkPsdWTBonuses() { + Equip weapon = (Equip) getEquippedInventory().getItemBySlot(BodyPart.Weapon.getVal()); + // Not wearing a weapon + if (weapon == null) { + for (Skill psdWTSkill : getPsdWTSkills()) { + SkillInfo si = SkillData.getSkillInfoById(psdWTSkill.getSkillId()); + if (si == null) { + continue; + } + if (getPsdWTBonus().containsKey(psdWTSkill)) { + removePsdWTFromBaseStatCache(psdWTSkill); + getPsdWTBonus().remove(psdWTSkill); + } + } + return; + } + WeaponType wt = ItemConstants.getWeaponType(weapon.getItemId()); + for (Skill psdWTSkill : getPsdWTSkills()) { + SkillInfo si = SkillData.getSkillInfoById(psdWTSkill.getSkillId()); + if (si == null) { + continue; + } + + // if chr already has the bonus from skill&WT + if (getPsdWTBonus().containsKey(psdWTSkill) && getPsdWTBonus().get(psdWTSkill).equals(wt)) { + continue; + } + + if (getPsdWTBonus().containsKey(psdWTSkill)) { + // given chr already has the bonus + removePsdWTFromBaseStatCache(psdWTSkill); + getPsdWTBonus().remove(psdWTSkill); + } + if (!getPsdWTBonus().containsKey(psdWTSkill) || !getPsdWTBonus().get(psdWTSkill).equals(wt)) { + // given chr does not have the bonus from that skill, or does not have the bonus from that weaponType + addPsdWTToBaseStatCache(psdWTSkill, wt); + getPsdWTBonus().put(psdWTSkill, wt); + } + } + + // Check if user gains a bonus from a removed Skill, if so remove the bonus + getPsdWTBonus().keySet().stream().filter(s -> !hasSkill(s.getSkillId())).forEach(this::removePsdWTFromBaseStatCache); + getPsdWTBonus().keySet().removeIf(s -> !hasSkill(s.getSkillId())); + } + + public List getPsdWTSkills() { + return getSkills().stream().filter(s -> SkillData.getSkillInfoById(s.getSkillId()) != null && SkillData.getSkillInfoById(s.getSkillId()).isPsdWTSkill()).collect(Collectors.toList()); + } + + public Map getPsdWTBonus() { + return psdWTBonus; + } + + public void setPsdWTBonus(Map psdWTBonus) { + this.psdWTBonus = psdWTBonus; + } + + /** + * Gets a {@link Skill} of this Char with a given id. + * + * @param id The id of the requested Skill. + * @return The Skill corresponding to the given id of this Char, or null if there is none. + */ + public Skill getSkill(int id) { + // TODO: grab original if it's a "linked skill", like WH's 2 different Wild Arrow Blast + return getSkill(id, false); + } + + /** + * Gets a {@link Skill} with a given ID. If createIfNull is true, creates the Skill + * if it doesn't exist yet. + * If it is false, will return null if this Char does not have the given Skill. + * + * @param id The id of the requested Skill. + * @param createIfNull Whether or not this method should create the Skill if it doesn't exist. + * @return The Skill that the Char has, or null if there is no such skill and + * createIfNull is false. + */ + public Skill getSkill(int id, boolean createIfNull) { + for (Skill s : getSkills()) { + if (s.getSkillId() == id) { + return s; + } + } + return createIfNull ? createAndReturnSkill(id) : null; + } + + public void encodeChat(OutPacket outPacket, String msg) { + outPacket.encodeString(getName()); + outPacket.encodeString(msg); + outPacket.encodeInt(0); + outPacket.encodeShort(0); + outPacket.encodeByte(0); + outPacket.encodeByte(0); + outPacket.encodeByte(0); + outPacket.encodeInt(getId()); + } + + + public int getSkillLevel(int skillID) { + Skill skill = getSkill(skillID); + if (skill != null) { + return skill.getCurrentLevel(); + } + return 0; + } + + /** + * Gets the given SkillStat's Value. + * + * @param skillStat SkillStat to get the value from. + * @param skillId Specified skillId to grab the SkillInfo from. + * @return value of the given SkillStat of the given Skill Id + */ + public int getSkillStatValue(SkillStat skillStat, int skillId) { + if (hasSkill(skillId)) { + SkillInfo si = SkillData.getSkillInfoById(skillId); + return si.getValue(skillStat, getSkillLevel(skillId)); + } + return 0; + } + + public int getRemainRecipeUseCount(int recipeID) { + if (SkillConstants.isMakingSkillRecipe(recipeID)) { + return getSkillLevel(recipeID); + } + return 0; + } + + /** + * Creates a new {@link Skill} for this Char. + * + * @param id The skillID of the Skill to be created. + * @return The new Skill. + */ + private Skill createAndReturnSkill(int id) { + Skill skill = SkillData.getSkillDeepCopyById(id); + addSkill(skill); + return skill; + } + + public void setStat(Stat charStat, int amount) { + CharacterStat cs = getAvatarData().getCharacterStat(); + switch (charStat) { + case str: + cs.setStr(amount); + break; + case dex: + cs.setDex(amount); + break; + case inte: + cs.setInt(amount); + break; + case luk: + cs.setLuk(amount); + break; + case hp: + cs.setHp(amount); + break; + case mhp: + cs.setMaxHp(amount); + if (JobConstants.isDemonAvenger(getJob())) { + ((DemonAvenger) getJobHandler()).sendHpUpdate(); + } + break; + case mp: + cs.setMp(amount); + break; + case mmp: + cs.setMaxMp(amount); + break; + case ap: + cs.setAp(amount); + break; + case level: + cs.setLevel(amount); + notifyChanges(); + break; + case skin: + cs.setSkin(amount); + break; + case face: + cs.setFace(amount); + break; + case hair: + cs.setHair(amount); + break; + case pop: + cs.setPop(amount); + break; + case charismaEXP: + cs.setCharismaExp(amount); + break; + case charmEXP: + cs.setCharmExp(amount); + break; + case craftEXP: + cs.setCraftExp(amount); + break; + case insightEXP: + cs.setInsightExp(amount); + break; + case senseEXP: + cs.setSenseExp(amount); + break; + case willEXP: + cs.setWillExp(amount); + break; + case fatigue: + cs.setFatigue(amount); + break; + } + } + + public void updatePartyHP() { + Party party = getParty(); + if (party != null) { + for (PartyMember pm : party.getOnlineMembers()) { + if (pm != null) { + Char pmChr = pm.getChr(); + if (pmChr.getId() != getId() && pmChr.getClient().getChannel() == getClient().getChannel() && pm.getChr().getFieldID() == getFieldID()) { + pmChr.write(UserRemote.receiveHP(this)); + } + } + } + } + } + + public void receivePartyHP() { + Party party = getParty(); + if (party != null) { + for (PartyMember pm : party.getOnlineMembers()) { + Char pmChr = pm.getChr(); + if (pmChr.getId() != getId() && pmChr.getClient().getChannel() == getClient().getChannel() && pm.getChr().getFieldID() == getFieldID()) { + write(UserRemote.receiveHP(pmChr)); + } + } + } + } + + /** + * Notifies all groups (such as party, guild) about all your changes, such as level and job. + */ + private void notifyChanges() { + Party party = getParty(); + if (party != null) { + party.updatePartyMemberInfoByChr(this); + party.broadcast(WvsContext.partyResult(PartyResult.userMigration(party))); + updatePartyHP(); + receivePartyHP(); + } + Guild guild = getGuild(); + if (guild != null) { + GuildMember gm = guild.getMemberByCharID(getId()); + if (gm != null) { + gm.setLevel(getLevel()); + gm.setJob(getJob()); + guild.broadcast(WvsContext.guildResult(GuildResult.changeLevelOrJob(guild, gm))); + Alliance ally = guild.getAlliance(); + if (ally != null) { + ally.broadcast(WvsContext.allianceResult(AllianceResult.changeLevelOrJob(ally, guild, gm))); + } + } + } + } + + /** + * Gets a raw Stat from this Char, unaffected by things such as equips and skills. + * + * @param charStat The requested Stat + * @return the requested stat's value + */ + public int getStat(Stat charStat) { + CharacterStat cs = getAvatarData().getCharacterStat(); + switch (charStat) { + case str: + return cs.getStr(); + case dex: + return cs.getDex(); + case inte: + return cs.getInt(); + case luk: + return cs.getLuk(); + case hp: + return cs.getHp(); + case mhp: + return cs.getMaxHp(); + case mp: + return cs.getMp(); + case mmp: + return cs.getMaxMp(); + case ap: + return cs.getAp(); + case level: + return cs.getLevel(); + case skin: + return cs.getSkin(); + case face: + return cs.getFace(); + case hair: + return cs.getHair(); + case pop: + return cs.getPop(); + case charismaEXP: + return cs.getCharismaExp(); + case charmEXP: + return cs.getCharmExp(); + case craftEXP: + return cs.getCraftExp(); + case insightEXP: + return cs.getInsightExp(); + case senseEXP: + return cs.getSenseExp(); + case willEXP: + return cs.getWillExp(); + case fatigue: + return cs.getFatigue(); + case job: + return cs.getJob(); + } + return -1; + } + + /** + * Adds a Stat to this Char. + * + * @param charStat which Stat to add + * @param amount the amount of Stat to add + */ + public void addStat(Stat charStat, int amount) { + setStat(charStat, getStat(charStat) + amount); + } + + /** + * Adds a Stat to this Char, and immediately sends the packet to the client notifying the change. + * + * @param charStat which Stat to change + * @param amount the amount of Stat to add + */ + public void addStatAndSendPacket(Stat charStat, int amount) { + setStatAndSendPacket(charStat, getStat(charStat) + amount); + } + + /** + * Adds a Stat to this Char, and immediately sends the packet to the client notifying the change. + * + * @param charStat which Stat to change + * @param value the value of Stat to set + */ + public void setStatAndSendPacket(Stat charStat, int value) { + setStat(charStat, value); + Map stats = new HashMap<>(); + switch (charStat) { + case skin: + case fatigue: + stats.put(charStat, (byte) getStat(charStat)); + break; + case str: + case dex: + case inte: + case luk: + case ap: + case job: + stats.put(charStat, (short) getStat(charStat)); + break; + case hp: + case mhp: + case mp: + case mmp: + case face: + case hair: + case pop: + case charismaEXP: + case insightEXP: + case willEXP: + case craftEXP: + case senseEXP: + case charmEXP: + case eventPoints: + case level: + stats.put(charStat, getStat(charStat)); + break; + } + write(WvsContext.statChanged(stats, getSubJob())); + } + + /** + * Adds a certain amount of money to the current character. Also sends the + * packet to update the client's state. + * + * @param amount The amount of money to add. May be negative. + */ + public void addMoney(long amount) { + addMoney(amount, (byte) 0); + } + + public void addMoney(long amount, int exclRequest) { + CharacterStat cs = getAvatarData().getCharacterStat(); + long money = cs.getMoney(); + long newMoney = money + amount; + if (newMoney >= 0) { + newMoney = Math.min(GameConstants.MAX_MONEY, newMoney); + Map stats = new HashMap<>(); + cs.setMoney(newMoney); + stats.put(Stat.money, newMoney); + write(WvsContext.statChanged(stats, (byte) exclRequest)); + } + } + + + /** + * The same as addMoney, but negates the amount. + * + * @param amount The money to deduct. May be negative. + */ + public void deductMoney(long amount) { + addMoney(-amount); + } + + public Position getOldPosition() { + return oldPosition; + } + + public void setOldPosition(Position oldPosition) { + this.oldPosition = oldPosition; + } + + public void setMoveAction(byte moveAction) { + this.moveAction = moveAction; + } + + public byte getMoveAction() { + return moveAction; + } + + /** + * Sends a message to this Char through the ScriptProgress packet. + * + * @param msg The message to display. + */ + public void chatScriptMessage(String msg) { + write(UserPacket.scriptProgressMessage(msg)); + } + + /** + * Sends a message to this Char with a default colour {@link ChatType#SystemNotice}. + * + * @param msg The message to display. + */ + public void chatMessage(String msg) { + chatMessage(SystemNotice, msg); + } + + /** + * Sends a formatted message to this Char with a default color {@link ChatType#SystemNotice}. + * + * @param msg The message to display + * @param args The format arguments + */ + public void chatMessage(String msg, Object... args) { + chatMessage(SystemNotice, msg, args); + } + + /** + * Sends a message to this Char with a given {@link ChatType colour}. + * + * @param clr The Colour this message should be in. + * @param msg The message to display. + */ + public void chatMessage(ChatType clr, String msg) { + if (isDebugMode() || clr != ChatType.Mob) { + // As most debug info is printed in ChatType Mob, + // this is a hacky way to turn 'debug' mode on/off + write(UserLocal.chatMsg(clr, msg)); + } + } + + /** + * Sends a formatted message to this Char with a given {@link ChatType colour}. + * + * @param clr The Colour this message should be in. + * @param msg The message to display. + * @param args The format arguments + */ + public void chatMessage(ChatType clr, String msg, Object... args) { + if (isDebugMode() || clr != ChatType.Mob) { + // As most debug info is printed in ChatType Mob, + // this is a hacky way to turn 'debug' mode on/off + write(UserLocal.chatMsg(clr, String.format(msg, args))); + } + } + + + /** + * Unequips an {@link Item}. Ensures that the hairEquips and both inventories get updated. + * + * @param item The Item to equip. + */ + public void unequip(Item item) { + Equip equip = (Equip) item; + Inventory inv = getEquippedInventory(); + AvatarLook al = getAvatarData().getAvatarLook(); + int itemID = equip.getAnvilId() == 0 ? item.getItemId() : equip.getAnvilId(); + getInventoryByType(EQUIPPED).removeItem(item); + getInventoryByType(EQUIP).addItem(item); + int pos = item.getBagIndex(); + if (pos > BodyPart.BPBase.getVal() && pos < BodyPart.CBPEnd.getVal()) { + boolean isCash = item.isCash(); + Equip overrideItem; + // get corresponding cash item + if (isCash) { + overrideItem = (Equip) inv.getItemBySlot(pos - 100); + } else { + overrideItem = (Equip) inv.getItemBySlot(pos + 100); + } + int overrideItemId = overrideItem == null ? -1 : + overrideItem.getAnvilId() == 0 ? overrideItem.getItemId() : overrideItem.getAnvilId(); + al.removeItem((byte) pos, itemID, overrideItemId, isCash); + } else if (pos >= BodyPart.TotemBase.getVal() && pos < BodyPart.TotemEnd.getVal()) { + al.removeItem((byte) (pos - 5000), itemID, -1, false); + } + byte maskValue = AvatarModifiedMask.AvatarLook.getVal(); + getField().broadcastPacket(UserRemote.avatarModified(this, maskValue, (byte) 0), this); + if (getTemporaryStatManager().hasStat(CharacterTemporaryStat.SoulMP) && ItemConstants.isWeapon(item.getItemId())) { + getTemporaryStatManager().removeStat(CharacterTemporaryStat.SoulMP, false); + getTemporaryStatManager().removeStat(CharacterTemporaryStat.FullSoulMP, false); + getTemporaryStatManager().sendResetStatPacket(); + } + List skills = new ArrayList<>(); + for (ItemSkill itemSkill : ItemData.getEquipById(item.getItemId()).getItemSkills()) { + Skill skill = getSkill(itemSkill.getSkill()); + skill.setCurrentLevel(0); + removeSkill(itemSkill.getSkill()); + skill.setCurrentLevel(-1); // workaround to remove skill from window without a cc + skills.add(skill); + } + if (skills.size() > 0) { + getClient().write(WvsContext.changeSkillRecordResult(skills, true, false, false, false)); + } + int equippedSummonSkill = ItemConstants.getEquippedSummonSkillItem(item.getItemId(), getJob()); + if (equippedSummonSkill != 0) { + getField().removeSummon(equippedSummonSkill, getId()); + + getTemporaryStatManager().removeStatsBySkill(equippedSummonSkill); + getTemporaryStatManager().removeStatsBySkill(getTemporaryStatManager().getOption(CharacterTemporaryStat.RepeatEffect).rOption); + } + if (ItemConstants.isAndroid(itemID) || ItemConstants.isMechanicalHeart(itemID)) { + if (getAndroid() != null) { + getField().removeLife(getAndroid()); + } + setAndroid(null); + } + if (equip.getSetItemID() != 0) { + // update set effects + removeSetEffect(equip.getSetItemID()); + + recalcStats(EnumSet.of(BaseStat.mhp, BaseStat.mmp)); + } + } + + /** + * Equips an {@link Item}. Ensures that the hairEquips and both inventories get updated. + * + * @param item The Item to equip. + */ + public boolean equip(Item item, int oldPos, int newPos) { + Equip equip = (Equip) item; + Inventory inv = getEquippedInventory(); + if (equip.hasSpecialAttribute(EquipSpecialAttribute.Vestige)) { + return false; + } + boolean equipStatChanged = false; + if (equip.isEquipTradeBlock()) { + equip.setTradeBlock(true); + equip.setEquipTradeBlock(false); + equip.setEquippedDate(FileTime.currentTime()); + equip.addAttribute(EquipAttribute.Untradable); + equipStatChanged = true; + } + if (equip.hasAttribute(EquipAttribute.UntradableAfterTransaction)) { + equip.removeAttribute(EquipAttribute.UntradableAfterTransaction); + equip.addAttribute(EquipAttribute.Untradable); //For non CS items may or may not break stuff + equipStatChanged = true; + } + AvatarLook al = getAvatarData().getAvatarLook(); + Item swapItem = inv.getItemBySlot(newPos); + getInventoryByType(EQUIP).removeItem(item); + getInventoryByType(EQUIPPED).addItem(item); + if (swapItem != null) { + unequip(swapItem); + swapItem.setBagIndex(oldPos); + } + Integer itemID = equip.getAnvilId() == 0 ? item.getItemId() : equip.getAnvilId(); + int absPos = Math.abs(newPos); + if (absPos > BodyPart.BPBase.getVal() && absPos < BodyPart.CBPEnd.getVal()) { + boolean isCash = item.isCash(); + byte pos = (byte) (isCash ? absPos - 100 : absPos); + Equip overrideItem; + // get corresponding cash item + if (isCash) { + overrideItem = (Equip) inv.getItemBySlot(absPos - 100); + } else { + overrideItem = (Equip) inv.getItemBySlot(absPos + 100); + } + Integer overrideItemId = overrideItem == null ? -1 : + overrideItem.getAnvilId() == 0 ? overrideItem.getItemId() : overrideItem.getAnvilId(); + Map hairEquips = al.getHairEquips(); + Map unseenEquips = al.getUnseenEquips(); + // only add if not part of your own body + if (ItemConstants.isWeapon(itemID) && pos == BodyPart.Weapon.getVal()) { + if (isCash) { + al.setWeaponStickerId(itemID); + //unseenEquips.put(pos, itemID); + } else { + al.setWeaponId(itemID); + hairEquips.put(pos, itemID); + } + } else if (isCash) { + if (overrideItemId >= 0) { + hairEquips.remove(pos); + unseenEquips.put(pos, overrideItemId); + } + hairEquips.put(pos, itemID); + } else { + if (overrideItemId >= 0) { + unseenEquips.put(pos, itemID); + } else { + hairEquips.put(pos, itemID); + } + if (pos == BodyPart.Shield.getVal()) { + al.setSubWeaponId(itemID); + } + } + } else if (absPos >= BodyPart.TotemBase.getVal() && absPos < BodyPart.TotemEnd.getVal()) { + al.getTotems().add(itemID); + } + if (!equip.hasAttribute(EquipAttribute.NoNonCombatStatGain) && equip.getCharmEXP() != 0) { + addStatAndSendPacket(Stat.charmEXP, equip.getCharmEXP()); + equip.addAttribute(EquipAttribute.NoNonCombatStatGain); + equipStatChanged = true; + } + List skills = new ArrayList<>(); + for (ItemSkill itemSkill : ItemData.getEquipById(equip.getItemId()).getItemSkills()) { + Skill skill = SkillData.getSkillDeepCopyById(itemSkill.getSkill()); + int slv = itemSkill.getSlv(); + // support for Tower of Oz rings + if (equip.getLevel() > 0) { + slv = (byte) Math.min(equip.getLevel(), skill.getMaxLevel()); + } + skill.setCurrentLevel(slv); + skills.add(skill); + addSkill(skill); + } + if (skills.size() > 0) { + getClient().write(WvsContext.changeSkillRecordResult(skills, true, false, false, false)); + } + int equippedSummonSkill = ItemConstants.getEquippedSummonSkillItem(equip.getItemId(), getJob()); + if (equippedSummonSkill != 0) { + getJobHandler().handleSkill(this, getTemporaryStatManager(), equippedSummonSkill, (byte) 1, null, new SkillUseInfo()); + } + if (getField() != null) { + byte maskValue = AvatarModifiedMask.AvatarLook.getVal(); + getField().broadcastPacket(UserRemote.avatarModified(this, maskValue, (byte) 0), this); + } + //initSoulMP(equip.getSoulSocketId()); + // check android status + if (ItemConstants.isAndroid(itemID) || ItemConstants.isMechanicalHeart(itemID)) { + initAndroid(true); + if (getAndroid() != null) { + getField().spawnLife(getAndroid(), null); + } + } + if (equip.getSetItemID() != 0) { + // update set effects + addSetEffect(equip.getSetItemID()); + + // reset set base stats + recalcStats(EnumSet.of(BaseStat.mhp, BaseStat.mmp)); + } + + return equipStatChanged; + } + + public TemporaryStatManager getTemporaryStatManager() { + return temporaryStatManager; + } + + public void setTemporaryStatManager(TemporaryStatManager temporaryStatManager) { + this.temporaryStatManager = temporaryStatManager; + } + + public GachaponManager getGachaponManager() { + return gachaponManager; + } + + public void setId(int id) { + this.id = id; + } + + public void setJobHandler(Job jobHandler) { + this.jobHandler = jobHandler; + } + + public Job getJobHandler() { + return jobHandler; + } + + public FuncKeyMap getFuncKeyMap() { + return funcKeyMaps.get(0); + } + + public List getFuncKeyMaps() { + return funcKeyMaps; + } + + public void initFuncKeyMaps(int keySettingType, boolean beastTamer) { + int amount = beastTamer ? 5 : 1; + for (int i = 0; i < amount; i++) { + FuncKeyMap funcKeyMap = FuncKeyMap.getDefaultMapping(keySettingType); + funcKeyMaps.add(funcKeyMap); + } + } + + /** + * Creates a {@link Rect} with regard to this character. Adds all values to this Char's + * position. + * + * @param rect The rectangle to use. + * @return The new rectangle. + */ + public Rect getRectAround(Rect rect) { + int x = getPosition().getX(); + int y = getPosition().getY(); + return new Rect(x + rect.getLeft(), y + rect.getTop(), x + rect.getRight(), y + rect.getBottom()); + } + + /** + * Returns the Equip equipped at a certain {@link BodyPart}. + * + * @param bodyPart The requested bodyPart. + * @return The Equip corresponding to bodyPart. Null if there is none. + */ + public Item getEquippedItemByBodyPart(BodyPart bodyPart) { + List items = getEquippedInventory().getItemsByBodyPart(bodyPart); + return items.size() > 0 ? items.get(0) : null; + } + + public boolean isLeft() { + return moveAction > 0 && (moveAction % 2) == 1; + } + + public MarriageRecord getMarriageRecord() { + return marriageRecord; + } + + public void setMarriageRecord(MarriageRecord marriageRecord) { + this.marriageRecord = marriageRecord; + } + + public boolean isHide() { + return hide; + } + + public void setHide(boolean hide) { + if (this.hide == hide) { + return; + } + this.hide = hide; + chatMessage(String.format("Hide is %s.", (hide ? "enabled" : "disabled"))); + write(FieldPacket.setHideEffect(hide)); + if (getField() == null) { + return; + } + if (hide) { + OutPacket leavePacket = UserPool.userLeaveField(this); + for (Char other : getField().getChars()) { + if (other.getId() != getId() && other.getUser().getAccountType().ordinal() < getUser().getAccountType().ordinal()) { + other.write(leavePacket); + } + } + } else { + OutPacket enterPacket = UserPool.userEnterField(this); + for (Char other : getField().getChars()) { + if (other.getId() != getId() && other.getUser().getAccountType().ordinal() < getUser().getAccountType().ordinal()) { + other.write(enterPacket); + } + } + } + } + + + /** + * Returns a {@link Field} based on the current {@link FieldInstanceType} of this Char (channel, + * expedition, party or solo). + * + * @return The Field corresponding to the current FieldInstanceType. + */ + public Field getOrCreateFieldByCurrentInstanceType(int fieldID) { + Field res = null; + if (getInstance() == null) { + res = getClient().getChannelInstance().getField(fieldID); + } else { + res = getInstance().getField(fieldID); + res.setRuneStone(null); + } + return res; + } + + /** + * Warps this Char to a given field at the starting portal. + * + * @param fieldId the ID of the field to warp to + */ + public void warp(int fieldId) { + warp(getOrCreateFieldByCurrentInstanceType(fieldId)); + } + + /** + * Warps this Char to a given field at the given portal. If the portal doesn't exist, takes the starting portal. + * + * @param fieldId the ID of the field to warp to + * @param portalId the ID of the portal where the Char should spawn + */ + public void warp(int fieldId, int portalId) { + Field field = getOrCreateFieldByCurrentInstanceType(fieldId); + Portal portal = field.getPortalByID(portalId); + if (portal == null) { + portal = field.getDefaultPortal(); + } + warp(field, portal); + } + + public Inventory getHairInventory() { + return hairInventory; + } + + + public Inventory getFaceInventory() { + return faceInventory; + } + + /** + * Warps this character to a given field, at the starting position. + * See {@link #warp(Field, Portal) warp}. + * + * @param toField The field to warp to. + */ + public void warp(Field toField) { + warp(toField, toField.getPortalByName("sp"), false); + } + + /** + * Warps this Char to a given {@link Field}, with the Field's "sp" portal as spawn position. + * + * @param toField The Field to warp to. + * @param characterData Whether or not the character data should be encoded. + */ + public void warp(Field toField, boolean characterData) { + if (toField == null) { + toField = getOrCreateFieldByCurrentInstanceType(100000000); + } + warp(toField, toField.getPortalByName("sp"), characterData); + } + + /** + * Warps this Char to a given {@link Field} and {@link Portal}. Will not include character data. + * + * @param toField The Field to warp to. + * @param toPortal The Portal to spawn at. + */ + public void warp(Field toField, Portal toPortal) { + warp(toField, toPortal, false); + } + + /** + * Warps this character to a given field, at a given portal. + * Ensures that the previous map does not contain this Char anymore, and that the new field + * does. + * Ensures that all Lifes are immediately spawned for the new player. + * + * @param toField The {@link Field} to warp to. + * @param portal The {@link Portal} where to spawn at. + */ + public void warp(Field toField, Portal portal, boolean characterData) { + getAvatarData().getCharacterStat().setPortal(portal.getId()); + if (toField == null) { + return; + } + + checkAndRemoveExpiredItems(); + + TemporaryStatManager tsm = getTemporaryStatManager(); + for (AffectedArea aa : tsm.getAffectedAreas()) { + if (!(aa.isFollowOwner() && aa.getOwner() == this) && aa.getRemoveSkill()) { + tsm.removeStatsBySkill(aa.getSkillID()); + } + } + tsm.getAffectedAreas().clear(); + + Field currentField = getField(); + boolean toChannelField = false; + if (currentField != null) { + currentField.removeChar(this); + toChannelField = currentField.isChangeToChannelOnLeave(); + if (toChannelField) { + if (getInstance() != null) { + getInstance().clear(); + } + setInstance(null); + } + } + setField(toField); + + setChair(null); + getAvatarData().getCharacterStat().setPortal(portal.getId()); + setPosition(new Position(portal.getX(), portal.getY())); + initFriendStatus(); + getClient().getChannelInstance().broadcastPacket(WvsContext.broadcastMessage(4, getClient().getChannel(), "Welcome to v206 MapleStory Development", false)); + getClient().write(Stage.setField(this, toField, getClient().getChannel(), false, 0, characterData, hasBuffProtector(), + (byte) (portal != null ? portal.getId() : 0), false, 100, null, true, -1)); + toField.addChar(this); + showProperUI(currentField != null ? currentField.getId() : -1, toField.getId()); + + if (isHide()) { + write(FieldPacket.setHideEffect(true)); + } + + if (characterData) { + // initSoulMP(); + Party party = getParty(); + if (party != null) { + write(WvsContext.partyResult(PartyResult.loadParty(party))); + } + if (getGuild() != null) { + write(WvsContext.guildResult(GuildResult.loadGuild(getGuild()))); + if (getGuild().getAlliance() != null) { + write(WvsContext.allianceResult(AllianceResult.loadDone(getGuild().getAlliance()))); + write(WvsContext.allianceResult(AllianceResult.loadGuildDone(getGuild().getAlliance()))); + } + } + // Union union = getUnion(); + //Set eligibleChars = union.getEligibleUnionChars(); + //UnionBoard activeBoard = union.getBoardByPreset(getActiveUnionPreset()); + // QuestManager qm = getQuestManager(); + // if (qm.hasQuestCompleted(QuestConstants.UNION_START_QUEST)) { + // write(CUIHandler.unionAssignResult(getUnion().getUnionRank(), eligibleChars, activeBoard, + // null, null, null)); // todo: decide how u want to handle mobile/lab members + // Quest q = qm.getQuestById(QuestConstants.UNION_RANK); + // if (q == null) { + // q = QuestData.createQuestFromId(QuestConstants.UNION_RANK); + // qm.addQuest(q); + // } + // q.setProperty("rank", getUnion().getUnionRank()); + // write(WvsContext.questRecordExMessage(q)); + // } + write(WvsContext.setMaplePoints(getUser().getNxPrepaid())); + } + toField.spawnLifesForChar(this); + + if (JobConstants.isEvan(getJob()) && getJob() != JobConstants.JobEnum.EVAN_NOOB.getJobId()) { + ((Evan) getJobHandler()).spawnMir(); + } + if (JobConstants.isKanna(getJob())) { + if (Kanna.hasFoxMan(this)) { + write(FieldPacket.enterFieldFoxMan(this)); + } else { + ((Kanna) getJobHandler()).spawnHaku(); + } + } + if (JobConstants.isPhantom(getJob())) { + ((Phantom) getJobHandler()).setCardAmount(((Phantom) getJobHandler()).getCardAmount()); + } + if (JobConstants.isCorsair(getJob()) && hasSkill(Corsair.TARGET_LOCK) && !hasSkillOnCooldown(Corsair.TARGET_LOCK)) { + write(UserLocal.skillCooltimeSetM(Corsair.TARGET_LOCK, 0)); // needs to be sent, to reset the passive effect + } + ForceAtom fa = null; + if (getTemporaryStatManager().hasStatBySkillId(Job.GUIDED_ARROW)) { + fa = getForceAtomByKey(getTemporaryStatManager().getOptByCTSAndSkill(GuidedArrow, Job.GUIDED_ARROW).xOption); + } + clearForceAtomMap(); + if (fa != null) { + ForceAtomInfo fai = fa.getFaiList().get(0); + fai.setKey(getNewForceAtomKey()); + fa.setFaiList(Collections.singletonList(fai)); + Option o = new Option(); + o.xOption = fa.getFaiList().get(0).getKey(); + o.tOption = (int) getTemporaryStatManager().getRemainingTime(GuidedArrow, Job.GUIDED_ARROW); + o.setInMillis(true); + tsm.putCharacterStatValue(GuidedArrow, o, true); + tsm.sendSetStatPacket(); + createForceAtom(fa); + } + for (Summon summon : getSummons()) { + int skillId = summon.getSkillID(); + if (summon.getMoveAbility().changeFieldWithOwner() && skillId != Hayato.IAIJUTSU_PHANTOM_BLADE) { + summon.setObjectId(-1); + toField.spawnSummon(summon); + } else { + tsm.removeStatsBySkill(summon.getSkillID()); + } + } + if (JobConstants.isNightWalker(getJob())) { + for (Summon shadowBat : ((NightWalker) getJobHandler()).shadowBatList) { + shadowBat.setObjectId(-1); + toField.spawnAddSummon(shadowBat); + } + ((NightWalker) getJobHandler()).shadowBatList.clear(); + } + for (AffectedArea aura : getFollowAffectedAreas().values()) { + aura.setObjectId(-1); + aura.setRect(getRectAround(isLeft() ? aura.getSkillRect() : aura.getSkillRect().horizontalFlipAround(0))); + toField.spawnAffectedAreaAndRemoveOld(aura); + } + for (int skill : Job.REMOVE_ON_WARP) { + if (tsm.hasStatBySkillId(skill)) { + tsm.removeStatsBySkill(skill); + } + } + notifyChanges(); + if (getDeathCount() > 0) { + write(UserLocal.deathCountInfo(getDeathCount())); + } + if (field.getEliteState() == EliteState.EliteBoss) { + write(FieldPacket.eliteState(EliteState.EliteBoss, true, GameConstants.ELITE_BOSS_BGM, null, null)); + } + + if (getField() != null) { + if (getActiveFamiliar() != null) { + getField().broadcastPacket(CFamiliar.familiarEnterField(getId(), true, getActiveFamiliar(), true, false)); + } + for (Char c : toField.getChars()) { + if (c == null) { + continue; + } + if (c.getActiveFamiliar() != null) { + write(CFamiliar.familiarEnterField(c.getId(), true, c.getActiveFamiliar(), true, false)); + } + c.initPets(); + } + } + + Dragon dragon = getDragon(); + if (dragon != null) { + toField.spawnLife(dragon, null); + } + Android android = getAndroid(); + if (android != null) { + toField.spawnLife(android, null); + } + for (Mob mob : toField.getMobs()) { + mob.addObserver(getScriptManager()); + } + if (getInstance() == null) { + write(FieldPacket.setQuickMoveInfo(GameConstants.getQuickMoveInfos().stream().filter(qmi -> !qmi.isNoInstances() || getField().isChannelField()).collect(Collectors.toList()))); + } + if (JobConstants.isAngelicBuster(getJob())) { + write(UserLocal.setDressChanged(true, true)); + } + if (getInstance() != null && getInstance().getRemainingTime() > 0) { + write(FieldPacket.clock(ClockPacket.secondsClock(getInstance().getRemainingTime()))); + } + showSkillOnOffEffect(); + } + + public void initFriendStatus() { + for (Friend f : getFriends()) { + Char friendChr = getWorld().getCharByID(f.getFriendID()); + if (friendChr != null) { + f.setChr(friendChr); + friendChr.getFriendByCharID(getId()).setChr(this); + } + f.setFlag(friendChr != null + ? FriendFlag.FriendOnline + : FriendFlag.FriendOffline); + } + for (Friend f : getUser().getFriends()) { + User friendAcc = getWorld().getUserById(f.getFriendAccountID()); + if (friendAcc != null && friendAcc.getCurrentChr() != null) { + f.setChr(friendAcc.getCurrentChr()); + Friend me = friendAcc.getFriendByUserID(getAccount().getId()); + if (me != null) { + me.setChr(this); + } + } + f.setFlag(friendAcc != null + ? FriendFlag.AccountFriendOnline + : FriendFlag.AccountFriendOffline); + } + } + + public Set getSummons() { + Set summons = new HashSet<>(); + TemporaryStatManager tsm = getTemporaryStatManager(); + for (Option option : tsm.getOptions(IndieSummon)) { + summons.add(option.summon); + } + return summons; + } + + public Map getFollowAffectedAreas() { + return followAffectedAreas; + } + + public void setFollowAffectedAreas(Map followAffectedAreas) { + this.followAffectedAreas = followAffectedAreas; + } + + public void addFollowAffectedArea(AffectedArea affectedArea) { + getFollowAffectedAreas().put(affectedArea.getSkillID(), affectedArea); + } + + public AffectedArea getFollowAffectedAreaBySkillID(int skillID) { + return getFollowAffectedAreas().getOrDefault(skillID, null); + } + + public World getWorld() { + return getClient().getWorld(); + } + + /** + * Adds a given amount of exp to this Char. Immediately checks for level-up possibility, and + * sends the updated + * stats to the client. Allows multi-leveling. + * + * @param amount The amount of exp to add. + */ + public void addExp(long amount) { + ExpIncreaseInfo eii = new ExpIncreaseInfo(); + eii.setLastHit(true); + eii.setIncEXP(amount); + addExp(amount, eii); + } + + /** + * Adds exp to this Char. Will calculate the extra exp gained from buffs and the exp rate of the server. + * Also takes an argument to show this info to the client. Will not send anything if this argument (eii) is null. + * + * @param amount The amount of exp to add + * @param eii The info to send to the client + */ + public void addExp(long amount, ExpIncreaseInfo eii) { + if (amount <= 0) { + return; + } + + if (getGuild() != null) { + getGuild().addCommitmentToChar(this, (int) Math.min(amount, Integer.MAX_VALUE)); // independant of any xp buffs + } + + int level = getLevel(); + int expFromChrLvExpR = 0; + if (GameConstants.LEVEL_BASED_EXP_RATE) { + expFromChrLvExpR = (int) Math.ceil(amount * (GameConstants.expRates[level]-1.)); + amount = (long) Math.ceil(amount * GameConstants.expRates[level]); + } + + long incExp = eii == null ? amount : eii.getIncEXP(); + int expFromExpR = (int) (incExp * (getTotalStat(BaseStat.expR) / 100D)); + amount += expFromExpR; + CharacterStat cs = getAvatarData().getCharacterStat(); + long curExp = cs.getExp(); + if (level >= GameConstants.charExp.length - 1) { + return; + } + long newExp = curExp + amount; + Map stats = new HashMap<>(); + while (newExp >= GameConstants.charExp[level] && level < GameConstants.charExp.length) { + newExp -= GameConstants.charExp[level]; + addStat(Stat.level, 1); + stats.put(Stat.level, getStat(Stat.level)); + getJobHandler().handleLevelUp(); + level++; + getField().broadcastPacket(UserRemote.effect(getId(), Effect.levelUpEffect())); + heal(getMaxHP()); + healMP(getMaxMP()); + } + cs.setExp(newExp); + stats.put(Stat.exp, newExp); + if (eii != null) { + eii.setIndieBonusExp(expFromExpR); + eii.setLiveEventBonusExp(expFromChrLvExpR); + write(WvsContext.incExpMessage(eii)); + } + getClient().write(WvsContext.statChanged(stats)); + } + + /** + * Adds a given amount of exp to this Char, however it does not display the Exp Message. + * Immediately checks for level-up possibility, and sends the updated + * stats to the client. Allows multi-leveling. + * + * @param amount The amount of exp to add. + */ + public void addExpNoMsg(long amount) { + addExp(amount, null); + } + + /** + * Sets the {@link Char} to the given level non-recursively. + * + * @param level The level to set to. + */ + public void setLevel(int level) { + if (level >= 0) { + setStat(Stat.level, level); + Map stats = new HashMap<>(); + stats.put(Stat.level, level); + stats.put(Stat.exp, (long) 0); + getClient().write(WvsContext.statChanged(stats)); + getJobHandler().handleLevelUp(); + getField().broadcastPacket(UserRemote.effect(getId(), Effect.levelUpEffect())); + } + } + + /** + * Adds a single level to this Char. + */ + public void addLevel() { + addLevels(1); + } + + /** + * Adds a given amount of levels to this Char. + * + * @param levelsToAdd The amount of levels to add. + */ + public void addLevels(int levelsToAdd) { + int currentLevel = getLevel(); + int targetLevel = currentLevel + levelsToAdd; + if (targetLevel >= currentLevel) { + while (currentLevel < targetLevel) { + currentLevel++; + setStat(Stat.level, targetLevel); + Map stats = new HashMap<>(); + stats.put(Stat.level, currentLevel); + stats.put(Stat.exp, (long) 0); + getClient().write(WvsContext.statChanged(stats)); + getJobHandler().handleLevelUp(); + getField().broadcastPacket(UserRemote.effect(getId(), Effect.levelUpEffect())); + } + } + } + + /** + * Adds levels to {@link Char} until the given level recursively. + * + * @param targetLevel The level to level up to recursively. + */ + public void addLevelsTo(int targetLevel) { + for (int level = getLevel(); level <= targetLevel; level++) { + Map stats = new HashMap<>(); + stats.put(Stat.level, level); + stats.put(Stat.exp, (long) 0); + getClient().write(WvsContext.statChanged(stats)); + getJobHandler().handleLevelUp(); + getField().broadcastPacket(UserRemote.effect(getId(), Effect.levelUpEffect())); + } + } + + public void addTraitExp(Stat traitStat, int amount) { + if (amount <= 0) { + return; + } + Map stats = new HashMap<>(); + addStat(traitStat, amount); + stats.put(traitStat, getStat(traitStat)); + stats.put(Stat.dayLimit, getAvatarData().getCharacterStat().getNonCombatStatDayLimit()); + write(WvsContext.statChanged(stats)); + write(WvsContext.incNonCombatStatEXPMessage(traitStat, amount)); + } + + /** + * Writes a packet to this Char's client. + * + * @param outPacket The OutPacket to write. + */ + public void write(OutPacket outPacket) { + if (getClient() != null) { + getClient().write(outPacket); + } + } + + public ExpIncreaseInfo getExpIncreaseInfo() { + return new ExpIncreaseInfo(); + } + + public WildHunterInfo getWildHunterInfo() { + return wildHunterInfo; + } + + + public void setWildHunterInfo(WildHunterInfo wildHunterInfo) { + this.wildHunterInfo = wildHunterInfo; + } + + public ZeroInfo getZeroInfo() { + return zeroInfo; + } + + public void setZeroInfo(ZeroInfo zeroInfo) { + this.zeroInfo = zeroInfo; + } + + public int getNickItem() { + return nickItem; + } + + public void setNickItem(int nickItem) { + this.nickItem = nickItem; + } + + public void setDamageSkin(int itemID) { + setDamageSkin(new DamageSkinSaveData(ItemConstants.getDamageSkinIDByItemID(itemID), itemID, false, + StringData.getItemStringById(itemID))); + } + + public void setDamageSkin(DamageSkinSaveData damageSkin) { + this.damageSkin = damageSkin; + } + + public DamageSkinSaveData getDamageSkin() { + if (damageSkin == null) { + return DamageSkinSaveData.DEFAULT_SKIN; + } + return damageSkin; + } + + public DamageSkinSaveData getPremiumDamageSkin() { + if (premiumDamageSkin == null) { + return DamageSkinSaveData.DEFAULT_SKIN; + } + return premiumDamageSkin; + } + + public DamageSkinSaveData getActiveDamageSkin() { + DamageSkinSaveData ds = getDamageSkin(); + DamageSkinSaveData pds = getPremiumDamageSkin(); + if (pds != null && pds.getDamageSkinID() != 0) { + return pds; + } + if (ds != null && pds.getDamageSkinID() != 0) { + return ds; + } + return DamageSkinSaveData.DEFAULT_SKIN; + } + + public void setPremiumDamageSkin(DamageSkinSaveData premiumDamageSkin) { + this.premiumDamageSkin = premiumDamageSkin; + } + + public void setPremiumDamageSkin(int itemID) { + setPremiumDamageSkin(new DamageSkinSaveData(ItemConstants.getDamageSkinIDByItemID(itemID), itemID, false, + StringData.getItemStringById(itemID))); + } + + public void setPartyInvitable(boolean partyInvitable) { + this.partyInvitable = partyInvitable; + } + + /** + * Returns if this Char can be invited to a party. + * + * @return Whether or not this Char can be invited to a party. + */ + public boolean isPartyInvitable() { + return partyInvitable; + } + + + public int getRecordFromQuestEx(int questID, String property) { + Quest quest = getQuestManager().getQuestById(questID); + if (quest == null) { + quest = QuestData.createQuestFromId(questID); + quest.setProperty(property, 0); + getQuestManager().addQuest(quest); + } + if (quest.getProperty(property) == null) { + quest.setProperty(property, 0); + getQuestManager().addQuest(quest); + } + return Integer.parseInt(quest.getProperty(property)); + } + + + /** + * Returns if this character is currently in its beta state. + * + * @return true if this Char is in a beta state. + */ + public boolean isZeroBeta() { + return getZeroInfo() != null && getZeroInfo().isZeroBetaState(); + } + + + /** + * Zero only. + * Goes into Beta form if Alpha, and into Alpha if Beta. + */ + public void swapZeroState() { + if (!(JobConstants.isZero(getJob())) || getZeroInfo() == null) { + return; + } + ZeroInfo oldInfo = getZeroInfo().deepCopy(); + ZeroInfo currentInfo = getZeroInfo(); + CharacterStat cs = getAvatarData().getCharacterStat(); + currentInfo.setZeroBetaState(!oldInfo.isZeroBetaState()); + currentInfo.setSubHP(cs.getHp()); + currentInfo.setSubMHP(cs.getMaxHp()); + currentInfo.setSubMP(cs.getMp()); + currentInfo.setSubMMP(cs.getMaxMp()); + cs.setHp(oldInfo.getSubHP()); + cs.setMaxHp(oldInfo.getSubMHP()); + cs.setMp(oldInfo.getSubMP()); + cs.setMaxMp(oldInfo.getSubMMP()); + Map updatedStats = new HashMap<>(); + updatedStats.put(Stat.hp, cs.getHp()); + updatedStats.put(Stat.mhp, cs.getMaxHp()); + updatedStats.put(Stat.mp, cs.getMp()); + updatedStats.put(Stat.mmp, cs.getMaxMp()); + write(WvsContext.statChanged(updatedStats)); + if (getRecordFromQuestEx(9000001, "zeroState") == 0) { + setQuestRecordEx(9000001, "zeroState", 1); + } else { + setQuestRecordEx(9000001, "zeroState", 0); + } + write(WvsContext.zeroInfo(currentInfo, this)); + } + + /** + * Initializes zero info with HP values. + */ + public void initZeroInfo() { + ZeroInfo zeroInfo = new ZeroInfo(); + CharacterStat cs = getAvatarData().getCharacterStat(); + zeroInfo.setSubHP(cs.getHp()); + zeroInfo.setSubMHP(cs.getMaxHp()); + zeroInfo.setSubMP(cs.getMp()); + zeroInfo.setSubMMP(cs.getMaxMp()); + setZeroInfo(zeroInfo); + } + + public ScriptManagerImpl getScriptManager() { + return scriptManagerImpl; + } + + /** + * Adds a {@link Drop} to this Char. + * + * @param drop The Drop that has been picked up. + */ + public boolean addDrop(Drop drop, boolean byPet) { + if (drop.isMoney()) { + addMoney(drop.getMoney(), (byte) (byPet ? 0 : 1)); + getQuestManager().handleMoneyGain(drop.getMoney()); + write(WvsContext.dropPickupMessage(drop.getMoney(), (short) 0)); + return true; + } else { + Item item = drop.getItem(); + int itemID = item.getItemId(); + boolean isConsume = false; + boolean isRunOnPickUp = false; + if (itemID == GameConstants.BLUE_EXP_ORB_ID + || itemID == GameConstants.PURPLE_EXP_ORB_ID + || itemID == GameConstants.RED_EXP_ORB_ID + || itemID == GameConstants.GOLD_EXP_ORB_ID) { + long expGain = (long) (drop.getMobExp() * GameConstants.getExpOrbExpModifierById(itemID)); + + write(UserPacket.effect(Effect.fieldItemConsumed((int) (expGain > Integer.MAX_VALUE ? Integer.MAX_VALUE : expGain)))); + addExpNoMsg(expGain); + + // Exp Orb Buff On Pickup + TemporaryStatManager tsm = getTemporaryStatManager(); + ItemBuffs.giveItemBuffsFromItemID(this, tsm, itemID); + } + if (!ItemConstants.isEquip(itemID)) { + ItemInfo ii = ItemData.getItemInfoByID(itemID); + isConsume = ii.getSpecStats().getOrDefault(SpecStat.consumeOnPickup, 0) != 0; + isRunOnPickUp = ii.getSpecStats().getOrDefault(SpecStat.runOnPickup, 0) != 0; + } + if (isConsume) { + consumeItemOnPickup(item); + dispose(); + return true; + } else if (isRunOnPickUp) { + String script = String.valueOf(itemID); + ItemInfo ii = ItemData.getItemInfoByID(itemID); + if (ii.getScript() != null && !"".equals(ii.getScript())) { + script = ii.getScript(); + } + getScriptManager().startScript(itemID, script, ScriptType.Item); + return true; + } else if (getInventoryByType(item.getInvType()).canPickUp(item)) { + if (item instanceof Equip) { + Equip equip = (Equip) item; + if (equip.hasAttribute(EquipAttribute.UntradableAfterTransaction)) { + equip.removeAttribute(EquipAttribute.UntradableAfterTransaction); + equip.addAttribute(EquipAttribute.Untradable); + } + } + addItemToInventory(item.getInvType(), item, false, byPet); + write(WvsContext.dropPickupMessage(item, (short) item.getQuantity())); + return true; + } else { + write(WvsContext.dropPickupMessage(0, 0, (byte) -1, (short) 0, (short) 0)); + return false; + } + } + } + + private void consumeItemOnPickup(Item item) { + int itemID = item.getItemId(); + if (ItemConstants.isMobCard(itemID)) { + MonsterBookInfo mbi = getMonsterBookInfo(); + int id = 0; + if (!mbi.hasCard(itemID)) { + mbi.addCard(itemID); + id = itemID; + } + write(WvsContext.monsterBookSetCard(id)); + } + } + + /** + * Returns the Char's name. + * + * @return The Char's name. + */ + public String getName() { + return getAvatarData().getCharacterStat().getName(); + } + + /** + * Checks whether or not this Char has a given quest in progress. + * + * @param questReq The quest ID of the requested quest. + * @return Whether or not this char is in progress with the quest. + */ + public boolean hasQuestInProgress(int questReq) { + return getQuestManager().hasQuestInProgress(questReq); + } + + + public boolean isInValidState() { + return !isDead() || !isTalkingToNpc() || getTradeRoom() == null || getField() != null; + } + + /** + * Disposes this Char, allowing it to send packets to the server again. + */ + public void dispose() { + setTalkingToNpc(false); + write(WvsContext.exclRequest()); + } + + public void dispose(String msg) { + chatMessage(msg); + dispose(); + } + + /** + * Returns the current HP of this Char. + * + * @return the current HP of this Char. + */ + public int getHP() { + return getStat(Stat.hp); + } + + /** + * Returns the current MP of this Char. + * + * @return the current MP of this Char. + */ + public int getMP() { + return getStat(Stat.mp); + } + + /** + * Gets the max hp of this Char. + * + * @return The max hp of this Char + */ + public int getMaxHP() { + return Math.min(GameConstants.MAX_HP_MP, getTotalStat(BaseStat.mhp)); + } + + /** + * Gets the max mp of this Char. + * + * @return The max mp of this Char + */ + public int getMaxMP() { + return Math.min(GameConstants.MAX_HP_MP, getTotalStat(BaseStat.mmp)); + } + + /** + * Gets the current percentage of HP of this Char. + * + * @return + */ + public double getCurrentHPPerc() { + return 100 * (((double) getHP()) / getMaxHP()); + } + + /** + * Gets the current percentage of MP of this Char. + * + * @return + */ + public double getCurrentMPPerc() { + return 100 * (((double) getMP()) / getMaxMP()); + } + + /** + * Gets the amount that is 1% of this Char's Max HP + * + * @return + */ + + public int getHPPerc() { + return getHPPerc(1); + } + + /** + * Gets the amount that is 'amount'% of this Char's Max HP + * + * @param amount + * @return + */ + + public int getHPPerc(int amount) { + return (int) (amount * (getMaxHP() / 100D)); + } + + public int getMPPerc(int amount) { + return (int) (amount * (getMaxMP() / 100D)); + } + + /** + * Heals this Char's HP for a certain amount. Caps off at maximum HP. + * + * @param amount The amount to heal. + */ + public void heal(int amount) { + heal(amount, false); + } + + public void heal(int amount, boolean showEffect) { + if (amount >= 0 && getTemporaryStatManager().getOptByCTSAndSkill(BattlePvPHelenaMark, DemonAvenger.DEMONIC_FRENZY) != null) { // limits skill & item healing to 1% of the Char's MaxHP + amount = (int) (amount > getMaxHP() / 100D ? getMaxHP() / 100D : amount); + } + int curHP = getHP(); + int maxHP = getMaxHP(); + int newHP = curHP + amount > maxHP ? maxHP : curHP + amount < 0 ? 0 : curHP + amount; + + if (showEffect && newHP != curHP) { + write(UserPacket.effect(Effect.changeHPEffect(newHP - curHP))); + getField().broadcastPacket(UserRemote.effect(getId(), Effect.changeHPEffect(newHP - curHP))); + } + + Map stats = new HashMap<>(); + setStat(Stat.hp, newHP); + stats.put(Stat.hp, newHP); + write(WvsContext.statChanged(stats)); + if (getParty() != null) { + getParty().broadcast(UserRemote.receiveHP(this), this); + } + } + + /** + * "Heals" this Char's MP for a certain amount. Caps off at maximum MP. + * + * @param amount The amount to heal. + */ + public void healMP(int amount) { + int curMP = getMP(); + int maxMP = getMaxMP(); + int newMP = curMP + amount > maxMP ? maxMP : curMP + amount < 0 ? 0 : curMP + amount; + Map stats = new HashMap<>(); + setStat(Stat.mp, newMP); + stats.put(Stat.mp, newMP); + write(WvsContext.statChanged(stats)); + } + + + /** + * Consumes a single {@link Item} from this Char's {@link Inventory}. Will remove the Item if it + * has a quantity of 1. + * + * @param item The Item to consume, which is currently in the Char's inventory. + */ + public void consumeItem(Item item) { + consumeItem(item, false); + } + + /** + * Consumes a single {@link Item} from this Char's {@link Inventory}. Will remove the Item if it + * has a quantity of 1. + * + * @param item The Item to consume, which is currently in the Char's inventory. + * @param removable true: enables to remove throwing item from slot + */ + public void consumeItem(Item item, boolean removable) { + Inventory inventory = getInventoryByType(item.getInvType()); + // data race possible + boolean throwingItem = ItemConstants.isThrowingItem(item.getItemId()); + if (!throwingItem && item.getQuantity() <= 1 || throwingItem && removable) { + item.setQuantity(0); + short bagIndex = (short) item.getBagIndex(); + inventory.removeItem(item); + item.drop(); + if (item.getInvType() == EQUIPPED) { + if (bagIndex > BodyPart.BPBase.getVal() && bagIndex < BodyPart.CBPEnd.getVal() + || bagIndex >= BodyPart.TotemBase.getVal() && bagIndex < BodyPart.TotemEnd.getVal()) { + if (!ItemConstants.isTotem(item.getItemId())) { + boolean isCash = item.isCash(); + Equip overrideItem; + // get corresponding cash item + if (isCash) { + overrideItem = (Equip) inventory.getItemBySlot(bagIndex - 100); + } else { + overrideItem = (Equip) inventory.getItemBySlot(bagIndex + 100); + } + int overrideItemId = overrideItem == null ? -1 : + overrideItem.getAnvilId() == 0 ? overrideItem.getItemId() : overrideItem.getAnvilId(); + getAvatarData().getAvatarLook().removeItem((byte) bagIndex, item.getItemId(), overrideItemId, isCash); + } else { + getAvatarData().getAvatarLook().removeItem((byte) (bagIndex - 5000), item.getItemId(), -1, false); + } + } + bagIndex = (short) -bagIndex; + } + write(WvsContext.inventoryOperation(true, false, Remove, bagIndex, (byte) 0, 0, item)); + } else { + item.setQuantity(item.getQuantity() - 1); + write(WvsContext.inventoryOperation(true, false, UpdateQuantity, (short) item.getBagIndex(), (byte) -1, 0, item)); + } + setBulletIDForAttack(calculateBulletIDForAttack()); + } + + /** + * Removes a certain amount of an item from this Char. + * @param item the item to remove + * @param quantity the amount to remove + */ + public void consumeItem(Item item, int quantity) { + int consumed = quantity > item.getQuantity() ? 0 : item.getQuantity() - quantity; + item.setQuantity(consumed + 1); // +1 because 1 gets consumed by consumeItem(item) + consumeItem(item); + } + + + /** + * TODO: should replace this one with below one + * @param id + * @param quantity + */ + public void consumeItem(int id, int quantity) { + consumeItem(id, quantity, false); + } + + /** + * Consumes an item of this Char with the given id. Will do nothing if the Char doesn't have the + * Item. + * Only works for non-Equip (i.e., type is not EQUIPPED or EQUIP, CASH is fine) items. + * Calls {@link #consumeItem(Item)} if an Item is found. + * + * @param id The Item's id. + * @param quantity The amount to consume. + * @param removable true: enables to remove throwing item from slot + */ + public void consumeItem(int id, int quantity, boolean removable) { + Item checkItem = ItemData.getItemDeepCopy(id); + Item item = getInventoryByType(checkItem.getInvType()).getItemByItemID(id); + if (item != null) { + int consumed = quantity > item.getQuantity() ? 0 : item.getQuantity() - quantity; + item.setQuantity(consumed + 1); // +1 because 1 gets consumed by consumeItem(item) + consumeItem(item, removable); + } + } + + public void consumeItemBySlot(InvType invType, int slot, int quantity, boolean removable) { + Item item = getInventoryByType(invType).getItemBySlot(slot); + if (item != null) { + int consumed = quantity > item.getQuantity() ? 0 : item.getQuantity() - quantity; + item.setQuantity(consumed + 1); // +1 because 1 gets consumed by consumeItem(item) + consumeItem(item, removable); + } + } + + + public boolean hasItem(int itemID) { + return getInventories().stream().anyMatch(inv -> inv.containsItem(itemID)); + } + + public boolean hasItemCount(int itemID, int count) { + Inventory inv = getInventoryByType(ItemData.getItemDeepCopy(itemID).getInvType()); + return inv.getItems().stream() + .filter(i -> i.getItemId() == itemID) + .mapToInt(Item::getQuantity) + .sum() >= count; + } + + public short getLevel() { + return getAvatarData().getCharacterStat().getLevel(); + } + + public boolean isMarried() { + // TODO + return false; + } + + public Guild getGuild() { + return guild; + } + + public void setGuild(Guild guild) { + if (guild != null) { + if (getClient() != null) { + // to ensure that the same instance of a guild is retrieved for all characters + this.guild = getClient().getWorld().getGuildByID(guild.getId()); + } else { + // for offline character, it's just about the ID, so exact instance doesn't matter + this.guild = guild; + } + } else { + this.guild = null; + } + } + + public int getTotalChuc() { + int total = 0; + for (Item item : getEquippedInventory().getItems()) { + Equip equip = (Equip) item; + if (ItemConstants.isOverall(equip.getItemId())) { + total = 2 * equip.getChuc(); + } else { + total = equip.getChuc(); + } + } + return total; + } + + public int getDriverID() { + return driverID; + } + + public void setDriverID(int driverID) { + this.driverID = driverID; + } + + public int getPassengerID() { + return passengerID; + } + + public void setPassengerID(int passengerID) { + this.passengerID = passengerID; + } + + public int getChocoCount() { + return chocoCount; + } + + public void setChocoCount(int chocoCount) { + this.chocoCount = chocoCount; + } + + public int getActiveEffectItemID() { + return activeEffectItemID; + } + + public void setActiveEffectItemID(int activeEffectItemID) { + this.activeEffectItemID = activeEffectItemID; + } + + public int getMonkeyEffectItemID() { + return monkeyEffectItemID; + } + + public void setMonkeyEffectItemID(int monkeyEffectItemID) { + this.monkeyEffectItemID = monkeyEffectItemID; + } + + public int getCompletedSetItemID() { + return completedSetItemID; + } + + public void setCompletedSetItemID(int completedSetItemID) { + this.completedSetItemID = completedSetItemID; + } + + public short getFieldSeatID() { + return -1; + } + + public void setFieldSeatID(short fieldSeatID) { + this.fieldSeatID = fieldSeatID; + } + + public PortableChair getChair() { + return chair; + } + + public void setChair(PortableChair chair) { + this.chair = chair; + } + + public short getFoothold() { + return foothold; + } + + public void setFoothold(short foothold) { + this.foothold = foothold; + } + + public int getTamingMobLevel() { + return tamingMobLevel; + } + + public void setTamingMobLevel(int tamingMobLevel) { + this.tamingMobLevel = tamingMobLevel; + } + + public int getTamingMobExp() { + return tamingMobExp; + } + + public void setTamingMobExp(int tamingMobExp) { + this.tamingMobExp = tamingMobExp; + } + + public int getTamingMobFatigue() { + return tamingMobFatigue; + } + + public void setTamingMobFatigue(int tamingMobFatigue) { + this.tamingMobFatigue = tamingMobFatigue; + } + + public MiniRoom getMiniRoom() { + return miniRoom; + } + + public void setMiniRoom(MiniRoom miniRoom) { + this.miniRoom = miniRoom; + } + + public String getADBoardRemoteMsg() { + return ADBoardRemoteMsg; + } + + public void setADBoardRemoteMsg(String ADBoardRemoteMsg) { + this.ADBoardRemoteMsg = ADBoardRemoteMsg; + } + + public boolean isInCouple() { + return inCouple; + } + + public void setInCouple(boolean inCouple) { + this.inCouple = inCouple; + } + + public CoupleRecord getCouple() { + return couple; + } + + public void setCouple(CoupleRecord couple) { + this.couple = couple; + } + + public boolean hasFriendshipItem() { + return false; + } + + public FriendshipRingRecord getFriendshipRingRecord() { + return friendshipRingRecord; + } + + public void setFriendshipRingRecord(FriendshipRingRecord friendshipRingRecord) { + this.friendshipRingRecord = friendshipRingRecord; + } + + public int getComboCounter() { + return comboCounter; + } + + public void setComboCounter(int comboCounter) { + this.comboCounter = comboCounter; + } + + public int getEvanDragonGlide() { + return evanDragonGlide; + } + + public void setEvanDragonGlide(int evanDragonGlide) { + this.evanDragonGlide = evanDragonGlide; + } + + public int getKaiserMorphRotateHueExtern() { + return kaiserMorphRotateHueExtern; + } + + public void setKaiserMorphRotateHueExtern(int kaiserMorphRotateHueExtern) { + this.kaiserMorphRotateHueExtern = kaiserMorphRotateHueExtern; + } + + public int getKaiserMorphPrimiumBlack() { + return kaiserMorphPrimiumBlack; + } + + public void setKaiserMorphPrimiumBlack(int kaiserMorphPrimiumBlack) { + this.kaiserMorphPrimiumBlack = kaiserMorphPrimiumBlack; + } + + public int getKaiserMorphRotateHueInnner() { + return kaiserMorphRotateHueInnner; + } + + public void setKaiserMorphRotateHueInnner(int kaiserMorphRotateHueInnner) { + this.kaiserMorphRotateHueInnner = kaiserMorphRotateHueInnner; + } + + public int getMakingMeisterSkillEff() { + return makingMeisterSkillEff; + } + + public void setMakingMeisterSkillEff(int makingMeisterSkillEff) { + this.makingMeisterSkillEff = makingMeisterSkillEff; + } + + public FarmUserInfo getFarmUserInfo() { + if (farmUserInfo == null) { + return new FarmUserInfo(); + } + return farmUserInfo; + } + + public void setFarmUserInfo(FarmUserInfo farmUserInfo) { + this.farmUserInfo = farmUserInfo; + } + + public int getCustomizeEffect() { + return customizeEffect; + } + + public void setCustomizeEffect(int customizeEffect) { + this.customizeEffect = customizeEffect; + } + + public String getCustomizeEffectMsg() { + return customizeEffectMsg; + } + + public void setCustomizeEffectMsg(String customizeEffectMsg) { + this.customizeEffectMsg = customizeEffectMsg; + } + + public byte getSoulEffect() { + return soulEffect; + } + + public void setSoulEffect(byte soulEffect) { + this.soulEffect = soulEffect; + } + + public FreezeHotEventInfo getFreezeHotEventInfo() { + if (freezeHotEventInfo == null) { + return new FreezeHotEventInfo(); + } + return freezeHotEventInfo; + } + + public void setFreezeHotEventInfo(FreezeHotEventInfo freezeHotEventInfo) { + this.freezeHotEventInfo = freezeHotEventInfo; + } + + public int getEventBestFriendAID() { + return eventBestFriendAID; + } + + public void setEventBestFriendAID(int eventBestFriendAID) { + this.eventBestFriendAID = eventBestFriendAID; + } + + public int getMesoChairCount() { + return mesoChairCount; + } + + public void setMesoChairCount(int mesoChairCount) { + this.mesoChairCount = mesoChairCount; + } + + public boolean isBeastFormWingOn() { + return beastFormWingOn; + } + + public void setBeastFormWingOn(boolean beastFormWingOn) { + this.beastFormWingOn = beastFormWingOn; + } + + public int getActiveNickItemID() { + return activeNickItemID; + } + + public void setActiveNickItemID(int activeNickItemID) { + this.activeNickItemID = activeNickItemID; + } + + public int getMechanicHue() { + return mechanicHue; + } + + public void setMechanicHue(int mechanicHue) { + this.mechanicHue = mechanicHue; + } + + public boolean isOnline() { + return online; + } + + public void setOnline(boolean online) { + boolean changed = online != this.online; + + this.online = online; + if (getGuild() != null) { + setGuild(getGuild()); // Hack to ensure that all chars have the same instance of a guild + Guild g = getGuild(); + GuildMember gm = g.getMemberByCharID(getId()); + if (gm != null) { + gm.setOnline(online); + gm.setChr(online ? this : null); + Alliance ally = getGuild().getAlliance(); + if (ally != null) { + ally.broadcast(WvsContext.allianceResult( + AllianceResult.notifyLoginOrLogout(ally, g, gm, changed)), this); + } else { + getGuild().broadcast(WvsContext.guildResult( + GuildResult.notifyLoginOrLogout(g, gm, online, changed)), this); + } + } + } + if (getParty() != null) { + PartyMember pm = getParty().getPartyMemberByID(getId()); + if (pm != null) { + pm.setChr(online ? this : null); + getParty().broadcast(WvsContext.partyResult(PartyResult.userMigration(getParty()))); + getParty().updateFull(); + } + } + + + for (Friend f : getOnlineFriends()) { + boolean account = f.isAccount(); + Char chr = f.getChr(); + Friend me; + if (account) { + me = chr.getUser().getFriendByUserID(getAccount().getId()); + } else { + me = chr.getFriendByCharID(getId()); + } + if (me != null) { + me.setChr(online ? this : null); + me.setFlag(account ? + online ? FriendFlag.AccountFriendOnline : FriendFlag.AccountFriendOffline + : online ? FriendFlag.FriendOnline : FriendFlag.FriendOffline); + chr.write(WvsContext.friendResult(FriendResult.updateFriend(me))); + } + } + } + + + public void openURL(String url) { + write(FieldPacket.openURL(url)); + } + + + + public final void updateLoginStatus() { + notifyChanges(); + setOnline(false); + } + + + public String SQL(String txtsql,Integer[] columnas){ + + String resultado=""; + List stra = new LinkedList(); + resultado+="["; + + Session session = DatabaseManager.getSession(); + Transaction transaction = session.beginTransaction(); + + Query sql = session.createNativeQuery(txtsql); + List results =sql.getResultList(); + + for(Object[] r : results) { + resultado+="["; + for (Integer col: columnas) { + resultado+= "'"+r[col].toString()+"',"; + } + resultado+="],"; + } + resultado+="]"; + transaction.commit(); + session.close(); + return resultado; + } + + public void Update(String Metodo, String Key, String Value, String KeyID, int ID) { + Session session = DatabaseManager.getSession(); + Transaction transaction = session.beginTransaction(); + org.hibernate.query.Query sql = session.createNativeQuery( "UPDATE " + Metodo + " SET " + Key + " = :Value WHERE " + KeyID + " = :ID "); + sql.setParameter("Value",Value); + sql.setParameter("ID",ID); + sql.executeUpdate(); + transaction.commit(); + session.close(); + } + + + public void partyOnline(boolean online) { + this.online = online; + if (getParty() != null) { + PartyMember pm = getParty().getPartyMemberByID(getId()); + if (pm != null) { + pm.setChr(online ? this : null); + } + } + } + + public void setParty(Party party) { + if (party != null) { + setPartyID(party.getId()); + } else { + setPartyID(0); + } + this.party = party; + } + + public Party getParty() { + return party; + } + + /** + * Logs a User fully out (after crash/request to go to world select). + */ + public void logout() { + punishLieDetectorEvasion(); + log.info("Logging out " + getName()); + if (getField().getForcedReturn() != GameConstants.NO_MAP_ID) { + setFieldID(getField().getForcedReturn()); + } + if (getTradeRoom() != null) { + Char other = getTradeRoom().getOther(); + getTradeRoom().cancelTrade(); + other.chatMessage("Your trade partner disconnected."); + } + + + updateLoginStatus(); + getField().removeChar(this); + getUser().setCurrentChr(null); + getClient().getChannelInstance().removeChar(this); + Server.getInstance().removeUser(getUser()); // don't unstuck, as that would save the account (twice) + getJobHandler().cancelTimers(); + DatabaseManager.saveToDB(getUser()); + Server.getInstance().removeUser(user); + partyOnline(false); + scriptManagerImpl.getScripts().values().forEach(ScriptInfo::reset); + setChangingChannel(false); + } + + public int getSubJob() { + return getAvatarData().getCharacterStat().getSubJob(); + } + + public void setInstance(Instance instance) { + if (this.instance != null && instance == null) { + this.instance.stopEvents(); + } + this.instance = instance; + } + + public Instance getInstance() { + if (party != null && party.getInstance() != null && party.getInstance().getChars().contains(this)) { + return party.getInstance(); + } + return instance; + } + + private void showProperUI(int fromField, int toField) { + if (GameConstants.getMaplerunnerField(toField) > 0 && GameConstants.getMaplerunnerField(fromField) <= 0) { + write(FieldPacket.openUI(UIType.PLATFORM_STAGE_LEAVE)); + } else if (GameConstants.getMaplerunnerField(fromField) > 0 && GameConstants.getMaplerunnerField(toField) <= 0) { + write(FieldPacket.closeUI(UIType.PLATFORM_STAGE_LEAVE)); + } + } + + public int calculateBulletIDForAttack() { + Item weapon = getEquippedInventory().getFirstItemByBodyPart(BodyPart.Weapon); + if (weapon == null) { + return 0; + } + Predicate p; + int id = weapon.getItemId(); + + if (ItemConstants.isClaw(id)) { + p = i -> ItemConstants.isThrowingStar(i.getItemId()); + } else if (ItemConstants.isBow(id)) { + p = i -> ItemConstants.isBowArrow(i.getItemId()); + } else if (ItemConstants.isXBow(id)) { + p = i -> ItemConstants.isXBowArrow(i.getItemId()); + } else if (ItemConstants.isGun(id)) { + p = i -> ItemConstants.isBullet(i.getItemId()); + } else { + return 0; + } + Item i = getConsumeInventory().getItems().stream().sorted(Comparator.comparing(Item::getBagIndex)).filter(p).findFirst().orElse(null); + return i != null ? i.getItemId() : 0; + } + + public int getBulletIDForAttack() { + return bulletIDForAttack; + } + + public void setBulletIDForAttack(int bulletIDForAttack) { + this.bulletIDForAttack = bulletIDForAttack; + } + + public void setShop(NpcShopDlg shop) { + this.shop = shop; + } + + public NpcShopDlg getShop() { + return shop; + } + + /** + * Checks if this Char can hold an Item in their inventory, assuming that its quantity is 1. + * + * @param id the item's itemID + * @return whether or not this Char can hold an item in their inventory + */ + public boolean canHold(int id) { + boolean canHold; + if (ItemConstants.isEquip(id)) { //Equip + canHold = getEquipInventory().getSlots() > getEquipInventory().getItems().size(); + } else { //Item + ItemInfo ii = ItemData.getItemInfoByID(id); + Inventory inv = getInventoryByType(ii.getInvType()); + Item curItem = inv.getItemByItemID(id); + canHold = (curItem != null && curItem.getQuantity() + 1 < ii.getSlotMax()) || inv.getSlots() > inv.getItems().size(); + } + return canHold; + } + + public boolean canHold(int id, int quantity) { + Item item = ItemData.getItemDeepCopy(id); + item.setQuantity(quantity); + List items = new ArrayList<>(); + items.add(item); + return canHold(items); + } + + /** + * Recursive function that checks if this Char can hold a list of items in their inventory. + * + * @param items the list of items this char should be able to hold + * @return whether or not this Char can hold the list of items + */ + public boolean canHold(List items) { + return canHold(items, deepCopyForInvCheck()); + } + + private boolean canHold(List items, Char deepCopiedChar) { + // explicitly use a Char param to avoid accidentally adding items + if (items.size() == 0) { + return true; + } + Item item = items.get(0); + if (canHold(item.getItemId())) { + Inventory inv = deepCopiedChar.getInventoryByType(item.getInvType()); + inv.addItem(item); + items.remove(item); + return deepCopiedChar.canHold(items, deepCopiedChar); + } else { + return false; + } + + } + + private Char deepCopyForInvCheck() { + Char chr = new Char(); + chr.setEquippedInventory(getEquippedInventory().deepCopy()); + chr.setEquipInventory(getEquipInventory().deepCopy()); + chr.setConsumeInventory(getConsumeInventory().deepCopy()); + chr.setEtcInventory(getEtcInventory().deepCopy()); + chr.setInstallInventory(getInstallInventory().deepCopy()); + chr.setCashInventory(getCashInventory().deepCopy()); + return chr; + } + + /** + * Returns the set of personal (i.e., non-account) friends of this Char. + * + * @return The set of personal friends + */ + public Set getFriends() { + return friends; + } + + public void setFriends(Set friends) { + this.friends = friends; + } + + /** + * Returns the total list of friends of this Char + the owning Account's friends. + * + * @return The total list of friends + */ + public Set getAllFriends() { + Set res = new HashSet<>(getFriends()); + res.addAll(getUser().getFriends()); + return res; + } + + public Friend getFriendByCharID(int charID) { + return getFriends().stream().filter(f -> f.getFriendID() == charID).findAny().orElse(null); + } + + public User getUser() { + return user; + } + + public void setUser(User user) { + this.user = user; + } + + public Account getAccount() { + return account; + } + + public void setAccount(Account account) { + this.account = account; + } + + public void removeFriend(Friend friend) { + if (friend != null) { + getFriends().remove(friend); + } + } + + public void removeFriendByID(int charID) { + removeFriend(getFriendByCharID(charID)); + } + + public void addFriend(Friend friend) { + if (getFriendByCharID(friend.getFriendID()) == null) { + getFriends().add(friend); + } + } + + public void setChatClient(Client chatClient) { + this.chatClient = chatClient; + } + + public Client getChatClient() { + return chatClient; + } + + public List getMacros() { + return macros; + } + + public void setMacros(List macros) { + this.macros = macros; + } + + public void encodeDamageSkins(OutPacket outPacket) { + DamageSkinSaveData defaultSkin = DamageSkinSaveData.DEFAULT_SKIN; + outPacket.encodeByte(true); // hasDamageSkins. Always true in this design. + // check ida for structure + if (getDamageSkin() != null) { + getDamageSkin().encode(outPacket); + } else { + defaultSkin.encode(outPacket); + } + if (getPremiumDamageSkin() != null) { + getPremiumDamageSkin().encode(outPacket); + } else { + defaultSkin.encode(outPacket); + } + outPacket.encodeShort(GameConstants.DAMAGE_SKIN_MAX_SIZE); // slotCount + outPacket.encodeShort(getAccount().getDamageSkins().size()); + for (DamageSkinSaveData dssd : getAccount().getDamageSkins()) { + dssd.encode(outPacket); + } + } + + public boolean canAddMoney(long reqMoney) { + return getMoney() + reqMoney > 0 && getMoney() + reqMoney < GameConstants.MAX_MONEY; + } + + public void addPet(Pet pet) { + getPets().add(pet); + } + + public void removePet(Pet pet) { + getPets().remove(pet); + } + + public void initPets() { + for (PetItem pi : getCashInventory().getItems() + .stream() + .filter(i -> i instanceof PetItem && ((PetItem) i).getActiveState() > 0) + .map(i -> (PetItem) i).collect(Collectors.toList())) { + Pet p = getPets().stream().filter(pet -> pet.getItem().equals(pi)).findAny().orElse(null); + if (p == null) { + // only create a new pet if the active state is > 0 (active), but isn't added to our own list yet + p = pi.createPet(this); + addPet(p); + } + getField().broadcastPacket(UserLocal.petActivateChange(p, true, (byte) 0)); + } + } + + public Pet getPetByIdx(int idx) { + return getPets().stream() + .filter(p -> p.getIdx() == idx) + .findAny() + .orElse(null); + } + + public Pet getPetById(int id) { + for (Pet pet : getPets()) { + if (pet.getItem().getId() == id) { + return pet; + } + } + return null; + } + + public int getFirstPetIdx() { + int chosenIdx = -1; + for (int i = 0; i < GameConstants.MAX_PET_AMOUNT; i++) { + Pet p = getPetByIdx(i); + if (p == null) { + chosenIdx = i; + break; + } + } + return chosenIdx; + } + + /** + * Initializes the equips' enchantment stats. + */ + public void initEquips() { + for (Equip e : getEquippedInventory().getItems().stream().map(e -> (Equip) e).collect(Collectors.toList())) { + e.recalcEnchantmentStats(); + } + for (Equip e : getEquipInventory().getItems().stream().map(e -> (Equip) e).collect(Collectors.toList())) { + e.recalcEnchantmentStats(); + } + } + + + + public MonsterBookInfo getMonsterBookInfo() { + return monsterBookInfo; + } + + public void setMonsterBookInfo(MonsterBookInfo monsterBookInfo) { + this.monsterBookInfo = monsterBookInfo; + } + + public void setDamageCalc(DamageCalc damageCalc) { + this.damageCalc = damageCalc; + } + + public DamageCalc getDamageCalc() { + return damageCalc; + } + + // TODO: Apply set effects. + + public void recalcStats(Set stats) { + if (stats.contains(BaseStat.mhp) || stats.contains(BaseStat.mhpR)) { + int newMHP = getTotalStat(BaseStat.mhp); +// int curMHP = this.maxHP.getAndSet(newMHP); + if (newMHP < getHP()) { + setStatAndSendPacket(Stat.hp, newMHP); + } + if (JobConstants.isDemonAvenger(getJob())) { + ((DemonAvenger) getJobHandler()).sendHpUpdate(); + } + } + if (stats.contains(BaseStat.mmp) || stats.contains(BaseStat.mmpR)) { + int newMMP = getTotalStat(BaseStat.mmp); +// int curMMP = this.maxMP.getAndSet(newMMP); + if (newMMP < getMP()) { + setStatAndSendPacket(Stat.mp, newMMP); + } + } + stats.clear(); + } + + /** + * Gets the current amount of a given stat the character has. Includes things such as skills, items, etc... + * + * @param baseStat the requested stat + * @return the amount of stat + */ + private double getTotalStatAsDouble(BaseStat baseStat) { + // TODO cache this completely + double stat = 0; + if (baseStat == null) { + return stat; + } + if (baseStat.isNonAdditiveStat()) { + // stats like ied, final damage + Set statSet = new HashSet<>(); + // Stat gained by passives + if (getNonAddBaseStats().get(baseStat) != null) { + statSet.addAll(getNonAddBaseStats().get(baseStat)); + } + // Stat gained by buffs + if (getTemporaryStatManager().getNonAddBaseStats().get(baseStat) != null) { + statSet.addAll(getTemporaryStatManager().getNonAddBaseStats().get(baseStat)); + } + // Stat gained by equips + for (Item item : getEquippedInventory().getItems()) { + Equip equip = (Equip) item; + // maybe add canEquip here + statSet.addAll(equip.getNonAddBaseStat(baseStat)); + } + // Stat gained by set effects + if (getSetNonAddBaseStats().get(baseStat) != null) { + statSet.addAll(getSetNonAddBaseStats().get(baseStat)); + } + // Character potential + for (CharacterPotential cp : getPotentials()) { + Skill skill = cp.getSkill(); + SkillInfo si = SkillData.getSkillInfoById(skill.getSkillId()); + Map stats = si.getBaseStatValues(this, skill.getCurrentLevel()); + statSet.add(stats.getOrDefault(baseStat, 0)); + } + switch (baseStat) { + case fd: + stat = 100; + for (int s : statSet) { + stat *= 1 + s / 100d; + } + stat -= 100; + break; + case ied: + stat = 100; + for (int s : statSet) { + stat *= 1 - s / 100d; + } + stat = 100 - stat; + break; + } + } else { + // Stat allocated by sp + stat += baseStat.toStat() == null ? 0 : getStat(baseStat.toStat()); + // Stat gained by passives + stat += getBaseStats().getOrDefault(baseStat, 0L); + // Stat gained by buffs + int ctsStat = getTemporaryStatManager().getBaseStats().getOrDefault(baseStat, 0); + stat += ctsStat; + // Stat gained by the stat's corresponding "per level" value + if (baseStat.getLevelVar() != null) { + stat += getTotalStatAsDouble(baseStat.getLevelVar()) * getLevel(); + } + // Stat gained by equips + for (Item item : getEquippedInventory().getItems()) { + Equip equip = (Equip) item; + stat += equip.getBaseStat(baseStat); + } + // Stat gained by set effects + stat += getSetBaseStats().getOrDefault(baseStat, 0); + // Stat gained by the stat's corresponding rate value + if (baseStat.getRateVar() != null) { + stat += stat * (getTotalStat(baseStat.getRateVar()) / 100D); + } + // --- Everything below this doesn't get affected by the rate var + // Character potential + for (CharacterPotential cp : getPotentials()) { + Skill skill = cp.getSkill(); + SkillInfo si = SkillData.getSkillInfoById(skill.getSkillId()); + Map stats = si.getBaseStatValues(this, skill.getCurrentLevel()); + stat += stats.getOrDefault(baseStat, 0); + } + } + return stat; + } + + public int getTotalStat(BaseStat stat) { + return (int) getTotalStatAsDouble(stat); + } + + /** + * Gets a total list of basic stats that a character has, including from skills, items, etc... + * + * @return the total list of basic stats + */ + public Map getTotalBasicStats() { + Map stats = new HashMap<>(); + for (BaseStat bs : BaseStat.values()) { + stats.put(bs, getTotalStat(bs)); + } + return stats; + } + + /** + * Sets whether or not this user has chosen to use up an item to protect their buffs upon next respawn. + * + * @param buffProtector buff protectability + */ + public void setBuffProtector(boolean buffProtector) { + this.buffProtector = buffProtector; + } + + /** + * Returns whether this user has chosen to activate a buff protector for their next respawn. + * + * @return buff protectability + */ + public boolean hasBuffProtector() { + return buffProtector; + } + + /** + * Returns the item the user has for protecting buffs. + * + * @return the Item the user has for prtoecting buffs, or null if there is none. + */ + public Item getBuffProtectorItem() { + int[] buffItems = {5133000, 5133001, 4143000}; + Item item = null; + for (int id : buffItems) { + item = getConsumeInventory().getItemByItemID(id); + if (item == null) { + item = getCashInventory().getItemByItemID(id); + } + if (item != null) { + // just break when an item was found. + break; + } + } + return item; + } + + /** + * Resets the combo kill's timer. Interrupts the previous timer if there was one. + */ + public void comboKillResetTimer() { + if (comboKillResetTimer != null && !comboKillResetTimer.isDone()) { + comboKillResetTimer.cancel(true); + } + comboKillResetTimer = EventManager.addEvent(() -> setComboCounter(0), GameConstants.COMBO_KILL_RESET_TIMER, TimeUnit.SECONDS); + } + + public Map getSkillCoolTimes() { + return skillCoolTimes; + } + + public void addSkillCoolTime(int skillId, long nextusabletime) { + getSkillCoolTimes().put(skillId, nextusabletime); + write(UserLocal.skillCooltimeSetM(skillId, (int) (nextusabletime - Util.getCurrentTimeLong()))); + } + + public void addSkillCoolTime(int skillId, int cooldownTimeMS) { + addSkillCoolTime(skillId, Util.getCurrentTimeLong() + cooldownTimeMS); + } + + public void removeSkillCoolTime(int skillId) { + getSkillCoolTimes().remove(skillId); + } + + public void resetSkillCoolTime(int skillId) { + if (hasSkillOnCooldown(skillId)) { + addSkillCoolTime(skillId, 0); + write(UserLocal.skillCooltimeSetM(skillId, 0)); + } + } + + public void reduceSkillCoolTime(int skillId, long amountInMS) { + if (hasSkillOnCooldown(skillId)) { + long nextUsableTime = getSkillCoolTimes().get(skillId); + addSkillCoolTime(skillId, nextUsableTime - amountInMS); + write(UserLocal.skillCooltimeSetM(skillId, (int) ((nextUsableTime - amountInMS) - System.currentTimeMillis() < 0 ? 0 : (nextUsableTime - amountInMS) - System.currentTimeMillis()))); + } + } + + public long getRemainingCoolTime(int skillId) { + if (hasSkillOnCooldown(skillId)) { + return getSkillCoolTimes().getOrDefault(skillId, System.currentTimeMillis()) - System.currentTimeMillis(); + } + return 0L; + } + + /** + * Checks whether or not a skill is currently on cooldown. + * + * @param skillID the skill's id to check + * @return whether or not a skill is currently on cooldown + */ + public boolean hasSkillOnCooldown(int skillID) { + return System.currentTimeMillis() < getSkillCoolTimes().getOrDefault(skillID, 0L); + } + + /** + * Checks if a skill is allowed to be cast, according to its cooltime. If it is allowed, it immediately sets + * the cooltime and stores the next moment where the skill is allowed. Skills without cooltime are always allowed. + * + * @param skillID the skill id of the skill to put on cooldown + * @return whether or not the skill was allowed + */ + public boolean checkAndSetSkillCooltime(int skillID) { + if (hasSkillOnCooldown(skillID)) { + return false; + } else { + Skill skill = getSkill(skillID); + if (skill != null && SkillData.getSkillInfoById(skillID).hasCooltime()) { + setSkillCooldown(skillID, (byte) skill.getCurrentLevel()); + } + return true; + } + } + + /** + * Sets a skill's cooltime according to their property in the WZ files, and stores the moment where the skill + * comes off of cooldown. + * + * @param skillID the skill's id to set + * @param slv the current skill level + */ + public void setSkillCooldown(int skillID, int slv) { + SkillInfo si = SkillData.getSkillInfoById(skillID); + if (si != null) { + int cdInSec = si.getValue(SkillStat.cooltime, slv); + int cdInMillis = cdInSec > 0 ? cdInSec * 1000 : si.getValue(SkillStat.cooltimeMS, slv); + int alteredcd = getJobHandler().alterCooldownSkill(skillID); + if (alteredcd >= 0) { + cdInMillis = alteredcd; + } + // RuneStone of Skill + if (getTemporaryStatManager().hasStatBySkillId(RuneStone.LIBERATE_THE_RUNE_OF_SKILL) && cdInMillis > 5000 && !si.isNotCooltimeReset()) { + cdInMillis = 5000; + } + if (!hasSkillCDBypass() && cdInMillis > 0) { + addSkillCoolTime(skillID, System.currentTimeMillis() + cdInMillis); + } + } + } + + public CharacterPotentialMan getPotentialMan() { + return potentialMan; + } + + public Set getPotentials() { + return potentials; + } + + public void setPotentials(Set potentials) { + this.potentials = potentials; + } + + public int getHonorExp() { + return getAvatarData().getCharacterStat().getHonorExp(); + } + + public void setHonorExp(int honorExp) { + getAvatarData().getCharacterStat().setHonorExp(honorExp); + } + + /** + * Adds honor exp to this Char, and sends a packet to the client with the new honor exp. + * Honor exp added may be negative, but the total honor exp will never go below 0. + * + * @param exp the exp to add (may be negative) + */ + public void addHonorExp(int exp) { + setHonorExp(Math.max(0, getHonorExp() + exp)); + write(WvsContext.characterHonorExp(getHonorExp())); + } + + public int getDeathCount() { + return deathCount; + } + + public void setDeathCount(int deathCount) { + this.deathCount = deathCount; + } + + public Set getLinkSkills() { + return getAccount().getLinkSkills().stream() + .filter(ls -> ls.getUsingID() == getId()) + .collect(Collectors.toSet()); + } + + /** + * Adds a skill to this Char. If the Char already has this skill, just changes the levels. + * + * @param skillID the skill's id to add + * @param currentLevel the current level of the skill + * @param masterLevel the master level of the skill + */ + public void addSkill(int skillID, int currentLevel, int masterLevel) { + Skill skill = SkillData.getSkillDeepCopyById(skillID); + if (skill == null && !SkillConstants.isMakingSkillRecipe(skillID)) { + log.error("No such skill found."); + return; + } + skill.setCurrentLevel(currentLevel); + skill.setMasterLevel(masterLevel); + addSkill(skill); + write(WvsContext.changeSkillRecordResult(skill)); + } + + public long getRuneCooldown() { + return runeStoneCooldown; + } + + public void setRuneCooldown(long runeCooldown) { + this.runeStoneCooldown = runeCooldown; + } + + public MemorialCubeInfo getMemorialCubeInfo() { + return memorialCubeInfo; + } + + public void setMemorialCubeInfo(MemorialCubeInfo memorialCubeInfo) { + this.memorialCubeInfo = memorialCubeInfo; + } + + public Set getFamiliars() { + return familiars; + } + + public void setFamiliars(Set familiars) { + this.familiars = familiars; + } + + public boolean hasFamiliar(int familiarID) { + return getFamiliars().stream().anyMatch(f -> f.getFamiliarID() == familiarID); + } + + public Familiar getFamiliarByID(int familiarID) { + return getFamiliars().stream().filter(f -> f.getFamiliarID() == familiarID).findAny().orElse(null); + } + + public void addFamiliar(Familiar familiar) { + getFamiliars().add(familiar); + } + + public void removeFamiliarByID(int familiarID) { + removeFamiliar(getFamiliarByID(familiarID)); + } + + public void removeFamiliar(Familiar familiar) { + if (familiar != null) { + getFamiliars().remove(familiar); + } + } + + public void setActiveFamiliar(Familiar activeFamiliar) { + this.activeFamiliar = activeFamiliar; + } + + public Familiar getActiveFamiliar() { + return activeFamiliar; + } + + public boolean hasSkillCDBypass() { + return skillCDBypass; + } + + public void setSkillCDBypass(boolean skillCDBypass) { + this.skillCDBypass = skillCDBypass; + } + + + public Set getStolenSkills() { + return stolenSkills; + } + + public void setStolenSkills(Set stolenSkills) { + this.stolenSkills = stolenSkills; + } + + public void addStolenSkill(StolenSkill stolenSkill) { + getStolenSkills().add(stolenSkill); + } + + public void removeStolenSkill(StolenSkill stolenSkill) { + if (stolenSkill != null) { + getStolenSkills().remove(stolenSkill); + } + } + + public StolenSkill getStolenSkillByPosition(int position) { + return getStolenSkills().stream().filter(ss -> ss.getPosition() == position).findAny().orElse(null); + } + + public StolenSkill getStolenSkillBySkillId(int skillId) { + return getStolenSkills().stream().filter(ss -> ss.getSkillid() == skillId).findAny().orElse(null); + } + + + public Set getChosenSkills() { + return chosenSkills; + } + + public void setChosenSkills(Set chosenSkills) { + this.chosenSkills = chosenSkills; + } + + public void addChosenSkill(ChosenSkill chosenSkill) { + getChosenSkills().add(chosenSkill); + } + + public void removeChosenSkill(ChosenSkill chosenSkill) { + if (chosenSkill != null) { + getChosenSkills().remove(chosenSkill); + } + } + + public ChosenSkill getChosenSkillByPosition(int position) { + return getChosenSkills().stream().filter(ss -> ss.getPosition() == position).findAny().orElse(null); + } + + public boolean isChosenSkillInStolenSkillList(int skillId) { + return getStolenSkills().stream().filter(ss -> ss.getSkillid() == skillId).findAny().orElse(null) != null; + } + + public Map getBaseStats() { + return baseStats; + } + + public Map> getNonAddBaseStats() { + return nonAddBaseStats; + } + + /** + * Adds a BaseStat's amount to this Char's BaseStat cache. + * + * @param bs The BaseStat + * @param amount the amount of BaseStat to add + */ + public void addBaseStat(BaseStat bs, int amount) { + if (bs != null) { + if (bs.isNonAdditiveStat()) { + if (!getNonAddBaseStats().containsKey(bs)) { + getNonAddBaseStats().put(bs, new HashSet<>()); + } + getNonAddBaseStats().get(bs).add(amount); +// chatMessage("[addBaseStat] key: %s value: %s", bs.toString(), Integer.toString(amount)); + } else { + getBaseStats().put(bs, getBaseStats().getOrDefault(bs, 0L) + amount); +// chatMessage("[addBaseStat else] key: %s value: %s", bs.toString(), Integer.toString(amount)); + } + } + } + + /** + * Removes a BaseStat's amount from this Char's BaseStat cache. + * + * @param bs The BaseStat + * @param amount the amount of BaseStat to remove + */ + public void removeBaseStat(BaseStat bs, int amount) { + addBaseStat(bs, -amount); + } + + public void addItemToInventory(int id, int quantity) { + if (ItemConstants.isEquip(id)) { //Equip + Equip equip = ItemData.getEquipDeepCopyFromID(id, false); + addItemToInventory(equip.getInvType(), equip, false); + getClient().write(WvsContext.inventoryOperation(true, false, + Add, (short) equip.getBagIndex(), (byte) -1, 0, equip)); + + } else { //Item + Item item = ItemData.getItemDeepCopy(id); + item.setQuantity(quantity); + addItemToInventory(item); + getClient().write(WvsContext.inventoryOperation(true, false, + Add, (short) item.getBagIndex(), (byte) -1, 0, item)); + + } + } + + public int getSpentHyperSp() { + int sp = 0; + for (int skillID = 80000400; skillID <= 80000418; skillID++) { + Skill skill = getSkill(skillID); + if (skill != null) { + sp += SkillConstants.getTotalNeededSpForHyperStatSkill(skill.getCurrentLevel()); + } + } + return sp; + } + + public int getSpentPassiveHyperSkillSp() { + int sp = 0; + for (Skill skill : getSkills()) { + SkillInfo si = SkillData.getSkillInfoById(skill.getSkillId()); + if (si.getHyper() == 1) { + sp += skill.getCurrentLevel(); + } + } + return sp; + } + + public int getSpentActiveHyperSkillSp() { + int sp = 0; + for (Skill skill : getSkills()) { + SkillInfo si = SkillData.getSkillInfoById(skill.getSkillId()); + if (si.getHyper() == 2) { + sp += skill.getCurrentLevel(); + } + } + return sp; + } + + public int getRewardPoints() { + return rewardPoints; + } + + public void setRewardPoints(int rewardPoints) { + this.rewardPoints = rewardPoints; + } + + public int[] getHyperRockFields() { + return hyperrockfields; + } + + public void setHyperRockFields(int[] hyperrockfields) { + this.hyperrockfields = hyperrockfields; + } + + public int[] getTowerChairs() { + return towerChairs; + } + + public void setTowerChairs(int[] towerChairs) { + this.towerChairs = towerChairs; + } + + public boolean isChangingChannel() { + return changingChannel; + } + + public void setChangingChannel(boolean changingChannel) { + this.changingChannel = changingChannel; + } + + public int getPartyID() { + return partyID; + } + + public void setPartyID(int partyID) { + this.partyID = partyID; + } + + public byte getMonsterParkCount() { + return monsterParkCount; + } + + public void setMonsterParkCount(byte monsterParkCount) { + this.monsterParkCount = monsterParkCount; + } + + public TownPortal getTownPortal() { + return townPortal; + } + + public void setTownPortal(TownPortal townPortal) { + this.townPortal = townPortal; + } + + public TradeRoom getTradeRoom() { + return tradeRoom; + } + + public void setTradeRoom(TradeRoom tradeRoom) { + this.tradeRoom = tradeRoom; + } + + public void damage(int damage) { + damage(damage, false); + } + + public void damage(int damage, boolean showHitAboveHead) { + HitInfo hi = new HitInfo(); + hi.hpDamage = damage; + if (showHitAboveHead) { + write(UserPacket.effect(Effect.changeHPEffect(-damage))); + } + getJobHandler().handleHit(getClient(), hi); + } + + public void die() { + setStatAndSendPacket(Stat.hp, 0); + write(UserLocal.openUIOnDead(true, getBuffProtectorItem() != null, false, false, false, ReviveType.NORMAL, 0)); + } + + public void changeChannel(byte channelId) { + changeChannelAndWarp(channelId, getFieldID()); + } + + public void changeChannelAndWarp(byte channelId, int fieldId) { + setChangingChannel(true); + Field field = getField(); + if (getFieldID() != fieldId) { + setField(getOrCreateFieldByCurrentInstanceType(fieldId)); + } + DatabaseManager.saveToDB(getAccount()); + int worldID = getClient().getChannelInstance().getWorldId().getVal(); + World world = Server.getInstance().getWorldById(worldID); + field.removeChar(this); + Channel channel = world.getChannelById(channelId); + channel.addClientInTransfer(channelId, getId(), getClient()); + short port = (short) channel.getPort(); + write(ClientSocket.migrateCommand(true, port)); + } + + public void changeChannelAndWarp(int channel, int fieldID) { + Client c = getClient(); + c.setOldChannel(c.getChannel()); + changeChannelAndWarp((byte) channel, fieldID); + } + + @Override + public String toString() { + return "Char{" + + "(" + super.toString() + + ")id=" + id + + ", name=" + getName() + + '}'; + } + + public void setBattleRecordOn(boolean battleRecordOn) { + this.battleRecordOn = battleRecordOn; + } + + public boolean isBattleRecordOn() { + return battleRecordOn; + } + + public void checkAndRemoveExpiredItems() { + Inventory[] inventories = new Inventory[]{getEquippedInventory(), getEquipInventory(), getConsumeInventory(), + getEtcInventory(), getInstallInventory(), getCashInventory()}; + Set expiredItems = new HashSet<>(); + for (Inventory inv : inventories) { + expiredItems.addAll( + inv.getItems().stream() + .filter(item -> item.getDateExpire().isExpired()) + .collect(Collectors.toSet()) + ); + } + List expiredItemIDs = expiredItems.stream().map(Item::getItemId).collect(Collectors.toList()); + write(WvsContext.message(MessageType.GENERAL_ITEM_EXPIRE_MESSAGE, expiredItemIDs)); + for (Item item : expiredItems) { + consumeItem(item); + if (item.getItemId() == ItemConstants.GAGAGUCCI) { + int qid = QuestConstants.PVAC_DATA; + if (getRecordFromQuestEx(qid, "vac") == 1) { + setQuestRecordEx(qid, "vac", 0); + chatMessage("Pvac has been disabled since your item has expired"); + } + } + } + } + + public boolean isGuildMaster() { + return getGuild() != null && getGuild().getLeaderID() == getId(); + } + + /** + * Checks if this Char has any of the given quests in progress. Also true if the size of the given set is 0. + * + * @param quests the set of quest ids to check + * @return whether or not this Char has any of the given quests + */ + public boolean hasAnyQuestsInProgress(Set quests) { + return quests.size() == 0 || quests.stream().anyMatch(this::hasQuestInProgress); + } + + public int getPreviousFieldID() { + return previousFieldID == 0 || previousFieldID == 999999999 ? 100000000 : previousFieldID; + } + + public void setPreviousFieldID(int previousFieldID) { + this.previousFieldID = previousFieldID; + } + + public long getNextRandomPortalTime() { + return nextRandomPortalTime; + } + + public void setNextRandomPortalTime(long nextRandomPortalTime) { + this.nextRandomPortalTime = nextRandomPortalTime; + } + + public Set getMatrixRecords() { + return matrixRecords; + } + + public void setMatrixRecords(Set matrixRecords) { + this.matrixRecords = matrixRecords; + } + + public int getNodeShards() { + Quest quest = getQuestManager().getQuestById(QuestConstants.NODESHARD_COUNT); + if (quest == null) { + quest = QuestData.createQuestFromId(QuestConstants.NODESHARD_COUNT); + quest.setProperty("count", 0); + getQuestManager().addQuest(quest); + } + return Integer.parseInt(quest.getProperty("count")); + } + + public void setNodeShards(int nodeShards) { + Quest quest = getQuestManager().getQuestById(QuestConstants.NODESHARD_COUNT); + if (quest == null) { + quest = QuestData.createQuestFromId(QuestConstants.NODESHARD_COUNT); + quest.setProperty("count", 0); + getQuestManager().addQuest(quest); + } + quest.setProperty("count", nodeShards); + write(WvsContext.questRecordExMessage(quest)); + } + + public int getDojoPoints() { + Quest quest = getQuestManager().getQuestById(QuestConstants.DOJO_COUNT); + if (quest == null) { + quest = QuestData.createQuestFromId(QuestConstants.DOJO_COUNT); + quest.setProperty("point", 0); + getQuestManager().addQuest(quest); + } + return Integer.parseInt(quest.getProperty("point")); + } + + public void setDojoPoints(int dojoPoints) { + Quest quest = getQuestManager().getQuestById(QuestConstants.DOJO_COUNT); + if (quest == null) { + quest = QuestData.createQuestFromId(QuestConstants.DOJO_COUNT); + quest.setProperty("point", 0); + getQuestManager().addQuest(quest); + } + quest.setProperty("point", dojoPoints); + write(WvsContext.questRecordExMessage(quest)); + } + + public int getPQPoints() { + Quest quest = getQuestManager().getQuestById(QuestConstants.PQPOINT_COUNT); + if (quest == null) { + quest = QuestData.createQuestFromId(QuestConstants.PQPOINT_COUNT); + quest.setProperty("count", 0); + getQuestManager().addQuest(quest); + } + return Integer.parseInt(quest.getProperty("count")); + } + + public void setPQPoints(int PQPoints) { + Quest quest = getQuestManager().getQuestById(QuestConstants.PQPOINT_COUNT); + if (quest == null) { + quest = QuestData.createQuestFromId(QuestConstants.PQPOINT_COUNT); + quest.setProperty("count", 0); + getQuestManager().addQuest(quest); + } + quest.setProperty("count", PQPoints); + write(WvsContext.questRecordExMessage(quest)); + } + + public void setMVPMileage(int mvp) { + Quest quest = getQuestManager().getQuestById(QuestConstants.MVP_MILEAGE); + if (quest == null) { + quest = QuestData.createQuestFromId(QuestConstants.MVP_MILEAGE); + quest.setProperty("amount", 0); + quest.setProperty("todayAmount", 0); + getQuestManager().addQuest(quest); + } + quest.setProperty("todayAmount_20190910", mvp); + quest.setProperty("amount", mvp); + write(WvsContext.questWorldShareMessage(quest)); + } + + public int getMVPMileage() { + Quest quest = getQuestManager().getQuestById(QuestConstants.MVP_MILEAGE); + if (quest == null) { + quest = QuestData.createQuestFromId(QuestConstants.MVP_MILEAGE); + quest.setProperty("amount", 0); + getQuestManager().addQuest(quest); + } + return Integer.parseInt(quest.getProperty("amount")); + } + + public void setQuestRecordEx(int questID, String property, int Amount) { + Quest quest = getQuestManager().getQuestById(questID); + if (quest == null) { + quest = QuestData.createQuestFromId(questID); + quest.setProperty(property, 0); + getQuestManager().addQuest(quest); + } + quest.setProperty(property, Amount); + write(WvsContext.questRecordExMessage(quest)); + } + + public int getZeroWeaponRank() { + Quest quest = getQuestManager().getQuestById(QuestConstants.ZERO_DATA); + if (quest == null) { + quest = QuestData.createQuestFromId(QuestConstants.ZERO_DATA); + quest.setProperty("wepRank", 0); + getQuestManager().addQuest(quest); + } + if (quest.getProperty("wepRank") == null) { + quest.setProperty("wepRank", 0); + } + return Integer.parseInt(quest.getProperty("wepRank")); + } + + + + public void addNodeShards(int shards) { + setNodeShards(getNodeShards() + shards); + } + + public void addDojoPoints(int dojoPoints) { + setDojoPoints(getDojoPoints() + dojoPoints); + } + + public void addPqPoints(int pqPoints) { + setPQPoints(getPQPoints() + pqPoints); + } + + public UnionMember createUnionMember() { + return new UnionMember(1, this, null); + } + + public Union getUnion() { + return getAccount().getUnion(); + } + + public void clearCurrentDirectionNode() { + this.currentDirectionNode.clear(); + } + + public int getCurrentDirectionNode(int node) { + Integer direction = currentDirectionNode.getOrDefault(node, null); + if (direction == null) { + currentDirectionNode.put(node, 0); + } + return currentDirectionNode.get(node); + } + + public void increaseCurrentDirectionNode(int node) { + Integer direction = currentDirectionNode.getOrDefault(node, null); + if (direction == null) { + currentDirectionNode.put(node, 1); + } else { + currentDirectionNode.put(node, direction + 1); + } + } + + public void punishLieDetectorEvasion() { + if (getLieDetectorAnswer().length() > 0) { + failedLieDetector(); + } + } + + public String getLieDetectorAnswer() { + return lieDetectorAnswer; + } + + public void setLieDetectorAnswer(String answer) { + lieDetectorAnswer = answer; + } + + public void failedLieDetector() { + setLieDetectorAnswer(""); + chatMessage(SpeakerChannel, "You have failed the Lie Detector test."); + + getClient().write(WvsContext.antiMacroResult(null, AntiMacro.AntiMacroResultType.AntiMacroRes_Fail.getVal(), AntiMacro.AntiMacroType.AntiMacroFieldRequest.getVal())); + + // TODO: handle fail + } + + public void passedLieDetector() { + setLieDetectorAnswer(""); + chatMessage(SpeakerChannel, "You have passed the Lie Detector test!"); + + getClient().write(WvsContext.antiMacroResult(null, AntiMacro.AntiMacroResultType.AntiMacroRes_Success.getVal(), AntiMacro.AntiMacroType.AntiMacroFieldRequest.getVal())); + + // TODO: handle pass + } + + public boolean sendLieDetector() { + return sendLieDetector(false); + } + + public boolean sendLieDetector(boolean force) { + // LD ran too recently (15 min) + if (!force && lastLieDetector != 0 && System.currentTimeMillis() - lastLieDetector < 900_000L) { + return false; + } + + // TODO: don't allow more than 3 refreshes + + lieDetectorAnswer = ""; + String font = AntiMacro.FONTS[Util.getRandom(AntiMacro.FONTS.length - 1)]; + + String options = "abcdefghijklmnopqrstuvwxyz0123456789"; + + for (int i = 1; i <= 6; i++) { + if (Util.getRandom(1) == 0) { + options = options.toUpperCase(); + } else { + options = options.toLowerCase(); + } + + lieDetectorAnswer += options.charAt(Util.getRandom(options.length() - 1)); + } + + try { + AntiMacro am = new AntiMacro(font, lieDetectorAnswer); + lastLieDetector = System.currentTimeMillis(); + + byte[] image = am.generateImage(196, 44, Color.BLACK, AntiMacro.getRandomColor()); + getClient().write(WvsContext.antiMacroResult(image, AntiMacro.AntiMacroResultType.AntiMacroRes.getVal(), AntiMacro.AntiMacroType.AntiMacroFieldRequest.getVal())); + } catch (IOException | FontFormatException e) { + e.printStackTrace(); + + return false; + } + + return true; + } + + public OffenseManager getOffenseManager() { + return getUser().getOffenseManager(); + } + + /** + * Applies the mp consumption of a skill. + * + * @param skillID the skill's id + * @param slv the current skill level + * @return whether the consumption was successful (unsuccessful = not enough mp) + */ + public boolean applyMpCon(int skillID, int slv) { + int curMp = getStat(Stat.mp); + SkillInfo si = SkillData.getSkillInfoById(skillID); + if (si == null) { + return true; + } + int mpCon = (int) (si.getValue(SkillStat.mpCon, slv) * getBaseStats().getOrDefault(BaseStat.costmpR, (long) 100) / 100D); + boolean hasEnough = curMp >= mpCon; + if (hasEnough// Kinesis Doesn't use MP + && !JobConstants.isKinesis(getJob()) + + // Luminous' Dark Skills do not consume MP if in Equilibrium mode + && !(JobConstants.isLuminous(getJob()) + && getTemporaryStatManager().hasStat(Larkness) + && getTemporaryStatManager().getOption(Larkness).rOption == Luminous.EQUILIBRIUM2 + && SkillConstants.isLarknessDarkSkill(skillID)) + + && getTemporaryStatManager().getOptByCTSAndSkill(IndieBooster, Kanna.SPIRITS_DOMAIN) == null + ) { + + addStatAndSendPacket(Stat.mp, -mpCon); + } + return hasEnough; + } + + public boolean hasTutor() { + return tutor; + } + + public void hireTutor(boolean set) { + tutor = set; + write(UserLocal.hireTutor(set)); + } + + /** + * Shows tutor automated message (the client is taking the message information from wz). + * + * @param id the id of the message. + * @param duration message duration + */ + public void tutorAutomatedMsg(int id, int duration) { + if (!tutor) { + hireTutor(true); + } + write(UserLocal.tutorMsg(id, duration)); + } + + /** + * Shows tutor custom message (you decide which message the tutor will say). + * + * @param message your custom message + * @param width size of the message box + * @param duration message duration + */ + public void tutorCustomMsg(String message, int width, int duration) { + if (!tutor) { + hireTutor(true); + } + write(UserLocal.tutorMsg(message, width, duration)); + } + + public void setTransferField(int fieldID) { + this.transferField = fieldID; + this.transferFieldReq = fieldID == 0 ? 0 : getField().getId(); + } + + public int getTransferField() { + return transferField; + } + + public int getTransferFieldReq() { + return transferFieldReq; + } + + public void setMakingSkillLevel(int skillID, int level) { + Skill skill = getSkill(skillID); + if (skill != null) { + skill.setCurrentLevel((level << 24) + getMakingSkillProficiency(skillID)); + addSkill(skill); + write(WvsContext.changeSkillRecordResult(skill)); + } + } + + public int getMakingSkillLevel(int skillID) { + return (getSkillLevel(skillID) >> 24) <= 0 ? 0 : getSkillLevel(skillID) >> 24; + } + + public void setMakingSkillProficiency(int skillID, int proficiency) { + Skill skill = getSkill(skillID); + if (skill != null) { + skill.setCurrentLevel((getMakingSkillLevel(skillID) << 24) + proficiency); + addSkill(skill); + write(WvsContext.changeSkillRecordResult(skill)); + } + } + + public int getMakingSkillProficiency(int skillID) { + return (getSkillLevel(skillID) & 0xFFFFFF) <= 0 ? 0 : getSkillLevel(skillID) & 0xFFFFFF; + } + + public void addMakingSkillProficiency(int skillID, int amount) { + int makingSkillID = SkillConstants.recipeCodeToMakingSkillCode(skillID); + int level = getMakingSkillLevel(makingSkillID); + + int neededExp = SkillConstants.getNeededProficiency(level); + if (neededExp <= 0) { + return; + } + int exp = getMakingSkillProficiency(makingSkillID); + if (exp >= neededExp) { + write(UserLocal.chatMsg(ChatType.GameDesc, "You can't gain any more Herbalism mastery until you level your skill.")); + write(UserLocal.chatMsg(ChatType.GameDesc, "See the appropriate NPC in Ardentmill to level up.")); + setMakingSkillProficiency(makingSkillID, neededExp); + return; + } + int newExp = exp + amount; + write(UserLocal.chatMsg(ChatType.GameDesc, SkillConstants.getMakingSkillName(makingSkillID) + "'s mastery increased. (+" + amount + ")")); + if (newExp >= neededExp) { + write(UserLocal.noticeMsg("You've accumulated " + SkillConstants.getMakingSkillName(makingSkillID) + " mastery. See an NPC in town to level up.", true)); + setMakingSkillProficiency(makingSkillID, neededExp); + } else { + setMakingSkillProficiency(makingSkillID, newExp); + } + } + + public void makingSkillLevelUp(int skillID) { + int level = getMakingSkillLevel(skillID); + int neededExp = SkillConstants.getNeededProficiency(level); + if (neededExp <= 0) { + return; + } + int exp = getMakingSkillProficiency(skillID); + if (exp >= neededExp) { + setMakingSkillProficiency(skillID, 0); + setMakingSkillLevel(skillID, level + 1); + Stat trait = Stat.craftEXP; + switch (skillID) { + case 92000000: + trait = Stat.senseEXP; + break; + case 92010000: + trait = Stat.willEXP; + break; + } + addTraitExp(trait, (int) Math.pow(2, (level + 1) + 2)); + write(FieldPacket.fieldEffect(FieldEffect.playSound("profession/levelup", 100))); + } + } + + public int getTotalAf() { + return getEquippedInventory().getItems().stream().mapToInt(item -> ((Equip) item).getArc()).sum(); + } + + public void addNx(int nx) { + User user = getUser(); + user.addNXPrepaid(nx); + if (nx != 0) { + write(UserPacket.scriptProgressMessage(String.format("You have gained %,d NX.", nx))); + write(UserPacket.progressMessageFont(ProgressMessageFontType.Normal, 16, ProgressMessageColourType.White, 300, String.format("You have gained %,d NX.", nx))); + write(WvsContext.setMaplePoints(user.getNxPrepaid())); + } + } + + public void deductNX(int nx) { + User user = getUser(); + user.addNXPrepaid(nx); + if (nx != 0) { + write(UserPacket.scriptProgressMessage(String.format("You have lost %,d NX.", nx))); + write(UserPacket.progressMessageFont(ProgressMessageFontType.Normal, 16, ProgressMessageColourType.Red, 300, String.format("You have lost %,d NX.", nx))); + write(WvsContext.setMaplePoints(user.getNxPrepaid())); + } + } + + // No idea if this correct + public void addDP(int dp) { + User user = getUser(); + user.setDonationPoints(dp); + if (dp != 0) { + write(UserPacket.progressMessageFont(ProgressMessageFontType.Normal, 16, ProgressMessageColourType.White, 300, String.format("You have gained %,d DP.", dp))); + write(WvsContext.setMaplePoints(user.getDonationPoints())); + } + } + + public void initBlessingSkillNames() { + Account account = getAccount(); + Char fairyChar = null; + for (Char chr : account.getCharacters()) { + if (!chr.equals(this) + && chr.getLevel() >= 10 + && (fairyChar == null || chr.getLevel() > fairyChar.getLevel())) { + fairyChar = chr; + } + } + if (fairyChar != null) { + setBlessingOfFairy(fairyChar.getName()); + } + Char empressChar = null; + for (Char chr : account.getCharacters()) { + if (!chr.equals(this) + && (JobConstants.isCygnusKnight(chr.getJob()) || JobConstants.isMihile(chr.getJob()) + && chr.getLevel() >= 5 + && (empressChar == null || chr.getLevel() > empressChar.getLevel()))) { + empressChar = chr; + } + } + if (empressChar != null) { + setBlessingOfEmpress(empressChar.getName()); + } + } + + public void initBlessingSkills() { + Char fairyChar = getAccount().getCharByName(getBlessingOfFairy()); + if (fairyChar != null) { + addSkill(SkillConstants.getFairyBlessingByJob(getJob()), + Math.min(20, fairyChar.getLevel() / 10), 20); + } + Char empressChar = getAccount().getCharByName(getBlessingOfEmpress()); + if (empressChar != null) { + addSkill(SkillConstants.getEmpressBlessingByJob(getJob()), + Math.min(30, empressChar.getLevel() / 5), 30); + } + } + + public Map getHyperPsdSkillsCooltimeR() { + return hyperPsdSkillsCooltimeR; + } + + public void setHyperPsdSkillsCooltimeR(Map hyperPsdSkillsCooltimeR) { + this.hyperPsdSkillsCooltimeR = hyperPsdSkillsCooltimeR; + } + + public boolean isInvincible() { + return isInvincible; + } + + public void setInvincible(boolean invincible) { + isInvincible = invincible; + } + + public void setQuickslotKeys(List quickslotKeys) { + this.quickslotKeys = quickslotKeys; + } + + public List getQuickslotKeys() { + return quickslotKeys; + } + + public Dragon getDragon() { + Dragon dragon = null; + if (getJobHandler() instanceof Evan) { + dragon = ((Evan) getJobHandler()).getDragon(); + } + return dragon; + } + + public void renewDragon() { + Dragon dragon = null; + if (dragon != null) { + getField().broadcastPacket(DragonPool.removeDragon(dragon)); + dragon = null; + } + if (dragon != null) { + getField().broadcastPacket(DragonPool.createDragon(dragon)); + } + } + + public void rebuildQuestExValues(boolean save) { + if (save) { + for (Map.Entry questEx : questRecordEx.entrySet()) { + String qrValue = ""; + for (Map.Entry quest : questEx.getValue().getValues().entrySet()) { + qrValue += String.format("%s=%s;", quest.getKey(), quest.getValue()); + } + questsExStorage.put(questEx.getKey(), qrValue.substring(0, qrValue.length() - 1)); + } + } else { + for (Map.Entry questEx : questsExStorage.entrySet()) { + String[] qrValues = questEx.getValue().split(";"); + QuestEx quest = new QuestEx(questEx.getKey()); + for (String qrValue : qrValues) { + String[] val = qrValue.split("="); + quest.setValue(val[0], val[1]); + } + questRecordEx.put(quest.getQuestID(), quest); + } + } + } + + public boolean setQuestEx(int questID, String key, String value) { + return setQuestEx(questID, key, value, false); + } + + public boolean setQuestEx(int questID, String key, String value, boolean onMigrate) { + if (key == null || key.isEmpty() || key.equals("")) { + return false; + } + if (value.equals("DayN")) { + return false; + } + QuestEx str = getQuestRecordEx().getOrDefault(questID, null); + if (str == null) { + getQuestRecordEx().put(questID, new QuestEx(questID)); + str = getQuestRecordEx().getOrDefault(questID, null); + if (str == null) { + return false; + } + } + if (str.setValue(key, value)) { + if (!onMigrate) + rebuildQuestExValues(true); + return true; + } + return false; + } + + public String getQuestEx(int questID, String key) { + QuestEx str = getQuestRecordEx().getOrDefault(questID, null); + if (str != null) { + return str.getValue(key); + } + return null; + } + + public QuestEx getQuestEx(int questID) { + return getQuestRecordEx().getOrDefault(questID, null); + } + + public Map getQuestRecordEx() { + return questRecordEx; + } + + /** + * Checks if this Char has a skill with at least a given level. + * + * @param skillID the skill to get + * @param slv the minimum skill level + * @return whether or not this Char has the skill with the given skill level + */ + public boolean hasSkillWithSlv(int skillID, short slv) { + Skill skill = getSkill(skillID); + return skill != null && skill.getCurrentLevel() >= slv; + } + + public Set getOnlineFriends() { + Set friends = new HashSet<>(getFriends()); + friends.addAll(getUser().getFriends()); + friends = friends.stream().filter(Friend::isOnline).collect(Collectors.toSet()); + return friends; + } + + public boolean isTalkingToNpc() { + return talkingToNpc; + } + + public void setTalkingToNpc(boolean talkingToNpc) { + this.talkingToNpc = talkingToNpc; + } + + public void useStatChangeItem(Item item, boolean consume) { + TemporaryStatManager tsm = getTemporaryStatManager(); + int itemID = item.getItemId(); + Map specStats = ItemData.getItemInfoByID(itemID).getSpecStats(); + if (specStats.size() > 0) { + ItemBuffs.giveItemBuffsFromItemID(this, tsm, itemID); + } else { + switch (itemID) { + case 2050004: // All cure + tsm.removeAllDebuffs(); + break; + default: + chatMessage(ChatType.Mob, String.format("Unhandled stat change item %d", itemID)); + } + } + if (consume) { + consumeItem(item); + } + dispose(); + } + + public void incrementUnionRank() { + Union union = getUnion(); + int curUnionRank = union.getUnionRank(); + if (curUnionRank == 0) { + union.setUnionRank(101); + } else { + if (union.getUnionRank() % 100 == 5) { + union.setUnionRank(curUnionRank + 95); + } + union.setUnionRank(curUnionRank + 1); + } + Quest quest = getQuestManager().getQuests().get(QuestConstants.UNION_RANK); + quest.setProperty("rank", union.getUnionRank()); + write(WvsContext.questRecordExMessage(quest)); + } + + public int getActiveUnionPreset() { + QuestManager qm = getQuestManager(); + Quest quest = qm.getQuestById(QuestConstants.UNION_PRESET); + if (quest == null) { + qm.addQuest(QuestConstants.UNION_PRESET); + quest = qm.getQuestById(QuestConstants.UNION_PRESET); + quest.setProperty("presetNo", 0); + write(WvsContext.questRecordExMessage(quest)); + } + return quest.getIntProperty("presetNo"); + } + + public void setActiveUnionPreset(int preset) { + QuestManager qm = getQuestManager(); + Quest quest = qm.getQuestById(QuestConstants.UNION_PRESET); + if (quest == null) { + qm.addQuest(QuestConstants.UNION_PRESET); + quest = qm.getQuestById(QuestConstants.UNION_PRESET); + } + quest.setProperty("presetNo", preset); + write(WvsContext.questRecordExMessage(quest)); + } + + public void encodeSymbolData(OutPacket outPacket) { + Set equips = new HashSet<>(getEquippedInventory().getItems()); + equips.addAll(getEquipInventory().getItems()); + Set symbols = equips.stream() + .filter(i -> ItemConstants.isArcaneSymbol(i.getItemId())) + .map(i -> (Equip) i) + .collect(Collectors.toSet()); + for (Equip symbol : symbols) { + int bagIndex = symbol.getInvType() == EQUIPPED ? -symbol.getBagIndex() : symbol.getBagIndex(); + outPacket.encodeInt(bagIndex); + symbol.encodeSymbolData(outPacket); + } + outPacket.encodeInt(0); // indicate end of previous structure + } + + public Item getItemBySn(long itemSn) { + Inventory[] invs = new Inventory[]{getEquippedInventory(), getEquipInventory(), getConsumeInventory(), + getEtcInventory(), getInstallInventory(), getCashInventory()}; + Item item = null; + for (Inventory i : invs) { + item = i.getItemBySN(itemSn); + if (item != null) { + break; + } + } + return item; + } + + + public void addCharacterPotentials() { + CharacterPotentialMan cpm = getPotentialMan(); + Map potentialMap = new HashMap<>(); + for (CharacterPotential cp : getPotentials()) { + potentialMap.put(cp.getKey(), cp); + } + List potentials = CharacterPotentialMan.generateRandomPotential(3, cpm.getGrade(), true, potentialMap); + for (CharacterPotential cp : potentials) { + cpm.addPotential(cp); + } + } + + public void encodeChatInfo(OutPacket outPacket, String msg) { + // vm'd sub + outPacket.encodeString(getName()); + outPacket.encodeString(msg); + outPacket.encodeInt(getUserId()); + outPacket.encodeInt(getId()); + outPacket.encodeByte(0); // ? + outPacket.encodeInt(getId()); + } + + public boolean isSkillInfoMode() { + return skillInfoMode; + } + + public void setSkillInfoMode(boolean skillInfoMode) { + this.skillInfoMode = skillInfoMode; + } + + public boolean isDebugMode() { + return debugMode; + } + + public void setDebugMode(boolean debugMode) { + this.debugMode = debugMode; + } + + public void initDamageSkin() { + QuestManager qm = getQuestManager(); + Quest q = qm.getQuestById(QuestConstants.DAMAGE_SKIN); + if (q != null) { + DamageSkinSaveData dssd = getAccount().getDamageSkinBySkinID(Integer.parseInt(q.getQRValue())); + setDamageSkin(dssd); + } + } + + public List getBuyBack() { + return buyBack; + } + + public void addItemToBuyBack(Item item) { + NpcShopItem nsi = new NpcShopItem(); + nsi.setItemID(item.getItemId()); + nsi.setItem(item); + nsi.setBuyBack(true); + int cost; + if (ItemConstants.isEquip(item.getItemId())) { + cost = ((Equip) item).getPrice(); + } else { + cost = ItemData.getItemInfoByID(item.getItemId()).getPrice() * item.getQuantity(); + } + nsi.setPrice(cost); + nsi.setQuantity((short) item.getQuantity()); + getBuyBack().add(nsi); + } + + public NpcShopItem getBuyBackItemBySlot(int slot) { + NpcShopItem nsi = null; + if (slot >= 0 && slot < getBuyBack().size()) { + return getBuyBack().get(slot); + } + return nsi; + } + + public void removeBuyBackItem(NpcShopItem nsi) { + getBuyBack().remove(nsi); + } + + public int getLocation() { + return location; + } + + public Android getAndroid() { + return android; + } + + public void setAndroid(Android android) { + this.android = android; + } + + public void setLocation(int location) { + this.location = location; + } + + public Map getPsychicAreas() { + return psychicAreas; + } + + public void setPsychicAreas(Map psychicAreas) { + this.psychicAreas = psychicAreas; + } + + public void addPsychicArea(int localPsychicAreaKey, PsychicArea psychicArea) { + getPsychicAreas().put(localPsychicAreaKey, psychicArea); + } + + public void removePsychicArea(int localPsychicAreaKey) { + getPsychicAreas().remove(localPsychicAreaKey); + } + + public Map getForceAtoms() { + return forceAtoms; + } + + /** + * Initializes this Char's Android according to their heart + android equips. Will not do anything if an Android + * already exists. + * + * @param override Whether or not to override the old Android if one exists. + */ + public void initAndroid(boolean override) { + if (getAndroid() == null || override) { + Item heart = getEquippedItemByBodyPart(BodyPart.MechanicalHeart); + Item android = getEquippedItemByBodyPart(BodyPart.Android); + if (heart != null && android != null && ((Equip) heart).getAndroidGrade() + 3 >= ((Equip) android).getAndroidGrade()) { + int androidId = ((Equip) android).getAndroid(); + AndroidInfo androidInfo = EtcData.getAndroidInfoById(androidId); + if (getAndroid() != null) { + getField().removeLife(getAndroid()); + } + Android newAndroid = new Android(this, androidInfo); + if (getPosition() != null) { + newAndroid.setPosition(getPosition().deepCopy()); + } + setAndroid(newAndroid); + } + } + } + + public void setForceAtoms(Map forceAtoms) { + this.forceAtoms = forceAtoms; + } + + public void addForceAtom(ForceAtom forceAtom) { + forceAtom.getKeys().forEach(k -> getForceAtoms().put(k, forceAtom)); + } + + public void addForceAtomByKey(int faKey, ForceAtom forceAtom) { + getForceAtoms().put(faKey, forceAtom); + } + + public void removeForceAtomByKey(int key) { + getForceAtoms().remove(key); + } + + public ForceAtom getForceAtomByKey(int key) { + return getForceAtoms().getOrDefault(key, null); + } + + public void recreateforceAtom(int faKey, ForceAtom forceAtom) { + addForceAtomByKey(faKey, forceAtom); + ForceAtomInfo fai = forceAtom.getFaiByKey(faKey); + ForceAtom fa = new ForceAtom(forceAtom); + fa.setFaiList(Collections.singletonList(fai)); + getField().broadcastPacket(FieldPacket.createForceAtom(fa)); + } + + public void createForceAtom(ForceAtom forceAtom) { + createForceAtom(forceAtom, true); + } + + public void createForceAtom(ForceAtom forceAtom, boolean broadcastToField) { + if (broadcastToField) { + getField().broadcastPacket(FieldPacket.createForceAtom(forceAtom)); + } else { + write(FieldPacket.createForceAtom(forceAtom)); + } + addForceAtom(forceAtom); + } + + public void clearForceAtomMap() { + getForceAtoms().clear(); + setForceAtomKeyCounter(1); + } + + public int getForceAtomKeyCounter() { + return forceAtomKeyCounter; + } + + public void setForceAtomKeyCounter(int forceAtomKeyCounter) { + this.forceAtomKeyCounter = forceAtomKeyCounter; + } + + public int getNewForceAtomKey() { + return forceAtomKeyCounter++; + } + + public void setCopy(Char copy) { + this.copy = copy; + } + + public Char getCopy() { + return copy; + } + + public boolean isInAPartyWith(Char otherChr) { + if (otherChr == this) { + return true; + } + if (otherChr.getParty() == null || getParty() == null) { + return false; + } + return otherChr.getPartyID() == getPartyID(); + } + + public boolean isDead() { + return getHP() <= 0; + } + + public void showSkillOnOffEffect() { + + // Wind Archer + int questId = QuestConstants.SKILL_COMMAND_LOCK_ARK; // questId 1544 + Quest quest = getQuestManager().getQuestById(questId); + if (quest == null) { + return; + } + getField().broadcastPacket(UserPool.skillOnOffEffect(getId(), quest.getQRValue().equalsIgnoreCase(""))); + } + + public int getFirstOpenMatrixSlot() { + // TODO: check for max slot count + List activeRecords = getMatrixRecords().stream().filter(MatrixRecord::isActive).sorted(Comparator.comparingInt(MatrixRecord::getPosition)).collect(Collectors.toList()); + int pos = -1; + boolean found = false; + for (MatrixRecord mr : activeRecords) { + int newPos = mr.getPosition(); + if (newPos - pos > 1) { + // gap in positions + pos = newPos - 1; + found = true; + break; + } + pos = newPos; + } + return found ? pos : pos + 1; + } + + public WeaponType getWeaponType() { + return ItemConstants.getWeaponType(getEquippedItemByBodyPart(BodyPart.Weapon).getItemId()); + } + + public boolean isShowDamageCalc() { + return showDamageCalc; + } + + public void setShowDamageCalc(boolean showDamageCalc) { + this.showDamageCalc = showDamageCalc; + } + + public boolean canEquip(Item item) { + if (item instanceof Equip && !((Equip) item).isVestige()) { + Equip equip = (Equip) item; + int lv = getLevel(); + CharacterStat cs = getAvatarData().getCharacterStat(); + int str = cs.getStr(); + int inte = cs.getInt(); + int dex = cs.getDex(); + int luk = cs.getLuk(); + short job = getJob(); + short rJob = equip.getrJob(); + boolean matchingJob = rJob == 0; + if (!matchingJob) { + boolean warrior = (rJob & 1) != 0; + boolean magician = (rJob & 1 << 1) != 0; + boolean bowman = (rJob & 1 << 2) != 0; + boolean thief = (rJob & 1 << 3) != 0; + boolean pirate = (rJob & 1 << 4) != 0; + matchingJob = (warrior && JobConstants.isWarriorEquipJob(job)) || + (magician && JobConstants.isMageEquipJob(job)) || + (bowman && JobConstants.isArcherEquipJob(job)) || + (thief && JobConstants.isThiefEquipJob(job)) || + (pirate && JobConstants.isPirateEquipJob(job)); + } + return equip.getRequiredLevel() <= lv + && equip.getrDex() <= dex + && (equip.getrStr() <= str || JobConstants.isDemonAvenger(job)) + && equip.getrInt() <= inte + && equip.getrLuk() <= luk && matchingJob; + } + return false; + } + + public List getHotTimeRewards() { + return hotTimeRewards; + } + + public void setHotTimeRewards(List hotTimeRewards) { + this.hotTimeRewards = hotTimeRewards; + } + + public void giveStartingItems() { + addHotTimeReward(2436226, HotTimeRewardType.GAME_ITEM, 1, 0, 0,0,"A gift from the Admin of Elite."); + addHotTimeReward(2436226, HotTimeRewardType.MESO, 1, 10000000,0, 0,"A gift from the Admin of Elite."); + addHotTimeReward(2436226, HotTimeRewardType.EXPERIENCE, 1, 0, 1000,0,"A gift from the Admin of Elite."); + addHotTimeReward(2436226, HotTimeRewardType.MAPLE_POINT, 1, 0, 0,10000,"A gift from the Admin of Elite."); + } + + public void addHotTimeReward(int itemID, HotTimeRewardType type, int quantity, int meso, int exp, int maplepoint, String description) { + HotTimeReward reward = new HotTimeReward(); + reward.setCharId(getId()); + reward.setItemId(itemID); + reward.setStartTime(reward.getStartTime()); + reward.setEndTime(FileTime.fromDate(reward.getStartTime().toLocalDateTime().plusDays(30))); + reward.setRewardType(type); + reward.setQuantity(quantity); + reward.setMesoAmount(meso); + reward.setExpAmount(exp); + reward.setMaplePointAmount(maplepoint); + reward.setDescription(description); + DatabaseManager.saveToDB(reward); + checkHotTimeRewards(); + } + + public void removeHotTimeReward(HotTimeReward reward) { + Session session = DatabaseManager.getSession(); + Transaction transaction = session.beginTransaction(); + Query query = session.createQuery("DELETE HotTimeReward WHERE id = :id"); + query.setParameter("id", reward.getId()); + query.executeUpdate(); + transaction.commit(); + } + + + public void forceUpdateSecondary(Item oldSecondary, Item newSecondary) { + if (oldSecondary != null) { + consumeItem(oldSecondary); + } + int secondaryBagIndex = BodyPart.Shield.getVal(); + newSecondary.setBagIndex(secondaryBagIndex); + getEquippedInventory().addItem(newSecondary); + getAvatarData().getAvatarLook().getHairEquips().put((byte) secondaryBagIndex, newSecondary.getItemId()); + newSecondary.updateToChar(this); + } + + public void checkHotTimeRewards() { + // check if the character has gifts + Session session = DatabaseManager.getSession(); + Transaction transaction = session.beginTransaction(); + Query query = session.createQuery("FROM HotTimeReward WHERE charid = :charid"); + query.setParameter("charid", getId()); + List results = ((org.hibernate.query.Query) query).list(); + transaction.commit(); + setHotTimeRewards(results); + + if (getHotTimeRewards().size() > 0) { + Stack rewardsToSend = new Stack<>(); + for (HotTimeReward hotTimeReward : getHotTimeRewards()) { + rewardsToSend.push(hotTimeReward); + } + write(WvsContext.sendHotTimeReward(HotTimeRewardSendType.REWARD, rewardsToSend)); + } + } + + public void enterNewStageField() { + getTemporaryStatManager().removeAllStats(true); + getField().removeChar(this); + setOnline(false); + } + + public Map getActiveSetEffects() { + return activeSetEffects; + } + + public void initSetEffects() { + getActiveSetEffects().clear(); + getSetBaseStats().clear(); + getSetNonAddBaseStats().clear(); + for (Equip e : getEquippedInventory().getItems().stream().map(e -> (Equip) e).collect(Collectors.toList())) { + int setID = e.getSetItemID(); + if (setID != 0) { + addSetEffect(setID); + } + } + } + + public void updateSetEffect(int setId, int fromLevel, int toLevel) { + if (toLevel > fromLevel) { // increased set level + ItemSet is = ItemData.getItemSetById(setId); + // check if item set has stats at new level + if (is.getEffects().containsKey(toLevel)) { + for (Map.Entry stats : is.getEffects().get(toLevel).entrySet()) { + addSetBaseStat(stats.getKey(), stats.getValue().intValue()); + } + } + } else if (toLevel < fromLevel) { // decreased set level + ItemSet is = ItemData.getItemSetById(setId); + if (is.getEffects().containsKey(fromLevel)) { + for (Map.Entry stats : is.getEffects().get(fromLevel).entrySet()) { + removeSetBaseStat(stats.getKey(), stats.getValue().intValue()); + } + } + } + } + + /** + * Adds a set to the current active set effects. + * + * @param setID + */ + public void addSetEffect(int setID) { + if (getActiveSetEffects().containsKey(setID)) { + int oldCount = getActiveSetEffects().get(setID); + int newCount = oldCount + 1; + getActiveSetEffects().put(setID, newCount); + updateSetEffect(setID, oldCount, newCount); + } else { + getActiveSetEffects().put(setID, 1); + updateSetEffect(setID, 0, 1); + } + } + + /** + * Removes a set from the current active set effects. + * + * @param setID + */ + public void removeSetEffect(int setID) { + if (getActiveSetEffects().containsKey(setID)) { + int oldCount = getActiveSetEffects().get(setID); + int newCount = oldCount - 1; + if (newCount <= 0) { + getActiveSetEffects().remove(setID); + updateSetEffect(setID, oldCount, newCount); + } else { + getActiveSetEffects().put(setID, newCount); + updateSetEffect(setID, oldCount, newCount); + } + } + } + + public Map getSetBaseStats() { return setBaseStats; } + + public Map> getSetNonAddBaseStats() { return setNonAddBaseStats; } + + public void addSetBaseStat(BaseStat bs, int value) { + if (bs.isNonAdditiveStat()) { + if (!getSetNonAddBaseStats().containsKey(bs)) { + getSetNonAddBaseStats().put(bs, new HashSet<>()); + } + getSetNonAddBaseStats().get(bs).add(value); + } else { + getSetBaseStats().put(bs, getSetBaseStats().getOrDefault(bs, 0) + value); + } + } + + public void removeSetBaseStat(BaseStat bs, int value) { + addSetBaseStat(bs, -value); + } + + public boolean isPetItemVacOn() { + return petItemVac; + } + + public void setPetItemVac(boolean on) { + petItemVac = on; + } +} \ No newline at end of file diff --git a/src/main/java/net/swordie/ms/client/character/CharacterStat.java b/src/main/java/net/swordie/ms/client/character/CharacterStat.java new file mode 100755 index 0000000..d5fc728 --- /dev/null +++ b/src/main/java/net/swordie/ms/client/character/CharacterStat.java @@ -0,0 +1,698 @@ +package net.swordie.ms.client.character; + +import net.swordie.ms.client.character.cards.CharacterCard; +import net.swordie.ms.connection.OutPacket; +import net.swordie.ms.connection.db.converters.FileTimeConverter; +import net.swordie.ms.constants.GameConstants; +import net.swordie.ms.constants.JobConstants; +import net.swordie.ms.util.SystemTime; + +import net.swordie.ms.util.FileTime; + +import javax.persistence.*; + +/** + * Created by Tim on 2/18/2017. + */ +@Entity +@Table(name = "characterstats") +public class CharacterStat { + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @Column(name = "id") + private int id; + @Column(name = "characterId") + private int characterId; + private int characterIdForLog; + private int worldIdForLog; + private String name; + private int gender; + private int skin; + private int face; + private int hair; + private int mixBaseHairColor; + private int mixAddHairColor; + private int mixHairBaseProb; + private int level; + private int job; + private int str; + private int dex; + private int inte; + private int luk; + private int hp; + private int maxHp; + private int mp; + private int maxMp; + private int ap; + private int sp; + private long exp; + private int pop; // fame + private long money; + private int wp; + private double pierce; + @OneToOne(cascade = CascadeType.ALL, orphanRemoval = true) + @JoinColumn(name = "extendSP") + private ExtendSP extendSP; + private long posMap; + private int portal; + private int subJob; + private int defFaceAcc; + private int fatigue; + private int lastFatigueUpdateTime; + private int charismaExp; + private int insightExp; + private int willExp; + private int craftExp; + private int senseExp; + private int charmExp; + @OneToOne(cascade = CascadeType.ALL, orphanRemoval = true) + @JoinColumn(name = "nonCombatStatDayLimit") + private NonCombatStatDayLimit nonCombatStatDayLimit; + private int pvpExp; + private int pvpGrade; + private int pvpPoint; + private int pvpModeLevel; + private int pvpModeType; + private int eventPoint; + private int albaActivityID; + @Convert(converter = FileTimeConverter.class) + private FileTime albaStartTime; + private int albaDuration; + private int albaSpecialReward; + private boolean burning; + @OneToOne(cascade = CascadeType.ALL, orphanRemoval = true) + @JoinColumn(name = "characterCard") + private CharacterCard characterCard; + @OneToOne(cascade = CascadeType.ALL, orphanRemoval = true) + @JoinColumn(name = "accountLastLogout") + private SystemTime accountLastLogout; + @Convert(converter = FileTimeConverter.class) + private FileTime lastLogout; + private int gachExp; + private int honorExp; + @Transient + private int wingItem; + @Convert(converter = FileTimeConverter.class) + private FileTime nextAvailableFameTime; + + public CharacterStat() { + extendSP = new ExtendSP(7); + nonCombatStatDayLimit = new NonCombatStatDayLimit(); + albaStartTime = FileTime.fromType(FileTime.Type.PLAIN_ZERO); + lastLogout = FileTime.fromType(FileTime.Type.PLAIN_ZERO); + characterCard = new CharacterCard(0, 0, (byte) 0); + accountLastLogout = new SystemTime(1970, 1); + nextAvailableFameTime = FileTime.fromType(FileTime.Type.PLAIN_ZERO); + // TODO fill in default vals + } + + public CharacterStat(String name, int job) { + this(); + this.name = name; + this.job = job; + } + + public double getPierce() { + return pierce; + } + + public void gainPierce(double pierce) { + if (this.pierce + pierce >= 100.00) { + this.pierce = 100.00; + } else this.pierce += pierce; + } + + public void setPierce(double pierce) { + if (pierce >= 100.00) + this.pierce = 100.0; + else this.pierce = pierce; + } + + public String getName() { + return name; + } + + public short getAp() { + return (short) ap; + } + + public short getDex() { + return (short) dex; + } + + public int getHp() { + return hp; + } + + public short getInt() { + return (short) inte; + } + + public short getJob() { + return (short) job; + } + + public short getLevel() { + return (short) level; + } + + public short getCharismaExp() { + return (short) charismaExp; + } + + public short getLuk() { + return (short) luk; + } + + public int getMaxHp() { + return maxHp; + } + + public int getMaxMp() { + return maxMp; + } + + public int getMp() { + return mp; + } + + public short getPop() { //Fame + return (short) pop; + } + + public short getSp() { + return (short) sp; + } + + public short getStr() { + return (short) str; + } + + public short getWp() { + return (short) wp; + } + + public long getExp() { + return exp; + } + + public long getMoney() { + return money; + } + + public ExtendSP getExtendSP() { + return extendSP; + } + + public int getCharacterId() { + return characterId; + } + + public int getCharacterIdForLog() { + return characterId; + } + + public int getFace() { + return face; + } + + public int getGender() { + return gender; + } + + public int getHair() { + return hair; + } + + public int getMixAddHairColor() { + return mixAddHairColor; + } + + public int getMixBaseHairColor() { + return mixBaseHairColor; + } + + public int getMixHairBaseProb() { + return mixHairBaseProb; + } + + public int getSkin() { + return skin; + } + + public int getWorldIdForLog() { + return worldIdForLog; + } + + public short getCharmExp() { + return (short) charmExp; + } + + public short getCraftExp() { + return (short) craftExp; + } + + public int getAlbaActivityID() { + return albaActivityID; + } + + public int getEventPoint() { + return eventPoint; + } + + public int getPortal() { + return portal; + } + + public int getAlbaDuration() { + return albaDuration; + } + + public short getInsightExp() { + return (short) insightExp; + } + + public int getAlbaSpecialReward() { + return albaSpecialReward; + } + + public int getPvpExp() { + return pvpExp; + } + + public int getPvpGrade() { + return pvpGrade; + } + + public int getPvpModeLevel() { + return pvpModeLevel; + } + + public int getPvpModeType() { + return pvpModeType; + } + + public int getPvpPoint() { + return pvpPoint; + } + + public short getSenseExp() { + return (short) senseExp; + } + + public short getWillExp() { + return (short) willExp; + } + + public long getPosMap() { + return posMap == 0 ? 931000000 : posMap; + } + + public CharacterCard getCharacterCard() { + return characterCard; + } + + public NonCombatStatDayLimit getNonCombatStatDayLimit() { + return nonCombatStatDayLimit; + } + + public FileTime getAlbaStartTime() { + return albaStartTime; + } + + public int getDefFaceAcc() { + return defFaceAcc; + } + + public int getFatigue() { + return fatigue; + } + + public int getLastFatigueUpdateTime() { + return lastFatigueUpdateTime; + } + + public int getSubJob() { + return subJob; + } + + public SystemTime getAccountLastLogout() { + return accountLastLogout; + } + + public void encode(OutPacket outPacket) { + outPacket.encodeInt(getCharacterId()); + outPacket.encodeInt(getCharacterIdForLog()); + outPacket.encodeInt(getWorldIdForLog()); + outPacket.encodeString(getName(), 13); + + outPacket.encodeByte(getGender()); + outPacket.encodeByte(getSkin()); + outPacket.encodeInt(getFace()); + outPacket.encodeInt(getHair()); + outPacket.encodeByte(getMixBaseHairColor()); + outPacket.encodeByte(getMixAddHairColor()); + outPacket.encodeByte(getMixHairBaseProb()); + + outPacket.encodeInt(getLevel()); + outPacket.encodeShort(getJob()); + outPacket.encodeShort(getStr()); + outPacket.encodeShort(getDex()); + outPacket.encodeShort(getInt()); + outPacket.encodeShort(getLuk()); + outPacket.encodeInt(getHp()); + outPacket.encodeInt(getMaxHp()); + outPacket.encodeInt(getMp()); + outPacket.encodeInt(getMaxMp()); + outPacket.encodeShort(getAp()); + if (JobConstants.isExtendSpJob(getJob())) { + getExtendSP().encode(outPacket); + } else { + outPacket.encodeShort(getSp()); + } + outPacket.encodeLong(getExp()); + outPacket.encodeInt(getPop()); + outPacket.encodeInt(getWp()); // Waru + outPacket.encodeInt(getGachExp()); + outPacket.encodeInt((int) getPosMap()); + outPacket.encodeByte(getPortal()); + outPacket.encodeInt(0); // TODO figure out + outPacket.encodeShort(getSubJob()); + if (JobConstants.isDemon(getJob()) || JobConstants.isXenon(getJob()) || JobConstants.isBeastTamer(getJob()) + || JobConstants.isArk(getJob())) { + outPacket.encodeInt(getDefFaceAcc()); + } + outPacket.encodeShort(getFatigue()); // short in 188 + outPacket.encodeInt(getLastFatigueUpdateTime()); + outPacket.encodeInt(getCharismaExp()); + outPacket.encodeInt(getInsightExp()); + outPacket.encodeInt(getWillExp()); + outPacket.encodeInt(getCraftExp()); + outPacket.encodeInt(getSenseExp()); + outPacket.encodeInt(getCharmExp()); + getNonCombatStatDayLimit().encode(outPacket); + + outPacket.encodeInt(getPvpExp()); + outPacket.encodeByte(getPvpGrade()); + outPacket.encodeInt(getPvpPoint()); + outPacket.encodeByte(2); + /* Fuck that, setting the above byte lower than 2 will make all 3rd and 4th job that have the property + ((skillID % 10000) / 10000 == 0) be bugged (you see the level, but can't actually use it). ?????????????*/ + + outPacket.encodeByte(getPvpModeType()); + outPacket.encodeInt(getEventPoint()); + + // New - 188 - looks like char card + // Start sub_8D7900 + for (int i = 0; i < 9; i++) { + outPacket.encodeInt(1); + outPacket.encodeInt(2); // byte -> int v199 + outPacket.encodeInt(3); + } + // End sub_8D7900 + outPacket.encodeInt(3); + outPacket.encodeInt(5); + // Start burning info, names are guesses + outPacket.encodeLong(0); // ftStart + outPacket.encodeLong(0); // ftEnd + outPacket.encodeInt(0); + outPacket.encodeInt(0); + outPacket.encodeInt(0); + outPacket.encodeByte(isBurning()); // bBurning + outPacket.encodeInt(0); + outPacket.encodeInt(0); + // End burning info + // End new 188 + outPacket.encodeByte(false); // new 200 + } + + public FileTime getLastLogout() { + return lastLogout; + } + + public void setLastLogout(FileTime lastLogout) { + this.lastLogout = lastLogout; + } + + public boolean isBurning() { + return burning; + } + + public void setBurning(boolean burning) { + this.burning = burning; + } + + public void setJob(int job) { + this.job = job; + } + + public void setName(String name) { + this.name = name; + } + + public int getGachExp() { + return gachExp; + } + + public void setCharacterId(int characterId) { + this.characterId = characterId; + } + + public void setCharacterIdForLog(int characterIdForLog) { + this.characterIdForLog = characterIdForLog; + } + + public void setWorldIdForLog(int worldIdForLog) { + this.worldIdForLog = worldIdForLog; + } + + public void setGender(int gender) { + this.gender = gender; + } + + public void setSkin(int skin) { + this.skin = skin; + } + + public void setFace(int face) { + this.face = face; + } + + public void setHair(int hair) { + this.hair = hair; + } + + public void setMixAddHairColor(int mixAddHairColor) { + this.mixAddHairColor = mixAddHairColor; + } + + public void setMixHairBaseProb(int mixHairBaseProb) { + this.mixHairBaseProb = mixHairBaseProb; + } + + public void setMixBaseHairColor(int mixBaseHairColor) { + this.mixBaseHairColor = mixBaseHairColor; + } + + public void setLevel(int level) { + this.level = level; + } + + public void setStr(int str) { + this.str = str; + } + + public void setDex(int dex) { + this.dex = dex; + } + + public void setInt(int inte) { + this.inte = inte; + } + + public void setLuk(int luk) { + this.luk = luk; + } + + public void setHp(int hp) { + this.hp = Math.min(hp, GameConstants.MAX_HP_MP); + } + + public void setMaxHp(int maxHp) { + this.maxHp = Math.min(maxHp, GameConstants.MAX_HP_MP); + } + + public void setMp(int mp) { + this.mp = Math.min(mp, GameConstants.MAX_HP_MP); + } + + public void setMaxMp(int maxMp) { + this.maxMp = Math.min(maxMp, GameConstants.MAX_HP_MP); + } + + public void setAp(int ap) { + this.ap = ap; + } + + public void setSp(int sp) { + this.sp = sp; + } + + public void setExp(long exp) { + this.exp = exp; + } + + public void setPop(int pop) { + this.pop = pop; + } + + public void setMoney(long money) { + this.money = money; + } + + public void setWp(int wp) { + this.wp = wp; + } + + public void setPosMap(long posMap) { + this.posMap = posMap; + } + + public void setPortal(int portal) { + this.portal = portal; + } + + public void setSubJob(int subJob) { + this.subJob = subJob; + } + + public void setDefFaceAcc(int defFaceAcc) { + this.defFaceAcc = defFaceAcc; + } + + public void setFatigue(int fatigue) { + this.fatigue = fatigue; + } + + public void setLastFatigueUpdateTime(int lastFatigueUpdateTime) { + this.lastFatigueUpdateTime = lastFatigueUpdateTime; + } + + public void setCharismaExp(int charismaExp) { + this.charismaExp = charismaExp; + } + + public void setInsightExp(int insightExp) { + this.insightExp = insightExp; + } + + public void setWillExp(int willExp) { + this.willExp = willExp; + } + + public void setCraftExp(int craftExp) { + this.craftExp = craftExp; + } + + public void setSenseExp(int senseExp) { + this.senseExp = senseExp; + } + + public void setCharmExp(int charmExp) { + this.charmExp = charmExp; + } + + public void setPvpExp(int pvpExp) { + this.pvpExp = pvpExp; + } + + public void setPvpGrade(int pvpGrade) { + this.pvpGrade = pvpGrade; + } + + public void setPvpPoint(int pvpPoint) { + this.pvpPoint = pvpPoint; + } + + public void setPvpModeLevel(int pvpModeLevel) { + this.pvpModeLevel = pvpModeLevel; + } + + public void setPvpModeType(int pvpModeType) { + this.pvpModeType = pvpModeType; + } + + public void setEventPoint(int eventPoint) { + this.eventPoint = eventPoint; + } + + public void setAlbaActivityID(int albaActivityID) { + this.albaActivityID = albaActivityID; + } + + public void setAlbaDuration(int albaDuration) { + this.albaDuration = albaDuration; + } + + public void setAlbaSpecialReward(int albaSpecialReward) { + this.albaSpecialReward = albaSpecialReward; + } + + public void setGachExp(int gachExp) { + this.gachExp = gachExp; + } + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public void setExtendSP(ExtendSP extendSP) { + this.extendSP = extendSP; + } + + public void setNonCombatStatDayLimit(NonCombatStatDayLimit nonCombatStatDayLimit) { + this.nonCombatStatDayLimit = nonCombatStatDayLimit; + } + + public void setAlbaStartTime(FileTime albaStartTime) { + this.albaStartTime = albaStartTime; + } + + public void setCharacterCard(CharacterCard characterCard) { + this.characterCard = characterCard; + } + + public void setAccountLastLogout(SystemTime accountLastLogout) { + this.accountLastLogout = accountLastLogout; + } + + public int getHonorExp() { + return honorExp; + } + + public void setHonorExp(int honorExp) { + this.honorExp = honorExp; + } + + public void setWingItem(int wingItem) { + this.wingItem = wingItem; + } + + public int getWingItem() { + return wingItem; + } + + public FileTime getNextAvailableFameTime() { + return nextAvailableFameTime; + } + + public void setNextAvailableFameTime(FileTime nextAvailableFameTime) { + this.nextAvailableFameTime = nextAvailableFameTime; + } +} + diff --git a/src/main/java/net/swordie/ms/client/character/CoupleRecord.java b/src/main/java/net/swordie/ms/client/character/CoupleRecord.java new file mode 100755 index 0000000..600af8e --- /dev/null +++ b/src/main/java/net/swordie/ms/client/character/CoupleRecord.java @@ -0,0 +1,72 @@ +package net.swordie.ms.client.character; + +import net.swordie.ms.connection.OutPacket; + +import java.util.HashMap; +import java.util.Map; + +/** + * Created on 12/19/2017. + */ +public class CoupleRecord { + private Map snToItemMap = new HashMap<>(); + private int pairCharacterId; + private String pairCharacterName; + private long sn; + private long pairSn; + private int itemID; + + public int getPairCharacterId() { + return pairCharacterId; + } + + public void setPairCharacterId(int pairCharacterId) { + this.pairCharacterId = pairCharacterId; + } + + public String getPairCharacterName() { + return pairCharacterName; + } + + public void setPairCharacterName(String pairCharacterName) { + this.pairCharacterName = pairCharacterName; + } + + public long getSn() { + return sn; + } + + public void setSn(long sn) { + this.sn = sn; + } + + public long getPairSn() { + return pairSn; + } + + public void setPairSn(long pairSn) { + this.pairSn = pairSn; + } + + public void encode(OutPacket outPacket) { + outPacket.encodeInt(0xdeadbeef); + outPacket.encodeString(getPairCharacterName(), 13); + outPacket.encodeLong(0xdeadbeef); + outPacket.encodeLong(0xdeadbeef); + } + + public void encodeForRemote(OutPacket outPacket) { + outPacket.encodeInt(1); // there can be more of the following 3 things (combined) + outPacket.encodeLong(getSn()); + outPacket.encodeLong(getPairSn()); + outPacket.encodeInt(getItemID()); + } + + public int getItemID() { + return itemID; + } + + public void setItemID(int itemID) { + this.itemID = itemID; + } +} diff --git a/src/main/java/net/swordie/ms/client/character/EventCoolDown.java b/src/main/java/net/swordie/ms/client/character/EventCoolDown.java new file mode 100755 index 0000000..d86c03d --- /dev/null +++ b/src/main/java/net/swordie/ms/client/character/EventCoolDown.java @@ -0,0 +1,54 @@ +package net.swordie.ms.client.character; + +import javax.persistence.*; + + +@Entity +@Table(name = "eventscooltimes") +public class EventCoolDown { + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private int id; + @Column(name = "eventType") + private int eventType; + @Column(name = "amountDone") + private int amountDone; + @Column(name = "nextresettime") + private long nextResetTime; + + public int getId() { + return id; + } + + public int getEventType() { + return eventType; + } + + public void setEventType(int eventType) { + this.eventType = eventType; + } + + public int getAmountDone() { + return amountDone; + } + + public void setAmountDone(int amountDone) { + this.amountDone = amountDone; + } + + public long getNextResetTime() { + return nextResetTime; + } + + public void setNextResetTime(long nextResetTime) { + this.nextResetTime = nextResetTime; + } + + public EventCoolDown(int eventType, int amountDone, long nextResetTime) { + this.eventType = eventType; + this.amountDone = amountDone; + this.nextResetTime = nextResetTime; + } + + public EventCoolDown(){ } +} diff --git a/src/main/java/net/swordie/ms/client/character/ExtendSP.java b/src/main/java/net/swordie/ms/client/character/ExtendSP.java new file mode 100755 index 0000000..a92e861 --- /dev/null +++ b/src/main/java/net/swordie/ms/client/character/ExtendSP.java @@ -0,0 +1,73 @@ +package net.swordie.ms.client.character; + +import net.swordie.ms.connection.OutPacket; +import net.swordie.ms.util.Util; + +import javax.persistence.*; +import java.util.ArrayList; +import java.util.List; + +/** + * Created by Tim on 2/18/2017. + */ +@Entity +@Table(name = "extendsp") +public class ExtendSP { + + @Id @GeneratedValue(strategy = GenerationType.IDENTITY) + private int id; + @OneToMany(cascade = CascadeType.ALL, orphanRemoval = true) + @JoinColumn(name = "extendSP_id") + private List spSet; + + public ExtendSP() { + this(0); + } + + public ExtendSP(int subJobs) { + spSet = new ArrayList<>(); + for(int i = 1; i <= subJobs; i++) { + spSet.add(new SPSet((byte) i, 0)); + } + } + + public List getSpSet() { + return spSet; + } + + public int getTotalSp() { + return spSet.stream().mapToInt(SPSet::getSp).sum(); + } + + public void setSpSet(List spSet) { + this.spSet = spSet; + } + + public void encode(OutPacket outPacket) { + outPacket.encodeByte(getSpSet().size()); + for(SPSet spSet : getSpSet()) { + outPacket.encodeByte(spSet.getJobLevel()); + outPacket.encodeInt(spSet.getSp()); + } + } + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public void setSpToJobLevel(int jobLevel, int sp) { + getSpSet().stream().filter(sps -> sps.getJobLevel() == jobLevel).findFirst().ifPresent(spSet -> spSet.setSp(sp)); + } + + public int getSpByJobLevel(byte jobLevel) { + SPSet spSet = Util.findWithPred(getSpSet(), sps -> sps.getJobLevel() == jobLevel); + if(spSet != null) { + return spSet.getSp(); + } + return -1; + } +} diff --git a/src/main/java/net/swordie/ms/client/character/FarmPotential.java b/src/main/java/net/swordie/ms/client/character/FarmPotential.java new file mode 100755 index 0000000..34144f4 --- /dev/null +++ b/src/main/java/net/swordie/ms/client/character/FarmPotential.java @@ -0,0 +1,18 @@ +package net.swordie.ms.client.character; + +import net.swordie.ms.connection.OutPacket; +import net.swordie.ms.util.FileTime; + +/** + * Created on 12/20/2017. + */ +public class FarmPotential { + public void encode(OutPacket outPacket) { + int size = 33; + outPacket.encodeInt(size); + for (int i = 0; i < size; i++) { + outPacket.encodeInt(-1); // dwMonsterID + outPacket.encodeFT(FileTime.fromType(FileTime.Type.ZERO_TIME)); // potentialExpire + } + } +} diff --git a/src/main/java/net/swordie/ms/client/character/HyperTPRock.java b/src/main/java/net/swordie/ms/client/character/HyperTPRock.java new file mode 100755 index 0000000..351bed0 --- /dev/null +++ b/src/main/java/net/swordie/ms/client/character/HyperTPRock.java @@ -0,0 +1,50 @@ +package net.swordie.ms.client.character; + +/** + * Created by on 21-7-2018. + */ +public class HyperTPRock { + + public static void removeFieldId(Char chr, int fieldId) { + for (int i = 0; i < chr.getHyperRockFields().length; i++) { + if (getFieldIdByPosition(chr, i) != fieldId) { + continue; + } + chr.getHyperRockFields()[i] = 999999999; // Removes the map + chr.setHyperRockFields(chr.getHyperRockFields()); + } + } + + public static void addFieldId(Char chr, int fieldId) { + chr.getHyperRockFields()[getFirstEmptyFieldPositon(chr)] = fieldId; + chr.setHyperRockFields(chr.getHyperRockFields()); + } + + public static int getFieldIdByPosition(Char chr, int position) { + return chr.getHyperRockFields()[position]; + } + + public static int getPositionByFieldID(Char chr, int fieldId) { + int position = -1; // Has to be initialised + for (int i = 0; i < chr.getHyperRockFields().length; i++) { + if (getFieldIdByPosition(chr, i) != fieldId) { + continue; + } + position = i; + break; // Ensures it returns the first match, not the last + } + return position; + } + + public static int getFirstEmptyFieldPositon(Char chr) { + int position = -1; // Has to be initalised + for (int i = 0; i < chr.getHyperRockFields().length; i++) { + if (getFieldIdByPosition(chr, i) != 999999999) { + continue; + } + position = i; + break; // Ensures it returns the first match, not the last + } + return position; + } +} diff --git a/src/main/java/net/swordie/ms/client/character/ItemPot.java b/src/main/java/net/swordie/ms/client/character/ItemPot.java new file mode 100755 index 0000000..5af85be --- /dev/null +++ b/src/main/java/net/swordie/ms/client/character/ItemPot.java @@ -0,0 +1,10 @@ +package net.swordie.ms.client.character; + +import net.swordie.ms.connection.OutPacket; /** + * Created on 12/20/2017. + */ +public class ItemPot { + public void encode(OutPacket outPacket) { + + } +} diff --git a/src/main/java/net/swordie/ms/client/character/LikePoint.java b/src/main/java/net/swordie/ms/client/character/LikePoint.java new file mode 100755 index 0000000..46521ce --- /dev/null +++ b/src/main/java/net/swordie/ms/client/character/LikePoint.java @@ -0,0 +1,43 @@ +package net.swordie.ms.client.character; + +import net.swordie.ms.connection.OutPacket; +import net.swordie.ms.util.FileTime; + +/** + * Created on 12/20/2017. + */ +public class LikePoint { + private int point; + private FileTime incTime = FileTime.fromType(FileTime.Type.ZERO_TIME); + private int season; + + public void encode(OutPacket outPacket) { + outPacket.encodeInt(getPoint() + 300); + outPacket.encodeFT(getIncTime()); + outPacket.encodeInt(getSeason()); + } + + public int getPoint() { + return point; + } + + public void setPoint(int point) { + this.point = point; + } + + public FileTime getIncTime() { + return incTime; + } + + public void setIncTime(FileTime incTime) { + this.incTime = incTime; + } + + public int getSeason() { + return season; + } + + public void setSeason(int season) { + this.season = season; + } +} diff --git a/src/main/java/net/swordie/ms/client/character/Macro.java b/src/main/java/net/swordie/ms/client/character/Macro.java new file mode 100755 index 0000000..f9ef48a --- /dev/null +++ b/src/main/java/net/swordie/ms/client/character/Macro.java @@ -0,0 +1,71 @@ +package net.swordie.ms.client.character; + +import net.swordie.ms.connection.OutPacket; + +import javax.persistence.*; + +/** + * Created on 4/2/2018. + */ +@Entity +@Table(name = "macros") +public class Macro { + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private long id; + + private String name; + private boolean muted; + @ElementCollection + @CollectionTable(name = "macroskills", joinColumns = @JoinColumn(name = "macroID")) + @OrderColumn(name = "orderCol") + @Column(name = "skillID") + private int[] skills = new int[3]; + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public int[] getSkills() { + return skills; + } + + public void setSkills(int[] skills) { + this.skills = skills; + } + + public long getId() { + return id; + } + + public void setId(long id) { + this.id = id; + } + + public boolean isMuted() { + return muted; + } + + public void setMuted(boolean muted) { + this.muted = muted; + } + + public void setSkillAtPos(int pos, int skillID) { + if(pos >= 0 && pos < 3) { + getSkills()[pos] = skillID; + } + } + + public void encode(OutPacket outPacket) { + outPacket.encodeString(getName()); + outPacket.encodeByte(isMuted()); + for(int i : getSkills()) { + outPacket.encodeInt(i); + } + } +} diff --git a/src/main/java/net/swordie/ms/client/character/MarriageRecord.java b/src/main/java/net/swordie/ms/client/character/MarriageRecord.java new file mode 100755 index 0000000..7cc3d19 --- /dev/null +++ b/src/main/java/net/swordie/ms/client/character/MarriageRecord.java @@ -0,0 +1,99 @@ +package net.swordie.ms.client.character; + +import net.swordie.ms.connection.OutPacket; + +/** + * Created on 12/19/2017. + */ +public class MarriageRecord { + private int marriageNo; + private int groomId; + private int brideId; + private short status; + private int groomItemId; + private int brideItemId; + private String groomName; + private String bridgeName; + + public void encode(OutPacket outPacket) { + outPacket.encodeInt(getMarriageNo()); + outPacket.encodeInt(getGroomId()); + outPacket.encodeInt(getBrideId()); + outPacket.encodeShort(getStatus()); + outPacket.encodeInt(getGroomItemId()); + outPacket.encodeInt(getBrideItemId()); + outPacket.encodeString(getGroomName(), 13); //max length 13 + outPacket.encodeString(getBridgeName(), 13); + } + + public int getMarriageNo() { + return marriageNo; + } + + public void setMarriageNo(int marriageNo) { + this.marriageNo = marriageNo; + } + + public int getGroomId() { + return groomId; + } + + public void setGroomId(int groomId) { + this.groomId = groomId; + } + + public int getBrideId() { + return brideId; + } + + public void setBrideId(int brideId) { + this.brideId = brideId; + } + + public short getStatus() { + return status; + } + + public void setStatus(short status) { + this.status = status; + } + + public int getGroomItemId() { + return groomItemId; + } + + public void setGroomItemId(int groomItemId) { + this.groomItemId = groomItemId; + } + + public int getBrideItemId() { + return brideItemId; + } + + public void setBrideItemId(int brideItemId) { + this.brideItemId = brideItemId; + } + + public String getGroomName() { + return groomName; + } + + public void setGroomName(String groomName) { + this.groomName = groomName; + } + + public String getBridgeName() { + return bridgeName; + } + + public void setBridgeName(String bridgeName) { + this.bridgeName = bridgeName; + } + + public void encodeForRemote(OutPacket outPacket) { + // TODO make it so this works for a single player (groom/bride should be turned around 50% of the time) + outPacket.encodeInt(getGroomId()); + outPacket.encodeInt(getBrideId()); + outPacket.encodeInt(getGroomItemId()); + } +} diff --git a/src/main/java/net/swordie/ms/client/character/MiniGameRecord.java b/src/main/java/net/swordie/ms/client/character/MiniGameRecord.java new file mode 100755 index 0000000..647ccc5 --- /dev/null +++ b/src/main/java/net/swordie/ms/client/character/MiniGameRecord.java @@ -0,0 +1,63 @@ +package net.swordie.ms.client.character; + +import net.swordie.ms.connection.OutPacket; +import net.swordie.ms.util.FileTime; + +/** + * Created on 12/19/2017. + */ +public class MiniGameRecord { + private FileTime fileTime = FileTime.fromType(FileTime.Type.ZERO_TIME); + private int sOwnerName; // string, yet 4 bytes? + private int rewardGradeQ; + private int rewardGradeQHead; + private int rewardGradeQSize; + + public FileTime getFileTime() { + return fileTime; + } + + public void setFileTime(FileTime fileTime) { + this.fileTime = fileTime; + } + + public int getsOwnerName() { + return sOwnerName; + } + + public void setsOwnerName(int sOwnerName) { + this.sOwnerName = sOwnerName; + } + + public int getRewardGradeQ() { + return rewardGradeQ; + } + + public void setRewardGradeQ(int rewardGradeQ) { + this.rewardGradeQ = rewardGradeQ; + } + + public int getRewardGradeQHead() { + return rewardGradeQHead; + } + + public void setRewardGradeQHead(int rewardGradeQHead) { + this.rewardGradeQHead = rewardGradeQHead; + } + + public int getRewardGradeQSize() { + return rewardGradeQSize; + } + + public void setRewardGradeQSize(int rewardGradeQSize) { + this.rewardGradeQSize = rewardGradeQSize; + } + + public void encode(OutPacket outPacket) { + outPacket.encodeInt(getFileTime().getHighDateTime()); + outPacket.encodeInt(getsOwnerName()); + outPacket.encodeInt(getRewardGradeQ()); + outPacket.encodeInt(getRewardGradeQHead()); + outPacket.encodeInt(getRewardGradeQSize()); + } +} diff --git a/src/main/java/net/swordie/ms/client/character/MiniRoom.java b/src/main/java/net/swordie/ms/client/character/MiniRoom.java new file mode 100755 index 0000000..da0e1a7 --- /dev/null +++ b/src/main/java/net/swordie/ms/client/character/MiniRoom.java @@ -0,0 +1,112 @@ +package net.swordie.ms.client.character; + +import net.swordie.ms.connection.OutPacket; + +/** + * Created on 3/18/2018. + */ +public class MiniRoom { + + + private byte type; + private int ID; + private String miniRoomTitle; + private boolean aPrivate; + private int gameKind; + private int curUsers; + private int maxUsers; + private boolean gameOn; + private boolean ADBoardRemote; + private String msg; + + public byte getType() { + return type; + } + + public void setType(byte type) { + this.type = type; + } + + public void encode(OutPacket outPacket) { + outPacket.encodeInt(getID()); + outPacket.encodeString(getMiniRoomTitle()); + outPacket.encodeByte(isPrivate()); + outPacket.encodeByte(getGameKind()); + outPacket.encodeByte(getCurUsers()); + outPacket.encodeByte(getMaxUsers()); + outPacket.encodeByte(isGameOn()); +// outPacket.encodeByte(isADBoardRemote()); // removed 188? + } + + public int getID() { + return ID; + } + + public void setID(int ID) { + this.ID = ID; + } + + public String getMiniRoomTitle() { + return miniRoomTitle; + } + + public void setMiniRoomTitle(String miniRoomTitle) { + this.miniRoomTitle = miniRoomTitle; + } + + public boolean isPrivate() { + return aPrivate; + } + + public void setPrivate(boolean aPrivate) { + this.aPrivate = aPrivate; + } + + public int getGameKind() { + return gameKind; + } + + public void setGameKind(int gameKind) { + this.gameKind = gameKind; + } + + public int getCurUsers() { + return curUsers; + } + + public void setCurUsers(int curUsers) { + this.curUsers = curUsers; + } + + public int getMaxUsers() { + return maxUsers; + } + + public void setMaxUsers(int maxUsers) { + this.maxUsers = maxUsers; + } + + public boolean isGameOn() { + return gameOn; + } + + public void setGameOn(boolean gameOn) { + this.gameOn = gameOn; + } + + public boolean isADBoardRemote() { + return ADBoardRemote; + } + + public void setADBoardRemote(boolean ADBoardRemote) { + this.ADBoardRemote = ADBoardRemote; + } + + public String getMsg() { + return msg; + } + + public void setMsg(String msg) { + this.msg = msg; + } +} diff --git a/src/main/java/net/swordie/ms/client/character/MonsterCollection.java b/src/main/java/net/swordie/ms/client/character/MonsterCollection.java new file mode 100755 index 0000000..e85ae95 --- /dev/null +++ b/src/main/java/net/swordie/ms/client/character/MonsterCollection.java @@ -0,0 +1,220 @@ +package net.swordie.ms.client.character; + +import net.swordie.ms.connection.packet.Effect; +import net.swordie.ms.connection.packet.UserPacket; +import net.swordie.ms.constants.MonsterCollectionGroup; +import net.swordie.ms.constants.MonsterCollectionRegion; +import net.swordie.ms.constants.MonsterCollectionSession; +import net.swordie.ms.loaders.MonsterCollectionData; +import net.swordie.ms.loaders.containerclasses.MonsterCollectionMobInfo; +import net.swordie.ms.util.FileTime; + +import javax.persistence.*; +import java.time.LocalDateTime; +import java.util.*; +import java.util.stream.Collectors; + +/** + * @author Sjonnie + * Created on 7/23/2018. + */ +@Entity +@Table(name = "monster_collections") +public class MonsterCollection { + private static final int EXPLORATION_POSITION_START = 20; + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private int id; + @Transient + private Map collection = new HashMap<>(); + + @ElementCollection(fetch = FetchType.EAGER) + @CollectionTable(name = "monster_collection_mobs", joinColumns = @JoinColumn(name = "collectionid")) + @Column(name = "mobid") + private Set mobs = new HashSet<>(); + + @OneToMany(cascade = CascadeType.ALL, orphanRemoval = true, fetch = FetchType.EAGER) + @JoinColumn(name = "collectionid") + private Set monsterCollectionRewards = new HashSet<>(); + + @OneToMany(cascade = CascadeType.ALL, orphanRemoval = true, fetch = FetchType.EAGER) + @JoinColumn(name = "collectionid") + private Set monsterCollectionExplorations = new HashSet<>(); + + + public void init(Char chr) { + for (int mob : getMobs()) { + addMob(mob); + } + for (MonsterCollectionReward mcr : getMonsterCollectionRewards()) { + int region = mcr.getRegion(); + int session = mcr.getSession(); + int group = mcr.getGroup(); + if (session == -1) { + collection.get(region).setClaimedReward(true); + } else if (group == -1) { + collection.get(region).getMonsterCollectionSessions().get(session).setRewardClaimed(true); + } else { + collection.get(region).getMonsterCollectionSessions().get(session) + .getMonsterCollectionGroups().get(group).setRewardClaimed(true); + } + } + sendCompleteInfo(chr); + } + + public boolean hasMob(int templateID) { + MonsterCollectionMobInfo mcmi = MonsterCollectionData.getMobInfoByID(templateID); + return mcmi != null && collection.containsKey(mcmi.getRegion()) && + collection.get(mcmi.getRegion()).hasMob(templateID, mcmi); + } + + public void addMob(int templateID) { + MonsterCollectionMobInfo mcmi = MonsterCollectionData.getMobInfoByID(templateID); + if (mcmi == null) { + return; + } + if (!collection.containsKey(mcmi.getRegion())) { + collection.put(mcmi.getRegion(), new MonsterCollectionRegion()); + } + collection.get(mcmi.getRegion()).addMob(mcmi); + getMobs().add(templateID); + } + + public Set getMobs() { + return mobs; + } + + public void setMobs(Set mobs) { + this.mobs = mobs; + } + + public void sendCompleteInfo(Char chr) { + for (Map.Entry entry : collection.entrySet()) { + entry.getValue().sendCompleteInfo(chr, entry.getKey()); + } + } + + public void addMobAndUpdateClient(int templateID, Char chr) { + addMob(templateID); + MonsterCollectionMobInfo mcmi = MonsterCollectionData.getMobInfoByID(templateID); + if (mcmi == null) { + return; + } + collection.get(mcmi.getRegion()).getMonsterCollectionSessions().get(mcmi.getSession()).sendCompletionInfo(chr, + 100000 + mcmi.getRegion() * 100 + mcmi.getSession()); + chr.write(UserPacket.effect(Effect.effectFromWZ("Effect/BasicEff.img/monsterCollectionGet", false, 0, 4, 0))); + } + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public Set getMonsterCollectionRewards() { + return monsterCollectionRewards; + } + + public void setMonsterCollectionRewards(Set monsterCollectionRewards) { + this.monsterCollectionRewards = monsterCollectionRewards; + } + + public MonsterCollectionRegion getRegion(int region) { + return collection.getOrDefault(region, null); + } + + public MonsterCollectionSession getSession(int region, int session) { + if (getRegion(region) != null) { + return getRegion(region).getMonsterCollectionSessions().getOrDefault(session, null); + } + return null; + } + + public MonsterCollectionGroup getGroup(int region, int session, int group) { + if (getSession(region, session) != null) { + return getSession(region, session).getMonsterCollectionGroups().getOrDefault(group, null); + } + return null; + } + + public boolean isComplete(int region, int session, int groupID) { + MonsterCollectionGroup group = getGroup(region, session, groupID); + if (groupID == -1) { + boolean complete = true; + for (Map.Entry entry : getSession(region, session).getMonsterCollectionGroups().entrySet()) { + complete &= isComplete(region, session, entry.getKey()); + } + return complete; + } + return group != null && group.getMobs().size() >= MonsterCollectionData.getRequiredMobs(region, session, groupID); + } + + public MonsterCollectionExploration getExploration(int region, int session, int group) { + int collectionKey = region * 10000 + session * 100 + group; + return getMonsterCollectionExplorations().stream().filter(mce -> mce.getCollectionKey() == collectionKey) + .findAny().orElse(null); + } + + public Set getMonsterCollectionExplorations() { + return monsterCollectionExplorations; + } + + public void setMonsterCollectionExplorations(Set monsterCollectionExplorations) { + this.monsterCollectionExplorations = monsterCollectionExplorations; + } + + public MonsterCollectionExploration createExploration(int region, int session, int group) { + int collectionKey = region * 10000 + session * 100 + group; + int minutes = MonsterCollectionData.getExplorationMinutes(region, session, group); + FileTime ft = FileTime.fromDate(LocalDateTime.now().plusMinutes(minutes)); + MonsterCollectionExploration mce = new MonsterCollectionExploration(collectionKey, ft); + mce.setMonsterKey(String.format("%d:%d:%d:0", region, session, group)); + mce.setPosition(getFirstOpenSlot()); + return mce; + } + + private int getFirstOpenSlot() { + List mces = getMonsterCollectionExplorations().stream() + .sorted(Comparator.comparingInt(MonsterCollectionExploration::getPosition)) + .collect(Collectors.toList()); + int i; + for (i = 0; i < mces.size(); i++) { + MonsterCollectionExploration mce = mces.get(i); + int pos = i + EXPLORATION_POSITION_START; + if (mce.getPosition() != pos) { + return pos; + } + } + return EXPLORATION_POSITION_START + i; + } + + public void addExploration(MonsterCollectionExploration mce) { + getMonsterCollectionExplorations().add(mce); + } + + public void removeExploration(MonsterCollectionExploration mce) { + getMonsterCollectionExplorations().remove(mce); + } + + private int getTotalAmountOfSlots() { + int num; + int mobs = getMobs().size(); + if (mobs >= 600) { + num = 5; + } else if (mobs >= 300) { + num = 4; + } else if (mobs >= 150) { + num = 3; + } else { + num = 2; + } + return num; + } + + public int getOpenExplorationSlots() { + return getTotalAmountOfSlots() - getMonsterCollectionExplorations().size(); + } +} diff --git a/src/main/java/net/swordie/ms/client/character/MonsterCollectionExploration.java b/src/main/java/net/swordie/ms/client/character/MonsterCollectionExploration.java new file mode 100755 index 0000000..0bc58a3 --- /dev/null +++ b/src/main/java/net/swordie/ms/client/character/MonsterCollectionExploration.java @@ -0,0 +1,100 @@ +package net.swordie.ms.client.character; + +import net.swordie.ms.connection.db.converters.FileTimeConverter; +import net.swordie.ms.util.FileTime; +import net.swordie.ms.util.Util; + +import javax.persistence.*; +import java.time.LocalDateTime; +import java.util.Objects; + +/** + * @author Sjonnie + * Created on 9/30/2018. + */ +@Entity +@Table(name = "monster_collection_explorations") +public class MonsterCollectionExploration { + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private long id; + + private int collectionKey; + private String monsterKey; + private int position; + + @Convert(converter = FileTimeConverter.class) + private FileTime endDate; + + public MonsterCollectionExploration() { + } + + public MonsterCollectionExploration(int sessionID, FileTime endDate) { + this.collectionKey = sessionID; + this.endDate = endDate; + } + + public long getId() { + return id; + } + + public void setId(long id) { + this.id = id; + } + + public int getCollectionKey() { + return collectionKey; + } + + public void setCollectionKey(int collectionKey) { + this.collectionKey = collectionKey; + } + + public FileTime getEndDate() { + return endDate; + } + + public void setEndDate(FileTime endDate) { + this.endDate = endDate; + } + + public String getMonsterKey() { + return monsterKey; + } + + public void setMonsterKey(String monsterKey) { + this.monsterKey = monsterKey; + } + + public int getPosition() { + return position; + } + + public void setPosition(int position) { + this.position = position; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + MonsterCollectionExploration that = (MonsterCollectionExploration) o; + return collectionKey == that.collectionKey; + } + + @Override + public int hashCode() { + return Objects.hash(collectionKey); + } + + public String getValue(boolean active) { + LocalDateTime ldt = getEndDate().toLocalDateTime().minusHours(2); // so it's the same for the client + return String.format("mobKey=%s;end=%s%s%s%s%s;state=%d", getMonsterKey(), + Util.leftPaddedString(4, '0', String.valueOf(ldt.getYear())), + Util.leftPaddedString(2, '0', String.valueOf(ldt.getMonthValue())), + Util.leftPaddedString(2, '0', String.valueOf(ldt.getDayOfMonth())), + Util.leftPaddedString(2, '0', String.valueOf(ldt.getHour())), + Util.leftPaddedString(2, '0', String.valueOf(ldt.getMinute())), + active ? 1 : 0); + } +} diff --git a/src/main/java/net/swordie/ms/client/character/MonsterCollectionReward.java b/src/main/java/net/swordie/ms/client/character/MonsterCollectionReward.java new file mode 100755 index 0000000..ea72395 --- /dev/null +++ b/src/main/java/net/swordie/ms/client/character/MonsterCollectionReward.java @@ -0,0 +1,47 @@ +package net.swordie.ms.client.character; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Id; +import javax.persistence.Table; +import java.io.Serializable; + +/** + * @author Sjonnie + * Created on 7/23/2018. + */ +@Entity +@Table(name = "monster_collection_rewards") +public class MonsterCollectionReward implements Serializable { + @Id + private int region; + @Id + private int session; // -1 == region (medal) + @Id + @Column(name = "groupid") + private int group; // -1 == session + + public int getRegion() { + return region; + } + + public void setRegion(int region) { + this.region = region; + } + + public int getSession() { + return session; + } + + public void setSession(int session) { + this.session = session; + } + + public int getGroup() { + return group; + } + + public void setGroup(int group) { + this.group = group; + } +} diff --git a/src/main/java/net/swordie/ms/client/character/MonsterPark.java b/src/main/java/net/swordie/ms/client/character/MonsterPark.java new file mode 100755 index 0000000..1be2fad --- /dev/null +++ b/src/main/java/net/swordie/ms/client/character/MonsterPark.java @@ -0,0 +1,155 @@ +package net.swordie.ms.client.character; + +import java.util.Calendar; +import java.util.HashMap; +import java.util.Map; + +/** + * Created by Asura on 27-7-2018. + */ +public class MonsterPark { + + private static final Map mobExpHash; + static { + mobExpHash = new HashMap<>(); + mobExpHash.put(9800046, 36625); // Roid + mobExpHash.put(9800047, 39700); // Neo Huroid + mobExpHash.put(9800045, 42875); // Rurumo + mobExpHash.put(9800049, 46170); // D. Roy + mobExpHash.put(9800048, 71730); // Security Camera + mobExpHash.put(9800050, 97240); // Deet and Roi + mobExpHash.put(9800051, 53010); // Mossy Snail + mobExpHash.put(9800052, 56575); // Tree Rod + mobExpHash.put(9800053, 60225); // Mossy Mushroom + mobExpHash.put(9800054, 63960); // Primitive Boar + mobExpHash.put(9800055, 67800); // Stone Bug + mobExpHash.put(9800056, 215355); // Poison Golem + mobExpHash.put(9800059, 62080); // Wooden Target Dummy + mobExpHash.put(9800060, 157185); // Bamboo Warrior + mobExpHash.put(9800061, 67800); // Grizzly + mobExpHash.put(9800062, 69730); // Panda + mobExpHash.put(9800063, 167105); // Tae Roon + mobExpHash.put(9800064, 76285); // Sage Cat + mobExpHash.put(9800065, 11580135); // King Sage Cat + mobExpHash.put(9800066, 241815); // Giant Centipede + mobExpHash.put(9800150, 71690); // Ginseng Jar + mobExpHash.put(9800151, 76285); // Bellflower Root + mobExpHash.put(9800152, 84055); // Mr. Alli + mobExpHash.put(9800154, 94835); // Kru + mobExpHash.put(9800153, 193250); // Calico Mack, the Pirate King + mobExpHash.put(9800155, 97610); // Captain + mobExpHash.put(9800156, 281085); // Lord Pirate + mobExpHash.put(9800157, 103125); // Dinogoth + mobExpHash.put(9800158, 108600); // Dinodon + mobExpHash.put(9800159, 113960); // Guerrilla Specter + mobExpHash.put(9800160, 266880); // Magician Specter + mobExpHash.put(9800161, 119250); // Specter Engineer + mobExpHash.put(9800162, 124500); // Power Specter + mobExpHash.put(9800163, 355845); // Reaper Specter + mobExpHash.put(9800164, 116625); // Harp + mobExpHash.put(9800165, 121875); // Blood Harp + mobExpHash.put(9800166, 266880); // Master Harp + mobExpHash.put(9800167, 127085); // Blue Kentaurus + mobExpHash.put(9800168, 132225); // Red Kentaurus + mobExpHash.put(9800170, 288300); // Kentaurus King + mobExpHash.put(9800169, 137285); // Black Kentaurus + mobExpHash.put(9800171, 391440); // Griffey + mobExpHash.put(9800067, 129675); // Dark Klock + mobExpHash.put(9800068, 134775); // Death Teddy + mobExpHash.put(9800069, 139800); // Phantom Watch + mobExpHash.put(9800070, 144785); // Grim Phantom Watch + mobExpHash.put(9800071, 155475); // Gatekeeper + mobExpHash.put(9800072, 450135); // Thanatos + mobExpHash.put(9800172, 142310); // Wild Monkey + mobExpHash.put(9800173, 150150); // Mama Monkey + mobExpHash.put(9800174, 160760); // Mean Mama Monkey + mobExpHash.put(9800175, 348625); // SnowFro the Fruitnificent + mobExpHash.put(9800176, 171260); // Stone Goblin + mobExpHash.put(9800177, 176435); // Strong Stone Goblin + mobExpHash.put(9800178, 508515); // Ganapati + mobExpHash.put(9800073, 191850); // Overlord A + mobExpHash.put(9800074, 201975); // Afterlord + mobExpHash.put(9800075, 445170); // Bergamot + mobExpHash.put(9800078, 211985); // Maverick Type A + mobExpHash.put(9800079, 216935); // Maverick Type S + mobExpHash.put(9800080, 221850); // Imperial Guard + mobExpHash.put(9800081, 226760); // Royal Guard + mobExpHash.put(9800082, 662130); // Nibelung + mobExpHash.put(9800085, 246110); // Werewolf + mobExpHash.put(9800086, 250875); // Lycanthrope + mobExpHash.put(9800087, 260360); // Coolie Zombie + mobExpHash.put(9800088, 269735); // Miner Zombie + mobExpHash.put(9800089, 279000); // Fire Poison + mobExpHash.put(9800090, 595585); // Riche + mobExpHash.put(9800091, 806925); // Ergoth + mobExpHash.put(9800092, 269735); // Crocky the Gatekeeper + mobExpHash.put(9800093, 279000); // Reindeer + mobExpHash.put(9800094, 283610); // Blood Reindeer + mobExpHash.put(9800095, 288185); // Bearwolf + mobExpHash.put(9800096, 298010); // Grey Vulture + mobExpHash.put(9800097, 307835); // Castle Golem + mobExpHash.put(9800098, 317585); // Prison Guard Boar + mobExpHash.put(9800099, 943425); // Prison Guard Ani + mobExpHash.put(9800100, 298010); // Red Dragon Turtle + mobExpHash.put(9800101, 307835); // Dark Cornian + mobExpHash.put(9800102, 327260); // Red Wyvern + mobExpHash.put(9800103, 346500); // Blue Wyvern + mobExpHash.put(9800104, 365550); // Dark Wyvern + mobExpHash.put(9800105, 1076355); // Leviathan + mobExpHash.put(9800106, 346500); // Qualm Monk + mobExpHash.put(9800107, 365550); // Qualm Guardian + mobExpHash.put(9800108, 829550); // Dodo + mobExpHash.put(9800109, 829550); // Lilynouch + mobExpHash.put(9800110, 375035); // Oblivion Monk Trainee + mobExpHash.put(9800111, 385910); // Oblivion Guardian + mobExpHash.put(9800112, 395855); // Chief Oblivion Guardian + mobExpHash.put(9800113, 1145830); // Lyka + mobExpHash.put(9800114, 385910); // Official Knight A + mobExpHash.put(9800115, 390990); // Official Knight B + mobExpHash.put(9800116, 396280); // Official Knight C + mobExpHash.put(9800117, 404715); // Official Knight D + mobExpHash.put(9800118, 412225); // Official Knight E + mobExpHash.put(9800119, 1186255); // Mihile + mobExpHash.put(9800120, 1186255); // Oz + mobExpHash.put(9800121, 588495); // Ifrit + mobExpHash.put(9800122, 1186255); // Irena + mobExpHash.put(9800123, 1186255); // Eckhart + mobExpHash.put(9800124, 1186255); // Hawkeye + mobExpHash.put(9800179, 417025); // Swollen Stump + mobExpHash.put(9800180, 419730); // Pillaging Wild Boar + mobExpHash.put(9800181, 422225); // Pillaging Fire Boar + mobExpHash.put(9800182, 426565); // Sinister Wooden Mask + mobExpHash.put(9800183, 428440); // Sinister Rocky Mask + mobExpHash.put(9800184, 929190); // Ancient Dark Golem + mobExpHash.put(9800185, 430080); // Swollen Axe Stump + mobExpHash.put(9800186, 1216460); // Ghostwood Stumpy + } + + public static int getExpByMobId(int templateId) { + return mobExpHash.get(templateId) != null ? mobExpHash.get(templateId) : 0; + } + + public static int getRewardByDay() { + int day = Calendar.getInstance().get(Calendar.DAY_OF_WEEK); + switch (day) { + case Calendar.SUNDAY: // Growth Box + return 2434745; + case Calendar.MONDAY: // Crafting Box + return 2434746; + case Calendar.TUESDAY: // Enhancement Box + return 2434747; + case Calendar.WEDNESDAY: // Traits Box + return 2434748; + case Calendar.THURSDAY: // Honor Box + return 2434749; + case Calendar.FRIDAY: // Mesos Box + return 2434750; + case Calendar.SATURDAY: // Monster Park Box + return 2434751; + default: + return 2434745; // Sunday's Growth Box + } + } + + +} diff --git a/src/main/java/net/swordie/ms/client/character/NonCombatStatDayLimit.java b/src/main/java/net/swordie/ms/client/character/NonCombatStatDayLimit.java new file mode 100755 index 0000000..caf8d33 --- /dev/null +++ b/src/main/java/net/swordie/ms/client/character/NonCombatStatDayLimit.java @@ -0,0 +1,127 @@ +package net.swordie.ms.client.character; + + +import net.swordie.ms.connection.OutPacket; +import net.swordie.ms.connection.db.converters.FileTimeConverter; +import net.swordie.ms.util.FileTime; + +import javax.persistence.*; + +/** + * Created on 2/18/2017. + */ +@Entity +@Table(name = "noncombatstatdaylimit") +public class NonCombatStatDayLimit { + + @Id @GeneratedValue(strategy = GenerationType.IDENTITY) + private int id; + private short charisma; + private short charm; + private short insight; + private short will; + private short craft; + private short sense; + @Convert(converter = FileTimeConverter.class) + private FileTime lastUpdateCharmByCashPR; + private byte charmByCashPR; + + public NonCombatStatDayLimit(short charisma, short charm, byte charmByCashPR, short insight, short will, short craft, short sense, FileTime lastUpdateCharmByCashPR) { + this.charisma = charisma; + this.charm = charm; + this.charmByCashPR = charmByCashPR; + this.insight = insight; + this.will = will; + this.craft = craft; + this.sense = sense; + this.lastUpdateCharmByCashPR = lastUpdateCharmByCashPR; + } + + public NonCombatStatDayLimit() { + this((short) 0, (short) 0, (byte) 0,(short) 0,(short) 0,(short) 0,(short) 0, FileTime.fromType(FileTime.Type.ZERO_TIME)); + } + + public short getCharm() { + return charm; + } + + public void setCharm(short charm) { + this.charm = charm; + } + + public byte getCharmByCashPR() { + return charmByCashPR; + } + + public void setCharmByCashPR(byte charmByCashPR) { + this.charmByCashPR = charmByCashPR; + } + + public short getInsight() { + return insight; + } + + public void setInsight(short insight) { + this.insight = insight; + } + + public short getWill() { + return will; + } + + public void setWill(short will) { + this.will = will; + } + + public short getCraft() { + return craft; + } + + public void setCraft(short craft) { + this.craft = craft; + } + + public short getSense() { + return sense; + } + + public void setSense(short sense) { + this.sense = sense; + } + + public FileTime getLastUpdateCharmByCashPR() { + return lastUpdateCharmByCashPR; + } + + public void setLastUpdateCharmByCashPR(FileTime lastUpdateCharmByCashPR) { + this.lastUpdateCharmByCashPR = lastUpdateCharmByCashPR; + } + + public void encode(OutPacket outPacket) { + outPacket.encodeShort(getCharisma()); + outPacket.encodeShort(getInsight()); + outPacket.encodeShort(getWill()); + outPacket.encodeShort(getCraft()); + outPacket.encodeShort(getSense()); + outPacket.encodeShort(getCharm()); + outPacket.encodeByte(getCharmByCashPR()); + outPacket.encodeFT(getLastUpdateCharmByCashPR()); + } + + public short getCharisma() { + return charisma; + } + + public void setCharisma(short charisma) { + this.charisma = charisma; + } + + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } +} diff --git a/src/main/java/net/swordie/ms/client/character/PortableChair.java b/src/main/java/net/swordie/ms/client/character/PortableChair.java new file mode 100755 index 0000000..e949820 --- /dev/null +++ b/src/main/java/net/swordie/ms/client/character/PortableChair.java @@ -0,0 +1,161 @@ +package net.swordie.ms.client.character; + +import net.swordie.ms.client.character.quest.Quest; +import net.swordie.ms.client.character.quest.QuestManager; +import net.swordie.ms.connection.OutPacket; +import net.swordie.ms.connection.packet.UserPool; +import net.swordie.ms.constants.ItemConstants; +import net.swordie.ms.constants.QuestConstants; +import net.swordie.ms.enums.QuestStatus; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +/** + * Created on 26-5-2019. + * + * @author Asura + */ +public class PortableChair { + private Char chr; + private int itemID; + private String msg = ""; + private List displayChrs = new ArrayList<>(); + private long meso; + private int displayedNumber; + + public PortableChair(Char chr, int itemID) { + this.chr = chr; + this.itemID = itemID; + } + + public Char getChr() { + return chr; + } + + public void setChr(Char chr) { + this.chr = chr; + } + + public int getItemID() { + return itemID; + } + + public boolean isTextChair() { + return ItemConstants.isTextChair(getItemID()); + } + + public boolean isTowerChair() { + return ItemConstants.isTowerChair(getItemID()); + } + + public boolean isMesoChair() { + return ItemConstants.isMesoChair(getItemID()); + } + + public void setItemID(int itemID) { + this.itemID = itemID; + } + + public String getMsg() { + return msg; + } + + public void setMsg(String msg) { + this.msg = msg; + } + + public List getDisplayChrs() { + return displayChrs; + } + + public void setDisplayChrs(List displayChrs) { + this.displayChrs = displayChrs; + } + + public void addDisplayChrs(String name) { + getDisplayChrs().add(name); + } + + public long getMeso() { + return meso; + } + + public void setMeso(long meso) { + this.meso = meso; + } + + public int getDisplayedNumber() { + return displayedNumber; + } + + public void setDisplayedNumber(int displayedNumber) { + this.displayedNumber = displayedNumber; + } + + public void addMeso(long meso) { + if (meso > 0 && isMesoChair()) { + setMeso(getMeso() + meso); + chr.getField().broadcastPacket(UserPool.addMesoChairCount(chr.getId(), meso)); + } + } + + public void encode(OutPacket outPacket) { + outPacket.encodeInt(getItemID()); + outPacket.encodeInt(isTextChair() ? 1 : 0); + if (isTextChair()) { + outPacket.encodeString(getMsg()); + } + outPacket.encodeInt(0); // new 176 + outPacket.encodeInt(0); // randInt + outPacket.encodeByte(0); // randByte + + QuestManager qm = chr.getQuestManager(); + Quest q = qm.getQuests().getOrDefault(QuestConstants.TOWER_CHAIR, null); + if (q == null) { + q = new Quest(QuestConstants.TOWER_CHAIR, QuestStatus.Started); + qm.addQuest(q); + } + q.convertQRValueToProperties(); + outPacket.encodeInt(q.getProperties().size()); + for (Map.Entry entry : q.getProperties().entrySet()) { + int towerChairID = Integer.parseInt(entry.getValue()); + outPacket.encodeInt(towerChairID); + } + + boolean bool; + outPacket.encodeByte(getDisplayChrs().size() > 0); // legion shit + if (getDisplayChrs().size() > 0) { + // sub_B5ABB0 + outPacket.encodeInt(chr.getAccount().getTotalLvOfAllChrs()); + outPacket.encodeInt(getDisplayChrs().size()); + for (String name : getDisplayChrs()) { + Char displayChr = Char.getFromDBByName(name); + outPacket.encodeInt(displayChr.getLevel()); + outPacket.encodeString(name); + + bool = true; + outPacket.encodeByte(bool); + if (bool) { + displayChr.getAvatarData().getAvatarLook().encode(outPacket); + } + bool = false; + outPacket.encodeByte(bool); + if (bool) { + displayChr.getAvatarData().getAvatarLook().encode(outPacket); + } + } + outPacket.encodeInt(0); + } + + outPacket.encodeLong(getMeso()); // meso + + bool = false; + outPacket.encodeByte(bool); + if (bool) { + // virtual func + } + + } +} diff --git a/src/main/java/net/swordie/ms/client/character/Ranking.java b/src/main/java/net/swordie/ms/client/character/Ranking.java new file mode 100755 index 0000000..d87c862 --- /dev/null +++ b/src/main/java/net/swordie/ms/client/character/Ranking.java @@ -0,0 +1,63 @@ +package net.swordie.ms.client.character; + +import net.swordie.ms.connection.OutPacket; + +/** + * Created on 11/17/2017. + */ +public class Ranking { + private int totRank; + private int totRankGap; + private int worldRank; + private int worldRankGap; + + public Ranking(int totRank, int totRankGap, int worldRank, int worldRankGap) { + this.totRank = totRank; + this.totRankGap = totRankGap; + this.worldRank = worldRank; + this.worldRankGap = worldRankGap; + } + + public Ranking() { + this(1,3,3,7); + } + + public int getTotRank() { + return totRank; + } + + public void setTotRank(int totRank) { + this.totRank = totRank; + } + + public int getTotRankGap() { + return totRankGap; + } + + public void setTotRankGap(int totRankGap) { + this.totRankGap = totRankGap; + } + + public int getWorldRank() { + return worldRank; + } + + public void setWorldRank(int worldRank) { + this.worldRank = worldRank; + } + + public int getWorldRankGap() { + return worldRankGap; + } + + public void setWorldRankGap(int worldRankGap) { + this.worldRankGap = worldRankGap; + } + + public void encode(OutPacket outPacket) { + outPacket.encodeInt(getTotRank()); + outPacket.encodeInt(getTotRankGap()); + outPacket.encodeInt(getWorldRank()); + outPacket.encodeInt(getWorldRankGap()); + } +} diff --git a/src/main/java/net/swordie/ms/client/character/RunnerGameRecord.java b/src/main/java/net/swordie/ms/client/character/RunnerGameRecord.java new file mode 100755 index 0000000..2ddbb1e --- /dev/null +++ b/src/main/java/net/swordie/ms/client/character/RunnerGameRecord.java @@ -0,0 +1,79 @@ +package net.swordie.ms.client.character; + +import net.swordie.ms.connection.OutPacket; +import net.swordie.ms.util.FileTime; + +/** + * Created on 12/20/2017. + */ +public class RunnerGameRecord { + private FileTime lastPlayed = FileTime.fromType(FileTime.Type.ZERO_TIME); + private int characterID; + private int lastScore; + private int highScore; + private int runnerPoint; + private int totalLeft; + + public void encode(OutPacket outPacket) { +// outPacket.encodeInt(getCharacterID() + 1); +// outPacket.encodeInt(getLastScore() + 98792381); +// outPacket.encodeInt(getHighScore() + 1987236191); +// outPacket.encodeInt(getRunnerPoint() + 198237199); +// outPacket.encodeFT(getLastPlayed()); +// outPacket.encodeInt(getTotalLeft() + 123); + outPacket.encodeInt(-1); + outPacket.encodeInt(-1); + outPacket.encodeInt(-1); + outPacket.encodeInt(-1); + outPacket.encodeLong(-1); + outPacket.encodeInt(-1); + } + + public FileTime getLastPlayed() { + return lastPlayed; + } + + public void setLastPlayed(FileTime lastPlayed) { + this.lastPlayed = lastPlayed; + } + + public int getCharacterID() { + return characterID; + } + + public void setCharacterID(int characterID) { + this.characterID = characterID; + } + + public int getLastScore() { + return lastScore; + } + + public void setLastScore(int lastScore) { + this.lastScore = lastScore; + } + + public int getHighScore() { + return highScore; + } + + public void setHighScore(int highScore) { + this.highScore = highScore; + } + + public int getRunnerPoint() { + return runnerPoint; + } + + public void setRunnerPoint(int runnerPoint) { + this.runnerPoint = runnerPoint; + } + + public int getTotalLeft() { + return totalLeft; + } + + public void setTotalLeft(int totalLeft) { + this.totalLeft = totalLeft; + } +} diff --git a/src/main/java/net/swordie/ms/client/character/SPSet.java b/src/main/java/net/swordie/ms/client/character/SPSet.java new file mode 100755 index 0000000..7d4db78 --- /dev/null +++ b/src/main/java/net/swordie/ms/client/character/SPSet.java @@ -0,0 +1,54 @@ +package net.swordie.ms.client.character; + +import org.hibernate.Session; +import org.hibernate.Transaction; + +import javax.persistence.*; + +/** + * Created on 2/18/2017. + */ +@Entity +@Table(name = "spset") +public class SPSet { + @Id @GeneratedValue(strategy = GenerationType.IDENTITY) + private int id; + private byte jobLevel; + private int sp; + + public SPSet() { + } + + public SPSet(byte jobLevel, int sp) { + this.jobLevel = jobLevel; + this.sp = sp; + } + + public void setJobLevel(byte jobLevel) { + this.jobLevel = jobLevel; + } + + public void setSp(int sp) { + this.sp = sp; + } + + public byte getJobLevel() { + return jobLevel; + } + + public int getSp() { + return sp; + } + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public void addSp(int sp) { + setSp(getSp() + sp); + } +} diff --git a/src/main/java/net/swordie/ms/client/character/TradeRoom.java b/src/main/java/net/swordie/ms/client/character/TradeRoom.java new file mode 100755 index 0000000..049d5da --- /dev/null +++ b/src/main/java/net/swordie/ms/client/character/TradeRoom.java @@ -0,0 +1,128 @@ +package net.swordie.ms.client.character; + +import net.swordie.ms.client.character.items.Item; +import net.swordie.ms.connection.OutPacket; +import net.swordie.ms.connection.packet.MiniroomPacket; +import net.swordie.ms.constants.GameConstants; +import net.swordie.ms.util.container.Tuple; + +import java.util.*; + +/** + * @author Sjonnie + * Created on 8/10/2018. + */ +public class TradeRoom { + private Map>> offeredItems = new HashMap<>(); // wow + private Map money = new HashMap<>(); + private Set confirmedPlayers = new HashSet<>(); + private Char other; + private Char chr; + + public TradeRoom(Char chr, Char other) { + this.chr = chr; + offeredItems.put(chr, new ArrayList<>()); + this.other = other; + offeredItems.put(other, new ArrayList<>()); + } + + public Char getOther() { + return other; + } + + public boolean canAddItem(Char chr) { + return getOfferedItems().get(chr).size() < GameConstants.MAX_TRADE_ITEMS; + } + + public void addItem(Char chr, int pos, Item item) { + List> items = getOfferedItems().get(chr); + Tuple entry = new Tuple<>(pos, item); + items.add(entry); + } + + public Char getChr() { + return chr; + } + + private Map getMoney() { + return money; + } + + public long getMoney(Char chr) { + return getMoney().getOrDefault(chr, 0L); + } + + public void putMoney(Char chr, long money) { + getMoney().put(chr, money); + } + + public Map>> getOfferedItems() { + return offeredItems; + } + + public void restoreItems() { + Char[] chars = new Char[]{getChr(), getOther()}; + for (Char chr : chars) { + for (Tuple entry : getOfferedItems().get(chr)) { + chr.addItemToInventory(entry.getRight()); + } + chr.addMoney(getMoney(chr)); + } + } + + public Set getConfirmedPlayers() { + return confirmedPlayers; + } + + public void addConfirmedPlayer(Char chr) { + getConfirmedPlayers().add(chr); + } + + public boolean hasConfirmed(Char other) { + return getConfirmedPlayers().contains(other); + } + + public boolean completeTrade() { + Char chr = getChr(); + Char other = getOther(); + // Ugly, but eh + // Check if the characters have enough space for all the items + List items = new ArrayList<>(); + for (Tuple entry : getOfferedItems().get(other)) { + items.add(entry.getRight()); + } + if (!chr.canHold(items)) { + chr.chatMessage("You do not have enough inventory space."); + other.chatMessage(chr.getName() + " does not have enough inventory space."); + return false; + } + for (Tuple entry : getOfferedItems().get(chr)) { + items.add(entry.getRight()); + } + if (!other.canHold(items)) { + other.chatMessage("You do not have enough inventory space."); + chr.chatMessage(chr.getName() + " does not have enough inventory space."); + return false; + } + // Add all the items + money + for (Tuple entry : getOfferedItems().get(chr)) { + other.addItemToInventory(entry.getRight()); + } + other.addMoney(GameConstants.applyTax(getMoney(chr))); + for (Tuple entry : getOfferedItems().get(other)) { + chr.addItemToInventory(entry.getRight()); + } + chr.addMoney(GameConstants.applyTax(getMoney(other))); + return true; + } + + public void cancelTrade() { + chr.setTradeRoom(null); + other.setTradeRoom(null); + restoreItems(); + } + + public Char getOtherChar(Char chr) { + return chr == getChr() ? getOther() : getChr(); + } +} diff --git a/src/main/java/net/swordie/ms/client/character/avatar/AvatarData.java b/src/main/java/net/swordie/ms/client/character/avatar/AvatarData.java new file mode 100755 index 0000000..3e98c7a --- /dev/null +++ b/src/main/java/net/swordie/ms/client/character/avatar/AvatarData.java @@ -0,0 +1,76 @@ +package net.swordie.ms.client.character.avatar; + +import net.swordie.ms.client.character.CharacterStat; +import net.swordie.ms.connection.OutPacket; +import net.swordie.ms.constants.JobConstants; + +import javax.persistence.*; + +/** + * Created on 2/18/2017. + */ +@Entity +@Table(name = "avatardata") +public class AvatarData { + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private int id; + @JoinColumn(name = "characterStat") + @OneToOne(cascade = CascadeType.ALL, orphanRemoval = true) + private CharacterStat characterStat; + @JoinColumn(name = "avatarLook") + @OneToOne(cascade = CascadeType.ALL, orphanRemoval = true) + private AvatarLook avatarLook; + @JoinColumn(name = "zeroAvatarLook") + @OneToOne(cascade = CascadeType.ALL, orphanRemoval = true) + private AvatarLook zeroAvatarLook; + + public AvatarLook getAvatarLook() { + return avatarLook; + } + + public CharacterStat getCharacterStat() { + return characterStat; + } + + public AvatarLook getZeroAvatarLook() { + return zeroAvatarLook; + } + + public void setZeroAvatarLook(AvatarLook zeroAvatarLook) { + this.zeroAvatarLook = zeroAvatarLook; + } + + public void encode(OutPacket outPacket) { + characterStat.encode(outPacket); + // sub_92A050 + outPacket.encodeInt(0); // new 196 + outPacket.encodeLong(0); // new 199 + // ~sub_92A050 + avatarLook.encode(outPacket); + if (JobConstants.isZero(getCharacterStat().getJob())) { + zeroAvatarLook.encode(outPacket); + } + } + + public void setCharacterStat(CharacterStat characterStat) { + this.characterStat = characterStat; + } + + public void setAvatarLook(AvatarLook avatarLook) { + this.avatarLook = avatarLook; + } + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public AvatarLook getAvatarLook(boolean zeroBetaState) { + return zeroBetaState ? getZeroAvatarLook() : getAvatarLook(); + } +} diff --git a/src/main/java/net/swordie/ms/client/character/avatar/AvatarLook.java b/src/main/java/net/swordie/ms/client/character/avatar/AvatarLook.java new file mode 100755 index 0000000..9ee9edd --- /dev/null +++ b/src/main/java/net/swordie/ms/client/character/avatar/AvatarLook.java @@ -0,0 +1,545 @@ +package net.swordie.ms.client.character.avatar; + +import net.swordie.ms.client.character.Char; +import net.swordie.ms.client.character.items.BodyPart; +import net.swordie.ms.client.character.items.Item; +import net.swordie.ms.connection.InPacket; +import net.swordie.ms.connection.OutPacket; +import net.swordie.ms.constants.ItemConstants; +import net.swordie.ms.constants.JobConstants; +import net.swordie.ms.enums.WeaponType; + +import javax.persistence.*; +import java.util.*; + +/** + * Created on 2/18/2017. + */ +@Entity +@Table(name = "avatarlook") +public class AvatarLook { + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private int id; + private int gender; + private int skin; + private int face; + private int hair; + private int weaponStickerId; + + private int weaponId; + private int subWeaponId; + @ElementCollection + @CollectionTable(name = "hairequips", joinColumns = @JoinColumn(name = "alId")) + @MapKeyColumn(name = "bodypart") + @Column(name = "equipid") + private Map hairEquips; + + @ElementCollection + @CollectionTable(name = "unseenequips", joinColumns = @JoinColumn(name = "alId")) + @MapKeyColumn(name = "bodypart") + @Column(name = "equipid") + private Map unseenEquips; + @ElementCollection + @CollectionTable(name = "petids", joinColumns = @JoinColumn(name = "alId")) + @Column(name = "petId") + private List petIDs; + private int job; + private boolean drawElfEar; + private int demonSlayerDefFaceAcc; + private int xenonDefFaceAcc; + private int beastTamerDefFaceAcc; + private boolean isZeroBetaLook; + private int mixedHairColor; + private int mixHairPercent; + @ElementCollection + @CollectionTable(name = "totems", joinColumns = @JoinColumn(name = "alId")) + @Column(name = "totemId") + private List totems; + private int ears; + private int tail; + @Transient + private int demonWingID; + @Transient + private int kaiserWingID; + @Transient + private int kaiserTailID; + + public AvatarLook() { + hairEquips = new HashMap<>(); + unseenEquips = new HashMap<>(); + petIDs = Arrays.asList(0, 0, 0); + totems = new ArrayList<>(); + } + + public AvatarLook deepCopy() { + AvatarLook res = new AvatarLook(); + res.setGender(getGender()); + res.setSkin(getSkin()); + res.setFace(getFace()); + res.setHair(getHair()); + res.setWeaponStickerId(getWeaponStickerId()); + res.setWeaponId(getWeaponId()); + res.setSubWeaponId(getSubWeaponId()); + Map resHairEquips = new HashMap<>(getHairEquips()); + res.setHairEquips(resHairEquips); + Map resUnseenEquips = new HashMap<>(getUnseenEquips()); + res.setUnseenEquips(resUnseenEquips); + List resPetIDs = new ArrayList<>(getPetIDs()); + res.setPetIDs(resPetIDs); + res.setJob(getJob()); + res.setDrawElfEar(isDrawElfEar()); + res.setDemonSlayerDefFaceAcc(getDemonSlayerDefFaceAcc()); + res.setXenonDefFaceAcc(getXenonDefFaceAcc()); + res.setBeastTamerDefFaceAcc(getBeastTamerDefFaceAcc()); + res.setZeroBetaLook(isZeroBetaLook()); + res.setMixedHairColor(getMixedHairColor()); + res.setMixHairPercent(getMixHairPercent()); + List resTotems = new ArrayList<>(getTotems()); + res.setTotems(resTotems); + res.setEars(getEars()); + res.setTail(getTail()); + return res; + } + + public int getGender() { + return gender; + } + + public void setGender(int gender) { + this.gender = gender; + } + public int getSkin() { + return skin; + } + + public void setSkin(int skin) { + this.skin = skin; + } + + public int getFace() { + return face; + } + + public void setFace(int face) { + this.face = face; + } + + public int getWeaponStickerId() { + return weaponStickerId; + } + + public void setWeaponStickerId(int weaponStickerId) { + this.weaponStickerId = weaponStickerId; + } + + public int getWeaponId() { + return weaponId; + } + + public void setWeaponId(int weaponId) { + this.weaponId = weaponId; + } + + public int getSubWeaponId() { + return subWeaponId; + } + + public void setSubWeaponId(int subWeaponId) { + this.subWeaponId = subWeaponId; + } + + public Map getHairEquips() { + return hairEquips; + } + + public void setHairEquips(Map hairEquips) { + this.hairEquips = hairEquips; + } + + public Map getUnseenEquips() { + return unseenEquips; + } + + public void setUnseenEquips(Map unseenEquips) { + this.unseenEquips = unseenEquips; + } + + public List getPetIDs() { + return petIDs; + } + + public void setPetIDs(List petIDs) { + this.petIDs = petIDs; + } + + public int getJob() { + return job; + } + + public void setJob(int job) { + this.job = job; + } + + public boolean isDrawElfEar() { + return drawElfEar; + } + + public void setDrawElfEar(boolean drawElfEar) { + this.drawElfEar = drawElfEar; + } + + public int getDemonSlayerDefFaceAcc() { + return demonSlayerDefFaceAcc; + } + + public void setDemonSlayerDefFaceAcc(int demonSlayerDefFaceAcc) { + this.demonSlayerDefFaceAcc = demonSlayerDefFaceAcc; + } + + public int getXenonDefFaceAcc() { + return xenonDefFaceAcc; + } + + public void setXenonDefFaceAcc(int xenonDefFaceAcc) { + this.xenonDefFaceAcc = xenonDefFaceAcc; + } + + public int getBeastTamerDefFaceAcc() { + return beastTamerDefFaceAcc; + } + + public void setBeastTamerDefFaceAcc(int beastTamerDefFaceAcc) { + this.beastTamerDefFaceAcc = beastTamerDefFaceAcc; + } + + public boolean isZeroBetaLook() { + return isZeroBetaLook; + } + + public void setZeroBetaLook(boolean zeroBetaLook) { + isZeroBetaLook = zeroBetaLook; + } + + public int getMixedHairColor() { + return mixedHairColor; + } + + public void setMixedHairColor(int mixedHairColor) { + this.mixedHairColor = mixedHairColor; + } + + public int getMixHairPercent() { + return mixHairPercent; + } + + public void setMixHairPercent(int mixHairPercent) { + this.mixHairPercent = mixHairPercent; + } + + + public void encode(OutPacket outPacket) { + outPacket.encodeByte(getGender()); + outPacket.encodeByte(getSkin()); + outPacket.encodeInt(getFace()); + outPacket.encodeInt(getJob()); + outPacket.encodeByte(0); // ignored + outPacket.encodeInt(getHair()); + + for (Map.Entry entry : getHairEquips().entrySet()) { + outPacket.encodeByte(entry.getKey()); + outPacket.encodeInt(entry.getValue()); + } + + + outPacket.encodeByte(-1); + for (Map.Entry entry : getUnseenEquips().entrySet()) { + outPacket.encodeByte(entry.getKey()); + outPacket.encodeInt(entry.getValue()); + } + outPacket.encodeByte(-1); + // v199 - new item loop, ignores bodypart restrictions + for (int itemId : new int[]{}) { + outPacket.encodeByte(ItemConstants.getBodyPartFromItem(itemId, getGender())); + outPacket.encodeInt(itemId); + } + outPacket.encodeByte(-1); + for (int itemId : getTotems()) { + outPacket.encodeByte(ItemConstants.getBodyPartFromItem(itemId, getGender())); + outPacket.encodeInt(itemId); + } + outPacket.encodeByte(-1); + + outPacket.encodeInt(getWeaponStickerId()); + outPacket.encodeInt(getWeaponId()); + outPacket.encodeInt(getSubWeaponId()); + outPacket.encodeInt(0); // new 199 + outPacket.encodeByte(isDrawElfEar()); + + for (int i = 0; i < 3; i++) { + if (getPetIDs().size() > i) { + outPacket.encodeInt(getPetIDs().get(i)); // always 3 + } else { + outPacket.encodeInt(0); + } + } + if (JobConstants.isDemon((short) getJob())) { + outPacket.encodeInt(getDemonSlayerDefFaceAcc()); + } + if (JobConstants.isArk((short) getJob())) { + outPacket.encodeInt(0); // face acc? + } + if (JobConstants.isXenon((short) getJob())) { + outPacket.encodeInt(getXenonDefFaceAcc()); + } + if (JobConstants.isZero((short) getJob())) { + outPacket.encodeByte(isZeroBetaLook()); + } + if (JobConstants.isBeastTamer((short) getJob())) { + boolean hasEars = getEars() > 0; + boolean hasTail = getTail() > 0; + outPacket.encodeInt(getBeastTamerDefFaceAcc()); + outPacket.encodeByte(hasEars); + outPacket.encodeInt(getEars()); + outPacket.encodeByte(hasTail); + outPacket.encodeInt(getTail()); + } + outPacket.encodeByte(getMixedHairColor()); + outPacket.encodeByte(getMixHairPercent()); + } + + public void encodePackedCharacterLook(OutPacket outPacket, Char chr) { + // flawlessy typed over + // and let's call it loop unrolling + int[] hairEquips = new int[11]; + for (int i = 0; i < hairEquips.length; i++) { + Item item = chr.getEquippedInventory().getItemBySlot(i); + if (item != null) { + hairEquips[i] = item.getItemId(); + } else { + hairEquips[i] = -1; + } + } + byte[] data = new byte[24]; + int weaponID = getWeaponStickerId() != 0 ? getWeaponStickerId() : getWeaponId(); + WeaponType weaponType = ItemConstants.getWeaponType(weaponID); + int wt = weaponType == null ? 0 : weaponType.getVal(); + int faceAcc = 0; + if (getDemonSlayerDefFaceAcc() != 0) { + faceAcc = getDemonSlayerDefFaceAcc(); + } else if (getXenonDefFaceAcc() != 0) { + faceAcc = getXenonDefFaceAcc(); + } else if (getBeastTamerDefFaceAcc() != 0) { + faceAcc = getBeastTamerDefFaceAcc(); + } + data[0] |= getGender() & 1; + data[0] |= (getSkin() & 0xF) << 1; + data[0] |= ((getFace() % 1000) & 0x3FF) << 5; + data[1] |= (getFace() / 1000 % 10 & 7) << 7; + data[2] |= (getFace() / 10000 == 4 ? 1 : 0) << 2; + data[2] |= ((getFace() % 1000) & 0x3FF) << 3; + data[3] |= (getFace() / 1000 % 10 & 0xF) << 5; + data[4] |= ((hairEquips[1] % 1000) & 0x3FF) << 1; + data[5] |= (hairEquips[1] / 1000 % 10 & 7) << 3; + data[5] |= ((hairEquips[2] % 1000) & 0x3FF) << 6; + data[7] |= faceAcc / 1000 % 10 & 3; + data[7] |= (hairEquips[3] % 1000) & 0x3FF; + data[8] |= (hairEquips[3] / 1000 % 10 & 3) << 4; + data[8] |= ((hairEquips[4] % 1000) & 0x3FF) << 6; + data[10] |= hairEquips[4] / 1000 % 10 & 3; + data[10] |= (hairEquips[5] / 10000 == 105 ? 1 : 0) << 2; + data[10] |= ((hairEquips[5] % 1000) & 0x3FF) << 3; + data[11] |= ((hairEquips[5] / 1000 % 10) & 0xF) << 5; + data[12] |= ((hairEquips[6] % 1000) & 0x3FF) << 1; + data[13] |= (hairEquips[6] / 1000 % 10 & 3) << 3; + data[13] |= ((hairEquips[7] % 1000) & 0x3FF) << 5; + data[14] |= (hairEquips[7] / 1000 % 10 & 3) << 7; + data[15] |= ((hairEquips[8] % 1000) & 0x3FF) << 1; + data[16] |= (hairEquips[8] / 1000 % 10 & 3) << 3; + data[16] |= ((hairEquips[9] % 1000) & 0x3FF) << 5; + data[17] |= (hairEquips[9] / 1000 % 10 & 3) << 7; + int val = hairEquips[10]; + if (val / 10000 == 109) { + val = 1; + } else { + val = (val / 10000 != 134 ? 1 : 0) + 2; + } + data[18] |= (val & 3) << 1; + data[19] |= ((hairEquips[10] % 1000) & 0x3FF) << 3; + data[19] |= (hairEquips[10] / 1000 % 10 & 0xF) << 5; + data[20] |= getWeaponStickerId() / 100000 == 17 ? 2 : 0; + data[20] |= ((weaponID % 1000) & 0x3FF) << 2; + data[21] |= (weaponID / 1000 % 10 & 3) << 4; + data[21] |= (wt & 0x1F) << 6; + data[22] |= (isDrawElfEar() ? 1 : 0) << 3; + for (int i = 0; i < 3; i++) { + for (int j = 7; j >= 0; j--) { + // basically encoding 3 sequential longs in little endian + outPacket.encodeByte(data[j + i * 8]); + } + } + } + + public void decode(InPacket inPacket) { + setGender(inPacket.decodeByte()); + setSkin(inPacket.decodeByte()); + setFace(inPacket.decodeInt()); + setJob(inPacket.decodeInt()); + inPacket.decodeByte(); // ignored + setHair(inPacket.decodeInt()); + + while (inPacket.decodeByte() != -1) { // Body Part + int itemId = inPacket.decodeInt(); + + } + while (inPacket.decodeByte() != -1) { // Body Part + int itemId = inPacket.decodeInt(); + + } + while (inPacket.decodeByte() != -1) { // Body Part + int itemId = inPacket.decodeInt(); + // add + } + while (inPacket.decodeByte() != -1) { // Body Part + int itemId = inPacket.decodeInt(); + getTotems().add(itemId); + } + + setWeaponStickerId(inPacket.decodeInt()); + setWeaponId(inPacket.decodeInt()); + setSubWeaponId(inPacket.decodeInt()); + inPacket.decodeInt(); // new 199 + setDrawElfEar(inPacket.decodeByte() != 0); + + for (int i = 0; i < 3; i++) { + int petId = inPacket.decodeInt(); + //getPetIDs().add(petId); + } + if (JobConstants.isDemon((short) getJob())) { + setDemonSlayerDefFaceAcc(inPacket.decodeInt()); + } + if (JobConstants.isArk((short) getJob())) { + inPacket.decodeInt(); // face acc? + } + if (JobConstants.isXenon((short) getJob())) { + setXenonDefFaceAcc(inPacket.decodeInt()); + } + if (JobConstants.isZero((short) getJob())) { + setZeroBetaLook(inPacket.decodeByte() != 0); + } + if (JobConstants.isBeastTamer((short) getJob())) { + setBeastTamerDefFaceAcc(inPacket.decodeInt()); + inPacket.decodeByte(); // has Ears + setEars(inPacket.decodeInt()); + inPacket.decodeByte(); // has Tail + setTail(inPacket.decodeInt()); + } + setMixedHairColor(inPacket.decodeByte()); + setMixHairPercent(inPacket.decodeByte()); + } + + public int getHair() { + return hair; + } + + public void setHair(int hair) { + this.hair = hair; + } + + public List getTotems() { + return totems; + } + + public int getEars() { + return ears; + } + + public void setEars(int ears) { + this.ears = ears; + } + + public int getTail() { + return tail; + } + + public void setTail(short tail) { + this.tail = tail; + } + + public void setTotems(List totems) { + this.totems = totems; + } + + public void setTail(int tail) { + this.tail = tail; + } + + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public int getDemonWingID() { + return demonWingID; + } + + public void setDemonWingID(int demonWingID) { + this.demonWingID = demonWingID; + } + + public int getKaiserWingID() { + return kaiserWingID; + } + + public void setKaiserWingID(int kaiserWingID) { + this.kaiserWingID = kaiserWingID; + } + + public int getKaiserTailID() { + return kaiserTailID; + } + + public void setKaiserTailID(int kaiserTailID) { + this.kaiserTailID = kaiserTailID; + } + + public void removeItem(byte bodyPart, int itemID, int overrideId, boolean cash) { + if (!ItemConstants.isTotem(itemID)) { + Map hairEquips = getHairEquips(); + Map unseenEquips = getUnseenEquips(); + if (ItemConstants.isWeapon(itemID) && bodyPart % 100 == BodyPart.Weapon.getVal()) { + if (cash) { + setWeaponStickerId(0); + //unseenEquips.remove((byte) (bodyPart - 100)); + } else { + setWeaponId(0); + hairEquips.remove(bodyPart); + } + } else if (cash) { + hairEquips.remove((byte) (bodyPart - 100)); + if (overrideId >= 0) { + unseenEquips.remove((byte) (bodyPart - 100)); + hairEquips.put((byte) (bodyPart - 100), overrideId); + } + } else { + if (overrideId >= 0) { + unseenEquips.remove(bodyPart); + } else { + hairEquips.remove(bodyPart); + } + if (bodyPart == BodyPart.Shield.getVal()) { + setSubWeaponId(0); + } + } + } else { + if (ItemConstants.isTotem(itemID)) { + unseenEquips.remove(bodyPart); + } + } + } +} \ No newline at end of file diff --git a/src/main/java/net/swordie/ms/client/character/avatar/BeautyAlbum.java b/src/main/java/net/swordie/ms/client/character/avatar/BeautyAlbum.java new file mode 100755 index 0000000..520163b --- /dev/null +++ b/src/main/java/net/swordie/ms/client/character/avatar/BeautyAlbum.java @@ -0,0 +1,63 @@ +package net.swordie.ms.client.character.avatar; + + +import net.swordie.ms.connection.OutPacket; + +import javax.persistence.*; + + +/** + * Created on 26/9/2020. + */ + +@Entity +@Table(name = "beautyalbuminventory") +public class BeautyAlbum { + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private long id; + + private int styleid; + private int slotid; + + public BeautyAlbum() { + this.styleid = 0; + } + + public BeautyAlbum(int slotid) { + this.styleid = 0; + this.slotid = slotid; + } + + public BeautyAlbum(int styleid, int slotid) { + this.styleid = styleid; + this.slotid = slotid; + } + + public void encode(OutPacket outPacket) { + + int styleid = getSlotID(); + outPacket.encodeInt(styleid); + if (styleid / 10000 < 40000) { + outPacket.encodeByte(-1); + outPacket.encodeByte(0); + outPacket.encodeByte(0); + } + + } + + public long getID() { return id; } + + public void setID(long id) { this.id = id; } + + public int getStyleID() { return styleid; } + + public void setStyleID(int styleid) { this.styleid = styleid; } + + public int getSlotID() { return slotid; } + + public void setSlotID( int slotid) { this.slotid = slotid; } + + +} \ No newline at end of file diff --git a/src/main/java/net/swordie/ms/client/character/b2body/B2Body.java b/src/main/java/net/swordie/ms/client/character/b2body/B2Body.java new file mode 100755 index 0000000..d288d37 --- /dev/null +++ b/src/main/java/net/swordie/ms/client/character/b2body/B2Body.java @@ -0,0 +1,143 @@ +package net.swordie.ms.client.character.b2body; + +import net.swordie.ms.client.character.Char; +import net.swordie.ms.util.Position; + +/** + * Created on 11-1-2019. + * + * @author Asura + */ +public class B2Body { + + private Char chr; + private int bodyId; + private byte type; + private Position position; + private short nRadius, fRadius, scale; + private int skillId; + private int slv; + private int duration; + private int maxSpeedX; + private int maxSpeedY; + private byte unk1; + private short unk2, unk3; + + public B2Body(Char chr, int bodyId, int skillId, int slv, int maxSpeedX, int maxSpeedY) { + this.chr = chr; + this.bodyId = bodyId; + this.skillId = skillId; + this.slv = slv; + this.maxSpeedX = maxSpeedX; + this.maxSpeedY = maxSpeedY; + } + + public B2Body(Char chr, int bodyId, byte type, Position position, short nRadius, short fRadius, short scale, int skillId, int slv, int duration) { + this.chr = chr; + this.bodyId = bodyId; + this.type = type; + this.position = position; + this.nRadius = nRadius; + this.fRadius = fRadius; + this.scale = scale; + this.skillId = skillId; + this.slv = slv; + this.duration = duration; + } + + public Char getChr() { + return chr; + } + + public void setChr(Char chr) { + this.chr = chr; + } + + public int getBodyId() { + return bodyId; + } + + public void setBodyId(int bodyId) { + this.bodyId = bodyId; + } + + public byte getType() { + return type; + } + + public void setType(byte type) { + this.type = type; + } + + public Position getPosition() { + return position; + } + + public void setPosition(Position position) { + this.position = position; + } + + public short getnRadius() { + return nRadius; + } + + public void setnRadius(short nRadius) { + this.nRadius = nRadius; + } + + public short getfRadius() { + return fRadius; + } + + public void setfRadius(short fRadius) { + this.fRadius = fRadius; + } + + public short getScale() { + return scale; + } + + public void setScale(short scale) { + this.scale = scale; + } + + public int getSkillId() { + return skillId; + } + + public void setSkillId(int skillId) { + this.skillId = skillId; + } + + public int getSlv() { + return slv; + } + + public void setSlv(int slv) { + this.slv = slv; + } + + public int getDuration() { + return duration; + } + + public void setDuration(int duration) { + this.duration = duration; + } + + public int getMaxSpeedX() { + return maxSpeedX; + } + + public void setMaxSpeedX(int maxSpeedX) { + this.maxSpeedX = maxSpeedX; + } + + public int getMaxSpeedY() { + return maxSpeedY; + } + + public void setMaxSpeedY(int maxSpeedY) { + this.maxSpeedY = maxSpeedY; + } +} diff --git a/src/main/java/net/swordie/ms/client/character/cards/CharacterCard.java b/src/main/java/net/swordie/ms/client/character/cards/CharacterCard.java new file mode 100755 index 0000000..cce1a39 --- /dev/null +++ b/src/main/java/net/swordie/ms/client/character/cards/CharacterCard.java @@ -0,0 +1,67 @@ +package net.swordie.ms.client.character.cards; + +import net.swordie.ms.connection.OutPacket; + +import javax.persistence.*; + +/** + * Created on 2/18/2017. + */ +@Entity +@Table(name = "charactercards") +public class CharacterCard { + @Id @GeneratedValue(strategy = GenerationType.IDENTITY) + private int id; + private int characterId; + private int job; + private byte level; + + public CharacterCard(){} + + public CharacterCard(int characterId, int job, byte level) { + this.characterId = characterId; + this.job = job; + this.level = level; + } + + public int getCharacterId() { + return getId(); + } + + public void setCharacterId(int characterId) { + this.characterId = characterId; + } + + public int getJob() { + return job; + } + + public void setJob(int job) { + this.job = job; + } + + public byte getLevel() { + return level; + } + + public void setLevel(byte level) { + this.level = level; + } + + public void encode(OutPacket outPacket) { + //CHARACTERCARD::Decode + for(int i = 0; i < 9; i++) { + outPacket.encodeInt(getCharacterId()); + outPacket.encodeByte(getLevel()); + outPacket.encodeInt(getJob()); + } + } + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } +} diff --git a/src/main/java/net/swordie/ms/client/character/cards/MonsterBookInfo.java b/src/main/java/net/swordie/ms/client/character/cards/MonsterBookInfo.java new file mode 100755 index 0000000..34bac15 --- /dev/null +++ b/src/main/java/net/swordie/ms/client/character/cards/MonsterBookInfo.java @@ -0,0 +1,70 @@ +package net.swordie.ms.client.character.cards; + +import net.swordie.ms.constants.ItemConstants; + +import javax.persistence.*; +import java.util.HashSet; +import java.util.Set; + +/** + * Created on 5/3/2018. + */ +@Entity +@Table(name = "monsterbookinfos") +public class MonsterBookInfo { + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private int id; + @ElementCollection + @CollectionTable(name = "monsterbookcards", joinColumns = @JoinColumn(name = "bookID")) + @Column(name = "cardID") + private Set cards = new HashSet<>(); + private int setID; + private int coverID; + + public MonsterBookInfo() { + setID = -1; + coverID = -1; + } + + public Set getCards() { + return cards; + } + + public void setCards(Set cards) { + this.cards = cards; + } + + public int getSetID() { + return setID; + } + + public void setSetID(int setID) { + this.setID = setID; + } + + public int getCoverID() { + return coverID; + } + + public void setCoverID(int coverID) { + this.coverID = coverID; + } + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public boolean hasCard(int cardID) { + return getCards().contains(cardID % ItemConstants.MOB_CARD_BASE_ID); + } + + public void addCard(int itemID) { + getCards().add(itemID % ItemConstants.MOB_CARD_BASE_ID); + } +} diff --git a/src/main/java/net/swordie/ms/client/character/commands/AdminCommand.java b/src/main/java/net/swordie/ms/client/character/commands/AdminCommand.java new file mode 100755 index 0000000..b5ba4b5 --- /dev/null +++ b/src/main/java/net/swordie/ms/client/character/commands/AdminCommand.java @@ -0,0 +1,16 @@ +package net.swordie.ms.client.character.commands; + +/** + * Created on 12/22/2017. + */ +public abstract class AdminCommand implements ICommand { + + public AdminCommand() { + } + + private static char prefix = '!'; + + public static char getPrefix() { + return prefix; + } +} diff --git a/src/main/java/net/swordie/ms/client/character/commands/AdminCommands.java b/src/main/java/net/swordie/ms/client/character/commands/AdminCommands.java new file mode 100755 index 0000000..7170bf1 --- /dev/null +++ b/src/main/java/net/swordie/ms/client/character/commands/AdminCommands.java @@ -0,0 +1,3452 @@ +package net.swordie.ms.client.character.commands; + +import net.swordie.ms.Server; +import net.swordie.ms.client.User; +import net.swordie.ms.client.character.BroadcastMsg; +import net.swordie.ms.client.character.Char; +import net.swordie.ms.client.character.CharacterStat; +import net.swordie.ms.client.character.avatar.AvatarData; +import net.swordie.ms.client.character.items.*; +import net.swordie.ms.client.character.quest.Quest; +import net.swordie.ms.client.character.quest.QuestManager; +import net.swordie.ms.client.character.skills.ForceAtom; +import net.swordie.ms.client.character.skills.Option; +import net.swordie.ms.client.character.skills.Skill; +import net.swordie.ms.client.character.skills.StolenSkill; +import net.swordie.ms.client.character.skills.info.ForceAtomInfo; +import net.swordie.ms.client.character.skills.info.SkillInfo; +import net.swordie.ms.client.character.skills.temp.CharacterTemporaryStat; +import net.swordie.ms.client.character.skills.temp.TemporaryStatBase; +import net.swordie.ms.client.character.skills.temp.TemporaryStatManager; +import net.swordie.ms.client.guild.Guild; +import net.swordie.ms.client.guild.GuildMember; +import net.swordie.ms.client.jobs.nova.Kaiser; +import net.swordie.ms.client.party.Party; +import net.swordie.ms.client.party.PartyResult; +import net.swordie.ms.connection.OutPacket; +import net.swordie.ms.connection.db.DatabaseManager; +import net.swordie.ms.connection.packet.*; +import net.swordie.ms.constants.*; +import net.swordie.ms.constants.JobConstants.JobEnum; +import net.swordie.ms.enums.*; +import net.swordie.ms.handlers.header.OutHeader; +import net.swordie.ms.life.AffectedArea; +import net.swordie.ms.life.Life; +import net.swordie.ms.life.drop.Drop; +import net.swordie.ms.life.mob.ForcedMobStat; +import net.swordie.ms.life.mob.Mob; +import net.swordie.ms.life.mob.MobStat; +import net.swordie.ms.life.mob.MobTemporaryStat; +import net.swordie.ms.life.npc.Npc; +import net.swordie.ms.loaders.*; +import net.swordie.ms.loaders.containerclasses.ItemSet; +import net.swordie.ms.loaders.containerclasses.SkillStringInfo; +import net.swordie.ms.scripts.ScriptManagerImpl; +import net.swordie.ms.scripts.ScriptType; +import net.swordie.ms.util.*; +import net.swordie.ms.world.Channel; +import net.swordie.ms.world.World; +import net.swordie.ms.world.field.Field; +import net.swordie.ms.world.field.Foothold; +import net.swordie.ms.world.field.Portal; +import org.apache.log4j.LogManager; +import org.hibernate.Session; +import org.hibernate.Transaction; +import org.hibernate.query.Query; + +import java.text.DecimalFormat; +import java.text.NumberFormat; +import java.time.LocalDateTime; +import java.util.*; +import java.util.stream.Collectors; + +import static net.swordie.ms.client.character.skills.temp.CharacterTemporaryStat.NotDamaged; +import static net.swordie.ms.client.character.skills.temp.CharacterTemporaryStat.RideVehicle; + +import static net.swordie.ms.enums.AccountType.*; +import static net.swordie.ms.enums.ChatType.*; +import static net.swordie.ms.enums.InventoryOperation.Add; + +/** + * Created on 12/22/2017. + */ +public class AdminCommands { + static final org.apache.log4j.Logger log = LogManager.getRootLogger(); + + @Command(names = {"help"}, description = "Displays all commands available to you.", requiredType = Player) + public static class Help extends AdminCommand { + public static void execute(Char chr, String[] args) { + for (Class clazz : AdminCommands.class.getClasses()) { + Command cmd = (Command) clazz.getAnnotation(Command.class); + if (chr.getUser().getAccountType().ordinal() >= cmd.requiredType().ordinal()) { + StringBuilder str = new StringBuilder(String.format("[%s] ", cmd.requiredType())); + String[] names = cmd.names(); + for (int i = 0; i < names.length; i++) { + String cmdName = names[i]; + str.append(cmdName); + if (i != names.length - 1) { + str.append(", "); + } + } + if (!cmd.description().isEmpty()) { + String description = cmd.description(); + str.append(": " + description); + } + + chr.chatMessage(Expedition, str.toString()); + } + } + } + } + + @Command(names = {"warphere"}, requiredType = Tester) + public static class WarpHere extends AdminCommand { + public static void execute(Char chr, String[] args) { + Char victim = chr.getWorld().getCharByName((args[1])); + if (victim != null) { + victim.changeChannelAndWarp(chr.getClient().getChannelInstance().getChannelId(), chr.getFieldID()); + } else { + chr.chatMessage(Notice2, "Player not found, make sure you typed the correct name (Case Sensitive)."); + } + } + } + + @Command(names = {"rotatecamera"}, description = "Rotates your camera to given angle.", requiredType = Tester) + public static class RotateCamera extends AdminCommand { + public static void execute(Char chr, String[] args) { + + int degree = Integer.parseInt(args[1]); + chr.getField().broadcastPacket(UserLocal.rotateCamera(degree, 1800)); + // chr.getField().broadcastPacket(UserLocal.rotateCamera(40 , 800)); + // chr.getField().broadcastPacket(UserLocal.rotateCamera(40 , 400)); + // chr.getField().broadcastPacket(UserLocal.rotateCamera(20 , 800)); + } + } + + + @Command(names = {"packet"}, requiredType = Admin) + public static class TestPacket extends AdminCommand { + + public static void execute(Char chr, String[] args) { + if (args.length < 4) { + chr.chatMessage("Usage: !packet "); + return; + } + OutPacket outPacket = new OutPacket(Short.parseShort(args[1])); + outPacket.encodeByte(Integer.parseInt(args[2])); + outPacket.encodeInt(Integer.parseInt(args[3])); + outPacket.encodeByte(Integer.parseInt(args[4])); + + chr.write(outPacket); + + /* + if (args.length < 3) { + chr.chatMessage("Usage: !packet "); + return; + } + OutPacket outPacket = new OutPacket(Short.parseShort(args[1])); + StringBuilder data = new StringBuilder(); + for (int i = 2; i < args.length; i++) { + data.append(" ").append(args[i]); + } + outPacket.encodeArr(data.toString()); + chr.write(outPacket); + */ + } + } + + + @Command(names = {"usects", "cts"}, requiredType = Tester) + public static class CtsCom extends AdminCommand { + + public static void execute(Char chr, String[] args) { + Option o = new Option(); + o.nOption = Integer.parseInt(args[2]); + o.rOption = 2111011; + o.tOption = 5; + + CharacterTemporaryStat cts = CharacterTemporaryStat.getByBitPos(Integer.parseInt(args[1])); +// CharacterTemporaryStat cts = CharacterTemporaryStat.MagnetArea; + if (cts == null) { + chr.chatMessage("Could not find cts with bitpos " + args[1]); + return; + } + TemporaryStatManager tsm = chr.getTemporaryStatManager(); + tsm.putCharacterStatValue(cts, o); + tsm.sendSetStatPacket(); + System.out.println(String.format("CTS %s = %s", args[1], cts)); + } + } + + @Command(names = {"fifthjob", "V"}, requiredType = Tester) + public static class V extends AdminCommand { + public static void execute(Char chr, String[] args) { + chr.getQuestManager().completeQuest(QuestConstants.FIFTH_JOB_QUEST); + } + } + + @Command(names = {"showinvinfo", "invinfo"}, requiredType = Tester) + public static class ShowInvInfo extends AdminCommand { + + public static void execute(Char chr, String[] args) { + + chr.chatMessage(WorldName, "------------------------------------------------------------"); + for (InvType invType : InvType.values()) { + chr.chatMessage(WorldName, invType.toString()); + for (Item item : chr.getInventoryByType(invType).getItems()) { + item.setInvType(invType); + String name = StringData.getItemStringById(item.getItemId()); + chr.chatMessage(WorldName, String.format("%s, %d, %d, %d, %s", name, item.getItemId(), item.getId(), + item.getBagIndex(), item.getInvType().toString())); + } + } + } + } + + @Command(names = {"equipinfo"}, requiredType = Tester) + public static class EquipInfo extends AdminCommand { + + public static void execute(Char chr, String[] args) { + Map activeSetEffects = chr.getActiveSetEffects(); + + for (Map.Entry sets : activeSetEffects.entrySet()) { + ItemSet set = ItemData.getItemSetById(sets.getKey()); + + chr.chatMessage("%d - %s: - equippedCount: %d\n", set.getId(), set.getName(), sets.getValue()); + + for (Integer i = 1; i <= sets.getValue(); i++) { + if (!set.getEffects().containsKey(i)) continue; + Map effects = set.getEffects().get(i); + + for (Map.Entry stat : effects.entrySet()) { + boolean additive = !stat.getKey().isNonAdditiveStat(); + chr.chatMessage("stat: %s, value: %f additive: %b\n", stat.getKey(), stat.getValue(), additive); + } + } + } + } + } + + @Command(names = {"testcts"}, requiredType = Admin) + public static class TestCTS extends AdminCommand { + + public static void execute(Char chr, String[] args) { + +// WildHunterInfo wi = new WildHunterInfo(); +// wi.setIdx((byte) 1); +// wi.setRidingType((byte) 1); +// chr.write(WvsContext.wildHunterInfo(wi)); +// new TemporaryStatManager(null).encodeForLocal(null); + CharacterTemporaryStat cts = Arrays.stream(CharacterTemporaryStat.values()).filter(ctsa -> ctsa.getVal() == Integer.parseInt(args[1])) + .findFirst().orElse(null); + if (cts == null) { + chr.chatMessage("Could not find a cts with value " + args[1]); + } +// CharacterTemporaryStat cts2 = CharacterTemporaryStat.Speed; +// + OutPacket outPacket = new OutPacket(OutHeader.TEMPORARY_STAT_SET); + +// tsm.encodeForLocal(outPacket); + // Start encodeForLocal + int[] mask = new int[CharacterTemporaryStat.length]; + mask[cts.getPos()] |= cts.getVal(); + for (int i = 0; i < mask.length; i++) { + outPacket.encodeInt(mask[i]); + } + log.debug("[Out]\t| " + outPacket); + + outPacket.encodeShort(1); // n //Short / Int + outPacket.encodeInt(Kaiser.FINAL_TRANCE); // r + outPacket.encodeInt(30000); // t + + //outPacket.encodeInt(0); + + short size = 0; + outPacket.encodeShort(0); + for (int i = 0; i < size; i++) { + outPacket.encodeInt(0); // nKey + outPacket.encodeByte(0); // bEnable + } + outPacket.encodeByte(0); // defenseAtt + outPacket.encodeByte(0); // defenseState + outPacket.encodeByte(0); // pvpDamage + outPacket.encodeInt(0); // viperCharge + // Start TSTS encode +// outPacket.encodeArr(new byte[Integer.parseInt(args[2])]); +// outPacket.encodeInt(1); +// outPacket.encodeInt(80001001); +// outPacket.encodeByte(1); +// outPacket.encodeByte(0); +// outPacket.encodeArr(new byte[Integer.parseInt(args[1])]); +// outPacket.encodeShort(1); + // End TSTS encode + // End encodeForLocal + outPacket.encodeInt(0); // indie? + outPacket.encodeShort(0); // invalid value => "Failed to use the skill for an unknown reason" + outPacket.encodeByte(0); + outPacket.encodeByte(0); + outPacket.encodeByte(0); + outPacket.encodeByte(0); // movement enhancing +// outPacket.encodeArr(new byte[Integer.parseInt(args[1])]); + chr.write(outPacket); + + + } + } + + @Command(names = {"checkid", "getid", "charid"}, requiredType = Tester) + public static class CheckId extends AdminCommand { + public static void execute(Char chr, String[] args) { + chr.chatMessage(SpeakerChannel, "your charID = " + chr.getId() + " \r\nYour userID = " + chr.getUserId()); + } + } + + @Command(names = {"testaa", "aa"}, requiredType = Tester) + public static class TestAffectedArea extends AdminCommand { + public static void execute(Char chr, String[] args) { + if (args.length < 4) { + chr.chatMessage("Usage: !aa "); + return; + } + int skillId = Integer.parseInt(args[1]); + int slv = Integer.parseInt(args[2]); + int delay = Integer.parseInt(args[3]); + AffectedArea aa = new AffectedArea(0); + aa.setSkillID(skillId); + aa.setSlv(slv); + aa.setRect(chr.getPosition().getRectAround(new Rect(-70, -170, 70, 10))); + aa.setDuration(10); + aa.setFh(chr.getFoothold()); + aa.setDelay((short) delay); + chr.getField().spawnLife(aa, null); + } + } + + @Command(names = {"getphantomstolenskills"}, requiredType = Tester) + public static class GetPhantomStolenSkills extends AdminCommand { + + public static void execute(Char chr, String[] args) { + chr.getStolenSkills().stream().sorted(Comparator.comparing(StolenSkill::getPosition)) + .forEach(ss -> + chr.chatMessage(GroupFriend, "[StolenSkills] Skill ID: " + ss.getSkillid() + " on Position: " + ss.getPosition() + " with Current level: " + ss.getCurrentlv())); + } + } + + @Command(names = {"stealskilllist"}, requiredType = Tester) + public static class StealSkillList extends AdminCommand { + + public static void execute(Char chr, String[] args) { + Set skillSet = new HashSet<>(); + + //Warriors + int[] skillIds = new int[]{ + //Hero + 1101006, //Rage + 1101011, //Brandish + 1101012, //Combo Fury + 1101013, //Combo Attack + + 1111014, //Shout + 1111012, //Rush + 1111010, //Intrepid Slash + 1111008, //Shout + + 1121008, //Raging Blow + 1121016, //Magic Crash(Hero) + + 1121054, //Cry Valhalla + + //Paladin + 1201011, //Flame Charge + 1201012, //Blizzard Charge + 1201013, //Close Combat + + 1211013, //Threaten + 1211014, //Parashock Guard + 1211012, //Rush + 1211011, //Combat order + 1211010, //HP Recovery + 1211008, //Lightning Charge + + 1221016, //Guardian + 1221014, //Magic Crash(Paladin) + 1221011, //Heaven's Hammer + 1221009, //Blast + + 1221054, //Sacrosanctity + + //Dark Knight + 1301007, //Hyper body + 1301006, //Iron will + 1301012, //Spear Sweep + 1301013, //Evil Eye + + 1311015, //Cross Surge + 1311011, //La Mancha Spear, + 1311012, //Rush + + 1321012, //Dark Impale + 1321013, //Gungnir's Descent + 1321014, //Magic Crash(Dark Knight) + + 1321054, //Dark Thirst + + + 2001002, //Magic Guard + //Mage FP + 2101010, //Ignite + 2101005, //Poison breath + 2101004, //Flame Orb + 2101001, //Meditation(FP) + + 2111002, //Explosion + 2111003, //Poison mist + + 2121011, //Flame Haze + 2121007, //Meteor Shower + 2121006, //Paralyze + + 2121054, //Inferno Aura + + //MageIL + 2201008, //Cold Beam + 2201005, //Thunder Bolt + 2201001, //Meditation(IL) + + 2211010, //Glacier Chain + + 2221007, //Blizzard + 2221012, //Frozen Orb + 2221006, //Chain Lightning + + 2221054, //Absolute Zero Aura + + //Bishop + 2301004, //Bless + 2301005, //Holy Arrow + 2301002, //Heal + + 2311001, //Dispel + 2311003, //Holy Symbol + 2311004, //Shining Ray + 2311011, //Holy Fountain + 2311009, //Holy Magic Shell + + 2321008, //Genesis + 2321007, //Angel Ray + 2321006, //Resurrection + 2321005, //Adv Blessing + + 2321054, //Righteously Indignant + + + //Bowmaster + 3101008, //Covering Fire + 3101005, //Arrowbomb + + 3111011, //Reckless Hunt: Bow + 3111010, //Hookshot + 3111003, //Flame Surge + 3111013, //Arrow Blaster + + 3121004, //Hurricane + 3121015, //Arrow Stream + 3121002, //Sharp Eyes + 3121014, //Blinding Shot + + 3121054, //Concentration + + //Marksman + 3201008, //Net Toss + + 3211008, //Dragon Breath + 3211009, //Explosive Bolt + 3211010, //Hookshot + 3211011, //Pain Killer + 3211012, //Reckless Hunt: XBow + + 3221007, //Snipe + 3221006, //Illusion Step + 3221002, //Sharp Eyes + 3221001, //Piercing Arrow + + 3221054, //BullsEye Shot + + + 4001003, //Dark Sight + 4001005, //Haste + //Night Lord + 4101011, //Sin Mark + 4101010, //Gust Charm + 4101008, //Shuriken Burst + + 4111013, //Shade Splitter + 4111015, //Shade Splitter + 4111010, //Triple Throw + 4111003, //Shadow Web + + 4121017, //Showdown + 4121016, //Sudden Raid (NL) + 4121015, //Frailty Curse + 4121013, //Quad Star + + 4121054, //Bleed Dart + + //Shadower + 4201012, //Svg Blow + 4201011, //Meso Guard + 4201004, //Steal + + 4211011, //Midnight Carnival + 4211006, //Meso Explosion + 4211002, //Phase Dash + + 4221014, //Assassinate + 4221010, //Sudden Raid(Shad) + 4221007, //Bstep + 4221006, //Smoke screen + + 4221054, //Flip of the Coin + + //Dual Blade + 4301003, //Self Haste + + 4311003, //Slash Storm + 4311002, //Fatal Blow + + 4321006, //Flying Assaulter + 4321004, //Upper Stab + 4321002, //FlashBang + + 4331011, //Blade Ascension + 4331006, //Chains of Hell + + 4341011, //Sudden Raid (DB) + 4341009, //Phantom Blow + 4341004, //Blade Fury + 4341002, //Final Cut + + 4341054, //Blade Clone + + + 5001005, //Dash + //Bucc + 5101004, //Corkscrew Blow + + 5111007, //Roll of the Dice + 5111006, //Shock wave + 5111009, //Spiral Assault + 5111015, //Static Thumper + 5111012, //Static Thumper + + 5121013, //Nautilus Strike + 5121010, //Time Leap + 5121009, //Speed Infusion + 5121020, //octopunch + 5121015, //Crossbones + + 5121054, //Stimulating Conversation + + //Corsair + 5201012, //Scurvy Summons + 5201011, //Wings + 5201006, //Recoil Shot + 5201001, //Rapid blast + + 5211007, //Roll of the Dice + 5211011, //All Aboard + 5211009, //Cross cut Blast + 5211010, //Blackboot bill + 5211014, //Octo Cannon + + 5221018, //Jolly Roger + 5221015, //Parrotargetting + 5221016, //Brain scrambler + 5221013, //Nautilus Strike + 5221017, //Eigh-legs Easton + 5221022, //Broadside + + 5221054, //Whaler's potion + + //Cannon Master + 5011001, //Cannon Strike + + 5301003, //Monkey Magic + 5301001, //Barrel Bomb + 5301000, //Scatter Shot + + 5311004, //Barrel Roulette + 5311003, //Cannon Jump + 5311005, //Luck of the Die + 5311010, //Monkey Fury + 5311002, //Monkey Wave + 5311000, //Cannon Spike + + 5321012, //Cannon Barrage + 5321010, //Pirate Spirit + 5321004, //Monkey Militia + 5321003, //Anchor Aweigh + 5321001, //Nautilus Strike + 5321000, //Cannon Bazooka + + 5321054, //BuckShot + }; + + for (int skillId : skillIds) { + Skill skill = SkillData.getSkillDeepCopyById(skillId); + if (skill == null) { + continue; + } + skillSet.add(skill); + } + + chr.write(UserLocal.resultStealSkillList(skillSet, 4, 1, 2412)); + } + } + + @Command(names = {"np", "nearestportal"}, requiredType = Tester) + public static class NearestPortal extends AdminCommand { + public static void execute(Char chr, String[] args) { + Rect rect = new Rect( + new Position( + chr.getPosition().deepCopy().getX() - 30, + chr.getPosition().deepCopy().getY() - 30), + new Position( + chr.getPosition().deepCopy().getX() + 30, + chr.getPosition().deepCopy().getY() + 30) + ); + chr.chatMessage(Normal, "~~~~~~~~~~"); + chr.chatMessage(SpeakerChannel, "Current Map: " + NumberFormat.getNumberInstance(Locale.US).format(chr.getFieldID())); + chr.chatMessage(SpeakerChannel, "Current ReturnMap: " + NumberFormat.getNumberInstance(Locale.US).format(chr.getField().getReturnMap())); + chr.chatMessage(SpeakerChannel, ""); + for (Portal portal : chr.getField().getClosestPortal(rect)) { + chr.chatMessage(SpeakerChannel, "Portal Name: " + portal.getName()); + chr.chatMessage(SpeakerChannel, "Portal ID: " + NumberFormat.getNumberInstance(Locale.US).format(portal.getId())); + chr.chatMessage(SpeakerChannel, "Portal target map: " + NumberFormat.getNumberInstance(Locale.US).format(portal.getTargetMapId())); + chr.chatMessage(SpeakerChannel, "Portal script: " + portal.getScript()); + chr.chatMessage(SpeakerChannel, "."); + } + chr.chatMessage(Normal, "~~~~~~~~~~"); + } + } + + @Command(names = {"stats"}, requiredType = Tester) + public static class Stats extends AdminCommand { + public static void execute(Char chr, String[] args) { + int strength = chr.getStat(Stat.str); + int dexterity = chr.getStat(Stat.dex); + int intellect = chr.getStat(Stat.inte); + int luck = chr.getStat(Stat.luk); + int hp = chr.getStat(Stat.hp); + int mhp = chr.getStat(Stat.mhp); + int mp = chr.getStat(Stat.mp); + int mmp = chr.getStat(Stat.mmp); + double hpratio = (((double) hp) / mhp) * 100; + double mpratio = (((double) mp) / mmp) * 100; + DecimalFormat formatNumbers = new DecimalFormat("##.00"); + NumberFormat addDeci = NumberFormat.getNumberInstance(Locale.US); + chr.chatMessage(Notice2, "STR: " + addDeci.format(strength) + " DEX: " + addDeci.format(dexterity) + " INT: " + addDeci.format(intellect) + " LUK: " + addDeci.format(luck)); + chr.chatMessage(Notice2, "HP: " + addDeci.format(hp) + " / " + addDeci.format(mhp) + " (" + formatNumbers.format(hpratio) + "%) MP: " + addDeci.format(mp) + " / " + addDeci.format(mmp) + " (" + formatNumbers.format(mpratio) + "%)"); + } + } + + @Command(names = {"spawn"}, requiredType = Tester) + public static class Spawn extends AdminCommand { + public static void execute(Char chr, String[] args) { + if (args.length < 2) { + chr.chatMessage("Usage: !spawn ( )."); + return; + } + int id = Integer.parseInt(args[1]); + int count = 1; + if (args.length > 2) { + count = Integer.parseInt(args[2]); + if (count > 100) { + count = 100; + chr.chatMessage("You put the amount of mobs to spawn above 100, capping it to 100."); + } + } + long hp = 0; + if (args.length > 3) { + hp = Long.parseLong(args[3]); + } + for (int i = 0; i < count; i++) { + Mob mob = MobData.getMobDeepCopyById(id); + if (mob == null) { + chr.chatMessage("Could not find a mob with that ID."); + return; + } + Field field = chr.getField(); + Position pos = chr.getPosition(); + Foothold fh = field.getFootholdById(chr.getFoothold()); + mob.setCurFoodhold(fh); + mob.setHomeFoothold(fh); + mob.setPosition(pos.deepCopy()); + mob.setPrevPos(pos.deepCopy()); + mob.setPosition(pos.deepCopy()); + if (hp > 0) { + mob.setMaxHp(hp); + mob.setHp(hp); + } + mob.setNotRespawnable(true); + if (mob.getField() == null) { + mob.setField(field); + } + field.spawnLife(mob, null); + } + } + } + + @Command(names = {"npc", "spawnnpc"}, requiredType = GameMaster) + public static class NPC extends AdminCommand { + public static void execute(Char chr, String[] args) { + int id = Integer.parseInt(args[1]); + Npc npc = NpcData.getNpcDeepCopyById(id); + if (npc == null) { + chr.chatMessage("Could not find an npc with that ID."); + return; + } + Field field = chr.getField(); + Position pos = chr.getPosition(); + npc.setPosition(pos.deepCopy()); + npc.setCy(chr.getPosition().getY()); + npc.setRx0(chr.getPosition().getX() + 50); + npc.setRx1(chr.getPosition().getX() - 50); + npc.setFh(chr.getFoothold()); + npc.setNotRespawnable(true); + if (npc.getField() == null) { + npc.setField(field); + } + field.spawnLife(npc, null); + log.debug("npc has id " + npc.getObjectId()); + } + } + + @Command(names = {"drop"}, requiredType = Tester) + public static class DropItem extends AdminCommand { + public static void execute(Char chr, String[] args) { + final int itemId = Integer.parseInt(args[1]); + chr.dropItem(itemId, chr.getPosition().getX(), chr.getPosition().getY()); + } + } + + + @Command(names = {"dropmany"}, requiredType = Tester) + public static class DropItemMany extends AdminCommand { + public static void execute(Char chr, String[] args) { + final int itemId = Integer.parseInt(args[1]); + final int count = Integer.parseInt(args[2]); + chr.dropItemMany(itemId, count, chr.getPosition().getX(), chr.getPosition().getY()); + } + } + + @Command(names = {"testdrop", "droptest"}, requiredType = Tester) + public static class TestDrop extends AdminCommand { + public static void execute(Char chr, String[] args) { + int id = Integer.parseInt(args[1]); + int count = 1; + if (args.length > 2) { + count = Integer.parseInt(args[2]); + } + for (int i = 0; i < count; i++) { + Mob mob = MobData.getMobDeepCopyById(id); + if (mob == null) { + chr.chatMessage("Could not find a mob with that ID."); + return; + } + Field field = chr.getField(); + Position pos = chr.getPosition(); + mob.setPosition(pos.deepCopy()); + mob.setPrevPos(pos.deepCopy()); + mob.setPosition(pos.deepCopy()); + mob.getForcedMobStat().setMaxMP(3); + mob.setMaxHp(3); + mob.setHp(3); + mob.setNotRespawnable(true); + if (mob.getField() == null) { + mob.setField(field); + } + mob.addDamage(chr, 1); // for drop/meso% + mob.dropDrops(); + } + } + } + + @Command(names = {"proitem"}, requiredType = Tester) + public static class ProItem extends AdminCommand { + public static void execute(Char chr, String[] args) { + if (args.length < 5) { + chr.chatMessage(Notice2, "Needs more args! "); + return; + } + int id = Integer.parseInt(args[1]); + int stat = Integer.parseInt(args[2]); + int atk = Integer.parseInt(args[3]); + int flames = Integer.parseInt(args[4]); + Equip equip = ItemData.getEquipDeepCopyFromID(id, false, chr.getJob()); + equip.setBaseStat(EquipBaseStat.iStr, stat); + equip.setBaseStat(EquipBaseStat.iDex, stat); + equip.setBaseStat(EquipBaseStat.iInt, stat); + equip.setBaseStat(EquipBaseStat.iLuk, stat); + equip.setBaseStat(EquipBaseStat.iMaxHP, stat); + equip.setBaseStat(EquipBaseStat.iMaxMP, stat); + equip.setBaseStat(EquipBaseStat.iDEF, stat); + equip.setBaseStat(EquipBaseStat.iPAD, atk); + equip.setBaseStat(EquipBaseStat.iMAD, atk); + equip.setBaseStat(EquipBaseStat.bdr, flames); + equip.setBaseStat(EquipBaseStat.imdr, flames); + equip.setBaseStat(EquipBaseStat.damR, flames); + equip.setBaseStat(EquipBaseStat.statR, flames); + + chr.addItemToInventory(InvType.EQUIP, equip, false); + chr.getClient().write(WvsContext.inventoryOperation(true, false, + Add, (short) equip.getBagIndex(), (byte) 1, + 0, equip)); + + } + } + + @Command(names = {"hide"}, requiredType = Tester) + public static class Hide extends AdminCommand { + + public static void execute(Char chr, String[] args) { + chr.setHide(args.length < 2 ? !chr.isHide() + : Util.isNumber(args[1]) ? Integer.parseInt(args[1]) != 0 : Boolean.parseBoolean(args[1])); + } + } + + @Command(names = {"setpotential", "setpot"}, requiredType = Tester) + public static class SetPotential extends AdminCommand { + + public static void execute(Char chr, String[] args) { + + if (args.length < 5) { + chr.chatMessage("Usage: !setpot "); + return; + } + int invPosition = Integer.parseInt(args[1]); + Equip equip = (Equip) chr.getInventoryByType(InvType.EQUIP).getItemBySlot(invPosition); + if (equip == null) { + chr.chatMessage("There is no equip on this position."); + return; + } + equip.setOptionBase(0, Integer.parseInt(args[2])); + equip.setOptionBase(1, Integer.parseInt(args[3])); + equip.setOptionBase(2, Integer.parseInt(args[4])); + equip.updateToChar(chr); + } + } + + @Command(names = {"setbonuspotential", "setbpotential", "setbpot"}, requiredType = Tester) + public static class SetBonusPotential extends AdminCommand { + + public static void execute(Char chr, String[] args) { + + if (args.length < 5) { + chr.chatMessage("Usage: !setbpot "); + return; + } + int invPosition = Integer.parseInt(args[1]); + Equip equip = (Equip) chr.getInventoryByType(InvType.EQUIP).getItemBySlot(invPosition); + if (equip == null) { + chr.chatMessage("There is no equip on this position."); + return; + } + equip.setOptionBonus(0, Integer.parseInt(args[2])); + equip.setOptionBonus(1, Integer.parseInt(args[3])); + equip.setOptionBonus(2, Integer.parseInt(args[4])); + equip.updateToChar(chr); + } + } + + @Command(names = {"setflames", "flames"}, requiredType = Tester) + public static class SetFlames extends AdminCommand { + + public static void execute(Char chr, String[] args) { + if (args.length < 7) { + chr.chatMessage("Usage: !flames "); + return; + } + int invPosition = Integer.parseInt(args[1]); + Equip equip = (Equip) chr.getInventoryByType(InvType.EQUIP).getItemBySlot(invPosition); + if (equip == null) { + chr.chatMessage("There is no equip on this position."); + return; + } + int stat = Integer.parseInt(args[2]); + int att = Integer.parseInt(args[3]); + int as = Integer.parseInt(args[4]); + int td = Integer.parseInt(args[5]); + int bd = Integer.parseInt(args[6]); + + equip.setfSTR(stat); + equip.setfDEX(stat); + equip.setfINT(stat); + equip.setfLUK(stat); + equip.setfHP(stat); + equip.setfMP(stat); + equip.setfDEF(stat); + equip.setfSpeed(stat); + equip.setfJump(stat); + + equip.setfATT(att); + equip.setfMATT(att); + + equip.setfAllStat(as); + equip.setfDamage(td); + equip.setfBoss(bd); + equip.updateToChar(chr); + } + } + + @Command(names = {"setflame", "flame"}, requiredType = Tester) + public static class SetFlame extends AdminCommand { + + public static void execute(Char chr, String[] args) { + if (args.length < 4) { + chr.chatMessage("Usage: !flame "); + chr.chatMessage("Example: !flame 1 str 40"); + return; + } + int invPosition = Integer.parseInt(args[1]); + Equip equip = (Equip) chr.getInventoryByType(InvType.EQUIP).getItemBySlot(invPosition); + if (equip == null) { + chr.chatMessage("There is no equip on this position."); + return; + } + String flame = args[2].toLowerCase(); + short value = Short.parseShort(args[3]); + switch (flame) { + case "str": + equip.setfSTR(value); + break; + case "dex": + equip.setfDEX(value); + break; + case "int": + equip.setfINT(value); + break; + case "luk": + equip.setfLUK(value); + break; + case "att": + case "atk": + equip.setfATT(value); + break; + case "matt": + case "matk": + equip.setfMATT(value); + break; + case "def": + equip.setfDEF(value); + break; + case "hp": + equip.setfHP(value); + break; + case "mp": + equip.setfMP(value); + break; + case "speed": + equip.setfSpeed(value); + break; + case "jump": + equip.setfJump(value); + break; + case "allstat": + case "as": + equip.setfAllStat(value); + break; + case "boss": + case "bdmg": + case "bdr": + equip.setfBoss(value); + break; + case "dmg": + case "damage": + equip.setfDamage(value); + break; + case "level": + case "lvl": + case "lv": + equip.setfLevel(value); + break; + case "reset": + equip.resetFlameStats(); + break; + default: + chr.chatMessage("Unknown Flame Type"); + return; + } + equip.updateToChar(chr); + } + } + + @Command(names = {"setbaseflame", "bflame"}, requiredType = Tester) + public static class SetBaseFlame extends AdminCommand { + + public static void execute(Char chr, String[] args) { + if (args.length < 4) { + chr.chatMessage("Usage: !flame "); + chr.chatMessage("Example: !flame 1 str 7"); + return; + } + int invPosition = Integer.parseInt(args[1]); + Equip equip = (Equip) chr.getInventoryByType(InvType.EQUIP).getItemBySlot(invPosition); + if (equip == null) { + chr.chatMessage("There is no equip on this position."); + return; + } + + equip.resetFlameStats(); + + int statCount = Math.min((args.length - 2) / 2, 4); + for (int pos=0; pos < statCount; pos++) { + String flame = args[2 + pos * 2].toLowerCase(); + for (int other=0; other < pos; other++) { + if (flame.equals(args[2 + other * 2].toLowerCase())) { + chr.chatMessage("Cannot have duplicate flame types"); + return; + } + } + short tier = Short.parseShort(args[3 + pos * 2]); + switch (flame) { + case "str": + equip.setFlameStat(pos, FlameStat.STR, tier); + break; + case "dex": + equip.setFlameStat(pos, FlameStat.DEX, tier); + break; + case "int": + equip.setFlameStat(pos, FlameStat.INT, tier); + break; + case "luk": + equip.setFlameStat(pos, FlameStat.LUK, tier); + break; + case "strdex": + equip.setFlameStat(pos, FlameStat.STRDEX, tier); + break; + case "strint": + equip.setFlameStat(pos, FlameStat.STRINT, tier); + break; + case "strluk": + equip.setFlameStat(pos, FlameStat.STRLUK, tier); + break; + case "dexint": + equip.setFlameStat(pos, FlameStat.DEXINT, tier); + break; + case "dexluk": + equip.setFlameStat(pos, FlameStat.DEXLUK, tier); + break; + case "intluk": + equip.setFlameStat(pos, FlameStat.INTLUK, tier); + break; + case "att": + case "atk": + equip.setFlameStat(pos, FlameStat.Attack, tier); + break; + case "matt": + case "matk": + equip.setFlameStat(pos, FlameStat.MagicAttack, tier); + break; + case "def": + equip.setFlameStat(pos, FlameStat.Defense, tier); + break; + case "hp": + equip.setFlameStat(pos, FlameStat.MaxHP, tier); + break; + case "mp": + equip.setFlameStat(pos, FlameStat.MaxMP, tier); + break; + case "speed": + equip.setFlameStat(pos, FlameStat.Speed, tier); + break; + case "jump": + equip.setFlameStat(pos, FlameStat.Jump, tier); + break; + case "allstat": + case "as": + equip.setFlameStat(pos, FlameStat.AllStats, tier); + break; + case "boss": + case "bdmg": + case "bdr": + equip.setFlameStat(pos, FlameStat.BossDamage, tier); + break; + case "dmg": + case "damage": + equip.setFlameStat(pos, FlameStat.Damage, tier); + break; + case "level": + case "lvl": + case "lv": + equip.setFlameStat(pos, FlameStat.LevelReduction, tier); + break; + default: + chr.chatMessage("Unknown Flame Type"); + return; + } + } + equip.updateToChar(chr); + } + } + + @Command(names = {"item"}, requiredType = Tester) + public static class GetItem extends AdminCommand { + + public static void execute(Char chr, String[] args) { + if (Util.isNumber(args[1])) { + + int id = Integer.parseInt(args[1]); + Equip equip = ItemData.getEquipDeepCopyFromID(id, true); + if (equip == null) { + Item item = ItemData.getItemDeepCopy(id, true); + if (item == null) { + chr.chatMessage(WorldName, String.format("Could not find an item with id %d", id)); + return; + } + short quant = 1; + if (args.length > 2) { + quant = Short.parseShort(args[2]); + } + item.setQuantity(quant); + chr.addItemToInventory(item); + } else { + chr.addItemToInventory(InvType.EQUIP, equip, false); + } + } else { + StringBuilder query = new StringBuilder(); + int size = args.length; + short quant = 1; + if (Util.isNumber(args[size - 1])) { + size--; + quant = Short.parseShort(args[size]); + } + for (int i = 1; i < size; i++) { + query.append(args[i].toLowerCase()).append(" "); + } + query = new StringBuilder(query.substring(0, query.length() - 1)); + Map map = StringData.getItemStringByName(query.toString()); + if (map.size() == 0) { + chr.chatMessage(WorldName, "No items found for query " + query); + } + for (Map.Entry entry : map.entrySet()) { + int id = entry.getKey(); + Item item = ItemData.getEquipDeepCopyFromID(id, true); + if (item != null) { + Equip equip = (Equip) item; + if (equip.getItemId() < 1000000) { + continue; + } + chr.addItemToInventory(equip); + chr.getClient().write(WvsContext.inventoryOperation(true, false, + Add, (short) equip.getBagIndex(), (byte) -1, 0, equip)); + return; + } + item = ItemData.getItemDeepCopy(id); + if (item == null) { + continue; + } + item.setQuantity(quant); + chr.addItemToInventory(item); + chr.getClient().write(WvsContext.inventoryOperation(true, false, + Add, (short) item.getBagIndex(), (byte) -1, 0, item)); + return; + } + } + } + } + + @Command(names = {"done"}, requiredType = Tester) + public static class Done extends AdminCommand { + + public static void execute(Char chr, String[] args) { + int num = 1000; + int hp = 250000; + int lv = 235; + chr.setStatAndSendPacket(Stat.hp, hp); + chr.setStatAndSendPacket(Stat.mhp, hp); + chr.setStatAndSendPacket(Stat.mp, hp); + chr.setStatAndSendPacket(Stat.mmp, hp); + chr.setStatAndSendPacket(Stat.str, (short) num); + chr.setStatAndSendPacket(Stat.dex, (short) num); + chr.setStatAndSendPacket(Stat.inte, (short) num); + chr.setStatAndSendPacket(Stat.luk, (short) num); + chr.setStatAndSendPacket(Stat.level, lv); + } + } + + @Command(names = {"hypertp"}, requiredType = Tester) + public static class HyperTP extends AdminCommand { + + public static void execute(Char chr, String[] args) { + int hyperTP = 5040004; + Item hyperTP2 = ItemData.getItemDeepCopy(hyperTP); + chr.addItemToInventory(hyperTP2.getInvType(), hyperTP2, false); + chr.getClient().write(WvsContext.inventoryOperation(true, false, + Add, (short) hyperTP2.getBagIndex(), (byte) -1, 0, hyperTP2)); + } + } + + @Command(names = {"job", "setjob"}, requiredType = Tester) + public static class Job extends AdminCommand { + + public static void execute(Char chr, String[] args) { + short id = Short.parseShort(args[1]); + JobEnum job = JobEnum.getJobById(id); + if (job != null) { + chr.setJob(id); + Map stats = new HashMap<>(); + stats.put(Stat.job, id); + chr.getClient().write(WvsContext.statChanged(stats)); + } else { + chr.chatMessage("Unknown job id " + id); + } + } + } + + @Command(names = {"sp", "setsp"}, requiredType = Tester) + public static class Sp extends AdminCommand { + + public static void execute(Char chr, String[] args) { + int num = Integer.parseInt(args[1]); + if (num >= 0) { + chr.setSpToCurrentJob(num); + Map stats = new HashMap<>(); + stats.put(Stat.sp, chr.getAvatarData().getCharacterStat().getExtendSP()); + chr.getClient().write(WvsContext.statChanged(stats)); + } + } + } + + @Command(names = {"ap", "setap"}, requiredType = Tester) + public static class Ap extends AdminCommand { + + public static void execute(Char chr, String[] args) { + int num = Integer.parseInt(args[1]); + if (num >= 0) { + chr.setStatAndSendPacket(Stat.ap, (short) num); + } + } + } + + /** + * Sets the max HP and heals. + */ + @Command(names = {"maxhp", "setmaxhp"}, requiredType = Tester) + public static class Hp extends AdminCommand { + + public static void execute(Char chr, String[] args) { + int num = Integer.parseInt(args[1]); + if (num >= 0) { + chr.setStatAndSendPacket(Stat.hp, num); + chr.setStatAndSendPacket(Stat.mhp, num); + } + } + } + + /** + * Sets the max MP and heals. + */ + @Command(names = {"maxmp", "setmaxmp"}, requiredType = Tester) + public static class Mp extends AdminCommand { + + public static void execute(Char chr, String[] args) { + int num = Integer.parseInt(args[1]); + if (num >= 0) { + chr.setStatAndSendPacket(Stat.mp, num); + chr.setStatAndSendPacket(Stat.mmp, num); + } + } + } + + /** + * Sets the max HP and heals. + */ + @Command(names = {"currenthp", "setcurrenthp"}, requiredType = Tester) + public static class SetCurrentHp extends AdminCommand { + + public static void execute(Char chr, String[] args) { + int num = Integer.parseInt(args[1]); + if (num >= 0) { + chr.setStatAndSendPacket(Stat.hp, num); + } + } + } + + /** + * Sets the max MP and heals. + */ + @Command(names = {"currentmp", "setcurrentmp"}, requiredType = Tester) + public static class SetCurrentMp extends AdminCommand { + + public static void execute(Char chr, String[] args) { + int num = Integer.parseInt(args[1]); + if (num >= 0) { + chr.setStatAndSendPacket(Stat.mp, num); + } + } + } + + @Command(names = {"setstat"}, requiredType = Tester) + public static class SetStat extends AdminCommand { + + public static void execute(Char chr, String[] args) { + if (args.length == 3) { + String statName = args[1].toLowerCase(); + int amount = Integer.parseInt(args[2]); + if (statName.equalsIgnoreCase("str") + || statName.equalsIgnoreCase("dex") + || statName.equalsIgnoreCase("inte") + || statName.equalsIgnoreCase("luk")) { + Stat stat = Stat.valueOf(statName); + chr.setStatAndSendPacket(stat, (short) amount); + return; + } + } + chr.chatMessage("setstat "); + } + } + + @Command(names = {"level", "setlevel", "lvl", "lv"}, requiredType = Tester) + public static class Level extends AdminCommand { + + public static void execute(Char chr, String[] args) { + int num = Integer.parseInt(args[1]); + if (num >= 0) { + chr.setStatAndSendPacket(Stat.level, num); + chr.setStatAndSendPacket(Stat.exp, 0); + chr.getJobHandler().handleLevelUp(); + chr.getField().broadcastPacket(UserRemote.effect(chr.getId(), Effect.levelUpEffect())); + } + } + } + + @Command(names = {"leveluntil", "levelupuntil", "leveltill", "leveluptill"}, requiredType = Tester) + public static class LevelUntil extends AdminCommand { + public static void execute(Char chr, String[] args) { + int num = Integer.parseInt(args[1]); + int level = chr.getLevel(); + if (num > 275) { + chr.chatMessage("You can't be above lvl 275"); + chr.dispose(); + return; + } + while (level < num) { + level++; + chr.setStat(Stat.level, level); + Map stats = new HashMap<>(); + stats.put(Stat.level, level); + stats.put(Stat.exp, (long) 0); + chr.getClient().write(WvsContext.statChanged(stats)); + chr.getJobHandler().handleLevelUp(); + chr.getField().broadcastPacket(UserRemote.effect(chr.getId(), Effect.levelUpEffect())); + } + } + } + + + @Command(names = {"heal"}, requiredType = Tester) + public static class Heal extends AdminCommand { + + public static void execute(Char chr, String[] args) { + int hp = chr.getMaxHP(); + if (args.length > 1) { + hp = Integer.parseInt(args[1]); + } + chr.heal(hp); + chr.healMP(chr.getMaxMP()); + } + } + + @Command(names = {"gethp"}, requiredType = Tester) + public static class CurrentHp extends AdminCommand { + + public static void execute(Char chr, String[] args) { + String result = String.format("CurrentHP: %d, MaxHP: %d", chr.getHP(), chr.getMaxHP()); + chr.chatMessage(result); + } + } + + @Command(names = {"getmp"}, requiredType = Tester) + public static class CurrentMp extends AdminCommand { + + public static void execute(Char chr, String[] args) { + String result = String.format("CurrentMP: %d, MaxMP: %d", chr.getMP(), chr.getMaxMP()); + chr.chatMessage(result); + } + } + + @Command(names = {"invincible", "god", "godmode"}, description = "Toggles invincibility.", requiredType = Tester) + public static class Godmode extends AdminCommand { + + public static void execute(Char chr, String[] args) { + TemporaryStatManager tsm = chr.getTemporaryStatManager(); + chr.setInvincible(!chr.isInvincible()); + chr.chatMessage("Invincibility: " + chr.isInvincible()); + if (chr.isInvincible()) { + Option o = new Option(); + o.nOption = 3; + tsm.putCharacterStatValue(NotDamaged, o); + } else { + tsm.removeStat(NotDamaged, true); + } + tsm.sendSetStatPacket(); + } + } + + @Command(names = {"morph"}, requiredType = Tester) + public static class Morph extends AdminCommand { + public static void execute(Char chr, String[] args) { + int morphID = Integer.parseInt(args[1]); + if (args.length < 2) { + chr.chatMessage(Notice2, "Needs more args! "); + } + TemporaryStatManager tsm = chr.getTemporaryStatManager(); + Option o1 = new Option(); + o1.nOption = morphID; + o1.rOption = Kaiser.FINAL_TRANCE; + tsm.putCharacterStatValue(CharacterTemporaryStat.Morph, o1); + tsm.sendSetStatPacket(); + } + } + + @Command(names = {"mount"}, requiredType = Tester) + public static class Mount extends AdminCommand { + public static void execute(Char chr, String[] args) { + if (args.length < 2) { + chr.chatMessage(Notice2, "Needs more args! "); + } + int mountID = Integer.parseInt(args[1]); + TemporaryStatManager tsm = chr.getTemporaryStatManager(); + TemporaryStatBase tsb = tsm.getTSBByTSIndex(TSIndex.RideVehicle); + tsb.setNOption(mountID); + tsb.setROption(Kaiser.FINAL_TRANCE); + tsm.putCharacterStatValue(RideVehicle, tsb.getOption()); + tsm.sendSetStatPacket(); + } + } + + @Command(names = {"testtempstat"}, requiredType = Admin) + public static class TestTempStat extends AdminCommand { + public static void execute(Char chr, String[] args) { + List lifes = new ArrayList<>(chr.getField().getLifes().values()); + Life l = lifes.get(lifes.size() - 1); + if (!(l instanceof Mob)) { + return; + } + Mob mob = (Mob) l; + chr.getClient().write(MobPool.statSet(mob, (short) 0)); + } + } + + @Command(names = {"map", "warp"}, requiredType = Tester) + public static class SetMap extends AdminCommand { + public static void execute(Char chr, String[] args) { + if (args.length > 1 && Util.isNumber(args[1])) { + Field toField = chr.getOrCreateFieldByCurrentInstanceType(Integer.parseInt(args[1])); + if (toField != null) { + chr.warp(toField); + } else { + chr.chatMessage(Notice2, "Could not find a field with id " + args[1]); + } + } else { + chr.chatMessage("Please input a number as first argument."); + } + } + } + + @Command(names = {"setportal"}, requiredType = Tester) + public static class SetPortal extends AdminCommand { + public static void execute(Char chr, String[] args) { + int portalID = Integer.parseInt(args[1]); + Portal portal = chr.getField().getPortalByID(portalID); + if (portal == null) { + chr.chatMessage(Notice2, "Portal does not exist."); + return; + } + Position position = new Position(portal.getX(), portal.getY()); + chr.write(FieldPacket.teleport(position, chr)); + } + } + + @Command(names = {"atom"}, requiredType = Admin) + public static class Atom extends AdminCommand { + public static void execute(Char chr, String[] args) { + int charID = chr.getId(); + ForceAtomInfo forceAtomInfo1 = new ForceAtomInfo(142110011, ForceAtomEnum.KINESIS_ORB_REAL.getInc(), 3, 3, 0, 0, Util.getCurrentTime(), 1, + 142110011, new Position()); + ForceAtomInfo forceAtomInfo2 = new ForceAtomInfo(142110011, ForceAtomEnum.KINESIS_ORB_REAL.getInc(), 3, 3, 0, 0, Util.getCurrentTime(), 1, + 142110011, new Position()); + List fais = new ArrayList<>(); + fais.add(forceAtomInfo1); + fais.add(forceAtomInfo2); + + Mob mob = (Mob) chr.getField().getLifes().get(chr.getField().getLifes().size() - 1); + List mobs = new ArrayList<>(); + int mobID = mob.getObjectId(); + mobs.add(mobID); + chr.createForceAtom(new ForceAtom(false, -1, chr.getId(), ForceAtomEnum.KINESIS_ORB_REAL, + true, mobs, 142110011, fais, null, 0, 0, null, 142110011, mob.getPosition(), 0)); + + } + } + + @Command(names = {"getskill"}, requiredType = Tester) + public static class GetSkill extends AdminCommand { + public static void execute(Char chr, String[] args) { + if (args.length < 4) { + chr.chatMessage(Notice2, "Needs more args! "); + return; + } + int id = Integer.parseInt(args[1]); + int cur = Integer.parseInt(args[2]); + int max = Integer.parseInt(args[3]); + chr.addSkill(id, cur, max); + } + } + + @Command(names = {"maxskills"}, requiredType = Tester) + public static class MaxSkills extends AdminCommand { + public static void execute(Char chr, String[] args) { + List list = new ArrayList<>(); + Set jobs = new HashSet<>(); + short job = chr.getJob(); + // giant hack, but it's for a command, so it's k + if (JobConstants.isEvan(job)) { + jobs.add((short) 2000); + jobs.add((short) 2200); + while (job >= 2210) { + jobs.add(job--); + } + } else { + if (job % 100 == 12) { + jobs.add(job); + jobs.add((short) (job - 1)); + jobs.add((short) (job - 2)); + jobs.add((short) (job - 3)); + jobs.add((short) (job - 4)); + jobs.add((short) (job - 5)); + jobs.add((short) (job - 6)); + jobs.add((short) (job - 7)); + jobs.add((short) (job - 8)); + jobs.add((short) (job - 9)); + jobs.add((short) (job - 10)); + jobs.add((short) (job - 11)); + jobs.add((short) (job - 12)); + } else if (job % 100 == 11) { + jobs.add(job); + jobs.add((short) (job - 1)); + jobs.add((short) (job - 2)); + jobs.add((short) (job - 3)); + jobs.add((short) (job - 4)); + jobs.add((short) (job - 5)); + jobs.add((short) (job - 6)); + jobs.add((short) (job - 7)); + jobs.add((short) (job - 8)); + jobs.add((short) (job - 9)); + jobs.add((short) (job - 10)); + jobs.add((short) (job - 11)); + jobs.add((short) (job - 12)); + } else if (job % 100 == 10) { + jobs.add(job); + jobs.add((short) (job - 1)); + jobs.add((short) (job - 2)); + jobs.add((short) (job - 3)); + jobs.add((short) (job - 4)); + jobs.add((short) (job - 5)); + jobs.add((short) (job - 6)); + jobs.add((short) (job - 7)); + jobs.add((short) (job - 8)); + jobs.add((short) (job - 9)); + jobs.add((short) (job - 10)); + jobs.add((short) (job - 11)); + jobs.add((short) (job - 12)); + } else { + jobs.add(job); + } + } + for (short j : jobs) { + for (Skill skill : SkillData.getSkillsByJob(j)) { + byte maxLevel = (byte) skill.getMaxLevel(); + skill.setCurrentLevel(maxLevel); + skill.setMasterLevel(maxLevel); + list.add(skill); + chr.addSkill(skill); + } + if (list.size() > 0) { + chr.getClient().write(WvsContext.changeSkillRecordResult(list, true, false, false, false)); + } + } + } + } + + @Command(names = {"max"}, requiredType = Tester) + public static class maxskills2 extends AdminCommand { + public static void execute(Char chr, String[] args) { + List list = new ArrayList<>(); + for (Skill skill : SkillData.getSkillsByJob(chr.getJob())) { + byte maxLevel = (byte) skill.getMaxLevel(); + skill.setCurrentLevel(maxLevel); + skill.setMasterLevel(maxLevel); + list.add(skill); + chr.addSkill(skill); + chr.getClient().write(WvsContext.changeSkillRecordResult(list, true, false, false, false)); + } + } + } + + @Command(names = {"lookup", "find", "search"}, requiredType = Tester) + public static class Lookup extends AdminCommand { + public static void execute(Char chr, String[] args) { + if (args.length < 3) { + chr.chatMessage(Notice2, "Needs more args! "); + chr.chatMessage(Notice2, "Possible lookup types are: item, skill, mob, npc, map, quest"); + return; + } + StringBuilder query = new StringBuilder(); + for (int i = 2; i < args.length; i++) { + query.append(args[i].toLowerCase()).append(" "); + } + query = new StringBuilder(query.substring(0, query.length() - 1)); + chr.chatMessage("Query: " + query); + boolean isNumber = Util.isNumber(query.toString()); + if ("skill".equalsIgnoreCase(args[1])) { + SkillStringInfo ssi; + int id; + if (isNumber) { + id = Integer.parseInt(query.toString()); + ssi = StringData.getSkillStringById(id); + if (ssi == null) { + chr.chatMessage(WorldName, "Cannot find skill " + id); + return; + } + SkillInfo skillInfo = SkillData.getSkillInfoById(id); + chr.chatMessage(WorldName, "Name: " + ssi.getName()); + chr.chatMessage(WorldName, "Desc: " + ssi.getDesc()); + chr.chatMessage(WorldName, "h: " + ssi.getH()); + chr.chatMessage(WorldName, "type: " + skillInfo.getType()); + } else { + Map map = StringData.getSkillStringByName(query.toString()); + if (map.size() == 0) { + chr.chatMessage(WorldName, "No skills found for query " + query); + } + for (Map.Entry entry : map.entrySet()) { + id = entry.getKey(); + ssi = entry.getValue(); + SkillInfo si = SkillData.getSkillInfoById(id); + if (si != null) { + chr.chatMessage(WorldName, "Id: " + id); + chr.chatMessage(WorldName, "Name: " + ssi.getName()); + chr.chatMessage(WorldName, "Desc: " + ssi.getDesc()); + chr.chatMessage(WorldName, "h: " + ssi.getH()); + chr.chatMessage(WorldName, "type: " + si.getType()); + } + } + } + } else if ("option".equalsIgnoreCase(args[1])) { + List ioList = ItemData.getItemOptionsByName(query.toString()); + for (ItemOption io : ioList) { + int id = io.getId(); + int tier = id / 10000; // 1 = Rare, 2 = Epic, 3 = Unique, 4 = Legendary + ChatType chatType; + String ioString = ""; + if (tier > 0 && tier <= 4) { + boolean bonus = (id % (tier * 10000)) >= 2000; + if (bonus) { + ioString += "[Bonus] "; + } + } + switch (tier) { + case 1: + chatType = Notice2; // Rare + ioString += "(Rare) "; + break; + case 2: + chatType = GroupParty; // Epic + ioString += "(Epic) "; + break; + case 3: + chatType = Notice; // Unique + ioString += "(Unique) "; + break; + case 4: + chatType = Whisper; // Legendary + ioString += "(Legendary) "; + break; + default: + chatType = WorldName; // Other + ioString += "(Other) "; + break; + } + ioString += io.getString(); + chr.chatMessage(chatType, "Id: " + id); + chr.chatMessage(chatType, "Name: " + ioString); + } + } else if ("loption".equalsIgnoreCase(args[1])) { + List ioList = ItemData.getItemOptionsByName(query.toString()); + for (ItemOption io : ioList) { + int id = io.getId(); + int tier = id / 10000; // 1 = Rare, 2 = Epic, 3 = Unique, 4 = Legendary + ChatType chatType; + String ioString = ""; + if (tier > 0 && tier <= 4) { + boolean bonus = (id % (tier * 10000)) >= 2000; + if (bonus) { + ioString += "[Bonus] "; + } + } + if (tier == 4) { + chatType = Whisper; + ioString += io.getString(); + chr.chatMessage(chatType, "Id: " + id); + chr.chatMessage(chatType, "Name: " + ioString); + } + } + } else { + String queryType = args[1].toLowerCase(); + int id; + String name; + if (isNumber) { + id = Integer.parseInt(query.toString()); + switch (queryType) { + case "item": + name = StringData.getItemStringById(id); + break; + case "quest": + name = StringData.getQuestStringById(id); + break; + case "mob": + name = StringData.getMobStringById(id); + break; + case "npc": + name = StringData.getNpcStringById(id); + break; + case "map": + name = StringData.getMapStringById(id); + break; + default: + chr.chatMessage("Unknown query type " + queryType); + return; + } + if (name == null) { + chr.chatMessage(WorldName, "Cannot find " + queryType + " " + id); + return; + } + chr.chatMessage(WorldName, "Name: " + name); + } else { + Map map; + switch (queryType) { + case "equip": + map = StringData.getItemStringByName(query.toString()); + Set nonEquips = new HashSet<>(); + for (int itemId : map.keySet()) { + if (!ItemConstants.isEquip(itemId)) { + nonEquips.add(itemId); + } + } + for (int itemId : nonEquips) { + map.remove(itemId); + } + break; + case "item": + map = StringData.getItemStringByName(query.toString()); + break; + case "quest": + map = StringData.getQuestStringByName(query.toString()); + break; + case "mob": + map = StringData.getMobStringByName(query.toString()); + break; + case "npc": + map = StringData.getNpcStringByName(query.toString()); + break; + case "map": + map = StringData.getMapStringByName(query.toString()); + break; + default: + chr.chatMessage("Unknown query type " + queryType); + return; + } + if (map.size() == 0) { + chr.chatMessage(WorldName, "No " + queryType + "s found for query " + query); + return; + } + TreeMap sortedMap = new TreeMap<>(map); + for (Map.Entry entry : sortedMap.entrySet()) { + id = entry.getKey(); + name = entry.getValue(); + if (queryType.equalsIgnoreCase("item")) { + Item item = ItemData.getEquipDeepCopyFromID(id, false); + if (item == null) { + item = ItemData.getItemDeepCopy(id); + } + if (item == null) { + continue; + } + } + chr.chatMessage(WorldName, "Id: " + id); + chr.chatMessage(WorldName, "Name: " + name); + } + } + } + } + } + + @Command(names = {"getprojectiles", "projectiles"}, requiredType = Tester) + public static class GetProjectiles extends AdminCommand { + public static void execute(Char chr, String[] args) { + int[] projectiles = new int[]{ + 2070000, + 2060000, + 2061000, + 2330000 + }; + for (int projectile : projectiles) { + Item item = ItemData.getItemDeepCopy(projectile); + chr.addItemToInventory(item.getInvType(), item, false); + item.setQuantity(1000); + chr.getClient().write(WvsContext.inventoryOperation(true, false, + Add, (short) item.getBagIndex(), (byte) -1, 0, item)); + } + } + } + + @Command(names = {"mesos", "money"}, requiredType = Tester) + public static class Mesos extends AdminCommand { + public static void execute(Char chr, String[] args) { + long mesos = Long.parseLong(args[1]); + chr.addMoney(mesos); + } + } + + @Command(names = {"nx", "setnx"}, requiredType = Tester) + public static class NxCommand extends AdminCommand { + public static void execute(Char chr, String[] args) { + int nx = Integer.parseInt(args[1]); + chr.addNx(nx); + } + } + + @Command(names = {"maplepoints", "setmaplepoints"}, requiredType = Tester) + public static class maplepoints extends AdminCommand { + public static void execute(Char chr, String[] args) { + int nx = Integer.parseInt(args[1]); + chr.getUser().addMaplePoints(nx); + } + } + + @Command(names = {"dp", "setdp"}, requiredType = Tester) + public static class DpCommand extends AdminCommand { + public static void execute(Char chr, String[] args) { + int dp = Integer.parseInt(args[1]); + User user = chr.getUser(); + user.setDonationPoints(dp); + chr.chatMessage(WhiteOnGreen, "You now have " + dp + " Donation Points :)"); + } + } + + @Command(names = {"vp", "setvp"}, requiredType = Tester) + public static class VpCommand extends AdminCommand { + public static void execute(Char chr, String[] args) { + int vp = Integer.parseInt(args[1]); + User user = chr.getUser(); + user.setVotePoints(vp); + } + } + + @Command(names = {"pop", "setpop"}, requiredType = Tester) + public static class PopCommand extends AdminCommand { + public static void execute(Char chr, String[] args) { + int pop = Integer.parseInt(args[1]); + chr.setStat(Stat.pop, pop); + } + } + + @Command(names = {"goto"}, requiredType = Tester) + public static class GoTo extends AdminCommand { + public static void execute(Char chr, String[] args) { + + HashMap gotomaps = new HashMap<>(); + gotomaps.put("ardent", 910001000); + gotomaps.put("ariant", 260000100); + gotomaps.put("amherst", 1010000); + gotomaps.put("amoria", 680000000); + gotomaps.put("aqua", 860000000); + gotomaps.put("aquaroad", 230000000); + gotomaps.put("boatquay", 541000000); + gotomaps.put("cwk", 610030000); + gotomaps.put("edelstein", 310000000); + gotomaps.put("ellin", 300000000); + gotomaps.put("ellinia", 101000000); + gotomaps.put("ellinel", 101071300); + gotomaps.put("elluel", 101050000); + gotomaps.put("elnath", 211000000); + gotomaps.put("ereve", 130000000); + gotomaps.put("florina", 120000300); + gotomaps.put("fm", 910000000); + gotomaps.put("future", 271000000); + gotomaps.put("gmmap", 180000000); + gotomaps.put("happy", 209000000); + gotomaps.put("harbor", 104000000); + gotomaps.put("henesys", 100000000); + gotomaps.put("herbtown", 251000000); + gotomaps.put("kampung", 551000000); + gotomaps.put("kerning", 103000000); + gotomaps.put("korean", 222000000); + gotomaps.put("leafre", 240000000); + gotomaps.put("ludi", 220000000); + gotomaps.put("malaysia", 550000000); + gotomaps.put("mulung", 250000000); + gotomaps.put("nautilus", 120000000); + gotomaps.put("nlc", 600000000); + gotomaps.put("omega", 221000000); + gotomaps.put("orbis", 200000000); + gotomaps.put("pantheon", 400000000); + gotomaps.put("pinkbean", 270050100); + gotomaps.put("phantom", 610010000); + gotomaps.put("perion", 102000000); + gotomaps.put("rien", 140000000); + gotomaps.put("showatown", 801000000); + gotomaps.put("singapore", 540000000); + gotomaps.put("sixpath", 104020000); + gotomaps.put("sleepywood", 105000000); + gotomaps.put("southperry", 2000000); + gotomaps.put("tot", 270000000); + gotomaps.put("twilight", 273000000); + gotomaps.put("tynerum", 301000000); + gotomaps.put("zipangu", 800000000); + gotomaps.put("pianus", 230040420); + gotomaps.put("horntail", 240060200); + gotomaps.put("chorntail", 240060201); + gotomaps.put("griffey", 240020101); + gotomaps.put("manon", 240020401); + gotomaps.put("zakum", 280030000); + gotomaps.put("czakum", 280030001); + gotomaps.put("pap", 220080001); + gotomaps.put("oxquiz", 109020001); + gotomaps.put("ola", 109030101); + gotomaps.put("fitness", 109040000); + gotomaps.put("snowball", 109060000); + gotomaps.put("boss", 682020000); + gotomaps.put("dojo", 925020001); + gotomaps.put("pq", 910002000); + gotomaps.put("h", 100000000); + gotomaps.put("gollux", 863010000); + gotomaps.put("lotus", 350060300); + gotomaps.put("damien", 105300303); + gotomaps.put("ursus", 970072200); + gotomaps.put("pno", 811000008); + gotomaps.put("cygnus", 271040000); + gotomaps.put("ra", 105200000); + gotomaps.put("goldenbeach", 914200000); + gotomaps.put("ardentmill", 910001000); + gotomaps.put("oz", 992000000); + gotomaps.put("vj", 450001000); + gotomaps.put("chu", 450002000); + gotomaps.put("chuchu", 450002000); + gotomaps.put("lach", 450003000); + gotomaps.put("lachelein", 450003000); + gotomaps.put("arcana", 450005000); + gotomaps.put("morass", 450006130); + gotomaps.put("esfera", 450007000); + gotomaps.put("outpost", 450009000); + gotomaps.put("moonbridge", 450009100); + gotomaps.put("lab", 450011120); + gotomaps.put("labyrinth", 450011120); + gotomaps.put("limina", 450012000); + gotomaps.put("runner", 993001000); + + if (args.length == 1) { + chr.chatMessage(Notice2, "List of locations: " + gotomaps.keySet()); + } else if (gotomaps.containsKey(args[1])) { + Field toField = chr.getClient().getChannelInstance().getField(gotomaps.get(args[1])); + Portal portal = chr.getField().getDefaultPortal(); + chr.warp(toField, portal); + } else if (args[1].equals("locations")) { + chr.chatMessage(Notice2, "Use !goto "); + StringBuilder sb = new StringBuilder(); + for (String s : gotomaps.keySet()) { + sb.append(s).append(", "); + } + chr.chatMessage(Notice2, sb.substring(0, sb.length() - 2)); + } else { + chr.chatMessage(Notice2, "Map does not exist."); + } + } + } + + @Command(names = {"pos"}, requiredType = Tester) + public static class ChrPosition extends AdminCommand { + public static void execute(Char chr, String[] args) { + chr.chatMessage("You are currently @ " + chr.getPosition()); + } + } + + @Command(names = {"savemap"}, requiredType = Tester) + public static class SaveMap extends AdminCommand { + private static final HashMap quickmaps = new HashMap<>(); + + public static void execute(Char chr, String[] args) { + int mapid = chr.getFieldID(); + if (args.length < 1 && !args[1].equalsIgnoreCase("list")) { + chr.chatMessage(BlackOnWhite, "Incorrect Syntax: !SaveMap "); + chr.chatMessage(BlackOnWhite, "To see the list of saved maps, use: !SaveMap list"); + } + if (args[1].equalsIgnoreCase("save")) { + String key = args[2]; + quickmaps.put(key, mapid); + chr.chatMessage(BlackOnWhite, "[SaveMap] Map: " + mapid + " has been saved as key '" + key + "'."); + } else if (args[1].equalsIgnoreCase("go")) { + String key = args[2]; + if (quickmaps.get(key) == null) { + chr.chatMessage(BlackOnWhite, "[SaveMap] There is no map saved as key '" + args[2] + "'."); + return; + } + Field toField = chr.getOrCreateFieldByCurrentInstanceType((quickmaps.get(key))); + Portal portal = chr.getField().getDefaultPortal(); + chr.warp(toField, portal); + } else if (args[1].equalsIgnoreCase("list")) { + Set keys = quickmaps.keySet(); + chr.chatMessage(BlackOnWhite, "[SaveMap] " + quickmaps.size() + " saved maps."); + for (Object maps : keys) { + chr.chatMessage(BlackOnWhite, "[SaveMap] Stored map: " + quickmaps.get(maps) + " as '" + maps + "'."); + } + } else { + chr.chatMessage(BlackOnWhite, "Incorrect Syntax: !SaveMap "); + chr.chatMessage(BlackOnWhite, "To see the list of saved maps, use: !SaveMap list"); + } + } + } + + @Command(names = {"warriorequips"}, requiredType = Tester) + public static class WarriorEquips extends AdminCommand { + public static void execute(Char chr, String[] args) { + int[] warEquips = new int[]{ + 1302000, + 1312000, + 1322000, + 1402000, + 1412000, + 1422000, + 1432000, + 1442000, + 1542000, + 1232000, + 1582000, + 1353400, + 1352500, + }; + for (int warEquip : warEquips) { + Item item = ItemData.getItemDeepCopy(warEquip); + chr.addItemToInventory(item); + } + } + } + + @Command(names = {"mageequips"}, requiredType = Tester) + public static class MageEquips extends AdminCommand { + public static void execute(Char chr, String[] args) { + int[] mageEquips = new int[]{ + 1382000, + 1372000, + 1552000, + 1252000, + 1262000, + 1353200, + }; + for (int mageEquip : mageEquips) { + Item item = ItemData.getItemDeepCopy(mageEquip); + chr.addItemToInventory(item); + } + } + } + + @Command(names = {"archerequips"}, requiredType = Tester) + public static class ArcherEquips extends AdminCommand { + public static void execute(Char chr, String[] args) { + int[] archerEquips = new int[]{ + 1452000, + 1462000, + 1522000, + 1352004, + 1592000, + 1353700, + }; + for (int archerEquip : archerEquips) { + Item item = ItemData.getItemDeepCopy(archerEquip); + chr.addItemToInventory(item); + } + } + } + + @Command(names = {"thiefequips"}, requiredType = Tester) + public static class ThiefEquips extends AdminCommand { + public static void execute(Char chr, String[] args) { + int[] thiefEquips = new int[]{ + 1472000, + 1332000, + 1342000, + 1242000, + 1362000, + 1352100 + }; + for (int thiefEquip : thiefEquips) { + Item item = ItemData.getItemDeepCopy(thiefEquip); + chr.addItemToInventory(item); + } + } + } + + @Command(names = {"pirateequips"}, requiredType = Tester) + public static class PirateEquips extends AdminCommand { + public static void execute(Char chr, String[] args) { + int[] pirateEquips = new int[]{ + 1482000, + 1353100, + 1492000, + 1222000, + 1352600, + 1532000, + 1242000, + }; + for (int pirateEquip : pirateEquips) { + Item item = ItemData.getItemDeepCopy(pirateEquip); + chr.addItemToInventory(item); + } + } + } + + @Command(names = {"clearinv"}, requiredType = Tester) + public static class ClearInv extends AdminCommand { + public static void execute(Char chr, String[] args) { + if (args.length < 2) { + chr.chatMessage(Notice2, "Syntax Error: !ClearInv "); + return; + } + InvType invType = InvType.getInvTypeByString(args[1]); + if (invType == null) { + chr.chatMessage("Please fill in a correct inventory type: equip / use / etc / setup / cash"); + return; + } + short startIndex = Short.parseShort(args[2]); + short endIndex = Short.parseShort(args[3]); + for (int i = startIndex; i < endIndex; i++) { + Item removeItem = chr.getInventoryByType(invType).getItemBySlot(i); + if (removeItem != null) { + chr.consumeItem(removeItem); + } + } + chr.dispose(); + } + } + + @Command(names = {"mobinfo"}, requiredType = Player) + public static class MobInfo extends AdminCommand { + + public static void execute(Char chr, String[] args) { + Rect rect = new Rect( + chr.getPosition().deepCopy().getX() - 200, + chr.getPosition().deepCopy().getY() - 200, + chr.getPosition().deepCopy().getX() + 200, + chr.getPosition().deepCopy().getY() + 200 + ); + Mob mob = chr.getField().getMobs().stream().filter(m -> rect.hasPositionInside(m.getPosition())).findFirst().orElse(null); + Char controller = chr.getField().getLifeToControllers().getOrDefault(mob, null); + if (mob != null) { + chr.chatMessage(SpeakerChannel, String.format("Mob ID: %s | Template ID: %s | Level: %d | HP: %s/%s " + + "| MP: %s/%s | Left: %s | PDR: %s | MDR: %s " + + "| Controller: %s | Exp : %s | NX: %s", + NumberFormat.getNumberInstance(Locale.US).format(mob.getObjectId()), + NumberFormat.getNumberInstance(Locale.US).format(mob.getTemplateId()), + mob.getLevel(), + NumberFormat.getNumberInstance(Locale.US).format(mob.getHp()), + NumberFormat.getNumberInstance(Locale.US).format(mob.getMaxHp()), + NumberFormat.getNumberInstance(Locale.US).format(mob.getMp()), + NumberFormat.getNumberInstance(Locale.US).format(mob.getMaxMp()), + mob.isLeft(), + mob.getPdr(), + mob.getMdr(), + controller == null ? "null" : chr.getName(), + mob.getForcedMobStat().getExp(), + mob.getNxDropAmount() + ) + ); + } else { + chr.chatMessage(SpeakerChannel, "Could not find mob."); + } + } + } + + @Command(names = {"npcinfo"}, requiredType = Player) + public static class NpcInfo extends AdminCommand { + + public static void execute(Char chr, String[] args) { + Rect rect = new Rect( + chr.getPosition().deepCopy().getX() - 200, + chr.getPosition().deepCopy().getY() - 200, + chr.getPosition().deepCopy().getX() + 200, + chr.getPosition().deepCopy().getY() + 200 + ); + Npc npc = chr.getField().getNpcs().stream().filter(m -> rect.hasPositionInside(m.getPosition())).findFirst().orElse(null); + Char controller = chr.getField().getLifeToControllers().getOrDefault(npc, null); + if (npc != null) { + chr.chatMessage(SpeakerChannel, String.format("Npc ID: %s | Template ID: %s | Left: %s | Pos: (%d, %d) " + + "| Controller: %s", + NumberFormat.getNumberInstance(Locale.US).format(npc.getObjectId()), + NumberFormat.getNumberInstance(Locale.US).format(npc.getTemplateId()), + npc.isLeft(), + npc.getPosition().getX(), + npc.getPosition().getY(), + controller == null ? "null" : chr.getName() + ) + ); + } else { + chr.chatMessage(SpeakerChannel, "Could not find mob."); + } + } + } + + @Command(names = {"check", "dispose", "fix"}, requiredType = AccountType.Player) + public static class Dispose extends AdminCommand { + public static void execute(Char chr, String[] args) { + chr.dispose(); + Map basicStats = chr.getTotalBasicStats(); + StringBuilder sb = new StringBuilder(); + List sortedList = Arrays.stream(BaseStat.values()).sorted(Comparator.comparing(Enum::toString)).collect(Collectors.toList()); + chr.chatMessage(Mob, String.format("X=%d, Y=%d, Stats: ", chr.getPosition().getX(), chr.getPosition().getY())); + for (BaseStat bs : sortedList) { + chr.chatMessage(Mob, (String.format("%s = %d, ", bs, basicStats.getOrDefault(bs, 0)))); + } + ScriptManagerImpl smi = chr.getScriptManager(); + // all but field + smi.stop(ScriptType.Portal); + smi.stop(ScriptType.Npc); + smi.stop(ScriptType.Reactor); + smi.stop(ScriptType.Quest); + smi.stop(ScriptType.Item); + } + } + + @Command(names = {"getnpcsinrect", "getnpcs"}, requiredType = Tester) + public static class GetNPCs extends AdminCommand { + + public static void execute(Char chr, String[] args) { + Rect rect = GameConstants.MOB_CHECK_RECT; + + List lifeList = chr.getField().getLifesInRect(chr.getRectAround(rect)); + chr.chatMessage("NPCs around you:"); + for (Life life : lifeList) { + if (life instanceof Npc) { + chr.chatMessage(life.toString()); + } + } + } + } + + @Command(names = {"completequest"}, requiredType = Tester) + public static class CompleteQuest extends AdminCommand { + + public static void execute(Char chr, String[] args) { + chr.getQuestManager().completeQuest(Integer.parseInt(args[1])); + } + } + + @Command(names = {"removequest"}, requiredType = Tester) + public static class RemoveQuest extends AdminCommand { + + public static void execute(Char chr, String[] args) { + chr.getQuestManager().removeQuest(Integer.parseInt(args[1])); + } + } + + @Command(names = {"sethonor", "honor"}, requiredType = Tester) + public static class SetHonor extends AdminCommand { + + public static void execute(Char chr, String[] args) { + if (args.length < 2) { + chr.chatMessage(SpeakerChannel, "Format: !sethonor "); + return; + } + int honor = Integer.parseInt(args[1]); + chr.setHonorExp(honor); + chr.write(WvsContext.characterHonorExp(honor)); + } + } + + @Command(names = {"startquest"}, requiredType = Tester) + public static class StartQuest extends AdminCommand { + + public static void execute(Char chr, String[] args) { + if (args.length < 2) { + chr.chatMessage(SpeakerChannel, "Format: !startquest "); + return; + } + Quest q = QuestData.createQuestFromId(Integer.parseInt(args[1])); + if (q != null) { + chr.getQuestManager().addQuest(q); + } else { + chr.chatMessage("Could not find quest with id " + args[1] + ", but still adding it."); + chr.getScriptManager().startQuestNoCheck(Integer.parseInt(args[1])); + } + } + } + + @Command(names = {"bypassskillcd", "ignoreskillcd", "bypasskillcd", "cd"}, requiredType = Tester) + public static class BypassSkillCD extends AdminCommand { + + public static void execute(Char chr, String[] args) { + chr.setSkillCDBypass(!chr.hasSkillCDBypass()); + if (chr.hasSkillCDBypass()) { + chr.getSkillCoolTimes().keySet().forEach(chr::resetSkillCoolTime); + } + chr.chatMessage(Notice2, "Skill Cooldown bypass: " + chr.hasSkillCDBypass()); + chr.dispose(); + } + } + + @Command(names = {"toggledamagecap"}, requiredType = Tester) + public static class ToggleDamageCap extends AdminCommand { + + public static void execute(Char chr, String[] args) { + chr.chatMessage("Damage cap can't be removed by CTS anymore :("); + } + } + + @Command(names = {"shop"}, requiredType = Tester) + public static class Shop extends AdminCommand { + + public static void execute(Char chr, String[] args) { + chr.getScriptManager().openShop(1011100); + } + } + + @Command(names = {"reloadcs"}, requiredType = Admin) + public static class ReloadCS extends AdminCommand { + + public static void execute(Char chr, String[] args) { + Server.getInstance().initCashShop(); + } + } + + // lie detector + @Command(names = {"ld", "liedetector"}, requiredType = GameMaster) + public static class LD extends AdminCommand { + public static void execute(Char chr, String[] args) { + if (args.length < 1) { + chr.chatMessage(SpeakerChannel, "Not enough args! Use !ld or !ld @me to test."); + return; + } + + String name = args[1]; + Char chrToLD = chr; + + if (!name.equals("@me")) { + chrToLD = Server.getInstance().getWorldById(chr.getClient().getWorldId()).getCharByName(name); + + if (chrToLD == null) { + chr.chatMessage(SpeakerChannel, String.format("Character '%s' is not online.", name)); + return; + } + } + + if (chrToLD.sendLieDetector()) { + chr.chatMessage(SpeakerChannel, String.format("Sent lie detector to '%s'.", chrToLD.getName())); + } else { + chr.chatMessage(SpeakerChannel, "Lie detector failed."); + } + } + } + + @Command(names = {"dc"}, requiredType = GameMaster) + public static class dc extends AdminCommand { + public static void execute(Char chr, String[] args) { + Char victim = chr.getWorld().getCharByName((args[1])); + if (victim != null) { + victim.write(WvsContext.returnToTitle()); + } else { + chr.chatMessage(WhiteOnGreen, "Player is offline"); + } + } + } + + + @Command(names = {"ban"}, requiredType = GameMaster) + public static class Ban extends AdminCommand { + + public static void execute(Char chr, String[] args) { + if (args.length < 5) { + chr.chatMessage(SpeakerChannel, "Not enough args! Use !ban "); + return; + } + String name = args[1]; + int amount = Integer.parseInt(args[2]); + String amountType = args[3].toLowerCase(); + StringBuilder builder = new StringBuilder(); + for (int i = 4; i < args.length; i++) { + builder.append(args[i] + " "); + } + String reason = builder.toString(); + reason = reason.substring(0, reason.length() - 1); // gets rid of the last space + if (reason.length() > 255) { + chr.chatMessage(SpeakerChannel, "That ban reason is too long."); + return; + } + Char banChr = Server.getInstance().getWorldById(chr.getClient().getWorldId()).getCharByName(name); + boolean online = true; + if (banChr == null) { + online = false; + banChr = Char.getFromDBByName(name); + if (banChr == null) { + chr.chatMessage(SpeakerChannel, "Could not find that character."); + return; + } + } + User banUser = banChr.getUser(); + LocalDateTime banDate = LocalDateTime.now(); + switch (amountType) { + case "m": + case "min": + case "mins": + banDate = banDate.plusMinutes(amount); + break; + case "h": + case "hour": + case "hours": + banDate = banDate.plusHours(amount); + break; + case "d": + case "day": + case "days": + banDate = banDate.plusDays(amount); + break; + case "y": + case "year": + case "years": + banDate = banDate.plusYears(amount); + break; + default: + chr.chatMessage(SpeakerChannel, String.format("Unknown date type %s", amountType)); + break; + } + banUser.setBanExpireDate(FileTime.fromDate(banDate)); + banUser.setBanReason(reason); + banUser.getOffenseManager().addOffense(reason, chr.getId()); + chr.chatMessage(SpeakerChannel, String.format("Character %s has been banned. Expire date: %s", name, banDate)); + if (online) { + banChr.write(WvsContext.returnToTitle()); + } + } + } + + @Command(names = {"killall"}, requiredType = Tester) + public static class KillMobs extends AdminCommand { + + public static void execute(Char chr, String[] args) { + List mobs = new ArrayList<>(chr.getField().getMobs()); + for (Mob mob : mobs) { + mob.die(false); + } + } + } + + @Command(names = {"findplayer"}, requiredType = Tester) + public static class FindPlayer extends AdminCommand { + public static void execute(Char chr, String[] args) { + Char victim = chr.getWorld().getCharByName((args[1])); + if (victim != null) { + chr.chatMessage(GameDesc, victim.getName() + " is in " + StringData.getMapStringById(victim.getFieldID()) + " (Channel " + victim.getClient().getChannelInstance().getChannelId() + ")"); + } else { + chr.chatMessage(WhiteOnGreen, "Player is offline"); + } + } + } + + @Command(names = {"bannernotice"}, requiredType = Tester) + public static class BannerNotice extends AdminCommand { + public static void execute(Char chr, String[] args) { + chr.getWorld().broadcastPacket(WvsContext.broadcastMessage(4, chr.getClient().getChannel(), StringUtil.joinStringFrom(args, 1), false)); + } + } + + @Command(names = {"mobstat"}, requiredType = Tester) + public static class MobStatTest extends AdminCommand { + + public static void execute(Char chr, String[] args) { + List mobs = new ArrayList<>(chr.getField().getMobs()); + if (mobs.size() > 0) { + Mob mob = mobs.get(0); + MobTemporaryStat mts = mob.getTemporaryStat(); + Option o = new Option(); + o.nOption = 1000; + o.rOption = 145; + o.slv = 1; + o.tOption = 5; + + o.wOption = 1000; + + o.mOption = 1000; + o.bOption = 1000; + o.nReason = 1000; + mts.addMobSkillOptionsAndBroadCast(MobStat.PCounter, o); + } else { + chr.chatMessage("Could not find a mob."); + } + } + } + + @Command(names = {"fp", "findportal"}, requiredType = Tester) + public static class FindPortal extends AdminCommand { // FindPortal + public static void execute(Char chr, String[] args) { + if (args.length < 1) { + chr.chatMessage(SpeakerChannel, "Invalid args. Use !findportal "); + return; + } + Field field = chr.getField(); + Portal portal; + String query = args[1]; + if (Util.isNumber(query)) { + portal = field.getPortalByID(Integer.parseInt(query)); + } else { + portal = field.getPortalByName(query); + } + if (portal == null) { + chr.chatMessage(SpeakerChannel, "Was not able to find portal " + query); + return; + } + chr.chatMessage(SpeakerChannel, "Portal Name: " + portal.getName()); + chr.chatMessage(SpeakerChannel, "Portal ID: " + NumberFormat.getNumberInstance(Locale.US).format(portal.getId())); + chr.chatMessage(SpeakerChannel, "Portal target map: " + NumberFormat.getNumberInstance(Locale.US).format(portal.getTargetMapId())); + chr.chatMessage(SpeakerChannel, "Portal position: " + portal.getX() + ", " + portal.getY()); + chr.chatMessage(SpeakerChannel, "Portal script: " + portal.getScript()); + chr.chatMessage(SpeakerChannel, "."); + log.info(portal.getScript()); + } + } + + @Command(names = {"showbuffs"}, requiredType = Tester) + public static class ShowBuffs extends AdminCommand { + + public static void execute(Char chr, String[] args) { + TemporaryStatManager tsm = chr.getTemporaryStatManager(); + Set buffs = new HashSet<>(); + for (List

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 O1Kj*dwN|a$82lZ#A+9t4 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/jobs/resistance/demon/DemonAvenger.class b/bin/classes/net/swordie/ms/client/jobs/resistance/demon/DemonAvenger.class new file mode 100755 index 0000000000000000000000000000000000000000..c103127b11433c3764cdca7ba8bc21d4f24ee9c7 GIT binary patch literal 23560 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 K)gRRd5s4z%AOlGTGYJ%2!jKFkkj%u)gvH&8 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 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/party/PartyDamageInfo.class b/bin/classes/net/swordie/ms/client/party/PartyDamageInfo.class new file mode 100755 index 0000000000000000000000000000000000000000..5ef642241442be8cfbc7b464a51917b46c628805 GIT binary patch literal 5046 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 OT5B_-{*EdkeE&b}mXuZi literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/party/PartyResult$1.class b/bin/classes/net/swordie/ms/client/party/PartyResult$1.class new file mode 100755 index 0000000000000000000000000000000000000000..d1a90d9eb995aec879b07b644a86a19846a503c5 GIT binary patch literal 1344 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 SWXN#Od6|e&`kMO)mi_}t4K76h literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/trunk/Trunk.class b/bin/classes/net/swordie/ms/client/trunk/Trunk.class new file mode 100755 index 0000000000000000000000000000000000000000..f3ac55c1f919be5e577db595a369ae22f414da36 GIT binary patch literal 8610 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 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/trunk/TrunkDlg.class b/bin/classes/net/swordie/ms/client/trunk/TrunkDlg.class new file mode 100755 index 0000000000000000000000000000000000000000..b1abd6f2d92aae130aa901e0eedafef7bed295e4 GIT binary patch literal 247 zcmaivI|{-;6h-gzlW0V65f(|~EFjp4l@P&TA19BHk28`?6t`yK0$h|hQ&?Hpyy9}t z<-FJX@dU8O%*TMRRBS|d(`{a|ICnxeB`YIL+pAin?rxgG$B3|~vTG)qOcf$IRV)p` zFW98_3lpL++WlQ})tKP1k~+6g82&I?DZ5;1C6eCkGg-5Vqaz_W=)RS_EgQ?tzg{b+ ZP2glD0OLpxR{qlu23 zpt@(QaUTSwpfjxD0ct+#4Ln3c@XBhZ=HHU^)Mz!Et0*?wI_1)ZovJ~$9?i#svits3 z3*Pou(g!5=e5~Ea`eRJ%Zg5Z2&X9E+B&V#S**8`nFJ>d14#H8)NV}gzVLS{|li_8s z?7o<};LYj;Y_cct$J%A}3pzn(wJ2|uzgOERuPV6RNn$NWU=piN7Vc9RO||P~ebka0 zD0qD<(_Jb-{d2NNBYkMHejnY;=6yDAyyR3pFwD=(Cd;=`;<c1?}d1K>pQH2)F;sFMsn3cJP!^!LwZW{2EZRu(|*M literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/trunk/TrunkOpen.class b/bin/classes/net/swordie/ms/client/trunk/TrunkOpen.class new file mode 100755 index 0000000000000000000000000000000000000000..4e765c5f723645c65fbd249338baeb93f48de08c GIT binary patch literal 1099 zcma)5U2hUW6g`)(Ep&l`ZEcGmZ7p^eDyzPtzSx+MpfpNId@{>+g4-^$1Qw0|N{y|F z5B>mul)ur60Ji5wG>dnL=h{5w7ySx)LsbJ%%Y4t23Ae1Vf{7)y5B~Eu%^kp7n4tl zklq{y1H%5|lnS7k!v;1DY?-Lw9y7g8G?bFX@oeEYiE2I}5i-N10QPusp+v#Bf5etU10nWNz9$1ABzMh4`@sR%;G*jtOIO5wE!% zLb2^j@oqZoi*eWO2OKH4L(dI*?$}rRSuhoS_L=i7Bvw6X5{!X};&$1Vy_k}249{n* z5X&82Nnf3Nev?jw+=p;F_QV@sRZ+N{*oOKB+@vM`9o%iU2{rKiWfE#+*(W)kMwRVj z-hJeFl6|rE8&s>D!KfXaA^$@^*k@Ztifx{40a=D9Fo?yG?f4mN)Og1LIt}TSN~F@) zaWG5MV6V80WalE?+;#{VS3M dO=gp;-s0314Y(dZx+GXa0}ewHo@xTmE&ySi2|xe< literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/trunk/TrunkType.class b/bin/classes/net/swordie/ms/client/trunk/TrunkType.class new file mode 100755 index 0000000000000000000000000000000000000000..feb253aa4450df174871b731595c626a44e6538b GIT binary patch literal 4455 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 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/connection/Encodable.class b/bin/classes/net/swordie/ms/connection/Encodable.class new file mode 100755 index 0000000000000000000000000000000000000000..cb8f8c41ce87991d98f77044e1f6924c5fc9e182 GIT binary patch literal 185 zcmX^0Z`VEs1_oOOPId++Mh4}))Dr#T^8BKd%vAl{V*TX&yu8%plFa-(eb>C?{FKC` zoK$uO7Dfhvti-ZJ{hY+SbbbG%ET9rb2DVg?id04h4GkaM#`u?(1SBSBrn9?>@6}# literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/connection/InPacket.class b/bin/classes/net/swordie/ms/connection/InPacket.class new file mode 100755 index 0000000000000000000000000000000000000000..9b310f154b825afa767ae5da52ca4d133e861a30 GIT binary patch literal 3907 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 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/connection/Packet.class b/bin/classes/net/swordie/ms/connection/Packet.class new file mode 100755 index 0000000000000000000000000000000000000000..3482b8e8c549d3e849a7fe7c4aa57ba784ed7f1b GIT binary patch literal 1932 zcmah}U2hvj6g^`*UfbO?iCgjkv?OU#`~g`?p-|igVy9_boKVRnsIrhcS&x#fH@nvE zxYQEjcks+}9*P9CDpejq;ztqg>@N1&jo@MDlpXB*%1U!wYlUBiB>g-^O({wtz!oHkyOpTFU1ie7IeIcw;1Nf^!21=8(-7FFyjf{=KHp&_NCZRc^PI4t!gor zqbWVhIjH2xs!KX9;~j>%Bi<1;*D<;L#*&A$@+Ehq&u}#^I6|I5mLmt3l-tV;6Dr@H zimd2Z#Z`)!w(AInl|r#Gru{W)EOq5lD_p0??!Cu#5S2LJO<4dax-iI zXOp({D%_?D#a5LeBi+y{hKp44u$IU`f_TCf+^1qj4}|SmVaVNiYKpGvIbXvqvTjHc z7_#fiX0O|IJt^9QqXcWZJXjAEiqqEE7xA>j^NtOHV@GA@plyX-&TajYZl$q;-Pkh0=4dQu*Xn=2vLtWa$@Z z$@0kyO#VzS6DZM`M~cQJ8kdRa3g)qbGDT)X0=$R!X-8B+B1Q?;U_@!|(MrxESsd@wE^!Vf+^nBfN~0LmLg4fUCBI4KE8x(T-*9C->!ld@UspaOP>OO@NcC-6C$LVXg8H7}3wpM& OO*>U#9baMx3;zJO29a9; literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/connection/api/ApiAcceptor$1.class b/bin/classes/net/swordie/ms/connection/api/ApiAcceptor$1.class new file mode 100755 index 0000000000000000000000000000000000000000..f962fbec26e8db52c7bd0e2b5448e2d204ec54cf GIT binary patch literal 1929 zcmb7FYje|95It8mQ7o%q0^$7##DHvvi12LdB#<~x6JncyLl{p!Fp7L9xgaEuB=hJW z>F;P~+Dw|Z!)JaJ!(Lm&2FKKRZ0&vQ?%7?PU4Qua_kRFpu%3W|n2NZLLl|PnxjZz3 zH=bV?+EVSjaD?(v8;#cky(zKxMEJMu5tS508M^vPA9K{I3l^zd)XTPL8 zsx1+@V;F9T26u$Z8PZ0k)MFJXu0~pU6~`Ga_ETH3+`7Yk6(<;s|IL1Z+g_df8b)RA zrw1{K05qJECg%n*DY_BLStOFUh%ptHbX>+b!&tvOKBvo|TJ?I#3POfOW20|*qOkG< z74Qnfxvy*E2=0bvp(Qk=aZM7zV7O%T#msNaZ_HbQp=8BXrMgfI1o)&Zxwj~b;H)@#djEO*O%wE2QMFP~Z0s6~I)k;gPcQntZ9 zqqALM+3l_|58^&KVVE?&qe-Pfyg-y?I8vgPsWe}0a(~U*bm(NHS)!V?DxnqM${9vOEl}~0;aI2W z`!@`Us@QU^u<29AmEHg&hh0-@x>xDImoZBrYE`f4+k8>TdZxO@>ZFW?icYQUc!6-Y z$~@fm>M9;HWWH{tzQb8ZRnFF!-*jp2Rd^6Cd9tzfWty;l!LfpX2N)w_4b$HMOQq!W zr&Wx8N%~u0n5ES$-76%uZ0=96><-l5X{X>mJ%>mK7{>#8o@i@f4)e4l{gyW(kmPLS z>o>BH-pjdN{6O>kUmUB&_Apx8!O3bZzK2t^I#aD3+QV5|ov-fVf`VszNY`@le}?J1 zgRAA-AIR*&R4}oNTM9bij1U-LV3J0}3?@*b5%GXd#@e9!p_Ng<0);e#6pC1cl3Ji3 zf1w0q!na7ugcI4^dmR1?KXm}Q^VM6qCnBdyWDuv5Wy*Sm)(U}_Te5;jt-Dn`!CLEN N6;DZOq%C3S^9g;e3mE_a literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/connection/api/ApiAcceptor.class b/bin/classes/net/swordie/ms/connection/api/ApiAcceptor.class new file mode 100755 index 0000000000000000000000000000000000000000..38f5beb99d2c85fe2aada8f163c507cefa66d8ef GIT binary patch literal 2826 zcmb7G>r)d~6#rckTnKB$SOu()AZmkvt5(};d_{~%4S^a2qpfzcxg-nAZn_VUzHDn> z({G*85B=6}&N!XUs523CwBP$jwLLf4kOWD!Gs)hw=bn4cxxe4J=k8yBKYan<6n+Y! z1px^`8LimB&^fCvsEVPQd1X91%Qcr_!%5xL-O~(#X#bRiHirGWrI_4xmlUm_nkF|C zlQb#aN-S{GOlIHdTx6f7ILkJ-t9&gClgieOm zyzs$Lh$dH8SHm^NiM`UGzh==iftZ9a!;zO_IhHoZ-Rcf2S*Odo;mYPk(r?Pxifs&% zpCQBXXtD<7u%S9mY~3v4SpkRUt^z@MbTbSPzKXMG**Tpn^NylfgtO-AmZ_*kU5OX< zxTf)>V;6Qa$XY=+au-!IXK=ZmVXDyl|)VTPJXBbPO z0PCv6b9FeG{vZ98s@?V|ca~+?TWf61uOu?1uGPE;`nZxA z+aJ@g2X;4=1?Fev0htMcaF zz7meD;5fsH;3J#~CxXw>k_nK086)XsBulv56I{Vnh80{F4>Fw|T)`(a3{-~u7)%Y7 zP*|(ocA~XW)zkXtLj=)@JGe{dMvM<=M|bgSd3=E1%VVI7$_@HV0Cu8{uKP|z&`kjE z#vbfPAKt+soWWsS!ck;!jKDokzE0t1oW?ISbC+7sJ;ccGDf~vd`=on7@?(;plKh;g z5@??$M7uGEMcg8)GSroq@EK)zkN%(I3(^tZJ{N5$;Y)l)oOI$3+$O07U(@_{1pc9b z^yPR~f=WLy2{TtDd=sYJ?^OAt>;=m}d-&`!<{smWC;(Ph09_RBJJPk_d;CCSkY>B^ LBT1pML;~q}? literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/connection/api/ApiDecoder.class b/bin/classes/net/swordie/ms/connection/api/ApiDecoder.class new file mode 100755 index 0000000000000000000000000000000000000000..057d4b029cabcbd9182e87556a03ef671b88b422 GIT binary patch literal 1903 zcma)6TXWk)6#mwht=Lg6G?zv+p|>=(a}%_bK%53*Hzg*DTd;9R(+(p`8+(f*d1M)y ze?xx)Jfss~7@m0GH!%!nW!Fy9aVC1uUe2ELedjx8_n-fM`xC%JyhtK~s0u|x3~`19 z;TbLuf+M45xlWz?hV41rHnK+nFL^t>*|e(s5to}jLwrrRB3NgLrqbm>3?QK*sbLTr z!(2C#O`%*~H*)Q9s~tG!xdDF_FsL0n!*nWb_VdalFpLouqZ;1B6(UM3jpk3D?+9)j zHi;%-*n#le4*!D8B3BpOC5&Xw%x@M--*0d35lj!H6^OdA5d^-dv;w}(k1~T8$ApSW z4OcP6Fx8I_gJO{%!%FI+aHkSFi$y^1^ai5$|-|!(&nZ0qh-`B zw`x48yrg6^Nz&wohMTy>Fha+Qf#-9_6X?oFMU*L$-99BThy?GWdduS2UAk{bXmH6sNo~rV@OE1Fc`y3 zYCn5QiL=-l6(2L)>R->i`_!_3;6&g)K9PO8!Vr@YspUSys)~$;H9TY(4h0JJGewg` zi&~DuFp+v!x%4v?pEIQTqgoANY&1l-*OeUgJY{YQmls-x74Da$TntxC&$jAi%NKIp z*;Im>Xfn*3mj%esZK8`7Vw6s`)Pi`q4EzBDny5iWz?mmo#-T2!LZ^Gq2S0WDp?iX^4?snEOML~rtJ5sn&f3o&~x z{@S~}uulF%#ejNj$7*!ym)v}1^M-s*nkv3y80+1=u7!HMD5|a%w0vrV+NHJWtI1`k z%0ecKUdy-nV-46}F9NzKh|~WIS{XDl8e{WszO?TV?l0&*4J1H$3F&EV~cw17{;!yMCiotxWA{z-r&J%d`XX=;L`|pB})a8 zCwhfm(HyS9#59Uz*~4`>xPe354l~*!)+R~vCALTk2MOfy z73EBsbh4DQZ8{@WaIu3zD4vTacuF}>p^UHb4Y4Say{(V5mB{uj?IaNS7b_};AJ9Qb RmSLAjNbR4|d_SB${~zHD_5}a{ literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/connection/api/ApiEncoder.class b/bin/classes/net/swordie/ms/connection/api/ApiEncoder.class new file mode 100755 index 0000000000000000000000000000000000000000..ee34197344e0ad28e1401262fb55f2b9ef0a5f5b GIT binary patch literal 2586 zcma)8ZC4vb6n-WImV|A=l(t|g4G0+Cx>Z|Hf+z`Kk?>M^vqr3w&5$fCyK#5YmUH?; z{0Dxvo`cd4J^kbd|AxOqk9S{6LTOUJ?Cjo|x%auxz4Ofe_3w+906vEsM+7YjqAFU^ z#xQQ!nkA$>*2>%}n!?d^yC`&RRk$uMi7h*GEXAVb86AeUS;I2q979WLbSI8>#1zC; zbU$Q=|Dz2QH&iL6?g6kYE@& zgQ61_OPE?V81DzjvbH6~Q_oE}&(N0|%{AJUj-eY@6JmC1ivlGvpkPqN2N+_weirEbIw}s)%+O8T9Pr0nGr3jL)(Zzz4B})2A1X+x7{wSv zsxc?LVrcUf8rd?v_&Dl;#;}x!#g+`XU2U^Z9m4uT{PC~$BK?b+~4E5 zpgeD;@|nil5@48!Qz_ z8WN~_+Oj5hU8+U{veVSiS&{{Y&YWS1wdzqpI9t46k|mL|b#Cr($MC*GV^o$6qGqfK z^7Bnc5nA-JPHkFCr8y~-ja`+mxaA{ML{H^kePlJLjYL&&Ox~O>4=qkuFT&bPYvl)h+|DE>5UT>Js=ni%FtZs%n z9@{iZ7ME3riuRzk>D_n1Y!enjZs#cZ_@-TTbg^W3UC~+7liOa#3|$%9macSoWmU+s zU35F!P>e%hUqQ(elQP3ljU2;zY#$0O5QRWrmbfl$=a}K=`qm8>22O+P!yU@m_F=V> zt|Kc{mpaS2ja$bR@s{QJy7i%~)=O6CBFjy4lSCxljst3f{QSmpa=j||V$YJS9VWv- zKHw=-*uCVlf5Ek2_KVlEp49`>;)5AMjNW@FR4@8*gRaOv!rhN)+`>Etu}YRL4Etc`0ze^H zf=07zegfNA$A-_vHXh&`^4&(3P1+gteQjfhc-f^$DkA@2Uct8tx)XRv7LT*LLUdEC iAIKKLBmC%(90eLLlSQYMhW|Xo5!vGOZJ`1Oz5fAO@xf34 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/connection/api/ApiHandler$1.class b/bin/classes/net/swordie/ms/connection/api/ApiHandler$1.class new file mode 100755 index 0000000000000000000000000000000000000000..137b4ae026cf39eb18c82973a25da5be560d353d GIT binary patch literal 814 zcmb7C+iuf95Ivi?aS|L7N@+v672=izq*_S4agn0PRifsiHfee2L$tA1%?4*3*-raO zJOdI!2=xQ_D8#H4sp5$ud3WX7Qs2skKPIDnUsx7!LB8J=r50)Zk*snLvx;HL-Q$QXC6GaQRU@^S-XJwl! zKM;}qis7|Ayp)MI?eT?8b@ocCJ&)~csWwTq|B{+H>lElmZ(As%!caPPk51g-XgnGm zx_yS1|Dj$Rwr=4rHW*Cpli~qGw%+KN*kstA@eA$*T%9}paJclQ2T}yS8%1HH6;v(U z*9taU$8K}vj+?F4;G{nquLPNRz)-nvF__HAeTMv7FOW(m@6(e`8H`rw3x;x6D$!rg zCn6g0NkGhcH}rUL$|I@qiYyHi?tLWBR=79}myst9q^>BFQ!9t}^~uDz$_v6+s`H*m zrlD_QkD-3kF_GH7h?900lW?m;_a|xvJdQX1wO)UZQ&hSpPB j7K{%jebLh!3_MHU)nHRJuuJ>%l-Wg{VlmZ5NhSXWrW(nk literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/connection/api/ApiHandler.class b/bin/classes/net/swordie/ms/connection/api/ApiHandler.class new file mode 100755 index 0000000000000000000000000000000000000000..900b381f93f0cab1f039328ac5a540ac3275b2e1 GIT binary patch literal 3660 zcma)9YgZfB72Ovk2E`VGj50H_ zp-tcKCTY_)ZBzICOxyHJ+_fmqTJ6fWuGJrv)qOPs5(tPtpt-N}*yrwZ&gFj}y!Rgf z=kbpO+R&~crX!9HfsE}MjtqhgqqJ-}j;t7_y;iNrTsX@+MYraZXDp{&k)A-ur0v+j z1%dWddZ8Pg=+cnT(G6YTbc?D;NhFy>S3tocUCrMsoTcAW^otb&oN*wUemM6QsZo}GX3^7JCjG>p^&yJAcQfoB(M zfxIj?vfX$P0~$W6<0u{yc<3O11Y#ED1fED8rmhLlZd){T497K`(D5)%3LM=rwEG-m zyCjL=LB?jqx@8#^%ULq!iYo-0)i6Xjdm~ZDY=qDgIE6Lni5g1RI z>B4=BW)m2Pq2Y{O&=WXxT%ylAza}RmZ*UP&9Rj*=^ieGrf?&1U{kRoQ@~( zq`+f)OonPb-&n4LGa4v+iE?{(abvE^OiJZjz#b$|s1tZvM;4O;y6u})Yi&DznHJv< z)RKO_iy^z9O>rJU%VZ+t`ozqTRA8H97Z^qAc%w&px3R za7DwcjyYTvc%ZSLXFZ@}v*eSNx#7c_iM$BXzpGx~tY3&hK^ zSgS+ZNAE%xiYRF)>yTg+NB5AhsnA8qHWQZPN3;OX#{OUFVpIZs-FoGO*rqk_m>KigbQ$1U9Eg{)bt zl5MAC1<%>RGDm)3If1V@wwtMS>XBnNv7zG&>N4Zf^IT7rq*ru&314QOMs4dFYrz?T zxu!M{?HKzuy!*y?6JOQwHGEy5i`6B}T2)t?IFqYbzMoAWnB#0xIaYF}X~A~nY;CP5 zy?Lux;YxqOEm@TX%d^!yT8stDHp4M`$QA77T$U6m1?w!ajV5?FdUgbRr_&@4F|<>c z1w={UWXsWAq!DOy$pm3izgyido?|USjeZva*{<3|(qjhffJ~hz8j0!klB}vHg|FeK z0!JEEXlF;@{Cz`jy14Bk!qU|_N&1Jcs4ml9a;%`{@qXr81A53)Z1NDGJAu4Fj0w}N zc_n$tRvhSM%0{_5uCTH6&N6+kNW~NKpzosV27cgK)hjYscFTTm2Y#Et@9=vKe^5#F zM}cG`D7JHpiEf0&HO#Y1Rw;134S~0sX&W63m4*)Z$%5;y)~ea2AVpQWX=Rt-{6BNp z9nNB^Lh%%Z#U#&laP7|6J!k@V(Q^+++Henp0`KFI*~}(}&&38}TX^j0_+b3M=pM}s z#5VExyK3#@TX^aY&fdlO{weL>$StSM$r8_>8&OkukUM+$L_^g*6!8 z#M1aXw0oL=Avj<#8V^67*~04E=v3dA6{7Y!qI2lsc#tpeV|)}JM-nHH=I9Jg@(nnI zNrq|#kK#2xW`9J@Z?b3of=^NvfeRtZC<4Tb@8Wy)sNBK#@hW{d%6Pnn*J))JiQk~EIDSkWeTaX6vl<=|8d6UVYcc$Ut1)VMlk$9pa-=R~j4zGAo91k*2XyAsegZoU-7Fj7x8P3 cIyw3c|Nex(aMsV0MSjuOiMR1Lyo162137g3asU7T literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/connection/api/ApiInHeader.class b/bin/classes/net/swordie/ms/connection/api/ApiInHeader.class new file mode 100755 index 0000000000000000000000000000000000000000..3eafa6658ff48a92fc3d90f9704afc3672788819 GIT binary patch literal 2369 zcmb7GT~`}r5Psfd!$Md>hwHJWwV=;Z1C`J zyz|BjrP^}p(bH>>zscjw?pC%f?P+q6%{x2u%*-<%Z~p%G$zK3&U{^&%AZr`0-ul65 z)=WdMxAdxG+eXzj9b1^b;g}dv8a%H=+db_Y9FkO0M zm>lDDYv^H|;rv=*p;Fjh$mdtrS1Q{9EUWZt(9kEKrZ*N!O2Ot$nu9!lMk_MX1F^MG>A#W9E>6~h`va84j`s!*`obqe87T5V%>SKwME zWSzHUtCb50%5KxN_i|wm4B+99X?Ppw1-fQU+jQqB^)OUmSJu8?!Mg%c@+%;U zagtrs@E+1+@5Ry*n8{>2;Uh&ge_z7~$WRqsqvZ-*$drRn+pcNpyKURA`<utXNZAg$P9Rlss?yq!O_LD=SjCogLQjP_2`bLT*f*)1J!NyxmTtRAdP;_Z zry-$~7mvK8XSh@^u>a~w%?U)D26YY%&44BAJ2jbphLyf7pl8Y*fMxF!`}^JspusP@ zvU;#A8$o8>vsEi-XetZ^eIt}3H~(x0p5`doDftgG12a1US8teg(8X&*WVhF&SXV1|oC8HtZm>*U$&K(jMFH;a4a$@=s z^syhIDnCJqGDO(}mqLq;12H6lUZD&)Hbn&@9;fIcxEK3FfjTbF>N)A literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/connection/api/ApiOutHeader.class b/bin/classes/net/swordie/ms/connection/api/ApiOutHeader.class new file mode 100755 index 0000000000000000000000000000000000000000..2b004a931014584d583ccdfc47aa84b1c473d56a GIT binary patch literal 2376 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 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/connection/crypto/MapleCrypto.class b/bin/classes/net/swordie/ms/connection/crypto/MapleCrypto.class new file mode 100755 index 0000000000000000000000000000000000000000..0caafe0b45c9b9be62cad91ac5aa0944a21789cc GIT binary patch literal 5136 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 m7V>vGuG}r|^d6~V6OlRoZ?}3kk;&>?5@DF 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 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/connection/db/DatabaseException.class b/bin/classes/net/swordie/ms/connection/db/DatabaseException.class new file mode 100755 index 0000000000000000000000000000000000000000..305b6c8ad109299ca86520218adb171656f14654 GIT binary patch literal 652 zcmb7>J5K^Z6ot?5TEPdtz;_~@f?+L9P#VxgLo7t;hh+j|*jckPt5*IeD-#P_6aR;Q z!oqk5j1aLgo1MwIIp@1~@4kILzW_MGRt7P|9VBLuM2cbkn%{D_&sEpGh?J4OIKKD9 zjgf(3NF7QgO_d?H(-`@hCX}jM*=jg>)&$e|tZMV)1Z*x69%e)q$kRCSVYU`1ZMZTm-j77`qx8^Q zI(U6&NYsLkV8}M466cZM7U8As&#>4CJmPSok^U|wOiyZt{l@>ssxZWT-L=q({V+Jb z(3*FtXVT-5raL!g8?A&P(+r}}6DQIRn4kFivW24nyKsPh8fGv{_Z+Dhvh-35r086r zN|m(rrHZ8|u*ZRCk6An7?zd(W}PBV58xC_drxqF!?r0@ a7{IoNwjY>-)d7s6SfhdMh#LfoVe<>ssg&UW literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/connection/db/DatabaseManager.class b/bin/classes/net/swordie/ms/connection/db/DatabaseManager.class new file mode 100755 index 0000000000000000000000000000000000000000..5e0746d5b6caca595b4b2c5b7df6e432991da6ae GIT binary patch literal 10447 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 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/connection/db/converters/FileTimeConverter.class b/bin/classes/net/swordie/ms/connection/db/converters/FileTimeConverter.class new file mode 100755 index 0000000000000000000000000000000000000000..d3b11da43b406ba50675e75e3ccbb02fd181e6eb GIT binary patch literal 2746 zcma)8TUQfT6#h;UI7t}FRpg=~h>&m_t5i#aC=FO+6R46>r58I%1{|EsU}l2Q{*u1+ zjaO^eN?CpA>Qh~-f1tmk@2;-yb21qdr_*xWUL^z@fTA(mouyj{-UfQLCp{qql zExU%P-ZM-+YZP^ch~Z?k-RhaF*CY4YRh=FGo9zRVlW*Pd@60=JY)wG@0%tg(W@e@&W;~Ynig7fIDag%!Mwxy>E46V+d zR?{R5XZ2B zD;R0;FTDABlup-9S&pk&g!EhkQcp}!!x&XCCTb&+Z&)JvBJFVn<09uglUf#e6PiO& zOktWsRd5X-GIUC2&I?l&RurhX%@Eos*+qtUJ*8SWk5hvMVVJ@V1vB`Fq0O}$O2RPE zfV<&Gndn;zKE^EJ+|=DCx>k~Hmx>^PIgZ;3=5dE%=uqP{wB1N{Z<}fm77db3WtJGO zq)*kCnOjisDUxI=C|A8CV`s39pQw`%;FlEK6UZa$OOIA0EKz{_3Q~CB1r+^2ccMPe zjp;chOq8meR*=CmL$7yvvi6eY8t&eL>z0gMSp=Bz0yGxw48Ffm@DPuvKYibXSj%aS zp0v$!(UPuDN_66wcFE#Pjx_~e;W0zk5x0vWU~e$=$5N?O{WbE_L)BZy*BsvnC*QvB zM6~m9_To3$c~6D$_Y6x%Rv=M#qh(xacO)A53rCJ&M3C84x9JTt=$*0hy6RV=?kx)? z?E>LzOB>)<)3G?Z3&QrI-%oT6+NF+!wq`20xm)Cu7+&vK)UE=fiy9ml8Rkx=c@*S%A|G9~%cZ<7W*$RN zZS?uYofe5;P*PNzQqt5MN2dgY#N&b?y08H-Xtef=iAWQXD0oUhD|9+5RRwHdlfIa^s**^H>0VZFOv!DbpOm7&_gAfha2zt?uK3paaV;I0K znwE1Il;GxxNi*3zgF#>}`llKHMDRT5;c#|Bagx?4np)E|J+9#au1n7M!KtP}*u*7>n18zC zp9rnbIgM?+AT9y2FHr}GJ>c02_8n+?ix!Ulu*d=D2)8c~eaEAJgOmfL78#%T6H^s@ zF0dchB#~-Va`5nI2jL1<&ftKG@A@seB-0PXJI2~Vp#!W2gS0+5z<0l*wS&JtEQ^UY iX0nUKUr!OkXq|>8=}WdnqTt9zk|}iE zKhX_~ZrIX|DP@LX*O~r@uKFjK4paJFS&o&)89LL2uB3C%{qFg`bI!fL|NZMr03X7M zA%w6BMMDHpfv!#cfu1Vs)_UqzVbdtO0?}F1GTqAp;nA^W6&(WoEvLL|o7VcZnprLx zb_^=Qam1mi*r#DX4hZb`d~2>*PGwDpa2=*=*t%P>1^PzEvaRWiZ%@b3jUE-f8V({M z(6ie`K;6)tobix&jA~V`=+|%v0|JWWnGZIx16xn&Ba5B&8t@CvcKN=+&xWl>`PyGk)M6_zn%y9T*l6NxAT}TsSH)IohBZ@J{ay zAO#%PFd?H+9P@iaLQQIzLW<$JmBw}gI~g{tY3X}L!&$jFS~je8cO!;re4t`R!+BiT zk>Ms%r&B99ULs{qGHu9_)g=K)s9B9=!)k~))v`(bPq!ntwwthus{*~PT+Z3H{z#TY z3|A1A$Y*387BpPP4JP=3Ov0_Zdu$NE_mjx7iQ}e*3_fP+^b+%w2!_@u=k(ZW3|TCy z$Z5ER+X7cD!%aEgRqT>!q_&(?v0_=Qd$VGtN(K4%z_3}FPAX%SP0J{8J1_M4=8V80 z-)pII-EvL$(VR;$3pJNDbSfBvpQB*WO97a)EI!ka#}a#M8*4##^@8pg^ObUK%W6Sw z_fnf0Vudf$Q>y$hRb|wKH>{$O+72lYwlZHSF~kE|(#qAg3WmL;7s|BsWGh9zysX=% z{P&HDyJ0#4*RuatuQc1k2?11vVQ1X;#u@0_@AXdhy<(UiImB=FN3WcWXBFx#%Z#JEHa=yIY*NVKy4c zlU8q=CSk|({Bcy=YwgnJ)Og3n0wck)YgT@Msc#avzuV|p-c>z5<97rS0QVCsrH$n) zHM?lsFlDVB*{iLlWD#SCtr3F2=e(^VeDjjxc!z%}zIh}eGX4zWXMTk61xGmzXjt(^ z&jG7g8ahxB00ov znNaFD-gByskvmV`{z2z4fyYQB>qv$YAe(6(Y-8J4f6Q-<{(VuP|N5Co;Kv)mvvHI0EF`1H|k2^gjS_gGOemxbJOe{{y4% BS%d%p literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/connection/db/converters/InlinedIntMapConverter.class b/bin/classes/net/swordie/ms/connection/db/converters/InlinedIntMapConverter.class new file mode 100755 index 0000000000000000000000000000000000000000..04b9375ebdf3af9d83dc007bb8a29f53c3b73ad5 GIT binary patch literal 2948 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 ULHvN9Jjx(`rd1?qu7>{p1?b`!k^lez literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/connection/netty/ChatAcceptor.class b/bin/classes/net/swordie/ms/connection/netty/ChatAcceptor.class new file mode 100755 index 0000000000000000000000000000000000000000..2aa9df42cadf4d60546ec97c0af71dd2ad9dec83 GIT binary patch literal 2744 zcmb7G+fx%)82=p-TnKB0*dnM^QEP*OTdlolP>UD=4VMxGu@}49tjWTQ`x;T(>rPRd$j_TbAh2V=a;)HjKrGceqo76LnB{7Y83fCkQPLg9v^9s6 zam&ptnof{)-SV*KR>}z|QgoZZ;q?P~*A4u@)5}`U^cGF;Qf;3=0x>zfreYV`1)7Ue zhCnHmT|Zq@w^>j6e;In~91RUfD@Y2QeomL~8VhDn^RQ}lE~E`rotH+xuHp@J3Mi3< z0%ud%I+R1U?)&L&tr*NpIE-K&2-?vlaFY0H{*vnzEK|GVYlcgljlgo92ze?G1`We3 z2d;PYR04ajSB7w(z^PRBRSu_nXQT&jsyKjy0;*B6?81od6l~KI7~Tf`$nS_}d$+bk zH{FUJ99D2d#ZkN^aNs$ZBcT&z>7zi~^w8w3@rlcs?BJZhp?drxfVEBh=>*8-f#YP(}j%Do#S9`VfVhF*h26P-RJP5LYdm zmq+E4iqjGjH8*kVS|&3&m>r$TC^$oqwuG^Y>5%LAf$jvpwD)}#AK*iQc;0df0!LD# z8Nzy(1g7Uz%7IzP+?6HA6ir|ZlPW%zO>)qwvzmIVX&36Cd}i>c z_)Nj)DsJHmfqkx5)bz4$luXTbi)ZGwtXmw@9la$jgT8=qhxsx}&>8g@s)-`l{M)xeakBIT0Wch5Wuhtmpt5;#?5P5;4^$yhd z1|chbZ``b+^dcKgKeWN+?GlVmw&q>m53f>zp1J|Gy55}c+ z?4Rxb9f#u2aBKyAa{bQwI<|uMR&iF~T)aEJii-lPxFiRXX8Tq#%;`jR`VD>K{VSN* zO6@$?yqVP9{MTdJ+D@16v1`crA??102jTn>KZJ7(()XM68@!5JaFCom=)z&Hj^G$C z&UcZ8llGA7AG!XS>tA?E;(39Xb+K)^ zJQ<^uB))`4>+bX4M?e}8jnHnvPpDv#sJG)0wJb7}clmuUV*gSh-*$Wtj_?mc!Ps>L z%SqaOzZN0%lVAQi)-c70Oh3W(XZYj^bQx+9x+|Zbpg{?AQ}tI|H{ol1!#PflJ#+{B ICRgF_KeU7Nga7~l literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/connection/netty/LoginAcceptor$1.class b/bin/classes/net/swordie/ms/connection/netty/LoginAcceptor$1.class new file mode 100755 index 0000000000000000000000000000000000000000..7909f285df17f37319760ab332b3d7a7bedcd118 GIT binary patch literal 3318 zcmb7G=~ok16#u;t7!pQ^xYD`{7&aq{OO2(K2#SV4NeV{V+F|kvBg0IbnV@vv_q}%S zKhTf$oQg>G^m9-Drk>t6GbMuoq;N8CyZ7CDe|LL-{d4aDfG6=w1R+#O2+OEO4MW1< zPQt!nS_O?KX6=M(8U|M#%{0V`GoMJCQ<`yBRe8}dt>$iq8fRLwn~xA{`hW2zqo_qh zLR3Z_WQK#9>5EXO6%wi^QrlkW_T9NCT!5Nz4ZRrXwpK!#dN=n$uuy-x83yM+Dxg}vcL)W7a7*T{m z=eTMXxD~}V0YDSO;YacLD*3Xa*onslY`Yl3@hfd(683CZc)#Hb-;GEe_TzwrgEE@Y z!mw{G8~=lXK~f5Zv|>991M!J9q4V`jZV22%47(n-U)Q+dBvS4WMJw8bwe1Z1<7>)H zPV`OmwT(s5i7p9;Wh6jB+4}I!<#;Z-zVHH?q0Z(;A?2Mibj01;)`{rhlH)m(;sXpGm8`?lI4hw~MhfQ`Hm$gZ60KMw zZ=Z?>7>6gXQB6oz?gVf5i6R)lc?lO}4B{dIyS6{*gz8I1d_BiAL{sU({!H%brT#nx zN!j(Tk!Ky!f3oE8OMIS;s7G4H5Hge!3Y{>V48%$$Lm)I)9@14Kct*mgj4W~tJC>7T zB^@DSb3$g@D#!@ewqi`ixUe~z8qJU7hJ_Up$dJypF;J~}s;k0(I#0RtC@v!s#dCOG z!V5C4;zfqdWfyrU+YI#3&WC>F&uGzr&a%z(6Le#lmeSWzwQME@LR_>f{KQ=+VIrm`}i z-Qyf;YsSX|o_go?acb8E!ilOwrI{eWvNyj-?bm3cH~OpG5H~ zK9lgdj4$vd!-2ACnlWe2@I+dfoh&HCp}eH1^dy?6XqyeL{tkw*&*Ta4x}@ElHqDt* zF<4Ih${a|v6^yz0A`g;p{LmA*K5sC;{hL#Yu4k#SC1a2qs_~6zdADSI>mn!`=Lq4- zAP>^J%}VKtZF35RAE*yj;I*3R5`LmET%VMlejZNPM~PiawT8uF;>}94D*DyoIv6aP z_0oBW#%O!T?_li@7%la)X_y^T6?9$nN< z5>%&;5C%u_E{@|Cy-0q=Dcq+QiNL7Gvwj()2e^Togw1&x=kYQjc$NNNp;;B(lf|oe z4dK{1LhyAu6W%yRqwq$gz2i^R-@$BInV>Ud*D(=a&>O@Mrkyv*VQ=jTl$5ZKjkIaY8%AeQW%R?r}D%yKoy41#6NDC&-5+L}Yo znB`^`O()2@ZfVGK%cTSqsk%wv@cMjr+{=_M^^dW)uaxq40@ftXxgQ?Uol0`&!{ zL!g+(s zj^l(tOAUM?YnwVXDvP>ZHplM>v?Xu#Zb(lgK^+OCRGfrH^C1dVXKwBcLPaFKL0zSB zULKWGDo#sC)ZF;(>zT~NKz3w0qu>ld+LFf#rh~5I2f7pZ(%<(~ypInA;(5!N6F8C_ z*-&O%pt@QP%AT2S!a1;Oaq^`!Uy`jbAaL*n;&fpUR}^Ga zT$L`g?^Fyj54P)@6<3-tj1dLbR9r_^p!2y~o9BW+t6wY!bMBHe#1=E}lx=%iLbM@{ za$woAxs0;sadv4DL<+_TOs$4SoWS(Faw#z9GWTT9u|yLX#e|9v<=EU)@+>FF1-h{? zB~2;FRckP`Fs%Et7k7GCnBmNwU|G{}rS3u_G{6%6 z7@sKkRK;z4CUC&@3YuQhjiRa9ZsE+l#--`%#C>IdU!Zvd~>iP7A zG|O_(ouisPS<5lU%6IdoH&rpxnsp7`p4L4}o+D;FC|W+}>MM>$2J4kMJ49Zfr#6Fj zenlwC;CCKZQGrp6zISbidAky0l#O}U_rvE@pu6TkwX-)@Jms7CW-ORqbYpi|k}Ql6 z1qELS?5*Wxs_3~(70ep?4Lf?~6FIl+8Rk_>CX85acxO(^yR*32$)MeLX5Lpnwtzc#p9JZano_xj^cAs&aK^IYZ6;H$R4 zRjmlX#$BESoa$xq2yxQDuWL|dpQ14v?W1c*@T`udPV}u{_e`p_Wd(a@Qft^ZOFJDa zI5?B~9bNHfIJSa5Nx!{Lw{-Wc;N4Z66*w2~h_B+Jz$z}wg{+yrRSa=EQQ3Y&-&kq| z<6F6H=ju1JI_m#=OmCYR(S42%xj&@m_wjAGKg18=9)pbj7TUOWq5)l$JdAc6;i(75 za1`&L9~U{huj3K{&QQ+?JY2&vIrlkGA7F?&NAMka-;?){^pB)}CjAStA)*(ET03%Z zQDQn~(TdNhBhI^V_z1`&rV-u^_z7h!68C02!V;-E+~e>25&M@0`H9ER!eRbHC>Xt= zV7Zlke_72DQk0i}Eo+!$PNtsV#xs2M1iDPN2*Z_Mp+E=UGb*J{SuYRp756wL_Tg(% JiI5@z{0DeY_mThr literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/connection/netty/NettyClient.class b/bin/classes/net/swordie/ms/connection/netty/NettyClient.class new file mode 100755 index 0000000000000000000000000000000000000000..68b8f9d093eb898bed43667f8b0c8142e36a09cc GIT binary patch literal 3009 zcmbVO+gBS!9R4N*62ew4y$HQ%OK%~R25YUhK@?KZND4@hmZH|pW(wOb8@jup#k+4l z`rw1U>7yPW+N01`&+$Q@>>uUvo84_lL!dpr?9BWo-}n1|mzl|eN|6ey1kg5D&CNWC(trv+NL)w(3I?(YegKbF(fp!K@;e=rI&VZmz|O+ z)5~t!DBCtcX4y`2$6HHJs&CdZrA;Qy^~#Pc<)yvoEeVL6VtY>bG4Qc4Ln~)G8Y{1yXrmZN)P!<=Ln>4*jInrkkFToIASh<+=3H`!qa{ zZu)fuj^(#kp0lTQr9I;E|R>fsv&nAOh)l@dq zw{5b=D_+Hs8RagmVGu6~G#gggm5em`Ot6Kt1I`LHvui?Bv+$$G6$Fvs(_B=-T(gSNIjtuK~A;AtFj^ParZ(`($=6#HAc2_Ku zt#`6E{*a_^p(ZDxO)+LQT*R0_t6M3$p^Cl9TqwL&hAPloswZ32ET`ceb%t6hwrasR z^3*tzz$B((nAY$vW|)9#&HT0<@#vsf@#KVD6Ns(qRz*%-7Z_}$ce7qwuzs)3YIqNG z0*UO*{PgV9wTZELfrC4t;Nyo-{@?P=TqSMd{4yMT?d$9)I1M(;ZW- zLu1riGTDp+JE-33M&L+tQ*-_Gv@p6b+Q-}rgJ(szR+e;*C24saTNkA_BlVKx#dCt~ z{PfF$`DrJp@Wg$|`!`3sTW^oDH|e>F%@g=4NV}AyC7SG87=7&CSXHK0g$}oylYwMq zn~}kOvwv?098d0`GQ1vrr^_zSXz$a1%xo~A+_b=M-MCdT9XVzjteI2rbWhdEk(Sim z&>9-!LxvSTK8ZrP;uvz=R7LHW+XJAHDR)>CySBt1sx&mGe#73ooCG1OECF^+c+DYoCvMPmES2$2l(Eu4NKbtfUpEwTt0DMM zJ@}i3U)gP2eUN`4hQDh# z;#H1Mw&Qrap5q^KJZiuZ$EQ_}0Y56Bvuol3F8zu^*JXd4S7gG!M}p2y@kF1dfuhVJf^G4R(W2#A4pt{YnEpLZF zFy7c#i!f>=A{uI;39O!qlwl~_%<0MExUU#E>DZom#uJdGb%AB^#&jjGL=EaNS7M%q z2QZ(7vPwOF+Hr?0Qygeh{w!fpFY3?K`cveo| z?Rl;>Sn$mK=6IqO3$RdPk%q-sBCw=VJpv(vega$KvxO_$(DYnP^bnRxEYq+Y4+|`w zN;KV$*k(=cU;(i?Zk#gooMC761B1u8Ss#;_hLsACNb+ERckcnUMTtiQnkoa7amU9z zNAEPoa%R$hj}Y8d8dl>`fg0vJXl72O`nbn<<3PJwY}Bv@YX#y*)*y$lwHhp8c@p7z49z#P{!hK#|Ssb=!ZZG(o#l#f&^Dcg&n9-B05 z#ukCv%!rve(QRZ-CKy0mTJ1LLy<2mPc<30Pi?A4L$7KaRhgWV zHx+w*8V=##883K~N!@}6)Wj^GT&CC+Mi z4$liLy%#H;hRp^{M&_tf>Ns9ewzOt{xR-;{G|zF84V$Q^E!*rWj1HP^uR4VS^V3eo z$n_bnrM^p(A#cRW3+U;}JHN--Vw!4R6@H@LvZgp|`%hFPwJ78%=n{==M}i!R6j5Xz zfxtjJDYZ%*2sF%6?<7+!GGLLIU}l67?z>9mMJYrpR?CP^f&9*!SvCu1qUKpjD?-_I z=elBz!OU)mco-4JSx>(=AZfiBZ_;1VriL-z=HFu*&f^`nQ=P@UsJC;q*_~s$dgk5?aNtZ+y3l{{xAA1o;2} literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/connection/netty/PacketEncoder.class b/bin/classes/net/swordie/ms/connection/netty/PacketEncoder.class new file mode 100755 index 0000000000000000000000000000000000000000..d9f53bdfd4bd3fbec94d80953bf9274668a90fb4 GIT binary patch literal 3588 zcma)8S$iAR8Ger~c`SKCj4==u2o4QYPHYdfS-=W`SaFCN*-m1Sl$ex`#>djw@{E`n z#c`XKmZb%{LYJhJHeE^SN`RUq7c^J7=+j;_f1tmk7v<@DMq^vv^yFsFneUu$d%x}c z8e%%)XcO3JyM`l!VBRR3&SXV;hUHF5%NUWqZ+9jVWm(q=|!mDN925_ z1E0b@8t&C`AGQi?*~lI`ZIVx5Z@QVd28UMaqM{yb)9`?fPh-2l-AjsA-eYhGvp_eo znKsXuM#XeW##nKh!3Z&VNXKUsAj$0UXO0%el#3dA1^PAy$nxf^foqJI)r!o9dlmeh zI{MHrkf6T9(hM_%iIGdfz{46I(eYV)P9VKXZj@-gQ4V>GvDy-MCnYWY4$Y5M1^Uyu z-u$gf$SBpjb?m`j0p0e;tLE&YW&P<}7t?zxfyXeYA){j-9;X$nENDn>p0IlADZW%F ztrfQj1Y)V%3_Un-kDyTDXPA^k<;;cRop7X z4%s^^5&LUb3VOVKKz2K5K zhJuc#ae_^Ty0T>!N}3tGJ`)>&XIcTf62Q8Bk@yUxY4F8v^U-a1~r#o~%gIkKhW?O5%BV8hjlAYK?VXtW8bPWz~^~ zYEvxWInU;nzs!~Ul;-8evhptTP2dStvuAb8E4^BzH_1HzijH&mDvc)u?DGOs4IL`# zwd?od%$oSDZu*%GO;P~AfUj%#hK?8UlE6Ld<>`p&a11dSHWB3Gt{c<~h_{&>>oKV6 zVyn%Dj%?1`jvTGc7Nu7(ixs-om3J+(a>Dd%^&b&qLD?pRMiXz=sdB1mu^IE0i6JUf z&5W(rDqBq4Wv83N$Lw%x!Qyy)po#vd+NrHrRE=e+`L7BzEtw1_te_qJO$62*8eN`w zbf>A18 zvzDx?=Z3H07c0~+ov>8*S(WGslNh&4jv3TEX2r2((b05j@(kM71fM8O`-w_&+^u<* zJY<6A%9g#uVo%A=i;hiKd;rANeRm0&A0^65Sw4F2Vj5O*^ zzCJGwu?f1~yugLV4jx^s3#~t%{Ox(yovBqb4X8%bqJgr4u`pki>s+5`xF0<#8b?qh zB5PJE<7`fucKnG+KEa`WI&rQ?wBs)V+a^|^ak}SR&(Vr$J3T%p3N%YmivaK@A@WY;As(ovw}s9%1)u;V2e-!*R}Y7vr7}V}4)epTSjdjqmsf z;xacac!ghe3_ha1$**3&fN$Yd{>4-$C56o5KWIggw3~ek&<0~WuVRzH`?%vOQZ2ZO z`vtC}doaF8f3T6B9&Ag+Z{S6;?zn=1E7tU>uz;add;y0CwN&imly(J2 z2HO>3G!?&&V+$C+f!h`NWGdEr1*b1zQ>rZ$OKA%*Pp0DPL@vNq9J4$dOoY2s;_v;b z_61Z=_NQWMxrDpw8qb6pBPuPLyG$IWaUK`x-9`K=Tw6nAir7M09}()uRt)eV_AoMp z`7ob?1?=K{-VKSp ze2V-VM?%z}MMBMbyoT4IQQ~oYo4a;}b`%M<`wnHRNZrKu@cl5*H}M0!!ML>HpLmlT zF)@A}ik}i%Pkl)AoyDUMXSshgJg&)Ym@1qe_ryNW3&z meo0yjq5pNb{szD0dK)Rf%FXdDK literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/connection/netty/PacketHandler.class b/bin/classes/net/swordie/ms/connection/netty/PacketHandler.class new file mode 100755 index 0000000000000000000000000000000000000000..f778d071928adc67a24db8a60fd140614a7bcb06 GIT binary patch literal 478 zcmb7B!A`Q*O@#$ReqoykMg z3C9b)*2-y~shfv|kO{4|b~e@C#9ki4S$p!E?scI)bk?wsI`@P|Y-gY literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/connection/packet/AndroidPacket.class b/bin/classes/net/swordie/ms/connection/packet/AndroidPacket.class new file mode 100755 index 0000000000000000000000000000000000000000..0f38a64cb29fcc3085cecb8852f998aea24e63c4 GIT binary patch literal 2353 zcmb7G+fv(B6kW#<3mb)C0+a?Q1VZa8N}Hx_Fpv`41U0@S*mWCvp~6035nIa0B56LQ zU(naK4`$NNbo$)?$WLUZP4|)HYchnwjCCZPz1H4quYK&l|NZ?>02`U)uVT57X;I`6yYFbsDD~+a7F%5&Z>ZYL- zPVDGBUPtml|t0k0;yMJp+@JpfZHIb3{(y zN8Acx2lr%Tg}Fv_!!B#}6D}&w%P5F0gJa#6n?Mip}KO0e@4D+m{t8y7b5v-f*Rs{ zyI8czW;yM#XP98oJh3W#TX!twxz+XFsxUpS;y!(+h(AA=_*S9MUAj}~%IJC_dJ6U{ zEqo|?n*bRlTFdSRe2FsM1@INV_Ja2?`z3OYc=V|+@xg&YfRK`~;?Cp^Z)YzwQ2Iq}h@ou-xn5rT^mZJcNmn5X86{zP4< z4)p@6;6z05IHZ-2q9&cPhbW1oj;g0#5~`cThkdGs@QN~^ls-yq_flZpmzGS>Gescr(^K_gKH8b3AbNT*$l_@)Q3m^0gzlak^lez literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/connection/packet/ApiResponse.class b/bin/classes/net/swordie/ms/connection/packet/ApiResponse.class new file mode 100755 index 0000000000000000000000000000000000000000..e4018e3f46374b96986f6f9c978b5457dd95eccb GIT binary patch literal 1483 zcmb7ETT|0O6#kYLLfZfpD5!{~BGQ}0`>lx9P8}Hwl{R$7CngO$7$`|i6CED>J3cE9 zFrzd60DqI?cs428X(@wwXtJk!&UZO`_UG?!KL9*MK8yhbBm`v)Vu&HSt9{UvhGy<4 z<@zqy9fqN0!!(=~hCnh^lQ7IMZ*oUzeYEUtgDd+jMYl|owi=eHlwIeIrtfhlgfJo! zWEmqEWk~l=(VB*mZyJ>Oifh~4W|*uLH#Un^bxSS3F0OA?iq*}M%8)Iczep|&2~i>H z0)vwLpUhM(j0sFih{>43G{a&SEH_;eO_Wt@kDC?VavP3%(Bx#*4tHu=!?S8tFt{Y+ zGG-XU+|;dY{^G!)UBTpPsum)QSs7OmXOOC{uJcxlA=OQ^AC{*tA>$h68DzhD)v*n8 zhar|M{p+G1%n86S7G&HI-G~(`#k^YF$`=ad&2_cya2QFXB&20zgzV($vUS~ZO{ZXU z&EdXw5+II(sWl|rq&9Wsb)1f-cQk}`l-ab*mT;p$#xRVP43n?B`*m)sTD?J$@sg!$ zjhbc~V%-h~op%QLwAAg>nIJhT=J>sO@A8&&Lc88`F8bPiilb*x_&WuJ9Ml|}rfAS3 zAXN4Ah9P8~j19xWIqQy89ddI`Yqp)4(7l%A{r;Rt+~_Bi#q-yyv{MCce}YuWS>#*c6@eTXZcF`UgDVJ`cH zHU+%GQ-lpf5y3c(=LF5}B;uI%fad&SxK9!BB=7(a2`WOD#3MW=YELLS4E76giAFz! z9G2TuHYiuRC1QU;~wmkpGa5r3hj%~5DPG2%QG+U F`5%a_hV%dc literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/connection/packet/BattleRecordMan.class b/bin/classes/net/swordie/ms/connection/packet/BattleRecordMan.class new file mode 100755 index 0000000000000000000000000000000000000000..a85fb2876c5d9407839efa3f1a9db2e6b01afc90 GIT binary patch literal 1486 zcma)6SyR(c6#i~o2yH`IWRXo-1j-sj#RWu5TOe4dwxu)j(n-?`1VVyoisPU0)mQbQ z%;=0ifFC8E+f;^uLCM2i&OPTl-&u0be*gFd;3eLK;DcX6Kt=-^8Cnmt6HPHSYfniR z54i3!G%gvI;Vv`yqZ4@vO$;Lzca`!-+bJ1bIVvl$MZZKsK4lCo_fgRv{is#S59_yX|B)M|*ZVm1CGp z-4<&x1PQGovNnd9=KCBE{>}GhmVp8Z)s^dQ}FZ!5Zd^WLWJCr*6Z+A0{-qN_aWY-Jj z6)tnF4R5USqIz3~q2i_1xb}bC?0}&`w=1F(n99(cb*W^V+HpPgp{!kTbiQhc;&fc8 z?W zb?h^;6P5`NyQ_+xQw(fQPgXHl#n^OT6_esJ`x#Q;3j%&}>s`Y&as7E-?1GKI7S}ME z=-i12y3s{rp%1;7qIDkq6yH7aKUiZp==nwhNzx}4Sj8GKi(sL~)rWPGj=_J9aWR#L Xm_$*C<(%Xf0v`!j8`-HO^Lf literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/connection/packet/CCashShop.class b/bin/classes/net/swordie/ms/connection/packet/CCashShop.class new file mode 100755 index 0000000000000000000000000000000000000000..24ef32717e354e8aba9b3e8c782d317f05b9cebf GIT binary patch literal 11566 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 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/connection/packet/CUIHandler.class b/bin/classes/net/swordie/ms/connection/packet/CUIHandler.class new file mode 100755 index 0000000000000000000000000000000000000000..83b845a908d5c929ae0150ebeae7e07fdf35a421 GIT binary patch literal 4927 zcmeI0-)|Jx7018VUeD~0F~&=57zjTCF z>s^qVI}AL6E`f;c=1T=TNsTJar6kpo0kaa%T{IDzRGPF{qs`e z2?GiAa$8poKT@+@m$P9VNrA^3;+8Kuw(F(x%U0RS^9-p`N>TJ-z`&D833TSmw&mIL zE)zLruPoX;`Z1b+ke#YjNY$w^5ra6Q6XYwl?|+3ssl~UJaOK={(leGsVrz%<0eitf8Y2Qx z-?foz9%(Gqoy^^Jff9$oZ&0KRT0{mcx?lE2pB+ojjq7+tAlVq}&5p3D+Cge`J~QFhJP$C+`r@`($F--c60|vMvB;5lwv@Mu z3s%{Y_rYMuTXvX;fhG?B!yZh3Okp`|SE@x%h}J|VQ&)p5+~FpBjrCE-wc_KUG<<;m zM=H%Vx*3~|j?9>}=9gL1hac#<>p)@!RZV2|JJ(8(ryji9M;pJKq-O zuxGEV7L{tGCLR%J%U8=2XL((*uF9*X?m3~U0SeJvsanq4r`cKAw>KZ@Ps&$UzMH;XAyG;38hbd!=+(;J4^I5iuic z=r{Gy8lJj&=O3m%u!f{$=WB=y%XVHxX)G!}IbcYKGJ- zr`qbLcoQ|-YExSM6mO!Y7EFCa|3WGz3+SS}gYoD>9NpN(zlUJ*Rctr1*n=7DWsLUW zI`-qIIDq#U^!ITPA9B^N(1TBK7`N~QzCbVj%vbxrB8k6aK*jhC#xac;EG#m@*O{a| z3X~XI*m#3iDJ@ZwdAW^cI4YgDaS4~11vyrvMo393l-iW!Qqp+hzo3LwTKz6Z{d`Ir zW!k84rCuLtn}-Dhm52Idq5fVIg$v)Nx$LVC|od7S4)o|E)FfxKRtL zbovV33;;Vu*JKdZeZWQ~V4A5Zz_ery5DJnGlDB~tr2s7gC(+VsXlea*X!-Kp%Dbf* zr93EUH8qk%DF10{19gy4jt=;9M5PhB7@<>ooNJ^mM(TpOO}1wFc?%q2Zk{GvLnP@q zhVcwe<5^@Vox@37<$np>z$s?ydHez|;Fl!kLyY3r7{f>WKKT@9@OyrT{D~TW8HbSPwy-2X=_-A{hPQYs+33y@CF$8tAEnboDVtfg79Z2zYHZED5Kw11xVFVxwNEuC@ z22y3PJH^S;E>g6g{PfVVeunKRX_0(R&{gh+9|b*bh;;isZU{eNFl5Gt*iEmiqzvI5 YN}3vbmr|Ja`&6i+JpX$fZ^6&L0SgZONdN!< literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/connection/packet/ChatSocket.class b/bin/classes/net/swordie/ms/connection/packet/ChatSocket.class new file mode 100755 index 0000000000000000000000000000000000000000..02e3c933ad1185042e2c38c3ac6aca969c1f9e3a GIT binary patch literal 2104 zcmb_cT~`}b6x}x@1j3X8N=v9MQlt!@qc;5th*AhJ8c0n7Ysm|1m|T;o$xNM0>T>x{ z`~$xDpgz#GbS-~?KgzoAOp;QtG!MClwhFXxKKI|pWd>o~k977BZ30)41q zTD`s=8qd7j%auwSJ2{1PM#D##6&Q?=nl4)v*UgB=oCY290t1n8nWXJ)QxSY zF3V0su11cF8kVpuphb?Qz<1oLz_^}&C5-5j4vLte;bR4LB80kKG;{lHPHn77d@8Vb zu6<_|^DLB$v01Z%lBbkI8k;P=z}39t%KcX3MEYgxq|TeMyk}eWL(6y6xqTTAYEF~A zKHuuga;ypr)xE0Y7G<+lXG)zdz9c|b)^toZTedBmOev07ey^i=f!Q7-Tqy-4y=OgZ zGtdZyVLDjm^j@J1Sas*QEXwa$f9VF&-)TAZiYjH%^BSFaBh}9B9${Nm7V=0p>Si zm&3(=_gtWaW!vT!%VTnQ*fq;nhXJ2|ZzVK=TbF0%plLLzxv`577_Z@-P_dj6-};Vp zL#|y`sgl?7ZK)(p^}JHliqbCsQJ-+usb3O8O*^i4c{2DF{3aG&K>W^43>mJ<3<~@n zS1o#g`*^_9ARgioZe_-$hRl7L(Gm`ON5brz1*y3+|)fYw_<`*1? zL%7N@G8#s{7I`C!RoawgjZ;}*ou?_pUUC}6L{cH<@{*U)DaI4EhtKgv8^}x;oFO70 z*9b&q7H7DO(_!OH4(b1KNYml*o2Y*9cB(f?Xo^&)-v!l8Y_+MLl4?J>Wh1In1d>gp z6Rh^_&N>Z literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/connection/packet/DemianFieldPacket.class b/bin/classes/net/swordie/ms/connection/packet/DemianFieldPacket.class new file mode 100755 index 0000000000000000000000000000000000000000..f885a5e6591513ceba3129b4b31fd447b91625c8 GIT binary patch literal 3985 zcmbtXYjYFV8Geo}yvSMu7PTQ5HxLSuY+(hOONlTb%d**ENsgqL;xtv)(%N1ktsH3$ zCB5G-NiVtd0{z-)zNVdyGEHXkDKnkvZ)!`Qvu7m>S#CYWA6Do3zR&wS?|IMhKmPsk zrvPU0hhYq0P(wh+0SpNoxozGt<5knyi09UBTV+>Z=(6qD?iGQ-NOVQRL4h-l<;I(L z>y3(S#cR!Yx$ZbzYS*23Zrfcp%dcB*5W@&*&~=R9kU*qo%ckj6s#c>J-?Yq%)sXwH zdo6);^XZI{%$5p8V=lM6?;goI1YM8Fo<~+1vxy$vYEjbl96^Zsj-gfP3yuHE;Z&JtS z@ua}00@)NCUa!sQQ>{H(+dj}U9Owa z5tr*u`0EyyZW-CdQsHJUKVM4a(@c?JT);&QU)1p|o)bvyOAwjJz8(wJdkm!@M+Bq@ zN)UrRX1^iLzo6qwxWwQ&>n$wa+hR1S-5T|mzrQzWgfb>@S;MT3E4V6f^)b*ZP(#GH zVpcuyb5gma6k<+tKc|$Lmjh!mt_2;7xGr!|Mtzs*DDdQei78WGBi@&AL&K7ejAVOa zFT7kUFhaXUtF~2Tnj01A@wgOqS;xy#)Z_g`&F1DkNeeoPc!i5-L*-?cP|K#f`PlqR zBaG)JzO3Pvj#a$+c>F6+lFKYBMpGb6F1^#?oxCNx=_W#W4PVtz((yG(-=RmRDN@sZ z(~?B3=_q?EB!y;!-_&M9a(EM#j&<HkU-1HGd;RPMtYOvacc{Zi!KHY-X4<+a5>=H=udjO#j;D8*ojvT1 zuJ6?ARKsFr5vc5w`2KY`v0tu7E8Yd(Rfhy-d+F#;`yQUDU)hi0a93Qie(+ZB8c`*H zZ?$s0(b(RS(xmvF+TgNiWYySj1P7W@3jtx!l+qz@)lAzd+BKSr@PX4C&mJ-ix!jQ{ z@J>`_+CoMn#=dj+Kv|YF-c+_z=0l-S-)@wx1zR58alfkVob(x4DsdVvAFuK+2qB-Z z{N7yE3wJ@ezS$}Ea#DmV#bFmL; za?pb@#j*$-K?q@t;V7Qs+wvU7F~hgyb2yF{@dU2%J(2V zvBG!BpvTyVVui#WzA+_ZQq;60y-n3FW{<&aa=j+ zV4U$WN{P>4;2}e$d>06>BW%0x$x7CL(ZT$hk9ksI-t5I}N?v#540|b;BCa%XEnouI zyD&|5Fok_gLHrWG@&z{ON(y{Txq6+hGO-hsH#R{h-Z@Y?qnu>vWSOVoWoB`qOPpg~ zM$-;Y#jo)WjfZ$>RlW!DF5dIqW&Oy)%AMmyMt9xe9P$9&qJ>xKsniup81K`zOaZME x%5U)7{-M0l4kau@QAfHvlrqg&bg<4)HXjM)cb*d&%I}$7-JuBFr~3gs_z#0e^DF=W literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/connection/packet/DragonPool.class b/bin/classes/net/swordie/ms/connection/packet/DragonPool.class new file mode 100755 index 0000000000000000000000000000000000000000..04b7f8056cdf32b921aa3f281703a45c08dfc459 GIT binary patch literal 1964 zcmb7EYje|95Ir|>tk}K;$3Q4aO7kG#R}g(uOlgDTfN30uI5nluQRGW3s_1qU8K(Um z{UL2Xn3*!uAJ8Aw>8|8QYG;_#p3%L!+C6)A_uT#apFjTs@F~7eVgi!}ViHq`3#6Z0 zFD%owyhF2o@Lbt}K>V)bIl(=F$!xA^U|L|+Q-OK>Qu{4OnMcQ_tv!!S9qpO*POxj) zKdK;sBvJ;X#5v3eWJg@ume+EXe{8mu)lxqDJq&jOGn;!G59&KVl=mtd`;|?B{PtO$ zOGy|=b1Jg}>)EsW<(f%cz(oU>B<65gV16W|>pWBDrf(f;Phk2`1@)Jn@+q%uZZwMR zI?4-7yKVWF9Z+s%+7YuWm^ZK>v52Lf5lk*Y0$OB80Z(g!Td&m=x)O{RK6tJRwo zM!GLi2I(yxA#roZdOK8lg{x;BxT=(EGU}GZ14cd9L*1(|u7RpRVYJypl%K-O(o@#1 z)-Ls;OkEK;zwLNxr*m|m{Cy51klEI@f&k_*9vry?V?yPy12#X?|1PruO(i8Bkw5U3Z`i< zk-`kp^k2X%R*^xLChjd<#BG|m%w{Qyh{xEYw-hDNz&`Ow(?t3bO+riH3BKwv{DrJz zWVaGAyhjXc%y6f;K44fZbg@w!GMS_D0P}>sNT^qd3C&L`AV<$fXuar!i>LUSVx@37 zl57PgDUS}nGI)Vdb1mbE1M;z!a@8i_zjsP&;w!!jw`E<3op(DWDi ztR}`7!w>LB8SktZ5@KSLow@g%nLGFFz4zy@?-Ky8P%)4|Qio<@0V#$}Uqp6zA%mVP z>_KP?e?T;>?u|sqP$-s88vl=YkwF?69fpZTm<-!KKWzf}OG2~{c54&en zGluj_$8&u*dL1h~X3(m#M@?F4xV~tO23-*x@vcYAazi@YJLZ9_@RZDUA}Tr6c8ZOT z90iUza8*S1Zy(AkFTGjw9Z!a?f7%pLU-op^45ce~lf4p={D=s^q}hTFce{K zgC^u5O(e_Z)r=^Qm`B(mTOc$+l04wuH?YYM;|ui9>dSt`b?xvYw6`%_CActyYXnm> zc$c6)gBt|XG5kccpTP=NaT9rxu|>9k3Z9XDjy>#?t)Yz$*(8c2BNdDJfD-u$T90Y1 k!+5XLjpjc#XxNUgKEV!I4Q1M&#!MNzWR3WL$;qXE13T8*NdN!< literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/connection/packet/DropPool.class b/bin/classes/net/swordie/ms/connection/packet/DropPool.class new file mode 100755 index 0000000000000000000000000000000000000000..0d20ebbd473bdfbb0141d67dead495e66a2e57c3 GIT binary patch literal 5573 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 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/connection/packet/FieldAttackObjPool.class b/bin/classes/net/swordie/ms/connection/packet/FieldAttackObjPool.class new file mode 100755 index 0000000000000000000000000000000000000000..8e9417894a1031ee557df815b332b5156f45463d GIT binary patch literal 1380 zcmb7@Z%@-u6vm%B24ka+Ib_43$OLp7gQ|$Wn3{}HVzcoluq@%#(ybRMcCG0;ly9ZJ zfJ75NfFH_uZi~t~LS~!X-rIZ5@0{nHdw>4=_5;9cyo@1)kqE*PMlr^aIMGfu+0?9e z@^0&dw_S#@SB7P{Zx}{$`9=ie3=0-_d zkPv!qGpyu>_schg=ahsym?qiWYTG)e)CUk(^eVzgYni;1ZwSe02{S@(rccDavc20- znj44Bs&XiTWF*Yu9z)a*qFPkva8C6Za}pj1M!Ju2pwusG5El`dtIeqXNAa5Dm z)XT0*D{AGQZJQLM;z^pU85ZB^bz0o1i{u%SHM^~u4b3sc`toPkJvO=w>%kHZ6RSkx z?AA%e;hIbQ>Oc`qDIeyfqjbSn9cpY72^yhdoECpSzsOpPFD)xED zKII!{RemPUgF0-UkHB{9^kwuNEnI+op-Bh}G>UCt0*f?Cz5$l-h*nWNMvndn z=N*iA(ByYS4!jdfS*88F?-P5wDA>hWG5kwDN!0@8D8M`g h$YPp`BT6#wyJO7@LLfY+86!K%lM7%Q6#h1Lvavg9O(-N3D1|O<0wqgR8VYGbT_+}?b`oNfQo`S6y^Xio>{z?& zgxrwe${h*rmEc5>qEMmUkbol>PDpS^0*ND1#W(Auj$9W=r1iY{KEM6^-kUeiKi;`@ z8^9PUX>=f=BPq~{E)65T6Pe+<3@WZ;u7)OeUd6obI$W1z7&@Wp)or(87Svi=aXqiR zQFAnOtyx~(2{nuk3@#Q9rZSpBH&Qy%0*4?p47JGE()S%Za;0z9EPI8K=2c*G@!mMA zA#0S@-N>#Mt(w7ijh#e{)zF9&G2%pwMj}R>h|!uz$KrH~H90JB1Q`v7@}69Gf^uNh z_yZRXnwctdufT&iszF!P^({|BVqkDu$HN+q-LTdy)3f|#b4Hfxb~R3HG6-a#g6S7{ zq$QYP#Xl5kuhV*tuYZPB3q|zH&Y- zFre7(vg0{58N>?D2t2FErtutxbeO7hp69u@9M*k1=W;!YoZz~*k&TbC(LR^< z(=}}r;?@}!IH&q1e}Fb>9WwW|wQ1_iMl3dJr zZcA#LwO8(6?ENUj#hwzF{*PieG>yAa8O^AS)~HfU@QOeIMGZab%L&J`Hp=cQXUjch z-&e4zbS!%ga{{j``M$E0r6`d8a$W}4WW6k>EWhIMByuPTl$B4qRF&&l-oN!w$AX4T z^McMU-QW=7&A7-gd^Z}8?=gLnIay(}M+&a*%+yzxI5n&#k4$et+LpIq1+Kz7WKT&Q zH7C^$PM2gou${cC-pK43Y(wg&DLd)go(x@ox#&bySd6t^#nG+nmZ}1Nxk?B{b3efT@#g?O(-|%Hz#hbL(2>wEXJ3iacZhxEp8v3Ss zdbaRDa`q;YS7O*l*x7`~2)ml_aYDTbPY`xD;Yq^G9`92M?{ObgxZ%HzGjR-OH^JwH zEnL`*f$$~5-53Zj67H%JzCzd#-NxluY@e%DO_!OVfevX^?g7!;n;Tzgp z_zvIG{)AufEA4Oi9e>dNiNA4&Hi5TzE{AE+`2jxe9LEodpRq`;gP*tgDdPB5ou0)u l%Z%ch%R(EM77j_g6N|r#_h^$$2Uv<3l^BqYn}nN8_doOSKr;XU literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/connection/packet/FieldPacket.class b/bin/classes/net/swordie/ms/connection/packet/FieldPacket.class new file mode 100755 index 0000000000000000000000000000000000000000..9bbfdc09768cd8a663f1cf05a2a2450524c48f8a GIT binary patch literal 51152 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 D6p4sZ literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/connection/packet/GachaponDlg.class b/bin/classes/net/swordie/ms/connection/packet/GachaponDlg.class new file mode 100755 index 0000000000000000000000000000000000000000..705f0b0422afb091411d3108de442c611b9a6f21 GIT binary patch literal 3590 zcmcguU2_v<6n@?|?KbHGrBEb-d>7KR=~6_+rd6R7S_v&SZ3RSdn=Hvfx+%#9D2j@T zir-#3dgY9Ai(CZJ8RgmwZn^Nv(HZ`OgW~hs+w6#8!p%f^u$TS_9K8s1*(cgSS%3on514$C}fgaN>8M;b8 z)dkFbAdCsjNp5pFCQq_a6&!PC`ja~Vpg+3@%x4%x${Pbk1IDwNSS$wRouRk6a=<;Uw zAdgY@x{o`AT#1pvLxsr+BR8r~WO&jX%O>>9xSliRbLr4$r_H=Tr#Daq3#xm>C=J;u z!;;%Z;L=01sI-@&6`MqEo(DcJtWAV&(#Yralv8b)tEF8)Y~)0ekX6;*dvaN;Fa=t@ zCi86y>MH51Gu#5pDwa`cSmgWU%x2!^^?2{z&Y(uvOZBm3OYRl`tx^)y@@Hp$ z6z8d-qRC~hbJNcy3V%mRWJ!8co)3f`uhRYIuL2`yqeY(~Mw>j9^;Bv(KLU>0=_)nP z`282z$^2TY0+*>a(`l)(f5D_G>U@AK zbcPQ;1T>|Uzfjlp?lp-Ma;l(PwrNjuy18cq@oXWNF!q>oPc~ItqB>%!L{zN1isNq)-Lz+zbZR9yvRF~ui8P9aAv8rRgK77aYR{Uek^ zSK+^gCEdQD&sRiq&=)RZg(I|I$7%tJ6xIuL*9GgYqgCJw1f|q2a06O*eb5)IFQV)6 z-QR=0j*`g}6y}=r&YJ9?2@Se$ptoD0u~NjdMeK6j^xwch5ziMf6y&=iUbuYs=b$e# zlL>{nZd+&Fj>$}BbC(fbq}R)LZv}lzyKA%B5|IhO5CYE6u=O__&yo%TOEv55#-D%Tpyg^BJ`ZnIARLdNHrKh);`P)1V z^V{|IPRYl4T%5Ihch>SfTE0*Hb*TRfoeC5MoBzbxJ7{)kHZqUN?x^B@Jhi)ILY_Y{8-8SE1LUw*6H%<74m8*!k#2ZqVQFuzeP)= z-EDVdHGAA1VTU6!O0CnLHG~Yjoj0PBaA|DDR%}2Qf!>A=YPx# literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/connection/packet/InGameDirectionEvent$1.class b/bin/classes/net/swordie/ms/connection/packet/InGameDirectionEvent$1.class new file mode 100755 index 0000000000000000000000000000000000000000..a0b2fec7e74d1ce3c11b6f89f8325ce34381bea5 GIT binary patch literal 1986 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 U<8nNoVk|nn)Tl73j2bHa51X4io&W#< literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/connection/packet/MapLoadable.class b/bin/classes/net/swordie/ms/connection/packet/MapLoadable.class new file mode 100755 index 0000000000000000000000000000000000000000..14605b603e36163a26798931afb2733b90a520b8 GIT binary patch literal 1769 zcmb7F*;3PB7(G8!LQ4>2QxOsOwk&bq3MgR3YFTF5>5Semq5UnvkT6N=_9i}ox9Ww0 z&NyECBtC;PE+&w@RZZ#HmcZ#` zJ_?#ig;#-ML3)`44x&Rrr;0=95*V?hr@7Bol32B!M*KmW!YjyK~ZKd+Nqc7CF#lS#DK@X|#Lo$v&99D2d#ZmMN zBqJ&-x>Yfy<7z8XuSiFuh5NxyV6c!aF3n9XE)}O{XR~*g7N#F$XNpUuTp?GO&SwSE zQKq|sF@W6|@N;-vU^KaZy;P|UCorVoq>58GEzrK5Q6@$p<{GaUV&*>Q+c>M@9L@_Q zq*b;na{8sm$5=8K;-plhF)Yw(c+$~5+Y#tXHs(54zt6N`6k`fB6&G+(pljRemWY6| zqPz3*1xe8QV_)O4iYvHEgH~|evxVJIuT0!^MlO;CmXcY~o*0tfNTv8*-BfW48J2qJ z6|=Y_gbgK_^f%M9Zn(2+MRIbT~_mQFFO%C5X!*3FXc82-6_8S_>Q_QzN> zLk;jdE1b*iPK-Z-s2-tg}u<3k2TL`enM@!(-CQB4ghs|Uw@PF@{3rN+Bb_MN zHK#1^8UDQLY?xkSe&ypN=U)>CGSCd+Phx(@dD6HFt_RW|A>MJ*#F>rY8R*0$_i8AB z+qlD1oC9>Ku6(Jk+?w8ivVr!ud~ek6ZqRSVG-m4hU6k^TzayC#*PEZw{pdYUG?7{@br*BM(rmC6m%;X{XyJ3 N@0u`2`T1bC@CSb|**O3J literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/connection/packet/MiniroomPacket.class b/bin/classes/net/swordie/ms/connection/packet/MiniroomPacket.class new file mode 100755 index 0000000000000000000000000000000000000000..60b6c0e7b03fd15a647bdd415166230fa2c84623 GIT binary patch literal 3998 zcmbVOX;%|h7=EqV43`_>p?zQ`3_kC}F zLCc4DPJ2#&K>ts__Vl@TB8f>jVDn*e=PvK_yvy_6`TO5L{sQn6er?1u)CCbRP>G z(8)MxX46Mfnf%XbWY0uEvG@~)-IJx0F zQ&OPur0q#}*rgMUOC?zK39@U&CIg$Xg^`_*-iVpik?m2mw;I@nHd>W-#u=AAcRX4R zgnGgwYPDUh?obm+HPL}xL3A3}jgUaNf@>ygN!v?gCQaAOkYPeoRJ;WY!VY+o(mlad zf&Qu(RUK9vyTg^<)!x>K2%#J7v)|0IeAY6OB~cG~u4PYXjT|#@96c-tAIM)3SQo0^?%VD)a1y8d zvh8!mblDE6!aQRji9Ug*qNPd4W#0&dhI~n-45XEw8qQ_Sj7)km*N6cXo^#aoVkxq? zJ)cmAlsX3u3@KA9hNPF4c_**nFBllX#d+1F9D72c_xb3T3_PojwD<~;dCxU1+k0T~ zIRjTp%Sn5dfP->+hWnK5Q3KbM<{Et0k~SM#E5;0Dv_~gzTb{Pt0Ez2COcc`K6>eEB)TFad=R_jcN<0Oe;IuD{V`TQ#F-Zt6_jil(?x{iQhqzii2&yQ3TdJ zWV_d~rQ$tpz*W5Ki=12G8JJNs0m_gLM{vu)ZQK!9TqQMO8TvFfz(C{%;Xi2NYbw zBLcBU0b`FK(KHL6#T*VL`>OAg+UWH;|BPTmYw;6O-ZKPt*SMN$n`+X>{hlI_Uc9g# zsal#crk#;lT?V|jG}Z|xH3-!Se=f|p{0P01w0lD7O*{5uO0zD zBGCeN_Q&ctj293tAQ3CzK#b$=0*XZ;YwH!E+qD9ZG&KVIU! znIQ(kv>zqg7#YUNY7g1$E#uRP4{%TO>BNT|sYG<*BYaFgP4q}HQ+z(br$s(akx%=> ze9o8iX)9p3jLLeJ1F)Y450c6uQaMa2U7E&rngfgH0gZNihR=0a*3W}~fiH{TN$yq@ zH#7Jpb#MuLm zM$~h*tRlDZ`w++x%puqm3w@e$b+HS1%Ei;*zF_0U%n@o{AaVSNpR_=B6l+xAXWCna GU;YC^ss&5{ literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/connection/packet/MobPool.class b/bin/classes/net/swordie/ms/connection/packet/MobPool.class new file mode 100755 index 0000000000000000000000000000000000000000..1a845597705a803be86f936ccae27bf585b5e862 GIT binary patch literal 17129 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 KX>=Jo$^U;D+7C4V literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/connection/packet/MobSkillAttackInfo.class b/bin/classes/net/swordie/ms/connection/packet/MobSkillAttackInfo.class new file mode 100755 index 0000000000000000000000000000000000000000..27d6105c9b975435d9a65c7bd7df6873690baf96 GIT binary patch literal 789 zcma)4O>fgc5Pj>Ini$ij1zMnd^#f>gz#zmarBX^&DJTIXN0kt#jcw9xHoMh&UBu7g zfGUB+58y{3W}S#g>4nSgyxEy~Z)W!QpC7*fyhbyGhgtwX!WAqqG*0b`2FBC zPc6g3o>0Q>Gt_o=j{{s~xKRa_R>-(*4FB2{g$)s)R>w6&0j@__#1g|xmD{-ZqD?09 zcwEG(R*Fgrt>QDDj_9$c2gyiC*|wG(9ramL^>Hb!=yNm7?U6PIT*`ukb!ViGujROw zBdj>0Rl`-*7vr4b+a~9eaxRNkbZwO#3e)4oh=CnYOA|LkXe*itF?-7p6i!a(km3@C zdLo93+tTC=&*uc}b?3UP=J7!n!Zq01Z!v6LN|{YJInl;eQNGAVFBp8GEGhOrb!gIs zJSUa<%#|W3j8rUjh05QR<3Vovd?3lQ($y)K$J_{qr%vCV2rBk!UgQ64fP{yM zE=`&r2}iJYc}dS)AK0J`c=U@x(9&>|EQVXtdlhRHzKuK8P5*&j?~?6doh(}0KYWj@ z`_sG!cv!_hn&xd_v%<`MPm0?j)I*IdV7++(*8GX!;|1#95zfrUH+uH4P3Iy7gM|8M W5alu+6N)D3c!H;d7KmG;aBm5~ zJ5%*sms=gr&6E!P4ZHe8`6Gy9REJ^UJT7QRo;q@1yS2J%wKE6GuBn!sTMO+yj3t2+2Bt8rVMMuAucj=Q?!}T;h<(|>I|6*3N4Hd?S+{*<)gLrYek`%0|b4kh0;@MAeYEa%rt6;qD9FGoI*T`OX^j(cKj z_6OWFB~$ipT}5twWZ+|g9vA3Mb89DGD(B1~h%o<|f#ugM=L^<`EawcY%JP_;u2|-S zol<#c%~~~OF>m0$EKVLnZ*G`5Yq_wqoZGTWMWJjN_&I)|!3bq<`Yp%Zr%%a3w=Kh$ z5#4nIMZvrzm}OH4pG2h}IhG>Jqu{uzc-Yugtu4_@i3P7}*DH3*k>}`T%s+72uj#m+ zT%If!8hoDhV!FO+?*=)xO}>*PE;Lx%{!hr8g884+rzqBfg$07 zvY)Dmu=)Lj`>bqME8}(gMcZaaw^YM>O0Umv`fRdwyBXQ6Q`>s5@-S(wtXSKpnFlK6 zY(u$zMz+e0m0m7n)oRV7-8mbA7lt8XPd&v7fWHda@A z9IL}Mr|sKrl~6l`L!IK~ zv1m8gRP0_Erxd^0R8_~WAG@DTT4$TOZ$sj0Z;xMGi6M=AW;$?YFlt$~&%{mgdvrRJ z-_a)VP4AEi%R4eHjAHnCxGk|bSa0$F2KgHWGk|lvmiUz6ug2e@)Jtez@n!%Uyvnj{ z{e)K|+<-DR`80wp{E~0v@E!&O(5wH1{^)CryyVbYNF8DP2$$q{hQFzWBV1YdlDk9X zNd^Zl5POVY(utuhEHr=9*BsI+QO^VlaKq3{w zcStNmBp4FEC7l7Do(&WZVuxtM(7wgIPUI1M3Ol0t4I>V7bt$B|M4I>Xgg(X0C3Mn# zFQJnlub25|BK89Dgq|2W!cP)p3&dg~G$uJn#6)5u)|EBIK)?!vtx}drH}lNLeJsKX zZI?@C^*SVnT;B{t0clyyEW8ivhlnx^JN! zsrf6_h$~k@H9w`A^+nOL*ehkR%YHntZk<(7VhwHJGVPZn%!V)>)>k6dqijNHw}F7+ zoG?sa@Fc(J@tB>D!-$&CLl8WShJfu<}mBNCU(K80a`SgSc b4aW9@c;WaPkK&E8F2eDr;ZH;xz@PsIfQcG2 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/connection/packet/QuickMoveInfo.class b/bin/classes/net/swordie/ms/connection/packet/QuickMoveInfo.class new file mode 100755 index 0000000000000000000000000000000000000000..9ef5364b1f4ed6a9fb4f2be847d0cea1853b542e GIT binary patch literal 4001 zcmbW4ZCevZ6o#MWC4o2~Rly>PyeVN(qCr~~L@c1Df~ZimXsaQtu##*r381yD_T9ex zlzwP?HEFMY=nv?p{-R!e&hDCo%?541WM+4Eo^#JRXXZ@)`sa^70i4J8A=IEYh&qLO z1T?ffjBmyx$+)!=nO%BlByt)8qo!r%#x&H12NoL9fW{y~3cH{*3|U4llHE#YmQ5p) z%0?1t%i<(6ZAI4Oi8T)1*f0}oGwDquW<5x2sDG3)W0M-Rm?$+X>=v0&&Pc5%<2fTX zDX-s9*n_JsT?Lqp%R$BJQX&{k1-{>i#A(uh{H1+ib@O|)z1_DtExnaRi{Gil75 zDWgwjXlPuVx;cAqJ~lI@q1S7pa>7Um9XJ@oA%#vH)^Knq6B-&GWYQ_e&_wt()CYF_ zhU;rUw?Yqk>BMX26^`LJ zqnygFXxKAdN`$#w#3hnDXqttjn#M%-9oN^|Ao_9b6+Cp1dYgtkRQ} zFw8yVo%HGj)Z4qAStw$5*eCsV++SV<=z41)k0HH1D2(k5c|=QmIzm)9 zM1oFg9VTBF?R1l{hflpYf<6rL_atkpu-U?Cu%{xqkz-;Pwdt}Tq@T%P`I9s6Qnlhvm#Oun>5N& zjV(N`5F0GuY=zhm#UfS2gj>X(;3HS;CJolou+k}ZUO!gA#WKZadu*7Br-*vmR_$`W zFCyBP8>&&mUU?1sPw}y<{{!`9iKByh0h0w>k#@#yuNN@ycHei~y9L~rPZ9;JNc)g& zDZ)MUD{z*-=g`7?NC!sg>+_827>0S-7{Pei%14Wgqxb}$l1P(Fgi98&pMiS)R|J2g ztP_y{UxU{ViH3NdAGk6ap5cr;dCXl_z}`S5KqsD;Ip<0lNT3K3a8pc^JBO=P4$|ZW zx#|n@+#jUL3o=WP>s3HxH;PAi#qj}YDdni+kvU(G&+xfBx#W>S9wc6nTLigX1w;-5 z0pXp;2c+NYkvqO1ys}n+@NDb%g4`p>{VE``zXjwAeCY!+XY>K-^5#g^7li)-{6MFUV705dNp|11YN@&h~vqkmprEoqkK>lU|8hoR$! zz|g_B8aHu$Q*}{Cw~lFn{(~xZtDhXvZ3B03m;0%TSSLv`b*zq3J^nywdAC9%+FhW$ zmmAd$%X?vNI3!s-BJb33#)oU}mQAN*dNxA`_?k4UB0RQ;Cq#N5 zgFhfxzvF=Z3`vZZ79Ox~dZ&G%FMC`>2pVgouMY3wTzdQyM&BzP_Sr?Rz*F*FKqsDo zu?EPJ5oc9C{EssVVUDC7cu1b|cof8!Az2LJM32_bPMlt}I&{Q)7xj%$et z#YPo-J)D?SY+SK7BZ(=+p4i8&59r~dv>Gv>K=X9QAK@%H8z*-;N?Z#{@R*9qrC7of SMW0gPs6}KgsFcgIgTDc8q>iir literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/connection/packet/RandomPortal.class b/bin/classes/net/swordie/ms/connection/packet/RandomPortal.class new file mode 100755 index 0000000000000000000000000000000000000000..92bfebe8c653a7e1ef476a5d9b115ff02d9f6001 GIT binary patch literal 2629 zcmb7GOHwAID+w%Y$DM4Xt1EryobPWcZ*svW}FA1ddO2yQjt&<9o=L_!?Jt3oVQusv`mvC9&Le+FP?5ZXC z1jf>hc!#c4(oR3f`Qp1(yoVm9W$fur{;7b-r1AkM1KnEG}gpZ~(Ond+t6`FbeDy~bwB)?wvj7mYnO$Bo* zZsE4TTmw`4!f)6%i?0}tskeX9UknM&X&*EU9b(kw5>aqd=4gK?w(Z@ z&>De5_O;k$a%}F3&A5@qxbuRz2lzeDHn;1mbFwii#8&SD#&GlTmxe&kS-CbV`f>Sm zp=X*qs%2%QGYPv~I`JEFs!2i1s4#88)Q`+lS}tt@MvXl-cicBfpmWpZ_Oq&20&hFn zxJ#kU_-^xd6H2^=&3?@ZOdrBP_nMP#dnougQgLe2K6DIo#gZ-96+Sp_?CVE5JAcir zx~ryao2r7B0=F7h`2RBrsCk}I&T>hwR!w$EOdcy3lEDrd7k z0M@Y1Cqj8d!W(ViQxeEIDI!YJ=XelMzu+7BZfGW3LvIaN<$a`v_iISY;SBF}1>GLY zAmtAcYZ!wV@!0!(j5GEjY+{QHJk2p3FlpX1(2@NeUB8er0-02t)1X%}3Dp~S1TX@h zd2gjd3xUjdcJQ1f^5_O8X~|SbNc>Dl+)G&s*~aI*O01;-D>;*WgBvx>*Yoq?vdnKL z1eZL6OX3TBNf?2z@O1$9BjKWiougYHyuqV_bS?4|E=nV5-_pI_MNksmU ze-8saRQDae4>X3oSAOMpVefM-z1Oi51lPTnjoE0{V|u?BGAr!8>~-!MFg(U0Ox|Oh P*~K15DQ}d3wRrVEFj;+L literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/connection/packet/RandomPortalPool.class b/bin/classes/net/swordie/ms/connection/packet/RandomPortalPool.class new file mode 100755 index 0000000000000000000000000000000000000000..bd67b9cf7aab7f585e41834c248c4353be8fd796 GIT binary patch literal 1486 zcmb7^Yi|-!5Qg6av@5W^Dp;^qYl{N4UE6BCP-`h*B%y^MA@Nh)!b!UocFD4>>AzAx z&_ok|fIrGO!&XD6A;5<{7tYLc-kCY`>-YDc0A3>-fCpX$J{4ma7nnZP&vmV#o5x!5 z=v3Amf$?p_G@Km)Z#+>|a6@3pl#bT^Y}s`~YR$G*vrLnY8kVUQ&zzE8`y?Gd0thNl zRZL(~Al_$kqMP-GwAmwC_ zf@xMXBd{7D-Y!uM;3jS<2&o9;HW~LJdz7}iGPN=Zv6>~zcJzk8#IbbJt(Mg7%0){G zY{e7(^uaEc*^cfXK~%vV74x_&urbmtx-JA1PLIi#qP*ofBKK6>$D%+$nl-B~_bwc| zp)a0yRWGSnW>}CUxT(+A+3KN+M{MPHt@5VBy9pIZtWa^dyOiK-VeS!{W1xQ2kf}tK z3u9Hq8dpVMs>`|kVl|gl@I+vJB+VtuBB8zv$r6|<7^XZpYaU6v!cc+Pf>qNSRoymt zeYNRxPK>s|=4c6GQi`Hmv!(9HxQnntW?;s6)LEf`hfj9YsLRQ;)DS4ZYo#6m=ih zIToQ&`{AD#f*TNh*J-8EC}<-bAYvq@joJ%FcpMk_zI@SJwo*dS-@ zH1-3^hi~v-QbDXFJDBZYu7d@hKIkCEV|?Wc9dwn54Hqg#}Dw3A0^T*mZ~( zcu8l1h~gDeg!5yYdZ>&2c!iyJv5&i0F9V}Yqgm`4Elj@Vh!a7Gd`9WDvox1Bj~%?} Z(q^t`9_-TEgEaPN3=lU$-72#i`2)tjfNKB% literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/connection/packet/ReactorPool.class b/bin/classes/net/swordie/ms/connection/packet/ReactorPool.class new file mode 100755 index 0000000000000000000000000000000000000000..a1f3e87d5e577a9d32b55e8fa64cac9646cee9c8 GIT binary patch literal 2371 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 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/connection/packet/Stage.class b/bin/classes/net/swordie/ms/connection/packet/Stage.class new file mode 100755 index 0000000000000000000000000000000000000000..9067c0f701cd344968dd45a83a0817e22165fb5f GIT binary patch literal 6060 zcmb7I33yc175?v=NnSE}lVm0g7&ZeUgkc#GjYasb!)Y1txGpQr7HdJdjljhq^9}4+;`u-=bm%! zIsf_ZeY5-9oeu-3!P_<{u&A(V$V0wB=?ecUzbE34c6nMlR_KAGK>qA-G@P6xV5ywk zrlLULh^U_QBv!}b!LaV>PIv;bXq2MiSk%*!N-p#VR_e(@*ifWG(_lxjKxNjFkUtuX z=<$Rnr2B(#|`C#;Q16Lj}eORAl+hU`2wS z&alpQo@@mQy7c6da4;D%BI}h3j?gect}f(MlOFC0C8ci@HB3UKK#^(Q7mCFV?|hTn z3g8xCq*YASFb&fMw2V+P9*%YixGI|uX4Gd4R?93NB{0&MNa%r7Je*wP@yU+9h@P&%*1)UbWPFdc zW@b;IG1s|66j}BER4n0HgZUa3poRI%0Ao#eM=a9dPx@JuLo*`voPtFvd>UG%s)<>9 z?pOakM)7-mNv2xBVcKktb;VN2##O|FM0uNrB@$72M7cL8!MjYBP`j+DI@9UXG@Onz zm@|shuA;MX)8k_+CueUt2PY&j%6kqjV}#FyUqy$809bh6iPRhoj2<14DK((X-LU{? z48fNHOXx=@x>STTgysIHWrs1lVg{@>+%43gG9ftA&vz3$xPn7R)KLjKpD79CM|_kDppGz9|9pc^jDusBqh(( zV2y^gG8#5U*kDF)gAM24TovbOI3E`XOv>6K;g(4HqsfHHr1kq>372r9Ef(#FMKcsD z8N6Kr>>>^8u>JspH^(G5S}RYMj;pv>!vk7S1O$$qjPm7aDGpnU_U=aE5uQ=LsxO(j1QJ3sT)3dc4)&5#fl_ z2xyx>9+vN!L2EJ;CR%e4ItVH8tSO);8GvlbU3RD<%;DJ_JXd?$z3uIF?cQv9%8@jY zU)}D_NnJmW4_u?@t_btr%d;VFoXs)}27Zi8n@2IFl*A0#94(ufgl|VI7U75>s~UYy zSmhWWiSSwm)0$k;*Y{rEp<@SG}kn@sfBg zL46e|DHaJf#KWufxVM4H=e)_PCc`^Z30_?4Qk|U(<)#xu!N6jisUi zJ$On=PtZ&WIVZ5vIK)o!r{w8Y$V1J%>b$e%Fq zxZhtpw-Z=7-`|sgcnNo1n=&rghMd6sA>ww(7+b+igo7<{U#weaK}mWnqSgI{EU7b}SMer{E4Mo*r!mD+RpKgf75AYuGqAoyY~A;nRKIQ)Jj=FY#;lU^k~EI4 zDm5Pt^Wk*w!g0&ou2Pr7<=l=F(wI&4rKUZH`Ec^#F1K$(T^dd7q|t1tDzj7#qhy)6 zn_+yo%6d`k8rF-#{TtbVgRMS{mZg;0~Y8uPa&^gK-P>>!Dca`*l z{R6RJ%v=SA0y8i>up*5f4i-vfwkOR14qR_5w@E*fh8h{}B13^o+mw-(cKAXmmnOHD z##uXXb}uGa7$746BP~@92BoxLOdT?&2Ly(@N_!D79i=Q+F? zK8zZ;6S=GPPU?AYD_pr#<#ulB!v5m}&GlbGj7Z@FrWr!obUFGYzRc(u*f7j}WDNC( z7{xO?H8#>;Gb7$_z4>woGnphA`adtXmyUgiY5GCA{T>#CMHY;B3_a|RWwBK7(|R06 zVm#XkI0{GdgK{Ef^H$P`N`9P7#$vd!6jQJqQxW8M>`F}MebU2g;B;KX&(IAxhL@{j zaUEA~;#cD>I35Hn9>y#@fol8~bMSlA;SDt4Eoyz2-)0};Bz%S@d<8G|p;=flU#M6h zig`aBfrVl$P7%|vNE`*9I1a61HWrIIw23C1CR%X1Sj_K_)3ICxai-{jU#v!lI0pf- z4!XD$onj-p#AbxV%?OJ-5D^ccTkJqoJi=S~Gw2a}_I$``m_k{x4G!7q(rxEI?{ z!Ym|lA7@IKi*7u?u~KHF6KVDw%*%4-WgDE#!bI%AgD7Jzj=)a#hB4BIVHbNP#D=NQ z!HA8;LsE;_hrXNfl-QEJU*j=J#_auua^!RN z9>;^kpzJ-tF{{ygl4E&B?(Gj*XQrVWM7@fVL8O5HVD5yuMBy;8BxAaC z5LsR+rSal#FkFbQQ1&fG&u+LI6I=>HJx+SUgYYcYm_ntL<@Kw^RJF7W3JD_*1 z)Hi4|Wa}d>bKJZrkfW_G>zF=N4aLm^j;y!xfZ4rXVOuC~F9sRo6_O`dEDFm-WvLXg zNSt^QBk&YP<7pD}GnjC__oVlDV|t$? z@)s7&2Q0#mSk8ZCv3^X8f1`y@sPR*3_>3z)r^Mem`VY4M#25G%f%~x#c$`50(m=*B z%=yzi3|=*g{ZZ5!MQ34o?lmZbq#z0mv=Cz=pSrgZFR~L7r)KawHH|H9N31oCn|X=Yx@77>7>|@3LsyHzs=>Dy m#cCW+qM9TW!|4iB@qQ-b8Tban#%}>iN?nLsj literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/connection/packet/Summoned.class b/bin/classes/net/swordie/ms/connection/packet/Summoned.class new file mode 100755 index 0000000000000000000000000000000000000000..0e7a3ca0585ea0b2b0bb6df9ac7ce9cceffae0de GIT binary patch literal 11758 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 Gvi}D^@b66k literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/connection/packet/UserPacket.class b/bin/classes/net/swordie/ms/connection/packet/UserPacket.class new file mode 100755 index 0000000000000000000000000000000000000000..2ee2640ac66c2d6615d8ef54e3705441a4ba544d GIT binary patch literal 8853 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 Q>-mc*tB$D~)p7X$7t9p<-~a#s literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/connection/packet/UserPool.class b/bin/classes/net/swordie/ms/connection/packet/UserPool.class new file mode 100755 index 0000000000000000000000000000000000000000..198b63063e6ff51a9790e0bd834a78f4b17b29cd GIT binary patch literal 13560 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 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/constants/BossConstants$1$1$2.class b/bin/classes/net/swordie/ms/constants/BossConstants$1$1$2.class new file mode 100755 index 0000000000000000000000000000000000000000..ce6dcf9f1bd4e169d20847b30bc7f0e71e7ab23c GIT binary patch literal 890 zcmb7C-*3|}5dNHYOWTF5YgrlN$Ho>$640XVwPO-gAS#9RVW>#FxrymKWsVd(L;P7h z@IyTC2k=KBF4>Sa@zUAyeZI55yYroY|M~d~z;gsmSg6^kJ6OOX!!spJs6S*MH>Puoup2!63Ko2a9W4C7t#9bQ|3YR9cS$azMsgiZ z(mL3n3G^;#xQF|sk%P)TBl&fgc5Pj=}I!;ZSHfexDp@1p2LA9bDQz}6OB9dv5ih{&#V=w7e?ppG$i}+a_ z_z(wv06z*bc8k=COFEY4?aa=bot@d=e}4V~@C=~?3k@4h7uT@B@KgyC=}&o)N)est zD9M#JTp1m`$h98*v%CR)I}8ivNNR6Dym)@%u#FZR8*LYha2dMC{FFzfky-S-DEQ}C zYD1}arIKckq2ULUHkPn#qvK))s|+hOBjaiojg=8IQ83u2JS)Y)M~1#X4&whJ=u`_m z7i;KKPM)R=YyO3>gXytI%rN-C5cyZRO)z0-j`CD6EXPub{qkfgig$dPk!Ll|6P`_Y zAuIdb*{r(8uziJ7yqzI~b0}wuo3fz9;aTaIyS97bKIe@Y?h&zln3qK&Udg(oOOxEL z8by`AR7sX=sb+74Im%NT59y5gXUfpp7uvkewXw0qur(i*!5u3lic!Y37TQL@;Lk_( z2H2#Dw&)qNPN#ak)r$T_+#tM3tGBdo5%$6-U%|rfu)~h?1J}Qy`~D00E!-l#ga+w5 zaIk?c?qZ#+{uvLq$zMsY&d*41kY!QSy&5-hpRkDsq`lhn2#*QZDW^|ZNwrr=RSC&o DB%|T* literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/constants/BossConstants$1$1.class b/bin/classes/net/swordie/ms/constants/BossConstants$1$1.class new file mode 100755 index 0000000000000000000000000000000000000000..68ba86464ee0875650c6ca2a81edd46fb6dc8cb7 GIT binary patch literal 1390 zcmb7E>rN9v6#k}EmM$xI@di@0Vp}e2K@?p?p=f9U zXyOC-P{uRcHmL}vOtO1szCCmHJKvl$zkYxJ3E&Cx3B=H2Aa3CTdKt35P_}#*g!`_r zkEC4*e5tsvq`e+UnQyOBxm1p!SJhmZx<|W;-EMPC^dVuuw9pTWVfc_AbGxBj&)(#+ zw#DldcE$BwwaUi4s4mZwRhx2D0Z%XTd}UNgZs?!n_V<=DAd^UtQ;+ z0ji|)h_h(IMv`H!dtFEshIl^M7Yu_%*B9H3qp}G1c-bRlq!?7VSK^_o*DWxvi=2p^ zM|%=!*RA?oH9`veswr`2k*{>9-YTEgK}23_VaVSXU8zp zHk#4sObeZDqqatK8vRJ|Vz^K5af%L%B7reXQU5Ms0xxN{6n%^SiwAf}D`F7wWAt98 oRSb{tII<2_$j0fe1fE97Gpv)%lBdS>(2?|*Y#J)^=CGUQ55I76HUIzs literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/constants/BossConstants$1$2$1.class b/bin/classes/net/swordie/ms/constants/BossConstants$1$2$1.class new file mode 100755 index 0000000000000000000000000000000000000000..9e77c326966b1b526c2bc35cf975bb294f142c8a GIT binary patch literal 905 zcmb7C-A)rh6#k}N*|w~*v{D5`Q5M`?37dLbB+*7=lL{A@ns{L{?T%&0GMntoVtgzw z{D~JnfDdInQ)&Y7rkrHXcmB_rGxPh;&tCwZA+Do>std=%4J zdsso6YVtH?SP3tM9gR-K*mR@!3`uyM+eAYKr=7o3fz7@x|y@x3+)jKC{Ji4=Ay5oR`H|ypq$AuDs-) zT@+3JQjN1*OEq~T%t@ZQ*rFcuzbQlQP-ycy*T%&T!_IuE3|?O;QS>sdwa_jihH$>r zpo2|%(HebY=KJ>dT8Yjg?hxK3=>z#Ig!khoU%}$s{=x&!jIDQNb$l zCLH3AP{$Tp2(W=|tdXUCQ3dO`M;g_ec4NdhNUM)Q_iPw*&)5W)r`CN5x#A@2xnsrRnemclwx zR?Bsi=8jg@Ggqndsg@~Zwiu>#SE|e=y{b<7tQbcWF#~ZE(=Zw44*4;+`dZr74p-e8 z?@`!o=}28-2xoJR7-leQAYoz-^9!t=;%Lzk9)oer?Y`JMU`S>w zxoSXd)T3zN7Q@;Yg@2SdQ-~vlv|p%K=}Uk!MSPSW-WwPBBjYy+>Sp2t5_rP62lm5QYzL%i1K@vb zz=q#l;`hR7*{+gKrzUjQZ5yDy7$4GeJ4{2mE0o@Gl{WBzVP&$>U@$9=BfPTBl@bbR zYIKy=nI#hb7W+5)r?EovF5TXeHAFImq=m4KjX+x1BpE@0&U=C7J|2=>pqReR L|9mw5ml}xQ>0&rh literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/constants/BossConstants$1$3$1.class b/bin/classes/net/swordie/ms/constants/BossConstants$1$3$1.class new file mode 100755 index 0000000000000000000000000000000000000000..8586ceb549581a77114d2e6eb1c6d1f1fdcf8fd0 GIT binary patch literal 890 zcmb7CO>fgc5Pj=}I!R5NCNx0#DqxE3R<$CIDU~1s5h*l>q9AeG*h{*VyOzA`B7PPJ zKE#0^z>h-AxrZ)+N)eyv zILVbZTp1m|%(Wi=v;4mQ%%kUVw$NZGXrIA_uqA2+1 zvDAjB_oR|$pP?3n(-u~+>Z0vo4IPHHDk9@*9*>j}b5St3r#vggt%Y_GG6ai- z`h9HDL>u&tS-Wk2uhnQT<0j!P(k6875O$;OuVB%4xRLt<*T13r{tLMs+$On#8p#k% zMCf1}8)Ws)!f*$7$s&S^o{_vqmV^6vP~j#X64vpEq+fZS;3?q-aR!8T*)zLrA+-Ji DSqkC? literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/constants/BossConstants$1$3.class b/bin/classes/net/swordie/ms/constants/BossConstants$1$3.class new file mode 100755 index 0000000000000000000000000000000000000000..1a3a5d9d1d1ec460636fcb12e00db4623a0e8c71 GIT binary patch literal 1168 zcmb7D>2A|N5dJm|b(5O(00In*9QCAw7`^jay65u^;HO^m{1nAqmK+zGXGomH;3 z>by&7SEMI(nPJGzH&V!8%)q#b2~0BBhYGoJlW_V?M}3g4>(u?`Ms%n?Wk|hz5%Qq@ zrdvM-;EDGLUr%+hGKn_ zA!}FjwU}FfM9IK4hWSGrPU*2#Ok*0ks9Dz;9DCqCTg#<$$Mev$8UGhxU{1$f`Jdlyyb0(uz zqSpKmK^pOf?08&<0i}Jl&!c~pR{E&*X4GRFM?DS#{;4LFJ}$0YDwi128-5tH#B&(~ z|K|xTM$;vJ&%BoFE9rIWLT~wP19y&Y>4_6&7+Diaulhfgc5Pj=}I!R5NCNx0#DqxCjsv1k&QYt|NB9dtiMM2`Wv6pl!cP)9>Mf@xd ze24=-fFFezyG3fnC0%Lf&CKq+nVs3+e}4V~@Ek!K78*914z6H{VOt3k>Q8x*N)aCG zFv*oRTp1m{%(Wih!?7}AE(!+wglDCgd}J7SV?X}y24%Hy z&A~bb#L3f?Vck1-Z8AF&i5dDI7((wdukoi0%~75ThSgXqv0om~MDdQ#GV=7|JmJ}t z7qYU?oXx6h3_F*|;zmP;_JN!$Zpwm)gVWM4c5V0Ed(Ij&+@rwGL0%S#crELaE=+Q# zY7|xeN+nsYrJBDL<}gofJfs|p&y=CHFSL1+Yhz=JVQaBa24}34C`K9AT4)WSC#auo3;DK=4jp-Bryw8q3Q+jc37#~r!d!}zl_ z5sfDP0DqKmt}RLB#nek~W@j=x^E@-NzkYxJ3E&~_r;$L?K+3`y3^5dZpK`PU#v&F4H3TL4Uaq%)u73}IuB)R_nfJC zm8doULy$(iDce5RQAlZDc6s!#(n=q--i&%|J5i6qkbkU7rB8}0m&zpub2Es-rg$bh z!2fyz3-NS`-&4Qo1xotun$X)p%fQm{Ej@L@48!X}>9s&<19ur_23rjVtK$12T=lq8 zLLoc#hg(NR}(@B;MDGIu@a8IAg%T+0!7Gdwr|vDbW`JgEr#sP#nBu z$d#KFJKA>Aqpo3z!SsZ(oRxHd~9UFB*R`R?g=4cBLhysM*t3`45n_XNX|?Ra8;c-#@eGv09t$=ZIGyKNpg zp*;puYT!spGyPRCEFL<2kE>xon~vfhPI7H~qOD^ljXNEA5gY&G@hAxRYul0PUw%9F za5CtJ{xIl@Cr(t_A4J;>c}gAF^}4Pv9k1UKYT)-Y++iq9#~X%)eIeDJFNr!v)AK~o zaJiI1VvUHHpl1g#`slrpzCo+Ev<{J$`3cO-YM-(273mjbo%@L8=Vta&gyciyN{n2M zkkt@bi;?vRDTGKdL_W}l36x0YDG`uG3d_i09c7viun8OYaFhNRadJW{WX-`OnZPaF ij`Rk3f?_R_)d;arBW;rB3h8j9V?~+bu{zd;SpNpD=PWh= literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/constants/BossConstants$2.class b/bin/classes/net/swordie/ms/constants/BossConstants$2.class new file mode 100755 index 0000000000000000000000000000000000000000..691e8f500e82a8fdc1289a61ad32e826226e584c GIT binary patch literal 720 zcma)4O;6iE5PeG$OpIF^^HEx$g%(hf1C}^dO2~nTibw$tAUO22akj}Kvx~fI_zV0U zE-m8F6I}Wm`dbha*O6THf+f%RJ?%Wdnc3e@_rCz_;Io4XhD{}GV6JuCmm;_@L8z6n zTv-$BYGc}C&Zscim4!$k$YgIN!Am}jWI%(+WG8EgoFBoRJQi;Rlq9@`L-iwIwyE^32DUam{XJpY1 zrD3RdUuv_#P(GFe#cdLkXl5-x*k;acHnw~NW2!|;?y*kdP<)lCzkl|(HJU87v8TdF z8>t2d!VYzxVd_vAyRQw6%Ihd4;&#N15eBO?_##~tfYD1^r~H<_zM+sZ8}*+k)cx`u z+)DX@;t#wztNRNhT>6vYTPm2qB1JzHYfx;`CU>xo7Tyu>{T0J|ED!k1dK=&NCGG*pxk{Vxny_mvbzacB3?FO2@9JIW;Y<( zDpu>GwblBzRZF#&K4^=^;tOr9*oUnx)_(MBZL9WSX>EN~t*=V|GxzS^*^sXdh3`9a ze{*K$oHKJ~?%m1LA3gFo5v^huS5Of-oK)vo*dW-js@``x#zp ze28f-noctiZ+`;e&l{`V@m-xXi_t{eqB=Ab-{ntcvK2IwX1iz(_oyuA0iVW`UDUwm zaB`$G5YU50B&4nj8Xh$gHM~B*8so0abJ3|ZpOFi$=tJJb=J;?5J}n=^r{i6cr^pJB z&+=(5I-M54nPfWK#b;EktmdRejOLGTJsVmoXdzFVmhpF4TtUse%Th)~J!?vkeH-RH zzXw@IEPGXYH-9MIaQO1={DJQNV0AZtsDJLYUAu|T)@m223v<-xPLXy&4Yi^W_l<>CxJ(i#_akRK@))WZSQZ@5)|SZ^~l zFS4?(N1Dc5TJcUn7wMu?AQp*g9;p+?ZF6u@%tZ+orCd0iwZ6#b1{XBsa#Cs zVmcQyxR}YsEH3)F*uq7Ui>+L2<08ey02gWQRnkRUX&a-8^=e0Fz)-^h#8A|uaovE6 z(%j=}pBjl7b_1^4?xG9iDJaxtT$JV78c(~bN2IP8%o{e^!m7t-gnVI5_cCG{Hd=0@ zi*#}jIS*rc1G?Mr=s{#RR*5Gx6y=8)l}D2O>3DW{2#GgjPIvAUSUJY*pHPeZt{ZEl zb5`*GjFyde$b!R#_pEKl;iVc@;zYH84>46-i+M2>?P}O-Sk+ZEIC0EszwUO&9MyNZ z_hYWisOq<2Og)ptI#8|OyBxLl_N(cV*+Hz`KWD_TFq*q&Hh5Iey#=PW}Sn0tfQ zKyLz8LGwE3>g!);q`1Rs&}-apkOJBt?YBh+g(-C`@568R~Q8nD=i)z8Pf@Uib zqtz^+b{p7TZ2^_{cQTr0DMD%_qILN!WiI65W=0Eg7DP8g3wpGmFU&pE-D`ZFs1f#= z=c+YL!P$%!{;xjXPK==8NVYniTEl3jbxi2)NL2OseTEv<0|kLpGn#8P3U!7a_+^0xpEms^p8GpsJT91P<`>kRvhXuIZXbC&?2b^BbXi8x-w;GLNoy^&JU^}w8P`^$K=9Cv4r*!Mym>BuYS9jyhQP>l+ zB6QPt!fI}@tpLn*G9p^AgYQZ6^<(Mypg7(SF0;e7-Z;_Y!hYNid(1Z6fs(gh!VKoZ z&cD3muw8a!mR<_G@;IdxHea8{qesdxdMlUwc>u*E|?wj`8Uc~-UX!#$B^G=okjTUi0}6$gU(0b!ptl?#r%i15v7 z`KYNft8%*>VVD(b)^cBr7DvtgL$gQMF6Om!Fn4BKudauUsBUm`Y7p-**G=c*g=je; ztXcEqxB@R+vs3O|J9g~Y)1xZI+o}tRZnhK?XExWOKBUyD8l1-yC8cC|b#FdQ(NFc` zEeCgBc{lHnsJHfY+oXJKW^b9 zNmbSIx2I@SC)eci$5C|SBAhVR;@Gxv^zj2I^6b7EsFebr#mUUIj!SBfKs!xx2mTom zzZx(w6fz5k@K{PM81;p_R6llN^&Ye-aDUVgXhRDb%^JInG*ab0M$_dOM-7BekTJE= z5ECB4`n2oeU{uxo_V%a>zQ89rugHCSRs~}oTFd>15?ZQsepMqT%*7d0B zjz!Ebb?gV#@9zxrui$_d4(nljo6l%O9A?ksmD8VMRO}htlt5R1GMxwx5A-I6qVe7o zY83xqUp&ZY--4aYYds9vB!*i!r>3RD2ga$4w1>A(pM| zOIf!_6_LT=p}s_GQutqRO|*z#pTK4?k;w)UJj{%f^)otce1SByG%R(pBz_c(zkNfC zli>&S_$@4PvVjw^u!LI}JP`|voeUqF9kX zqNM?MNiHp&P7HZc@k}O>p*gszD8li11x=-4+JU2bC#Z-n1n-jgA~0?vp}$z@KL*Cl zTAn`+zC>z&DR{TUmw`Va@#WwvB>p7$N{O!mUoG)9;7>{XY4EiY^YK3;@n^xf%Yv^{ z={l+YdhqAyhJ2hif^U}ew}5Yz_%`tE5`P~21&Qwf-zo83;4ezN2mB?8?*`u^@t48( zO8gb@UWva7{+h&J2Y*B2ec*3O{4MaeX@5RGK2P^ad_Qa z8jQ(bNeq#%-8oX67%&vDlw1$uM+e4|0eM( z;J-`!5AdrJzXpC?;y1u=O8igoTN1wwen;Yef!~$#ljrYy(tPv$dS7b)0r*3S{|){~ z;$!@t#%9LAMG`x}#S)i*OC@%K%OoxbS4cbo?2@<=TxBzLgR5<3HQ-u_74Srf>%jFA zPXbT2nL^+xHjDA5N<0nv=@QQX&y;u;_#~TYBY3vWjK?!aV(!meiTQXZOWXiH#aCh;0@hs1txz-D1DXfxBH57{i@S!**3Lm!biO8hnnf2JhHINpy;SVjhk+fEGs}fDvrU8SJjBHRb+Qd2I{tJ% zo{E@(S|=5KK#|qBlV=-Q-11gMS02ga`)Mxs)*;+F#Q_(q4p1YvCkL-e!B4jAm9gI3 z%oSaRFDu@q%MsH4&whcLDF-WH zE~LZOT0K^xg!Ndd647H$C922DlukWXQ;JKpSdCLz2U(_cLzXKs$O>gWoL|LXJM2V3$n-5NBhNxdFh{2K8IdjmZ|N3nt5zs;3){+4EX}sFA(mx3*oEvO=zF1Gh?4(nHVd}dDz{kWR;x@| VW!fsYTjh{dX06iPgv2g1`9G!FVO#(J literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/constants/CustomConstants.class b/bin/classes/net/swordie/ms/constants/CustomConstants.class new file mode 100755 index 0000000000000000000000000000000000000000..5a45051a01218b19ed9b7f6caf5cb8d4e90f9967 GIT binary patch literal 14914 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 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/constants/FieldConstants.class b/bin/classes/net/swordie/ms/constants/FieldConstants.class new file mode 100755 index 0000000000000000000000000000000000000000..c169833500e069cde8e4368e962eea4ba2308d4e GIT binary patch literal 489 zcma)3yH3ME5S)vhm?RDf4o?@6s2~)$MgfErh!iP65lBIIb`H4U*vNLEqvkh4LqkJ_ zM8OB}G1OFuJre|UoOH9A-M!h--s{Kn3xF*w6_9~uKsS*^j-fK(SKRS=aONDk1K}kM zxlI|!WSc=-t@pIt-o~4PcY?-^f?ES7!%83$C%z7&z7)Yr;ODJJ?{5-Bo&_|_2gW}4E4@G^&1Q&8TZ1#4TE$t4P0&4 zPZ*3-Wu(2!z}nQ*O}KZl&o3u)3f*uNd7>qilj>j3>uM=jMv-=4YQb|`aE6rk40@q`B@;E!Qv%49ikzU!5jt z7zux*d?7R1pK~SpnrnvA36C?O7}n~IgU(;Yk18mmVx#Kd0vv|=AL<~HN^_}||B{bH z^EdPEk<{y-MmiXF`5TY2ym3L^NO^fd-lU+yLAydNTy!u4m!YV1%CPc}%1qO94lZGy z!8W~09#d|;(YCR`uyn*vxF2(Q==YL-77SaFh{NqPO;Y1kb8sd13dLK)uR6G9xD`n) zOyIhMm0S>K$2M*-xRVQa2S*~Hhb%u1;z&mNY3{p6+07&r3^Scbie5Gvi1ald#1xt9 zBms~2cp4c#4o=fJf@6B0F|YQMEDb~}$}`SA=$0|3i??MECn}PMU7?3bXyXpU`v1*@ z%IyiIcM?UFJ8daN+KjnULb5Wm|HVrHYbX#;U=L+>>Y}90$N|d&c0PY!TxBz z>Cc$8cHhH#mD5F{Qxm#Gv^1g1MD3h@fQ1U?v53p4k;gjW2JYhl;X^#b3&J99kzdKU s7JiU|fYt`B1(f$~QgqL6bZ0$RHE^5I!Y1u^^T;N)2&;Kdba2bR01~La=Kufz literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/constants/GameConstants$UnionChucMultiplier.class b/bin/classes/net/swordie/ms/constants/GameConstants$UnionChucMultiplier.class new file mode 100755 index 0000000000000000000000000000000000000000..bfc58055c99cdf3e2d56d8fc951d6653373c48e4 GIT binary patch literal 692 zcmbVJO-~y!5PeQeHoI(r@)?r0p&x3=9@tAyd|iTCkWzXm&E46U#%SZM)=qowPvQ_& z>Y+b?AB7m3R232j#2$8L-i+ToKVMz{`3v9xuOn1Y4Zvf}p~kRuA%2K77y4WJd2k^! z%TU`_TG>N}>UO6eqK+^?6k{GS!>*P#H9w1TsAM`eX;x@sg|;UBD8{n;uX^)Ut3r22 zlkC$Zx9WSYWXTYntI}AHFt8&>y%1y3@y;7bR72l$_|q864v*|emH*+@7;Ap~yqJ`B zG@}Z(kLc_48F;rCN`}Rr((-gN9?0@c401x2dqpPlz9^NeXCNnX!?53b{H69t;uq4A z$q&l!xnskQGnb)$DvdoZj192G@b+Qb7~&JHW!cSzF_L7i+~X-;l2;XaSPt?KF=cf7 zStJ8}O^*4<=*8Emzd_Y6R1s2aCBMOvcT)sOXNo6DV{VG2q!CQ9a!Kt98uV|XMjO__ z`36GXzyjaIDsQ66TiB%jdm<((nrl&XnUlhN=EPKe=H%SYIY9xT&j_#JIbQhKrpo{k LovWjbR|sza`$d(l literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/constants/GameConstants.class b/bin/classes/net/swordie/ms/constants/GameConstants.class new file mode 100755 index 0000000000000000000000000000000000000000..d0b28782d51fc1e658dc5b6fc0e7d4b85cade589 GIT binary patch literal 31490 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 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/constants/ItemConstants$1.class b/bin/classes/net/swordie/ms/constants/ItemConstants$1.class new file mode 100755 index 0000000000000000000000000000000000000000..d9f077c3bbf5c34d709ec14f3f7dfcdb7d0ef960 GIT binary patch literal 4579 zcmc(h4RjP&702(JnPl_vXu?NI3KVErAQVdYDuSf72`mjJf!JLE4aH7&r|go=%yxE@ zO#m(0T4|w*wpA+lSrio17LZ0jtQIX6)T(Gv&{m5U1wV^|(&O=eUox2`CppSFp5r;m z{@?H3_ciz3cV}Ms*MY-CbSqshB8~I_8ItlSU(i(B%2cMajvGr@m96Q@Xfk2hnaXI~ zbj@hSaw`)V3+5Up*4b#f8A18&X0pvn3z}Imsj2?zM$apx0xAqpk)&dhf-3qBckFb= zv@_|-MObydN5ScW<_5#rL?#+XTn~EDW_fS?m2WrBn_ouf&v^d+e`}5D<&-p(6xd_tTx-t%A{$ps$A@Z+oJJ> z2`d>3xvt~#^5v4Q>s@{ZTSiJ6)oYo_meG>N^jc=IFP8Y`*B-z;e=8}wRJ@ia-(nFlR2qgHh^YNgYT z+sQ*`N}9zU8S1>!F`B!g0q+v*j(4Zf8qD z$aGztfil)eny-xL)|QM}Dpny$3)OUYB%Su|!L^bWsp)FW*eZ*stCLi(I)&pLXf`dD zw1iE@d^4r`yiL-bY$$24kRNs;Y9?zfD_!1RRf>I03{@62ZeZq`}pD4qw@7VjQ?UI90D9omhR`vww_z>=gXy9 zAK;6jS`TqlRcoW9O}toONxS8m$s~{XAV*qxH*;K7>mz(sRO>Om532Q1Ngv~}`E_On zb)1JjA?f36DhXRr2bIL_^ztA}+a!I0eR=g}DuGLxrB6xvw3?vaT+^0Ju<5gWwbbm} zC4G*a2G>z`?cf@vTwmZ)qguNp?N)O(STR#={>yyPmG3D@PqVM6(TTQL8NL8K&0b0S z*j(Jeh2L^(9H)it`}yXpfnAcm#y#>wt*a7l%&&aD~y<}2z`Uo%v1bQ(#vek51X-AQtj|pl76iQhuTeB75OZk zk@Oq36|=4Pg^{J#B%Nh@0o#}LoapZ*onvDm8&&-d&>v7J{5RZ^=G9gdp92L|NPat! zxlO$YmvZTKVyKlR^$7anw$^6LjhHwrK||^tRNtkhn_%uS4hmIX;J{_+7kid2qTj@-#lg7^FBHOmy z`AIXKw$i0z@nv!zUr2gsIadoJDC)OTe5=5N!SqM^6ZFqS1s3UOk?}|uiNlAA_EKOE z{|(wtgN-FS$f#2|9GK_h2w=XC*8>ASjs+I@I1X5v(|ZDQPWMU7IsKhl8T!9L%?JjCa>G7t5+fq9tEjm%|=yC|$; zx_l4euW3KM%Zn-SZlD)aU^CE*63_yAK?25sUW|Y(z}}dGTbXmZJIp!#?`8I4ivAhq z?wEE_yV~R0J%qpa?5Fp7dj!4@=E(N0@WEe~3A! z|A(2qJ)-}k%-*?!A7}Q?9lV9vJ9qF_X7Aj=pJevV9sC()@7%#pGJEF^{yejH?%N-(kMq=kGF)_W3yT7@vQ@Jl5wQGT-3y3FaGpeu;UU&p&4l`uq##@jk!8Ji+Hz znJ4=ETjmO%f5$vY@zYdGg*1$YQyG=hIGO;RNHgdb=xnN{1<(*RQWzScyD18dQ3@Yz zWt5@ybU*X~+Dwl^AHx^GlhEz-6zzrXqi5+k=n;Amudp&YL9fuO&@(89uR|{g5;~O$ zLzIf4&|zY%7zYiCX<{aHmbhKahb|C}A`HDt#6=4bgg($JOq7MJTA6CpAg%{ z4(Lv?Pdo$d5=X@I(4*pncnNw^oDr`<&x#A;B9&=ElUfP1R2!*{hK|v0(r$)M)#hqd z&|9@ytqxkRE!Uc$E3~+V^|hqdp{<3k(>7=up_{ZV+E(Z`ZKt*ix?Ahg4nhxUN3~6!f%qRyzkhuU*nEL*LK~^kOR0rCzR&gpSfH^vTdE`W$^8v`Vkl>!9`ea=i(< zLXYb$(4^j>uZ6DDH|QIooAfRER_Hc;r@jliTkp~jLJ#Rj^<&WE`bqs1^t66fKL*XP#OG&F{48XMx3sVuMZ*vhMXn(`kNS{)i$ z9jaM2vSi6o;fh90d8Sp>R5c!`DPz#!`Ee>Q@CWQrhZ+yTk(DGqQgTpGv$WPw zeNI^)uL3GfN}sMNYfwSK;Q2y6IbQWveY~o#tuobqno4cQ%*pON@=R`4hE{~j!bobs zphIIaLQUPU$#dL%W;`$=ML zz&djc*4uShr&oz}6xPelV%;p(En?kjsJ=5_^{R228r`mp)wQ9@aDBr_s;)6qRTHkS zs17wWgd0ZYuWG8Q6CuW{32LHOO|sQwHAPdy+A$zv4JuSsTQjn9$;iA=V`xdJAzT!y z2|3m1Ulwj8+l5sPjWgX zRW*j|LyfhlN^nrD{837WP9@~1T(8QrRlb^`sian3(IC|8@=!x@crCSo;xCdIvustM z4%U=eJ_q)sd8$T+qHdRRw&w&uc~1|I8;|#gP>{NNWN0l*s4}aXoM;&4V92HT_V)mszH&- z?!p2=mez-tR;_ho6-a>9wpybgq!J*fwsKu*sJ=0~zCN^0)Jak*=6DfnG(y{I_p9}`I?<`Xs+z|6(nCoePPWx4lF0<}Ff&|3 zgK`q5#2eIUUUj;y&QND|YFlXRD2B6RMoQlCB$pjs3q!Mi`xMs|$pYkyF(e zr!G<#d(|bj+M>2PmH$S6ywZZR#3LjcA{r&g&woQIu&`h#DUC z7bO#oN29+|ZMW5Rk`?JHs7X<@8p+NLwz^UB;>}+js)4=Gnr(Hn(5&pz2<28=-R4m8 z=0zwwZFPqeZ&A3uHbT40R=b4OeMYDvoLx~7ZfK~jUnd-Q+iH*aBxIL%@VnPm_c?xf z^E&uFV5%MaDpSJfm=Zdwt7k2$RJ zJ}E|&7-wtoLbT>mXQPFgZEM|IC}V_@U~B#s%2=T!*;>yQ$~d6}Y%M4hM@B8YQf)1* z4b|b7VQamF>Mf;1WfCj#``B7vp(W(6ZIo`dGRAK|Tk9u&W=^=;2|U2ovV>q2g)5!r zukCMZgM{LvdYY=~rG@7ZTN^6G_|n>n748@#Lwj&j83euwQ7f}&=mAGKF`+NIYMFR=%(r_A#Jv`^PSP2^2cizY8QF6 zi<#+YmuRYQyV2F12)i;VUsuOuaX=@Nnf9R=Jma;kwsxt=zDHF<`SSYOH59k3F;p*J zm)qJE;>Bb#r>VMH=A!Z1Rkn7u5aS`%u3@rMyGAm5jg0%743)HcqoGodQbOBdYu8Hw z63W6%sw+eF>!P)`LA%k`ZW2GwY*sY&Aqjr7^t-S~s4B&JZ@r-s`@D#C@#lu}|M(Er zuh$zY?HJZ#Y1`IIjJst}-Xy>F$Z+ZWV#s~U{dK<#Zw~E2TYE?n^Omq`4^=Z)*`Pfl zgO=mVi2AYn>j@c69NJUTyKj>6K4WWtlk#?}YKR&3H)zk<8rhK}!h(*HTXKCrb9B>~In?IeYdr5|zp zK9$}B9({A}!^+K+jQ-QszKCSBMczXHx2=6CbWc@-WK~FC+uAomimPG?C zU9)vP!k(#wP)u95gd!^EOeTcrwRN8mDS`ASLW;NbZbCu}qf;FrcenK(5pr}460+ac z6NT)pYH)^mq4l)&WTBCgJ1rMt(AHBT0iE$jXlb^d9tr492!zsK%M7O9wD3v^reMC|T236{?oF!)<+pB;LKMp}022XOuqLtB_v-UCHRP}9 zfh&RD`a)YjL^9Q_p^4=Ob2HgH(ht=S^XiAQ0FqSNZ&SAJkIbxR8%jbiw)G=*DpHox zB{kvlD)ta-*T{xo|3PIPmcQ*7P<^BH3R|z#8DWHjqlIh&q7BG+d?(rvRiTJ@Tlc@B zQQ^5vU+&ebZ2c&G1uE4}D*I$We?v~nD(Y*is~Nc(8>pV>rjk?DvLPzFGDpYhHF~XA zue0@4ItA{05N%~d?^0VQ8*lE2x?lUHsVkh;@REq$XzNX~B`FQ1q&_daG}J^_s;|-4 zdi8aT-ulr;&k?+WK*#m?OGg+dFXwh}c_GA!F(?snqqh zexgWUMA;goK}vM8t)HTwN^^BKjFE0?8|mgEc6Wc$Y22sT`st#IvY(VwThr7K(Y${8 znYMnG_=sd=Qrn`E=h*tW`gv{?hZxz9>AzP2I3Z;Qqi?eH&HDK?3>X(OuNR%xRPLaH z&MQoc=SJSAx_8qr)GzYt7u)(J`WE)NS~q!GOO0R}8tcO$wskVv2*#z3WCn>RvrkRG z)YdQ4FK5co7;a#%BYV)kGPo#qS8Zuijk^uZMocB^g~ssIZu*t_RbKsSTi>QLF-~dC zUz^0q;?k;W7Fn8_9NCL>8b&7^V-sw{gUa2mU+2|#*!uPQ4V1M*S`m@d)}tbx##-3{ zqetpYBrPGG0^DTl&HBv@&K0gE$*2;unHb4MYn(_HV>b?yl&)XOwvT?Bt>3QiBz=}H z+0}HGX|b##JZRBV2QNxehJI<1GR3mQ@`&XX%O_TxSn)2~i;`3~{eG#v2Q*dGq1yI3 z;>Aj|6M>5YKV<6<>yOZFp}=n2Y{*&XjIy06$zD@i)Mk)#He$W{V;y_dE||17{doOR z{RvxtGCJQ_5UyIboQ~{KB{N9<8C(CGWI2s2yI$eSwpo|K_c>dCUiNKe^qU*1sjPK| z@)vFWB^k(=jX8yk(_hhF_3E$L`s?}|n(Ebg?^v_i?S`%VIr9oi(X1{Sj~mVzRo=4o zxAk}E#!0>)8o%pfgh)&#)E9n(b&(QF7t0XKE0#~JctiC+XQNmbi*<=uS7B{hi*@0V z95(1**!sWpf6HLaP6*R2w>2ck9&JU>*+fuZ+4|S|H?-guLCFSptG;S#|GgZG#Wn>= z{99Z9uOyz((6D4~s6ITmmSGXC7r*aq{RcN=_(kYap+DLB&-yRSlgL4IbG3Dc-#OD` z+xJTSHyOizXA8TN&bbSvin4PCsy}T*$v`!^>w(H;(_s@j%0_m48MFEshHaS9xs`hm zDpZecc!esJUR6+2F*m$Q$Z@t2FJv#|dQOYth~3?5^stQt!~d6$4q(<)MfVE>SS^sf zR5>8~tNZye(Wk~6HYuV?s_9 z)@inpE_{u$^10&fWgER6chRg;5kOzt$duCiibBh(DyrCeAy7Zt=2XG>F~@7nwT&{PTvLPF zv5Cw#>%!I5>@QY?-S}>==qawPUnz%JLp#@uvQA>5f|$;CT(<%ChR(#s;5p7&EGZnwr{*a7{%x(=AQr z*il&`h9hiavB)52dt!^Kus#%q%XMo4>fAJin+c-Z;uw;WeslW2M14se5a~DFC}#p>;Bi2{pJKch+8d zUnhn$(#i~EMx3$AsP`HTw$W%bb!^hk1&TUuldxr5wxUYrDBUDCi%Sb~XU{9`q-l4E zLDODktg(%?!rz-cue@ZjH0M>u(YA4n(30{OmSz{{<>xJSJc~-^=Zp7owsE|8$F-rZ zw~Z5p+Ji_1bBW_-L?WDQ8>fg@w-~7jeS>YBCUiILA}8%LY~xI!dFJNlviz1{XWPa( zLhA0MS5}&zJ-eWIrudv^8yj1F2);OX-drb-n{DHK@p1E*GjE0?&kJqiqE_mR{Cqm5 zRmLT@vBjaz$SyC>FJ3&)$;hR)ahXtkrTOKH%Vw37#v4}{S9*=BY~yNU8v|)Oon~R$ z;9TMv=~PE<)QK1wDvE1YSJBd>qUP4t(*K&Qk_!y;vE3($^%d6pH;Q!*);nclm5Vh` ztodRs5Nn~KMi?K7^|4rfEb}cxC2wIbQ}>S(YrI$!#F{A9B(WxoHASqcVoek40I`l1 z>lm?)6^qL%y8i^R*fiDs$BA{kSSQ9CPZ&>nji+qmX&K$!`yNgcFA6m-XJlaGKi>G8 z@vPT)&NiMmUfA1pq?w#{#KU*(7I$L2&(&%@v_%=#Wr3wUh8tM z#|q8i=gY~TSx{V@Key}Yo*PuwfyNuQ@utixli28F!|d zo>eLnUPImg61&TlcTH!L)p*}FK2U7C#^-XW!`-ho)B*k@WM8_(XMBRpazj*`-#X7{ ze1<~g)`l9z$%N29>`I^UFLY0iI4WHFFlL7SvRi$|*Nlgya$8K?w_zRqpiiL={-a6U zfAtGK;|D@G`;+2+5$mb+F#}ElY3| z)*T1=OzwjvMYmOBQ%<~NIw9UJ@tNs#7VeH&rYqSbjZ7sCs`Y831<6X%;E6u9Q4keR z8hokG9KaA>Dtl0wWwlN96=BW~Hj$aM^2I)L5Zy;~H#KvnQ=qhRSf(8V%VIeQIKgL* zpi-lOLe-hhIhvs|){v`=E6CLtn9$v3I;)M9?1>tx_ts1{r&X4p4W&)3OG&)-M-OfE(F*^(R1WRIiQ zOy_h=yhhPc3_$$MEPBNFXRjr8@_^}BvneEPBqhc-r@E=8F*B;a$+JrdR!?!+cl6|i z7h=T%taZ}pk%0a{F) zmM$fe*|%ZkU+gohL<1Vu4X>_RS>=c%aM(kHKlufp$qtFXd`)e;@&!(Q5&s+C_nE6G zpZL#m%kPvgaN`H~zVx-vq)T^VM|_>~iPtw+KmF-5xvXU|%Mq0i{HzQW%uMi^$H_QQ zTTMHurm`pgq)#Y|ttm5Eg|(r2>6<;$(FWy$2wYeqr8@F1Vbai7U0IthE> zbgcVIeC9bcu-P?D6)UO{Qt-Y~tdAG_OnMDtW>bx!Qbw=GT6mt%yby8ZHKCNGw#@Nb zxDl@tuJoB~D0P#oeJ?F-q!}2#J+z^0q{=lEljJnYYSlUE9F1 zoDk>(lDB2~%sXIKP)}>fUCw<)Ar2HP*Js|1N;~t&C7jg@El;c>pLs7!O(&z7GdLuy zps_3yADUp(RT~PQkW08D8NtpQKL7 zhSXj1wU3GQoX`B5G@yERmojr4g-pKodGUF}XEJ!j%?Qzr$X12WJ`(F+KJyjoD~EHx zP=iDMw~)X0nQu_#d9@WyZkLdJ?GHl#(`T|}zzIJqqE?A+SNLs@^O^6<+(as6c{t=$ z!XWWD%V&N}wip~6WgFUQT-W?2>`)5^2@mYJs|ewmabnR>7$$6H7op62u7ffG7V;%x z{pvFrD&m}uMGowsZT|-Ax-y^nUqqR^oV!PvrBz`k&UQ8$;69s&V%>yV_PG^R>+|weSg)Vvvpmet zqa&r$ooBL@Te#Dx3C)TtStb>q3--9moS&T&8-7d2= zLOv4gJL4d+uEm;34u>#t$*-ZCt_X|j97`G8gSOUKxt|j@?^d71*wiOx(Q>R)t?kpu zMKq&Hdv171Rej@fnh`TC7)(d&`cALF%01a4ca ziddgv&6qCMHCQuW@LAcS(^U->BU+*lEJR=fOE30W`E;!9ZDzE=X$|8NHhzN=6so=k?REewJ|eD???D8HsfWNe+MF zL7&CujFI1n+zMwyI`kY8Tk7xavO4)<72I{)_N@teR^6) zM|U%vsW+N0%UHQs9o^xNrL%YWsCBGu9VdIQa;U+!k#m<>=qK3LdZEktO6xgJoW907 ziE9kj$z1>LdMUb0AOm6$i6uB?`W@6u`#rlV#=HE=Co8SDpSmzt6 zv3_S_6hT8M*dUtu@YJNC6qJT_!F4N`A=c_m$4qp zpSYE|Q20!IKf4)gL3e0L?_wQ!Kh|rrpv@td37_qjz;}s9Z>&=ffi~|zvFP^viMzz3 zk9aJCHvcKH5JJLSh93W`FJt+C#Y!acg!1873kKsn{8TJ23)+NL;!Ju(tcP*VCkF}h z-@z)Q1NSE(9e)yX@^_<@3G-?H3G*4c66U>uwTiZ$Fz0un)k?UNvBnW2p$uRDZ|6}L zioztS2gG_%tcS#USOootZT%^NPAo1dUOc;~Y;jIWS=r*U{PHpwJd}yG#lWhk3KK85 z3Tp;T6Z`(1xE`{JwS4Lv|9ORxKoVd!-J(OvFV3BnU0j|&cX3X38C!OFhT8wsQPig6 z>+G4edYpkE5{t4Iy4-TJOS5we%F$zGe2%z_N^%zG{x-yBG-_Qj}9t=!!%lCex`oWnsSzx#bA0yU>u^ ztn7lhxSJ4!6DHz*v?Ss`gIwWXoEhSw3WW6#Xy|GeDX0{Xw3ZY4F@JItMzL+V8buo#Qa z;abe>778O^kDQX?d1Z@BOUk3vgDR!6OY?IJxVO{MH_U8t!7OUJ6TfBDTXB94^&{R< z1sQQW<@Ss0W@Q%@k@d2|5^3#9UgC=@F3HO;D=#S~i&?{{N!y86Ms`Zd9A)T(EZA=< z$wl|5mKG0dGP1}m%+D@{VKxc2da0*SXy-^W(wbex&MTN-ke4qtrBIH3T?XK`5?hyS z)ygEPYFP~v=z5C1Fy;W9bB}2;Tl3Ll!WM08lU+YfEK zU)Mfx>k+~KTRtQw?3`6n)&#k;QQWk0Nw~gTUTvh+6xMPbdVZ+BO572m*|@xlE~w+- zdvwFL?c0*@=Nef~wOrq-%q^4I56dvNBvwkd)ty;n#R`faVQw5H2YObu`!=Nq7k*44 z8|3}1*q192HJn{OD6gl&Sp`rQE_M^4!$Dw|x0hPFRoGb)nX>s~r0pCi&^p?Rf|*++ z$Kztc{^k1DRDMh}Nus0P?DKs^M~gi5;RY@?F(s@K(TYsD&L?kXA+=CFc2t^m5%-~MmGV82i2veEexpPMMcr4~}v#SZ*8=b+W z_v)$;S?$S1gx2MpyS$=9YjCcVNzs`1Ii9{nU2GPyHejcU>(MPJ*KBeIB|iF^XlyPa+Bbvid?+BM%U z&Kezcjhjxjb1k-R5GX)|l9D`$mPu9WJxE8R$Dmd%*hGwW!7 zEzQGPA~*AxTA&YRrE{@27}H!^@0}3Vprvc-;7+|e^d5UDu)A1wI*+^p6j_dh4aY+l&N4a#|S z?7XtWCB0CCY=EOS&MO}dVIdp34uSn{HYutagy8JdFnq%ya@~r1!I9BnFGqusdsiY< zB-=r#T@IlRYpzY8q{&itd6BAqSy<)_kz@O|_ki88Ti$D5>5eD^V)W1%LpvAjz&3Xn z_Y#m1Ad(4p9wWE8@;_+yDl=@ zYeN4f|HVe#q2T0KU&6rZb>|J_!4v&FhbcGCkYpXlOI4_+^vz5#LXFO)E<$=kvR^%m z*goeM_r}Sr^RsQ=8!1YMp35E1B6_p8u77rnT>h87w_|Z-AQ>COt+QEZ$7~%q)$28x z>b94^rjGu9Q0%J+ydccxvg?`6gv-{gTvCfp$z9y&6&>duWS)FjqvHnxI^NEq zaKx3iLp{_N$~mZ}(jhr>ggUN2HLYA(TjOkryDf~{m0T(zp3{G@`Cd{NcBa)%$G}Fm z(@fos8v0|JY=PWak-J08OmjJ>qobe?F6WCH5tofij?`N{i^2`Ht)8u~yE+X#;^Z|~ zhml;hblz=sJX>F8b<%T=*BuY{*qn}x9*o77>x{fmM&pfAGaDp!d#D${x^j%kyBx}$Bvw0 zI<-}{oWp&jT*hIb+@>Kn#gb|@@3ofJHdVN!`P68=b7HxK4%%4)aDzm?2ICx5IyugD z&VU(A>zp$>N1i$K57k_ITo!iZ6JTvn#Wb69eOW1SC_+uR?6T|K*K(VxBNB4n)8)N1 zS1)qcA-aZ{(wWOB(z@eE&mY;@OA^&~+N5)x%^fNyb|7|WWSwp^xGlg@_tq484l3&; z39pRCPUkqOqyJw`jrCh}F&ERSXwrgKU;YLU|LK7?IC8wgWZ0pha z`_ZAshQ|6(T~WAkd2MAwg2#Jgyf@@s;`LT=>Do(2HlTG*P*tIg!Yec{O z6cZ}KBA0=d|oDP$@6Mf)YPu2$&|JGL77#RnFnNQ6n1&Mx5|5z*So^@R(t7) z`*kR6q0_V|NoZ-bsNGh^x}N?2zuf5Z zR%xDLp5aRKjF4jw&q&;(JfmCOV{ng+agW12J|_GG+!JHmlW5mxRDc1#@{4S5Fw<^LP6%&4iN|#s82p2DJcsa;hU|_nu{~+<@ zG+a(fae&`vAE(q z$EoT_=*Qeivk5b2BdZ>hhp8=2I#zK*c_1P|7a-@q7E_Bd;SelC`{ovvaZ$|Kg z2!8D1i*GoX_R}ja{wz)H7?t*Op`h7pG=qjm^4&wp8Q>yytg2GSs}(W%U+*~{@hXp~ zqDSe!s$&^e4czlBj)mw@NKL#B`h)5$A5z zYme$@s0GCEC%26hASZRf{KO+BQ>77g2_ zW*1|XOfYwIEWhtniw?P49Tu%L@jP57QvWGdniVi9btH63#Cfj@5uw73 z&=SOnQ#r*$B1*dsFk`}u;b5#QgYKN`3x@1 zDD@g8dR_JB^KOIGn`(r5OHJVmIkVNf>JYx=wp_i34u7D|Q6H-F)ko@L^)c^Zexk17 zOKrQ=XUObxN4Mu9qd{t;XT9+nnm##bc+RA8oJH<3;pXt51BvoD8y;?`b0Y0%xUzod){)|) zj5&X(DPA?!YrMoqX-0Wf|3B0~ud3Ae4o!;U8*Ecy8YiEXjC36@lB5o8etJ?}wRxrL zp1xbHN>qPbrGoOyzovzB{Z-1cn$r`F&#V3Mb<)xF$4FfHCtZm2Uww>eJ5;=hMc|Cq z4q+gvD)ptxQeUb4`BL31^&fRGAEzr)->DM5M>kjfsLIvPjxdKHxP$3P&P6mDzR_Rg z(sLd(MM&NCb-EGWvxENW8M{?e(Xc&=ne-K^=P+ZB zI#yK9ze}C4Lz%{by(O!zUbubN?@0L%rWb#PrPoCyVlJQRsC1aT|&2p&lPZ+$S9%GT*IEExuQsg~p#V#T@>G z${fB^ox5H20yb|~fnL^?%AbMNtyjjC%9Cc^wo_d=e3!a(#Em55$;6V17>wD;&v?un z%qf_=U8CF7TPfxO%scJO*L30Z-NwO~J1~p|#=j8_?961$Aj~uj@y$vML!EgG<`K;6 zm@hDYFplxvF>4^E1XGW>9&;b&Ma(CdpUA77M&EG7E_JQbZd)!cFZ7x3nkR z9!uC^H3*wKV`)OTyFKBa_JsRm2|KJ|66>K@nh+jsOGvcRT5`X`{8>Ug(Kf_R^>kZ8 zqD3{+$4P;Am`_NQXWNF@sa|MLc)2~{wYG#r3l(o+x=NV7**3&Z^-g=jdu<7cR<9Ty z!-dC(ZA0u-pR^}@)|QZH^={>1{8M;*(Kf_R^<{g)H|+`kjV0_bwh5ab+S1My+Rtri zM+@z@Seg+2Y)8=a_5>@Iu)`QjEX@~76GFH4gdXh)iR}r=?FlKdgdO@b!Z$sZCWPLx zgdO^Jp=GwEZ4z4lwzT7fHn1(NN@#=I(&h<`fw8sK?a;G@HnJ^E>R%hvmX;>8aj`TZ zOl(h>5=+>jeJp_vXiIxRXw%!$?iE^YTiOnx&1g$IUuXqwX(tG+uq|zc&`R3U7VOmK zLYZI%tex6CeqE!2X=cD`QQA{1ZO5OV?$AagdZtULL{EOFK|bH1brb#zWBCi=(DsBQ zVhKCcYZ55bmiDmFD%;X-hSs(-+@ZEexMgj_ohr1W+R~)`Yb)E*4o}~$)ooSrbUsXy za)o=F=7V>`7L_6~SGSGXUuf&v(h_!R$EM$-tygN7b_#=#j1Mxc;?s7}G=qDfCf7GD zKBw4$X|`r*-L;_BL)%|V&?aequF@uIg<4PTa4lJ@(E@zaGN^6TQnd56 zH0@d~UAs%m&>q!#X-{ZW^#V^jEa;`s><6{WEQn{*yM@h|{JR z>DpAIw>I4vp=BGRwOk`d%QNz|8OD5Vrm;+$WvtZ-j5D-@jkC2v<8rOYxP=!nAJj^W z7qwF3Lv4=ntv1*AUMn{}+B`Ewo6k$33(cY0A-tw}sCkff7_UYiVU}r&c@;5aF4LBn zM`@MjFUR!3Kr!6-(Ye$*aXe-R?w3WPbR%1S;)tYZ_QTz4@iqV1A=DS(>)m zGPSi}YR6cEwPUSe+VR!_+6mTl?L=NWIms&5PO-w;sn&AsH0v1cbY5~e%{o^* z)7qq+ZC#uXqQ>PYL{DoXjgg?w5vQx+BQ#r z?HbQOZM$cpcAaO6cD-k|c7vx_yUDXyYxXSBZt>JXQ$^vwTWqO&~t<5 zBBoYm%Y@3MY=$Bess(D)A1IbrZD3NxI&#miYQe8+#+Wg`s`6h|uJg?3*%Q*QYWaYk z?!WO7{7reaU-$yeZ^{JI^$5ND(4O5Q3-*hdvGIxc$V74!vox7idD0X2_gBkYQFqo5 z&iY(?&?&IHKKDfCi1G5_*GTO7k=U6sz1yjsxl22TIh^Y_7spk~YsxHC_`2(7m+zx7 zd^26XPSHJz51cTMjF<1nM$(uSNu#IBcGF(iJ{iNdXAE0Q>4`Es^<1J|65(1J;Tni6 z4=n9A;qR}k+pS$7Z9ZnX&j&+&+OuTp`569znB~49v(Y%umXF zowNLBS1jM&7fU`S8(}#klFLMAX_e@+yW;s?49~>2*-VgZdbYOkY+G`zZ&xfoiecGV z$vvG3(_dMgSlYcSmj7tO@-kVjIXc@SOunodDS11U-L@B%{UU~I&$eZER961{LxgLz zvGq;wsa<R`Z4OiJsXpyob5BYX$=Ukij!u6LnTwC|)s5^(Nd=faqbxlNT4@A7T zxKh6LYBe0!ZLaI~tCiHiPSQLg7gxTP+&S0B_rkUBzPR$m zFy)-_Jw{r1&es8((a+hk{hyJbjn zRLgT!3)^;reP=J3oe{&eGu4t0mv=6Lzwd?X!TaLMH_|)hs`fHn*NgYT)zdoZYbSyC z_mbDS`{KH-i@a(d?Sba(cYpiPh!<`m<*2T0yKRkwQ zr>b>r3)^-x-!WZG_w>avEd6b@wTCmA-rmBJLwNr4eyZECvVWp|-o^4nUlPMMHm594 zdN{Ke`Dnc>S1molcQXwCwN;%Ce6>}b=%#WsuK#RR4ZwHI>wzD)sxa`&R&@mM`&P9e zeYYH`l>)|ARRFL8$N}QEs;PjzRgD7@wlXc-ttV|&1A)L+re(YJ)U7HNE}uJ#E#ufEchyYwOY$}7f#UEstx)&wMkzZBc;ur>sn^7K4tu>&UWPF+2Of9 zqJPImI-vqdYEQ@C_@^a#Y1=LbGE4-!1yaV3_otYUPQfKtorDesKNRcHBP_S z$xDzVlp62mg>%;7o|~y*t@T81tXJ>nwD(&)w?_1>rEezXayB~>)sJ2EBA3S$xTohf z4~NUq#jd*y;|uK(u7}auB`?ABEvlP8VYj|ui?W8^Mv)fn){khnm7?!Zd~jU#&~J<> zMUbsAIsAl&=MK-Eky4mSw`K8vmuHuol70}IXPhW%^Wj~7K(F2Ul3n`J;^BLAZpv;| zmeD+Xr@m6IR_xIm4CS7I?$%dNF{K(NSUdG&(#&1@@p7D~(fXafFCH9^nTRRERA8>g z$c>P{WByAp4tTW$vst#%nSXWzbyPmGjT50JIMkNeDK6>d#tPCDh6BekvfIS^PI4(Jh@bX*te>RU2{plq;c@S{ zxaY(NE6zCeJNS(HovOQj7k%R{m8$Pnqx3y$f_{%`)bFFcJfP0jA5z=&N7M)UV_Hyu zLhGeJ#a8q)+ARH9tyq6vE7xCiYWYC7)*`w}{dw+2p?DcWo8#F{&9gbG6?pbIcWXvz z13mXxCvz-2LCf^qi?7wPP3na5+{f0OY?F>wy?nO#N5gycD|EG6zjlv)qa3$So#Nqi5ba3p?TkV3K++a9JdI=Q)_5Ez zw~eP?xJSQL4okHQ+lJ(Ty7Q2|oguX^fMTQq=mlwtT1c949n!qBD^5GK{fPJ77B!@8 z(sy+g0rn^ssfb>+i?nMmkoFu zo;~`#{8^WKQ1^BjRa0Azh4?dBgHWT_Xf3ZZlXyezufNT<{omCr{XK5~e4rZikJa(u zY5J$?a{Y64J$Q@$PxX@ih5AhYQhf{ls(-ENd@w#$|F6~`9ISuOAG!+QEb&qFkk{dK?7CtGTk_O<6>jx9V+dzA6V z4fP12T)#*0la@JE_4rd|@KKAf*%NM$G53e+Tt$#sn*j_FQ=iO?D+Gk;jLBKPf{_`l+Q?4ej|e}q?ejz z^j5RMIYwVqZe+HIa*XQhc^t8Mx#8H)^MvO~>EyV_<4m-iUlH*_bH(dZ#f|{^ZjYLQ zc%vskB1+e9Gv##s9*vv@WyqbAG=$_lIdphl{ZZ{_)#n#P(?l}5=PAa>r#;WOVs20q z!nBzCRp}yEW3bYVA!?X0oUbj9P@|2}YMkM2c(@ax36A0-4mA!L%WY{BuElYQ4 z_FPviH+97_cFUtvmd|&^a&uQK^BhI69T9cP@`bKgUf31OS^Hx7VhhXmhell;#~6h% zJQLdr(>*kL$@6lg!s{cd$Z4GZ0#l-$`pX>l=}QWSKFJ(JW~y(tPE%cdE2TxuQQeF( z`hjwlY|K+ZV}X;R=$l`4^St7D)e%wbSzVmcyZy$i1FR|IJg<3Pk91#05=ENA-I42_ zvwQ0APRr=2|NR=3JjA`+BzHJZ(dd!>HKeEhp3_MQ3CH`fjt^oTAI3U9YH{?`KNjYn zbiw@7mVhw-N37$sSjXqBj@JIsxmao(M*nz(>S-+IPUI14fDxiSE>Q;>74(ypYM~KU zVPl!9GnT7kz!Qz5)VanAb*WLUt~XYyyNnt~j+yiqwn}ySP>svf(O*7wtLF`_le*VL zMGajF*Y%wC*Hf9lD_d@U{-RQTQ+WcBp71TC{&tHd#q4g#8LaGXT-GulrZ!^EqmB9) zW$JWy!}CtGW8-45CKccNCihNy@9XJxHmR%(Rtw48fX#Rhyc~QVyg_C4DhICwPX=!W zw}5wmOd^vX1YZDOR9U^3fUkh8K$71AUjjb|h0j+it4|N`JCM7IfjE%+hw0g1DehE| zyYa~ngU5q+fpmb$KZ5J=9{_H~{U~@ocsFGy;C<6a6*#!dM%%Wwz4L*PSxGdJK~0GcD@OzMY%lrY9{QgKh==;qj{IeixAE;MZ{g6X29UMowP6bbb{sMS2 zbkga^R6Vd3B>jwYK+@0H4w8Nb`Rs4weD{WXyE(%%9fL_XJmPZ9op@FVbLP~`lc%F3ES zyx!nU(t8}75B(Ex0r(C0DE^J$2e|(PKg4Z;@CkMUKPCM^;6K1&Aad-D9%jM6_jHhY z45p~8fvnim9|qC8U?!LV4g`@~`Z|z{;OWSH;1STrgG+J01Tw)$e-2y@{vEss|Cu1` zoxpZ*7kH=2+Ml-Fi*oF*gZqI#!WDtkKVKrw+J7P#2cqY_0^k8)B8VO*zYe0u$?t>L z!0#CFT5vY_B6vLb61W9?8N42R1$+p64Mg7ie@uGR>;C9_FbpD>LYj~xDcct8ng(!5EOa+4LlM) z8^I;uK_Ge%91K>H59Bl`41NS6*MI_%YhXBtTm!|R=CDu^DY ze+e=HO#c}?2K*j87Ni{vItTsF2Bm)92LBHJ14Ivk{|0HlDc!-}aZdvO013}WNmUR& zgH7;P&?1}(dO$DerJmA2>a$lCID&K}yws}&P5|LMxRmfg5ILmef+4U3L=GvvK;)3p z4@3?rBS7Skawv!#Qs#lkA*B*T4k<^0>%np0so+F#6Z!iV+>AROybyUk0aD&T0(b@b zJ^)0YdZXWi(WhR>Yw*<|@)^91aBqU!i9ZG0g}Vy88~^XXhoRSjkAe;0W8i8KeM>n3 zd>y{0fNy~7K?c^|SAlPV=*i%>!E3>HLG)lS^6yPO4*n7x1%3r0_rdgcy`@~zP8k;l z|CfB6sIrF4p?vefx!@A;5af(phoEN}w38v!Z}36zJa8CDdW@Y}Lw+KECxJhMr-Q%1 z??~`h!jYdLzk$brf8tO54OQR;Ani3}D;NiAApJw|c`zG!JO}20Z-KcW{lL&X@L^E; z(*kfMi2e*kPkW)aL#02Z9*3f@z1D%Nz?EPfugSUhCfP27uLCME`;M3s!pycln%KcxE`U~WM)L-B-@CncWpQe0e;4|Q2 z@L6yd_#E+H1F44;^kt~Dlb^xwLF79Wx%OVjhcb~{@H`N?1#3VZyc9Ix{~2h~zRAxp z+D`yI8AiKF)xiE>A~=9{S_Ec+`QShhc?}x`Qa{5;ATFCLb;UN4+(C?(L0!M=I9YHzLH-V$U zGr%z*`5rNobR_;P@EouJybwGX6#o+Pe=}H0eccP9r|BPpBG=)d$QAjI5V=kUPXkAT zr-PE;GeG1w;!IHTdlrZsMw|^wIcTRD$bZD`q_-V>3itgWdY3BczK8oY@O|(l@B@(i zj$DBM?chT2VUYHp`ZTx}`4exX)Yl$x6ZyUsq`ylg{z&?}RO)3U{aq^M7`X@eE0Ffm z+XvEKdYd5arPpsNYZP)#{SPSeq&`N8JXeAuPvkU8FPb z>TlFVAoVcnVvu?owG~{avPK_8JmfdJn)HgmI`B9UIrmxxN`F8)qoqHf-bT~z)8atN znU)A5&$Qkk$ocLSdjLaf?keW0iFxePE$64D?!n#8t`(k7Q70q1Fr*Dfj5Ko z;9Xz?D0nli2jc|20e}g=~q&_gU5jZ@OZE{xE_@9 zo&-vHPX@C=`sdUF@Jw(HNI#K!ICwS~2I+TGSApk(>%j9sDd$G;3~&=D<=hNj4qgae z4bqRL-T+<dFCwK+;C3q$HJIFYkW`Wm$Qod_J zDc^Q54ZIHA58MF`2d@VwgExRu&Kp4~=S`rL^KbMc4};Hwd%zc=hryS?D)0+X%Ka~} zNo9@i4z2@xfX9LK7ilMge(+Q<5j+D-0?z^IFVc|9c>0U93&8;G?jCR&?kyngC@>bJ z{q%Yb%mlFK)8p&4?)T?;S=z2@KccTOtit3AaYFo85B7V29aAYLFCqJG>F`K zQGXNPB7c{G?}E&$Cw>o31AhaV*G`oDm#eHvwEwi{K-zN}a-2kaPJ0Vn34RKSTwVf2 zACTiD(Ff!@N%Y~L;B(YJ@|Z;ZX9%CypnnNUdHw@RdARQ+gu!A26V@rbvCHfhO1+lzQ0@ z^nh6)@=AXiq<+#L2PuF0aPSZiIZjy%lJ6CS0@Fa^W!wz@3~o`A|Gb)V{shvldi{rY`qPMa zGk?9L8|D4Y;2humZ#K97x0=W1Q=ZSZoZq5FV zkKOE#eY!XMTb>@x{&r77v%lTrZ}zu5iOv3YPg1kL<>}e%=Sk`Cq&E9op7dsa%ahUU zk9~SI`&*uV&HmV@f3tr;+b65p&oeOQ*}vKEK7*S5JcFHQNVA`3sPhbK_P0F4oBi%H zqS@c_jBNIgig`vi`^Pl<$2!mWW z?B}U;o^Z3@eU>)+d6q?=<;{NgscQBgbO_kO%Wu%)8LP0{3f9w8mo=k{Un z%P>nZI;Mg!l!dox6U`<3ro5)eCd_ZiCo(ZB`7QZHkIfe`ui%~yqSGd_Ghe_wkC8f( z{30h)>QVBFd`*#&l!5xQD5oX)_hSyk93Ue`qG@6JVt&9#6?~6D{8k|bu~;?+(O4of zifdAIGXv8LBjTs{CZe{o!9JMYm>IZpFrrquxU0ebn9-Ol46102#EilqYD>hPh#`(C zd|t&&#~g%TK9~n$OyQLu^ZBm$Vy>+!V|DTc#@ghIjH8n;F^)~%Y8;<@nXx|k3ge{Y ztBg~Uw;3CfuQg6jzRox^`Fi8*XnQ1U;FN0R?(JeK@#O$zCI>3bU|^Y<8aT>K53DqM1?tQ` zfd(@(u-fbwSZ59h9BU2?oL~+LoMa9OoN5jWoNkT?oMny*oNJB=Y%<3ME-)tqE;c6x zwwhA{mz&c9SD6O}t}&+vt}}B2H<)>WW^+d1R&!Qhr+IMTF0(MO+bj;;YnBEcFy{sy zHp>H#nezirnhOKZn2Q3>nTG{lG>-_pVjdZI-CPoQ%d8B%Yc37EZ!QmfWF8gx)T|DC zZq@|;W!440GV25XF&hKlnX3aonrj2Um`4YGH;)Y}^Z1})t`B<5lY(*PDM8!Z5KJ&n z4tIM%!>IKkW& zoNQhjoMv7ZJjlF0m}A};%r~2Zv&>t9v(4Lr#pcf79P`d#xw$L2z}y{NWZn}z+`KP% zr1?Ow!h9&W)O;jZWj+?HHlGOAnokAm&1Zs5=Ci@I=JUa0%ol^ln=c1XG+zy#V!j?c z&3rR>rula89P{1aM)SSk`Q`_~i_DLLTg*>_mzn61?C1E%=c6NAOWTXYquk2cNdg;Ioz|_=4pNzHG$@ zU$gAsn^uqDJC;BAo|P2*&`J(|Vg-YrS*gJArMERLCDS@ErN1>j zWuTRlGT6#X8D`B$8EMT*8DkxsGTtgonPe5GOtnf=4z%W`WLxDadDi@tnbyLTgRMm= zMb=>{rPdKCW!8}?^Q|Q*hgg*)!b$=3Rm4c191XIQ7CoNaALInO#hWwUkW|7q{b!=os+ zx2u<`>YAD)Gns^$?w$#<1z8o4AYlhZS)(9ePyta8Hxv{U6i`r9M7(lkRZ#&!k^96%hp#6ckwmWdBZ8HIpHxZ!SLfzu%XK=A3!E`mNJd)ivEcbCuJw`DhWI5iQ0qMOWaN(baf%bPb*pU58(d zZou=R8}a<;CcH4Z8841*!9~$+cxiM8E{^WP%c6Vmis(MPDtZvFjvm49Mvvn)(bITs zOvmeD1h0<;@P=4A{v?)(H^wU9&tneW6wAS1#wz2@v0VIhtR~(PtBbeB>f>#(Jp4l} zAMc1Y$3Mne<6W_~_~%%AyeHNf{~GIp_r<#7{jr|-V5}GZBi0umiS@^S#%{yMV*~NY z*kF7*Hk6>)aH7XX5;HcMkl0va#m139Yyt_!CX)2nWD<%^Cz-JsBr7(PREW(XvDiG~ z#1@ixtcc{qipd4B6{K=(HK`g~Lvmy5$c3>Dq-Ja*sU6!y>c%#ci(^|z{n$2gNo)tn zi|rzp#`ci>*gn!Uc91lW9U(1a$4TqhX>ysZleRV?SK0y6-cBbS?M%|yu0XD`9n!_l zA=lWINq0M!Tx-`PJ?*;Wdb>X9W#^GTc0TEAHzzmStx12oEg4|9C%4(1$sKkVGSKc$ z?zVf9!FDfluicjnwfmF%?c2z3dmwqx9!y5sL&-z-a5CB+NglCBld<+#^0+;YjI$?@ z@%BVA!JbV1VNWL$?HS}*dnTD|&mmLod1Si1kUVb}kr{R|dC6WuX4lg&;p`P!*Twm5akR;NDM=H!tdoP4sw zX-!o}X}Mb2hg&)Gs7INNALX9sQM?4pgGJ+z6l zk2Z4-(iYAU+R8aj+c>A`<*rVza0zYa251L2opy3FX@OgTUhO)xtD8f+xs_=THGYrO3_8i3NvF7T=rng8ea>A-UvP`)i*7M}*L5Lbcwr-zUl6uZ@IhZa(541>F%R%y9enz?h*Q)dz`-So~9qfb^2kP(2wE) z`f)s+ej3lDpT#TCf5jd8MLdUo6|YSH9nYoT#B0)T<8|qG@%r@pcplvz&!;=%&FN3^ z)^vBgE&V0lp6-ozroY9z(BI?T>4A7pdMMtD9**~=N8|nJvG{HDM0_AU6(3B`#D`j1 ze7I%AM?$*o(H4!5wOD+d#p4sKwD?3TBR<&*$ERD7_zWvMKGTZE=U8@pp5?|DT8Vg( zRWV*{Rf?~$s>D}Y)#7Wc>hX0}jrazuR(zvXC%(zLD8AXM7vEwvh;OqR#&=ka;=8QI z@jX_P_&%#y{Gin$e%NXiKW4RwpRz7bXx0@8Y_&@;t3x8q>XZmu1&M6y>V$1|O(d*t ziAq+FL^Z20QNy|}QOCL=QP1j~XlUJ-Xl&h-XlC_Gw6bnVTyEW(XlLD?=w#iQxZ1ia z(ajo^D75ZL++Yn!+-TjG=w}T}+-g0LxYHVu7-Wq~46zOO_2LUN3Pv*C*=}Ph>p{ zYv29<^#6l@#{d8OAGd&hUVN}Tc58BZY^g=-Kl!ZPwq7n7mJGRS zy@7PA2$|NKl2Cap5apWJYz^SxIKV7TX&}0x=C<{MJOKY=1-u%Db z&N(aTiC}$;n6(u-)^{jweUBcu4x@3_(UfsCUY#L?-W@}JhVadrTqU1|AZD;b(Tmy% z1lgPz`GxFJ-Uz%i;s}28BU!@n@$7kfj#Zs%78^QjxKDHV-^w#RkA-|}tP12?)~Z0E zVHFgbp{#;J9LgyuB%!tig*0@3L4H8)G+`%(eN^m%|7a*skk5_0U@eHrI7b_u2;C21 zHt<}Oo(MHP8*n3!WSd0>FE+v>XQ1jfE;2GzRBNHa+7#glAyoL;Sg3Q+c2Pb@m5+-( zl}ZX#JzHp%C{#VAPzot5;#W*lM4>vO&ib*a9V-enI7@R?sp2X2q}ZQw zq-SLciBP>0q@tNaH;Z`9= zp+220hg?b}DgBh};e62;WtaJneOXp(C9jl{)+(fyXdEqS<^}(+w~ClQQpR>ZGxE~1 z(`>qWrWVak%O-vD(pMUd3*R!D>GaEd%Lw1H8&dvnyr(&ZGgw>yy4G#7l?2IBK z&*pH5)I^MdV&gLPt=z{eEB3f{z$@dHU4~|-)m>r0(i35^oD&g?7;VApF=AY~!e}pc ztTZ|m!uf`Zi~_^X2<0TQ)6G5u`q<*ww~TK2;o5ds#n^r%O`CgqH_X)6PD5>Li{og- zxUR^!!SEUge&`A1z%i=0EMY~AK1D{~WC^t1Dk-oSzR+Y00Ie9odJYRbt*p~1%Q}N{ zV3|Ty25F|5iRv?g3K&JVF$>+v7`m4Q(36a#DJ+O)vNW`SrK6QB1AWLsXcL1Uy;vst zl||4|mZf2qttD6m?LrpS8nBqwoY`7O=4w4yT>|AnyI8-U)ze3_`ua51K!1f@ zqAz9*_0=p--@qE_U$aZ~A6aAlAj>xbtcj7$ni?0dW=37s!f4D|8kezFMgePW^ki*} ze(Z8%7;9@xVpkedSvzA9Yj3P%9gKCXqwyu{Wc#k!h# z>>Bej*4->%J3oQY{t3!_YhnLANS^1Bg5VRNNM$$lu8ZmvbA z$pLZ@Ql5-LZO9?=2MS?v?|PUVfpYV;xO4(c6Za&Z<8hE!+Ti zIR<?E(%`q;s#5%&_!p^NR$RX?r@g{ z-r3;jF75{@xIe-M|KJ9mwFJNSdZi0NcAV5gRjWqpo7%oY-CZs|g$*aBxz zhtfq#Srw6H<(4j0ipaL3Rr1b&bNhcbDtJC*bxMgyv zs#7D9brQz$F%$-;ciB=73ZL8Vf8l}Nfa56y=7s;xK=1w62k3BsJSOkIFcu;gDBn{G z!9^%ZK3JqYwn9{8SYqMxn8e1UJSK(Djn*Z+m@U0YlJh1Q@8Y2lVqS^xR#m`*IdeLS zn{ONa3XLM8f7fNktq@`>W4Upcj(i+l+2bko)k%3af}l{<4XBV&O3x<683)yg3J-eE zWv~Db9vlk9LU_0|3&cWrG#BJxkgtQh2jn7<_kvskatO$`Kn?}D5+p3BMel%w1#^&! zr=Z?2kRO7CDGL(w6x4eFSWpLHcna#lf?D(~Drg7`@6h)k3qkG#*%Rb$ zkgz}#?JY9yUR-1hg>4vY55hJIw$ZRX3ftqbJqga`1G6BK%6m6Bgnlrr2F7LEd*$?gEz9AySX`Q~B?UWNG~Tf9?Hrkg#YIO#;~iV8_2gHjgc5D?|>9z<$aK1tb7Pk zjFpc;im~z;NHJEvaF-b`Kos)#VjEgNWF1EtB_#Vc^b{H2s zVO;zK<6<|Ai(g<|?1gdho9ut}9%zgA{0?nL9+LUi;OhmhvkXWe7KFc&(Etq|OwIo-LYRKesL*9#3|bNq^c+I$N2qcmselt@5@wWb zA@L(TRi1^RBw?v$)av+f2DB8;GMlj^#BK_w@$(&FzRr&mm&ch|mYtIGBR@`79%m%U zc`aPAVt%jeM2rP5LfFKJvG7F^&DvP>qKGbTEcUA;Ev1smDMJ9hMdIpPq$JE}N^8ik z!kK=g;S|y`TR1yud1=mBew-@uks4ZMa#rx=obAVHmuF{5;MUT1zT(H3D33GdYv)`) z&PwHR+P<7?{5VyRp#RXGCDGYSpZoiMoHfd`)AhA;tsiHd@;KwZoFDjc)+>**Bpmkj z-j!9|i_QPoODF-?(;GL3txH};nVve;Cn{{9VM66N4eCG^6K&^tNBsB=||bE zJjz@@%3?pt!tyAq`%%8-M|neelo$F@F7ux;S-g@to90)ACB9j_ zUQo*eWcbCvGbk-EF{P@iGRH3R-Yn(87k(ppsaMYos0Tb2QETusa$$6Z0-~a(&N5>| zr`jJvY&+xgPLPVY_Ssa#s>&)N%3K*%s3(6JXF4z$r3a>FVPgUUE1xK7|a2bTMUKSy` z9cMs@_bGYnBp1j8mZ3mkISK|=rWhQdEn%dopntG*BOq>kTTxhOL&Qs=hA=M0!z+&% zTj75Cy8(S3T>u|blGg>^Ng?Cvk^+i0N&D)16jmq;=IH^_sMO=%PdVO79)DT#_y*qb z@C(;^Cv@{)2~yM1u_VFeNrDmsIy<52e?9)=G7V^(JpK~TfIyf{bi!owUl~42VF)BG zxFR`_k`duymKs!KZ1c~65%?m7s;qn^^vWb_Yp>(epkucC4Wxgk@THym=9|lhoOaq6 z)z{qnVx{vTV5>~1VeEkA3lU@IV#wYC$+;l&mhqEBb^&7itdL(MvPU4lD&#kb>=Vd- zg&dH`L4h1n$R83pERdrL`BNgt1ae#h^Y`P z5h4((5KAIVAOVGNi3A0brjT@rWC$drkg!BD1rkw6mPE1z5>-e{BDO$Wg~TP25J-+f zDoW%6fmBjRWr$fXi#ERZG&X)2Ls0%@U;mJ(?tkTwdrOd^*H7bB~66qw6 z0)<>9k*fvLRUy|%q?`Kn5!0E{WVNkiiPMM>~zXoZZC z$Rh$7tB}Ve^0+|8Ddb6sj2FlRg*+{he+XovLjEa{X9Y4@AyXtWRUp$9@|;AT7sw2S zyeN^E1Ts@0vm`QGAafKlS0b+pWS&A^mxvtC^A)l{A`3;C#R_>tB1HmOs*pD&QY?^V z3Ry0Z6#`kMkhdkWS|IN#kqrX*L?NF_WTQYnSIEC4 zvPmFcD&#APY!=AZ3W2mzFy^-iWUE3T-Y+2A1oDGIwo7D(Kz>w+oX1QtkC|#7Gvz#H zih0ab^Oz~;F;mQArkcl0IggnK1@edDIV_ov2;@(hsn9$&TfEyf)f{HZIn0DPEEA>- zc-d>7o(;b&Mob7V0iQ6MEs`8!O?}ekq1cer*c8+l12t9?8I}_n784ofs!ULpNfSth zLP8P=3k0SuQAd`n5ofDU6;zGN8XQwKLf{qXB<#pzU2$wemCjM6E2>WysM2a0!*UwK zVj9CRjft9a)&A;=?Lx^`L+r1m5IKcmF@UvV^$9NKQRUruOPOlTM; zG*QQ;vmrN81UFWn^3}P))F$>dRn|6BpPDOcyt-S+npz5`){480L@pCZTZLR9kt+q# zULhSM(orCt6;dFPs|3%Ff=3 zt&e28QIx((Ava5;pFnO=$N-7lx;TPwPyU3epN1dsP~cm5#@UL(fo-T_;CoahupQM4 z>_80zKcY5)pU@S7-KbmOXH*#2gKi1zMYjijL&F05(1^f(^km=wdOC0jy%6{Vy&O1# z76p!?C4pn;y})twLEt3%B5(@*8aD4{KNROsyNw(r)6}+ATb)4dF3u7_fF}%J081JZ0;+^zqyg;AJuhL)V-Sy?X zhyFG%)Ia7u_0RbA`gi;WeLL^1|IYj9hj?E@<2M*)x8b#X2R_Mn62y0rntV5@%lDA> zd@t$D_mS)Q@1zeuNCxslWH3KMCh((VB0o;P<|oKjewyszXUM*wPEH053QL1%dXUo0 zV1Ql_;Ejou6`> z`yd(~{-6Cp0@&wR>k-DJgWwC zOHK;1pO>ULgJ;!j`Q8fOm3$c32ajpuL2a?OGC(|~Wuef~&q2NpD*%4*hN#4Dl{MD1cdHeTypT%kxQU88V9`NKrAnjT^CIp+>*ljg%iDlSQnKEXTps~iY^1%I93yx)WEGtfJvY@Jec zfs4KN>bItQ;y>6fcY+tyLomQ1Uz2^SL4FYCR2`2h4N3jHbC>wS=- zy@V9)C8TICAw_!$DcVa&(OyCx^5h?$JnYFMo;>Qw6P`Tj$y1&@?a4Dr9s?nGkBf02 zr091cMZXIv`dvuT@9&qa4pT2DgTNqn6rKlJ2!Pk!Xd4W9hilb?9Ta&}ULYpGgUQCM8^}QttJncYepc^E>XH z-*NB!#I-8Rd*^rDJHHc;2;5wThb}h6e_)<^v8k@y5!%w=7;SlQY{}K3txm}pLSR*) zw$uy-XeZj)d%e^R8SoMVB3#xg#t$T&V&L}11g8mOezFGXh~*_%QtNptBy;CfkXeD0 zKMqEER!a@4D4#=qQ~bIl-udHfgvI1$ zzOf9?T%tWF-KZkkV(>7F;8($ED1u)DFS7`q2TpGh{CdF>y+eo#kGTk*FAFV@g%-*} zi)0}<*oxpc3JODTToDL3a0v(imx5ps{3eJ%1Q!=9!Ec2^Z=+D55gq||1{qxo&F~1w ziU|r1j}Y!YT?GEgr#}m6nL$e=98~g1=T;#R&dJX%|HB7Nu2+;BS>yIfAz;tx5!c zr?jdOEYfsAFI9_Rk)sQ=+z9?bY1JcGWak3x!Uz_rxu9?U2tnE$7(EfZQ|^Mk`B5s+ zH$O=Q+FvB(>MBOBNX7-DCxU;Lis+kPlm3( zF?oF*m)F+`d3~KMSYq@K1*BW+C@2Z>IH4p&;)IeAixWyh6iz4^)|$Z8M#5TC5Hzec z0|8)j5G<@+376n0uR?G@gR7osqC%pJ3c+eF|v~g&p@g{lslha$u=u)vfYA)?W>~6_Fes-^9=C}4lj0J{NI@mAAa-wo_nA3+&VLt zy!OS5+l3IPXnwcQgl-7~giDxG9M{~?p4YayWkY>qL*Dwfyt}5FP}5Sb!N z3XAqvb8V9p`rLUTOB^7@!Ru-_)#f$THm}Kxw8S^otu1M6XsQox*wC_pCNLAkK{NrY z$`^};qA_xZfH+i5DiSRY2jlS|$-_Y$LDCEdOM{UBsUtxgrPlR_5}{SW2)SGkvy>|d zm6j!fYP>lh=Bn}hvC6nFkd#M*IEJKA7K}w{&Er5EuSA8fRCUY;F`oofm4y<)>SYlc zk(Mj~QAh==!WZ@hLaOf~5R1v#@rs}?R_;^s1P~{ZoDzunN~4jKAx;Ky3ROG-Uu;>5 zKNUog8m8P=8uEvd!xV$?lXOZds;fe)d@;54K@cTmEws3_nsOP4kQx@9FXk`X@0WoH zs}Vxslo28zqG|-R`RBxybq_6@kW>?h z^`xd2hkdJpJ+wJkE393ZjR+8IOc2k`uiZ#BHSPay&ERuccIc{%Ck*LS6B1fOwNC8Oe3z71lSitc1_ z|4#V{h+U*1smp!)Psg8v_!$+YY^{}qf^9JIetHV zAH)YFo#INr-xmoc7yS^#M`T^Jood3PAbvx}QYLv4{SL(MQ=B>me+2QT6sLCn#~?mQ zacZxRf%uHv^aP%kIG5_;SkU*?LEZ~u-=tO5v4dM9c%=7At*PSk4LgFzlLQLC{J z19>>T9Y44-8|0BxbSBswkhx^1CT%sIWaHdJdj7L zl>)x1NcH$I$kooB)wLJ?!7NnQdHZ26Xh)U)%Uns6lQ@I4>38d_# zN;WdF}AeXUHqm_eq7V1=%#gs$R_?Tgcks%JNVoTB$bfJdhhm zy7$Xuw|0;lCu-GhGsyENYSr&TkQYtVs^KLdzeU;=2$o0bgPQCBc^R3h%2db0zLn!| z6S5OzS9(cxy%OYA=_S?q8j#nfmsI!bKweL!X~|x`s!w{!Zg+vaJFTL6-3#)*w2JC7{9uI?jWP(-WKL+yg3095$B*>>GST$}x$Y;p9Rs`|ZLq}@>K4#=O7v6M+R*$wiiDNgnHImln6IMw1;Ab*|WREPIK zzE5si#8)1qZ%%Y44X7_has=duRI|%NWg$Eb=<~7M19CJ~s&2mp`MXr9+Wi6KA5*33 z_h*nFlblK)bHn(?Q(U?KR{tr;F)C$DEG6514s!2gMb-Wd2CirQ!vXf`VvTyulwA>}C!;`>>30{3u? z{1niplAn^|ldUp9o1Rut9Wz18N~@^G2Y_~9T1E9g2(*K#;w%eAg7HwiI-j~93ff^4 zEFD(u2+*=8Sk?6?&~heN)o~VRvnN>9Z7yi@$U=oLQC5OqPR8$0+A*LV`}Kkv{dmyw zzFtrb=7YB2>xDu~E5vhy9}PrTuWP7l$FuX~x~9hF#`dM^3Bqzbmj0Id20Wv~jm-^_ zjq6u8Y)I6uZbCC7+)`KDw7hmhBk{PL5^t}qI~N~^jI%r5vT;LQLrEj8F+KH3$nn%0 z#|<{uHMO)gHm@mfXkXh>Z)vAWG3&p20E3f_G_Mta6Z@EdPF&3VD`G$Md&B|e5#k{89^w+_-x8NH|ADxS`Om~5=1+-F zWB#0Y8S`I=!_0ptE@%E1afJB`;^ZdCY5wH!!awZew0g+|Jxeypg$$coXv`;?2w#5TDO{G4Tb=ml9vdd^zz& z%vTU!%zQQRCCpohzr}n5@ukc+Ax{?_EP9lxGI7Er3SRAgz(=3iuqMt>s63?)h zqr|f;j#grT#c@guvdCBBIVGOKKMOb_OB^V?Vy4IuvoYt01!5uQBHJMp>vF3jCxMC`#F6=PyA z<~}L#S+Q3dGDBu!X31=sgPAMy@o}bC7Rn;&#|+2{8OKb>8hj?_mG!b!wqdr*4%vy> zCA;xqkyrM}ZL$}$Pxi|J%t1MX&o#VqryQ2MFn7xlxd(Gpj^Q_QuiU2zO&4Cx&@!}4 z%q%S%zcYHZTrD5J#(1?ttw{4@2DAz-j+xMEv^vastyOEoY}Y!pPRuT?Tic4+qixfA zG5fTBZ2)sn8`5@Q?$n00U6{MI5p56Vs5YkU#oVV0T^C;6&@=Q*%q%@y&%w;q^YsGE zLcK`$V+QmJJ&u{sYxFwIdc9R|!)(_(^iIq!y<6Xk*`sgMdola;etiIQP#@BFVD8k1 z^<9{|^$~p!=BPfV@5S6_2tyZM!!R<8Ow24J+sMJpHS&!D%tE8c@M8vy3L}o0FlvlC z%zC5MXv1tbI*d-tE~DGnirHgqGkP)mjDBMPbI=$vc3|!_hK*gAyNwZJ59X*bX6(h> z=MpYmcwL4o!6jF?(FwT)mimu71}5=AdiHwF7gfYuL35bGK{6wFh(5HRjrjxz7})F1)5;W|*0n zS!TAGgPCjQn+2GKW|8T~444&W95Z3on01)-W~E_cBFu~JYwYVVuea~C@4>v+e%yWv^J)8K`&G;#`%QZo^Bwzr`$No+>`(2_G50#c z(S_GBoas&$rq?;jnT0vqDR35HE_MP=DQ1~d>8!w9>73&QrwA3C2npJ9IPeCgJN*R8uV+?kkJ?jzl~ zn6umq+<3opFLL|cC77k|gu4oJg}cGM7PHa4$$bIlh3>1|*J5sQ-|oH(^KSQ}?k6yx zbie3+1#`Rmb@yACZ@b@he}FmS{@6W+`I-9*j}%^y=9%W1ftl&a_T*sZdgglyF&BD@ zJweP8Pu#N{v&vKNS%bOOv(a-t<^`TBJ=fsaNn_uJmKp5IdbZKfQYo}lu+ERofe5GkiH6P{-ylm-p OanV8eU*YgyhW&p6q8FI} literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/constants/JobConstants$JobEnum.class b/bin/classes/net/swordie/ms/constants/JobConstants$JobEnum.class new file mode 100755 index 0000000000000000000000000000000000000000..b54f5a5d852151747012bdcb3846574bd7d4f308 GIT binary patch literal 22921 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 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/constants/JobConstants$LoginJob$JobFlag.class b/bin/classes/net/swordie/ms/constants/JobConstants$LoginJob$JobFlag.class new file mode 100755 index 0000000000000000000000000000000000000000..923a6d12d04e6c0eda15af168c08c88490f77075 GIT binary patch literal 1551 zcmbVMT~pIg5Iwg^n>K{6iXaGnK+&cs5#>7t3Z)EXGVoAkhVdyap@wObnI^?Q<%5C> zqoc#KKgw}$8l;XqFwIPRbN8M-yL;|#e*OOT6Tk}c5+V%qj^%6Kd$)0DTUy=IDz4-C zrsI3sj$6)OZBm9?wH>mg=(klfs|hfO3ZjTH#5aqj^$nx2$*^d2MyGSWxPk=dlM1^5 z9k+EUP|!`b)c(5hrch#7dfRCX8NKL}(5;{!Nrq^p<~kO`Kw349%@b3rnNC&PD<4}G zUzag}yAlQ!4B;L_&o!XnH0zYliCJq}dq)g&={E0t&GbCI%~0|iwo}#HBXEL%e?-B3 zj55TswqyIN41?`dp=VLu=Q=!4@DPtk^CJ?UffeJ3%4DD594UsOn_S5^js%B2Rgi|t zWeoE681%H-v5=JV6^)p84@tvb!*;CQX1#1RUYq3_S&SPJQaimlhNR(E%-X)$usMAg zLv+kKg-ZUfHwopxv#HEP$*wx4-)s<0Op_p_LDlkk3o{65wMcE3t<=H`AOit*+W7co zWjjrKRcDY(ZnIIbwrnm+fBQ^L^PZycyO!r~yPhv$g<bUNs@4?b2HQ{1N3zebHjYL0a|G$$&%##2lS2bd8B=e>=~$ppQ7D3t^AQs zA%8{BC3-*7j^P>o$M~5rOZXu?5Am~z1RipdWiD{%5{%;`|KO*|qO?%Z@FF;;UMCcf zxD5d!M`Wf(&oP`C`+~7g0fxuyp;HLUhzUBnge*AMAbE1enV=s2#w!x=GVppuk!CR$ z=BLrhD~e`5W9&l!xGrTaplhWTZPE3~e7-_wHAoETkNyBV5KbYK4#ZPPrT;aFV;&2k zTb>l>&%}4~NSO_ VX0b|Zk}PY;Vx6v)(c4CD_zz}nU335d literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/constants/JobConstants$LoginJob.class b/bin/classes/net/swordie/ms/constants/JobConstants$LoginJob.class new file mode 100755 index 0000000000000000000000000000000000000000..d34ad433fbe3d619b260d724eb9df2dcd3b6b5a1 GIT binary patch literal 5460 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 Kj$+3ID*J!s$3w^f literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/constants/MobConstants.class b/bin/classes/net/swordie/ms/constants/MobConstants.class new file mode 100755 index 0000000000000000000000000000000000000000..1f85c3c4121893a7bc4dae5aadaafa35fc4ccc77 GIT binary patch literal 1301 zcma)4O>Yxd6g|%~_W0Y$#5iF>Lnx$4D2;*g(GNgzFp!8iQEd~6Y@&%h36FR@)_7dn zRa>bl>Y~2^P$RJ@5^6V8U9e!u?_kGYK+yC25iGG`q`7nNefQmS=G^=8?SIb!T*fzX zgrFJFlL#XsFml)a-p)7d=5Bs{`>s<91R|GYQwCQAw7K~W4Zq#UDHBp=N0}*Q;>t8N z-2dqn&Cgn7@izPOi7ZA3PIlmo^qe>*aM*yA#3YUgq~AlA?BEXZT-g)|&lQXFMFUd; zGfgMRx9@p=T{?NUov(S#c3?MycE03oUmXMjneT30t5mm2>q}deYN1>e5Gw+yLB)pM z=r|gFuPzGcSG~H!8>_PEtaaRN$FJJk4Q9+$uVyzkY+tIlpVWgpvMn&X`cXu_6-dbT zroGp3m%RFq1e;r#-xP=kj@xS3fwNL4t4d(k_DXiE4-xO*DEKZbHw!m!m9`4yQiZ{_ zLgn^WH^X3Uy<9p7mJ8+LAc)F#(RQUn>C&=Ym9A4S`d*6)2~6%f!BS^ur_^Z#vel4| zf8F=ova>5amMeNi&b#G1JMsrA@2WD2$7HTi6jY>B1oDx)1`8*2hpdZ z;T*moDN2qrSfCeT^#V1T=Is=#PSex7l*bT$M`^=CJwPJS_!Ywt GzWyHsNYQ8j literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/constants/MonsterCollectionGroup.class b/bin/classes/net/swordie/ms/constants/MonsterCollectionGroup.class new file mode 100755 index 0000000000000000000000000000000000000000..397559aab45de5119f3dea31fe3401b0abffb7ea GIT binary patch literal 2183 zcmb7EYje|95Ixr~5l1)=L!g9~@V1>cF3^%DPTi7Ff{Q}}fzalg603)jWd~Lij z%1y&QC~xk)Hursn%!*}OepMk^DDG%Dqc9aXb$qK?er$M$8%8?|4aqT#L)UOtM-CGT zW!v=2-do3QSZ2B9mG>Rn^9|eg${VsW-8HA#WCqKz*IlR6R!Fs+Jx^hx-p40)B}?2X z9n;7wXa}ah5qM1%iYNTeV@AUT9T)LYmt{~&&GyX$(`EP@quDVxe^Qt!)S~#fM`awd zxUAu09iQNe!r1{Pl%Uudc zHZz9iwWeXUOxfL)-J*_?1m(irXC3Nj`A5R`QyrgSfp|e_l<(qzFny6(+vm8W;jWH* z_(I`azqY=U!Wo{EZ&)^w&X1_GxGPET>sS3Tnn^G}!zK=|Zh0hGg4e?MaRe z#ph%^k6Mb8TBC&=yOtE&odFY;7g~D#Mb}-9eb2SGkt*y;#8hvm+jO+`QuS?_L&FQW zNhTs@eY4eW8opV3NceE`fxqQ=mJB@ix1El=Z$7f*WM@a;2n*7oxXS)d@Ulwr&5H$` zKmH}K#D^mjtT|D^mqWs@P9NT8d@u8F6-lmu$rj8dneT9p6IrB@2_%@}=J~ zIr|6BUFLI)OG&)yS0ARl#tN?oDd)nFUdlWkaYu^FW1Xu6*N;()QpDAm`2 oqkQb-Uqp;v_CQx7&|J5rj`8J5yww<9u7{V4I!R$CXp~p~0c#AIpa1{> literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/constants/MonsterCollectionRegion.class b/bin/classes/net/swordie/ms/constants/MonsterCollectionRegion.class new file mode 100755 index 0000000000000000000000000000000000000000..b3e0b5a8377c2007b177f8f11b6cc2265e420b28 GIT binary patch literal 3125 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 a9o*zKNcScFy$kUVvk>q8fIs3-X#YP_)!h^T literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/constants/QuestConstants.class b/bin/classes/net/swordie/ms/constants/QuestConstants.class new file mode 100755 index 0000000000000000000000000000000000000000..06485b11544d622085d31617ff64c33ce4cd3944 GIT binary patch literal 2012 zcma)-OLH4V5XXBg*^*`X5g9wic0$Z6mI;<0!3La|th8%u?bWWlyOLt_*sSHn-e60L zv<^ja;LIT$sR|d0@_`G709CvW6c?(1PXWb;-~`2gBw3jhDHoSn{r=rOJ<~Hi`t6?| zek7vnjYLet4&i0=LM6CZww zQH=T`6pvFs4LlNP1$Do&&nR-&Jv{b|w;7F0t4ZzQ%q@qNC=D^{URqpSn&Xot;xtT8 zFp8F|mB95Y4Mr2wLR99!ty|umW3N*7R+2kW8f6q-UY=Wy(irAhT$-O-h|oBr%M~w3 zHQue(_k1sP)JS2zM&MS0Mr!NWYXq57WOSjVYO<3p=(b`y8`63~G9Ak{Ole(lRGAS| z8TFs~7x`{NMBBeJntV)PCTm!VjyUe~2cy9?bx%+#_x*;o8Rx)KL zV<0n^e@2@8R^Cu`yCYuwlTl1IHjIukm}1nIE9RY?swr3^BB`6vIa$pqx}_Srqp4|A zGPhy);3lI{Yg5%Ugy(XSE<2i$*>ogx6V{$6qw|loN;=Gi7!t`+j+X&mT$+3zl5Lbw zr%YB-O)l*scR}ZQEn70}&MsH)G3sp@a#9|is~=%2Eg^$FLRtH&qnMJ;m!w*P(yXD1 zi__PNI<24TGa7EE+}0IyecMSJs3ecag^RaLc~h|z)HQPQF|Lq>V)3$?1xu0@rzGL9 zWyhA%&OE|;YG=AEaF;u0x-4>+`k5|QxeKoIa88jW%`p|#vIcaNG&|Ibqb z5371yFMDe~-`wz{jXul$X^Ni2TSs&O-wB!|v_GheE`pyD_!4+Z;HSaQ2>dMgIf0)C zUlw>8oD_Hl{DQz&z%L3s3r-0<2c8#r0lX;iRq#s!FM*c@ei{6Vz^{T=1il8oF7PV& zHGyw{C4tl6jKDHj5qJ%}E^rpC3cLZ{6j%f21lGZZzZ|*iGMGQ zC7fsqU&f!tnQw`G**xN#7`d4!LfaVQEeG16*FnAX1`R;r!4@tA_Zu5eL_VY8@kI25 z`p1W2weYR)sP_ST09%Ood;|Cr4mM6#Xq0A!dB^BYERX1|rY{>s0*7w36O`Hsre+d@ z-_W^FXk;ca()}y?+5M C4t)^- literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/constants/SkillChanges$1.class b/bin/classes/net/swordie/ms/constants/SkillChanges$1.class new file mode 100755 index 0000000000000000000000000000000000000000..e01677c3203bbefa834279945f390b72023693f0 GIT binary patch literal 1229 zcmb7D>rN9v6#j-SF4QVg6)(|?(J9MXPXUNVJd;y=s z_z3<{;twCd#Ha8%B%XzmY%xaIWY3v%_FTT%^PL}u-@XHQj=40t;J8R-(2WZW{SCgy zy_S`sx57q;sYaKNfwGIVWapt>ZX4_Ah1GwShW(K!#o8i&vyJ%%BSJrqNJ2DKH z0>UNCg9*C+Zp$*vz|dSI1QbqDu<{d94U zVfvg^7NrUFu7lymj*B6NnX~2d$PZ|Yi+aDpjTMmt@BNmGkuw8m7pU-P$22(&fBf*b ziyXu3xd5zl8*EEeixEtI_{5M}(lx=*SC&ewwwhHDz2eo7JlV4LdAP|V8QX1V$_COf z41Lxc<73z1v|8c38t5*24}fpRhhtlP)|aIfNdPPmsbWvKS*s z9?5acV*)QRi8pvkUxCaqAc`6ztDBq&|N)tDkVbL5%AEa^054Unei4@cKn AE&u=k literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/constants/SkillChanges$2.class b/bin/classes/net/swordie/ms/constants/SkillChanges$2.class new file mode 100755 index 0000000000000000000000000000000000000000..26073845775731948a2adcca5412047a499ccf45 GIT binary patch literal 891 zcma)4ZEq4m5PlY}z4oM5Xl;FoTCuf&FPE6u+E5!Kk(3157)&+s({ik^c-RMH+WWJ~1}7YhtKN?6~V>8LA(e`@?7ltNj5pgYFr-4VUxNJKu5f;M8A5a{xt>Y*Vb(s{GPj~WRG9{w$LIt5VQuSKG_I1}qg<ur=sJ1CR9H%7|1Puinj I>!j)Y1aIc)ga7~l literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/constants/SkillChanges$3.class b/bin/classes/net/swordie/ms/constants/SkillChanges$3.class new file mode 100755 index 0000000000000000000000000000000000000000..83bdc2e664c55d648519ab8b429c39a7c27c3527 GIT binary patch literal 810 zcma)4O>Yx15PeRTZo4ckNkhvw1^SWX&^>SgZKx_mM2(cTNI~Vq!P%I^!Lh5gH~cOx zP;uY~@S_m3Nf0ZzbfulKpJ&F;Z|3K(?>_*%Ml(POWglLM8(3keO!$mPnUg9y;dXq= zFBw)^QcHKlP_8#Fe5^9O(!xddvq^_iL{l3jN($|wi5b|44`;N_QjtbeK9Y&#I_k(& zyfxAqUB=Fb!vHrC`nVNh9UFh{R9uguu6AN1QU-sh3+tH{0-|U!yQAd-YF)}(Kx_1?)tbF;yxZQ9Q^wjqpjoG*{J_XD%BnnF=2OK z(EBels`;{BpmRQ$h{VPJBgJc%K@48o3yC%VyVXZGmn&;|MlNO|ky=)bDE~PF~U&wPrb%MUh(nNG*POeha;V{>jp72H| z%2=sKr^1cR(8mG8-nED_tey$$PK+fn!>-mMZ7XiAu-Ku_lxQviMn4TC`G>UXpgc!v z&2M1M>e>~8>g_93zGCbB7dkKD5!rQ$0%CY*VUuS2G3~-d9-dI`yy8=`B|O9Px!=Ve Uc@O(!>vLou4e|kHZIh?(H%CU#{r~^~ literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/constants/SkillChanges$4.class b/bin/classes/net/swordie/ms/constants/SkillChanges$4.class new file mode 100755 index 0000000000000000000000000000000000000000..7ce26ef9f7e047521bd7230b8d618e62cb2640ae GIT binary patch literal 689 zcma)4%We}f6g^I+opu-+5@>ltfg+MF@TR+zN-zR7QfL-It;EimF^Pj~Bij=`0Ez!$ z1BeA5z(*nOgdmMr)slVgJ@WNEKK8HQKYjvuhP?z0G-E_5*09ddo{NRxWl)+Q3qKpn zz_5O(j0#5#&2H~B#sD%;~$h0LGsKxFO+Ly z^yzbgOGsl}PO*j7zjj)fDIb_1r_wRR3!zInddINS9rT7vLG>N|1Z{L;TupHe+YC?s z7h{bN!UWI9@0Hfsj82z+?|}4+qF~tW*3KMF<}wfc-dlz!vxQ`64V956<@rRqH)5iR z=?rZy^r>*F%2#9*X38`4h8OJKXV@I8sS%Ym3@Z(FqYrDcR%Y~%s4N-V(&h4%sL0S5@1UGSuvNhbMwShah ZyTp6APZ&{4;NgerH=t*QHdf19YHvT+ptcdW7%G@t!CiXtSQ^C7M(z0-H7YC!Ki{xrsg%`ll@Vw zM>K-lV~C;s|3Nj|t60-s;8dK3LS)6RHJ!qe!sg_3D&LxR?JqJ>#IZ4gju;Z?RM_n~ zf#sj6H_EPKo%XF#-SY$63w*2iv|Fp?sxrId?;Mg<*yXaqrsSGA3yaH6DafQwXl%Ul zl}4iIn+QxaH9D_$n&^_JH?K+Uxw9Hws!#OBizd#SxFEIUeiK6)+g^A^qc3(#{#Ai~=ElBOufC)=#*T0b3vTH(S>A(E8hBYU{2EYB?#0}{_ zds6fdOepETenum^Vc5i&#^{BYOuVcy*1gw+tZHmLr!oHdReA8^MH3%Nty(Z~)P(HI zL{^qNk?k-c@0%~AP3)0aIbhD4csVbce=l z-(T|JtyiVHFKHsB5YE-hjzT=|dd_U~^rF)^W-r#HlE~Lfc5U8nxTe2a3x*v1vx8<*vdpLqix%t6M#-6U&00Fv9+m-f=w!u*yi%?1 zyIy6+399vS1af?K-O{=g+GZU;n5z474Pw)t=QMIP+xHzGy>fg*a)kgTU%5NdJ`U)u zQk6>R)AR>W=|tor+TO>8H#W4jZj%?lzNaFqsFNT zDn~s;9ik?whp8!QnmSB9LglF$YL+TcN2odKC{?76QIAsd)N$&uRlO(2I)oFF!)TXN z{vE>VdmL6j;5Bs(->9EdkNQ~+s$bMu^{e_){TAv~e}tCQjnJFw&(J68CQi!O*ngJ+ k3pmxfCQr0xeG*T#S{sYfhEbAqT9p!(q>aj`xU};57hbZIRsaA1 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/constants/SkillChanges.class b/bin/classes/net/swordie/ms/constants/SkillChanges.class new file mode 100755 index 0000000000000000000000000000000000000000..83f14458bdb43ee0c238bc89bccc51ba39c1ea91 GIT binary patch literal 24166 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 Yy&nBaIMHaEx&`&-(_Wv~@0FeOUnJp1mjD0& literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/constants/WzConstants.class b/bin/classes/net/swordie/ms/constants/WzConstants.class new file mode 100755 index 0000000000000000000000000000000000000000..8bda2466fab485b46931b61748108780c4866bae GIT binary patch literal 2095 zcma)-TT|0O6oAiik#JKeDi=k?A_6MQO#uZpEn5hrNlDUHo-(0LAy85$2{Plq^2r$= z`~m(b$CIViRT;v|PQSL_IcN8rY<~Rw_8kB=pxgs((B1_deb5Ov2n-xMpB!3u{6nfA z9J`f>z>Rg!_oBB1+NWnqT_6#d^xcSt=Z&E1x%4!om4+Wijvs}z{5jkDOyIVX)irys z$V|(YOR}QM8I=)8sef{qQQ-N9ZwU0aypmHtb0z2}Fp;hm65f(Rn(bCU93sp=fr&(6HGFpX$ezXzgc}r`;DlD{t`iV=cv%D-KUuX+OWwlXEEAZyA`U)nhc4!zHP3hI znDerLJd~{!^BIPftq^#2orwO~>46(i0+(*HS>EewmdEQPFxV__Q{T~BC$)jc@J~I} z#&LY_xPG;DP$Q!F_kP|JNMG(_(jcP0_wiTqX8l_KA zb?1oI91ok&-}*PdMP?1+xMkie9B zoqHZH?;f*p7F67v7e^cr-T`y*O%D^$g)bR^VHkyO=m7$~NNv!Ed{f|C$b$l>kZ%io z2YFcF5#%v}?;(#1`~dlpz!S)6fhUot1b&J$ W=Xf=6?c<+2!2}D5KoQqADE$J$KJf(r literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/discord/DiscordWebhook$EmbedObject$Author.class b/bin/classes/net/swordie/ms/discord/DiscordWebhook$EmbedObject$Author.class new file mode 100755 index 0000000000000000000000000000000000000000..3db20871ae26ca9e604b7fb319f2236fd7ab84e1 GIT binary patch literal 1125 zcmbVL+iuf95Iti%aV~C~CZUjWE8x<^g}MbH0ij5!6j3P(4~6jTIIG0Pu_fDq-vWsU zi3dJ_k3!5kMwB)WDK9=VyK^~vX8iNl_a6ZEv0a1$RflFEhdkkNAQC(N6h;G2*yGq9 zc(Kcl{c?uyMSm2AAI!sXUku*#PlTJ8FDA(-j0pK;e93x;hORW(qPQR*b} zrGLr5n)G$g4TE=)Pw<=n!S{T#MNV2hrh5<$nC?o)3q*IqI!14uzMnoIbRECvM4t4s zLrscGczSV)*<9NE)S*basYdl?>pV@CmIG2LN^Bhc(WP`8P9j&l@+7(1zYDMw_u_L`Il|6 G5Xx^?&Gi!i literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/discord/DiscordWebhook$EmbedObject$Field.class b/bin/classes/net/swordie/ms/discord/DiscordWebhook$EmbedObject$Field.class new file mode 100755 index 0000000000000000000000000000000000000000..38cd05630347ada213c40b5d20951ea8989b3302 GIT binary patch literal 1116 zcmbVLO>fgc5Pjn$bw1oSP0~WkH>4$TTMXiWP=HGzG*t*fg&>ua6R*-OjxE_v`BNM~ zB0}Q858y{3W*tj}CWn@b-|XzXnYT0JU%!9+1n?BQIcP}fNE^stf$+!^krjUO14jyL z7+Q`D`+TsTPw>6y9sB;r>Wg7dIInvrq90Y8Qn(IbAv%^}^*-TY`@%UId1R5(kvC9) zK`5Tsr?%zV-oTm^;q*_WC!=SCRIT1sqL&OTqew`5_D~Q??Z2GED3IQup`uC#$|@>z zYP%z$JgWxQaETL2&y^lC>4@;5_8+2WE6#e3>Rpz&=Q~_zxy|)DBW_*r*6z8nXuof} zT|1EKoH)~}k%Y$=S2P(#gP;#Y)QQ_tsnusi5waZ6RUKhdhOML%+*hEYUv7)WSL);0oWFT$!`rDy}gqOR3OeOX*0(mQtb=UdN53zQss< zmodL#@e3OoQ^7*nNw4D6#v~v~t?^Umkyp-=-^?Z7!fj5cUOrv9^7%~VcXP-o+=-*A X*o<)tHO3Mvu44<^Q2$mPJJ9|B=B)3N literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/discord/DiscordWebhook$EmbedObject$Footer.class b/bin/classes/net/swordie/ms/discord/DiscordWebhook$EmbedObject$Footer.class new file mode 100755 index 0000000000000000000000000000000000000000..d848d1092a8aef4159edaf26aeaa940dfc0c9a59 GIT binary patch literal 993 zcmbVK+iuf95Iti%aV}1qI^lk4peZEgVh}Hg0564#N>O=e2@(%TjoMh;$^2pgT^iY9jQ*UkYQb!wv zGkkl??-pa*yEOxOUtxQ0v(NJB>KHOnB@0VbLW{~c$Nmo2VJ^<&0;9Hc zO(VB-RjuM8E)}(WM&h@U_XUklY#7kV%i2lRJfSlWC=wdDd@On8UvlFZvWY8siK|%6 Vv4iW3E*D*6-RsaBzlIwyegV;a8Rwei6;RA1BvQ=$*H^m&03ICR-f_AKq+Y7>cx z5B&lCQN}q7No{yh_ar-KZr{wA`TpKq{{e7-*C|90H4rlqM}n~LiojAoJ%1#HHB;6| zsv#@Z@lt*hgNf&Tub<2YVst*3ieXSco!MhSNCXq9>br!!-h(kZX(W*{kT#KlNyty_ zAGYP#?$}xuVfc^ImBAq)+HCc8(^(TaD#{4`pOv7vmktUc=_ctx%b3a1Yh;bO3l`KON8`= zH}{9)lhjQV|6k8LJqtqeOsJsisldQXLgQXrA(*GGEBqtJR!S%X6~g;_W!~ikA#;Zz zgm}miRCsMkrd@;&?+(c4HS1QE44#1J$=YZ3M_K0DZx*2T6^!=V1vY+%fkpmjwVNtP zQ59LLp~SXloWv=3$~XPx!V0xB+mSMuz9y_ubPH-E4H0NBSH6B%R;4!}Ccg=99ERT;hZ9c>PrY+7h#S4}bm9fB^a=TRELGzJVYmBaoK6u1mw?#e)%@S8={b3LCe)owU&{k|JXt*6GEo&{n5>E-Vx%Khg@BL1phS8KK&wnZqO zh0|ytK1^$M`hmU2BCD1 zDFpMDE7;)m6_|nnv8*|Wy%ylr3V zJ+d%s6a#M;OrumRGm`NoFVaC?lJ{s>h1CK{*K|vUz$$N(ig&_wOlwYUTdQH6+}2q% z$_2-~?3%VE;dg1cTdv0|PDy^>qv2j`AYH*O*-qe7zv|{j<%%M^U&BUhVjV8nwrg>K#*9#rJ@QUThKQaOW!vvzBg_1opQ;Iaz}%)(188p`WRk3;G-@v$qAt;}WXa zwrSXo9n4v;xbw0yt>k=2Ve={E1cq8ISsDY_DVuYbz)WBBN#(;G5?+yg{jfm3`5=Qs zNMjJYWt@8ij@_9!WmJ0w_B0=rI>6Jt1WeX}!X1Z~RG5;&g)1%|ny`D@^du7F0W;HC;3Xo)Q#@bgxejH1yJnJ2YglHOfwHA!D({d)O7o>>j zB86~6x8^6|8rL{UCCq|tu^Z_%XeQnRe)_#67;;+y8}#}jyxUjnBw;dA9^C08>0KDyuGOAL}gx&q#=11AIU zWF&Y^Blx{Y@R>+(rV(6?1W(~?MA+*a!8aqpPhmO&d|xB@<4Euf&P9MXH-bNj1V4@Q z5#X(j;7=pL&*0ezaJCWrc_jEb=sZx_Gxg`3ZUlc30rpyNmc9!p`Vkx;nQW|7cH1Jm zZ;8h1w=dbFUn#0}-ZsBw2vGMycA61QwkAaOHOaoY1)025lI%h>StdmGEy=#S1)02= zl57t1e9BraOLKjQ?0b^^a0@bdy(O86i$2+D-laH6yLnLurnB3&SMksy?hCR0$p4Ce zQmh-j{Xy}%aY=kAO48r{h1AAnzY^!!1_?&m!$|Y85<9Bczldyz_IGOEABr~X0fJb2 z@VsA&9u>7ryhjy9Dx!n3@2cRt%23tPH*rvU+fc=$AK*v~XG0GE#9I7S=P(mE%mfZI za8>Pr3@W(7Gm7IX-N$eZ*Ok427io9#ygP9NFY#w!fNw8z#~|%1v_rJ7(&lMjqdiFb HI%59-3@$Uq literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/discord/DiscordWebhook$JSONObject.class b/bin/classes/net/swordie/ms/discord/DiscordWebhook$JSONObject.class new file mode 100755 index 0000000000000000000000000000000000000000..8cdc55db9886b76b5e5025ef0992edcd5aa9d377 GIT binary patch literal 3472 zcmbVP?ROMc8UH=Io1NKZLc)dsDHbVBX~?GCT7|YOASErbbV(|qq=mjP$xgD9Y-X38 z*+8HuwP;_ot<`FqqJ354YfH~*Qz++n)DNChkKgp0U;P*KcIvdr(RRCU6Wp9%mT)!+9SIFd11n$%+9%9uGgC61@yu0~J8Z}H zb_t?ATMlbjDOlw*)jYeD*=M@N17;|)B6#Uu?~g0*#zhrFuojPI%0rGiyWVjU97*k=q}j|~Fda=hxykVT8D zdO~e}3?yZBY!t|8CA7)Fjp$}7%}T{`3W8f2{R?bl8@*{Vn_Yp;xLHGwfi372wAM4= zo7Qd5s+wN8Dp=FxMJ}XMK_70>aI1j~2xO|RV1Y%T6-{@*I>}H7$`K`TyMfQ+3xb&A zlUFb3ZcM6%ZN#LmkHB@`tCF$;TXCm>yOaWb-0}{arJALPSpz#1F;3!r){F+0K|_fI zktd1!ZUc8?kD%pvt?XHX&CALe(|!-rzCFp}-)rDY*vHVOmGQx`YjgzFxJ2Hw8ul-g zq#ta~@vL!$e-3%2^8lOSe|Qs$ur}9WP{DuyHK_kb>tV6ciGxi}>?xN^mg%VOI%MDh z9A;v@a*!`UGdf{ODc%PSJcJ_w2>m6~b%|FKl0K1sK8!~+JZj)ERU&Qm76^qj+r7J5 zHD`2~%#rNTw{NPG#yj)rB6p$z)+8K^N4B|*MNr_E7!G8v2s|@IUOf>dPc!ipf)vPRS%gXB~nuP@~BxlY*uZx4~a1~ngzEn&p^Xer&~)E@ZtcJ zPti$hMmbO~i7;OFrr%l3hhgZPQ$wCPI?0I;dMgt|AV+;A%i%9YslcD0tc*arKRmC_ z5PGSN1fy5bwaETLqo{P%Cy*Mwv}1D^Hm7W+vXHj$Drh#gY&`SL#zMLOOPMNln{g;43`&DtG;eau0O&rayr6eh97iGFl({5N#iz{XJjwEPvGn2|0pJpS^ln6$MP6ra*Qvr5ntWLK;){r zHhdl5@J+PgDLhT%&-n7Pl0;rbfvw033?@NkH(tg%x_n(;*_+4u1L@Rf=W)YubXVUc z+$7i@>xx}MS}=>htJUWOzroh+EnO{_a0id$>0Y(muE;y*@kPp}`jvvN_;0au7OQz4 zzleK-qv1Kcqz-bk=t%qYi@0wd1EfE$=wF^iE9n7cLQx{KOoO5fDW!9GK&^-8adZ~@ z)2U;DrHdHZrbV~uoqDJC7SiPJ)GwkK2q|K$@H+HVX$~zZM~R%%W$wzK)2WKuq|Zg= zdPd7f*&F1VR$L|D+Ld^E9w#p_e=$G*W9VYa#-PhM+NH=x>;xa7lT1VjyJZRwN*Twb z!rSdQW~7Q|#Knu^;k?w?xzo5HCvaI#;&(EGkL48pB&YE=e*YJy*wcsE6Z{tO9lt>3(zTYAK zU6RCiDI3L0jARWdf#mln8E}0+tddh`y@DIiq9LMTorcY#@o|YyF{ojy27T?S)t_R$ z$Ouob&<6i?XkZL@L_*rmPmuTo@q;0+wgm42=RX)tL_Hy?Q*~CBU)5P!`XkH$3V?_Y zK%57Vr~Cw|K*(~n@HM>b7k&({`24eY)&HKy5Bb$8`5OOzgr9JC9g`8kdCc*5D}IWf N#}oJkeua0@^>6rnb}aw^ literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/discord/DiscordWebhook.class b/bin/classes/net/swordie/ms/discord/DiscordWebhook.class new file mode 100755 index 0000000000000000000000000000000000000000..a184a197b93fd3ebdc6ee45720b548dd874cdcb7 GIT binary patch literal 6288 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 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/enums/AccountType.class b/bin/classes/net/swordie/ms/enums/AccountType.class new file mode 100755 index 0000000000000000000000000000000000000000..0014d5a7c6e97b95c81595f40ec3399e7c86aa80 GIT binary patch literal 1408 zcma)5T~8BH5Iwis?rzHhOF_N_MZRncQc=K<7NjCzO%+YCN#oN}R$NlHrrlzA@E`f0 zMTKZIJo}@JGnXaQNK*G<@6OyaXU;u$_Sf%kKLIRaT|+=%#I?O-?Omn1?byk^TGDpw z^v;w@mAdO~9=x@~5C|FwK^0J+m#qW4DlnRBRhHs9-9T8@ZQ3=@u5zl)fFV;^mohG= zIt+AjDza|v*-x!AWS4;`r$d?TJx2n23|vC5fHq#pr77{@}1~l{<7{q0w zE0rs*EzlE-=XR}qD_OSOo#e*Wu3hp{5e(yshN}ifaE+9m16Iiw>b!52>-NTLf%#Zd z^-9^Q)lyA~yjOMHom6uNCXoDN2F5W#W~Lq2@s%b%b>oIy!Yk8GqZr9Ol_LslO&L5sUwabtLkvAh=T5Cf7Q1j%z=w z?`_%DO>3)6nS~29#9QBrKr~k=S>=LNb(qL!3%WD|ym#)r?+8ty_r@XV;k>isT3)?M zxL}MgbS1(m^Zc(0xzxYH7mM9y*1M0MljIS?AE9(m- zK4bEO1e_nGOVXW63!T!L5uQ@NI3qSAnpF9sXX^2JbtE~cn9(4H@94Vd|V zUDELoD?ZVCx*L98d?%i0LQ#$|bqGa9GeL7ihMEkMAyb!OM20t2)0APm3}-bzG>>uX l5Z!Fl>E#ScGlFDMhz3H%G&C|>#}hIp;9K(utAr0=?GIvj6^Q@< literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/enums/AchievementType.class b/bin/classes/net/swordie/ms/enums/AchievementType.class new file mode 100755 index 0000000000000000000000000000000000000000..fc8cfc45d77315c63681b7d50c8b1aac03ca94be GIT binary patch literal 2481 zcma)7ZC4vr5PojnHiQMzKq(;9mZmfb+O*ngOK9aqD$!6X0cyavOL8F#$u1|m!Nc*- z_{}eVP^vAb9zFf+@i%##*ZgXJ($cGxx85p8pBp9`-ea1k$E*^7eOD zt7fQt)6OfiP2bsS-B1UrsZ3|}a9?#nAfh9Rm_YA*U79Aq;C6)G>m$1ftc3Whw&9WJ|m9K;|2ia(;PhS5=)t0%N$S;cXq4 zaG9b!RahYI$oqk8wAJ#q!0k-HdcGlTyATkRot9zl6oMWYz{S6!BaN#9v1!9JocjWU zK`7s{m|f?ruj$AjD-b5X0-~58*`$tl@GjZAvDgCHOtwQRQgk`;I&R=5)!b3GBXBuW z^rLJ$MkBx7HmiVr$^ZEZ682w71n%mXLV;4=QO-Iu5zb_baYUJp`%LFY0vFC=k!XygD-J!5 zzBp2>zo6p*)2F3R_>0V2HM$UeCBsw?+s!T2T9sQ3l1!ZeneFV-38YF^RW{aT%V01c zF=EOl0jC1I_yy;J)D5a;SDAWGI_(zeMW{II)H#&)+@YIzmdo`@1S$ zs_KEkY!3v+01u|?+;|#5&DVZM#|p|x7(6dJs}NrSy=a=M<<2){YoOM< z`Wn|~(Wb!^xcFvO>SvGRnVS^g7|kYaW|$u$fL3};+?C!AcctgTUFl^Y%@EH;AUVRX z0_~~Gc`6dlC$t-p2b0m1sA zm-Ig+iSB9PGnCwO8a$-M9v2Ztgf()Lqt7s&8~Y6tzqmT=vzJbRe)2tlZi<+(2Fa2U zm)v~#A7>QCLz0HDOz}O!=YD)sB;ojy$HJq=k&JogQ1VPgn_Mr;rvI==@v$op4gq;n*|WdxEgLn~7-dPIGs&(YU)yxVyPn(o^kmxAR)k(B*)&2s3$UD_>Dy&`_?zCeZaL)gG3tz3;SiJ~eL>ewX-x8oj~urT~D DF1AQp literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/enums/AllianceType.class b/bin/classes/net/swordie/ms/enums/AllianceType.class new file mode 100755 index 0000000000000000000000000000000000000000..7a9fcd58fff017d21fcebd5852e5b92c751e65db GIT binary patch literal 3675 zcma)9XWc=pYVo5MtjkwgERLcDy73J2u$Z*a8|0;}AC?7wLj!3yDZqIHX(J zy8E8GYr3ZHp0@6_6T4~Srma8qOTXkN2%7@B%Ha8HK!UDf*O^mvJgJ!Jij=R zb8OeKup{<=ZAaNyX;ibZV&hoWPV!=nhUP`hix*PvrDV>&%7QwL`tnv&ne~(_5j1E- z%1+K?QyJEcYBcd;D?2&AmZY$zoz*2LH<2x5+-ds-R%+2`EnA*VC9d#dyG92u8adD< zJG0_U+j-Z?v9L>{yDW@5?x~!ebY|>T38Yt}kA?M{mLg}v9U22Ht7RD(&Sc$GLacUa z>}E*~OHMd>H<#UDiy@6+Ua#BqR@&$T8V|9EGL)CJoycay*NDc$ENCbRP8Cw=WJ$VT z;}Mp&u#^K>-iT#aQkmHtLAK!Xt_L*^6?e@Sud`(SsK#Su=cRjDEJ;T-##q|O&dbtC zJC%0iR*z~t!E#DYe$l_Yvh8t=@v`TlY}4|D#z~fTZd%H*7RS@s#1$twzA?Kdv7gd7 z&5GUcS3I7kx=e2Po+X+y8fRIR%A*vG@AI5<*-5y5$kQ4#tkld(ehrnXe=4(_<#c^e z<4IPDvdV-MOUzk!(zCfU*(FwpYs|4i)24!7P36PSYg{O6Y%Qs>#)8Jv@7qM`s;uxK zjb|RHz)9pN7B!w@g$PGcuD-JUl175XRPy;!36_P9#xe`#V*M;gs!A!iq>(Di{Su z%l5iGlBTCSGP}h0IU2@Qyb!{M#*6qcy{S!wlhoB{>vcO_aAue30Ss=jo=DsI{OFd2 zxSLC5Rz|n(zz)R!M>Rf%k6Wl3OJ!2-QL3A*u8NjZL-TwgpV0UuK4l?5`&zK3!nF2j zjnCk-WG}JgE$kW`+D;x6D%t!Cy!{vHbw6lV+E$@jK`YcNL=>77S`|7Jx)u5q1{8KH z3@bdO@UX%o3WpRPQy5ctLSbCtq{3;1vkEf`Pb$nQTu^vg;TeVJ6cP%{3Mqv&NAi1( zn|zSaK?^L8%9o{H{*8LB*% zZQgG&?=+~~ODRffbv(6_vE4$B^n!zw7n(jRjyt|F&o{A)R<^Z$ZQQjJSElW?;?7m% zLp%fqho;EoSR!4l0$QLw4sHpFD`spPyBr;*u^P`7atUXW+9RdYYugJDx@WLDm@F(|HFU8SZ)= zFY&tXqmHEDA&z~h!G5r>W|FbTJ8~ZWi%%55U9tKj#rG!uRE%$ybooTl_E*r*eizs7 zy^3mr_Wd^{(tt$j?{bhl9isd^D!cd*NBwN!&*UQjD?-lR!o8yN5khueIeZ&0y(YVF z=4ot;mr6fY6Xr(X8(Xz<)JaY zU}&kCfY#awXt9%^+CvWk-B>?Cjfb5C+QT40t%p4XbsqK-)O*-RU_2ZkXz*~DAmZV1 zf<_NV2%;X25j1(2AZYe5Nzme9ilEg)jG)cKEJ3@6a|9h8&J%Qcc#5FQ!$pE_56=?x zc(4h2JtPVGJggA(d$=6`-=b3Z3#fXyBr5(%PnWZ~hi-8p^0`3Z4nBVi0bySX28D%$ zeYvtySXkIss;Y$53j1m(B+Ll=no`0Vg?-&r8DF6d{ZaPed@bkidVLA=HX1cYfg#XfX znJ(cMh5yQQn{MIH3jej~F+IX<;lDAxrdN1U_-m%m^a)=P{#(;;`h{PI0n!(~pK4deIt_sHJ~B>yV@$O)dKl~ zeDOhPZCQ2c>a)w=0Az`3t}tb`yvQTr#Cwc7C+% zwl2#Zr!37bJ?HoJb!$(WYtrc&?)u@rOhF)~AdWtPM5C)|(s2Ze^&ZtLte;enV*Omr zJWvh2z2QiERdt+2tJBg=)zvMN#rhQ}EH=1qS<9+;bvdsARE3>9eB zicJpuZ3UBfM<7ae1w<`PdlwbFi%X>M`9j&4E);ubBTGe4R8YbcCDtW=$w;9VINEh} zqrBZUHO@(S)s}5tQ(Z}JU&fUL$_lPxM&RsA+4s~oNLN7F*3I@^-Q8tnfu+J$h?Rh3 zf9F-U!kqn|6@m8^T*GyWdPllVCL>xX){=-bBOfuN9}A3~MkFzrL@Eh|CFc~}WbP9A zXXM2etu|G|P+d3Woo=Tk?RB+f(9YZ`V7=G9K(=mas?k(!o$&(Dn5lLMI~yV;NH}L> zSEp>I8u|`3Mb{>|7-gnO4MZ_79C}etbFN;Z|5d$P5g0bqPOGivp8@2r3S2JKdPXST zqpDK{1{$ua?JcYOK^)0h%?PTO@<1+zi=Qifwr3MJ$<1`b>e`yTr8DtkC#TRA?n8mh zf@QgmYpeUq(%rS%&QKpV(rDst0$(ZE1bI98yk&LsfQDJQ?omJ*>b9!6mVHR0rW0QM z6V7y?qwu|`Rg5tqDp_=_Wo;uh^j@EKX6X&3lc zrZ@W+FFnMCUp#>-J^fHdJUHLAcmS6ohiZZH4T59k%rWx0Cnx~Nm_8-M@eocXpf}BR z65uQo4!b-!^$73fenKMlGh$KpCW_K(&X?&sj)+nfnKaMg0J`jP z2aNUo39%VHLbS0NJEFfEoADzW4JVVA#2u^z${U2pznMQsH~T>}`WPQRK-62^h{e2B z!dq41ac`AA#_R(OaDM!n$a?nEZ>D*j0^Y(m_#Q3V M;eOH}v4ipd0M4O6l>h($ literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/enums/AssistType.class b/bin/classes/net/swordie/ms/enums/AssistType.class new file mode 100755 index 0000000000000000000000000000000000000000..6e566375e3165c3edf37fe0761dc24857bb28c91 GIT binary patch literal 2406 zcmai0$#N4{6g_QCPx6!XEDM9dVCvz4{QpGM->qXmb&~vS>m2BH!%#0k%Pu5F-ycAc0J9V8@@Iw(Hw z`&M~HOYIVp^PI6QM++Si87+v=XX>67J0-GOOg(nlU~F1?V1kRDzQylQj;~?^6hbYYI(avzm}5|-qQW$hE-eA>Pr%X zT8*Ezw5Fw(C3b45xn#>QBvH_YT$p%bzs_{YzTL3veqBetBC%ULWI~5&uU59leXpu* zMTx!I)-i88_NrI&=e;>^k;C>&9MGorxrXCc%$17cuzpbD5Ql{6%$uI)Us$}QvmKE* z$|h4U@9Jfqy?_ykQEkdh-CK3Mdc|{Fwi6O3d8N}eud&+F$0a7Tp1NW=D=qny#1y6t zBnB78XD?5g1_rLLTNf#u!At_v5@&JFK&4XFhM;z+ir8{hOvUJ@b!F zdP~%`nc0eKpKnwb?b^Jx=#cW-DyQ?5tO|oCT{^(RrH5qOMh?oY@y|p5}&s zvqBp;W~jr=%Cc+ujT-qz^K?J7(Pi6T(03Zi4^7Z47%e-^w?P8g53EV4-`wcBWp-kO z%GLB5)MC>WebP*8p6$_fG`5d!c8;dt#<3nf+5keDR*W>F7-=#w(lBDA@xw?nhml4M zBMlVB{wC7QU`~UAk>&y;wLc@ZIwSQpBlR&OH7z4`C?jBaBOa&y z-a&)TahKQtq5h=;O#Xz^PjTjZVg~NfGtM^ce-Zba{=<|{N2Ibw;R$A+!qEP0&-uSi ziVVH*4&G%ul{$Ip6=x7ZlrUY`)%zHi3R}PY5eq-ClU}rg%s?M4zMYcvLnrH|Pzu0% zd?5YrD&8l*4@hmphqTm3__(>jBB9=3tndg6-?2mMEQ6db+*>S6r&792n!(@l&VaAf zhF@WnA^{?1DH6LbbROppz5jG!yPae`ccG4sXOBJc?wgc~;=Q!&!d zIQI)}J9{k>d5r515n=X5G|DW&?9Et=S&G?P@i?Xe7a(o~2WtCDX<^#-cs&>`Rd8)FyF_#s_4gjn7OMuRVVYq%srJ=S?0%>uc|K9#r!z)+bXAW%*URf_7Ic0 zB*Q+qMg<5Ys5Aw7sT&GN;RxEPoAd}zV~H$2eUChV!q@1;H}o0u2wnIcIs8c7~FRU)+@l2ThsE762j7orhgW|OSx!ge#0Y!Lo| zKf#~i2WQlP!szJm*}vnA?=qfq8YGO&)O^@8&$H(|=iGDd$^P{4yB`5uz(+|$3>**K zu-N;g(`|Wfai>>wgFZc1!_aBoC&ryJ@Q%& zJ3IX1pu!>Xyy!YDCJrl1F=1_ZuHUk6c)ri{5rv~nb3Ol(#}!U6nci}`Vb8wZ3tbUC zsW2S^gDq|=gH+O*PWYA z(RYG&akFvVZH6TaMZB2AX@v#6M4fr;uuk)#%r_ms?{0o<;7o2Ldd+uwz0wF_hg~md zmqs(Nfasr5IE$AJB$m9u3zrRKN2P|5<$R5M_KL!Jlng{EuK}ZMB5o1A%o49s>z@`$ zp(au$l!*xw850Lg95OLw;;4xeCT3aTO@#`o+)6o7&%j(R|38{ZWj_jtt#w+|$BBv; zxR?7o4Yzy6Y52sPeM(jNz2{^gQ|ZtJuQ^?hg@$Uez}X?u%zwK}mowbA+fYNVrf^z(t3!cbs%N%eE{@f z-ULDk(!Y!<<=rGSLzaKm0CV3W{{V%r2pQO-XF}d3$$tTF4gD7p5!T8Wh5I=500#R< zp74L07`5vK8&~8#T|V;SjF%8aj6DkT)Az7gIPwk7eJwtmbDZ7+S;~D7Y5JF7tt>^d z;??1KLgIy^MsOt0& zFzV3(qINwtK+>+q2QfZ!U3%;aN`d7in1edj?e-S)$A8*{j91m>w zPzy8|z@)*YFbxayG`91^l`%$R8OJt#DQ-dIQ|!ZM^nv&s^f4Qb?tOefu@QXu4}p1O AL;wH) literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/enums/AuctionResultCode.class b/bin/classes/net/swordie/ms/enums/AuctionResultCode.class new file mode 100755 index 0000000000000000000000000000000000000000..cfbd23bdc07a2295763fbe847314ce478ccdf8f0 GIT binary patch literal 1721 zcma)7&2rmR6#lMdTe6}girY9%nzSW^VmqOxq2;G`)1<+nE+#2eB3&<==<*ZKljLg{`1=(0B+;4j+DSv>BW`k zY1r@jUgadJcyd6`twAUDL;28)20^?XcD)<~(iSqvlH3iYCs1sTXIf=j!$OX2^?muZ z44+EoCM;OY840(}81*V(6^mYd)2VVb?dk_#)dqY;Gai=AaZ-yN= zXt{l#-6cNL(mf&9`LjKyTM{4nR7TG6d(w>uebP%8sSA{A&x>2!IjvY~(2cKkf~4m} z(D|(qcRZikxLIyg1xzQTEAQ?2Tyx>f>R#i!vw595UZTC9*qrAr21wFIDoIE9>DI@QAGXsUC%ex$__??FSFHOi}t&vC81 z^b6L1QaT)SicZ1b2^27aIk2w+S+d73R6YF06=~QdHibQk^Z;Kb`Bg}Aewp&mSpPvO zye?%yxjRiQbL!4E`F1D9k5yv89Xt0DqOA>~Iqmciy3@`KX@2eO5R*<@AHsIp#t`S6 zwoO!l1ab2uh+K5ecF@2>I7yJdXs-PG{&xzI|4`GO#(hrG7iY!DUGtO)`+qz7;aWBAWO0qg^7Xl_5by%vYXP#v731-Y%xBj zp&48Ef^HBW2=%zegiyPkwir!ni-HL(2 zDAmxjR%-Bg-q*N}8#FG8Yrv=}WNcDbnPS<%)SEoXRUxOK6($t&3MUm#DV$a~t1!pz zA8Xu3jTLR~>u<=Zbc8V($k#i* z*KT-m$V@}JbmZ+5YyS1-(#=S|2`TxU8}3D3(u>J1U8M3U&AlLLaLdeMi3(NAetXz# zQqcL*2ptb*`3MQFROw2)onGt*TOn6EIl7aJd{tJjQg^S=F6-54UQd7|?VCv2Gm*4g zB59>W(jJMVoe@b(B9b;jBrO3kruZTN&J6DW;Vkiff*Qs9l+Zj$e(XNx|G>rPxbzDl z19f_5<;)`c3O*a!Un4&Du=7UwDK0;U!S<>D*xw!I17sFUDY0Uim^e08ie_)zV@Zn>af^MeMf-FHR znT#M?&_~&65uHHTjK)|EH3!i}6Gv`~aLxFgHNQM+s_%#HW!drN27**C>(V(#= znAL6jea2PSdo_Xe z*noGop|{(q0Y$;FO{<<7e1Qoh|1Ax-F)QFpo0jQp3Pc8}`kuLXkrSWSuz))PZhBWh zZ2RF=NgZd3guvuwp5*FBzz@xjAcK<{?qQXSCxdSbEXU%*myZJd=jX|`s#LjP-n5LD zoo3mvU+LurX*Mp2WB5rC2nx5=%2D zxS5E4_=>sD62y;=l9^8*EvtqQm@GoBq!+ZI_XW(5K$1x)Lyk5*_%ZVfOft-jGeZ*U zg@U$fRTQ*Ut42Xv&(eT3>uSwz*wuBfxXIq`%5Ji!t7bRZ)%B=;-rwI$zSt*qpMCUC zpNEGxulMJB-#@{k))!jq7%A`PECjtDMTH z+@%Uh%SZ~k{1rv|>0xeayO;M-f9NJb(NOF_vJfAPdf5;s4i$S88p?-)9)-^LC=~Q4 zgdT-ntw+Z0u5uozDoM+!T2NV6n#ZTREg~rL>*yaQVTGg`sukp7?9*OKklDDd%cYfq z*6j86drc`XJGJ(C{JN4z0#z;7Sk zvj<7mO1cC|tPXB8jLRfl4#O<+6_T#hJ&Oj3LXxghiHdxUq{g6>qH(RH>vXP2#|9LA zgQOc(t|B)}x+%!j9Z_|!m(&8IyflhE$abrw+qBCSDEAIYcWRdlQ10E5?tvT3L$tFS z1>7g8RVQUrC2f}!hHFQ?gF(6uNgIlp1fBxy%7>Khlp&dJAG@9qAk|@F2tElAeGmOBqV*{_T?9 zp#ojJy-Pt9^G-?cLZCdxXIQpl#LvT>kn|q7PEa_kNl8<%s!H|o#)>A>2)$p@QwS}O zWrkB5y~ofuj;hJ{fTRy1R@Oeu$0e7K49`gVFw9_-!@0e5Fg9a3r45OnNPYwzQd zreRhpv&T<)2aAzUNcyBIr8AQniH!{PXHqEqIZ2;_y{zM47Txdh3aZl2Ncybu!(J|( zNdI|B&nv$>HJoR!l>P-thv5g4*`CSd`PfH>c}ZVDz+K{fQPL5WxZBGWMwSG= zB>36`vUM`x)BrRw&(yv3_wt1encNUZcol9}Bl@?JzJ+M!r8>F}G(h)0Xs9mz$($h9`rC*W)LKgYmvuiuI}>4z%^>Gr9iQ zAYKXR-7QkwidapMyfazglV@8xH4@yB;&v(SP!(-Trt_J7!^m@&6nDd`>dYKS@!1>k z_xQ!By;q9+5UNvcMrmpj@c5^S1-41ijub(!I2=^0WFZU{l^1w4|KbZ5 z?_rUU!pCE{@ztNYDp#oVE-vS03`j93lDvEKg&e=5U-@=@MK#=TT7hgSDTY+Ggntm6 zks=GWk~}^za#G|~g4FOn@URs76=%H!_@ERciiZMztrV{d;t3UhgA{KJ;sL)&iZ=&5 zm_`0^Dc%w=KS7uum*NS<0C#(1m0K7o-^e?5yadd3x>;w7j*7`FBAUj( zM`dY=-H3X*%nm*ZGI>5VqJCj8li=F7`uRd9KPA+@PxJ0cdHKAbude5n{2YIYn$@c? zhJ2N*!m@_qTaP20S$tZ2hJ^SmQPmH~WQWRbI6~s3FIUWwdl)~JFVaQUwr9!Otngw+ zTjLr=N8_c8uEu)CGK~$4)k{)e4PKIb9e7Fl>%rwZe-pSu^UdI8nr{J1&9{RqHQxoU z(tIy?x#l)-wdM%;BF!7YD>QEc*JzG{Yc+R+>omu}D>d%`U#$57@G8v@fmdsO6ud@r zKX|QXAAE`CLGY!T_kl0doCaU6`8D8r%?0oknh$`l)chE@LG$auA+uh#rl z@HLv>25!{+BzT?XcZ09h{9f>Nn%@V$Uh~u78#I3ie52-%fSWXb4BV`F27Hs|XTdjX z{xo>K=Ffp!G|z%>(L4vfRr8DB+cf_c_;$@-2H&CitKd5||1S70&A$h}Tl3e!_h|k@ z@V%P<1bm<7Z-QGjp9HsQ{!4JX=Dz`lHUAwrqInVAq4^YegXVt*Z`Ay6;7-l|0q)ZL zeefpD{{`Nx`M<$iH2)AB)%;`dR?RPix1DDpz}=cH@co)yaF6B+a7;6f%IaRt)!^-# zYrs1+uLSSZyc)bq^CjR1G+z#WQ1g}G-I}igKcu-4{IKThz>jFY5&Wp;o4|dVTfm;? z+ra&r?*zv+-vdr)ZUy_A!{9xdH-HB;cYy~rZviJYZv*eu+ymaHc{@0zc^7y{^KNij z@e%O|?l=)YjGsL(ioL}<4!Do8c*gC&X zOVW>mi+3E-kAaJK9Qdu^;vENm8@PDKfu95y?>O+g!NDDOM7&q^@u|ate?Iu4_;9I@ zj2~ev^^x%qW2ujfA7?BznsJ7))Mmy{G8X&z0{=UyoNDP}s-soZKv%O~LpRecthZ7d zMOZtin_{fJ)JJjF1ph-U&sv~S8e<)&37TY`;{Vl5v(C^g&9TnYQ98!D!2en}!FrMw z=@jc}Izwk!&k5oW;W}Z7YEi>lE9yl9Ye+Qn2V0$J5v?N38WG(h#@Z|TM4UCjPrW>A zL5zwq)^Rbx55hVzB@T&c))_G?=2+*&QE`lQK^zw+SWk*YafrA2u%0v)jZ>_rjWfns)^jGACe@jiS#8#^)|&NZ18c}^HrKPZ zn5|}*HDY#~G1gwQ&y2Gs%&eJbEtsR`80)w>VNSA6nTO12)){lwoMW9gkDA9=7tG`4 z3D%S5qIrt-w0Xun%X-ct%cMHXvZ}2b)>^CHYG4gn&DMI>7OT|?vqr3LE5_Pu^;vP& zgq5}OtOaY-8e<)|Cag);DeI6m%{pVvT63)P)=}#i>wCC_dXIanL zWSdlHTXwZw!&+#PnZe;Cr zd)=L^yWE63z&hv_+ykr!-EsGE)+gL4_bJw=-5K{;*5}-L_lvAY+y(b*tlxCM<$jxW z(fyA5J=X8LKXQM{`f^!$nWVb1%Cc2uYgsQTYb?8t_oXR5#~&9}Wb*Ilozpbzex3To z=a~%t=6IgvNn!1DIc4+$zqZ2r&9C2#0oK8e3oH<|X#QUdI1mYBub6fcOwtQP-g UhQyq59u@Pf75GqQrRuVu1B2qT5dZ)H literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/enums/BaseStat.class b/bin/classes/net/swordie/ms/enums/BaseStat.class new file mode 100755 index 0000000000000000000000000000000000000000..987bb8495640e15f87d4a3e1b0d2aa5eab312052 GIT binary patch literal 11276 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 brS@nTqjL;84Zy%QHO1$(WeaJ-`>_2RfpZ-R literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/enums/BossMatchingType.class b/bin/classes/net/swordie/ms/enums/BossMatchingType.class new file mode 100755 index 0000000000000000000000000000000000000000..37464b4c72821cb0c260352202bba46412955572 GIT binary patch literal 5496 zcma)A33yyp75?wMWacHgNp4^Ev`v#VZMLTA#?q!OY0{Pk(zG;fN?M@2CNJqUlbJY6 zp@Nhm$R-GaBBBTgq5@i8fmV$qYIMgMJF!>Oc@k37(xZD~@liXX4FwW~ z+K}fNI(ONzgyyG7SenmY7mG)eb~rK~s#u~#TMEZ56Vb{f%C)Uv+%_JtQewI`Wv>fI zBDPL3Q=&>UxyHLjhCmwfpOhlh8QKv1^w~WW0D^brbeX(dqESllc zDAB|&zGd8Ho`?&ieiN#(0$RuZ01O-?a}ZtrR|g0sx5iGCGF8KvCYen8VC<&q&`dHY%c>F(*1WxoXd2d6Hg_^ zx7ALG0Zr$0MC^f)_4Y6yDo0{Sv)QLcVzE)Z&vr?KHDj)}<0Da8EKQC`L^PSVm3C>y z5TX(>4$6Fb1n-fEb8pI`tCc=&Nr{x^^L>6|SAeycXx`kgzNc$PXLpYt z%=;uR(qzF#dn^^Pb=lJyE|%D@O=`k4k>vdnmuh3-gmHXA_>jbP+9cDa^fW#!af3F5PD@3?PLhxL zMTkr{5yMah7>If7!GowJ38FD zVdrjVAla6STk)w7Zj-njchIOOI;^3ameTLBBPnOYkiZEI8Qz@{JCSJ1AbOKjh2gf$ z3_1YEzfjjWH=UW z-57TU!vl8Gp@|&A;Sjzg@h~0{C_nCPVYe;hOUpYHjt*`OCwFOQfi<*l6IJ!g?lJ!_ zS7sH**Gb?}i6i(5&3V{K_UZB%4UJtUvW;NpK`zSIbfLdagPW|rT~uKcIflIPls8RC z6NM%$qoC*LQ4=L5%1ul+3UBQ=V4})IjS*b4^kNfrChAQznP@Swz{Fw`Cz@DFG47?- zaucT*>O}Wi6CEbj7^?h^=S-|Kak`=EkHAEaQT*aQ%5;W_%|>wT;~PwDHL=a8eE!mE z6K9(^*TjH{AroN}5fd>Jaii>&C)!Ph8RixFp}V5-0vd^ z8E%tkVI-x(NYaFnbOm{Vf*LMAcQ7;|g zEEu#iXnal0GY;X?O*0?F-AyG~58|Htbx)3DA&dUkb>Du)LXMawEPu?){4uM;_(J8waDl^kXp)g{%^11zt0(m9?8j-PIq7O;H$8y6 z@8v`jW!j$Mob3-#h@wfI?>XLi$2*->u0G~|=Jhm#03|GFeh6Q#ybYnOyOCw+C`Lx* zz44cNJ^k^Mk0{kEDa!Q75s>YILeo>~g%-QG)DRohf=40x4Hrglf0m0-Z-2H+7khuu zrMII$0&!Um5Xx-X1TBls$C2c)VLTXsCBWMV77}?3G$aS1`Qi^~Y+xwwL$#l_VG^Icp^(CXs)-gh1&Q1vkGY+>eiYKE${e$Rc* zWabZQrkd?D+nISyRjK9xcR7cNKdM=3o=4bB{7F@-7LOQY;?Jr^&G(35CSF&ys>vgE zGw~NSTQz#bC=-8Gb*jXAgVT&L^EWj|m0EviCc(@<)Ld2OGkci%r>a+TyfAy2_?K!> zbFF`~(}m3ZM>VQ?pV`OEo2p4Q_{=5D{8u%r-PT*|br~~nt9dF?B7O>@_JT$XB8V_vW84~y)BxKTeQ-ZSN6;R44yyt$qa*MJRvSUAH7c;qXhD~;iavVv($$@Q+$zO%nomH? e5Hktsp%qp149pSrqDjmnMnBapqE#$J#s2^#VhwNr literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/enums/BroadcastMsgType$1.class b/bin/classes/net/swordie/ms/enums/BroadcastMsgType$1.class new file mode 100755 index 0000000000000000000000000000000000000000..63c282e1ea7626401a9644301bf98c8fe37eab50 GIT binary patch literal 978 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 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/enums/CashShopActionType.class b/bin/classes/net/swordie/ms/enums/CashShopActionType.class new file mode 100755 index 0000000000000000000000000000000000000000..4f81628b059a65a8eb11c62095dca484af84be80 GIT binary patch literal 3013 zcmb7G+gB535dST?>?VA`8UzLL0*y6*8lh@ygDpt4&<3#vvC+16NfuaHb}_rbV(<6+ z^|4QV>p4ArXk)7!d)i}Pd-^x^bmq$Tk7~%>99bFwYd~?pNtSIQs zZxSQNAeumeL7KuKgM88`AowJH*7Pn79A;6oK+C%5D2uiTr0&?CGM3$n<(nR#Y!zr* zS3bs~Z35fxhz1X_s8e9ax@dq!I|X*Fi{xGQ2z0YZKWkpOG`VCtYvHo~Ljq|&Oz>ge zG?ry{9v0ZgQo+)-i?MpIKp*-QsOjmE{JE0_1$`Gcow6hj;Gl|rfh-Owh?Q*DF)7we zZ~n5eY-DZ2nafVjTsBL7E{Q=rqT;Z?5geuDtt*_Qs?r6P4ZCVi&MG*P30aTYhUeu% zf`VVMoVi@s0|Q9>#{`byaVpY~B!*&fjH0;vQts$*pAA`&Z%yX&K^jfW=qi&g+ zuO)9e=IQFIL4rGp;F#u$QvfCzWKwt%Lm(rA5efiYS?yx7DrCU z2MXH45v`4i3zV&o_#J#K;G?SJQyx~Et`m2I7lQn2g6 zs`T*dX&xS+I}XwuYaZ_4{R|ML6)Pz%R7q)zN=mC!Qd*Rf(sq=TR-&Y|2PN$eDD64P z(`F+N4Lr{Qy^|Lj@iazwnv;KvxE`YXm#iUk1N(2|z)!>}xJ>`!@~n~ck6>RMQYBhP8FkrsO#Lj+OQ=1D%M#`L#rl3h?nkMx9?BjGSHD^;fJ>kP zFEBn%aBSSViYHew+Ib7(z$zv-h%z05Y7H`+aqp|w!dNz_h+WF16E*hM5!!)_u}`W_;UHS8_iUwjR(V5RO^Nzirp@6X@J zZ|ZzRZ@h`;uOlMai&4EvvZ`cXi0RFeO-lB~xUNgKNwP1gdP=goWG`uYt7Kax`?4O_ zw@SWU@`kSJZIbVh{EV*Y?UL`3d`VB}rsQ`^zN{zpS;_ZE-qaiQImz!`#q4!txZmnM zeiTjgo4;6_=zFr6KHOR`1f4!Ewou2Ws8+4GhOPL7K2yJ?PW%DeaEm%K8g$<^yh`>B dcnz;h90hMsh2O`AWbqkEcouz*FYz@x{slRD!ukLJ literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/enums/CashShopInfoType.class b/bin/classes/net/swordie/ms/enums/CashShopInfoType.class new file mode 100755 index 0000000000000000000000000000000000000000..53b34e03a61774e8f7648cb8bd9fa5bd44b08021 GIT binary patch literal 1635 zcma)7+j0{}5Iv*YuGV9`$QNudcQBGjP)H!)$QT>N#sYzXHBPDWw3Y{Xsr9aFwSvk^ zzK919;ZjggJm;e*x6gV)ts@%96sqHV335iLLj3gzF z>+7x$NK7-Hsku?i+y^BNF_75+#&r&aVk8q&pq|$o0Ew{ei&6 z;y`uHcRQWx0N})t7qqK`CoqBL|3TtMoFkbRyugbW1*Qh6lFE8%lgIu^;yiv9NYl9j zqHZE<5qyy;eibkQ>L@8)vUT`7{2zYM zp+YnoKKrAL=e#R0A|`9HzCG`G&U5bj{pb5H0MD_ep+jKAwY*I2eWki#rH;W__$xpEGNF>z;MMfF1+Ahze+<#ijh#N{}%-t78y1Gz=L?;3fri0a&4$k#mZ-Zf(93 zm`S!+=Nz+E%eGt;ysGV%v#lPOK=R)YVM`-n>A(mCCnVPZc@oQ3GQb7f{Hr zfLPY)F3I*Of&Qz^mQ%$Lf(*OIu>1dk5q${Z5R4GI8T`<|BTRE~Wr8*Gl1#N%UP|Q5 zCXlP_Qf0gIwrg$F4|c5T>*f&6UJ+`lt>y{z<|`%BDVkNAxqQNaOM}b0iw60Hqbc_G zY)T+pu*7TSPbLZyTigrFL zpcg9jYROu)d3&Olmu!;5U7VtV57K(7ivzrG0G+fs@}wP+C+z|uI=K5lWRORnWQ}k$ zm?rzjBn{KakKRD!8)B#E`$Q7OPH$D}RKh3l)W=T~A6w|XB7K5^QwYX)T*A-NjnPEm z8M0DO(?%%vxCR9QMx-Z(j&UoU_==Iw62m^Pk(S>oZE`0fV6He>GUJ@ghrc)@h5nk@ z^E~}%NPYGt;%4?Ru_rzpD#=$0CMCV=bjb~&;KtlTov8^4BV za<5s~-9NOgpsZsG*Hug#n86K(;d8(aaX_PwxZAaN-!YVOk?M-eJDqYQUrB#%wY4S6X=3I%(c1FW)DX3))c*SG9vj<{(wD%&;jKevm- z;}pp~xjiWq43H&BN=r(VmgEPdr-a}HlJd8)N_BV0n2PlOttguD- zJ9Wq`#80qzjJR}eC8VQDXDKNiT{_E(bcRlmJ4RY;-zO_e#L`h1f<`|ig=Ofpw?aqv Mx8J}+%E$2N5C59=<^TWy literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/enums/CharSelectType.class b/bin/classes/net/swordie/ms/enums/CharSelectType.class new file mode 100755 index 0000000000000000000000000000000000000000..37e6581969f5ccda5d1f23e91916da96b97ec49a GIT binary patch literal 1481 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 BAj<#% literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/enums/ChatUserType.class b/bin/classes/net/swordie/ms/enums/ChatUserType.class new file mode 100755 index 0000000000000000000000000000000000000000..7d9b29e090b6438a51f2531d3d17fc8ca6539bb8 GIT binary patch literal 1248 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 M@OlUD;RCGyKhQHqEdT%j literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/enums/CustomFieldScripts.class b/bin/classes/net/swordie/ms/enums/CustomFieldScripts.class new file mode 100755 index 0000000000000000000000000000000000000000..97e58ddccb2f4a5abda979b51c44d3e2ca3a04c8 GIT binary patch literal 2502 zcmb7F-%}e^6#i~Du&~)eh!hI8XldFefs(eiY7JC=2oepY8X7IAc-h>*!e%$_ZgB9g z@y!<>YO56M==9m~Kk*;%$?@FHGHeE>6Em6Y?%i{~^PO|PbMoiEFa7{916M_i;kqsS zy!Wl+R!xzwdwF3u>35;&`A&Vw6jrrtxMsumdchFa(S>e?q~PAc=68IrS>F`4FI?#9)!~Bm(=~YKqkw!`)28d%@zKSBM;xeb=blP?%BR(K5^vW3n%#NF-SuIZROF zec|~GmovqveXVI5zUkQchpwoa2KPlFfg6}ok=Jn(w-|;`=(K?otD0#A!nqd~D`0R2 zVl-eIMiA>Q9d~e-`dBmV>YRNbiy!q^ZAgOLqDH-gcU9ce@g52csS{$yCdA2c7cGyZ zbS>Jz_CmFbi(y8`eY{V;+rqDKi$Td`i#_O4l288rN49rCs^bGHMHG`tEag-rRY;p9 z9Un>wsOe)3#21_@5$P|Pws_F2ZwYseZ&`FQa|TT3vqy=S9D`dG?wS%W1dZFgPS~l4 zJVJ)D^*bi1NFinny=8OT=6=&9>o|#_LZeKH&mRP-PfB@ox&{~qEMDKL^7Ju4`X^jjhYDDf_+2_XI3U7q@^h_I8IE&N{A{iZJIk(dt2f0sT(aKKKHN=uB8!&u& zHBLz}(d^ATj!zQhjTPbVI90E|8=D%w23N7A!vKx^c%ZvLM5ev(?1_9SC<1x#8aI5$ zB?%|$(Wk$n9S@ya0hYO4wS<>0InG|Q5zR5|UZkIGj%x=E5jF4pWh>;XeZ%>SCb_^Z zt8CJKNP<@F`DjMRR7|0B=+Pc?6^--40_SFg&XW{;i<40uAVCQS(Q`K zU>JL~DNT5*%(J(M;{feOWp+gV8`51&?sOnID*x2zxreT_(#dX_p2q1aKiX5Mhe*7H z{)Cb;w2!sfe@rKO=v%@{@Se5|S;>gYP!N|E zxrvL?9JDiNqQrPl@;-$Vc9-Qbr0M(rFBzP$XJ%A-_Cb zCBLrR&lvqNFgQtNFo0`O>k8p|@hQro^D@Cn=dmOC9Upyx4Dc%^WAt;Ia1ZhJ83|vA zppJ#b)}%^8)D=RN3G_`IVtVv@sPP{VS0pzjQnnUKE7iUhiu6GxXv1f8--Vby%aWSh z#v$~Tpprl${yW%XGt*Db36_mZWD_94E;v-saYj8_Z;)jpd4ZG8C2PZR_nEZ oae^A5QHWNd*RetGWB3AJ(p6URE6PA%8@sURM2<%t4!*(2e-UhI!vFvP literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/enums/DBChar.class b/bin/classes/net/swordie/ms/enums/DBChar.class new file mode 100755 index 0000000000000000000000000000000000000000..55f27062973c766b9446b573b4d509a154702c38 GIT binary patch literal 6603 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 giCj;;k-O-k$isAT;4e=({CnVnbKZ~|c5C8xG literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/enums/DimensionalMirrorType.class b/bin/classes/net/swordie/ms/enums/DimensionalMirrorType.class new file mode 100755 index 0000000000000000000000000000000000000000..dfeff8bbe06220e46e6cfce8779db026f6f5916d GIT binary patch literal 6971 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 A*Z=?k literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/enums/DimensionalPortalTownType.class b/bin/classes/net/swordie/ms/enums/DimensionalPortalTownType.class new file mode 100755 index 0000000000000000000000000000000000000000..0cf43c2dcc92e669a06de62d9e4f54c918d0ec1c GIT binary patch literal 4796 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 WJt7_xPlyllY=!uc_^^0}R{cL~V69sK literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/enums/DropEnterType.class b/bin/classes/net/swordie/ms/enums/DropEnterType.class new file mode 100755 index 0000000000000000000000000000000000000000..9424347f8d40fc20901f8f9489504b7fbcaaef18 GIT binary patch literal 1372 zcma)5+fEZv6kVs&&P>MvYJnn1y>OAXC=~@nTke;nNh1%{CXG)+8S0Q>O4=!e&+tEd z(4s;#8lL?q{dNn zpf8ck?^%ad+O@n&dTV>nF8dh+L%6G9*hC!nD31%k26cmCA6jn1-r5zIO?0r=T&rHs zbT|rrjmpb(MqmM{|G>mUj0mV%$8-Eefmo+ho0&@%x#lqw<9H;XP+S4Asv~5OJIN9$ zfr0CoMAZ@2Ve05%aN5LEOmp94@^yiUMDj+Rqa6QHf@{?sYFba;@$A=){cYL@YuhEy z{52^gZ!#8vXuevu+@e);SgNfT^sIf7jb3dgt)Bnhq4Y&gAY5=Np5-@cgbgOBWXiQ- z`$cY(l1Q%7l4Z+oyTRn3`?(HD9!B;iSuSP-j6$_hE8Ck6*Bia`Af|XhmZz!9L-dl= zCL-U^caHu~WC_gBSCw~+ zk7KrtpCLVF7*UZr!{9jt;{%uQbL25wD7?VDyrE zTDgTYCAeQ{p^o&e9lceq%Sj)4>^0Dd!FZ>bM86+{QJk>03Kk^MoM8O4%?;H_s!%W z3QI?=QW$smzn(OYD`9XF?ma#ZhoF$r$ikxC3=Tqt*~_+wPI>+;ZU(gtR3BM!w8yY#mN7lne@Hjl^QRHM??EXsS>kVJw#y97w$;EZd*tn+gHfDK8z0r)>kMVq= z@+de7N{t{sEbY`Dh4psX#T;(h$ZHf(WPN7=8*DP~J_#C~aOYcvd-(zOS|ez+$^(Gk zPNMj*Ja~f$82xuN-o8m&ZexZOFb zg~?t}YY`f7`_zOc%XUaU9z%_hL}`va2lFpKBOa;dD~`pr&K4>u#JH}}HM-Iifl zo@bZmxUBB-l&l{>%XKoAJ7g?(##ru%vD^q_xdX;>@~M!Lrw6>tGWPT>>a1dg`fK!N zXyxa2G5tH{9Wn^!_BGUQ`~q4CGn{j;x~!tUKBpTr{W{yn^ot3SOE2&kvi2CG$T&o7f>aVnm4f7J9-lGpbAG2# z;Ze?{ph6L40`q>=08mhH)Tu8eY@ylXN87Ch%KsA{^4v|r71Vf)o= zmycGpx)|}Rb{C#sb-Ebys~({V8e&uatG#ougWbORDPK~4Km1AU-23VD6Wl#T+ISyi zGRCuww~);m&o$nMmSwyV<9%e?#`BC nJI7}QZ1&s1G{1{*v4CMVNMny3KHy24{Z93}{3X6(dB-fTgcC=+o=P=v%}!iUb8#ZTQRP|~%eFA)Egjzow? z!)Je#@wt~OBlux$(wpbp^Ss>C)BgJX?I(bjcp)LdFzH%hDLD509os6kgOcS&^nBxc zhwr@5_T1X1Ln{l0l!`Pm44Ey@Z<`LobhU@f3Qv_)WO-`#wdY2`rsExR^o9zRql!Rl z`~C&ouOi1`*$8(3ac`<9pvWLi)n8TLZx{?SAA4%AU=TwRiYjj5Hbc7Qc&^1Tpy|~E z^T;eYrn^_#ZXQ^zu%ciDcO;Ce7{gtL{!79JX+q79OeeCocNxlBSN6JN20^6@FhbvU z_bS~TcmYv=T*ZA%kcum|Ylo{0L*1p~%(r@7Mp_|_#${w>s4{Xq(pAi2j;kOh2^cg@ z?@b5l_%|oD?(L8SxvK42TT#1d`8BiY5VHKAQS_cvW++s>mg&?@-{!UAf+^Q*Q{BRK zZOBgHzD)9t|*Yk*cVsaVODVkI8}`4MhC&ZPZ^n4`Q$6iv{|FQtS0R}7qE@H0gW z^YqM!J&E{ZD8>9mBm}Ay*z6gG&%ro9afSbw5cPtE1w0Y^MzVvX(MWY58I5#@bZcZf=rgXLMaDCf z;}Rd@5|!^%p)i>|#ncIsBA8BzKoY@BS_Fy+9%Mw&cLwbQc|QGxSPC5vkZD%>9mNwb K;W=RmEdK!q3ITfn literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/enums/DropType.class b/bin/classes/net/swordie/ms/enums/DropType.class new file mode 100755 index 0000000000000000000000000000000000000000..1bd792b7a42d72e52c46d75e920a6e7ba5293cb5 GIT binary patch literal 1220 zcmah{-%rzE6g}VCty}FFOawtD2&n5&Dgyr6BnV=%WXi*E3Gu0nI!n5ibREV&!~eqv z1r?&v@a!LDytgZ11mgP8ulIiEoO|!-{qy(7ZvanGQVkwL$Lw1xp>seIk>TuWduuUB@=J=1VZw_&Vr?O64osA3RT6bxw?##Mp7Q@|R{ zLuL0&r){mj6)#8pa9vBb2%@I_3bCXr&;Z4G(oY*yGdc|Mufd)Y;eouK7aZ=0OT zRBYFJ)oyNC{)V~bP-gyux_Xb_AdszibIV0 zcb3;+d5#<%q>Y!CM|hC|I%zp66XTx*^pEmxQkP3cZ?s#-3Y%xddyI>qHu)E#}JH<}Y` z+{bUoeF;Haw2!Wto}gwmidbxjs6@bAI1qo0<38c$DI3EAm0HAus6m5HZZKZ>irl9V za5~FCDA(yN-jVB9c?~179(D!{#D76-O8bzioAN%C>UmR=c!)<4ZIvwNXX+=hvNt5@ p5R(Ux!sw5o#IdVphbmf zG(7uJ#=TFglwi_%nA5$_+H2p|^w;liKLI?$mVt=CWZ;Fl=KFeM-}iEd&72ps=)GO@ zL(d7_(2GJqwV^?$bGIIN0#k)PF?kL$ZA3Z9lw2?CWp)nOu-O@v&dqwW$=)kAV(hgx z>p`nYX{$2rRT~Km2^h1*jl%0~M_~F*-_#aHkTfu4V-(i}v`S6ZJeZ5aa=brVIzebRK_`Ao2EdCkK9_z+j}dpobHLq2cy+73Pg{-^{J`679hSYuE4N%D&xIlU>$#s61QLaM z#jO?HhR-}*GBt1yi8FC|jHI*holk{F9lsj5VXHwnHBF6DkyS4&@^F-NW{0%3QmJ*v zN)EbT?4jcotn}5(YMylG)LV^;_uS_$W9QnRXF;ql&{W6ii_zD|_%i_LBxTE!#4Jye zFCiklJ|I5My5$JMJpjiqk~K{yKUN#@uNXeV$VajSmgud^JI1H5+{G^uA4gaTkv+xO z83f}a7w`|sV|P$^gvaupv_dG(_yP)4Mr7wEPB58GeZkBpiQ$}A=$79)eS8CmgSnCv z$&62AKm3b3Qt*_#5#%Y;3jK3*`pMDB^=aA9nE4<9=dBD$x=v|Yhc0fhGP}XcvM?ZJ z{D3GaZ75DjZNqR%TATJ!(%TqxF3-orD%QFbRoVtWYu||>aYs>3kUoYYtvOYdmLaXX vnkFqvTK9BaT7##UKSrDf(pf@M5*joT6BD$GEG!zSPK|fkU&jVvBiQ@{_`eCq literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/enums/EnchantStat$1.class b/bin/classes/net/swordie/ms/enums/EnchantStat$1.class new file mode 100755 index 0000000000000000000000000000000000000000..c5ac08eb8501ef767cee43413e52455e425459ca GIT binary patch literal 1824 zcma)++ix316vn?vocPiyH6dw3ffCYflhBK4Y28BFLK-`b6Wa-0=K|rjSr73h>$UN& z+dd+}AAkgZKqZiPg$7j>f<7bQ9SPnmm3Jg~L7X$TyB3O7q}~1Y_w6}5XXni9Pyc*( zAHZc)6X-*K6cLF53<`{UDoFV^YmKs_QdK{tye3_xb$oDn!>m^Yokt`w}gK|>hrqKv9<=%S4O6xFwp zi_^C}A#ngnfrzs_lMyifPkB5CLlRG6SRl%u?pdxt|KwCIih}}&x2+pi%C)?$RIz3@ z?aG{^+;XdY&;|JY|AhM9dShB`IeDUw>aVjiSd?^^8z*uiDNAz z-`rtiLSnL=lAUAYMTrw^3_1nt*8DPCrzB24vI^RIN#YD!1I|LTTIZmbCC;^i%(_zL z1k$(=#YJxSD*|JCH!tjjz_H#v4#RYZrzI|Ndrv&Jb75kf>bWBE8eXRf*Bu-0(XlXR znm=NQGiN0-I#bVl8gmlYG@GUC{5&VIpgEIWXUJDw&z zjTMPi%>|zEG}a~FY%x!F8XFRCGe;IyTE@E)@3AppE@!iuC@g_wxO$d0x0Ox%Cw9qp z9nT4_=tZ_l`LngM5;%}|JXLH~H&vr#ZMx(P=Z$`NZ6@?ut@l*X5u%PyTVJ%UGZzooti2BE#^+m#P2Y-YW@ZX5yvnN zVFaT%isPgcIE(Y7Y0S_z7(td6vq@T_7TTm`)Zvo`_y`}9eu7W&8R_S^jW0;Q#Mjs* z{Q*DXXVPErD}E#W9S`u3^bh=rzexWU5fR0Rh>2lAKQ5dMa}4eLP%R1_tOxSC~EP@_fzDhMl}yMhiNt0r++Mi_-*-HT#w=AM}Q z{hr4pRY@KUCTb;>l+XDY`4M?ZRVv>(GYM;eU{$87x2Jphe0{o4cc1x}>~BKq%Q9I3eYw0?U-#l^m9GwLp!MdyfrBd4<4AC8q|DN_myQYTy2_l-CHX zRdTwgU&{9htn=iwk{bjzNI7_9&{J#_h)G4r>`x}umNpCAkGO_NY^WnOm^3wPJiT~u zQ6#V>g1Ep|Y$IHDV#>9--*{8%ymiTHnXufkmcEhmcDC3WMGLk^utQ)c9$?I~21zEG zo-bJwCA;sOhTZY9)twVoq0m~UFpGJ|9cwN3AORHqZh<{`P(!%Qah>7;4YlP^{>t8_ zA(^Co0uP~;CrQ5=wBAY9d;uva7=;+9aV_k=odKdDVQ5+VG0a*iY|LvDux73dWv3`4bY8@z$s6WDqWC@ zGXf9$OOmX{ZagY*Rw}|y+M1RH*^Lo_>^~}5g59tM&Pi3sIZ~R;NzJ%`;~AMb+a8tY zaY0~09>%ss^IRTllwh4YLNeJoSrHf6GV>JzD?vx44xwY2jv5^+b*$F0R>wLW8+61Z z!jl3|;i~KmRiFh8o8nFP&>Imv!%mp3^3JKroRzmmCfFe1zoCMiQ=^oZr5x8jR+=2K z^8=p6o_Y4$w7@yfPAHahO=>D@O$=FiM*{h1LD!n3o0_?8#9}CpI}EDQbjDn(Sjy8b z7-wd<%Q3q+BJFjM;U1;CIvTPwejjHxK zc^?7fykZpR)uK4B6vcU!D9$THab6vY^U6@1SB2sme9oJJw_=5yj)1X7-V2nY#D5l7 z>Ge5EjpXu)&S29`G~GesIwcLy^Ea%%g=xPNFZlMmh$mM>YqZ2|G~aYwTtiH2%X(c`OAb_B>NNlOUgFaC{ia&dkJZHb#W z)ciFCKI0^*UqWglwUfF?J){(=pEN)kCY>RjC5_JD@bwv_NPVOeq(Ra!=``sPl0_ON zja^qs45%dTK^0f8BYp$%8;Kty{$}FGiJu_;R^m5f6x+G4ogAyXkmG2aO?uvs>`mer z5PzU6F#GT@-@@B-<2}!KC;w->0mc#`MM+g8gS4DfOR6K)lh%_O=f>O0c=t2jgN(O> z@pdxaB;)0+gkHvbl<}q+Zy)15&Unqc;(dqTf%)Ur@Gjo-<2~Y^?~23>0$(6X7Wop9 z;8zF+WUY87;FbMwnTHi+84V+_G|(=K?EQIh>pa~0g>cXOH?9$tmz2L>TQv%hHkSMh zEfe6b%}kJ+HZvin+02BQXfqRGs?ChfWSbd-s#-GY>d2_9C#z)Q$=KwL=G^|)@c};c zUH;A~B%hg|=&;5O1aD#L1_DaT2SZAVD5(&NC@HF>V%X4?Sf#{L#4wa-DDjeRG$?Vo z5-%HJqg~0hN}e_%)f$wdPARS!dUb`Ts8@=|jLK@mQ><5t$Bk%pgQsY`jVEqklbj*m z+}gt<8 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/enums/EnterType.class b/bin/classes/net/swordie/ms/enums/EnterType.class new file mode 100755 index 0000000000000000000000000000000000000000..0c14d014756abfb6751caf835de7b49ea74f0f85 GIT binary patch literal 1238 zcmah|ZBNr+6g|({ty?JrCW0XEpteJ)Ao#XPfMq5m3w)R^A$}^O&XTS*TZi#y_&@xh zph7enKKrAL_jVOVAg&+!?B3^`bMLvm`~BzpF96SwR}d4J@a({BzVjPHo|eQ z&jCepM|BS@w`Fg?7Ff|c*ag>WHgg?`a?o(RTCTGK3xxWk8g61tAdz=GCs-92>XeF@ zn?{BGPH33Klz>Ea1;j=Yah1}uEHNiAd=-X8DT3Mz;?kkSY09%dJ=qhh-uy*|X{-nYlbZTA<*KLv4#q zT76L| z_lY8byYx>R5-jNTXlrIk@iAQ)G(F!zjerA6V tD>E%g$Cx>S6h^mXIgFGO+&+TJM%&YE8&$|+5@Td67TI}%r-X?i_ZQEc_OJi| literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/enums/EquipBaseStat.class b/bin/classes/net/swordie/ms/enums/EquipBaseStat.class new file mode 100755 index 0000000000000000000000000000000000000000..2539e3dc229254f20fdb625dd882b9412e360799 GIT binary patch literal 3333 zcma)=Ra703Uhk*tyY96ybhc;8|Z+aWfA5DIn@C$>Wjc5JNJU_vNkX(CV17HQ-- zZD~X40$pfJ>Attnm9{V;OQBGAh0^t7`?cTN5B=WLb9#E;eQGgH&S`RT^!NR}d+(ch z%ir=F|9a_F0Q>RBC_)DM@~%HxK3gcIJ$E!$9(D5-`kX#f@rs9?vYYfBKL!I~fe300 zn0_T?pnvxNSBI6xb$EufdeNp+G{w)?g;jGdBt}X)s%P zSY>P%Xi=cXn{zgfE-2I{(EeXE$EZ`FOP4Jino>DE0=*i{X|O|}UxTUXBP!ztft|X` zWXUY`bvL_I zJbtdo{8oW|T+du(zD?kEMND^t`;7^Vt2mynl$=#B>-pzY+5v%soaX7ZJS1?K)4YZC z;*^tfGTeVkU|QovH(g1&i|!d!eW$=tg=M+uraUKmXzR1yC2+SItb21tT3b~%CvZ%S zM7^1Os@iHn;2zG-lnQ74wds6n&Cz?66gaL%V#V?nx-4+7qULIv_k2a*eietkoCXgF zoMe!8a*Jx#w+lR^K%`8^kIAY)N)ann@qK4C%dhGRoKmpP-MF*lq}}=!n0WFin?>=3aNQ6?guWfm;W+R8MA|a(QeE zpey3#Gh7V0h77Md)ySZKG}i*}%@hq3hatTI2tegeMDW z+VuKaFYg|!zhOXyW8L(#yDJQ$^lswg{+Ao}Ua@5wo`Y_O~@z*?h z{8-Y<0KqP)nU+8%n)jO#C}JvIl2W^}kvpj>M_m8~8V8ll8}TN^zRx&Z>Z^wlRDKHb)ySiA$)y3B{8#VkMz~5ybp%pWLnOq46h$dGe0Uhp@ngDglm1qE&T(JT) zBv&M%W)fnpBm_H1Vgb5IXqWm(Y6A?Ahya5mbpdvfYzr_#QXgOsi43rpBoW{?5<9>h zBn<)flQagHAZZFPNzxqP2+8&UGbAkmW=UED%#*YQSR`o=utd@k;69Sh04GSg0z634 z9l#;!36Lh~4UkD*eS$3f2EWy768ekYyU^j6X+`Y!nPKxX-hTlmhmVINI*fAoL?o)i zIENpqk(Q3@IR0={N*zm%KVr!q9XD|NQCTA=G-zhLtTUXxZPACp#s{EHuv`j|W=YZDVyGQi}MQrJ)HHiHa4CF|@@Yp{#KXXG~fvl@&r_?)b_ zKd-?a249fU{-OqZ8GK15>@RC@8-uS%+y1HscQE*xY_Pws!F~qckd5{;8cZ;FRyNt+ z)L@dqw`8;ZZ4Hhv_>SCee^-MU2H%q{_H!D{GWfo1wSS<&JcA#~Hv4%E78$%C+wDMu zB?cE{hy9`k_c6FAJHugK<`W!Wl3fuUKgjWA*&Wrf!|@f_BP|Wm41OegrPLsE1utE| zY2_E%sh-3R`Z-Ep?dj_Q`PFX3=?{)t%#jbBL>=e(Eyf61je}@27SL`u=rBs?G#*2j@ie-PXVGI^La*@}`iwtehw)eR i8~?ySD25wCt=JhF#$afS&UdKlL%+lC>A6Dq!@mJO{hLt$ literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/enums/EquipmentEnchantType.class b/bin/classes/net/swordie/ms/enums/EquipmentEnchantType.class new file mode 100755 index 0000000000000000000000000000000000000000..a13d358edb07ef6f4815ffc62370e8429eb66455 GIT binary patch literal 3356 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 Xx`}_m-|$cTn;7+S{SW?!|D*W{6lXq& literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/enums/ExpIncreaseInfoFlags.class b/bin/classes/net/swordie/ms/enums/ExpIncreaseInfoFlags.class new file mode 100755 index 0000000000000000000000000000000000000000..bab7c3f249e41a5e75e95e2fc5235ded237c1b6b GIT binary patch literal 2934 zcmb7GX?Gjt6@JDeTVv(5{c5}?PGUj=ULa0NfD${2?bNPCOd_nrL2P9#jmJHbDuygWBj1PHAe5qR*IYU z1+OZry;fnb(b_T*4`Wj`E4ohMdQleq(7V{E3@ePtc$uhD^}_Ifmwbc5jiOIgE_l(| zAd38QWBi!H0i!GK>+~g_IdQ=Z`4fekjF4XR!kVA;3g;TbZdSO(sO_6!**iA_f2wes zky6vVJX6IY?Iz#2!h|t*Plu&aaViW0FDm?Ckw+Dd8IPXXvhP3S&y}iMc6Ul)+PJhX z_?7Bx;D<$%`ezC=#_FD__~p5*+0Mqf{#;>BWC@VvG|IOtoG@|+ukwi?3>&pO6iyl~ zJs+(5TV|70xDyK&l6x1Y=FiOJEZlI`dErno~4CXi@|gdVegE zp$=LdC6sMXEU65!e%(}q|I=cdHzM=89ZxFPWG*0VgJzZ)tnu7X)`i$ zyj0{)bj$~lf3mi=czGdE)5Dkge#oYkHy z)!4ab1GDme*8G;o$9{8XCl7M>^E`zell|sN0ucEO5M-+tWMda(6BlI97G!r8WCIpt zqZMRB6=d@iWUCZpV-#cq6l9|lWM30x2NPtw5@df8WET=-s}W>#5o8w;WV;Y#Yv4+n zOeFw%yJ-gGEnLrE@hsQ*H?lqE3iFeSaq1t)eTCB>l393;zb&E}|9kQLhW{bvGZ87* z8u<)&eFe+-H~ql>1zJ?y3oqg&(OGu%G9%7G$^>d;bl_9mKeF@hSo-L{IohcL*K+K= z*oJ*Dxq29BGQKS9G5^epY`h{-uX3c<@cPF5#)xKq%_E;+={<3{vXmi7SD#vQJ)KUO zO4|tj+SD&UAL#ziVdd=@b}pZYk<8_rV_ueD#j3@EygIJJ;r`QM~s669pexo9phGl8{;scGsY1@SByzQcZ}nN zo*1))-WVA|UyS+O))RB^2HvbMs;QIrm>=uKe{o6fvYq%8D<8uawwg!^OA0&JthLaT z(6B`h3T+d*mei9%wa~~( zd)&u`&kBD+_qu-;o)P|}?sK0KKK~h>{urms)vuS^Dz@`~6775x46x`%`6xKdBFON< z=h22$Di8Cm@<~2bUPl`5^DXjAbmCid;op35{119~^Ls6gK5G#D)&Xp{Cb7fHV!(O; bJFWBBWnIQ@>lv0&(?;>Ug||6o6W;kA`RaP7 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/enums/FieldOption.class b/bin/classes/net/swordie/ms/enums/FieldOption.class new file mode 100755 index 0000000000000000000000000000000000000000..4d5da4db6e0552b4fc34b79a54a91de1da85ae5a GIT binary patch literal 3397 zcma)9`%_$J8Gg>Pz_NV60SqQRh(3nD<4vnWSx!J75YPnuPX}LaC%;kKqqBkluX}xJ? zy%4zR3E$6GY|RQS+NNgQ<-8q~7NV0`3T@iZJm=>FJDW=9{cTfqD0GT--pM+v^q3Bu zTqS9@LXWmK%($L=x1HO{xP`iAFur1Y%Z{FU-1iE_ZS&lyaFcek=Ing1e#|cvO1_mm0}6xMp(W`v{kXkqr`=$^ zVt#|d&Dz|4#>r&3glTWh<%B%Cip!9~E!w4H+%Bw~aqM8l$^Z8<-l%Y^_Nh+#b55YQ z^)`jWT4@~f0(Zvdu2vGhN#PD{YM8RK*$Myh)>Oj^BN9|P*yP-JCFrQaT@sY^C(q7J zIO)7&7aTp)n8Gn_X-@hRcFtaQW<8ylAET`k3X|H}#0^S2+1XWRYr4A?j%!=pMBZPm z%ydHG9<8>V^3#``;F#|h0%z+Y%_t-#p+1h%Ew6;mDV)?cF6Cs=DFkC#Cm&R-DTR5N zF6obXnY{02^a2+Y&PdEyG4LlJShc;3zD+rMRa+Mo?$y=?{dnXR%zD{%ZF#f8d5O~k zFG+qbYx7Z+xBo2)Z-s53cJIPi;`C(7zzyfF|K{RIBU1}o!NGkz&2-lH9A2*efy707 z%^ugZGLMk& zE%PY(O=TVA>}GIiGgIPutlAJMZd5 z`DwmyLLEpHl{(%!b?vXSrkK9!X zv>)1*PT%X1>#y(Vu!=6x>P8Q8XIHqxeWP8vxdKFXN!!L_eV+ z#C}3!hy#SC5C;inh(m)Ld+7n zL!2V?gg8y;4RMyRBgDDX{~l@#f50D0-yQitX=9ClKF_aiDOSaw!`c;8$!I-l;cYUm zmGRrFExbd}IJSxI25gs$+7Cs`v9uYoj)?0X7gnc4BVJZtB6QN&(kDCn^J|V(> z5k6@)T6j`~10sCdY_jkf5e|y*S<|%eIS~$t@OiV@!WTriU4$>1Ef$^<;Z700WVTv( zT7)Aagr;TTiU^}3JY%+5cvggQ5w4o;7QQONlnBq89TvVW!n6o4n4K2BDMCVoZ<$>d zzAeJ62rrr47QQRODG|PB_E`A72&YAO+3dCO0};-O@I!Nlg&&DY*WHZ2@}Gu(pw)=M zGP=-a45Hl_Mu(9=r*R%#hKFwBLG&0OMz8TCb{HXc8sEV#<2CdduVc6IcfRXL`DOnJ Lf95(O_{+Zm>gB{c literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/enums/FieldType.class b/bin/classes/net/swordie/ms/enums/FieldType.class new file mode 100755 index 0000000000000000000000000000000000000000..9c57bc54f57ccb4fb2f936dd9413df550146df3f GIT binary patch literal 10683 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 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/enums/FlameStat.class b/bin/classes/net/swordie/ms/enums/FlameStat.class new file mode 100755 index 0000000000000000000000000000000000000000..c5dc43db5a642829e982f2b6acb7fec84e1d5a05 GIT binary patch literal 3554 zcma)9`Bxj)75)Y-Gl&NaVlm(q8z%xcmhHGn6R^YTpjg}(e;v*=St;V-c7Dnl5Vle-*W|L)y;U0*9Ze)g$SYsLYbM%1`eg~ zuQ8-mEQLlYLZtMG_M!cSFK*EH}xg~v2t zjTQ5uI^U37^aXiaZceWoM&v=LaFE)=tvBtuQ}^Zvfvb#k{1`Qxmj;0 zhG|?daZ%wC-cJv<1txidxbM1CsJa&y8FZpfd%WOODnoTZ#w+KGOGEWLXaizDqcDRj zjCeR-%zI}Ibk&;*G*bh!I^L%hp1~XsDfcyCq%?L_;aQED?)4|jPR@-H`=G*y@L}2% z|0)KKBnI9^Viu4!kyCKNh-?YA>g5Z`(Q?_@pp~doN#`q`fuo75blv#s)?dP32O$r@41I!{R*8jpceDR z+|zk)St}cu3eqML`Xa${^?t+trukZqW^t6)K>=(IwZL)wvEO22vIxI=Rp3 zf?cO;JJl)0N?B;Mpe(dnh+F8i&~0I_g##A)Ec9D=(88dFhb)}1@UVqPEIejm*uoPQ z#`FeXSNMjmp4q=uzVLV{$1~cR&KKPa)zt;JJmV}Bh@9TRhk@O0fPr|rlywTTPC2j5 z1h&FOwnP1F`;-T#PnT~w&jZky$uAWhuUe*DB%x#Ft!9eGHY7<$ban43*gdUwh&P@J zleM$Tp2!}&kaPOCjP#!{(4R={W@TWWK2_LD3^cQ)WLKu0wIB>@I9mvA5{pI$Pt^sa zZ{6^2#?NXeGo@-d>z>Q&EVta96vuULcsIsMC9mR@owaG#TQ21)tx>!Z!*B6B6Teq@ z6|WgMyq(5;alN$SCesosHJn8!>y^qI?82+{+&}B987S2@m~x7_f?MfNmr5(uwH;bZ zU5sy2oY`1&>&4&w!`hbj*R8)jf#q?BO+L?yY~zmxI_o3a>J#(K*6aG9zoGCG{M5z` z-Jo`>iY~cI6^m|J+N)bJaf_Yk9a-KfVJ0^D5^#S}UiMmcM^4hUY4)z}kskd{0FZLf z3*~?p%E2y_16?SmxKNI6p`6!3Ii!X51(f4hc+Oy}d0><-Aa)(LvU(Cn&Ej;-ard}s!;9LBS%Ci{d zFX7vP{At?N8nL)BxQX;zFtmKb+vHy)q5|FT;Jfmi-H}py$7c~@27&nCv3<93d2s(t z%no*jZ({xpk<>fK5$3PX%TYAp0krY`L|Z*XUH$ZX5~2Q2$5_L3lwo|I&l~Uq?#^D# zU%g|JRQntmd=s;;iNJPvgJQVmZX__=h#%rdf%2Ik;Py>?U=vR79V`KxSlJ=+<8`Lm zgX|ml@s57X-|NSzI_1C*JEpHf;KwxmXrS*c$8O;xy)VHGzk+Z`TM5-Azve<$O)_wS zI{29s^XEDVXiy^tO>>+CreBq8125X0e}yp@^7+C$7xrOh<|013-dxmYN1Zc$*qJ%Y zM|)<@Ce%ejtcQf)K9WWs2T6FA4wE$bI7*^?BuJWl93yG*ah#;p$4L^~$7zx_ACHp6 zeLPOm?&AzehmVoWI}f9Um+*_4J{Ip-|{H)^8vr>_#{o7S%i$&(h5dwOS;Dpp`@9|1OOP%>Ua(EQ1nCjvleVRoAo~RQl-;P8 zAO{8cv>oGW6XdWUpRt>`;({C%QoY8E6R$mi^4u9zUl1o^z(!qp_maY4Rdw{o=$ za#D~l+WN0Ukkf*E$!_E77UWSuzHG<2It6)LkgwS7TzdpLBgj|n4lX6g$R@sa1LOLh z);h#Iy7+$+KWX%*M>D?+TKERviu15B&s$sI4SgQ%yoDWjnO`+;QvUDQgMaaJ=0E7c zf6;5SV6Slq`;1fAZ%p8TF^hx7GGce{^2_)o_h`Vc@M}_iQGdfD{|EdDKJBp+5xI%m I_%nL`5At9T*8l(j literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/enums/ForceAtomEnum$1.class b/bin/classes/net/swordie/ms/enums/ForceAtomEnum$1.class new file mode 100755 index 0000000000000000000000000000000000000000..64fd9c8e7d932ea64cf566c34e1f7c2a256332de GIT binary patch literal 1120 zcma)4?M~BB7=Fsey3HbUqD=fksC=j}LHq*?QywCe}-gAEb{(c1DIaab5K!Qh7z#vi_COkVT zhKGL8cI;v&EZSa|)`}lkwiNjtnJ9{k8kh~*5@$neMtI0u1)cy@@m zz+q0*4xPx_ZJ7HkLOgCu?1W<6me|+Uz?PDs)0`JDj2v|-m5gSqMCJacMK*`LfQuO6 zz_a6frpqBQGpq2p%wcTLJTQx{>FpF%U+Y@C6~}hlauE0dt630mh1JaKElJhZrIxJf z#^3r(zAE5aELZAMLs6?nODdHVowdj08v<@Jd6>zvQC76on$)VwOuHpuf@wnyxvG@Q zO(XVUiYVYVQ?jR%O$(Tb15{bB$t^>xDRRBc0`3U7%aoj|RBO7iDb?3VFG)HR=LF0% zG2bs5OFZsVP;UUu?LFIyIHXrB*YTX_MLees4#`!&ZPPL8j%Tag&bA%s=C(_geBHN9 zcf$-E#*d9dT4Y+U=yH#FR`a{`%qmVCaq4d8S#e4%dzR~mjDheDPb~B^enavV3{x*&zLs3^dDHr^iBW( literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/enums/ForceAtomEnum.class b/bin/classes/net/swordie/ms/enums/ForceAtomEnum.class new file mode 100755 index 0000000000000000000000000000000000000000..1d77d7f48f46597bbdaa81e780549cfac5b2adb0 GIT binary patch literal 10993 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 NfYPaVf=(k$`hU`AklFwM literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/enums/ForcedInputType.class b/bin/classes/net/swordie/ms/enums/ForcedInputType.class new file mode 100755 index 0000000000000000000000000000000000000000..4a76e12dbfa4bbc6a398303c93e5708d7ed88cba GIT binary patch literal 2907 zcma)8TXz#x6#gc+nWTqy2vBG#MQVT~AOQpgQlO=@HkeW*r5NxwO(yNo$xNI~iuHyU zyyERA_~wfb8WbunUA(!L%irX3pEFZBl`dBDkdwV+?nNu9*2YoLliMOORn9Ju&>yOW1f2|3~}zM zT-D6QqF!^kvWtOnWt=N78}kc7+s)9!wepy0)aR}=xaDSsq_7ma^Y%@PYqv6N6QCDb z^~Ngbc7`3olq(;B_A~6{+8Eb*n7bGTA9=4rKE<#HLlitUJ6gOlUXrl?dS_K8kiuRW zLk#<{UqZBE+Llf^rZdGG+LD$tHETXMJ$FN|xcLM!$jUgta1hT(=w34zr`A*SCCzN< z(=`dl(*f@>Q)@Q!0Y%Am3~N3gjKBc|evaWVj!?zJhGn>CB=iQMe9uB=mN)WQhGRG` zAxv>4NQDIHo@Y3LljJXQX-deXGaa`gk6{_78P4FW1XYyRat$*#>NwgmVa1xRqia;@ zq4f1YJ$`%qdW45(n4^5jKA$AkjxwCX7?IG`o34aC=|a%H*0L(DVOzONj$Sn?nycr# zFpdcsFEC7^AYuDjI_tnGtD0fDx+CGF-zt&828h9c>o7#D7a59}qFbyPR&~@`=B*EU zOgDIfnn~9*jY~3KVz>-qT5>J1RTIj|cE-&n5ourW`qnpUJ+&lUVVK2L@}1Y+S$?D8 zbf%yn%CGerr^R*ZLJ*F+%Xw5FIw*)MUa4;V+Vrg{(P6p`Wr_HIbU=XX~ zC1c*w+?GRj5u(K`%^PaLxnR3snzGIT58ohbyz|+UFgg`bB#J)Gl-j; zO0HH}oYES84a#uE^xsCh5=!qxpc?+>4tEyeOkP5wWVdKQPZ+%2TmLt#4{<8dn|IE( zT_UK~n9|(^yV~rD;k^Xj$1NEjFnoxQBn%1G2?`n3lD(+silTP%&}v%6wH+dGS3M~G z6TDpC$qO*4SyfYSri!+`*lKJrssi<{bL1N)Xx{llFXWSb{kJbzX%u;DSg=_$}lvA3g(RzJt;B~Ol6 z_v;bsjqEJahG0`9nvZ^dIXZbo(d;ic`lB#dD`lsE^HPiYaB(#7rtdsSaNK!t1<$SE zRR05v0KegUh`ufm?mb-Gpy1sB)Iq=52~IH|b&61V0o@1gVW$6k$dMlq3G>{-fwp-l zUa8$43ip94uAxQ0qX@APNloyn?L%J`odnLR@joDy!)=61m@hexbgqwblzbG>Q-1(hCBwr4P@1uMdVIjQ|i3mv+ z(yP&^kPZiNj#Hx&7$C-Ei66fA%j6Tn+jxggPKS5t VDn7<1_#9u7h7XB5_!{4$??23Lv339e literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/enums/GoldHammerResult.class b/bin/classes/net/swordie/ms/enums/GoldHammerResult.class new file mode 100755 index 0000000000000000000000000000000000000000..3a7a114cb477591bf80a22c2e1ec7395f7d5f45c GIT binary patch literal 1383 zcma)6+fvg|6kVrDdI>>Ffg(t~aFMns6$KT`{ie)xWX5V|IzELGYnU{hNmKj||HB6@ zDvXW}&wiBS-luV>!b9_rlfBPcYhTVj`SttTPXNo+xEP=$DV!z2@Fug$&azyebLrh!`+7YHxeuI;Y~Bs--7=5D6MWltKI!fgSC;tGh3C^Vhi8J5Tj3}411 zY80_3j41jToHK9_bKE+aJRMdxo$0oDl;&TSx>-MsSCkMd+QgK+o3{0C%>)5?$DLi{TR&oK0nEP;7?hvi;`@F^?= z_<7P}hMo}FQ;eKJFh2AT{vmmcHVTjMSnkst5sD-3LV-$aZ+2$v1UIs&_g^saNrE`& z71{=0OT$4ZDR8OIaRtt%NdfTM%A#(hHHsxLCJ_?>{I3BWus^zy|)$(5!bD{ zV|czxx^OC8rVU!E+JRAvZHdCpr4Em?oTq)#8@^jL*DWzy|G!saR{YQ_bL8tdT_<&A zNZby9B5k^iwBIt)R?A3>EF-P2jI^{sVpwb`RftmFBP>w8MM7f~#Y<~p=reAdVe}&* zhR5_7lg|{=Paz-Za|lUROR~%<#?HWmKJ=GXUrj-tHn@!BcT`tVm5Ep^3c;4zh^|u~aUhd;_b5TL|lwNDGQyiMGhnO00!$y`r>` z&?{;SeR?H9)PR0@J{7Ad1Z6)2WvgGQX!1_@1b2@SmS8p_fg(XRDuE`!y_f{u63i(Q zBqX@6O3)|4gT%RR;1s!I42j9ljUIza-&J&z)x*#*jV|QK!U8c{=)r5yUufXM8lI6h GgyJvJ#viT# literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/enums/HotTimeRewardResult.class b/bin/classes/net/swordie/ms/enums/HotTimeRewardResult.class new file mode 100755 index 0000000000000000000000000000000000000000..203396525fc44989b2fb34e0e3dde4cccd30c9aa GIT binary patch literal 2007 zcmb7FZF5>x5PoiWyTD0uLSCArX=`I@ftX@zQ(wRuq&E$gK$=Uiv}(K|w~-8i8D82M ze}X^3pWygGskNOtI`ykR%5irg7AE-+`M~n*%d>mV?jHXB=hdG8K0zgb5d+b>+fKBe zHk$iYH*wTTxb+TwZ#3G)>XEzcK6RS=+it5 zY`$n4i095qmSi?lA;@eK$82}go7Qf&Xl=4Jte}RhnY6v}pLI-OoUQ6OcGI#895$g4 zVMFBDU_IEfwzF0~W3hQkVVcd8>*;LHx-)bDwx3g&WxMX%hf11PI6r6{s_25kMK*?y znfnF3rEr<`6Mg+~J#Q;4v2}hZU%q7Ji-qm-?)pwH$7Q{vaCOkFm-&QSOd*bC1A(Pd zI=5p{OO_vMmVbG?qJbo;Zn`Q$I))_72@jI~l?aydS_# zg;m@#F!sj5q5+}`o;bCRTX<|>H98QTsX47yazJ6Xo7MV3axeoE2>*u)AK_yI{#3PI zZQnL9Gf35s%*IN5K`BKOO)fskYrx2w@P){bW|GgSv8TmSu!*1vWn$b!#Kg3TSrg|? zTr_dn#FB}tOj1zT!hOD1p>G*jiN^lN&C(f;1HGBXK3(c~u3C5VoufUsS# z4K(11#MAG9RlAZyPwDlrsy+zU*i=>SeNy{mcmQf_Fok-d%$}qy?1L%2PAi{pi zvyJ>kB+<*sO_J}Vpyub(X3(t}KMSM8t7+HZy$~}cJJ!s4|Ly^o_mhlI!!ue?{^qad>l-S)uEd=Ihbv5YK-$n94(Z2&7X@$XuwE2=9?2u%zXU!K`(FsDVVrN^YjoQ98!P3qh5Ybem_v(ebau6C;$T-TmZrkGRyi#uAndXnL`|d(wxm0O9#!zIKsjlT-J@%KF8x6 z!@|P#r)zzN6C5Wo%AlMpX7Z19gJJghQL+l)6vh>da-7BlgST9%ITj@tiRNFKJ7&CM zI@|Hp%~w{rnFwGKXBA9wOye9w=pR6*!cz=8W~F7VzF?S-^mu10W}}hlQ5em-?QAD{ zZx95M{{qKFM5sqe+p(J|hLK*Xu4gV<6vd8lT*3?mE$?MuIThXj8RCNE3d4!Re92jb zUj$afm@_HPzO7!7_MW(55zO*SFzhQ4XX0uf%oF_s>plRN=nnlqv z26rTyBSo@Y>6V=ogh=%eiWVi05^E~K5HM=3dfB>fi|oe^-OS5kjM7)B2a~kgYI;;G zDL^N!nmlQvr%1y)DBMF@+G*YhC2m}T8yS!m+vjLN<8LwVhhi@HUAe}-h*3;S3TN*6cs66^J-j*0V!VhX+bFlr8uW( zAt`E7oL99$DGq(bjXjKr`gM9X0foLjR5>pus9v)qC!yjIb@3V1%+;;h5^{ud;o%>} C@+sW-gPg4DV|la>;CK$EwOPn+6d6BdV1#icZ(0QgP8$d_5HeqEn$NQ4M#g0Ltbucg2xwPJ>D+VE z5{SJVG^!BJE5Mt?d+E2`ohWyfZbs*-Z8UR;%H9)nxw-EFkq~3|z%Efk4Xj+}5%{q+hD% znT?e=@9PGlh*8k;UICHSp@!(-28-Mj7(2MSHtONa}=0VuSWbAe^gL>{`igxGdMxR6Ki+q{GK6 zOC!^I?NS;+%dL8LtKA@;5~a*(1glP~#C;O*M`Kw6Qk7b-)&vk^u}_fuk{UG5w@Cjeo)H2T3?e<+PORhNgDqMngQmJ?Eqh44Bb>LX`a-_^qPB)$);e*v%j BCfWc1 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/enums/InGameDirectionAsk.class b/bin/classes/net/swordie/ms/enums/InGameDirectionAsk.class new file mode 100755 index 0000000000000000000000000000000000000000..922caa700c0e12b22030c57373f0d0a81f91a7db GIT binary patch literal 1594 zcma)6U2_s=6nr;gYCQBI%pvYpV;3-)5)J?DMSbH4YVH-EkYa1-||L=-Ls-mp0Mq1S)p zd&T2H(F;a=SAx6lvA65@z4p-W1?9oh1Qen+OvDt7{aQmIU!BpkB(`xI39&VIoocxy znlm1vgHEw_^n~e`lE~tH z3+HXD;sXYC3UF8}2Jp=7j=b7;3LCj8>z%GU7?h?I^YyY{7?(`n9h6`0c@b*W?M_#|-9(Ad?`3}C>hesh@?X}%* z)9w4h7m`K;4yfFnwj(SP=XChkXAKf{zZ1B_QJ=VIjtQ_n9dFo_vKhI2g+od4_K#Yz zPQc9LqcB$=y6vZX?)PCh@y&KOY#piTX}a^$=FOSOw@M1hdT-Qkdv|=P-}2krctx__ zzQ#Uexy!Nb6>|i&f=&;rD z-1>_Q>C1-k66-HuXsH;DYRS^lRnyc`QcKrjF)huV;Q9-sq}r1XXEdSInm;+j8Eb;+ Qm@LDjwhrzP8^PUw0j2mtg#Z8m literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/enums/InGameDirectionEventType.class b/bin/classes/net/swordie/ms/enums/InGameDirectionEventType.class new file mode 100755 index 0000000000000000000000000000000000000000..9d69bc8e50a59b182f55833b75d71b5ffdb07f6f GIT binary patch literal 3707 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 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/enums/InventoryOperation.class b/bin/classes/net/swordie/ms/enums/InventoryOperation.class new file mode 100755 index 0000000000000000000000000000000000000000..3493b027373c60cc4041cd191314a69b0c9b3a59 GIT binary patch literal 1832 zcma)7TT>fl7=AXV-7Fulq?SXWtwm~+v^Ex7#R8RspwR$r7tmNw3t4eHVV6lZ)ZY6C zobe}krx!L=+tJbKwSUHc;P|{>Vo9gHAQyRgp7;2@hw%5mzyAeb9$%VB7`PDnajAJP zYSaS1wBIcGVT<48@X!zAsBwSez;AeQ5QSM7NGYU|F_2uW)eICW$8?<)UrQk?z5`na zH81vWwY)G6;`^fNQ&6Hxtwo2v5CaN>LS%0H`(0{CAt#hsj{W_WZw|!lC54m1sZPix zZ|`Q*6vc?bs3?Y>DtgnMQWzI)mJUY=PAi-d)*`zZ@k;`|tZ+_9n|R&7C%J`wMPW+l z{-+V#dK8Q1RfP-4v&^aO#md%-YoK`N*ln^=#6=T%g-dwNKzg?xg+8B|FI4V&hhC}f zg?puqoxA>SJZqzb*G*hen8q9I*pa~s2gm{ry?V>v_{zYwe2@2X-D@^ydk8mf1mWIn zZw3jV<6l#F6K`=0b3quyHw+B-hU$8j3)}MWw-v5qmaDV zTF6>Z76vWkES$73YGK^M84KquOi6?f6)IShj_MaR4P43>j^9&O|G!^qIjXUpgOwok z*IWBLeq+JT)6*CXCkt7|U8W?8s5e6BB1RJI+ z9k8VzB!6AUHtjwlo506RRmCUW0!x%qV7mAVW`5EJM{gO|;X1XYJK-E#*1qfP>&k#N zr|(Y~)npqDUfyyy}=v$9hcT_Z-XV*iUHuzLRyb+W)M^Wyf}GjVB-DgNHaT!|FU} wnj->C4$Z;@_oN6LGw8!A`Av?gMor9rG2g<$_ZY$t9AKh5w$Jc6eG~ZNKb3fPF8}}l literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/enums/ItemGrade$1.class b/bin/classes/net/swordie/ms/enums/ItemGrade$1.class new file mode 100755 index 0000000000000000000000000000000000000000..cf4ecad6b69e980a45ae4ac9e8d3edef627606c6 GIT binary patch literal 1091 zcmah{T~8B16g}H6-F6+IA_}5nwJT6Rs3_nEAI4yj#!`$$eBi}lcLIysS=`-1d^6D> zV4^?3#2BB|#291v0sbiCodw;R7)*BN%sF%C-g9^6$IoxO0A_H@L<(sGIztCC8V03^ z%HfV5IIbu+!?KVqnyZm$-VL}TG-S59*Ak(I;z((=c5w7m4q4<3m<)%&G!zaFx5hM- ztj3NT*&B;|%c5v&--^`?t=NjyW+k;+&5`>qhHm6FmE~qWV7%;YpU-ah9l_J zV5oK__cWwON>u~LGz@I=ZC>`cTrb!CM$6uqcZKIvg1`?{&3=aCs-~{0Dd7ae$u<*} zE!S4^Aj9c6?zeD;;j9wap4o@eecFl>SPbXXMkbMl8Ag=Uy%$>(>q0s_c%~AcXSksD za(}6p7)F(<*L@jhz05EcXWdI-;Hrjv(%RD6rm!Oo*=gHzr5nx0e_(|Y%=zlFyKAl# z^;UCD1j~HQBc-S2+uU2>fvfnw*x87<{e-S;pPLQ871(0lRVTXs+}NlpOi3%!_WaP5 z>x&}V@Es~&7h$yEhvbA+r4+%O$HP#B`2xM4EA&pae7|}@YDLO8CI}~qEFn!R;Qd!< zyWh>vFg~fT^9v5^OCO-$i)kOxj)V>n%_Q^`Q6r%RqS=HNiRRm)hZJuMFDc#@e^K#V za=xs%8S{@YkwY)~a1{M0Vu)~<+M6Jp#BJOmtl&Nxgv)pgo6x})Lc$2o@q+LrUg0(2 z8@$Ck!ZfZ?`GqIAwETI`+ I04?&_Uz~;N8UO$Q literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/enums/ItemGrade.class b/bin/classes/net/swordie/ms/enums/ItemGrade.class new file mode 100755 index 0000000000000000000000000000000000000000..c2b576d53a1a97f4f507ffac28c8e227f6d6145d GIT binary patch literal 5249 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 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/enums/LeaveType.class b/bin/classes/net/swordie/ms/enums/LeaveType.class new file mode 100755 index 0000000000000000000000000000000000000000..1151fd90fee3d92c08a1724ed171193e9c14d990 GIT binary patch literal 1302 zcmah|+fEZv6kVq?(`m<{lo6;PAUCxwLKVSV%cYQ-G^wpgYm>$YGL*3nDO1x6#?SCS ze9)poG#Z}$DC6GK3MCRd59f66z1G^7v-|7!x1Rvku&Kf$Fy&aySmSN2zGqvpgGS79 zT6AVC^Ux~1dt><_AnQ=z70|P}on$usELlkBvI5hY|5M}4_37|4*MCN2?-d<7djng^ z!cHcYET(n}rROOQ1#}D|D4@<4lbIK(yui%Meu*>~xT+$kV;Ca>O1WBdEP>&0B(rZG znz5?sRARZ^eXHDzYY5?*iZLDIxK8QL0V(R7@*bMimX&)Yuo~`RZ&%GmBi`f4H|w@j ziT7q;0at%g#}sY|coVi`H`fJ5d!@R}bfn1r&ghuMoPb1m1;myQibn2REOA>PbQzPV zKKOmm8M&b24iS6ZIV%cU)F;(hv6@AmjTDY- z(LyE4)$UZuLGk4tNq&JuzY5pm0$RS-s+X;&Huo7g+x8{ihRu64)e!wfl+7_-e1L9R zV)v%CrHF^$3)Mfm^j8nbn^WdOn-7goHRgTs+N)u zk%$2n8zm|cuQu@%!EGN-h1wMzH`2>C;j#N+fM)wa9>48V8)hSvGdMxo2D$bJ4I=C zX|2kZ>DasP-^e%w!a5>|3M8M&x39|khTW2n9K&r2%vOh_mpDJBBMwbKU8p~-KHshh z%)K0%s6odi6`GC_Bn2W3%dw?ECYP@s7>7pDqBe>68WnHP1EeR%x&T6Zrh&I<8Fkv?j&CA~U(qU7=w8jOvG6}U+Ox?dfjW9K)9j>%?8K&v@jw;>;!tTNf3-DRGG zt-IvvC{4VwHNj&{yAXdJAT`NjN#`iNZ(xydH|aD-Z+^5Rs9%vdgZ`0D0y$cv{+&wr z4Dtbfjrcf2ON+uOQfCm151qpoD5CdJSi&v;o<@OCT=5AMgc(s-nmR$YF#QFSpL`70 z9HCoYqevow6qqYZnap_G*TXwjq+pq%Arz_79k6a@=M(oADSXD{2OrRvGUn6uT8s4P zQW{TSkUZ}<1|-5iAYLd(P-++5h+ze*LBa}o%un_^;nUZYRO|#Z$52i&cMO$P^_1Q~BsK5V literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/enums/LinkSkillResult.class b/bin/classes/net/swordie/ms/enums/LinkSkillResult.class new file mode 100755 index 0000000000000000000000000000000000000000..162a48f071bef22feae7164555c510a4e8244bde GIT binary patch literal 1487 zcma)6TTc^F5dM~4cDo*6Er@dQh6pWQDhi4ek%~ny4Hyo>XIf*8KD14CGPiH$d}rqT`1$2KfCqT0qf5h>FQZ&|R12!E%pHU|>DTF7 za{YaK-}Sr=8P>fh1r2e51diKOxd(2v;&Ry@fnN3$yg)kDw}ndN9!iySS|F`F>6T|RaQyI<3<6nI?tXzY%581= z&WTrqP&T5Oz6l6 zWHCt%{s}13%}{mfw=UOTX_(2hWiNS780Omyb`-e&Zoa*O0$}{>0yl6|Lvr5r-Dp9> zKs!_`b2YndAYszMuNz1i5C(b;qz#-gaL&N6^4u4gLtatBUC}UPGuaMFq4K|z;!CwE z@zG0DA=l~$J2Kc*SEga^KYe98SXNNejc0_JbvD1528HmNeunX`Wfq@B-G5npHwdQ2spfg!_QBQIhIsHZbxL zmrii`J!u*i=$mApPVrehY{gHbi>+o_oBWKcC(u-U*I)6AWD(6M6!3`sG+h*>Do!Cr ze?XtSHu4GAKCrvJ+#*?;={lBF>v+sDMaxvP)oSD!;$#J8E#n)sa;$-vU5+=P+vP-q zm@Ow8^mdf>1}wX5G|*?4Eiw&|Alsn*?=cN5qu4@!*Ft~um9W#f*eBdNMvRrII4e3U zw-cuYQSeqoE`l;s#39H`#|I{q1p^_~CPDd6K4`s; zjtfI!?r0!e`$TZVSopIEm+L%JA(bx-}K9`e5N#6Xl6?P5tKRS^;9|X zm79|mQp_1Vg7aW{Mr)_~N&yG_e6K8N%N1KHXoD)ct zys|GzHk~PKINMInbNuz({K|$bg?STQIIrV^g>Ljvp8J4l>MzBx?Rb%#UlSNf*RiKO zCkXO&8+KT6{q=mk2NqEJ7cE@EWr5_V>$~BYKwG_3jX9fH;@tZ!q>&NO$ghByHIOiA zdyplr2(%x@B&vZ11D1hi11ZMeurQ1fE}@E_?pQ9JIaU!V+&|R#RC$%^*GxB9K906l zWM$D=@n~oKkZ3Z;>6AdKP%b&%l2dV6vZfpNoh_129jq_SRruVcbQ)}T-FL#MLb!OE zDnRkB%W#RSrlm8pG$W%WuU2o`p!2ahIquEqaUvbd3z&8}s+8o6%ei+Pm}j2+t9*aP zho}Qx^y|>a&+<^C~dlqVXM~s8yla#dsCET})J|Ma5(lC+wnL zMT>o~N(Lq|RTJ8w-taT`jdW63P5X?2_t2DeH6B-%uB==lp)6Bb*OEzPolw@0t}CnM o3$DM%DK64pV>(nJbSjpCPHImUCN-cDGqfM8mE{4Z2_M7EZ({^?761SM literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/enums/LoginState.class b/bin/classes/net/swordie/ms/enums/LoginState.class new file mode 100755 index 0000000000000000000000000000000000000000..82941f0ceeca72c1ab0a14ec4d8b7303131e5b74 GIT binary patch literal 1166 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 POI+_&_wgPC)TjOi5skrc literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/enums/MakingSkillResult.class b/bin/classes/net/swordie/ms/enums/MakingSkillResult.class new file mode 100755 index 0000000000000000000000000000000000000000..6ec7386adbffeca85f7835a92664d685c6965b33 GIT binary patch literal 1791 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 R#X{1E?te-}xu`(>{{b%``#t~w literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/enums/MiniRoomType.class b/bin/classes/net/swordie/ms/enums/MiniRoomType.class new file mode 100755 index 0000000000000000000000000000000000000000..7a67c3da4bf0d12d344cd5699a46ebf9f98193df GIT binary patch literal 3716 zcma)9X?q*h6@JHBW+YwP*K1-Yafne8*&$Iv3?aw~UT}zuourX*>$ruErLjG+G-ITZ z!QB@MU7&@QZgit9EnVosBqSyjnr>g(e(X=^Pw3}9J@;sg$HWh@Kj`&)?pf|R_uOUv z@xL4I062xe>uAuh&#}C0^$E99w5@Epnzfu7{Z87BebIHxQ>)8X0ve(MF~l__E|koI zHSSqu4R=o5)-cBQQ1-6@b( z1C8MUPUnEY!COW+YM(&A8tD$(T(rurXI-?a%dS)9n0E;rR%)%RMk8Luv>i_sTSd+a z996^d;X=V$_LS&uf#XV)9CJLY!e&Z*kHEbfj>er8TLpT&MjqAheF7(WczvW=D|va( z^z4Ef&It^v;pph1$@-@S9#De#@QUe~6{RyQFrq|>u_tZs-M9}5jInfd(JCzE^XIrO z4+)&bxCT8vJv{NqSYAVVb{n0O#KV}-F)lEPbF?&tlIvKs-kH9M%jSxiEt$?j_Ways ztKj95xPTApxG0dv6gAL>!WeZkgIo>y|%5zCz79Y_Np|~2fktE3;6?hCEBYU1pRl|Wy-}dS- zhk}lxfCWlGa&9%xE@g)+6?2sw#i>y&lhQnrnGGcq)Fw!VE$WI{nk?z(TIm#66tHob z7Tcrdpu-?D64sxuIR(#lo$Q5*RkRDHXXR2Tp{&CZaIvgm$HsIvIj338+a+pB4JU&- z@eH=`7!J6}2gj-iR6#S-=WVAr?5wJ~hb_)8s|lJVTB8*_q2oz`ReYQ_(Z_;9dhK4GbE1zyO69Qz5=5@RDj9 zJ-yyH(NVWZDKt;mj&-h9o}-O#&Xq`VVvAYyZDXfVu_oMtS(-L0w(=CXi#leRytal~ zDo9PW%c4!4r_r`fGuo9SuIo|rn#+@xx9AqD&2jiiT)|ZxZwOq&bq&4Tk=$Okv*IpU*$GaW zEX;Yc;JFoQ?o>I<{uN%)z^ESJtmza>Ry950x=Xd?EzYn|rkf1ag&tPl{$M@i``ZRP zGo0k8St{k}0?J9esi7mB(fY=_MAdprHTxe0Ud1mZ-r*g3`?gU_FUB3ms_;>6RdxJX z!~RWEfuNQde7|reiotHa@y3|7mAf!hPBRygm>CwVSj}%6FmoU;p zgppnzjP%rC+!r9dCz#Xgfsx({jPw{_q+6enu6jng+ZpK+XQbPjkuGUQx|td2E~Xhb zsH+H&-Rc%5PG^$3h$x@$6YC{Ze@P!_uHgeW@$esrY4`#C#(6A7`g!~?&>tXw$|BjS z^{?UlO=wELVUzxkNFwT5_%UAQaXKbROGO+;1X04q{zJR3?MHF9PGU zK~_C$_~;tU?i*MD-o#P^{X9;7uc5X@rbk0wdx9z_RRafJC&{Zypy|*xe4_hh=+RdZ zji|XrLiMV9si)dh_o8g@E3W^q>HioS#E>SF>LLhS`&>fcCE58lw3&#HNPZ^jL(k8| zd^)aX;y#^*GrA9%pD}#2G7$WHKF`B=%jSTz-uhr+T{gaZSKW+9cntkhM zB9ZI(>=i_qeIXiUrZamg7GsuV_QiOdStGNjb)A`H_KaaLYh(5$8JBh4PUc^hx~yw= zG5?A*WL|s8-hVNd%8MUSA`}k4pp#KH+R3moNZ$Eur-G>&Oq0gx)w4sQ0c=Q$Z6m7T{ zN%s}{bh?Tz{Efbq{*68O4}Bc{7kjlR?$FxNtEG|F2C!dy5C^p>q^K3^8}hgK9mQ$D d@1Yi7?Y7sc)7NkVZ{trSQ78OO{Du5>{T~tXZg2nq literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/enums/MobCastingBarSkillType.class b/bin/classes/net/swordie/ms/enums/MobCastingBarSkillType.class new file mode 100755 index 0000000000000000000000000000000000000000..7836eae76d6dcb258cae26eaa2180f9c673ff24b GIT binary patch literal 1251 zcmb7EZBNrs6n^fytz9W@ju&NsBBE?e7%1~?$cu9(CQ}lNOBO%fbrp-HGhK`EU+GAM zXf%BGM;Xt()Gz~Iwk5rJ&OPTj=RAA5-+#XU0`LTnRm2#Io*k6BpE`cqu}k~ilI?}` zeA#JLc{gyp-KX3)KRB+t^ZBEl0z=$D0!fC18E`*fSga2~P!SB8fs|lSYF=C5Ap?fM z$!DQY4MpgZfwT<0w%eg4`(8GX#R!8s*VwARshJE*ZwG3vV+`XeMhslRRhr*&JD$xj znlIG%_yI4u+}kZ}xAtr+sOZRHQpJ>kXkQ-lR8i%NLPJABCrM^Bq%;^B(gGC>ETAaVkdt&7 zmh*+d^q|iFYU9;To1{qB9nXFh?ze1zhqqjcY+W!?VIb8Rvh|L|-3Ip^!5I<9J-$!; z+4EYF!-Dq?EtE2yU5^K$PkBnd&>-WiS#G4&Mqi;&bZwxa)+-FU*$I8ie(s1pColH< zlK9;>S4i(1y)lW+31NMJPBO4O$++?)w*r}*u&BtS`#UI7-6Ek`I>krtA@dERCm8!e zi2O^>q`Xrpe;TDIe-$wq)w68j7!xO8B0u(D{xU_3(=4puuDmBVQI_bq0)@VSx=@@t z!u7B6y1(67xr%#Ybgaspaz+=viUuhoPElZ5{R!4odQi+}ya&~6CVHe_Gugwid43lS z_fd{0tcarWgBY?ml_Sg@LXqHBTmn^s+X)GD3Fea$3?CzZh>V#2RIG6l7SJ$Ea^;|7 T9z!%Y{fkA@Kfpt}kKxf@rc)6~ literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/enums/MonsterCollectionResultType.class b/bin/classes/net/swordie/ms/enums/MonsterCollectionResultType.class new file mode 100755 index 0000000000000000000000000000000000000000..ddaa955bd84d46cd0007c2ef66f517908b046a80 GIT binary patch literal 2072 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 k0F&=ACz$ zc}MsC|GxDOfDyd!htEJq#&mjfm+kDbW%j0Xy=Ep)pEFBNBAGHzICgr1hyV{*X2xBm&w%a4eNK3-dKyB_TB}XY<+hREba{5n>^hPNY(^ z`SkjlmC-Y5CBiI36WJBBM5vc&(1Mt?R_1NTWWTpaG-)z0Yp$Dj*sT&Rnyp>5Gh=q9 zu=aS$POj+{wn=Q)YN()Uhwo@RCEB#63L0nQj<`#rgUxzA-yP8&iB7Es=FH`oW0CWE zu`Y>j%~qc>*AkAMA#oda)9wbms#NsB6_seXxrno^vX zNlKcPS&3!r%UV1vaYT!?)8?|3Pv4^+l^A3-YB^5Iyhk097}jc-qdIA4ZD;jLv4Y1X z9?)`K!SsFl35hYD&VJn|pOl!;ay84-`P^#Owz+fKf-tj1`7w!eS{74DGq!H6ak(Csc!J5vR3dG9C0~+AYO;n#&e3l4DxsY> zB`#=5-7P)dufK$Ad=z;=N)fewLAfo_3)0tW;R3LFs_6c`qGKwwN@Lg19ZX@N5W z4++c*JS_02z&U{@1d;+51T2A+fUUi8C9dL{E*EEv3fC3s+GN2fvfGo&$L(c`I~27t z=9zqY$;{3tmQutV+aSuW&Fu$17Rf|vF_E>jG0$RohPJ)diZ%CYq0_%=Q3!#UwUS9V z`7DjAi0GVBfGegm&&4T=bWPE7?)Gzega-s@z$q>i86ffYcQKr#hR7R$W|F0&B`fRA zGQ7EPjt|it7PIr&q&aEn)YRW|Tkh8ZjrLJdo}!DkbF^7soB$!+e~fhDG1C3UNY@!7 z-Cm4zVKLGb#YmSCW1EL`$M7@VCX94{Fw$+oNH+r`T?dTR`5CFlGg3Eaq_)jS?U|AK zFe7zcMryH))KD3zc`{O)WTb}3NWG7dnj9nbHAZS>jMTRnsYNkTH)5pDLmBevBgaUm z3{YEj zukwImcynyH;BJLy*uZb`J8$xFGUuZ?mEA4mXwk(WvkMf;B3o!IjJo4mCA+2<{{4oI zJb$kv@eLjM!^V!3)5S7Dn~N2Kb{7{3cDYE$?%(GEf5e{(87kwmPFv}P zTa=&hr^|$@zk$zOMHxSTzFbwR2oruLzEGir8fGHM#1|`-R6!=HnfQ`lReLrR6JHi8 ztU^4Zj)||3%{q^1Wag{NuNpnG&CGm_mf7O1+{(<0DxjJ?!#kLHNd?t*)y$ULnfbb^ zQth7Q-OPN0yxXOA@t6oR-z4`s)OKcin0Z;%s6Ac``nq%f?szn`C3(PDq^NMO! zhtw=Hk1+FdwM`xN;yTOBFDT1LJb%tJ^QzjR2E1$}n0Za@R7aI$JIl=cQnjf;&&~=n zzoOb4Q+s*LMP^>7+6;NIr*Gnot60~Kr_hyO#BTZ?fI^U7nX1r_8jRCB-8^+e6Ls|K zu#tXOZNba*g7zA{j=f7SU4N&M|D<03Z|pYw*kd%K)969O7(tIQgS|!q`-~h87|)^4 zcnST+D>!W2!V%+d7%={UqsG55=qtmpuK^>zPK^2nal&^RW4?2k@Y$I3Jp+2{^?L80 K@fU8ffBhdapgA7^ literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/enums/PetRemoveReason.class b/bin/classes/net/swordie/ms/enums/PetRemoveReason.class new file mode 100755 index 0000000000000000000000000000000000000000..f5901a10598083643148c6df169c9cb04050d96e GIT binary patch literal 1341 zcma)6T~8BH5Iwis?Z>h}S&#~XA|kX!sHiB?id0&m$pVIjCXEkdDQjKQZj*lCpYlPA z3ejkI_D30KwpEJq(0#bKGk509oO9>)=dZ6n06fEUKRg0cj#ZD>-c_oHwiPee;+E5( z^_5lMvC5TWYsWHc6(DHfq~7`)?P~2^ZV(nk$RzL(gM?ZHz)~)38)A%jG}KF zyZc6VePfs1Jt|ao_iU!tvupdAt#l^M{yr7`2nqP7aw&Z;V+hQ=?yi^u4TFA!R1D#o zfLth597|v*64j5)V>4bdonn0Z;K(Y}6AHq(?#GCVQQV-S7XcZPgQ_2!rG~ZrMqn}0 zk-b(jYqdm&!>CtnrXJ(^0W_?@5B<=`ER98S` z1CSMRPcy`fK=`UmN(~?wfXb1xD(+#9Wpg{P2}C2&E`_5O|0H?WDu<+5zivC$R-=4i zRd>yU5_y)d=pfqNy$EP}rC^qFX4Ph}Hlo)t%LJ_buO^LN{jE(Df`(mm%zC3raoz~= zrA~`hJ;xeJk!Y5ND_JPD)g=d=FLl82O(eVPaV0?mYE&B4g7wm7zC-^!hmFR_R%S?KI*oI`em$P%4EbvmkUN7gPpa zxK?X&3ofMal>SZT#(=QzJ49Y;LNfB+Cj3TTZqj8i)62>Pu#7}Id5`qxZ{Zu|YEzPQ yin}L}Tr1-Bx|ZLyqO$B-${AuO=w|FydI%Xyt9Gd|+GAqe|3r zYV_W=^O>qytyR1ba2asJBcLaDQi?QkG_+YK1( z^=zzdZtbMl)oGxMUE0>(?h55tVQ04iKY9ez$!sFMm&yo?y}T)_jy?ob^cd*JfPgz+ zEIF1yZz!BTG>^?_(R2#Yt^GqQUybP)!YviU27(x&Gh6~vBm(6$Sjqs3kgC zG%J-@iz8Dl+fE_Ynt=%<|EPg6j8m;~+p(()0)bYlX5>aV%k@qgxP!X_3gs0L%R2c& z93K|wzb&WHFz}`8oC%fYv2*)SXWtKMPMQnzEN4K;Sb!EEFF-j zU1{5~Hfu-wR(aRlFOp~Onp1{vYMFpPUCNuqtXa01rpe`U%p;=oUlp1rviioRV|z1p z!J#QF6V4SPHAuA${-lcOxCN`4WhIqRc$r2ko-a0gKn~iUZDHnq#cw+3LX7S}rc^8E ztyP=L?Yy`q(>yy%GbHX1-7U}3Am12(R+@jg(!|S^#+(ps+-bl!#1l@oO1OEZQ|#Mk0W%yh@4^Y9D?y}f8n2z$7rDN95K01 zlSL@bxDEv_MntBDPjNdE{EUf@62mz=X%~D!;X^yR!CV1~WX8CxhrhTYh5lDK^8)>7 zAe-z7;%0U)u?OFs;@%~-E@^t9(Y?K-^p%Ut()_oDh9bebB zx-}j4_7Xdi z$x){lZ|X$62OJy}Z|+`{_)kp2AqR&s%^ps#FEt;nx(eqX@1co2j$+2bw1Z}vwn^6sgG1uP=y`&d2 zHd7`IESXcaF4U#Vm1Pd;d^;GDP6PcnMj+*a=J!zSLR}&6M!mSLZ~M~y^lnQyCnL0Y zfj4l1OKdMr%RT~>+$tlvK1On5jO20{$u(d`N(KNZ9FZNMo@3t6xK6w}wUdg>#0oT(mr`6nu`OpqM9pKf51hZhMl1pzBDl?hlf4awImmKnD~YYMk`)GBTd z3#?H}f!XRCRDL%BUwbJTxIt~%0bC(3V?9h>HkAR@Lhb`pE8R!hZDsoW`L(ir-c>8t z$GF?F`Y5<9yN@aNTefW6!QCO=Z@epc9=|7A@rQK!E#_V$ZL|xSjL|HkUCd^UmN(i@ zxt!6)jdsbhj8-t(W!pB|)H_^xjgl}oxUS={_-&Cv8#BDLDx|f2WX8c7nM)1%YTy^f HrSR)NTP;Y7 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/enums/PotentialResetType.class b/bin/classes/net/swordie/ms/enums/PotentialResetType.class new file mode 100755 index 0000000000000000000000000000000000000000..8b10e0cf24ad2a4e7fbea788528747f16fc54138 GIT binary patch literal 1167 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 UgWr6#R#- zSF=>1=@*pKrsr+XZFtJ}m*_7W>Za=iE88vA1A&BzBvJyYTdvoXw!mb$8;Bxfq)qfN zMq;^tCU(z*H{ZbxJPc4Fi)V3V2f>tHW#umR*?jJh@GnDL?R(q=+YT z_abqHX$s@g8Xds``Azc00b<%E6K~-%6+2LVAaFWYiptm9PBpMxhbX6NR#gV7*o(LE zj)AKtuHjvQ6Z`HQ04J~NmK`Wh;98h6?ZF|4QG*9Cw5@5Ax`7gJ)Genr>uhrgq8iIB zc2L?>t{Kc4m@_et_XP&_9orKjpImRj_K8sEqh&mpsDl&}xM|`8ERt?R1*=@ycrIT` zBgy6ci0M(LEJWcbyUeE&(ISnWG|V*mS@>fUpD-7U@jWsm=G_`O(_gk6b*tT6SKf+T zx9Mc=5WIYMokSTZyH#ngO3z}@5INz0TctuUzcbkz>~ zlZr$B&P2lFUY_pG)b*l3rsB4}s=8@$Jx2axu$DN zhYYhw{09{Io`{P7|BoG$FV_wGG8*K(wC##Tb0dqE!0~8Adu?}@vgL7u_$I!@S6Q@q zOmCWl#a9Odcpu6zUE2%LK%=ZB@wz_$WpFBhfu@8o)BiX0uL!I_#l#aAsrD_xg* zrCU<3bTg7fjIRSAJIt3N?P(bBWkC8B+MS`5f0-R*pJ4Dgj{ihEffahD^tTMjkK#@! zf0^)DBQqc-c5&)C1k1+`$gk3g8R~wD&-8biPb9?_7ZFE-B_=M6JjJUMqrc+p&sv6U z_R&|6pD7HYmu_Lk8X`?bT+{LJ8%Gq!T{?~79$BKv82VSBmHkUj{DQNOw7`BSCpBEh zwPXm_gU|6rsJuvUtUR`h*LQJY_!*{v-*6>H59&qn1UC)|cqD>47A8Bx6bez72$ciq zyYK`H!#}`C{D?%HeTzrZ)*{Zv0LN1EqN4DL#CRxZW)#l6q(8-K}Iw z?=pI~oHF$8$S!U_MwTnsVa<>R>?PMtjNl0Q+J~#ikf)t`)u2c=hB_Lwaxpe25iTAe Qz!sfw3qHg)zQd`10TRNNRsaA1 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/enums/QuestStatus.class b/bin/classes/net/swordie/ms/enums/QuestStatus.class new file mode 100755 index 0000000000000000000000000000000000000000..2f249d84ab111e63beb4b915bc348f6d2f7c62d8 GIT binary patch literal 1306 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 y1vg~)ur{NFYO^n0)P8|qsvO3z@M}U69^)VY literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/enums/QuickMoveType.class b/bin/classes/net/swordie/ms/enums/QuickMoveType.class new file mode 100755 index 0000000000000000000000000000000000000000..8678aecc4ef787ec4397ed215f537acb6ec68ef3 GIT binary patch literal 2483 zcma)8OIK4@6#g!Gog@cx2mwJ+D?$xeMJql*h44@+2sVgKZEY{fHC_n!+M64czU=!s z?Wp4pJ7}-Ay4uw)2OYK3{)GO7j=Q?gPFitcSIK}c-#*`doOAZs%uS zfgZ>52dlSSuVh<;tJOivsnOp{HM_Vn>#kV~>o=`941^^jh#H8WtC%I*^j*(D@67-E z4r^y25!cSiS=XuhmN##DE83ovklNllVXs+1x6INl(<^DuL5V}!9=TZas(b^_N*v*Q^R~0{ zANh_-9OHbOHH~~HBu;9DxMJGAXH|JC!xAH$ELU@!b)Ei<#93_#pR+wa-Z6=sHpIsq z$E`U<%hR$6iAimxi(RrS*1!8cCvhIr24cO7V>6d0^9K5^ZlzfgxPX}$rX^-^kv3nf zxQ=BYlkJ~bHrLF-is_UG=a!bOqCcF#JTArXyhI)g)Gdz$lhneLd(EVanY(V_Xm*45 zxW2*R4Tik$(ZvpL%%B5s{6&c?c)>t)#CB}|jDe1gp&Fjk{fqi6UX-|sm#CR2uK{CP zAd(>SD>}rh)Fw~zBv*mBfD}jxqy^dqIt6wJ>=M``&?~S{U_ju2z#)Mn0>=bS3XBMx z703xp>J+ymZev}aHgCCVU|+U>OXp2H`^P0b?w07NQ!}<>U97DxS>A%VR3XcWClubl zmCH1co^gw2WzqC(9jXy8?3k+*Hof@@sNMV#1(qLkwNyJD4h>_+FBTXAdnlg+uTo`GPFw(GKq>;c#BY=?}J|jJD zMtZ`G^lBODtuoRRWu!+*6*uXI1k`r@7>P%z?$@zS`+0*{525}f0!)36=N{t1H^dCQ zNq?if79)KgZ#DEo6i<63(#F68%sqsm^-YiI-zJN!t8fSJ@H%xrsdUEk2qCN$1N*!0 zYydV8d?NJ1fviN5Xu+A0b=<=B%mHCL<2PE3$Xwy zUl0M>@&!ev4g#`u5seOR1S-G~L2H2H z1nB^$2-*UiCddRBC1?*Yp5J^q0w3Yydi}<4)SC1$uKq~Xr(X_*?&I2BgqWG(FtZr5 zrAUNXf>|*dW!B8B6pJxa%q$_8wK2P{qN=X#U|v=+RabX0zoCSx>${oTDz4(}znl58 zN~i?$9_A}5sglh5m{*ikl6jW-s%lov%=a^QREuh1evrAVQYyv#F!P&=KFo)hzouGM zEA!*bJ(X5z=BJofRhw#Keww+jGAhG-lzC0Ht9It&53qI@Q@T^@uj3lF(RV=|8%H-1 z^e;Y%6V#hiXvP9rOZ2N1KYo7s4qzU4G=u~uT^Z#3mtLc0%Us>hNw-Pg z>y}&d>T9;|+n&3z_gp3*5HS!%OyJ16^q&;nUFim1V{f(TI0ETXcRYC}iW^8Uk;z0G zp0{SXdu!77e0KI2Fxc70&PT5OqA81kth1}nKtH>NRGeLxCA)414=vx9wI|bzIAS3A zU&IU}1`P}$C7_+zTq-?UDGOvCcbmJ85sYd`85qM+foRq7TuGGaOlim3wQ`Q-Zs#6s z?Z|47*D--(8jc${fs>T_AHWJJOz-bnPE$U3DlnVwh+cN6ntaDaIcV7KcE0lkCQ$sR z4V=MQfmp$I?O;J5)k)QkEM_*j?sEpx$Owe#T>(*yBdXK&d8W7^F#NAb3XLNXhY?4A z97)DsHgE;AET78X7nn+SFCeA*J1ny7)kwSklI_a-&H9#XY*d?Mj1CLbzOsw4jwM(H6C*5^JHiT+v!E%ZF8p;}(|NM6akf{8|4>Jjra> z?EQqPcL*!H&h=wH08&26j@K7`d@HWNKS literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/enums/ReviveType.class b/bin/classes/net/swordie/ms/enums/ReviveType.class new file mode 100755 index 0000000000000000000000000000000000000000..e7f54b5f1f51a7575177ea428933dfe649684e3f GIT binary patch literal 1527 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 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/enums/RuneType.class b/bin/classes/net/swordie/ms/enums/RuneType.class new file mode 100755 index 0000000000000000000000000000000000000000..36388b01dae904cd1d4577e0091142060f2023a4 GIT binary patch literal 2829 zcma)7TXz#x6#gc+nWU%f7;L4b6e$6dfP|}xDWy#*P)#W|r5NxwO-|aO)0sM%6zdHy zc*Pt4z&Brf(4bIp>Eg|`T>d7P`p+YS1jYS?^wWr@e3Ai@wuOhLSK!>oBWuh$jqDQ@YO7k(N;T=;2I zyy7f#cSR`M7?@DDo#l1UZB#tdv4y^ap;PG9>G_6T<*v{@#*h@c=!7{p?+MN03|$iP ztl=(*OoZ|YhMhtgn=&i&T&j8*c1h3Df@xX8Xg5Q@)SP!YuL{kR40|y^5mPfG#mi$Q z(p=l7ssvKluVR4V0G^_}Dwbn&$|{{HUN@GFoMqT^xyjkRVplO@lkb>?YleA=0B|n4?6=KA$93jxZE3N}ThE9t!rR3qku@!SW_%B{0#+WcZ;ahAK&#;iq}}fR{+yu>Psf*HyKOTQF>N+(+uW6FnAcT&tziEnP2Q|uD!x_F zzqKjd+E#Oik5XnC+IMZkJ>qc%=%mL|p7cJ-liovl(imAU0#j8d#-F30tDb5^819XZ{qKQ5Cuo;}!iABVHM@BE5mKTD(apgSNyy2*tM zu_y}>zfQm=cSl+;Q3%?2equQ~MPkwHFF5w2G+2l0l5nk@qCQ+4Z^HGRFZfmUui}|i zJm32O!@zGi8=|il2=^W?Zc^#a0BXPA<%A%Wk2*o9qJWNr_b}c2J=Dk#h=fIM;XuDy zD6LXES}4K?4cY%?`W;1x4J&#=>|r1JifkcpMvwmir5tV|Tq;MJP)p@#lh#K$)}+l; zR-4dEWvz)FrLs<{ZaPTULkB7QN{`N3!wtOU2lEvn^YS#60BY-ktB8nQ!jQ=C6OA{|VqOY!xAaD~{=9n~&W_ z)iSgD&8+FP=(|)g9dqTdZgxQ+tRsS`K=-0$+SP?x&8&C=SBvK(a}15?=wfJi&1ls5 zpj(H|2Ws6m4(IMK@ma5qK6%!1_8j-I!)I^lNZ&ae?TJ=BYdICqa-Hm>hFP^L zhG$Z=H*izMEgc_VN?`C*WhHEtumXC`a;j^Vx5Hq8h16z13}4&!$$$9@O7*H30w3!5 z2p?0j+oo4$4U|;65JQB8$gz+!0+-Ixj|7aND+WD=J~qCmV~$l*lP_fp&%0H+2Yp4$ zF(0<}x6HtX`ocE$x2i_+B`$e`?oO)E37Fmx2=QI$DS1X^ zZ^@|pVaH}FwtqWGaEj58E!!#|Ce{&pdC~cFCd+jN^NO{$NIaZ=^R! ztu4OT6&(+;90y4}k?K?xF1TKB9J3)umf2LXBXI2vmCq7P#V)-U&Nrn-ZL6EVNudqX z(23@U_%#90N;6-sH0tF_qMLAdcJ6DAaa|Rqns8(3PN3Mev+dy4L_dIu zegG4V-l`a5j3Fj^<&}x?>lmL?sojMMCR_jg{qppj=e&IT^>G)#G!|lLKuAWIp%G0I zx=ijSoo&l5>pWR;lH9D(v#8mYVH91}mC&@M8a3`nPzDB9v-^}!MiD_&MvS2uOhV5- z^~#8ZA*HyjyV^!httwQm>~*759L4KKsqdy?H4~*39AIccf|}D!tyo&7iT3SGEWDNB z5ZWZjV!ftnNC*uKW@H?Z(7CB@sYydM*OPgxSkpGSrLbbK?;a7h@M%5K&wRZ%s;a7DOga?AXFmTz%G#*~Ca zuoX*dn_Qzy5Sh{p-PGL~Z^u?7gy*a>m(Y^cO`fk+*0^0#*96gcm(*Cu|I` zldvhk6NGYr-Gq? ze8v~bulSB1lp$QBZEW&3bArYO-5}sP{pZkmTc(QKKOTAE{^Nl#4I_q3QNth-gU@@W O0XHaP-nr6CBJvyI^8{r8 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/enums/ScrollStat.class b/bin/classes/net/swordie/ms/enums/ScrollStat.class new file mode 100755 index 0000000000000000000000000000000000000000..8d2dc776e68b16cee2c7359c1130800b100555eb GIT binary patch literal 5152 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 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/enums/SendTypeFromClient.class b/bin/classes/net/swordie/ms/enums/SendTypeFromClient.class new file mode 100755 index 0000000000000000000000000000000000000000..dd2c6cedbc4362dafe0c2c3e9d49098e5472650f GIT binary patch literal 3243 zcmb7GTUQ)a7XFHEx{Bri703+|6T=YGK$13IW}G330RpCH8iT2TlFY@TyP8y}uEMHn z6z})B=v;IzIzIW}TE6(8t)nbw>GHuR*F4VK{Fhntol}*eH0VMedb7{j`#bx5`|Q2z ztN(ubIe;^GOGk%>W4;rYqep|V?mFdWRCfFpe=WzaU*1@AX2YO4?YWL0cR@p5pc4fR zV%lyxp?%4TT3)PSw7Nr#2?=5dbV-oz1jLH%P=R*~2)VvnuFQKjF=zbP39F91?nuX8 zfj(()V9Q`3a>9z=2&OL2JTyPmYBZ$XE`fe&x5rv@{fmvp`If)p1pX!Gk(Lvwqjn4I zkrpDg;6)s@u}@&X+}Kr#o#u4lc}^{M1Alh%0SP=La6s<%TeZ+#i!Zf^S&L`ZQ+93< zI3&0Grd)p|3Ier}y51^qL;){^ttjDbp)&0Sk-FIr1V-fUz?|#5_mSIq*I%|hZ{{&q zg>{?2F}c5cF7P8#a#LiZ0%Hn*yv2igN?txWEZ@{CT^{Woy;-EwY*hR~EP( zr!?pzi<8xb8B4?1)g7m_h&yqYj#C1674DWhQc^d~x|YnVKl# z9{gCxPXs1#nhD)9nBl8q0PD8baxOMB++E6ePkVM0O=K3VI3&dr*%Ksy!apl;FV1Nw zoFTSPJ*x42l)daQ*s&ZhTETYq*edr7X5y zS<1ay-R8J#9{!(c4OaxN;^(~aiW4tNf^((Oih)ka@~>o;9@emLyW}uC2D%Ig1APYi z4eT+n-@pL_hYTDsFk;}CfiVLoBvc@R%Ny^lQ zqUE^E=QmRHZC!YRy~(qi%XNF?2EfSe8cvidJ4P72!XTo!QPa@FCQ)0Rv)9tA7^iDq zS~biSqs$hatgzENKIJSUEm}b$*RZ;|Wz>%pp1t|}JjVK?kr9E2O3D9x<)uWYhYr{sVOwqN(0Xrvkh ztF5){9n-{RQu#GUIT5qwJKs!>{BGZD8Kub690HchiZ<~F4z%ozZZwQ5Wb03|4qg*@ z5>J`4;DzeKuk&eHyH{C?{cFgH`Q^TR}Hf8xIG@m=g81G>>GtUjm zuLyvW9|B5p@GHsrt|aHTlAO{?awsdw@v9`~tdd7k$?2(dPDv#>43*^20S_9n6fl-l1#Jn2#F*Ty#Sqc5OI z`;M>K$6OJK6>+gXgF|BN zrKd!ERNY7ZCvTL)V_faP2IG4iPo(jk;fjoJU=uT&s0@9Ii@+wVZ2~={z>`1+5|Zf3 zrkz5SDJ4|r*hiRrPo1^J%5cWHGl|SB$|smQ&oK@eb?^AcSQ>g8dj4JHa}p(&;VKCs zxnFM@g5=<7#r-q#aCC@s8llOx z4bxgO+8D5wOfK!E;MyPs7Y|Z&wQ-n&sUN23ZsRD0Xrn~Y)5f@U^HVVJES^i^(8d{@ z{QJ*88Abmua=B0N%MX!Lnw`%pO;_4-XQ$GNN~;wLO6yTtUDuUnD$Owrr41;pVHV89 zcCXS`Ox;YZ2bF%!G|a^QpweBl%j{DAhn0TaESg274=a7u>^8fVepKn6DNLdClG2-I zkJ+R2@lE(2;-q|+NiCe^*SD;lUcR=2DDs1|oAoR(iynS%^rFuF7$#oCF8qaG;O}4n wA7MAX1c1)Tauo)`LF2+28CvduH|? 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 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/enums/Stat.class b/bin/classes/net/swordie/ms/enums/Stat.class new file mode 100755 index 0000000000000000000000000000000000000000..8c99b11dfe3b09abe3e0d05afcba8562e887c9ca GIT binary patch literal 5043 zcma)A3virO75?sKlih4?lfTKIw0Sg5LfYohCM_+LHfftSq%Z z$hJnM$eFCnSf;UDVn)OZH8zU2drahuG%gl-IwkTY8e5E9IF(Ae zb7uK2jc$WP#+P`ozQy zULp}-muc)VSTvq?#ugO!YFsX0#!Y72Ky#nQeqWP|O$FdVjVlBkb>;@VDNhc2P~(sR zwUZcecE+>bte2HN3~5|#29_9qop{zw_d4lOQsqV1}Jh=wmK($yp~c;~t=yi(2w#_a>Z7rYjE^%%;8Mcvt=k z#(>yQYNRl&P}J=uz3g^{s(e$y%>LFPv(>al23aOF*Hut^W5i}PZoo0l7hf_8^)0RE z-v5nwX9VxkcsJgoV9B0lvRe{3envri>E52oEwFYaXBt`d9zH%IV6jSu0&3d_#8v&cBT z8uJoN4}~p3e8hvZSj=B=kquevqZ%K>#}$glyyWO^FKxW6S~z<#d0^VO=p=YLpTwsk zxJBdB_>4mN8P^t6=v6A+m&h=GR_CAE;!x#hR0OvvRGhISF(2?U*%)rc=S(Wx&f{%q z9g5*b+@WzNzQ9GCj8Rcob-n{JYV`X{_;Lha(fBI9rciliwcb=B!Mx`7c+BBUDovXe z`QeoLtwSZa8()v$8yerlJqvj+!SVfwdOQgyo8oCKj$MC%Gt~Fu+Yx+6<38NKD0T}f ztey!cv)?^NAGqPeX2$n49xz22P7*fBozpmhhZuozH#=lVW zeb3sL#7jCFHs>QpSn_k%2y8oHheGV_T)8-Nyj8E=!rh~|=f3t7rGqE(`OpS~>%?r_K zUazpSrT-iYw;pC>xW{OBJQ2KUf!}fynwRf2+0hDR|0cQ? z0v%kt6D3$LwyHRv`f7#j$JjPIDp2(@Yb96WV;%U{8TeP&_7JYW{|&SLRyO9jRv4Ho zRt>5#n7k*LTtAPQdCb*3f}4QTcz=i=AK~S45}!EBhBxO~tyfLz0xRl?#E<>+4*G3mQP^Fp} zLGzyWtJUIW6g$-#)xrptVXJB-7gB8;Hxc*8+TR#!=h#|~m80M_)I@N%{J*#L72^I$ ztg~XK?1Nw);7aD)tajPQZFeFPz6arg`-m0f<%=Ia|BNl=hmW(AsTw6K79v#IqiCG( zd0_k{*#_{eRsR^&a6t|QgTvt*B7?()Im8Bsi*kH~h9fyxgTv7rDh7uwLRBQhs!0ge zkrd~!l7#8sL{gH&DiWPT3(1lk+DS@t=pZS}VFQVk!zPlYIcz2=&tWS`MGo6Y>>PSX zDs$*1smftD$+8^!NtWj@KvJE<0g{>=t|Y0=;VP249Ihc*k;9R}HjZNTmRzC*YA zB@iljl)ElJT@X8kM^3<(9t+!eT;zz1K2d1n2O`Hr{$Y`gCq-T&@>3BTKN8sz`NvTk zPm5e3@-r4E{6v5%0e)(6#?J((7T{TnQ+_T$odC~S#WtQ7V5I;rSTP&F5THqbUs@$L zekH&v0e)?18@~~tMSvHrB{qI5K)V3Hvr29JUVsh({%Doi_>%w|1bE4^Z2Vb(O#=MI zT59930&EuGZ&taDzYDNcfPYvOHvTEVHUa)+**0DlphtjzTa`9m5ujIqSFI`={}Euf z0IyriY{l;bJOS3W8m>?wYq_lo1R3y=LaW+VMS>jgk*HN;t71W}^pO&))>c}Ot9+!? zsovuD z;W%u5ovg%NtnCw6h9~(G)N`oDA5eprQLCb;;~l?()nBi=uu=`6L0yYRl|+-e2^Xka z(5&vlD)kUntEaF=y?_?=5?a-(yrsiI{a>gy(vOhZq%IPFl)9LezD;dcJ5?_c(-~Z< JcB?(8{x8#jOPl}z literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/enums/StealMemoryType.class b/bin/classes/net/swordie/ms/enums/StealMemoryType.class new file mode 100755 index 0000000000000000000000000000000000000000..67b4a7702e591c22f47156cb417962b60266958a GIT binary patch literal 2779 zcma)7TXz#x6#hEhYtZ*sZM$#iupU999GXZAUJfBW{Geg6LU@m~O5!?zL!7?QT( zW!v{1w`m&LRy%9h9s1WiL$}IC%W*fWo9o6P7{Ur7h%yXm)nZ<)Yd1@(%5X;Q$3Dja zWCep9AU0pASMv+ki&c$p4=GUi_JO&4NiANh-=4o&Unu6a$~-^auV9#;jw}?*mBnJc z=e$h9LXDpvP>|r~WBz&Xq@GtPLbX!mDhCye3J1OlKidH~q~I{d8KmT5UcFt^7|t&B zms1Q!a8$y$f@7Fuh%_w6HppEnt=`i&^sJ@ZtJ%u(J)_~}VmOWy5>6^Og(PLQqfn%J zllKkX>KK(3hKs3y^{l10+quAo=DDW5nhSd100RGvg0o05M5j&L^sZ7(f>6F?DZR*R zl2I^)=NUremw^>xw0BNH7B7;$h^5VtPNn-U#Y=cu!UY8v@d`s+q}TCGE1P#+eUq@F zZO=7y%Jf`nDUgp}9zP#p(NiP_a{XL_sCr4kWn3W!dPdu0IFTv@^;bG}!!sQ_d&@PN zW<&Rk+z_VmnuMzgUdIf>p`CDcfm2i~rsWwf!)3ozB7!{-gAR9L2ww#Sv$#fGTrurt z-rnS;4_Z{#d4Re_ZJNV%2{#m!@CHL-C$Mc5ipg<{R-1@)CfL5+h1yLm230{B^JKef zc#FKFp;WpcBf{JICa1*$RUrsR)#W@Y5glX<%1~qs%Sgx=aNMbe8jM=w+J{9V2K|sXTV*P$izwv zgPOT&>t4qt-EfNXpaDbK7dA!yY0i5Kgeiv^ShJBddzs$wFVz8y<~&8py4n^iQzC zzERJ?4c%^9MmwoG&RS=Ek0}+%cb6f5QG)9IANE{6+t$B$!6avO%hF653~^9?qrr@} z@6{cu*2kRtpD0+x-8equ^RK@SaSkXY+csP=uZ^~ZFBwihRqMUVCgE#_$!Dw5z3$a` z<~#*>oF<|?GtM7lfL3}_#Y&H;Sn0VGD?N*1rMHhP2Kc-O;uHL};|OF&)1L5_NIFR? z|HZl(dx(iAIPx<|4DZl?RGe}BQ+U_czd(50B9>s8Ej;%GjO!2V(tnS3l%5vqcwd~; zAR;a9F^>?!wC>AH9esq;nPcDohV(B&X~*dZILH{8kRo)E2>+VGGMP7oc9UGt?DGT5 z(#iviWPU~ZC!w$dH!9$IF-3g1K^R!^jc@o_O>W_ZEu5ctj8}o*ksF}DJmEe>agR(7 z2T&*dD#tj7eAF_b@&xuzJ;cq4A0UN)L^#A_3kB-cL+PcuzlXwYV2b+Rqwfd?lo=L} z@zLx<7eonxOg#E0SS{2=NUMdrkhEH)OGBd;?b2APNnOOXn%u>R_HkQOCLNO2*(CCfq@*}~foFveTl zpT-WQZ-7sJU~rQzd?e{RX#SlimOvtkcT7_W@PzLwtl!@j31AOZx@B I!Z#TI55F>+l>h($ literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/enums/StylishKillType.class b/bin/classes/net/swordie/ms/enums/StylishKillType.class new file mode 100755 index 0000000000000000000000000000000000000000..8b29817bb5d42d05d31a7cee9d962f76e362745a GIT binary patch literal 2505 zcma)7?^oMY7=CV>5(uG`%0Lj9+d9@3rJHWLtvI2TNhMvU1r$){rA;A_CN)X%@MriR z_{}eVP^Jv$(X-DU|0a*`O~WB|oSpVVZtun1)dl9eiZ`( zA1hYMg^D;CRH0&sK~8NfY3s{Xh8x?x@hKQaLdKAa5hRJSX4;m{Fq+P2`}~mSOm6Mw zDm(jn&C4qo#U&YID#r0TL;T!enL?%854qXaD-DJ_=@7bTa@Wm=4yvAGSiAY~4T8Yu zpH%S%rWpDb49oByFpPz%0%R$(A)=m9aT#wiMCo1zR#52ds)}n!5#IO3Wyqv6J*Q$8 zH)Nz$WRPV@_~ErZ!^|x?4nHEUKG$<}PLa;1w?pv+=?UWT5gkJ+zOc_HNhNQocpLLn zd{1{hhAZhp*uK%WYMxJ( zd=D;Q3}4vA;otS1iuZAss@O2B`jT}dQXfWCTEanYQkm`}FJnO^A3kWaR= zY`P?**>L%~6V)v(hD8-iC=hm6_claDqv=ecA2CtZWg&})l!Y)IWmo8^L~`iIfG{hm z_(W7+PMwusD%y2&V^}jR{ZYHQqdRMS$E1_{7cgad>lun!vuoVk;Eo~40!GQ=O(IT) zlo5C+s=jBCfLMuPpla+|+-o~zE2YVIYG{hMaOB6F5xVGU5-^OIytz~7sWWuyCPOw| z=nbCPq6E7KB*mes$7=^=-U{OAU#OWu^HBxJy}O}^M58YBcEf`_jkv1ac53=VL!^B4 zf3t92D2E!YVA~$)k+;gaw`bSg;XdprsG%-HSJA*OwY4uYUonPtXdmb~&5xZByuoXp z?T}svo8jF*;Q|Ms&IK#ns++o-(ro*n-MU~hh2rf3iUA%r@BL-x%2#89W(x;doAe1D_p5nC^V8TAqW&emy)Q%M@cO+ed{&4g63J^SdLcVSSbyzx~#yczmgH1pGTl7DMh`PuUiWt2Cb;eI2 zFcSL{Y%_X{XmwLMhFpEQdi~hOmjSFuT;g}_4?-o2(daXL^b}El_pv1TJNXnVPoap4 vbYu`GcR?bEL%|fuM+)-)6~3nP2%g{@T19d>S?*yUP1tlIdZq;j9wz<+doEz^ literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/enums/TSIndex$1.class b/bin/classes/net/swordie/ms/enums/TSIndex$1.class new file mode 100755 index 0000000000000000000000000000000000000000..5d9b498d2172c0c02eae39e0267ccb403f764a5e GIT binary patch literal 1241 zcmb_c+fEZv6kUgwPFto@5CsttW#r<85xfJEa4A@&h0ux*ym**7X$Ph=&0M&=ndk?Y z7{9@1H8I8*KERJM?lV-|5cNefle5oSd!Idf?X%l&-@hCIc!;?)+7MF^SJ93H!-69M z-QRaT(-L~k*A3eePM{lA?r|d!p6>5jw(aYIsMYnwpKO_s>v8X}6!3r{vB&LD_zWv! z<6Eo$o^d9HBvJ~}DmtJt44z0SoRCT_m-3D&4zx*zf>zqM0;5{sb&X=Rh9IrxYsZ4L zUxKt_L7Eh#{Yg;URz5|2I;El$S%yr`5nkm`MpuN%u=GDP%8Te$aT+}gitN9`ZHCy` zcwWI-hW;JC$90=K6}{+|LZiBD3ERwhp6kid`c#~gr6rfRUws_b>XJOKVnC89NtWtD zn35e-aZ$1z82ymI!0BD zNk`%-HJ(Swud28vsjimfxr4gpMW48#VnTY;8^X4X6&_ZEf}0H4rnt539bwQ6C1>fT z94nZMda%h5Uvy2u(79?kq8Qe;g;(a=HZk3+uEFh1?pYEy$P7)Qu}k;g!0D13dWKlG zudKZ6~8O@D;)LB5$!=!&nsL;OhudkMBTVL!n{6J8*w zG~p1zWD^b(%(g_2NZb-WE^$lzb%|5a`S(cC(}P}|K_7-OLUxo&zeDye=CMRJhjo<5 zmhl`0Src{mWCOgwOR}%<8gIzPaGPW%BC+$70W>h6ETHyuKT{~8@SCM5xf2WGxECG2 Yj|XJqn5K0$Vy5XY3`j>krcE~a19~Yg4FCWD literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/enums/TSIndex.class b/bin/classes/net/swordie/ms/enums/TSIndex.class new file mode 100755 index 0000000000000000000000000000000000000000..f337bdf59fb4bef74d74d20ce117ed334ddcff67 GIT binary patch literal 4637 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 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/enums/TextEffectType.class b/bin/classes/net/swordie/ms/enums/TextEffectType.class new file mode 100755 index 0000000000000000000000000000000000000000..3f6fe09b5eac27350acc1462bee7d1e4a0df5231 GIT binary patch literal 1388 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 Sye8ftVl(nL#oOY$81qkavUbk^ literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/enums/WeaponType.class b/bin/classes/net/swordie/ms/enums/WeaponType.class new file mode 100755 index 0000000000000000000000000000000000000000..2fd57dca433602664b03be5b7a4a84621094bc24 GIT binary patch literal 4517 zcma)AcYIXG5&qttq}w~Kq(z|KkT`(~=pZx;VT>f2j6j$JVL|Np>F!B7IK8J_0hGjv z)0{ZHCw7`s9TF$8A2!XgLwazWUY*_(r}u=!aXdTskWMi_%lhNK`(|fncV=g2NB7`k z=NGjEOW}S_f1b(K^Q2IC`1wAZpXF^G!M=* zr$PB>1+N@;niM46Tcw^->ZD`mzVEnOf{ z&PMtt%!D1)+tlJk5*1n;h{mib&p?$#HLLDPPY)(06P~zMqE3qo*@B+jAknBLV!N5O zGf69>g^MMcwXk%^wsx3y+=|aEwnQSVhvdvq?{N;xQi)}Hpk!uXml@-cc8Lx>QnbY! zAJ6%>Tw(=_cA6P8W$HB}5-YVR7`0-K9XC_cTKY7J)mmE6Z`y2Zt;9MO9H4z^jVmO& zwV*JXF~`QVq(@?-mWVzxWleZ$nxob?fjq!tDT9eY-4OE@g;O-;_O@l1)7mWF!m zSi-V1p351DERIrG!o$6T`?p37v>clE!h~=f(*Ycncov>bL5?N)rY&k~A3SUxH6uyW z9*+!-9=2kco)B)ta|3vu#7%fU9q+8dR=T^i@KH0FwT8wFtZmDiO~Fp5d-4R)Op2~$ zPyPzp0Na0|#EbA^ir+@MyO~V}D)UWwGY8s-^~t(r%oL?FDa#}$yV?%rx#C5}bA@N* z6eF}%((fs!iuXo|H{s2cb{Q+3p(@rkkgq?MwPTrtV@LL+tau`3W~`oK+=|-*c&o(Q z@OA@Lv)h?toOU&qNK&~m(CtNucW@bt`3ugm!E3!!;&!}?4sa}C$9wH*9rgSfLsNQ# zW|B_mJ$P>b?~`~x?l4e3yRl0uv?nLEHJPSry)^&i<_2nRRv9=U@j-lu=8jvLVSSkX zw)O#mLVcni(HZekibB3Qimpzf0m=k{pnw!86DSv`5U3WY6KE7@76=P06X+0FA+SH<1P%xs6u3^{27#Esm_R}xDc}gC^nSi6@hzQU zf$*giE9iIPSF zw6+b*JG1?u0pBso?-F_)Vn=qFQ{KkK##qw3%yg`@r`35b=!?H`UfY{`^mFcHQ!#5> zLPxf2womBNNl16Lk6v_2ZF6dum6>qj>9QjHK7>Euj{*Ei;?MXC)kDr#PQHYF)Hz~B z2H97dVUC%xjFY0&FP_Y259Mc_Hz~J(uKP(V9UgR?BiX6T)VDk@=STPZH` zRyu%3DO;Wp=F3GafX56pKDjDYgj{$xucE!(NVRm?<{I4+0)*7%F;ZK{NNpS=HExX5 zsWDP_#z^fLBQ;@+%^p&d#hiL7M(Us#scmAUUWt*qBSvb97^xRxqz;IYnjS{#a2Tnf zVWjqjk(w4pYE&4hL1CnxgppbiMruD8sqJ8-K7)}O3r6ZD7^#b3q{e}fS_MXG4k%JS z{Wt=uR(A!&sZQ#rk>dDmVl9OFFXSS93dhdl_+7*de1|@Zcq~NvH{oGVe+}8wGeYG? z#~D25JPfVxo1_0-l1Ojv_waolr_xPYdc_^^qd;qPbk?873pyI^#m#rKj$X5rMuD}o z_Bs?}J+!S#nyD@Rfc??mv`2pYkfc8Rh*qLU!`okkQ17p>;~w06Co9alvVqOzwpQqw z3*yK4i8px%nbVUS&){We@T%H#cmr@2Z}HK`JIL-Sy!$c^Z_2aU=mk5ZZ;xkn7g^N~ zly;uN2WoFepx_P^`1RiWd11?0$+=pZv!dtV=X?ympznq7$<2le>1QWr+Nk45!tkrs z`(cduUHGFT1up$tGE(SLr5q`8sSJ+1Qjm&2`XJ|BdBsQ zKv3;skf6rJ5J9bry##eG_7l{*xR#*7#UX-57uORsxiAS9yNDAsyBH^EadDVniHk{s zu#2ha6Vq1Um-tmKP`*bgdi3Ypb03AN{7%3BG(LP1er9(Ss0yY5rgs;rN~R&EZjq{D zTEg^XKvgqUOz#n@hUr44_o^aQ%e<2LDHTw4%xjpRRzgwI)6(_K�hkWZuO5tO}_n z<}J+6sbaO5c`Nh#lvK^k+n9e$m8cfxoy_l7rD_TDF6IxYG8JaNiuuQtQmxF_Fh8#r zsHM!;GyjAtSId}hVE#$9P_;3?lKH39BGt}(GxJZY3e~~9pZRB0rRrq9jrnI)m0Hex zfcfWCwOYY^koo6Tjp|}P#QcJ)RT1WUnLnuN)Jo?2nSVjmt5wXeW&V(AP-~bUV*W+d zsMa#Sp81zllUm2zWd3EfSgmIsXZ{t{tgc`_&it#YMRhYj%=~L=iQ2$?lKIzFSoJWU zI)iVVL|PZFT(P_jOX<6$8(V?~`dm)GCiFnzYAnDA{f3ahLQG>36|M^E>ML;qRa8}~ zaRD_{Tx;LZ!sc{0!jI(Gn zE}-3b7#+qV=rk^3xi5$nz8ZA-+7a<}W2J8ZAu1BNQu%9IMVHLq;J3V21HYph^jG{H S|H8jXq96YM;J^4EY90qu&n|fY literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/enums/WeatherEffNoticeType.class b/bin/classes/net/swordie/ms/enums/WeatherEffNoticeType.class new file mode 100755 index 0000000000000000000000000000000000000000..76a1435741ad84addf15b7cefd910decd58f25a6 GIT binary patch literal 13684 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 S#Z3&aKy2mP-#FHS_x}rfeGWJP literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/handlers/CashShopHandler$1.class b/bin/classes/net/swordie/ms/handlers/CashShopHandler$1.class new file mode 100755 index 0000000000000000000000000000000000000000..af626ee0d06ca32efdde8989259221ffdc11b83b GIT binary patch literal 1217 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

^Lp7p;! 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 BS+oEE literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/jobs/adventurer/Beginner.class b/bin/classes/net/swordie/ms/client/jobs/adventurer/Beginner.class new file mode 100755 index 0000000000000000000000000000000000000000..7aa3c54281c9ed418bf88c189a427831dac4b097 GIT binary patch literal 5880 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 YCHgn#s_-8?&u5scyZ9~dg*B1?0lJ)ET>t<8 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/jobs/adventurer/Kinesis.class b/bin/classes/net/swordie/ms/client/jobs/adventurer/Kinesis.class new file mode 100755 index 0000000000000000000000000000000000000000..8cb718263ac400fd77c5b5e36c86d35237dd07b7 GIT binary patch literal 18416 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 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/jobs/adventurer/PinkBean.class b/bin/classes/net/swordie/ms/client/jobs/adventurer/PinkBean.class new file mode 100755 index 0000000000000000000000000000000000000000..1f18a407cd516bb349edecaa8fe987fafc03126b GIT binary patch literal 12395 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 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/jobs/adventurer/archer/BowMaster$QCType.class b/bin/classes/net/swordie/ms/client/jobs/adventurer/archer/BowMaster$QCType.class new file mode 100755 index 0000000000000000000000000000000000000000..7d232d96fce8ed936092d05f3fb18e42c157c3cf GIT binary patch literal 1587 zcmbtU-BQzF5ItYow50~96{#R7B5GTNhzkCcpVETbnL=d>%rIVs5=%O5!Xzn-kKucG zp+$w!(c#*Ma@2p56rkzXBNn0XdT|6qW=Q@*Pp8 zm@}lHi#Y?Y3%O!pl}(ovC|;PA#h1A(TY41qA|enR+g!|VEEfgRZ#s+}Mif_qh$!g8 zRVt}ewM<>0FP_L(w0%vjYGzq2Y*+M>n+hX_Ye5Vs7{qnT=FDN)tk)>5eXUy83vUIc z<8A0{RdbwFo1y61hFMOvM_>Yve^|i{+@wCt8m8gS3-q^BwUD{QCb#33f>GQS@KIa= zkqJQ#lld-F+!Kghgd}JPT_Gs!Ij-P7Cb*wo=8ixnp6Ilrl>1*cf7aTeX7=U{Q(vvu zwsm`5+pdzOctL834sTK*nzu??byKqqj?xO{H?=RMJLC@)K^L`ztP=Ao`Isfd}*s@R?L5|3PpZ_J2%#j0i_X@)-Rm z5bQ6V^M6PdrRjx7gy3@;ZhA9A4nFuvb|=S&jxdxQe*Xm{pFAfH+C#^XOavqginIqN z>nA7yFzpq@U!#~Izb78*DTR85=dA=)lANHN{EU$gp2Jx!jz`zbO>WXf!n{tWV9pGP z1%5zm`5N#QxBLwRi(7Jou9-_c-b}2K<{ak9Pr?Gyo?JwhB>xcv7O|8b_yd7# BW#<3@ literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/jobs/adventurer/archer/BowMaster$QuiverCartridge.class b/bin/classes/net/swordie/ms/client/jobs/adventurer/archer/BowMaster$QuiverCartridge.class new file mode 100755 index 0000000000000000000000000000000000000000..a88003b5ac74917d2a796671a5cfae7885e6491f GIT binary patch literal 3702 zcmb_e>vt1X5dYoVwA;oDgsKGvYS92`Vp)8n73>2G(U!DOtN3J_Y}+l#Zr$Cs;0s?U zicbX8ihj`J@u+x?U>orL!EgRi9%pvbHf?|^dUCRN@9f-}-~49o-23NWKm7(^8$Q(_ z1@5#>U-u>*H)ol8!PB#O%d~xc)EV@2BR4_skvV;h8hJ8 zwE|sNW+mP?ZcUhOr{Vgpl^Zq%YWxw)i*FIw+I?jvTce2LDh*0u8I}vgMvVzW&l~oz zo*5i9vp)H_*Rm~tyFgWCL3~W_GjU28E5RSTp8Wo@29CLZO+ps(adZraM_F zrEqg#tzZmWS(a>8&{-1kDRvgzqHrs2BcRz4S775MILM9|u92l8(mUymLcIfbYPd^b zEAAGEUpxZ~7YVGQ*!#`GnByAmp}oFAMA*i#Np5!}nwNC!9kB9wPxr}yelaVpb!f%C z8n!8H$9)1FOMxmk$WaCHEwC)GygfHz*jY0dRy`s8S2! z0C0{#ZN%`HQGuO_{{vz3qs-<`guD z^W6#=^a`wadU2cBbqQQcwXMYshuDi?kHTKwPK{Jj;a&=MQrZrYcDYW0VMXx}1~fdZ z@Cfz^Y+6jTW82hTEXUTzjO+pGs`n2K1^s44P#ir@&YYEOPNdW6$|}8t1p@gP9@p@M z!jpJPAho3Dhdk5m4M5PIHcK#iE0cLChnItv8TUie!NxTd29c#UG3i=9^}odBoXjt6 z9^hSXDhy#*pq7a5vdlcSsCeb(rL!rY(}(!G9%u!QErn4WAjh;eO$)E3h4ZaGZTluQ z1JW$O*5D|N;c0=D6&mE+vbnpC6L>lg(ouNuHHnr7jP8M;VRx4FDksm zym5m19pA{;(U(^gUgfT@*`YSeUQ>8Ikh$}+Hx%9sWCuf;fKgc-|LnHWTES|#ZXQ23 z$JXWnI*U4KpAie)mTiWcx!)Mflcc`e$r||q!?k!`5=QvCLE1Sp>zW0+?6eo0ahp2d zGHQU?13kuANwJO?m<{8W${M{qpREGI5zv>6VnG&YmBzdW_loFVXWY%2T^5J3eC`^y znG2fov)lCiU5-bt|l9jj>9?_8yjp2t^BN^S2+9)7VnP?dNb$5p7erdT!oD^N$fZOM;ef*dRWj zKd<4)*3f?k{R_!`(^wbDaZvO!h0!F9RSSYGBK;NiuwtAQAjqmCYorZ9p}_{Ss^CR|NNKY?R+3CBF+GG=zrda@fLmNixo0 zY7ki)i9~2d7Xx}Slv5;S*ZY~GmYT81ey$zLXni*eA~||iO{0e=Mf6=j{{=i+B=sQa z{FQP)QbhhT`fd@E^OaanI|TA9lspGr{(z_CbQyX3OUMPc$P&gjikmSukhgU!H^oM1 zjK^{#3?jLod67XHgGl80GHVTU){ax{g%RgSo5^qb8PDxIj~BXA$s!KV;N?_(_Y97t z$Y{$9j;6k!vm5gLGiv28h{<2kAb&%n{Jo6trjnmptfrlNk~|4wb{4-L%zhzJNtAcBaR2$B_o*~r4;(lBHu5J+a?%!Ea)T9=A- zX|;91jf$<&YFj}VP+VIJb!oL#Yik#mx>aj!wOV)H|2y~2l9@#Cz5X6QlDX&HvwZt@ z&gAhg?t74k=Gk0sQe<`!nT`qgBckYK_`Tf4CV1GdOa-EAtFpXI2UGFXJ@dj3x)&~Qt z9p?dO`6rv_8#IzeG3E7Or6v8{>;0ihZz$wl?Pub}ZW>KvTy&U09vaIuB^A72ARO@q zBH_}-!BthU22)mdI0-iUwASgT$X??ODx?Waw$3#GdFr9j$W0UJ2p3H<=t!E(G&vOn zlQV+}%QR-SKhoy!?F)vyp-rt3Z=}H+08ZGpdfN1ZZX90M-P02;jbMS&p;jpupr#sh z6is8wz*e>0{vIEIOJ5r@)Z;7dlJ}*06y_FDv5QI!nn5#}CZ-^iHUYfB4)xt#{>n{F ztJeBEBX!kGh12TN@aVyqQW;q8qNAC{rL3%9_Xby$HUwAM#ytOdiC}SzL38L>V6ny< zZWXkd>{uH7I*yKa(Fq2XQ8`m(%378}B*>mjGLda9<%4L)lwGqi67uR@s@ht?im$|o zp;rYt=h1u@on+7gs$g31RRA3XUtB^)g4|7gk;+W~vLfKKsIvaxI(={&l&3RoI7$M7 z?qHx?7&XI1;CQaq;{Hf?Pic!c;0yM;sfudFU@e47O`E<{+I0pkrjwam0sqEGT_9p| zvo4bwsL@4D1~tj^2#4~JrRpevZzwGJ(j$aaI4(lVxeu%XevAr95a{!JRsIyaD6VbCcu$caI9 zflirsnn9=2*U;4+uJ?BVbI{}zH?1VEi&h!bDZ>v-flO1g9VCU3#7b5Dp%83)TX(PD zMKFNlhZ^1-40j7_+~lKLH?`0j;XyZ3(X_hQzf@A`ePR<~_Fc4&>FAWzha*#*0)l0) zK>-RfIRtT-oC27fgn0+Y{jhRSiZdwWqOd^`K|3#P1QfnI5LxQ&>G!*-l-3)xK?Y`F zRm;Zs+_aW932J9D`KQ&TqBIou>(WLIhf_N1K^4L8Y=gc|=P>1ThWy@$KaM-ov4^aH z@kx43Mdumx4LTnZwFY|A2}CvSNA4(@_fs0x-sqgwnb|v$u1dKVso< zp+OhXH%-rA?J{c!b3Ghw^c1jgGhO1MZy9u{aHixCg~i&>4Myt6I`Hvwy23@@Ht0Ka zWxBuV33`40P`Ff&uJ%T}ur%?>P|32+(xBa zH{#clC7E;w{m4ak8gv)^c-XM9Gv1v!p0*UNN(qvwnUq&`tER~ zJd1uxce`l2K|AQ4SR@&LEmj19rZ*A@LS@+m`24`)#0mYo8V<0{EA)%Ax{F&OnQJGHs}$FxE-K?=twF3 z+@MG47pC+N3Jjop>4K0PObr@cE|JrIgMKMtQ}&>UT73B&H)Q1rgPx>cVXIX=!Jw}q z6bf#r>FRbm)aCiEj9b98UpR}`GHC=oOngAWI;mh z7YzC%{R!0W^{(#j97OHqY3L;rsr*o}O0jsF70=OM40=(Fo(o2=ZBw5=lU}A*T=Z9i zUZvL#-TiBlNeTn^>e>3PUdK)fvXtJkqZ7_bO zW7Dw%OivmG(@bR8G(HI^>ZT)xdy3u>IsJ!d*Fh1{GKSzv66WLRp9cL)v};7nK$@1; zP0!K$2K}2pV9Er|O@F~OD_whsgV74QC8zk0K_Ah_2(bG4BeK0tXoL+G;{Tm|;GmdW z#Ipbs9iK;^8uXcHO^3+H^U1!(@3rzm(Enu~VQ`L~+mF10^9;_H zq#~oTp`)UurD>T=9c6F0=ZjUD!e59zaJ=}dJ zg5(UI0uRqqna)YudN^^43|l}*1#h?&wB{u|7xG6)Kn71Uc)CcysP2Ge?rMXb{b9ea zwm-B<1{51yA_GttvIaB+LlJLJWlwN}xS?Ymx&lNaH@kTj&vx-K2G3#0iJ4_;XWP07 zwIw8id7X*0r~ws%Zjc|j6^cU{e4N3@^9cy4Ob0T^-NnQ3uk6*55H|5GH~2(BXM7x; zy7YRNz%$?AlVsqCzEBXRzBd@EL>{qDxP6t#Wu?JYq7Fy}%yLIlpeh*b@gX0uC}Mk4 z#w|2>5!Zo!A-}J`)30rp43yLmLBq7V#bS!C=93Ms*Mbu;HB|Z<4Q|qXp;+I`yu{!Z zQ5ky#3&@~0gWL5W%S?%0Ei-tz9t7a~L={dk_*5&Utqg|4nS45b&BYxCuVjSjho@NY zWY=Z-3wvv%KfrWEsAo7We7P!C+dStt!c8KwpQw9 z!-;m>qzUS)4PK*7ibis+!RrJ=hc0Id+Pww`q$j)DzpB5hYY_}mcVM+}s?Xpv7~!W> z0#Jq2qS=bNB}WYIm!f56ceojeAL<$?^700QH!=zdhM5bRlE$yPRHRb% zb^20>UgQjTEk4`euZ!0j883|{R1#L5&o%fw{)QP0o9tUS98hTvS{s_Uml_<8N)cop zUjWC*7c%w#ch)>qdRR;r2)=3X#o|r!5uXLu`vt{tD7nUB9hG8QIuo^yK3(Z3 zjpZvD+GDndVK_>4{VT01J>1-KH{Z?MUA)8Kdw3^P@j>^*E+I3{fx7#xgsC|V;bAxY zGSHg(tq==Fc0&jWu2cfj1U^BL#8fydzK{31_xr< z=tH}b3e8tPvSL5%y&=MFT7ilRruuX~40Zlfj!YqyVQGtl(WU&n!N1o*9`;!-9WNOC z$5_V-f%ne_|3y?T3n~{=GwFZH;FramNq=>}iNEweFTY-pUkGI1;MWa)gWog*;d;2x z7M*p@;@cU^;=LB zrcpC7L*lL?e$U|d`QMUh^m#V~2D4^L+U#@^PhXl(#2*^`AN~lQIV91@um#tHW&4AS zVoQG@;9b?@FSo)ra%A#n{JD$2F!+EX9FQdnO;92$ge{f$tsRH7AVX_SRa0YiE8?gm z6FkJwa<@{-=2CV;ITX%@Q%@kxKmrxi8aWq^pCV;IiF6OsX_k@KQFR>f#Ru8easiqp zNno|&$l2H5BcZ+=LZjT2p)w4WsoYTUFe-7qy22rd!oW`*dXv;eBoXpTkh~eLSdB1L zj>?4{fKt?U2fRHMk#*W0plFdUxWmPFdIp49seD6?RHL8+CaJ8Yo=B6Qw3T$)pQ^}d zqrzr=VfbWgh+~O_^^Vu>4|ShJF$DgoPAc4@E6=IX2nN&`Chu@~9aO##3W27FxtqsO zVKr7{;`fGw z0a$J|#ZXfdmbxTh>trxv@^ z$%d+zglqDU#v?^*uvK@sIvDWF%9LoJnnHs9NWa(OHf)%qc?mm6w@It6NN>Wzd6>;3xV{J)eLKyH;f%}}Q+;GAjh zvPg_$csLmzE*<*c=#y3?Y!}xdrB)isE40csVbP&!J5u3!s?$(Dc{5UKUM+t3Fp+RG zl0opQx(u~itwF$`tpW1J&Tgq$l?-)ml>l~7Fbi8XPpvi7I@u@J%u*_Pdd!S7ETrl+ zR6t%DCX=;|MTkG5wW+<{tbKJ2mC5`)oh zYHh1&k*>wqwzjUZ0&BIkRaBj9E|zO$F;x{UZ7p@x3u{o5OzpyiCM@V`Uer|6ShpOD zZ9E<8*Vb1w)O57Aw=ArYu2TVdZBtcyYfUwBqLvkqtcIqRHtbhfuOSi8O(>h|0fL5V zqaU3$ODkIIni@@Du~cLOR$tWAbaLyWrnZjC23Z}ccV0_P)yefWt*sr4+8fc|v`k*$ zd~QVRqKcO0j+zxUtyb^WwTL1I_jWYbw6xZ>wqec0Vs%dFz?O29=P0DON0~%h_Tvydm zQN6ULv8}zOCN}&gpovZa7c5C*eO5&a7}TMW7O85&xW=}YiZ<{{?T zt_ipGMliLtt*NDFNV?VwH(V0DKV>4W=FQ6rF?^_vrmi|%fTQhY96xO}u^P-^=eh=OpG9t~f?chB zsA(SI&eFC>n80}a0|%>ZC)3Qd;i*ZM6>@1$1;kYt*I$l1)L9x2J=Ma&7Vd%Wso*Ts z5Ds+_tFR=~Ah{}dj7#lHzu1JhIrWYP99^$>qox|f($*Wn@1oRQlNmcmB(yAef$dl0 zT0`>jGuCi>lMdmBQ;jqU)r3o`jf2N>GK07VVwGpQOifoaQqa|<)S^l%Cv`}P;uT;* z)Cg}3P(cw!*r9@R@Bj&Qdi7Zd4C^wlDZ)#H zCA+X9ecXddh5AdCRWBOL5`9^SL!8tqG`E2qCSOyEWL4Qethl*zghY%FaxQfx&`Ce>l?M7c(Dr zsed!g8(O3eX2>TmsggVeKDII#jD%4!>TB>v)&zaw9H;t^TYaQHcBxMc^{M&{T-EWn z&X>Cb>x1iXt<~GR%IC!lZx?K9FoY6*R&R3a$>b#4nq+QZI*;(=`e1Nfe_y$o5t}Dm zI5-ZhPVN~rQQ-aGy)?J{^0~<+UTfPbZ%xnk+NBf+lwv0bF(N^c7 z{f(sd`DkB|)V>hyi;~*kMEl~T_GYv%Nos!!?Msu|m!W-mQu_+Dzn#?n4%$~HwXZ_^ zyNNd4hW7UoZ61&I)rq#c2JLH;+Sj4IC8>Qq+BYP%aYJ9-m}v6?v~NnZ)y-&cO=^E1 z?OPIUegf@nN$sa_9XdXmh5zL;VOX8HcYKV0Bh^$}W2S6VMhpc8uFY1$W`WToT*k`D;nbIO5AV)LrVw zdYPZF2tL5%pHemyg6N^5oir{=hc}p?Q}8_fVJdBuX8x=w&E7(Xm+YXq@_gcc%F)l2 zc-}{@8T-k;eJ@q5*iAL|C@so8a^+lmQafYiT*nToFLUmtmKEmuZ60TomKWFy9A^8} zEtHwZBL>Kkdx~ujb=Ylt$%pm2cGK!ImyFpy*Ma{%)Pd{9J_^!C>Z2PeL=RF}6RX7}L!4L-(Idir z^zK$aRd<8dW9W9ZUF`s0n<=R7!CO04Td8*9$$>RbRlC4PCssXDMb&O{sXc(IksO~B zF8IxJQK=0VSr(GZh0{T^gYnrwPQZ%)jDH8PW7>OH;yq-5aP`+>UIQQyiCj@sJbuP* zI=2`MEVCDnkJ1HY4%=KOm$__nGdzxcG|uCQ(#3n|vND%ET_wHfmA>k!U!XcC=EC3GGg1Mte|LfqWHi0bK^ z)J_*ez%S7xKGOs?PU01oSOWodFW!kbuTb}?y&!Qm)oZfbu~Ut@Up)X4kD*FN$qytR zODCxZ)kA=$kWN$&qb~zHj#iJTpW#bD^^~oCjwd&Ex2s3-l%-h#6*>Um@b#n&7vYYO z`i17gW-#Fm(HbZ;Pc=!a>aZV3%ZEYsu8Y!*Wp+Gl6G8Xb^KaAokZnF)FhFiR4QQgr z$?PoINw?oiIC=!dUH8&XrY*Erp6+FOm>ww0@IY0jcrtdgWqLCAlXKv}GoH*S z{jAJgyo2`TKc-b|T9L~}-KtT#u1A(6vyO zn{k)X+&rEJb|M4*3}+OkRq%+fpXNZH7eL6hBBT+SwtLWYDASr#YWnx;VP+RPL@FH zoEUU*$qvpI+0ek9WdXN?bIV}W6BZouyF52L*APIXJhC{-WA^Z2SLD$(sRmpd`4j_g zhZOb8R7;yONAmaqa*pIek0aHlPk^EmZc&e*`+@ZX5aF z8*Im$W3>$yYF!+s!^K)egbo*Liip9v*krw?NHf_Ez^*y9fdDt(5cBMUD@V`73~I-J z>46ndLkxo5P9DS`18P=Jsi!U8w}1n}d#9M`M&YUHvQdb|^FDBPf1HmP6^GgxHsCuB0F{%9D$td=!3)WaW`OV=K*=Ayx_j!eoy+ye&)>>$qV!%WAqbOY@uv<8pYL7u8sMmgma4Z z7_ob`>1gkkvMAc;ct%(zyiJ}g6P_cZm+H}4Q;r3Zrg(A^7CqOKyYIk$Pi~Y~Y!Sd@z?NBPr-COO^4BMXdJGI&!lINf;>xeamRZB{SIN_ z^9U9HK&|uweGS+9SHUWG(O=*(U!?QsC3wr1;X_}6-+T>Uk$Ii&roX`jyoGONyp7e~ z#f*RA7XH8J9eR&Gr1!Z5m&Rw)hkOG4hZoUD+>NW>o9GiS$6HGF7*ks|Y0wTZ{6v$;@R$`jO8e7L%WC#vmygxbTC)P6ovy~&f+$2>)S!BcI_ z(`*?$-Ik9OX*?I(4(AfvB%W!j;!;~1A8lK~vuvmFF}6;gV_V0^+5&vMZ6lvxJBQ1~ zSn^~l1Wre2!=4L_+}ii&0pCjP`*V~t_7-Q!vA3_q-*(U#b1n|TGR(QEk)~O5KSn4o zA%CtdgGO0z-=sO_TU%Rft_|si`PNnyn=6JmX2Naf$~U{j0i(~1IUKe#wOO}OmMvmM zx&^kiR?KmjZM8P_P8w(PS&{Bc+Y!w%L4Lat{qIc9) zI_5R#Lv@LI2GMV}c5ZvA@BkG{=!^e1x#$kKt3>=uw17XSBbYy>lM9YGfY@oo&;uo9 zxjO!zaB+XC4t@|0N$~SA8t*(;WK|0jN~)n-s+1bGKb%j6sG~7SLqN+yTF)(aMRcL#{)Qx-04 z=b&7X%awE(E@u~VHBIFjT*a!T*}M=JM;FmzuEU+I#dJC@Tl=|zy11Eoc?tF7QuVpq zN*8jQ4h0sOh+1-#MQ3XHz}J4M*9u??X^k1c&{XQM2i#w)dJf^B8M_`q zw$CUR0qX&zNQhP-2NJu2q4U5{NGB>|axLAYGa?eRf?=iIhu7<9&8!6+Wj%|Z9*0;q zUKh~MW?jI(9fMrC?roG?v;t4|m8gM$vSuwL%A4bs64o#av|EO}csXu3uK>MH0j*A@ z1Zu8UXhoyxXw709 zDwb0;i|xP!-%T(vK_Mqc_M|sVOr|tg1()0$vjQ{UYC}>Np#TG^y;9c%3Y@vlZFE;j zG4j(r{5_eNpoXwc+3Do!6@Ibhqt2GgajhW+hjw@fX@;=JkVN%_|YnwnFXFQ zqyfYckh&lGwVsaR4IuGGnhXC{&u3BxpGBA8X8LwMho0th=?{4KB7cKk=kqn`yFj*j zx?J0J7hOWl>USvCWYBh4?&sC-k;j%I!~BD2jgU8H!|^1RTM9xisu$EB5wsshPpLm) zoQ;m6ht;3)WJe8TuTDW6B8T`6QpN!+XX+XZZjmndK+_JOCS_XUL@%tTl!EH?Og|#~%J^ly~VKnqq!PjWB)Ky-|Kp-pd;p{71y#=h@y|6Xiz}wrDCOfcPTV zp>NVS-V7DK1b^1#TXYOxhScwJitrV5DSunblBC?g!;+Dy)MeS{nW(@@%B@fjTVdK~ zZI__JD8?wpcb!aH@PnX*II~v;u93VSInecS^wHAjUo{VJV)kjUQ$v+cJkl?5zh3o67jBkXwyop-)W?IEt;U~9I z58n#<|A5ZoAJRp98+{9&dK=%4uUFqef8{$hPfVZrs>KrzJz?==0`1eBP^eBlWSQ2P z6t#Tjar9#yKRHk!{85t6oIth_2WV-`T|x`qh`Y;AQTtSK7tZ44z2K$P(m&7?f^#u> z`h?DFUqNx_$&ri(O6Jd*Bc?Ri<`-scqkF7o+!E?)BgEmU_zD*wrnzztKV9bVIHWX= z;DdjcN1v>ehd;msNBK`4M_%TmQGU^~{CV_CaRok~RC#rA9;F%SIoUTCRbah}Bg(H7 zI9G!C{MQ24%Gf&6eihq8=A!&sl>ZjxcS@x5Ul-b7lpBkR?&A-LM)Aix_|rX#cPUqb zxs~u@#6N+7zMCfTb{M@KG>h+{D&C2JXBTbYD1w~b_}dM8=vKa$9^(7xIo?Zu#JHFF z0s1#Tq!}p{`6{|j8)`e9PUonrQ_Ahc)}kaqFvf#+wixD9=FUh z7!mic?<55W`DFWoN;DUX_!HXs392SaE(lxZ=~AezRAlC`$v~B*88|}oLK+uX{YG*> z8qn3dG0${UW5s>&&!Fr-M>zN>%*j5us{IIS9@E&F;maHgLPfJpG1X=wlMn=tMRYa> zAiaVt(me9H6P`wbm(rrB%C0ZQdd1165f*K!uISne?7AM2A+PVU$>ER*(b$TNsPBm8-v&1mC_v-o+U2Q~$jF7_P@Hls?ykY=*L79tD3P+@nSqNd1 zAY$0_h(cZ6ITqN!Q!ZJ8&q}$BhtG3S&Dn_0cjO8gFdQXc+rZ~__$C$wQXBonb|l zsDKnopt(aGjVgugcCsf^7pAZ#?6lsgITnIq*fADR*h#T^+b|}gM}Pdm}4OAt6f!jl}2*!7bf&%p?x?=|&0Y}_d2)0WExE8*1^BZG>;OYIqPGV{+b==69!VRY`OoKNZWsh`pXpVDII)FWX*aHHI`BM8w^ zcZZ&rh$%)Kqz|j{a6#jYeKZP%N=g4w^p*oo$GBxh<94gIg!R*>2x=xuHKiy#98Cpk z7EQoS{>f?%O;yKfy2vTQ1dNd2%}$fy7X))Lx+O7MA=#LSK1l>7TeQlfahe7;Z3D9i zl@t_3kW`Bq#Eo|g{P~t+af<2DXRApE0ID3{wm31#H6$GXs5ht_8?xMMx7KO{cwh+X z>cu59cB@mx{U)zgh2!UHy_y-LX2ikIh}EKirZ7`nU50v7{SDrQ6>h6rI~*fB;+>;t zx9Uh;ei7MKi(XzRfkD>ttlk0zO?R~m3(E1M)ME~BC^m!JEwliB$_!WMmPj98R1#II zWBFxavOtoX{rMRlGj3%n(V8{xZ1$r-1r{ethbPeD{ z6Note4VI`oFiMMh!g1AuX#gHq;w==Gf;xg84l~4RX-j3ZEY)t+lK@8F8hJ4 zGk4Uy0m_54XN!>EObFHIjdOmVGRHgCAj=+~kam+izl2acMuvJE+W7>?^CZ0WuW>f^ z6djLZA_}NTAob>P^30rQX4l!p{lnAMo%t9Kg?1@8Zd>G07$S7YOdO5^v6S zFTm-R`X^RY>R;+Td^$1rIrY9mpeQS<4-tiYuD-yJB&1`p-gA@z0b%t%K6!!1rfhbb HlRWGTndzUDA}aEGZ;Vnyt;yY$Rz*ix8&Cv>BSr#FRmK{_Iq9Q1YD7YXB0xG{Kidgc$=YC(3$xPZtA9;8>-?_`V z=brVw_vVRr?|l%!>GBUhEM)oMv5^h0;KXP+S)RBs7VnOP%li`LUA>WTG+BN@Y*V5< z)V+=01MzUYJQVNh;ZL>s5qM9FL?g)+f<+4(CuY#q6N-nrlAKe^uc}4s{K!GB4}KeY zum#7ZPm4tp$xt+zC_gi{sdj`A_#=s?P<(5mFBBDc7Pc?is2eD-F$IN!;+{~nyEnWh zyuB`VVYGc~q_L5*yckn`m}a8{(*?(-3+^av z{C)*9wuF-%;lBP@JQUyFo(v_MLebEca9mKga8bs>={yp;lSFxv49X|sQsqZ6j<6BH zOhFEpa<{&0VQ|vS%@i`4jX6HdwQ(el5|kZocdlgadj656gWZCxg^PlI%)>E09Bbn^ z%oiM$#;!LO>JG;fatIjxjXK#vKsFBlbqXn%_d#R^mGfl*#*xOycS^LY)sH$AFq1}fL z8*8ynuyo>$XPC!$yXFAuFB$0z3r?791{j@6&psO)eAsB?9K7eCO3zr^=*DnyJVTSk zx=`-`g{YXcg2$u?E}}n`;yfFj>Y%=;6DQghva!ju#mCyZZG=r*(rHuo+G3*z5h_2z z>JUoC7$4KA{4q}py6tqvtzgvl*@%KpU7R_D67+-;&EbovTBe_kI^(@I;z&@{QPVta zgm-T!x~05j(*?}%RXz*|PMxIrj0&4l14sSfLK_#U6L|XLv3@@;#w9+y&&K=l0l^Vz zoK1YKWsnK-5(8ab;c#~=XK^w!-Nsxb@gW<)jrMX3BYkt2D)^{iR+^xunTpePi z$PAd&+2cktaIV28eYn=fb@-Iv$U`ja#7TC0Kb0gnIz3QQ*U+JiiygS$#%I(+ypcpr zERpcz2HfbwO*TG<&olcTVzqH%3TB47yOpcst%>SrcTJont1FbCgSBVGONKD%(jL0H zFj1)|-E8BF>Pf!Dz@`qS2UXUWZQP=o^0X%hqB`iSHg45Ha*=iq+W5M5dsoH7;fp!r zHr(#RP8)aNn}V9O4IfO3q{0iWI|itwsUn}HGZBloMrqcUqvYPF+9qqK4Nmqhx8TR@w6j3#KK;<|M9dZ}; z+SrGC1i6l2L=u95|A{!0hIc8_+-Ku{Jm5reTevSo>>k~so+fDcp9mFPbfzMuhip8I zM>NNUlfh^cA#6nR@WPFX{&(R!Hol8T1tt9hghj5`X|%cZ=zn9c$-1elA4jyuY&?$d zvBbo~eX(s}6)I7)-Ss0)(q;qSxA6l-6h(UgOUk_{NtaRzehA;+;@urQx;qP3WG3d;jo1xp3DGF@b@DCgRG=g31$G`B7 z5C67t0Pl_LdhN#BEq1~URYPRsE&G|Aw^UV#jUXm!|{%ID4N(Dj;{_4YzeCZ zizt$KY{^zwtstx^bWuaAr{-}$dva{aRR{F+ghRdBkY|gXGPJ2x8w+fiqNBVzs;QNH zpAmv_DYj**OmhN!RU{hftxj%rop)(wnLbz+G&86=OQzd0Lylk|JHF|%`hJG`GB_E3 zNw-VJsKnt;x4}sr%_qCg7zAFM2rCLUb+=Sz+A>Qqmp5t>5HYOGv1P8otI@V_C=p}j zEtR8eIod!op6BCzYU*QbIaW=b8;tVSq&g9A)7JU6EYQ}RngO2O>$kHix5*+~O4Xlo zBRZ5JVuqI4vSf^b)7mEGwk*}L#b#`9OEeY_6NmM8_nS#4*m9zAFtch#_sOzf?<&Pik$c zlX_yLw8%6dsC}TXPm5fh2Alb=*)CW$NskF;7TFZ8Rk^ZS8hjG8nK{ZrBik<> zveqZ-Y*{a7Q<5~Lb!A>PasBRaSFAhS8cRg<@_{?e3|@1T7#YD}y-YURa*pssShSgb zvnm!#HpF_nYr;J43hFa9Fn)dpnizMqAg>05Xbv+YJ%J|~ z>ZZ$mOfQ~HkWANY3wqI z+0rlXRhIoB-VD0#d1MC5R6kQVew!q0Nt(E5@24}h_r#K#61UlMp%HA@J(Ul8bG*MBc|@=p;^pEqWzEsbF=+%7;vgqxfhX;59cJmVCgL56Xv_RGd{B zBCLstgYmC5mr&+$5?y{;(~VDJIHyWHA?QYiR*XK4Qxi+GBU= zoldXf%{UQ2(W+o`bz^6BM@Mz-n$ELpTGn&&$c3+q1aq3}J32dB+S^&-o_&KXbXaFi zOG|r4eVewuN)@-atRY!EN=mYZ}R=vtey>$H?Ge4||%bTN~>;*HhSFOPkxXY<>mSWn0+ssU&zLqwT+GK6t+|K zp<7rXm|EW&tnI9>TUX!Qv9_&#l*#EdCWTs6U)y1Z(;TT}XG5?<&xrF_fZAIdgU%pr zS)jWcZRt#PBJEztY*NeIN#!+0qT%L&zD)#Sp-sJPDQ=8)g?iV8;t{3YMo+Rw4=2mh zD})=Bhq=70qUj=u2J`q3Z`o|%z7=6g6Nb8b`C7+n5OJRoc)ysj&;$WURGCcl@c^GO zI6V>%3!yX@I?o};PnMa1dEA+mU@AVCV!B2SZso2BW9Z6c1#ThHyNyg@%LL_9iB{pA+d;1T0-!n?n7r!HS#&V}x|_s-W~>NpDO_O{6@-6INyMUW=Dv=^~}x;c)X= zeM!1S>7hoAPsutZM1>tbd!{OkxNhtop3CNR5AZJ36#as(fw)3Q7R%T`l&M|11as2` za{biJ?hKbu%JuN^x4mQ-2B3F0SIWQM1FRD*0(W1K`^GPmFp0IG4dUypsN!tOra z7ZIz$QpE@_=JJv;UcnRS@)YRP6QMc5=mno%-MB{Q~4GXY*x{u95SEPk3TIB@Gr$dO9`MrB3JT zaVo3e@F6>{5^J)I4aB>`t0J23@<*Onj@Juw9L;mT#RGN#0l5;D5ZOV>l0woSO`$(V z`l=NAYzln?=^In%n@E2y zh5kJ0FQm{nlm21~{Uy?0PN8oh{go8@tE6vDp}$6YFopg)>2IXaw~@X*h2BZ}juiTv zr0*P~aVP1!#%S3^dUp!_Ez)pu@oTy>O74++NpZYh>5!AieXw0#r;^rL*|YY+x04?ZD=x+Fh7>m0qinL}etAII z=*zmpMw;LuOJGCk;@L~~B7gA^iYh&eXAfaUWp-ADS1Ns36*+oag9cK zM83@pPU8j2cjUX&?+j|0@2=G7Oq?N)%6>{S2dBwnY|G(_)8%pb9xtjIkuOj1%g@z4 z@_l~g$q&eTE@YTP`Bx70KHk>&q{D|@KFk&$cmxEM`a^lrwNM)s?O~f&b=sV6?Ji2w zZT3{^j2hk3h_yM>-BUI>>Q1uAkvEDCfA3b#E1})LP5$N0ON`-`l--S!Q*1}F>K^VC zH^b){gon1ws>q$toNP7bEG-*CUFi_c9I@hyi{ z&qxPukd3&Jw<0%5KR(B5_<2^KFR%*S%vAbC=9w=ucibXRL)JyuXT2ZySeN5o>nhx5 zU5ERv8}NX2D;~0T;t^{XzH8lwN3BQjnC1*t_F0s9zWhj@!c8a&LdtryJMJ;~-Er4qr8ADwxxJLl?WNR9-QEG_M#F`Y2IXhuSELzdBvIN#c2GO-^KYlF$ed5BxBCKKDZ#9A#cFem5ZQma~iCBMcL&Cap`Gl!XWa!ht! z>O%!{^jLld_k4i6Wd;wSaN;q-L|!`jKa0a<;Nw6ITelv-X+9)<*fC6xEScf(1OKj1IZ(uZ!upr_{{ZGwP|8>5Ec7-C--cz4HlH*i_SFAm*Vatc z)(R2t+we@GVflwZPT{elERb{q$tk@XKQDfM2rt|O&n_icgPKMfXEYZ-uV}%;XkSo~ zUA7y)(Xn?`jsgZ>?(&?)ra);<_XqrLPCre*+?<{l$h#ZAtF#05gBAH%6$K>)CHc2t zM!+s9C|^Ehdd~DIq2)Q37s%l7D}%!i2fU9VFjAbn0dJOOCU5ccnwh-Qb9P**De2`B z7P|FUPQ$CQtpP8y+m&4^^KQI8guj{*Z;g$J?Zeww8!kHaEYqPSU^j*XUS>8H%O^(D z7d8`u1K%e|`2n5tNv5wK@sIAFqJf?!wD~cXGXbr{GXxqxMK??Nr7Y$<_;!?g^X z&k*K)kudsJynvm2iF*pa!AtyojS1^tcu}(OJ37=$1~&9FL0$@<{6>CDVAaiM3=RA| zwaZ9&^6NzgC7lg#nozVT%^yuDW>KaWO#pf*+4CmsvMJxw@;e5Wmr_1%0?H9g-70d?tO5f92)) z9^N7d%BGI{)MQh|N^w3z&1fVVQk2@n-vujZr?1SRwGAGqBK4M16&{^kV*VYHtez{T ziZ^=IkoZ!Y{iDtKV+JlIA_QKhabH0JUZuHTlD)Ub`34bQS{|gc08?0P^HAXs# z!mi*I=^vOm6$|#crU{_Km_azZ(U`#^kJZKuSw_+MunOMAxvqAJ?)m)Z>fi!u#3HlV z(&%WRkXpDA1)~I&a2NX>*j;QE{yS&9ML+omHU72{%{gSub_KHdXQm2~#Vno!`8Q^A zZPG8}D0ki4UEPMMf8E` zV&Nz{_CoPs2?4d9e^hHl+@9id3)5NM6rX2NkbHT?)nvIVcs3pXkK+Yj;t0<7O-FFg zhnOD=S);a7AP0C95_rrh@dUC1-n~+?m}1YU^hsq-z_%Z{b2M$K@J*G6!oDMUreF@S zuQi8qdwETq#otr;OKWp|gM6h&Z%o-9A_AVv_BZsllfU01%2$W*aU3KSTzbIRrn$?_YK$6xFp#6O*F zI5U%@`=;QPuHee}tx?8iAM8EdNIHmpi)pfbva&Kakh@z}4M}4lcTAKaY2^t<+AF89 z)gPELBpZh0+)oY3Ceoxfrw=BVA-P~kwsJJTqJun45Bua;Lc!zkLz&O)y#T)_9DGd{;a^fJxw2S_rHs$}OJso@FBMWQXUI~% z>@MSz6;;g}7df;bO;Mbq!FAT%E);T7d`Eay#wn-y7IDzsgRP>|DT48Ei9_p-<4Y;(? zM9KA-pO1CcF$P=~m`qp?|BM5e=A_|abYY6AYYHog6?y!ZH=I7En9D|iBR_xz?_g-k z8Smiy`DM&Qd|GtV=q_%=OBIx9z8*nLvzURJm+Z$hq9t?5;=-m`>q}?tm4UGwI+qJU z&Sg11kNL9`C2~HUD1>9Bi%zuJD0hXbfFm@2dRU7sqbe<%Wh2UE(bszrUZ--Vque5% zDYOJQ^(PO6fAgLCPQm%+>589vi6z^$G^Si)36E~FHKo3IM;G+UU-3;YDEhML^3p2| z6|2ZqMWu&%dC6XR{}|f>HMYd*Bni4qavad(!Fx&*ka})j)wBchs{E~Y|}yRLZYvo6EL_uoxv4kaOH#y{!Vt5 Gy!HPMXsTQQ literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/jobs/adventurer/archer/Pathfinder$1.class b/bin/classes/net/swordie/ms/client/jobs/adventurer/archer/Pathfinder$1.class new file mode 100755 index 0000000000000000000000000000000000000000..1019b00833f69df6fdd9e1ac28108d83685d6d98 GIT binary patch literal 1261 zcmbVM?QYXB6g_UsvX;xreDAe?{`&p{z*9WPBZI7koQ+c$V|b#3arL_> z_N8!lwCjaZDC2gcmUg+{qj3_8*yXVoka@{X(3Z*(`&A5#` z3Jk>_4=dal?rk?zJ7Rb|gw_jq%soST^tKE`?MiZYpZ%R#FTlnb3q>0xlo=+vyvN~EY=zFo3f*LTDU3Gk>oE81neLegE2gWmWipb86~kNUdU8%>0k9Pq@;vA zS6&!tsXA-I1d(syF2keat7oKi8!qT9*#TF6DE?G4!<%7QTj?LvVS)Ou)QqnSZB`>q zb!9h{67fpNwH6xFRChLA7nyQ7J(>Vnx-AG{^p@6C#kfjHhb>{ZLocVoN&R3jv zoIO~3n8>~Th6@v!_tbyEwb!4?GlSdI7t>kn1B&b;X4ofG2%DmR#Dp1o(>B{*kx_q# dzA~ty*0&Dk$mTGQ1uXWFdE6&kAWbO)wcnmsXDI*x literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/jobs/adventurer/archer/Pathfinder$EmblemType.class b/bin/classes/net/swordie/ms/client/jobs/adventurer/archer/Pathfinder$EmblemType.class new file mode 100755 index 0000000000000000000000000000000000000000..fbe3eb2255092aefa7674b513ff1b9ec4a4a43a0 GIT binary patch literal 1672 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 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/jobs/adventurer/magician/Bishop$1.class b/bin/classes/net/swordie/ms/client/jobs/adventurer/magician/Bishop$1.class new file mode 100755 index 0000000000000000000000000000000000000000..bfe0f8632f3afb980801b97bff7d226eb12b9199 GIT binary patch literal 924 zcmbV~&rcIU6vw~Q78c4%p$MWPqM)_~*?3T6ibQENloU8XFdF z@u+wGBfO~b;2+>WWG#!~s)B58!4g%yU| zr>c=*WJkowW~h&bT~$g%m4L^wh_OIhnxcaRFuLhPQM^L-o3c9dvGfhBl()WPZxl})W8LJetG%H7uuD_bS-Vy)+ literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/jobs/adventurer/magician/Bishop.class b/bin/classes/net/swordie/ms/client/jobs/adventurer/magician/Bishop.class new file mode 100755 index 0000000000000000000000000000000000000000..4e1773d74b33e4d8b5ef344955cf663e7ac90c2d GIT binary patch literal 24669 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 literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/jobs/adventurer/magician/FirePoison$1.class b/bin/classes/net/swordie/ms/client/jobs/adventurer/magician/FirePoison$1.class new file mode 100755 index 0000000000000000000000000000000000000000..551ae2b00ef62110bba48df2a6684f267a68ee8f GIT binary patch literal 940 zcmbu7-%b-j6o-G)78cfpLJ>qztccowbYo0NOo6CGVoe2Ou_#h?x*gkTwzFn;TVvw2 z@lqef8#P||0KSlS#xtc^Fy84V`<-vj?(Cj3Ge3TP`wn0Owuu8~;eBrR zLh0JKe4oFm$RK1GU6)FRn+)+xwid_I`&TB$VH!AP!NLT?^kACHRm(1`P_%^4VD!1$ z6T2@N<}&4M<*zqNCX$#kFl`})8HSP)p&h*T{H7FkH?SR73KiNNuMyb1*(dM$!neD; zB^}9?y)Aw5z>|TeR<2QHyxC-!&7AnpZlfcdu#`QBBb~G~CJ1W_8jBjsgnCgUuVHIk z*C=SLY8-0R84_DwQ!peeQi+{jw;}vJ-f$_Cs(21}YuuN5JWM9SwhS0HD*w?^iDA4d zTZ-$p8FELB{kb#iC%PT3dufv?dV)=40*)ST1FJ#n@*| z?&ngcBb$wEF0wO`%|~`NvW3VNBRdz_`N)o<^_;0gc$ literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/jobs/adventurer/magician/FirePoison.class b/bin/classes/net/swordie/ms/client/jobs/adventurer/magician/FirePoison.class new file mode 100755 index 0000000000000000000000000000000000000000..22cb58b468c6ff3a36601d0359fab2be91f24057 GIT binary patch literal 22112 zcmb_^34B!5_5V5d&190v3z;kf3_F4tl0ZZ>Xh0-nk!Us(7NcMsk^x30GjV1DVqNN1 zms+=0t=3&D)>;?T2}tYG#ig~iR;$*v+E(pmtxH`B^8cRu-Ym%kiT(fhXx_c|-R0b~ zpL6e!$fqrvA|7=3>P^}a#9Y{f^Z;S726z%_67r0eX**ZP%sdVSDh4D8>{m7 zZbEq=8i-c)`PT<~g8pz-i(O#KSriNhdrLxnE#m{df?Ohs8e zm~w;R_)33hAi!jl&2ADXN=@?8SZo4w9~D`vUv#=@Jo#KS!K8^aiRrMB!P_fp8iUb5 zdn6c(gqg+!W6S*E-cTUgwocFQDC?YkTro&6#iXe;4GTsG(C?VN;cgVGEX+hl$3Qsj zUmFT6bYczpr}Ahf?eC&lCLKU!Op`TY2I9d`RZk?`GZ2jmotFpu0xLj9CRb-eU0Z8? zC(~35%X{kzjF(e|iz-c;LvypKxWU?Ytg1n{r^O%kgG?ZdzqhwBcuJtR!ygamS4?Zl zG6JNrx(|~B! z$jgj0&A}!eLe)$qfm8ZJk={V(hDapdw)UjvU<|19WK1M2z|f&|n2TymS}2UP|8Pc% zgky1kI3BA4Yt$txOlB~a<{^RpaFZ6(5#W`c4I19z^H{PvOw0_LR=uC__)?SVsGg|+ zJl?r67z#B9HU&aVjTo-^4%=9eCH6JBAXf4%9$C}hd z$6+jhO1@&6mJQd?!ERbjYg}}KN!@fJ`tNHK!kEEuZzH&AStQiEG!TkxW@^|Mh+m2v z%(Ve?0Y7W0$3?xOY>Sy@d>JhE7{S^)lh)G)XfR-{ZXhb4$#jC(&e<#T=p@?cqL4{_ z1Y{21U?4mI8`2Wl6sTPr3K*njnMVn08Os7Df4coajq&60Vs4m~q537(<8;|>YHi9`uhA-V$gLkS)U!&6? zSO72mO4xRv!-X?f(-|h6Nne-!_4_x6YkPZ>k~TGKhD>R(2A^%xIdm=%o07^H*eGcm zH9vL+;tTWX8+5*lE->jrx(KkQ)j!^1%dvPg;0H-24jE~+R(0x^3yX>AVw1i_mw^27 zfatp8vmo4;$BgZTb$=xHQN^zyk2= zf+4sSFwwRF+1renmSV^pdabKWx|+TV2csu45XRo%92_O?(X}RhkFH}XwoKX4fi3ls z&0(!VnOgUTfZ>{NI4{8Jh6C1?o5Jm2HxS8kiEc3IM!E?b21S<#`uZbLe{@S{+@Cg{ z_1TKYMtgeIn5g(zRU8vkjWi2bHY_VL z`hjSc%3<=gH^}VuG~WuWO}%dVA>HMoADMJF-IJ|NLJ@y&AR4RE1MB^9zio>2;PAT0 z(kI}h) zsuRJHZ5}Iqo-*l|VsJe%?JT6biBLUl(y!?^(0P_nVbApee;kHpT9!a%Zc>ZLZ|PYV z{m!K4=y|3|!**t~Tb*WE%cHLocd0BJds&=WCviz0y+ALz=p~c>Krb^@k34^tplM#R z42LiiJm{Fk)lA$ZbG~ZQYvME(fX3;5`Sb?;(M4~X^p@arOj^lV&ZHw2JT)NL{If}a zp|^oee}8{yOVfII>4CPe=9Sa4P?ohb4NI(Q7?2A`E9mjPYLVG1We4w?^jG?ugjUeQ z{&)oV9y`R4G}-M?wEv)gy68QV{zdPDf71I+b^+$Vfvtg4EERm5jQGH$59uRVov>~$ zP0p=DKRDh{qzhg2pS=cYBU1~=OA{iGKBdoG^tnm@rCm%1j*{$JLPR+Oxc+FQpXs2{ zA~iJ>!ukd6alzwfX2o>KDA(51)U#L|CoZ!c*jA64CDKqx7{Cs8x;V#V7w1A13t#fu*3=?MgS+x4C$hBz*dK4!Pc`64w=Fu5r7)m&im7%qfM0^phvMl9W8(W|K* zLFfp&T1&fhgdl#(MJ5*uIgH*&T;c4>WlmAC#@8b;oolB|)hS ztBt~hz=~({Z+hmeJ)~a=2@W>-5Qd(0!5z2YoScQ!^azV=hnjqtL^-(_Qy&QVw+QDh zGoWN`KHlQBc0Zyr1dp{$ z%~@+^**IGmv)Ch>GNLion0$gDmruz97Ed(UFDNXmkMyn&ERFPTu`Gk&p~vK2!NY{1 zc!0uK8ih;R z^nA=tU_k;Ktdv$qAT|(!j2~LoG(4S^h2V_I+XmuxEF;@I)#R`7X+X*5C>#Uv!Ls-w z9R;O_YM+A7F!@Yzot-_QfIkWkiqA6nY(7Vf3qp19p*kLUtJQp-$=~4f5dlX7eMmJl zL(f8HU|NK!)^y9C)iV5>CST0ol33SHWK9|ljph_9_=W^D@}(wUCSIAOeQc|xZQ2#G z;-c)e zfaM%ptjN^0x5+JMchufomQfHy9duyMk}fM(ETp@|^ehA5{VIpSbks2e>oB4#B>v@oRB6Z}bxi4~tS`FT+*Uibtp{!_qv;wOS#tSA>fUNHGZ z=}}^N8p+oX+8#Kdx%>x{U*=a}R4flOwFo@?EEe7yc&R~RBgeh?LY{Ep>n6V;ENIrZ zE$?n$(c09xtf9ljZvvDw8`nmo{w>1GZvG=BM4Sq=g- zy4k@XvJ@cD9x#nU(z0oEOp~z#tplkhv;&sz2ImWf_?2hl||* zFzG_K8n1jVHNjL96)fJ8uL9=~@KR@pk|(hI+9O9TPhYZapjI5vDjc<`sivAHp7xM~ zLaf!ZQ4l{HUYeR=s+q#VrI4n^jN?SzONcVdR0jw}%=$=tsXrD#aJdd#Fka0zRk^AF z@ zcaYcfO?9w1Y(+7I+MRH0@!oOQI@X6dE%NXVRg@R10N};(`8NIT(gy zC68%=_^uY=_$ugDb%d#w2%t#HTW)n5^fC^nkeP=ErIwniP9gTsw>&7l38r7|8?o9u z8!hTIGmXTXBiWy{r<=<6k9Hkxqx2r&wI@v!u+?a)BL!O%Ed$dMSRd@|jWmY*eSwtS z5Ue(t>L}?q!Rm)3Nc%uI7~2rQd7kaA2mzZ-)gs+s&%(V305VA^4Bcj`c46o-wc&VB z-~8y@5D10jRfnlMqJLtYcCw_ncXC;P|T5GBv@#XE*bnTGN6UfO|~mPsRwH{AOArscKEoA9Es zT^jSi6xLMTlCH>K+0;?n+}+vSBwqixhUSKrhSue1sjaVV&m34i1G6n%(b3w}dStf- z0fX%&TbeqTLmHQ3bbDLJa=aGMx~vtek-GGz=dEw31Av_k_Dk$6x4jl1bRE|K@Yc)~ zm@!>0VZAb(@dHn_3&2fD(I|HI?xDn;JWsmdl7a8c*%b4c)71 zJ35-$1hLXy2JC0R(ox&giUk`RI#y!W-StvOw=QXHX;|KXah=QBRyB0UbeZ+;M&PcX zwxh1LwV}JVsl}SU3pY{<;NiA)cCTt`ZnoDv5c|(SRCjG7kkew(s0(~slKHZ(qp2NW z3lM!+G>MvSyB$WWp&it(trvh-bl7NIvj*G_d^B{lwsqI8=m2oVLjt<)+U0F6X@a%3 zt*jL%eI}Gg8Xb)*I=ZA4yU6Pdt`Ga=Iufn{4RbdaWq7ekXLs>J$X^|97y-Y{!Em5; zpl@v;x?ETspfpE%{GpZpsAhS)(GlMeg!E=>9V-nn3dzEf1u)$`8(aMS_M``7<(u{f z>{u8LJA;(eo8n4?8kzBd6=AQ0k3Vz^xP4)-h)hvhb4mA+7o3ebR1h%$cY@*jQ@47i z47aR9qfzkvrqrP&_*>s28sR!h_AMhxE9+xD_!hWFm`tE$h4mRJv6Qt(yb_Or`<4y| z?n}Mt5#0;GtifQKJKD*#nFDQAEQo8KqaBs@JhbJ(7Gj}Im?ScfscN*7*dC?~J4pV_ zcd6I1^Cu&q49oS&Vff_XD`n=Ju_vQX(t+h))@ukFF{CKNF|<4n9m9@nk9v|}l67+x zNf24n4@B-w&e9_^o$QlW1l{QaN1=t^KLXcf=c}Ov`ujSuoD&bhKQD#l>W#$f`{0al z4^tMy+dO6aAYgdEzSAUBL{fJ+ruN2xn*2jRcEjI>A0p`ktPJl>MGkgJQr1}KhfXS3 zmvkttmA)E&Qr@V|Y-%0wGwSoy)M#MV5k+bb4)5@drZa^=ChiT39?kCwMv-Ig@b?CR zVsq2-s6QMF=~NG@8-`RFJ;tQ=s53#pZQLJ45NIhn*E)aDF7-y1TX<^8QfB+&vrMi@ z?Mq`tOoAI$1POHu#SDUa*5jBYGoXUPm9R7z_J=I;Y4OK)^u%@)fy*+(@$;pOpyx^-oV2~9OI zxlq<+m6`A&_HoNjR>D4W7Xdfc4R?2EWB_4PV^FxKFzu7h6_W*iYQ@z!c%ZP<80T4v zE0efv=I?I_;Ob;=tT4xz=r$%9lU>FX)0k?&RogF}3krreMK%Vinl)xH!oLprnMf2j zC-eIq@W4)ia~@G9(lR7T5?fpYmVv-{{@T1$TU*vwp> zJ#(Eu6zT*YFZ9r0q0^XwP}P`e;%kIK5AR090n$)r8pTG5$0$KVg)~%}Mv+nIF$&Ru zRKR%SK+_mw;D&+Ogd26yx)2Tx12LB|A1+oFUPnTa%QyrI^vk9~uda85Fd zeCk|!nOL1C*Xz|cP(MGTJ_hv*GU^wieo;pKo2Xx$QU4a|mt@onQNJ`@rzNOgmaePI zQNJQx=NnM}c1C>_>fcG%)s?7Ul~KPM_3viXuR;CVjQaObzb>PGJ?b}P)Ne%nri}W{ zsNa%NzZLb{GV0S&|9(dOcGS0K)DK7fj*R*u)PImszZ3NzX4LOO{YM$~yHURy z_oeH+0rhR^y1F0r2Qum&^6`#zorPWxX4Egh`!_P`ui||oT~~vsZ_lXjKpkNz_~RkX zA3MP{_-G)rE-6NNC*LICIR%+&e1wA@KSu2$a%nz0q`YE~xZ-h|Tah4Ff(ovondK;! zBxoFHR$l%PO(rU(>G*FO&Dc(}AEc`LFoB_dg1^P&z~3MyJ_!qKq=TtX$)`VKt;y9R z>QU4PpyAU3Ed3bDg~WT%QMqWm3ztENSk9xt;{sO|pkzFq3>FKZRFsGTXK zK8}^~v5t+x!%&m?oD;Xxg1b=21a(Ws0?yO|PW6O(QV+w`MSGgh_3J{?p%1HhjN9rJbQm$PUQosDlc&Y`2|Txz59G{of=EGdZF)l=%1fVh+vsbBH8 zu;EE`uzFhk8aY=bmo)8N9F3ZgXu1tvg3j7O=fUZHh`vd=k5GH5#8 zUY6xXv^6oe03Z_+ca>L6nlnh(00-CCI4UM3=;j)yQJupzE~7fv=X{(d`kV>+{&u>v z#wDeDr4W!Rg0h_{Km&N$90reZmqcBXDdPe;g z_$#1h^{o0GHdsmx>N)j17;_vgm5ZT}(+PBh`n`Gq&`bvIUqo9jRvfEdQhxwFo2fv( zjFKCxJJc&E`0h=Fi(TqfmqO`wcHyEG)@HdEYt!s%z+j+l0dTs#rPAU( zOA93EVO$(2Pteaj?pvrtG{O@JdNTbSq+g{GHv!-hu6jG^HZa%sX*RBG&!an_j((t# zGR;~hg_H&Ab@c{7aneERkLpdZ>0=n5OT3Hbxp1?X)m!RMHjo|YC*qMKgl|nVwI$1U zVU8bVFm9$SYmFl#ZNxh!omFqYkt!Q6pn=u--G#|X`Q3FYfj|@^!p43L-my% z^g7cG=F*XN?{Kz%;?J%wktw99EOp3hmpzXNZ4jBm^i z`a9D#6p_-unI5H&YYKg?ZS;vZFG0JvvvCcz0|!U@3LoIS1e=f2jv9~8^91E=-Scyw z2Ygaf;sg1fo!!6S*D_{kb#*9yZ=3DoyPm;Yb zMfNnk)wCp8ygAu48EJ!;jBbP38`8vGE10$Tx7rIDZAftN8Y=dB=b%|vLnl^yeWiM@ zUa$1tJCBFAvcEjRk;kcA9=5KSG6&lepGw-cb1cDI^jkh1Ut2uDUl&n&xVqS=F7cLl zi*KRHz9MhQ-0D(6N{!d&^_C|1+;dBK>z=o^G6My_FX0PrB3}t#Se=7E+SCE`3&CjB zc_X2y`zxWy+G`pwU%uz-1)$<3H_>|R<)WG*O-e}EB@p||x6&~q!L#UpfG5G<*}CUZ z%wDpcufCS@$}1`d`P!86;kW1%sLA_b2p+(jYw`K{#sLX)c_OdGrtr(N0=| z?_!RmpHM5b-U@uSasvGf-yZ&)`so+61)j`H^dx;oPjMdok|)rwcq%>3`{5gs+4Kyr zq-VK{e#fivNk|X>CgN*{RLl1zpYB>UA2V%rt0YLs*(PwTIoG?EWNKn^lvplAE>XmeXc&F|EmAcZX<`jFbZgo;YF%sDl20)8^%g@8Ygm&(Zeod zfOCyAIL|nX^NsV_G%n!+<9Z%rJj{j0Gwd;*=OW`pE-_x`QsZs*8t?NsV;7HiyWu6KTq8=N=rGUpxK$P#Ng5NV^UmP-TvG9g0A+HR{jmFH{K1 z%vEozcW~Y3IfNnNVibV_C+L2~pwA_`p9ffL(ru-{XH@qq0d~*PZ;Mrkz1A$MmFKH> z;ei#ZV|ljvtNI&xjAv-0HNtqER$H?eyJ)fcJNz@R@i3ic&EmL>T-ro=oLdKXFx(jucA&Q2!La z8>RQuzu;Xuop)-F)1Z9kZMJvmbzW`{bM&RcG1T!+VL69{~Rvj!MoubWw!641#lKW zrOMCnb`O5%plDRnYeyKtXD&dZuQCRiqg>fXHx-X&As0`Vr2sL}ZklWDWfzqJ=Fh46 zQ!+oL$$JoojcPJLI(#B{^^feLnE>d3(IQsO*@K{?bTrV*g6cyCYwe+Fqn>~29?l>eVqN=Ca1(iHN6j~#~eA;gi`txV$E623uu3zH_EFI9MGx+OGm!}+Cr zW2EPjMH3~=wNfNwB>3T0D&RJn#mDGi#Y&HqCFK~JZ9FuDl^#KOG7Aiin>W_d{A+}z zk|ue~4y~Il({JSlcvhw5OttE_eDk$bJjW`+(Y`IgTU#sOU;oH_*(RTis!`R7lyA02DgZ%g)KUI^nlb^QwYPZJc^f?}< zeDU*tBT*5&6JO3CKZE$&m7Cz-`COj%1pi(p7f=7Cl+A{QLZrPvX z3%L~u{*#@5;kSq6U#jzrYPZ+zb$atoyoK&9;tgJB$m`xvonJ&(Rh!=Y^SARmUi18o zmsA(%%0I2j7@2ZAzb}kan8`Ca!ZQ_~9B+P+>$hIFr*y-KDb~^3l8Em%@0b%)l@GlI zCl>Juy*5`Nj`I}?A0aHze6*eavx7fZw91$3^H`;G-SC2&hp}Id&jqyjatHZ~8n@4F z&kt_bF{NT@kk~~to3_ABRNLx z9H$Tu&=%f=Yt5VKLOzAA;w^M5e~s?p)8HDO4!7?N+RbP3SpGUs;{l$9Pe_*HymAGf z%O|jvQcEC7b}n6~{tFS$hZVe9?Lx^!BIzQv8>IqdPEJ=}pfrZ=p_4U37s6!B&}{6X z2o1u#y$sC?MoF?Uud>;AIxp77U11LkG(#KM$vkby9oWw-XrGrM7K?eh7LXk5ZM?zI zwl3_j&`>DlQiwh@4D`$6r8HR!jax|;R1}r&k1VL&ADM<+Ehx8;a~F+;pzJ~RD?ceB zw~Nsek#Nx)_|LK+*V%R!B9!%>@lVSX@~jw;Hp=_x3={qajNf>17GMiU=neRleAR60 z(J!Eg^U?NB1p*flra8!Z&q*j%qH+={_ZpfmFG|#y8)=+XD!h>jtdi#@h-2k8Rg_Rj zi*H3I3BDY{VJPcVk%Z>=R_CBUaz&DEfflqw@y$}QL-AbArpU15rlavZU!IP}pY=H; z6_b-p#VoSsFZAX})&MN-LzYHjX_VZec4sHlWJ#X5A%qK(6NBSxw(dDEt!-PW1gvub znEpa&*o*L8(8aVAp5{@AT~_j?v<9Ccoq-tU3i#Mp^S9|*z7iVuDnh(PKjrTt_PGYJ z&b5eRuEQtdH)!p<4(zy{DzvBUrYquDXG||_ODE+GHJaYoQu|ks=NlAt4mcFP?1mvrP*PwNCDpohvbI{ zm3{;rcsC62z4+m(`=BqjQ7u0}9sD4^=orM$3hmHau`;-Rn`C3@XiX@bYf_z&gHXWA z;8v1z%pM#Nz*8Qt>2tq`^!J2uiDLCT_-w)c(jer>vMd zWQY|@sA}x@u=J+JLd6mP7(D(HeCPf!mE!}Yx%^lL9jcP5lMb*{r{*o4bcS=jn%Kxq zvB#}8Rq9IAA_%%=met{q^T+8xi&BRt)Z%MsMzTUTL;4S|fcWBM!b+sNF!(Mb?Fi~D zIlh8&@#C;LPf!&bQe$v61S4 zb~b?k53<-+p2UMZ$z-nsK3dM8s;!tTI?Ba0xjxt9ls8$lS8g%`J;J%jWSx*Eq)5Q# z$Vkg?$sJ{7pm8WNt$GIPry$e38qY;|o`C0dR>qm?K$(WEbPgWNw$f=Styx$(Iiae+ zsz-07b-p~EgUy=^4wfF!Y^rQ4wfgcrNdMLPk}uGpU*MclQpfbgTm7kb{IoB3V30|}kG`S19>mVe-9R^Ed<`aV6u|E6E_he!&2gk;cv zkofro37^mCJ^mcO8nFxa!*}Cz+%Gs^DK1oornWvPVoy>DvL|^^gf>eFf|@#5hk8Is z4uEhDf|48_3A1~QJi`s@OhM8}4v$aV$X8>rAj_3~d#)b?`GSfXIgqMxOcGIYPO{`>f3&mQ(8aT)Vv^6fO&t%(+g)V5 zyCI=Yz!B!;LFG?tEv*vNI2=)pCsX-onwp3sv8i;JnwCNeR!SkDCdni?;uBPenyAr; zG62)T8YyyII#;97sWqHQ@G_@a=CTNTz!wJgPBwy}1i?j?(#2+=Gv*Ac-n2>6!K*re z@>Cgl)NBpZ!PcM@P({fk6lg2FDL@q&CemyM4k~kPpjbX9uos>$C`B)4`Jmd6UQF9h zH3#RJ3-m%mEify59$-(f7K_LPqJFC$rwQ`dp*AuOWyeU_u|xGEe!%qcG_v(w1(;r_ zWpLkO+D{#kvCIr>KN@8S!KZkXT>G)tYs7l8tzyu8yM-+m^7;w2dARTJu%6Q5qv8~b ziVcq(cw$c6E&9rH#`iHNE-=}1cG+-FfW<#ma`OOKoh|_1Zl7GHg)&ED&^ms%;GK|y zcY;w0|IjixPEzBSK;{f@3jH%QGKlhbsx!I<)z|M=X9=2FhgjCU9mogZSQSQooG~6x z2i~4x_)x+P17iXi#&lyp{4b^bjakNQyHsw>u}gDNnuq@Qj8vV0C;k}+83!BH0udBipe2QJktX(#OyrD_?F1pQ z23~;2K!OdR3bBA4;kIFm+J5X)NfcRnBaXwI3LPk*-F16aa>i4@WXG8P6f z$S~IA9qzPa={x7ckUy%(C}tR3luE`WhIGDAO=IfW0~5nA4eYXDVK+mzTjq0BcgiXj zbrCWc9qzZq>V1ZZe7R8h?~kI1QS330wUEOY!;%uQ6Fm$>jx2S z+!YZw0?)unhT;zTWf)o!QG6-Tx5X+eCBkK&N0EpyO{biqy9O|N>5@^LCi_WQoq1}% z0kd<)TMWI%$cCNUo7i|_6N&9hY%;O^i5*DnU}A?7JDk{5Vn=%RidsowhFGG8fvd>i z8b)v(lUTzn)-jJ8ID;zAVFQshbxpY#t^71g&977P7M0jk_B(+Ny2s zSN*E?vx*gLwY9ZTTdg1lRD4wnTCKHDTl$v1YqjlXA1avdf9BrJZgvC2-|wR~ch20I zGc)I$Ip=@o&VKv-$Dbmi^VD`1DRLO(G%1U+na&Oe;#INBBhj8Oz{IvaD0BXE}BKN4Vq)psWg}A{0}n4F*6&LoYCu#i71&?p44Dwhj?K)6xar2`fr>!HO%W(xAmAEuku=$_cL69?z8+ z+S|kASg_FRqNTLVpfgN5lg?tAmBua<@%IFxu`1oY!5@d-ibh$4w?yg&g;C81SVa)M zEOuU$u$(eF+oW^oT&6s5Zi~c%@n9s3sbre)Ks*?#O0+=NT3T+6sUHg((W zB==0rviGqQU@|dkQ!pBfw+FhR^=Zc$R^DPr57ik|Z&Cv_qHWrcW9G+{56;rf6O9an zA*SjKgVG%|=L{=IzA|Vf)8e$Dj<>qjevzJwn#e2ec(vB@x?IpclbWdoJ1}guVPY># z^T6Zs@&c3E^~CtCWm?DTK zVO?F8;2rXZw^p@ozEo_;pv#!1rl~U&+=5sc*<6JsyQrUHCdFmk>|m@e5{pUIc9Slr zE3ExD#&y97WU3&Q;h5I&>Q~ZL27Sb&kJ8mlGfyxR%MWHZMFW8=A;#J19y@gqX$v)9 zOCK}n<0gHAu47to0^VaL#Wcm=(<3Y_Q;T`RJ#|s|o^F2(;_b-Lea6V?Q#J0V;)&c>+v^pB=TU#1Bpq~`$9H%Kn{#m-!pxaE^LAPfjhhBfU zCnO%cQGnNIl*@s*bq&+S3#<{wPJH!AhE3fxDbwoc?hW(|gaSQH1A_7}J4JVxw3BvW z4_R|r6BulWTpqRqQcH$vGc+fmzt)?f;7B-(?F466y%{BfMbLn3CszF00-6w9d zI?ebqI;F-VPdtt#NJND0^$Ty0@O!|duhG}x4dEM7+Z3g!XVl|8WYRZe;m%m_%76=4 zcDG4;=n>#Ve}8{yP;X;^-TLT2thY4`Ps6nQkN97>D&*pOpKXaMK0~7 zeJ1S}VP#=`-X4h(kDK%a9bhVk{C)6>b%U1Q^fqAEjDs_@Cy<74Y){eC20dfav-C}- z(BupcNa}`9lNXlo|1lX9Y=C-i2OS z$qOdED9dp6MUNC2eUs@T~Zt0bn875>_!-^dF23Zage^jl30iWU6cq(2ByD6p--h5-is zDRVBP79dgbFDAV~e}zGz<0?o1k$JTU;4PE>CIWD@HM9%;50m~^)6GIpp?{k6FG+G- zEs=PGAGv7&);Np)W70eHE>kJkAvDzu)^~OwHfe1!ZJ+S&iA$1ooE&E28GscWVQjPL zs7c4@eWvpM0k|nU*AgqXE${zlY7^ZE_QWI|p9MtCEWook7J#IX>R?uugBHW9gL>I% zau(yLpaf!VibUeQkxy9_PYCCL=0d7@Ws+YT7m#gEH+= zU7XJa1{a!K#KoDwRNIzk%N9hMK#wOH@LOSJY|Y0rCY-U$bqt%RG9f~o0ri$Q@jh2LEX#en0&4Tt73nOK_EKmz{RyDFX!_h`DmaovK?njTMz&; zr>2?9ON~~__(LY2&mIeJ;EYOptPY%NalOe6a-@|TjI{wd#Up(HQ`}_oN?wIMW`QZo zN|-ieEW$RydL6oI(*=}aps|$XIMwvlAw|69C2U+?W3o?zPmUarNNcHVF}ao7tZYqJ zYNTaZ9L^SMx!vRr?zD3I#!#RSyn(64CPp3cC}2r#4zEKn2)g(}-eB-XlP}_nk?!by zt--0)4l@AYjQfM(81kr8@G6_EBXHS3Alwb917HRZZm00Vq-o&3H-xcLtW^z5CVzxK3LEKWnsJ90^H)!wuS$wO>w@I8Y zl{nuXz@(CqUL=3J$)6Lx*{H^jl&YO3?~wH(#osac6^4&1 zw47MGj=ccs|8K|l*j$RgXY%*?2N0n($|^aci5*W!w#!JjpK)|~^02JE8iunSn#|=# zCjVIMKHr*)4!CQvUlsqvXv5^`I|i}z4cvnt!SL6-?2yduk!kQ z!VmRrXuM-LDw`V{yq%s-Z)=OiVaNU04&M4kG-~&*X+(>aK2NE1`z7X9sF`&6yen6AwqPn? zcjOgRk1n+i9Xe%kM_@KNbw2OLjh=Qu@w`N_s|g#;1xajdZ0Txkual-f#CvZ`lefj& zX;0+H%jn(cyI`%irLjYrdaZBQ$$aont+U&eX4G{p6ON}rARR5O>$_T;V06#~%tGqdz*0McTf=@i zoW$4Sv{SU@DJP-uO#ysLtzA)zkWdeQ3+?)X;Xunk-{wHHQ*0kg^F_M-p>_VK-V1i6 zGu|5nG(9iF0epZ>he7d)dX;r}+qy+31}fMCtOC#G=!=8@qICYL_;d{50y772D?;Uo zx=5>dtPkIL(_3XY|Cp6593R>NWa~CeOD4)pdvwe}#e%p(FwtH~)TccpR24<44uF=< zAej+Dh7qQ!^ajUUq>Z)(V@Ed2Q7b+fjn(>Kf56s!RfavK`Q20%Y0Jt7HtOEi?C-ZZ z*k`|R6gffrR2ygd8FS5q1){xJ2xwkKmdYO_$SQJ%PHp4^fR?Tm9AP=fi(K7_gCy&A z1rlzt96uCt@6NXUCfe~1 zcfi)=PdQmXC%x10l&)7XW(h9jP>91=8MYp86zQG`o9M=uUBD8Iqc4cdRu zq^WhnV;QOw#@a2O(de}R(?qQ zgZ@hj{RZg2CTVH~{brKpw?O|bh5kF}f27d=3;OL8`k$cxl|ug;^nX(52JC7?@^v?>K%mZbSf(B(;5O#(eRg+2xAMczWJ+@gOqg$fCtiLy~M z6*VhhC1NMpiz@aJ@78Um;V*J3{Pm;dW;Gq9NmeU0L(K$*_Hs=SoLJ2w)8=(9Xz7(T zbw3$jM?ooJg`x0wYYLmJQ8rm>wwfc|aZ^p-=CpTh@#CoO;bIREqL8T+j?bOnsmtxJcL!bzeqj zQ50g2;Tlz(*3bYhA8n^ixZiROU4e@dgLD&JMYqvM=q_AR`4U}CyXhJ&yNf9o^)7X) znv2pkG*it}^DzP>Wy>>%9#E&L1(4@-+MyPzMNr2)x=B^2N^)S_kE+FL38cG%;;KrW z4&`p5cC{4dk*$`24-{$Ds54M=CTf;a)=?@oXx0esL**D$fTBSa2H`5tVS}0s@*BAO zLq}DU?$jXSX41>@jm)o1=LyNte6G`)?_)Vv$@7_ROh&}4$@SS zsVEfMK&vcW8;PfMFA^-WX6xKCZTu(e=1bdILUh{x_uY zX_^DsRzkLC(9Kjsw@^Lqj`-+SEbBI0>$+V__)2TCqt>~>HgYULorO&$#=SvRtFs}^ zeDY~oJ26tDmUR}!tCRZ=u=pwTAuV+SV=q_dpe_d^PEzMW>bV#t@qQnchXtoPU28<5(iQy@v1$E`-b=(^s9Cowtp-D^@Ckh z?3P0HF#UL#eu`C}V4m(gnaHp7MB*Yj>^qU1t{z>D+mu$XCtI0TD_uR>N-v>cn0{wD z-a>bwE$t2|X=(pag!?S@@1*7KBFK7}{+xT;T~wtBk+2B5#9fjQw3Oa-=RxFB`n%iI z!oT0`+(U1dXAjfA57EEJE>GTwc;1sRFfv3xS!_v%Rn7R)v1iSW$FL=-COPY^iCMF& zrf6~Hel}%-rCc)1rS4*=gC`I36nAk^&M?n#7e7IVH%R3iEQ03^^ZcS^Jwh)WrOP($ zG43=dNf(I|?GRaem?^eVx8Xdf=g?58927(3~4E~h7W4z4iG!$*xudYY^08GJW> zmY37FutN{Bmk#lT^a4Ihy~sDvxA8^fB_5)e`2l(b;N!de1bvU6qVMyw^h5qG{RpSM zKjz=kPx#ODQ~o<0h6DaNAkr@Yaej%|_iI&6zkx@5UHRyUiqdb@r|5U;X8OI_L4Qzp z(;wCS^e6QQ{Y4Ga8|pdwt9p^%RIk!o>M;FHy-shdztTU|+w?DoqW?G+&^wMQde?C_ zz31@IQO7De=7`h#j*rra<67ibpJ3&~!40hT~q&aXiSmj)yqUv5yNJ&vK#T z5EqNr@k_8i zk2+s@s0e5Nr8<%qV7@J?PSsN}X1`W7s75Nnnr^q>-b*FA2O^{6g+v5!ydYox5Iv-> zNv%Xw%W^!YBb|ft98cO&t=#d59o0^8Jgg%{HcfRrXh*drj$LY%@*+kob$m|8w_Muf z=+*JfML|cGj&FGsb*$6z&7`Xw&1y9wUA~TV57LwoT;{hB#oY$oi+Goebwua$F`CVY zh98qqi2pL$FoGiBhy9-*km*1o$Eez%y?`SBp;C2}=Ibi7k*as7=v_ck4OI>wrOWZ| zJz9sVcd6ni%>WDy?*v6Eg*L^y!dQts0Dbg_g6I3x)T$&S_8 z6*|UBY)Zn^8%AO3-kO{Qrp-x)C!o|rgs}8IH)72|jmue`=XUMkO~c&1la|=Ut$TS} zbzXU1&OKC6p1qTDugk+$EGo~ti{RmRQTBCtBY@3+FVE}MIJ!LVQQoHeN+<{Xjg7h# z+!LPyqc5X;7<~axrcyqIrsKLzEjB^}PbD8uqm4WrAbSRVif7WDJd3`_vvC#mRC)l; z;z6EI`}s6Di3Rj3FT|!_M8C#`m?OLd7uu@mZ9W|rzLqlc85-2|!*Sh7-Fl1U!bNrJ zE#iWsx$GgVpU17GXF z|A^{KISiBWSymJQsyaxgCkRIPJ2gSjeBj~pkOUn9ZhlT<0Rx@C?vNDA0>4xAnlL{; z2ixXceDSQI^SBlljaF!R&BBmXa0ap#0kQS=>J5NXSt;xFE%v$mOFbN$10`^A~YBYlW~x8rwfM90cc!TGY(`=7=9AtO$WeZ z0d(2&F$>Rr`R0Nr0N#P;@jMqm?|nS)0FaxHwrzL<$RTRlpk+GtPvsuIT*vewzGl&0 zz7m)fGu+Qt3!-xl^L6fAcfl}UKg65R^hRWpJE^d8`Y?Y6;r6pbyxQ%u+1zNeIj7Rf zI(Jf@Za2j9#|}tt3q&AA6nJE9U7#bI&kn&P?*SI!?dzj&P5bQ~f>Yje=i@EkIr=u= zetVZYA8#?yFX_UfVgAYx4UNC9f;~Jm%nv5kN7rI^@@^mkJcg@_T9>v|4r}>loJno?! z!cCNy`FehhZ{XK)_2dm)J{jQ~m5Xmullf*fgRfU}`Lk*P->SFYKY*|HAu_k9R=CH{ z&?$E5b!AkCHezcpsFsThk@UXYpGN)Lp1HU>nX* zc_=T!wx6wXw0p>brv9xqs*8|?)$*HmlyBhQ*-^fke{M(lb^L>rD1RTBlaEPYmjib7IKM0$j8WVZ^xi?R+AE*cHxC=gAaQC?j99$h_ugifPLRz7^vUIzS~p)P?5z?+Xy z=fsDD!^1@j+e7b$tPmoo(u%C5&GMWIC)a|YUIu`zk13oe+*zG9b^W5L`}oDAE1m(l z5#NqWjGu$P?tn&j!tQtB7n+}k-QTV4VTDMUEZI6~Eo@HhkHaggw~VDIMGvGm=sR* z?1{fdx%_ol>Vul~nO3LKwG<~1Cl%|{6A3}Z zYLoJ#Z!Y8@_UXjHxZ7b5e1=Q}t+E#F;~ypmv(~Viocx3yNDi#f$R3F03dlGNUQ1{2 zG#ETH4uc%Ed6dDaI#3ejJ;8@J?Bkz5!oLtUoN}bu23*jMI;DD408d%MVYLM%IT788 b*c?_7{J$SHB{}KR4T3D(U;Ucep2MJ$gL@lJWK~iLy3y`8L^)BaHygyUeOi_hoXs!O|jN^ zMX-Gf?t6PeJr#>X8^h6PsE5gOOgI`&9LqF+Uc=C1+d6|i!L|fO)#9#t{u&>7$!C#Y zQ$A^?1=+)5(Rd;lO~fmf$69Ms53})57wzq0@;25SUte2avx2E2XUbIfA;(txG4m)* zqp1*NHiiMj&nm2!?kBVrlMdLIT(|D#MvllfqAG(4Y!)@VUw4%|u0kO7Du;rkf zmDvQcnBk|16tHNLrpYvgY4*^w9yka~?+nIQZVpExOzwI0^VbWNshXzIbfyW|)~Zlf zcdRGavu$M}m}m?}gBwLsOXki0+(pHOYP=!=0u@710S712OiiAfVF2r?B84vu!j7H< zT6CnQqv&X+#aZ(^CYBbmvsEJmF&Se#2S@|F2W2t5ZIJ6o8UGmsA&zP~#-cB2I+l)O zTJ)c+@qncbs+%QB3jJd`{_{P<=Wn@s{(6gQhVT~IcIA+2>Q01XQ9muBT5)YljE1a{ zZ7$VxJS}7LLCAJ5rrs}Ri6fPSJuMVt5iQqr0yQvM(bQVFUfNe^YBKFTshw2QiJDqy zrLCSVp{^hlAi8l?xGTi8>T1V@d^5daIeY6p7A{-a@ zvwpr|>X$X0LZ>nnclRa+bymc`CK&0(`p)=5*7qOs*ICku08pN~2zY|$o7n+YD~kP+I1@guh8GtBeQkuG|0 z9E>qaF^jr2olbDvM~rad1Kp0jBZvK!BW8bk74_m!CsIOFFKvOSJ3~Py;6UONX{)Af z8GLJOmd3L*oh_X`(z&s@2wXfz(^u(Sm|stCl&N{Rg=8a)oXA>@2(u};C0G#&MmJWp z^hTq>)<~#2&xndB&qv$o0*fxxbP;`>sl@c{O@t#AZLw&Z9V;rtSXRSr!roTa)i$kI z0&ALPlO3)rq;UydYSCqyE~hJUV{~UQ+8&YkQ77nV(EWLX?d_(8>C5wmTKMwMnbz5D z_Oe#Cb%xq|Bcb-Cy#mGHLyG7sO*`nnmAtM&XAknyhm-=?0ce|!L=uU8?E7qFXr!a%*4dHmAI-kBteHPuV z=^jz$QE7(BYiNBud}hcG9)C;Ied0ul!qGPH2%@g(X$wX}HQ_FK{cTO(q3_Cs-E~1= z-MWsBP#eZq52x>+w;$kSF{pk`|08Hs*b21jr`?paXpg1=+RHR2n^!}^Uxd1Fycv3$ zhygyk=dBdPsOTY057YOUw5`E5o0!%Ow_;nu)gyIhS@JRaDWXR;JtmAEgZ&IL(5RVs z+b1+VDX!Mt-4pBf(^It1qNg=IBiMLi)?STatcHC{OzLfG3x(R7F-pMJvzne0q~#l& z!J-$Kj?SVmOl~vid6tHILd~&oJQj7)^mWU{OkS2S_d}*F!!apGte*wCM#@SDE=cCI zh+fh3V-uXCEukRRCVcyerk@Jm3c?$sv7S(4thKwnyG44xrs;L*?TMO5AWgr}^uN-S zhdiODOZfGsre6xbit3|C`|1y*(MiA3^tMpvtZssPuc9-lso9A#9a4dd2kI=L@S= z9MMR{VMIC<=&i1=&!G`Rn%pK(w4y$0gN_l;V=Tz*VRbwtJ`OenR$Y6)IGn#}`nv%& z@J4VrwVm*ND-)sani|p5e`xxrye+idc}*m;B-Gm5(GeF1@^4Kaiucgrcv{7M^gMm6 z=@apqqkE%0p-5QbYh$QuDI)uB+OL^p(5P@cQ*=K19V^YQ++p<%7{+;;Ju=K2j@z>G z(I42W*(U?W9x#vn-p~20EiTYJibumwq(gpvG!Zh1thGfjWm5;!cuC4~dQ|&)3>R5E zR`WP61}05A_1ah@Vv7Ud)fb2EMM8-faLKI97~Rym37x7lBQRhifWT8cLGwfo*lBhP zB7dxFX-}*xO_r(Dp=A71`bCPGK`+h(ve(I)rx+L&j@nq+&r^At#nUy<;F%zoZC7c9 z>NXg*0?N_T5NivFEuNCu$60_z`@#<|Cvxa$aeySt5-`YBt&QsJe)W#=%HS2&oC|U?G<@52p%;I{@%lQOg#I(j`fX^)4g~8$Yl2{Z>M)6|3kZ9Drf}8LH$f8ZE8j@eF zFCwOM{M^DTEncO0HLqcsl%*Dta7Uc-OTa)V4r%V-jdnV;G#rYwLq56K6eZ6{dqs!5uQ0tZ zeV8{{yjgREft#|+MmYlnhja(eh^C}4EoX(9?6eIgrny_x$Zu3zR18tOlY2DB#SDDL z3?#-Px^b`OEqn%e;Y7F2SS$fg!c>+slLKwiXe1?JfJ(*NG@r?5A>IcgFp1h&EYcps zy3-X!Bz}s&qWK*DDu9(Z;O#}4Ff6De0LUYLOIMOos0N*2VbN4T7$%p zrJzg+eY;-s4ZPEa#|<#)#oO#qQ4d#CGK3p98YLa8Ek8cc zT?+3w;VG2~c?~NNtWdU}SC9X43&z8Yg(ZHQzhm)tHQ&$uQ1{QBQ$nH*w%|)cPAWD; z>0!7DKWk|RhRX*u@8+b|~Yi%A4Nao%U4$^*Cz zkTE=OG8PU^`<~`UB+id+?Lqy!4Z+c77*d`5>4>5`9s{bLc$&nzCpCXxoRl^o6PQVG zrl0rm(-uFY`3L-Lu6Hz=S7SIIYOeuA#c(KHb1)tcBN)^$HH_4El{14uyL$L^b%||Ztp-J_QzooYoRS$_><=M_^gOqqXl9o#xk{LRCHwe`=D+gaq+Vl_6wj8ew&@Y}-apX%4}oI>1MuBv zDI#AdqLz^Rm*#)-hu{caEeS<}Ks-|7Ff996^Cwc(^5dO}H1$hl$bPLzYS}_ftPJ%o ziG6UuN@?X%ZY;@!@=OJ;5gaIen*>4R!jD{~#2QE`k5-oQ!qDt6YSXA)g~H<(^j*Zv z;@2u4c^LWZS(ZtOGoHg%C#KdK{Fj@DrrqJlb5#@BFx_B&I=ylhoQ4{$RiQYIQ8m#- z*rWq1J44_xRjVSc#;S3^*3c=GHWqIKH^5yZgDeoDJ5AD|4Mu&Pq)>SCKic+OOuQgDf>yt9hc}hi1F|Y=oan0?TZR zb#){E4H?R^fl{r?WCPmHKTH`JB?F}vXmzl8Vebr;$hv5|i^jeGoL?4s+5lkt~ zMN_|iIy|{Kjj-YP)io_kqzQ0*%<2^_bq)13iyP`TG}bjXwXAbZ_~}KTz%SLt+7Zx4 zH-w|16}?@pp`KMzW5F&={=O#IV`?r=qdU1XYi8xZD#ltKy2L?k>!<;KX zkTkS$0%fGcjK9DpUGWG+rs83o+8F6r38SS`Bgppvz=Z2$(>7BD_ zGglh;W5v#w3K*InNe7%K;5j7C2uUh-sQft$5(=iiFUS%zpQX%=-e~g#yAY1y>Rmk{ z5D_0YGsL8pLVkEucE6EMV=3@%Tsm(| z7xq%(6w7iU*8+CP-i+a_lZFYmaEmX^jm;3^a_B%;cTH+|c}4>xA|k zpkCgt?v;sHBm}6dQ64`d)Sk-0R1i2kr}C1ET(B^#qOeVh$`0PQmC$7nr`2i4`;i!{ z5m*WzfQ5Dd!IJHQw4 zj6Ro2Mo56QrAEVQI#6jI7YTN?wg+e1%Qvf@4Uaj-X~r(ihu7JMK%OgOy*+KArD5^x z1u1WQu;>nWiehIXp6Cg7H--RV+vB4>>RP|LPF-)Q8?@S~c0oXCoF0yDiER#5G?>XT zBG`e$KqkiJcV#|3pIN?k2H6wX{y#puAr{-*+g+WJ1FTH+K(?7J2Mk=btvmGpdudPk z*<&-45og-kAiiKg2-StOWOSaoNdofCT3tn3@N}y@-KN!*5}r{u#@WN#2$D&0dzOJC zywc|-BRQho6EpWPL{(q6c}mOn5Z{kGrIz9^kQV+{p=Y%^9(UvIUTT@D#}oR? z*+fucwVd`kw3-}Rg_HZqN>ahCWV!pu?Ya;BU4|-V#r<&^6blC_7OE4J?57bu@<@$Z zgy16($R>``kC!aGdbRWc8Z$Xb6LyjNez{LlNu$#?W5t3b&8c+bZ`lAHT$NYePlqR| zYA4HGn@csE_yN8WPG zdA0D}=1>dX6V>84>Jrkl6i>%f2`$4Z$9gKKsEIb=DM2UF zR$56n&?_Bsd6tUe}HaG(u}G+SEYxmEIi(}mtZY7JK9p|byfNTdHZNeAkUGbC3kan zNHbb0J;mOgq)U@@Zz%-x-zm}hQ#bjk8!dCK#k}_q&;z^3S6WuShaOBbdkvJBCJ%lmO#zhjnaGCxi7K ztR`+)Z(&WRsV}QjUQ|_`B=$#wE=h922&9|4%S)eEB1lrMxl8- zdA9pF;3@VQi!FN5n588bfJ=HQ;I;dB z4e7U}SEqFIrn>z);FWIBvkhrIIS1#N2}j2?olAvu9*v>%DS$IxQ|SVlM;Fo|ko-bO zvkJ$vYUxr)?J`;oO*o0JfL2`zZMh2iu>+&8LCO0QRK7~wM-Q$eneX$*||Qlo3Oq8H(-capE@#bf$twrP3CX?X`NMW*Fl)8Z+5 z_n67)U@;SVPIM>8-9@8tHfkL8(R8{S2dnSF>FIlM{^LHw89Ou`>2OA&;M0zs*nz|= zI~m7gM&UU$xWsbUp;@*GO?JSuL(~0+qPE{U6j=^(*qh7yD_JxezIrD#-gYX5a4IFm z?m%9^vxojv2926gWpR}^VC^Gci9{i9O4WU-o3y7Y`4+YadJXtfA}Ko&ua;~c&wr=s zqkVY38P`Hwx6t%T=plcK>vUXSr0J*31MlC*wH((vTo>T_46cXZy&Kn4Kzka_Y21V7 zn{n;Obqk6|kK+0%u8-mRBEC~UW9ZCy`*}lW#@jC#Iy2sW8SmZl9oz2z_9uqktSQZS z-hx`w2Gc%kQ>Pg}Ytv>kZq}xVp)+d}_JQ%UHr*uSr1F60{Ia6Ih`dz`T=-x6)Cq9n zAM~juWj0U$1!d`{kNT+8e*RRRnfqvxd1kkHw))8L9$^0f7Y^|F$2dR9lLojX$+PE|z1>GFU!j&O82H0kQ{BrodY(jm#B zr$fdc@VN)KnKK(OjO;q#7oI#m$P>Tt#54|WU6xiG@S`(~^2&WQNiKVNDZ@RDl6&`F zZcwzgwB$jC0t^C~wS9C^8EjyHPpm2k6u6VTHc-&d>yvz1S(4kUMg>L%3X7tv>33J!Bs{ zc^vNJ383F6fv>)g;~D#KhT>^%z}dWJdXZPs%e)GQ>)Po@oS;{DJN=k1McXcVm2aY- z@_qC(?x)xIA$px3p*Q#`dXt}{U-Ikp7Qaou;@{G5_yhVae?-4ie)_!{OYf-h^sbsi ze?nFBJyk{T1D*dFnD_&Lf`7nS|5J6)zf>1}sLrO3)Ys@^bqRf{E@!2#W|!K@Zgn^3 zsr%WZ9%D=GW3PIZed-PNtG{r*`j`t`1w6`C$VILIk9AGsajv;s>{`I%U5E1o*O5Hg zwUnp08o0!DGEa52^EB5+p5^M|*{-vBj_XoB$aM|Rciq6H#sS_yqp_|du%@F)y8<*- zZB(69;95X_6;_+zj^P4R(8jgXz!*4GwAlz!?gYHJOq-1$rERl{087YSmx=<~Om&@Q z!k9%fTw4vu@zN2lb`zd_bgb)S6Q2BZysO0kntT(Ux@f|LPiP$C6N1sFJbDndjP^7G z+cY`<_G1EVf|kG?2HRqmI^7;MIE0j-Ar&7peQrgCUTo13AJcgJ{g9@8MA5MaRUlT# zQ3ofutpdVzL#@1}Wm8J_a6&LbM#97k$l`+y3rp>ODJCJ7*$ETI8o({-mDh>aEN38` z85TL=(>r->>Eu1U^}ehb7UDR>;bsOq?s?NQs9uSCSTD{>IMl9&2xPr;;X6xKOfk`B z5}p}8{S{n`7EFPg=@V!?We=a7hCGwNJmRD9(eP+|ysV}Y*vNF8QaXrhGPXB&aPql> z+nZ}7FYtDz(FT{1nO_32ft|?hvd9$NMiS&XW`_w)u)m_}F4ShW~yi`S7=o z@``mL$#)3B?Diy`S?t+GP3}sMyp|1N3-;7^7Q0;o+&94gjR@te#=iUy0@u)8_ayn@ zzWp=PGFeaK!Ko#XNgd8XETu8Li~?Lw(|9?)^`1Zr;J;RIBb~x4=yYzvFCCicd~Tsj z;LmP=Kl?VI#Z$bNp5>F^=hoqn>v|r~r*MEzH8Sl+>To*UrM9Ru@Pm^}=rXlcZG->3 zfzDB9LbWtd;4|thcqjlfo|KY3?j)f>Re_6*H7l%&jWxRfoIf&3?gse!v-%3Cd2`539TfD>KUHfUaW6}rouwS~N`lb)6 zGREwO?xWC$SHtS}W67W05t_drIrWfh`cUjt&Ja14*6-MD3pa>h$MT~F)0&cjd6?1A zN0s)g$1-2xL0(O^Up;PKNwftCJRs5fF6`7U4j4qtLCo7qqqz-62~5i!bQE_|9fzrz zH)nW;7Dqsen(bU6ZHOh{@1zM>G0yGU>*sqR7>L!bufSO}6#YdqJ6VXpwHcD(mG$!z z2A%Y$ay?^Sce*6y8$);BPCM=XB|8TAsj57ANb++#X{>$sVv>JU>~8O)!p!H>YLwrELgS1Ko|07l++O@#!>~d+e}8oBplXr57G)K-vy5q(St zTfDD<|BZSD%V&H??=lN`Do-|=8IQKZC@;v+2~WysVSMK!xWi=RW4%KwBf6C@*rR;e z)GkAGyWCLAiEe|{4X+9Ec68gWExt&|dG_mx=5<0Il2rGA3hbgbyN@aSnUbH>{^nHXmE(db0HEoE zRMv&kpMl99d1vYe0k^=&JX0!=n%`~}5aOnqfRP*e$a2#xSIMXo{IycWMv-U$q{3qSV!2F&zES_d4tfp4LWd@F6{+o5-N z(3yNE{PkV<`P4VzulwjWz8i(Hd+2T$=Y9MgdXm2j-+e!HuphYe0V4>h>owDAW8g0Q zEV9A)T{mr@rADJfFBdwAKiEDf{#TrMokuU)n9XQj0l7b>*+5Gl(fO`9&?KBea3pso zBq{#kI_*fAOL+Yup(JXW!FGaXgzF`i`Rc58omv4vy? z%q@V7q$8O75@ZQ!OtBT_YGf6Q`e;dM zK8Di+Pe2Gy(rO$gI|bnVG=7>o_!;WrA5bqpOK0=*5X1`zoG;T3{vlnF!Gi-1 z6UWoJjv-H_t%k)4KOpaNL{UK-oxpb#ooa-FU;a{yy2!YQW{BtO;vx*&r;>Zre(G`p z4J>{U{Ie8P#qbOKkO0nd*mA%Rknn$!fK{w2-J?ouPj{y&v?SH^#>sX$;aI$vK2z~; z7XBTBf2a(gx=D0o`Ix*5lWKM!jlwK)QF?w4;(gyN04_|1+Y2z0 z!SUdOI?jCW>ePyUVKB{h=2CoEx5ZK@8nC9 S7X`#S76sIu>YM6r3j80;eHfAe literal 0 HcmV?d00001 diff --git a/bin/classes/net/swordie/ms/client/jobs/adventurer/pirate/Buccaneer.class b/bin/classes/net/swordie/ms/client/jobs/adventurer/pirate/Buccaneer.class new file mode 100755 index 0000000000000000000000000000000000000000..a4a4ae315aba937993f88da9077dc77afcb795a3 GIT binary patch literal 20256 zcmb_^31C#!_4he3f`Eu22?RtV5<#*N0@=tUAh?7f8OT5~6K5tYYOB_@ zb!qKl3$?|qrq-QGKyB5k#g?koR$FcDVpnSytF^6GkpJ)8_h!k4>G#!Y=H2`5a_%|j zp7T5B-q*t)KJpk5Emg01Ns+@Kr%5hyGc5`SmMffnW1nfzKm&ZVg1MhbaVxxfsQ!3R^h39?piNpkjEge zN#n?5nmv|oOs*}#cwHw`Ug6yOt%2=<((XWbOKDv=9^4X)mV0ReWg3)aQa0rjSIz+Gah!#9!u|{@GwF1hCPUiDTd6$5 zq$O02N-S4bGA%@hu`W<|ffg>MWd@yP(sI$lk}3S|BAEH4@9k@7K8jIwNe|?X=9vt z@X{;^+jgMrqit5qQs5-@<#luGJhYC^HfX&`8|WOS$}tk6H-XqdZ4C$Q2Bz^f;b3&j zE_uBr2;o(al|RQB6&zbY=b3aqwKI7j#-`qQC=zDs8}qu4H~N@2hc#`vhXS<8pbnEd z2}XF{7}=H}+6X6}7{+@6Z852fLQFX@p^@!DQIVLv-L1{OR_xz4le(z~t-9gZnl`s~ z1*?O>-qui$Sg<*kC+Ulax=TAE;SNj7OZ^>P!Op(!VCRZH@p4cG4lxPYS z`vhHX&=n?KNmmVb=3SNtjFr|1fJnNIj6i3nu30R{^)7p#t2qBc`5YtW< zm@EHyh1P3Lx{j`g3_!t((9U3I3nXEaa^A?K{Eui6ZTz%JpAl^|W0u3$dg!3W+0(_Q ze9olLi$U@D;l?n(l-UnWygZyPCvi{sA>+#x;?a?1`Il2(m{H7R3JG_X4+p> z#N!x4d@)=@Ph?YiIV){%)Q4hm*r!M7TLyjGq{rxS0MFFsme+!OfxZLr2rS;D1bWsx zr_Qd&2;ZS64SLF?r|G*emZ=dEO)ULu4DQ5ufX^GG$1^5BB7uMAi6Ju*+-n40J zup?e>&<~i-7^A7zOK(VDtw6KqOnRPvXgTf`p9ReH^&UkIb!Kx!=COUf#CU%*=`H#@q-q)C)xllWksV=; zXpZA&QhF&HuDov8=7@yD5HNN*f-pGjgT z={of{c&-}GlwpJXv=ahyV)=}!(b>U9Q zxJ)0)`9bd`km98#FXOYUc(~PHS-C6OxqTS(2lpN>)-k6^Dg&_~^ss^}4X!e|S|HTY zAxjx;^Jwrl$kxbcOx{>9-e_YhjJ(3+S{YWVTT<0^h#Ps8WI@JEzHMNHS@kA2$e